Daten in Slave schreiben oder Daten von Slave lesen
Verwenden Sie diesen Befehl zum Schreiben von Daten von einem Master zu einem Slave oder zum Lesen von Daten von einem Slave über den Kommunikationsanschluss unter Verwendung des Modbus-RTU-Protokolls, wie in den Systemregistern des verwendeten Anschlusses definiert. Stellen Sie sicher, dass für Master und Slave das gleiche Protokoll eingestellt ist.
Eingang
Legt die Kommunikationsschnittstellen fest (je nach SPS-Typ):
COM-Schnittstelle z.B. SYS_COM0_PORT
Ethernet-Schnittstelle z.B. SYS_ETHERNET_USER_CONNECTION_1
MCU/SCU z.B. 16#xx01 (xx = Steckplatznummer) in COM01
Teilnehmeradresse des Slaves
Nur für FP7:
Funktionscodes 05, 06, 15, 16: 0–247
Wenn SCU verwendet wird und für die Nummer des Slave-Moduls „0“ angegeben ist, wird eine globale Übertragung durchgeführt. In diesem Fall gibt es keine Antwort vom Slave-Modul.
Funktionscodes 01, 02, 03, 04: 1- 247
Für andere SPS:
Funktionscodes 05, 06, 15, 16: 0–99
Wenn für die Nummer des Slave-Moduls „0“ angegeben ist, wird eine globale Übertragung durchgeführt. In diesem Fall gibt es keine Antwort vom Slave-Modul.
Funktionscodes 01, 02, 03, 04: 1- 99
Einstellen auf 1, wenn ein SYS_ETHERNET_USER_CONNECTION_xx auf Eingang Port angewandt wird
SYS_MODBUS_03_READ_HOLDING_REGISTER
Anfangsadresse (0–65535). Der Adresstyp hängt vom Befehl ab, der durch FunctionCode* angegeben ist.
Anzahl der Übertragungs-Bits oder -Worte.
1 für Funktionscodes 05, 06
1–2040 für Funktionscodes 01, 02
2–2040 für Funktionscode 15
1–127 für Funktionscodes 03, 04
2–127 für Funktionscode 16
Quelladresse auf dem Master für die Daten, die in den Slave geschrieben werden sollen.
Ausgang
Nur für FP7: Eine Beschreibung aller Fehlercodes finden Sie in der Tabelle der Modbus/MEWTOCOL-Kommunikationsfehler-Codes.
Für andere SPS: auf 0 gesetzt
Beim Senden: Sendemerker Master-Kommunikation ist TRUE
Senden abgeschlossen: Sendemerker Master-Kommunikation ist FALSE
Normaler Abschluss: FALSE
Abschluss mit Fehler: TRUE
wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich
wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS handelt, die im Systemregister als Modbus-RTU-Slave konfiguriert ist, werden eines oder mehrere Bits gelesen von:
Y (Ausgang)
R (Interne Merker)
Modbus-Befehl 01 ausführen: Es wird 1 Bit von einem Modbus-Slave gelesen, beginnend bei Anfangsadresse 56, eingestellt durch die Variable StartRegister. Der Befehl speichert das 1 Bit im Master beginnend mit der durch die Variable bBool2 eingestellten Adresse. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 56 dem Ausgang Y38 (3*16+8=56).
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS handelt, die im Systemregister als Modbus-RTU-Slave konfiguriert ist, werden eines oder mehrere Bits gelesen von:
Modbus-Befehl 02 ausführen: Es wird 1 Bit von einem Modbus-Slave gelesen, beginnend bei Anfangsadresse 66, eingestellt durch die Variable StartRegister. Der Befehl speichert das 1 Bit im Master beginnend mit der durch die Variable bBool2 eingestellten Adresse. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 66 dem Eingang X42 (4*16+2=66).
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS handelt, die im Systemregister als Modbus-RTU-Slave konfiguriert ist, werden eines oder mehrere Bits gelesen von:
Modbus-Befehl 03 ausführen: Es werden 2 Worte von einem Modbus-Slave gelesen, beginnend bei Anfangsadresse 100, eingestellt durch die Variable StartRegister. Der Befehl speichert diese 2 Worte im Modbus-Master 2, beginnend bei der mit der Variable rCount2 eingestellten Adresse. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 100 dem Datenregister DT100.
Maximale Registeranzahl: 127.
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS handelt, die im Systemregister als Modbus-RTU-Slave konfiguriert ist, werden eines oder mehrere Bits gelesen von:
WL0–WL127 (Koppelmerker)
LD0–LD256 (Koppeldatenregister)
Modbus-Befehl 04 ausführen: Es werden 7 Worte von einem Modbus-Slave gelesen, beginnend bei Anfangsadresse 2018, eingestellt durch die Variable StartRegister. Der Befehl speichert diese 7 Worte im Master, beginnend bei LD25, das durch die Variable MasterData eingestellt wurde. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 2018 dem Koppeldatenregister LD18.
Maximale Registeranzahl: 127.
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS in der Kommunikationsart Modbus RTU handelt, werden eines oder mehrere Bits geschrieben in:
Y (Ausgang)
R (Interne Merker)
Modbus-Befehl 05 ausführen: Es wird 1 Bit in einen Modbus-Slave geschrieben, beginnend bei Adresse WY1, eingestellt durch die Variable MasterData. Der Befehl speichert dieses 1 Bit in einem Modbus-Slave, beginnend bei der Anfangsadresse 35, eingestellt durch die Variable StartRegister. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Adresse 35 dem Ausgang Y23 (2*16+3=35).
Zum Schreiben mehrerer Datenbits verwenden Sie die Konstante SYS_MODBUS_15_FORCE_COILS
Maximale Registeranzahl: 1
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS in der Kommunikationsart Modbus RTU handelt, werden eines oder mehrere Bits geschrieben in:
Modbus-Befehl 06 ausführen: Es wird 1 Wort in einen Modbus-Slave geschrieben, beginnend bei Adresse DT14, eingestellt durch die Variable MasterData. Der Befehl speichert dann das 1 Wort im Modbus-Slave, beginnend bei der durch die Variable StartRegister eingestellten Anfangsadresse 21. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 21 dem Datenregister DT21.
Zum Schreiben mehrerer Datenbits verwenden Sie die Konstante SYS_MODBUS_15_FORCE_COILS
Maximale Registeranzahl: 1
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS in der Kommunikationsart Modbus RTU handelt, werden eines oder mehrere Bits geschrieben in:
Y (Ausgang)
R (Interne Merker)
Modbus-Befehl 15 ausführen: Es werden 64 Bits in einen Modbus-Slave geschrieben, beginnend bei Adresse WY1, eingestellt durch die Variable MasterData. Der Befehl speichert diese 64 Bits im Modbus-Slave, beginnend bei der Anfangsadresse 48, die durch die Variable StartRegister eingestellt wurde. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Adresse 48 dem Ausgang Y30 (3*16=48).
Wenn Sie diese Konstante dem Eingangsparameter FunctionCode* zuweisen, wird der entsprechende Modbus-Befehl ausgeführt.
Falls es sich bei dem angeschlossenen Slave um eine Panasonic SPS in der Kommunikationsart Modbus RTU handelt, werden eines oder mehrere Bits geschrieben in:
Modbus-Befehl 16 ausführen: Es werden Daten in einen Modbus-Slave geschrieben, beginnend bei der mit rCount1 eingestellten Adresse. Der Befehl speichert diese Daten in den Modbus-Slave 2, beginnend bei der durch die Variable StartRegister eingestellten Anfangsadresse 100. Die Adresse des Slaves wird in eine gerätespezifische Adresse konvertiert, die auf den Modbus-Spezifikationen des Geräts basiert.
Falls der angeschlossene Slave eine Panasonic Steuerung ist, entspricht die Anfangsadresse 100 dem Datenregister DT100.
Maximale Registeranzahl: 127.