Contents Up Previous Next

CMD SET DIO (0xEA)

Kommando Code: 0xEA
Beschreibung: Digitale Ausgänge können geschrieben werden. Es sind 3 Typen von Anfragen möglich:

Typ 1: Es wird der Zustand aller digitalen Ausgänge geschrieben:

Parameter (Master -> Slave):

Antwort (Slave -> Master): wenn erfolgreich:

Typ 2: Ein bestimmter digitaler Ausgang wird geschrieben. Welcher Ausgang geschrieben werden soll wird durch den Parameter ,,Adresse'' bestimmt. Der Ausgang wird entsprechend Bit 0 des übertragenen ,,Zustandes'' gesetzt oder gelöscht:

Parameter (Master -> Slave):

Antwort (Slave -> Master): wenn erfolgreich:

Typ 3: Eine aufeinanderfolgende Reihe von digitalen Ausgängen wird geschrieben. Welche Ausgänge geschrieben werden sollen wird durch die Parameter ,,Adresse'' und ,,Länge'' bestimmt. Beginnend mit dem Ausgang an ,,Adresse'' werden soviele Ausgänge geschrieben wie der Parameter ,,Länge'' angibt. Die Werte die geschrieben werden sollen sind als Bit-Vektor im Parameter ,,Zustände'' kodiert. Die Anzahl der hier zu übermittelnden Datenbytes hängt von der ,,Länge'' ab und berechnet sich wie folgt: ,,(Länge + 7) / 8'', wobei ,,/'' die Integerdivision (Division ohne Rest) bezeichnet. Für ,,Länge'' von 1-8 wird also ein Byte, für ,,Länge'' von 9-16 werden zwei Bytes übermittelt, usw.:

Parameter (Master -> Slave):

Antwort (Slave -> Master): wenn erfolgreich:

Unabhängig vom Typ (1-3) der Anfrage wird also immer mit ,,OK'' (0x4F4B) geantwortet, wenn erfolgreich. Das Modul setzt/löscht dann die addressierten digitalen Ausgänge.

Bemerkungen

Beispiele:
Beispiel 1: Typ 1
D-LenCmdParam
M->S0x050xEA0x00 0x00 0x00 0x00Typ 1: Alle Ausgänge auf 0 setzen
S->M0x030xEA0x4F 0x4B,,OK'', Ausgänge wurden gesetzt

Beispiel 2: Typ 2
D-LenCmdParam
M->S0x060xEA0x03 0x00 0x00 0x00 0x01Typ 2: Ausgang 3 auf 1 setzen (MCS-P4: ,,local, general outputs, Bank 0'')
S->M0x030xEA0x4F 0x4B,,OK'', Ausgang wurde gesetzt

Beispiel 3: Typ 3
D-LenCmdParam
M->S0x070xEA0x02 0x00 0x00 0x00 x04 x0fTyp 3: Ausgänge 2 bis 5 (4 Stk.) jeweils auf 1 setzen (MCS-P4: ,,local, general outputs, Bank 0'')
S->M0x030xEA0x4F 0x4B,,OK'', Ausgang wurde gesetzt


Beim Einschalten des Moduls haben die Ausgänge kurzfristig undefinierte Zustände. Dies kann unter Umständen zu Zerstörung angeschlossener Hardware führen.