Modbus Protocol; Introduction To Modbus Protocol; Non-Volatile Memory Limitations; Modbus Function Codes - ABB C1900 Installation Manual

Circular chart recorder and recorder/controller, modbus (rtu) communications option
Hide thumbs Also See for C1900:
Table of Contents

Advertisement

4 MODBUS PROTOCOL

Information.
• The COMMANDER 1900 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
1/
a new 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.1.1 Non-volatile Memory Limitations

Note. A non-volatile memory is used to store any parameter changes made via the serial link to ensure that the information
is retained during mains interruption or power-down. The memory used is rated at 10
register is assigned a particular parameter, e.g. Alarm trip value, Channel 1. If the number of write cycles to any particular
register exceeds this value, the register's contents may not be retained.
To restrict unnecessary use of the non-volatile memory registers the memory enable/disable command is provided (Coil number
181, Section 7.1). The command can be used before parameters which do not need to be stored in the non-volatile memory, e.g.
frequently changed parameters or parameters which do not have to be retained on power-down.

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
8
Read up to 16 consecutive discrete (boolean) points from a specific starting point. The
COMMANDER 1900 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 COMMANDER
1900 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 COMMANDER 1900 NAKs this if the point is not
currently writeable.
Write one register. The COMMANDER 1900 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 COMMANDER
1900 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. This function code is only available if 'write to non-volatile memory' is
disabled – see coil number 181.
Table 4.1 Modbus Function Codes
4
write cycles per register and each
COMMANDER 1900 Definition

Advertisement

Table of Contents
loading

Table of Contents