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.

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