Fernsteuern eines TLS Pathfinder Systemteilers

Ähnliche Dokumente
KNX Twisted Pair Protokollbeschreibung

DMXface ACTIVE SEND mit RS232

Spezifikation RTR09 USB-Transceiver Easywave

Servo-Modul Version

Can2Tool_de. Copyright 2014 by Nautibus electronic GmbH. All Rights Reserved.

Bedienungsanleitung. Abb. 1 Abb. 2

Arduino Kurs Das LC-Display. Stephan Laage-Witt FES Lörrach

Welche Informatik-Kenntnisse bringen Sie mit?

qfix ASCII-Protokoll

TCP/IP ASCII Schnittstelle Programmierhandbuch

RS485-Relaiskarte v1.0

DALI Display 7. Quick Start Guide. Control Device. Lichtmanagementsystem für DALI Gruppen und Szenen

Programmierhandbuch. Feldbus Gateway GW 1 für Version 0.40 bis 0.49

11. Die PC-Schnittstelle

Einstellung für die serielle Schnittstelle

Abbildung 1: Strukturskizze der Kommunikation. Die Kommunikation kann in drei Phasen eingeteilt werden:

Serielle Kommunikation - Kodierung

Inhaltsübersicht. Laden der Werkseinstellungen... 8 Fehlersuche... 9

Remote-Objekt-Überwachung. von Jan Schäfer und Matthias Merk

SENSORSYSTEME ABSOLUTER WINKELCODIERER MIT CAN-BUS INTERFACE 581X-X-XBA2C203PG. Version 1.0 Seite 1 von 1 Info UMD_C5

Beispiel. Echo-Anwendung. Beispiel Echo Anforderungen. Benutzer stellt Konfiguration der seriellen Schnittstelle am PC ein (z.b. über Hyperterminal)

Die UART-Schnittstelle

8: IIC-Bussystem / PID

BCM8-Modbus. Dokumentation. 8-Kanal Countermodul mit S0-Eingängen und Modbus Datenschnittstelle. BCM8-Modbus. Modbus A+ B- A+ B-

Beschreibung RS232-Protokoll für POWER-TRAP Fotovoltaik-Wechselrichter (ab Protokollversion ENS1 = 5 und ENS2 = 6)

RO-Serie CAN-Übertragungsprotokoll

USB Datenerfassungs- und Steuerungsmodul HB628

Handbuch ÖPNV-Modul. Version V 1.14

WS2500 V24-Kommunikation

Einfache SDO-Zugriffe für CANopen-E/A-Module

46 Diskussionsanlage Serie DS1 DS1

Nutzung von MIDI-Geräten unter DMXControl 2.8 Dokument-Version 1.0

BEDIENUNGSANLEITUNG. ECOmux 3 - ECOmux 4 - ECOmux 5

Schaltaktor, 2fach, 10 A, REG AT/S 2.6.5, GH Q R0111

"STOCK 2040" Artikel- und Mengenerfassung mit mobilem Strichcode-Terminal CipherLab 8200

PC-Anbindung des HMG Lactate Scout

Logikbaustein, REG Typ:

Schaltaktor, 8fach, 10 A, REG AT/S , GH Q R0111

Application Note Nr. 102 RS485 Kommunikation

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

Android-Tablet per Miniserver steuern

WDV MOLLINÉ Messtechnik die zählt

1. Allgemein Technische Daten... 2

RS 232 Protokoll GIO /12/96 Seite 1 von 1. Das Protokoll Gastro-IO 1.00 (GIO 1.00) wird in LANs gastronomischer Geräte verwendet.

Parameter Einstellung für das Modell: M931

Dieses Dokument soll eine Übersicht über die Datenpaketstruktur des KNX Twisted Pair (TP1 256) Standards geben.

USB-BAT Bedien-Anzeige-Terminal

1. Konfigurations-Funktionen innerhalb des Programmiermodus

Hardo Naumann LISA Schnittstelle Zusammenarbeit von EBÜS mit dem Leitstellensystem LISA von Dr. Pfau Fernwirktechnik GmbH

