Aufbau der Einund Ausgangsdaten:
Die Klemme erscheint am Bus wie eine kombinierte analoge Einund Ausgangsklemme mit 2 x 16 Bit Einund Ausgangsdaten. Die Übergabe der zu sendenden und empfangenen Daten erfolgt in bis zu 3 Ausgangsund 3 Eingangsbytes. Ein Steuerbyte und ein Statusbyte dienen zur Kontrolle des Datenflusses. Anforderungen werden durch den Wechsel (Toggle) eines Bits angezeigt. Die erfolgte Abarbeitung wird durch ein zugeordnetes Bit signalisiert. Es nimmt den Wert des Anforderungsbit an.
Die Eingangsbytes 0 bis 2 bilden den Speicherbereich für bis zu drei Zeichen, die von der Schnittstelle empfangen wurden. In den Ausgangsbytes 0 bis 2 werden die Zeichen übergeben, die gesendet werden sollen.
Das Steuerbyte enthält folgende Bits:
Steuerbyte
Bit 7 |
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|
|
|
|
|
|
|
|
0 |
OL 2 |
OL1 |
OL0 |
0 |
IR |
RA |
TR |
|
|
|
|
|
|
|
|
Diese |
Anzahl der zu sendenden Zeichen, die in |
Diese |
Konstante |
den Ausgangsdaten abgelegt wurden. |
Konstante |
muß auf |
OL2 ist immer 0. |
muß auf Null |
Null gesetzt |
z.B. OL2,OL1,OL0 = 0,1,1 |
gesetzt |
werden |
Drei Zeichen sollen gesendet werden und |
werden |
|
werden in den Ausgangsbyte0, |
|
|
Ausgangsbyte1 und Ausgangsbyte2 |
|
|
abgelegt. |
|
|
|
|
Initialization |
Receive |
Transmit |
request |
acknowledge |
request |
Inititalisierungs |
Empfangs- |
Sendean |
anforderung |
bestätigung |
forderung |
|
. |
|
|
|
|
Das Statusbyte enthält folgende Bits:
Bit 7
0
Dieser Wert ist immer Null
Statusbyte
Bit 6 |
Bit 5 |
Bit 4 |
Bit 3 |
Bit 2 |
Bit 1 |
Bit 0 |
|
|
|
|
|
|
|
IL2 |
IL1 |
Il0 |
BUF_F |
IA |
RR |
TA |
|
|
|
|
|
|
|
Anzahl der empfangenen Zeichen, die |
Meldung: |
Initialization |
Receive |
Transmit |
||
in den Eingangsdaten zur Verfügung |
Empfangs- |
acknowledge |
request |
acknowledge |
||
stehen. IL2 ist immer 0. |
|
puffer ist voll |
|
|
|
|
z.B. IL2,IL1,IL0 = 0,1,0 |
|
|
Initialisierungs |
Empfangs |
Übertragungs |
|
Zwei Zeichen wurden empfangen und |
|
bestätigung |
anforderung |
bestätigung |
||
stehen im Eingangsbyte0 und |
|
|
|
|
|
|
Eingangsbyte1 bereit. |
|
|
|
|
|
|
|
|
|
|
|
|
|
RS 232, TTY, RS 485 750-650,651,653 |
6 |
:$*2Ç, 2Ç6<67(0
Mit dem Steuerund Statusbyte erfolgt die Steuerung des Sendeund Empfangsbetriebs.
Klemme Initialisieren:
·Setzen von IR im Steuerbyte
·Initialisierung der Klemme
·Sperren der Sendeund Empfangsfunktionen
·Löschen der Sendeund Empfangsspeicher
·Laden der Konfigurationsdaten in die serielle Schnittstellenklemme
Daten Senden:
·TR¹TA: Schreiben der zu sendenden Zeichen in Ausgangsbyte 0 bis 2
·Anzahl der Zeichen wird in OL0 bis OL2 spezifiziert
·Invertieren und Ausgeben von TR
·Übergabe an den Sendepuffer ist erfolgt wenn TR=TA
Daten Empfangen:
·RR¹RA: in Eingangsbyte 0 bis 2 stehen Zeichen zur Verfügung
·Anzahl der Zeichen wird in IL0 bis IL2 spezifiziert
·Auslesen der Zeichen in IL0 bis IL2
·Invertieren und Ausgeben von RA
·Auslesen ist erfolgt wenn RR=RA
Das Senden und Empfangen von Daten kann gleichzeitig erfolgen. Die Initialisierungsanforderung wird bevorzugt ausgeführt und beendet sofort des Senden und Empfangen von Daten.
Meldung: Empfangspuffer voll: (Bit 3)
Der Empfangspuffer ist voll. Daten, die jetzt empfangen werden, gehen verloren.
RS 232, TTY, RS 485 750-650,651,653 |
7 |
:$*2Ç, 2Ç6<67(0
Ein Beispiel:
Die Klemme wird initialisiert.
- Das Initialisierungsbit wird im Steuerbyte gesetzt.
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
0x00 |
0000.0100 |
0x00 |
0x00 |
|
|
|
|
-Nachdem die Initialisierung erfolgt ist, wird im Statusbyte 0000.0100 zurückgegeben
Eingangsbyte 0 |
Statusbyte |
Eingangsbyte 2 |
Eingangsbyte 1 |
|
XX |
0XXX.X0XX |
XX |
XX |
Klemme wird noch initialisiert |
|
|
|
|
|
XX |
0XXX.X1XX |
XX |
XX |
Initialisierung ist erfolgt |
|
|
|
|
|
Senden der Zeichenkette „Hallo“
-Die ersten drei Zeichen und die Länge 3 wird übergeben.
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
‘H’ (0 x 48) |
0011.0000 |
‘l’ (0 x 6C) |
‘a’ (0 x 60) |
|
|
|
|
-Das Sendeanforderungsbit TR wird invertiert
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
‘H’ |
0011.0001 |
‘l’ |
‘a’ |
|
|
|
|
-Die Daten wurden an den Sendepuffer übergeben, sobaldTA=TR. Anschließend können weitere Zeichen gesendet werden
Eingangsbyte 0 |
Statusbyte |
Eingangsbyte 2 |
Eingangsbyte 1 |
|
XX |
0XXX.XXX0 |
XX |
XX |
Die Datenübergabe läuft noch. |
|
|
|
|
|
XX |
0XXX.XXX1 |
XX |
XX |
Die Datenübergabe ist erfolgt. |
|
|
|
|
|
-Die letzten zwei Zeichen und die Länge 2 werden übergeben.
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
‘l’ |
0010.0001 |
XX |
‘o’ (0 x 6F) |
|
|
|
|
-Das Sendeanforderungsbit TR wird invertiert
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
‘l’ |
0010.0000 |
XX |
‘o’ |
|
|
|
|
RS 232, TTY, RS 485 750-650,651,653 |
8 |
:$*2Ç, 2Ç6<67(0
-Die Daten wurden an den Sendepuffer übergeben, sobald TR=TA.
Eingangsbyte 0 |
Statusbyte |
Eingangsbyte 2 |
Eingangsbyte 1 |
|
XX |
0XXX.XXX1 |
XX |
XX |
Die Datenübergabe läuft noch. |
|
|
|
|
|
XX |
0XXX.XXX0 |
XX |
XX |
Die Datenübergabe ist erfolgt. |
|
|
|
|
|
Empfangen der Zeichenkette „WAGO“
-Sobald RA ¹ RR , stehen Zeichen in den Eingangsbytes bereit.
Ausgangsbyte 0 |
|
Steuerbyte |
|
Ausgangsbyte 2 |
Ausgangsbyte 1 |
|
||
XX |
|
0XXX.000X |
|
XX |
|
XX |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Eingangsbyte 0 |
Statusbyte |
Eingangsbyte 2 |
Eingangsbyte 1 |
|
||||
XX |
0XXX.0X0X |
XX |
XX |
|
Es stehen keine Empfangsdaten an |
|||
|
|
|
|
|
|
|||
‘W’ |
0011.0X1X |
‘G’ |
‘A’ |
|
Die Daten stehen in den |
|||
|
|
|
|
|
|
|
Eingangsbytes bereit |
|
-Nachdem die 3 Zeichen verarbeitet wurden, wird RA invertiert.
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte 2 |
Ausgangsbyte 1 |
XX |
0XXX.001X |
XX |
XX |
|
|
|
|
-Der Empfang weiterer Zeichen wird durch unterschiedliche Werte für RA und RR angezeigt.
Eingangsbyte 0 |
Statusbyte |
Eingangsbyte 2 |
Eingangsbyte 1 |
|
XX |
0XXX.0X1X |
XX |
XX |
Es stehen keine Empfangsdaten an |
|
|
|
|
|
‘O’ |
0001.0X0X |
XX |
XX |
Die Daten stehen in den |
|
|
|
|
Eingangsbytes bereit |
-Nachdem das Zeichen verarbeitet wurde, wird RAinvertiert.
Ausgangsbyte 0 |
Steuerbyte |
Ausgangsbyte2 |
Ausgangsbyte1 |
XX |
0XXX.000X |
XX |
XX |
|
|
|
|
Hinweis: 0x23 ist ein Wert in Hexadezimaldarstellung 0101.1001 ist ein Wert in Binärdarstellung
Ein X wird verwendet, falls der Wert an dieser Stelle ohne Bedeutung ist. Ein XX bedeutet, daß der gesamte Wert ohne Bedeutung ist.
RS 232, TTY, RS 485 750-650,651,653 |
9 |
:$*2Ç, 2Ç6<67(0
Aufbau der Einund Ausgangsdaten für Interbus
Die Klemme erscheint am Bus wie eine kombinierte Einund Ausgangsklemme mit 2 x 16 Bit Einund Ausgangsdaten.
Ausgangswerte der Steuerung:
Wort |
Bezeichnung |
|
D0 (Bit 0-15) |
Ausgangsbyte0 |
Steuerbyte |
D1(Bit16-31) |
Ausgangsbyte2 |
Ausgangsbyte1 |
Eingangswerte der Steuerung: |
|
|
|
|
|
Wort |
Bezeichnung |
|
D0 (Bit 0-15) |
Eingangsbyte0 |
Statusbyte |
D1(Bit16-31) |
Eingangsbyte2 |
Eingangsbyte1 |
Die RS232 Schnittstellenklemme kann auch mit einem Datenformat von 5 Byte betrieben werden (750-650/000-001).
Ausgangswerte der Steuerung:
Wort |
Bezeichnung |
|
D0 (Bit 0-15) |
Steuerbyte |
Ausgangsbyte0 |
D1(Bit16-31) |
Ausgangsbyte1 |
Ausgangsbyte2 |
D2(Bit32-47) |
Ausgangsbyte3 |
Ausgangsbyte4 |
Eingangswerte der Steuerung: |
|
|
Wort |
Bezeichnung |
|
D0 (Bit 0-15) |
Statusbyte |
Eingangsbyte0 |
D1(Bit16-31) |
Eingangsbyte1 |
Eingangsbyte2 |
D2(Bit32-47) |
Eingangsbyte3 |
Eingangsbyte4 |
RS 232, TTY, RS 485 750-650,651,653 |
10 |
:$*2Ç, 2Ç6<67(0