Материал: m015000d

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

MODBUS-Funktionen 157

Beschreibung der MODBUS-Funktionen

6.3.5 Funktionscode FC5 (Write Coil)

Diese Funktion dient dazu, ein digitales Ausgangsbit zu schreiben.

Aufbau des Requests

Die Anfrage bestimmt die Adresse des Ausgangsbits. Die Adressierung beginnt mit 0.

Beispiel: Setzen des 2. Ausgangsbits (Adresse 1).

 

Byte

Feldname

Beispiel

 

Byte 0, 1

Transaction identifier

0x0000

 

 

 

 

 

Byte 2, 3

protocol identifier

0x0000

 

 

 

 

 

Byte 4, 5

length field

0x0006

 

 

 

 

 

Byte 6

unit identifier

0x01 nicht verwendet

 

 

 

 

 

Byte 7

MODBUS function code

0x05

 

 

 

 

 

Byte 8, 9

reference number

0x0001

 

 

 

 

 

Byte 10

ON/OFF

0xFF

 

 

 

 

 

Byte 11

 

0x00

 

 

 

 

Aufbau der Response

 

 

Byte

Feldname

Beispiel

 

.....

 

 

 

 

 

 

 

Byte 7

MODBUS function code

0x05

 

 

 

 

 

Byte 8, 9

Reference number

0x0001

 

 

 

 

 

Byte 10

Value

0xFF

 

 

 

 

 

Byte 11

 

0x00

 

 

 

 

Aufbau der Exception

 

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x85

 

 

 

Byte 8

Exception code

0x01, 0x02 oder 0x03

 

 

 

WAGO-I/O-SYSTEM 750 ETHERNET TCP/IP

158 MODBUS-Funktionen

Beschreibung der MODBUS-Funktionen

6.3.6 Funktionscode FC6 (Write single register)

Diese Funktion schreibt einen Wert in ein einzelnes Ausgangswort (auch ”Ausgangsregister”).

Aufbau des Requests

Die Adressierung beginnt mit 0. Die Anfrage bestimmt die Adresse des ersten Ausgangswortes, das gesetzt werden soll. Der zu setzende Wert wird im Anfragedatenfeld bestimmt.

Beispiel: Setzen des zweiten Ausgangskanal (Adresse 0) auf den Wert 0x1234.

Byte

Feldname

Beispiel

Byte 0, 1

Transaction identifier

0x0000

 

 

 

Byte 2, 3

protocol identifier

0x0000

 

 

 

Byte 4, 5

length field

0x0006

 

 

 

Byte 6

Unit identifier

0x01 nicht verwendet

 

 

 

Byte 7

MODBUS function code

0x06

 

 

 

Byte 8, 9

reference number

0x0001

 

 

 

Byte 10, 11

Register Value

0x1234

 

 

 

Aufbau der Response

Die Antwort ist ein Echo der Anfrage.

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x06

 

 

 

Byte 8, 9

Reference number

0x0001

 

 

 

Byte 10, 11

Register Value

0x1234

 

 

 

Aufbau der Exception

 

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x85

 

 

 

Byte 8

Exception code

0x01 oder 0x02

 

 

 

WAGO-I/O-SYSTEM 750 ETHERNET TCP/IP

MODBUS-Funktionen 159

Beschreibung der MODBUS-Funktionen

6.3.7 Funktionscode FC11 (Get comm event counter)

Diese Funktion gibt ein Statuswort und einen Ereigniszähler aus dem Kommunikations-Ereigniszähler des Controllers zurück. Die übergeordnete Steuerung kann mit diesem Zähler feststellen, ob der Controller die Nachrichten fehlerlos behandelt hat.

Nach jeder erfolgreichen Nachrichtenverarbeitung wird der Zähler hochgezählt. Dieses Zählen erfolgt nicht bei Ausnahmeantworten oder Zählerabfragen.

Aufbau des Requests

Byte

Feldname

Beispiel

Byte 0, 1

Transaction identifier

0x0000

 

 

 

Byte 2, 3

protocol identifier

0x0000

 

 

 

Byte 4, 5

length field

0x0002

 

 

 

Byte 6

unit identifier

0x01 nicht verwendet

 

 

 

Byte 7

MODBUS function code

0x0B

 

 

 

Aufbau der Response

Die Antwort enthält ein 2 Byte Statuswort und einen 2 Byte Ereigniszähler. Das Statuswort enthält nur Nullen.

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x10

 

 

 

