Modbus Protocol; Introduction To Modbus Protocol; Modbus Function Codes - ABB C1300 User Manual Supplement

Advanced circular chart recorder
Hide thumbs Also See for C1300:
Table of Contents

Advertisement

C1300
Advanced Circular Chart Recorder

4 Modbus Protocol

Note.
The C1300 operates as a Modbus, Remote Terminal Unit (RTU) slave.
Parity checking – used to detect transmission errors in individual characters.
Cyclic redundancy checking – used to detect errors in the master messages and slave responses.
Non-volatile memory save command.

4.1 Introduction to Modbus Protocol

Modbus communication is based on a master and a slave arrangement. The master sends a message to one slave at a time and
waits for a reply.
The slave cannot accept a new message until the existing message is processed and a reply sent to the master (maximum response
time 250 milliseconds). The slave monitors the elapsed time between receipt of characters. If the elapsed time without a new
1
character is 3
/
character times, the slave assumes the next character received is the start of a new message.
2
To allow the master to differentiate between more than one slave in a system, each slave is given a unique identity address (between
1 and 99).
A broadcast address (address zero) can be used to access all slave devices with one command. This is limited to write messages
only and there is no slave acknowledgment.
Note. Modbus RTU requires 1 start bit, 8 data bits, 1 parity bit (optional) and 1 or 2 stop bits.

4.2 Modbus Function Codes

The function code field instructs the addressed slaves what function to perform. Table 4.1 shows the function codes, their meaning,
and the action they initiate.
Modbus
Modbus Message Name
Function Code
01
Read Coil Status
03
Read Holding Register
05
Force Single Coil
06
Preset Single Register
08
Loopback Diagnostic Test
16
Preset Multiple Registers
*NAK = Negative Acknowledgement
Table 4.1 Modbus Function Codes
8
Read up to 16 consecutive discrete (boolean) points from a specific starting point.
The C1300 returns zeros for points which do not contain defined data and NAKs*
any request for point numbers greater than 200.
Read up to 8 consecutive registers from a specific starting register. The C1300
returns zeros from registers which do not contain defined data and NAKs* any
request for register numbers greater than 250.
Write one discrete (boolean) point. The C1300 NAKs* this if the point is not
currently writeable.
Write one register. The C1300 NAKs* if the register is not currently writeable. This
function code also applies to any currently applicable limits to the value before
storage in the database.
Echo the message; only 'Return of Query' is supported.
Write up to 8 consecutive registers from a specified starting register. The C1300
NAKs* if any of the registers are not currently writeable, but still carries out all the
writes which are valid, applying any currently applicable limits to the value before
storage in the database.
C1300 Definition
IM/C1300–MOD
4 Modbus Protocol
Rev. C

Advertisement

Table of Contents
loading

Table of Contents