Intelligent Temperature Climatic- Controller

Schaltuhr, 2 Kanal, REG SW/S 2.5, GH Q R0001

serielles 8-Digit LED Display PL0061

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Anleitung DGTV Fernbedienung

DST EINFÜHRUNG IN MRT

PIC Ausgangsleistung(TX) 3.Tastensperrfunktion 4.Scan-Funktion 5.Den Roger 6.CTCSS / DCS Code 7.Senden Icon 8.Vox Icon

RG51F(x)/E Fernbedienung. Anleitung. Fernbedienung

Übung - Anzeigen von Host-Routing-Tabellen

basicdim DGC PROGRAMMER

Commander

SRG 2,3,4,5,6 Steuerung V1.2

1Im Gegensatz zu den übrigen Web-IO Digital, ist bei den

Achtung! Voraussetzung für alle nachfolgend beschriebenen Methoden der Vorwarnung ist die Aktivierung der Vorwarnung in der Druckerkonfiguration!

4 Formelsammlung C/C++

Die Robo-TX RS-485 Schnittstelle

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

Software-Information

Installation und Bedienungsanleitung

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

4. Bedienen und Einstellen

Serial Bluetooth Controller 16 Bedienungsanleitung

Ankopplung GSM Interface an FAT2002 (FATmobil)

devin v1.60 Bedienungsanleitung

Busse. Dr.-Ing. Volkmar Sieh WS 2005/2006. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg

Bedienungsanleitung MKVision digital

STURZ-ALARM MIT EINGEBAUTER NOTRUFTASTE UND GPS-FUNKTION

Betrieb von TE25 Basic 2L und TE60 Control 2L mit LON oder LAN als paralleles Anzeigetableau

Busse. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Wäge- und Dosiersysteme. FAQs SIWAREX WP231. Wie funktioniert die Modbus-Kommunikation der WP231? Version Siemens.

Mobile Datenerfassung mit dem Barcode-Hand-Terminal BHT 50xx/70xx/300

KNX TP1 Telegramm. KNX Association

Zeitrelais PL0045 mit optionaler PC-Anbindung

Befehlstabelle awapswitch

rf:key COmpaCT tcp/ip-schnittstelle V1

EX9. Drahtlose Funktastatur. Ver 1.3.

Ampelsteuerung Merkblatt 2 Wie wird der Arduino programmiert?

Unico Cloud AdminPortal V.2

Elektronische Morsetaste mit ARDUINO

Sie erhalten hiermit das Update Version 1.15 für Ihr Kawai MP 5. Nachfolgend erfahren Sie die Änderungen und wie Sie das Update aufspielen können.

Gesamtdokumentation. Autoren: Thomas Merkel (19868) Janik Lemcke (19865) Arkadiusz Rawa (19893) Letzte Änderung: Freitag, 28.

2. Der 7950 Pager. Der 7950 hat 4 Knöpfe

Mailbox - Ihr Anrufbeantworter im PŸUR-Netz. November 2017

C/C++-Programmierung

Manual RS232/485 ISO Artikelnummer: 8410.CON2

Bedienungsanleitung CombiStar 7250 pro

Steuerung REG. Art.-Nr. Helligkeitssensor 3-fach

1 Excel Schulung Andreas Todt

Transkript:

