7.3.1
Implementierung der Befehle
Im Folgenden werden die verschiedenen Aufträge beschrieben. Beachten Sie dabei, dass auf das
jeweilige Antworttelegramm gewartet werden muss (Reader-Antwortzeit), bevor neue
Auftragstelegramme gesendet werden können.
Die Angabe der Parameterlänge erfolgt im Format "Big Endian" und bezieht sich immer auf
die Nutzdaten ab Byte 5, exklusive der optionalen Prüfsumme. Alle anderen Daten werden im
Format "Little Endian" ausgegeben.
Implementierung bei Anschluss über ein SIMATIC Ident-Kommunikationsmodul
Die Kommunikation erfolgt mit Hilfe der Ident-Bausteine / des Ident Profils oder des
Funktionsbausteins FB 45. Dabei übernimmt der "Write"-Befehl das Senden und der "Read"-
Befehl das Empfangen von Daten. Die maximale Länge der Telegramme (Kopf und Daten) ist
auf 233 Byte bzw. 229 Byte bei Ident-Profil ausgelegt.
Bevor Sie das erste Mal einen "Read"- oder "Write"-Befehl durchführen, müssen Sie
einmalig einen "Reset"-Befehl ("syscmd_reset") durchführen. Mit dem "Reset"-Befehl wird die
Kommunikation zwischen CM und Reader zurückgesetzt und der Puffer geleert.
Alternativ können Sie auch via OPC UA oder XML mit dem Reader kommunizieren. In diesem
Fall werden die Daten mit Hilfe der OPC UA-Methoden "WriteTag" und "ReadTag" bzw. den
XML-Befehlen "writeTagMemory" und "readTagMemory" gesendet und empfangen.
Prüfsummenberechnung ("BCC8")
Beachten Sie, dass für die Berechnung der Prüfsumme alle Bytes des Telegramms mit "XOR"
verknüpft werden müssen. Das Ergebnis wird im Feld "Optionale Prüfsumme" angegeben.
7.3.2
Befehle
Eine textuelle Beschreibung der Funktionsweise der verschiedenen Befehle finden Sie im Kapitel
"Funktionen der USB-/RS232-Schnittstelle für Windows (Seite 34)".
7.3.2.1
syscmd_reset
Max. Reader-Antwortzeit: 100 ms
Tabelle 7-22 Auftragstelegramm
Byte
0
1
2
3 ... 4
5
SIMATIC RF1000
Betriebsanleitung, 05/2023, C79000-G8900-C432-10
7.3 Programmierung über die RS232-Schnittstelle (mittels Freeport-Protokoll)
Wert
Beschreibung
0x0C
Ohne Prüfsumme
0x1C
Mit Prüfsumme
0x00
DevCode des Befehlssatzes, der den Befehl enthält, der aufgerufen werden soll.
0x03
CmdCode des Befehls, der aufgerufen werden soll.
0x00
Parameterlänge (0 Byte)
0xC2
Optionale Prüfsumme (wenn in Byte 0 der Wert "0x1C" gesetzt ist)
Programmierung
55