ModbusRtuSlave_KL6x22B
Der Funktionsbaustein ModbusRtuSlave_KL6x22B
realisiert einen Modbus-Slave, der über eine serielle Busklemme KL6031 oder KL6041 kommuniziert. Es werden ebenso serielle EtherCAT-Klemmen mit 22 Bytes Daten Prozessabbild unterstützt. Zur Kommunikation über eine serielle PC-Schnittstelle (COM-Port) steht der Funktionsbaustein ModbusRtuSlave_PcCOM zur Verfügung.
Der Baustein verhält sich passiv, bis er von einem angeschlossenen Modbus-Master Telegramme empfängt.
Verbindung zur Hardware Die zur Verknüpfung mit dem Kommunikations-Port notwendigen Datenstrukturen sind im Funktionsbaustein enthalten. Auf einem PC erfolgt die Zuweisung im TwinCAT System Manager analog zur Beschreibung im Kapitel Serielle Busklemme der Dokumentation TF6340 TC3 Serial Communication. |
Eingänge
VAR_INPUT
UnitID : UINT;
AdrInputs : POINTER TO BYTE; (* Pointer to the Modbus input area *)
SizeInputBytes : UINT;
AdrOutputs : POINTER TO BYTE; (* Pointer to the Modbus output area *)
SizeOutputBytes : UINT;
AdrMemory : POINTER TO BYTE; (* Pointer to the Modbus memory area *)
SizeMemoryBytes : UINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
UnitID | UINT | Modbus Stationsadresse (1..247). Der Modbus-Slave antwortet nur, wenn er Telegramme mit seiner eigenen Stationsadresse empfängt. Optional können hier auch Sammeladressen eingestellt werden, um auf beliebige Anfragen zu antworten. Die Adresse 0 ist für Broadcast-Telegramme reserviert und somit keine gültige Stationsadresse. |
AdrInputs | BYTE | Startadresse des Modbus-Input-Bereiches. Der Datenbereich wird üblicherweise als SPS-Array deklariert und die Adresse kann mit ADR(Input-Variable) berechnet werden. |
SizeInputBytes | UINT | Größe des Modbus-Input-Bereiches in Bytes. Die Größe kann mit SIZEOF(Input-Variable) berechnet werden. |
AdrOutputs | BYTE | Startadresse des Modbus-Output-Bereiches. Der Datenbereich wird üblicherweise als SPS-Array deklariert und die Adresse kann mit ADR(Output-Variable) berechnet werden. |
SizeOutputBytes | UINT | Größe des Modbus-Output-Bereiches in Bytes. Die Größe kann mit SIZEOF(Output-Variable) berechnet werden. |
AdrMemory | BYTE | Startadresse des Modbus-Memory-Bereiches. Der Datenbereich wird üblicherweise als SPS-Array deklariert und die Adresse kann mit ADR(Memory-Variable) berechnet werden. |
SizeMemoryBytes | UINT | Größe des Modbus-Memory-Bereiches in Bytes. Die Größe kann mit SIZEOF(Memory-Variable) berechnet werden. |
Ausgänge
VAR_OUTPUT
ErrorId : MODBUS_ERRORS;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
ErrorId | MODBUS_ERRORS | Zeigt eine Fehlernummer im Falle einer gestörten oder fehlerhaften Kommunikation an. |
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_ModbusRTU |