Fernsteuern eines TLS Pathfinder Systemteilers TLS Media Control Protocol (MCP): Informationen für Programmierer von Mediensteuerungen mit RS232-Schnittstelle Einleitung: Das MCP ist ein Busprotokoll und hat daher Adressteile, die für eine Punkt-zu-Punkt-Verbindung wie RS232 nicht notwendig wären. Um jedoch für Busanwendungen gerüstet zu sein, unterstützen alle fernsteuerbaren TLS-Geräte das MCP. Für den Betrieb der TLS-Geräte an universellen Steuerungen mit RS232 kann der Programmierer die Adressteile als festen Datensatz betrachten, der dem eigentlichen Kommando und seinen anhängenden Parametern einfach voraus gesendet wird. Die Übertragung erfolgt binär mit 4800,8,N,1. Protokoll-Format: Gesamtes Paket: DST: SRC: DATA: DST SRC DATA DestinationAddress, Zieladresse SourceAddress, Quelladresse Datenpaket DST oder SRC: ASZ: A1...Aasz: ACB: ASZ A1 A2 A3... Aasz ACB AddressSize, Anzahl Adresszeichen (1 Byte) Adresszeichen (je 1 Byte) AddressControlByte, XOR-Verknüpfung von ASZ bis Aasz (1 Byte) BROADCAST: ASZ der Zieladresse ist Null. Das ACB ist dann logischerweise auch Null. DATA: CMD: DSZ: CPD: DCB: CMD DSZ CPD DCB Command, Befehl (1 Byte) DataSize, Anzahl befehlbezogener Datenbytes (2 Bytes, HighByteFirst) CommandPrivateData, befehlbezogene Daten DataControlByte, XOR-Verknüpfung von CMD bis CPD (1 Byte) - 1 -

Allgemeines: Response: Nach Empfang eines Befehls sendet ein Gerät eine Antwort. Eine Antwort auf einen bestimmten Befehl kennzeichnet sich, indem im CMD das höchstwertigste Bit gesetzt ist die übrigen Bits enthalten den ursprünglichen Befehl. Daraus folgt, dass maximal 127 Befehle existieren können. Unbekannte Befehle werden von den Geräten ignoriert. Je nach Befehl kann die Antwort angeforderte Daten enthalten. Timeout: Alle Geräte hören auf den Bus. Während der Übertragung vergleicht ein empfangendes Gerät die Zieladresse mit seiner eigenen Adresse. Bei Nichtübereinstimmung verfällt die Schnittstelle in den Leerlauf. Im Leerlauf werden die empfangenen Daten nicht gespeichert, sondern nur der Timeout- Counter mit jedem empfangenen Byte neu gestartet. Solange der Timeout-Counter nicht abgelaufen ist, gilt der Bus als besetzt und das Gerät darf nicht senden. Der Zustand des abgelaufenen Counters wird als Medium-Timeout bezeichnet. Wenn der Timeout-Counter zur Hälfte abgelaufen ist, wird ein eventueller Leerlauf beendet und das Gerät stellt sich auf den Empfang eines neuen Protokolls ein. Dadurch wird verhindert, dass mitten in einem Protokoll der Empfang begonnen wird und es wird auf diese Art der Datenfluss überwacht. Als Medium-Timeout wird eine Zeit von 50 ms festgelegt (200 ms für Geräte bis Oktober 2002). Also: 25 ms Ruhe auf dem Bus => Gerät geht auf Empfang, falls es nichts senden will 50 ms Ruhe auf dem Bus => Gerät kann bei Bedarf senden Datenkollision: Vor dem Start einer Übertragung warten die Geräte einen Medium-Timeout ab. Falls zwei Geräte gleichzeitig zu senden beginnen, kollidieren die Daten auf dem Bus und werden zerstört. Durch zurücklesen und prüfen jedes gesendeten Bytes wird eine Datenkollision erkannt. In diesem Fall wiederholen beide Gerät die Ausgabe so oft, bis die Daten unbeschädigt ausgegeben werden konnten. Broadcast: Eine Nachricht an alle wird versendet, indem die Zieladresse auf die Größe Null gesetzt wird. Der gesamte Zieladressenteil besteht aus zwei Null-Bytes (das erste Null-Byte ist die Größenangabe der Adresse, das zweite ist das Control-Byte). - 2 -

