Skip to main content

CODESYS Modbus

Ein Modbus-Netzwerk besteht aus einem Modbus-Client und einem oder mehreren Modbus-Servern. Es können maximal 64 Server unter einem Client eingehängt werden. Die Modbus-Geräte können über eine serielle Schnittstelle oder über Ethernet eingebunden werden.

_mod_img_device_tree.png

Modbus Geräte, eingebunden über die serielle Schnittstelle unter Verwendung des Geräts Modbus COM Port.

  • (1): Die CODESYS Runtime fungiert als Modbus-Client

  • (2): Die CODESYS-Runtime fungiert als Modbus-Server. Im Folgenden wird dieser Modbus-Server „Modbus Device“ genannt.

    Bei Modbus seriell wird die Betriebsart Modbus RTU unterstützt.

Modbus Geräte, eingebunden in ein Ethernet-Netzwerk unter Verwendung des Geräts Ethernet Adapter.

  • (3): Die CODESYS-Runtime fungiert als Modbus-Client

    Ein Modbus TCP-Server kann außerdem als Gateway für serielle Modbus-Server fungieren.

  • (4): Die CODESYS-Runtime fungiert als Modbus-Server

Sie können über die Modbus-Konfigurationsseiten Kommunikationsparameter konfigurieren und die sogenannten Modbus-Kanäle anlegen. Hinter einem Modbus-Kanal steht ein einzelnes Modbus-Kommando (Daten lesen/schreiben) sowie die zugehörigen E/A-Kanäle.

Unterstützte Funktionscodes

Wenn es nicht durch den speziellen Typ der Steuerung eingeschränkt wird, unterstützt der Client grundsätzlich folgende Funktionscodes:

  • FC01 Read Coils

  • FC02 Read Discrete Inputs

  • FC03 Read Holding Registers

  • FC04 Read Input Registers

  • FC05 Write Single Coil

  • FC15 Write Multiple Coils

  • FC06 Write Single Register

  • FC16 Write Multiple Registers

  • FC23 Read/Write Multiple Registers

Zugriff auf Modbus-Geräte aus der Applikation

Wenn Sie ein Modbus-Gerät in den Gerätebaum einhängen, wird automatisch eine Instanz des zugehörigen Funktionsbausteins angelegt. Der Variablenname der Instanz entspricht dem Name des Geräts im Gerätebaum. Mit diesem Funktionsbaustein können Sie aus der Applikation auf die Funktionen der Modbus-Geräte zugreifen. Über die Ausgänge dieses Funktionsbausteins können Sie zum Beispiel den Status des letzten Modbus-Kommandos abfragen (ob erfolgreich oder mit Fehler).

Sie finden die Geräteinstanz in der Registerkarte <Gerätename> IEC-Objekte des zugehörigen Geräteeditors. Sehen Sie hierzu bitte auch die Beschreibung dieses Dialogs.

Tipp

Für Modbus Client (RTU/TCP)

Zusätzlich/Alternativ zu den im Konfigurator vordefinierten Modbus-Kommandos (und dem implizit erzeugten E/A-Mapping) können über den Baustein ModbusRequest auch programmatisch Modbus-Requests ausgeführt werden.

Für weitere allgemeine Informationen zur Feldbusunterstützung in CODESYS siehe: Feldbusunterstützung