Industrielle styresystemer - Wiki
...
A Modbus address is a 16-bit unsigned integer that is transmitted with every request to indicate which data should be read or written. Address occupies two characters in the Modbus message and the most significant byte is sent first (big-endian).
Functions code | Functions | Spesifics | |
---|---|---|---|
FC01 | Read Coils | This function code allows the master to query the state of slave’s coils. | A read coils request is always 8 bytes long. A read coils response is at least 6 bytes long. |
FC02 | Read Discrete Inputs | This function code allows the master to query the state of slave’s discrete inputs. | A read discrete inputs request is always 8 bytes long. A read discrete inputs response is at least 6 bytes long. |
FC03 | Read Holding Registers | This function code allows the master to query the state of slave’s holding registers. | A read holding registers request is always 8 bytes long. A read holding registers response is at least 7 bytes long. |
FC04 | Read Input Registers | With this function code, master queries the state of slave’s input registers. | A read input registers request is always 8 bytes long. A read holding registers response is at least 7 bytes long. |
FC05 | Write Single Coil | Sets the value of a single slave’s coil. | A write single coil request is always 8 bytes long. response? |
FC15 | Write Multiple Coils | Sets the value of a single slave’s holding register. | |
FC06 | Write Single Register | Sets the value of a consecutive range of slave’s coils. | |
FC16 | Write Multiple Registers | Sets the value of a consecutive range of slave’s holding registers. | |
FC23 | Read/Write Multiple Registers | It combines reading and writing functions, allowing the master to read and write values of multiple holding registers in a single request |
To send and receive data we need to use 2 channels:
Start configuration with a client/master master Modbus TCP Client/Master
Sending and receiving of data on the Client/Master side
Sending and receiving of data on the Server/Slave side
NB!
In the Modbus protocol, data is sent between registers, not directly between variables. Registers act as memory addresses in devices that use the Modbus protocol, and data is exchanged through these registers.
Source:/Helpful links:
Configuring a Network Variable Exchange:
https://help.codesys.com/api-content/2/codesys/3.5.13.0/en/_cds_configuring_network_variables_exchange/
...
https://docs.factoryio.com/manual/drivers/modbus-server/#configuration
https://docs.factoryio.com/manual/drivers/modbus-client/#configuration