Kommandos: Übersicht: Symbol Nummer Erläuterung M_SETCHANMASK 41 Alle Kanäle zugleich setzen/rücksetzen M_GETCHANMASK 42 Zustand aller Kanäle abfragen M_SETCHANON 43 Bestimmten Kanal aktivieren M_SETCHANOFF 44 Bestimmten Kanal deaktivieren M_SETVIDEOAMP 45 Bildverstärkung einstellen M_KEYBENABLE 103 Lokale Tasten (de-)aktivieren M_SETADDRESS 105 Geräteadresse setzen Datenteil M_SETCHANMASK in Rtg. Pathfinder Systemteiler: 41 0 1 Kanalmaske DCB Dieses Kommando setzt gleichzeitig alle Kanäle des Gerätes gemäß der Kanalmaske, die das gewünschte Aktivitätsmuster repräsentiert: Bit0=Kanal1, Bit1=Kanal2 u.s.w., Bit4 bis Bit7 sind ohne Bedeutung. Ein Bitwert 0 bedeutet Kanal ausschalten, 1 bedeutet einschalten. Datenteil M_GETCHANMASK in Rtg. Pathfinder Systemteiler: 42 0 0 DCB: 42 Dieses Kommando fragt vom Gerät die Kanalmaske ab, die das gegenwärtige Aktivitätsmuster repräsentiert. Datenteil M_SETCHANON in Rtg. Pathfinder Systemteiler: 43 0 1 Kanal DCB Hiermit wird ein bestimmter Kanal aktiviert; zulässige Werte sind 1...4. Datenteil M_SETCHANOFF in Rtg. Pathfinder Systemteiler: 44 0 1 Kanal DCB Hiermit wird ein bestimmter Kanal deaktiviert; zulässige Werte sind 1...4. Antwort für Kommandos M_SETCHANMASK, M_GETCHANMASK, M_SETCHANON, M_SETCHANOFF: CMD+128 0 1 Kanalmaske DCB Als Antwort auf alle Befehle sendet das Gerät die Kanalmaske zurück, die das aktuelle Aktivitätsmuster zeigt. - 3 -

Datenteil M_SETVIDEOAMP in Rtg. Pathfinder Systemteiler: 45 0 1 Level DCB Hiermit wird die Bildverstärkung eingestellt. Der Parameter Level kann Werte von 0 bis 3 annehmen. Die einstellbare Bildverstärkung wird nicht von jedem Pathfinder Systemteiler unterstützt. Antwort: 45+128 0 1 Level DCB Die erzielte Bildverstärkung wird in der Antwort zurückgemeldet. Datenteil M_SETADDRESS in Rtg. Pathfinder Systemteiler: 105 0 1 Address DCB Hiermit wird die Geräteadresse gesetzt. Der Parameter Address kann alle Werte von 0 bis 255 annehmen. Die Adresse muss nur gesetzt werden, wenn das Gerät zusammen mit anderen Geräten auf einem Bus betrieben wird; dann braucht jedes Gerät eine eindeutige Adresse. Wird zum Steuergerät eine Punkt-Zu-Punkt-Verbindung realisiert und Broadcast-Adressierung verwendet, dann hat die gegenwärtige Geräteadresse keine Bedeutung. Antwort: 105+128 0 1 Address DCB Die eingestellte Adresse wird in der Antwort zurückgemeldet. Datenteil M_KEYBENABLE in Rtg. Pathfinder Systemteiler: 103 0 1 EnableFlag DCB Das EnableFlag ist Null, wenn die lokalen Tasten gesperrt werden sollen oder ungleich Null, um die Tasten wieder freizugeben. Antwort: 103+128 0 1 EnableFlag DCB Der eingestellte Zustand wird in der Antwort zurückgemeldet. Automatische Meldungen: Datenteil M_IMONLINE (Code: 102) an alle: 102 0 0 DCB:102 Gerät meldet nach dem Starten sein Erwachen. Eine Mediensteuerung kann auf diese Meldung reagieren, indem sie ggf. Einstellungen am Gerät vornimmt. - 4 -

