ModbusRtuSlave_KL6x22B

ModbusRtuSlave_KL6x22B 1:

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.

ModbusRtuSlave_KL6x22B 2:

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.

ModbusRtuSlave_KL6x22B 3: 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.

ModbusRtuSlave_KL6x22B 4: 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