Byte 8, 9

Status

0x0000

 

 

 

Byte 10, 11

Event Count

0x0003

 

 

 

Der Ereigniszähler zeigt, dass 3 (0x0003) Ereignisse gezählt wurden.

Aufbau der Exception

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x85

 

 

 

Byte 8

Exception code

0x01 oder 0x02

 

 

 

WAGO-I/O-SYSTEM 750 ETHERNET TCP/IP

160 MODBUS-Funktionen

Beschreibung der MODBUS-Funktionen

6.3.8 Funktionscode FC15 (Force Multiple Coils)

Durch diese Funktion wird eine Anzahl Ausgangsbits auf 1 oder 0 gesetzt. Die maximale Anzahl ist 256 Bits.

Aufbau des Requests

Der erste Bit wird mit 0 adressiert. Die Anfragenachricht spezifiziert die Bits, die gesetzt werden sollen. Die geforderten 1-oder 0-Zustände werden durch die Inhalte des Anfragedatenfelds bestimmt.

In diesem Beispiel werden 16 Bits beginnend mit Adresse 0 gesetzt. Die Anfrage enthält 2 Bytes mit dem Wert 0xA5F0 also 1010 0101 1111 0000 binär.

Das erste Byte überträgt die 0xA5 an die Adresse 7 bis 0, wobei 0 das niederwertigste Bit ist. Das nächste Byte überträgt 0xF0 an die Adresse 15 bis 8, wobei das niederwertigste Bit 8 ist.

Byte

Feldname

Beispiel

Byte 0, 1

Transaction identifier

0x0000

 

 

 

Byte 2, 3

protocol identifier

0x0000

Byte 4, 5

Length field

0x0009

 

 

 

Byte 6

unit identifier

0x01 nicht verwendet

 

 

 

Byte 7

MODBUS function code

0x0F

 

 

 

Byte 8, 9

reference number

0x0000

 

 

 

Byte 10, 11

Bit Count

0x0010

 

 

 

Byte 12

Byte Count

0x02

 

 

 

Byte 13

Data Byte1

0xA5

 

 

 

Byte 14

Data Byte2

0xF0

 

 

 

Aufbau der Response

 

 

Byte

Feldname

Beispiel

 

.....

 

 

 

 

 

 

 

Byte 7

MODBUS function code

0x0F

 

 

 

 

 

Byte 8, 9

Reference number

0x0000

 

 

 

 

 

Byte 10, 11

Bit Count

0x0010

 

 

 

 

Aufbau der Exception

 

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x8F

 

 

 

Byte 8

Exception code

0x01 oder 0x02

 

 

 

WAGO-I/O-SYSTEM 750 ETHERNET TCP/IP

MODBUS-Funktionen 161

Beschreibung der MODBUS-Funktionen

6.3.9 Funktionscode FC16 (Write multiple registers)

Diese Funktion schreibt Werte in eine Anzahl von Ausgangsworten (auch ”Ausgangsregister”).

Aufbau des Requests

Das erste Register wird mit 0 adressiert.

Die Anfragenachricht bestimmt die Register, die gesetzt werden sollen. Die Daten werden als 2 Bytes pro Register gesendet.

Beispiel: Die Daten in den beiden Registern 0 und 1 werden gesetzt.

Byte

Feldname

Beispiel

Byte 0, 1

Transaction identifier

0x0000

 

 

 

Byte 2, 3

protocol identifier

0x0000

 

 

 

Byte 4, 5

length field

0x000B

 

 

 

Byte 6

Unit identifier

0x01 nicht verwendet

 

 

 

Byte 7

MODBUS function code

0x10

 

 

 

Byte 8, 9

reference number

0x0000

 

 

 

Byte 10, 11

Word count

0x0002

 

 

 

Byte 12

Byte Count

0x04

 

 

 

Byte 13, 14

Register Value 1

0x1234

 

 

 

Byte 15, 16

Register Value 2

0x2345

 

 

 

Aufbau der Response

 

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x10

 

 

 

Byte 8, 9

Reference number

0x0000

 

 

 

Byte 10, 11

Register Value

0x0002

 

 

 

Aufbau der Exception

 

Byte

Feldname

Beispiel

.....

 

 

 

 

 

Byte 7

MODBUS function code

0x85

 

 

 

Byte 8

Exception code

0x01 oder 0x02

 

 

 

WAGO-I/O-SYSTEM 750 ETHERNET TCP/IP