Beispiel: Programmiersprache C, Stränge des Pathfinder Systemteilers ein-/ausschalten void main( void ) char key; // Gedrueckte Taste unsigned char databuf[16]; // Protokollpuffer unsigned char n; // Zaehlvariable // Die Adressteile sind ein unveraenderlicher Datensatz: databuf[0] = 0; // Zieladr. ist 0 Byte gross => Broadcast databuf[1] = 0; // ACB ist 0 bei Broadcast databuf[2] = 1; // Die Quelladresse ist 1 Byte gross databuf[3] = 100; // Mediensteuerung hat Adr. 100 databuf[4] = 1^100; // Groesse und Adr. werden XOR verknuepft // Der Datenteil hat 2 unveraenderliche Bytes: databuf[6] = 0; // Highbyte der Datengroessenangabe databuf[7] = 1; // Lowbyte der Datengroessenangabe while(1) // Endlose Tastenauswertung key = getkey(); // Die Tastenlesefunktion des jeweiligen Systems. // Rueckgabe: ASCII-Code von Tastatur // a,b,c,d = Kanal 1-4 ausschalten // A,B,C,D = Kanal 1-4 einschalten switch( key ) // Welche Taste wurde betaetigt? case a : case b : case c : case d : databuf[5] = 44; // Kleinbuchstaben, Kommando ausschalten databuf[8] = key a + 1; // Kanalnummer ermitteln break; case A : case B : case C : case D : databuf[5] = 43; // Grossbuchstaben, Kommando einschalten databuf[8] = key A + 1; // Kanalnummer ermitteln break; default: key = 0; // Alle anderen Tastenbetaetigungen werden genullt if( key ) // Wenn eine gültige Taste gedrückt wurde... databuf[9] = 0; // Daten-Checkbyte loeschen for( n=5; n<=8; ++n ) // Daten-Checkbyte neu berechnen databuf[9] ^= databuf[n]; // Fortlaufendes XOR über den Datenteil send( databuf, 10 ); // Die Sendefunktion des jeweiligen Systems. // Es werden 10 Bytes aus databuf gesendet. Bemerkung: Die Funktionen getkey() und send() sind systemabhängig. Die Programmiersprache einer Steuerung stellt solche Funktionen in aller Regel zur Verfügung die Funktionsnamen sind hier nur stellvertretend gemeint. - 5 -

Die wichtigsten Datensätze: Es folgen hexadezimale Zeichenketten zum Einbetten in eine Steuersoftware. Wenn der Programmierer der Steuersoftware keine Gedanken über Protokolldetails des TLS-MCP investieren möchte, kann er die nachfolgenden Zeichenketten zum Steuern des Gerätes einfach in seine Software übernehmen und aussenden. Des weiteren darf die vom Gerät ausgesendete Antwort auf den Befehl ignoriert werden. Pathfinder Systemteiler: Alle Kanäle aktivieren: 00,00,01,64,65,2B,00,01,00,2A Alle Kanäle deaktivieren: 00,00,01,64,65,2C,00,01,00,2D Kanal 1 aktivieren: 00,00,01,64,65,2B,00,01,01,2B Kanal 1 deaktivieren: 00,00,01,64,65,2C,00,01,01,2C Kanal 2 aktivieren: 00,00,01,64,65,2B,00,01,02,28 Kanal 2 deaktivieren: 00,00,01,64,65,2C,00,01,02,2F Kanal 3 aktivieren: 00,00,01,64,65,2B,00,01,03,29 Kanal 3 deaktivieren: 00,00,01,64,65,2C,00,01,03,2E Kanal 4 aktivieren: 00,00,01,64,65,2B,00,01,04,2E Kanal 4 deaktivieren: 00,00,01,64,65,2C,00,01,04,29 Zustand abfragen: 00,00,01,64,65,2A,00,00,2A Tasten sperren: 00,00,01,64,65,67,00,01,00,66 Tasten freigeben: 00,00,01,64,65,67,00,01,01,67 Bildverstärkung 0: 00,00,01,64,65,2D,00,01,00,2C Bildverstärkung 1: 00,00,01,64,65,2D,00,01,01,2D Bildverstärkung 2: 00,00,01,64,65,2D,00,01,02,2E Bildverstärkung 3: 00,00,01,64,65,2D,00,01,03,2F Adresse 1 einstellen: 00,00,01,64,65,69,00,01,01,69 Adresse 2 einstellen: 00,00,01,64,65,69,00,01,02,6A Adresse 3 einstellen: 00,00,01,64,65,69,00,01,03,6B - 6 -