ModbusRtuSlave_PcCOM

ModbusRtuSlave_PcCOM 1:

Der Funktionsbaustein ModbusRtuSlave_PcCOM realisiert einen Modbus-Slave, der über eine serielle PC-Schnittstelle (COM-Port) kommuniziert. Zur Kommunikation über eine serielle Busklemme KL6001, KL6011 oder KL6021 steht der Funktionsbaustein ModbusRtuSlave_KL6x5B zur Verfügung.

Der Baustein verhält sich passiv, bis er von einem angeschlossenen Modbus-Master Telegramme empfängt. Ein Beispielprogramm verdeutlicht die Funktionsweise.

ModbusRtuSlave_PcCOM 2:

Verbindung zur Hardware

Die zur Verknüpfung mit dem Kommunikations-Port notwendigen Datenstrukturen sind im Funktionsbaustein enthalten. Sie werden im TwinCAT System Manager angezeigt nachdem das SPS-Programm eingebunden ist und können dort mit einem COM-Port verbunden werden. Die Vorgehensweise ist analog zur Beschreibung im Kapitel Serielle PC-Schnittstelle der Dokumentation TF6340 TC3 Serial Communication.

ModbusRtuSlave_PcCOM 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_PcCOM 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