This document may help you to solve problem you may encounter when using the Modbus Serial (RTU or ASCII) protocol with the Engiby driver on a Saia PCD® system. Note that a good knowledge of the partner device is necessary to correctly configure the driver on the Saia PCD®.
For trouble shooting Modbus TCP, please read this document: Modbus TCP Trouble shooting
Note also that a lot of information is also given in the Modbus FAQ documents
For Modbus 2 : Modbus 2 Driver
For Modbus 1 (obsolete): Modbus FAQ
You in very rare cases you may encounter known and fixed problem of the driver itself. Here you can fined the list of the last modifications of the Modbus 2 driver : Modbus 2 History
Typical troubles with the Slave Driver
No communication
In the Slave driver this is indicated by the error ‘Synchro’. It means that the Slave driver does not receive any requests from the Master.
- First check the cabling (90% or the errors). In RS 232 Tx and Rx must be crossed.
- For RS 485 don’t cross the wires. The indication Td+ and Td- is not always identical on different devices.
Possible labeling for Td+ or D or Tx/Rx+ or Tx/Rx-P or A
Possible labeling for Td- or /D or Tx/Rx- or Tx/Rx-N or B - With a long bus cable, check the termination resistors.
The recommendation from Saia Burgess Controls for S-Bus networks are also valid for Modbus. Therefore please refer to the S-Bus manual form more details about the wiring.
Diagnostics errors
Typically reasons are:
- the baudrate or the bit settings are not the same on Master and on the Slaves
- wrong cabling (crossed or missing wires)
- bad ground connection between Master and Slaves
- with RS485, bad or missing termination or the bus (pull-up, pull-down resistors inc. supply; termination resistors)
Synchro error
As explained above this code is displayed if no request is received from the Slave.
This code is also displayed if the interval of the requests from the master is lower than the adjusted timeout in Modbus Slave FBox.
If necessary increase this timeout.
SASI error
This error indicate that the driver could not take control of the serial line.
A typical error is when the same port is already declared in the hardware settings as S-Bus PGU port, Modem or Gateway port. Remove any configuration on the port used by the Modbus Driver. Ensure also that no other part of your program uses the same port. Else the corresponding module may be missing, incorrectly equipped or defective.
Furthermore, the PGU port (COM 0 on most systems) is forced in PGU mode when a PGU cable is used. On PCD3 systems check the option Full RS232 hadshaking on port 0 in the hardware settings. Use the option Port 0 PGU if you want to use it alternatively with PGU and Modbus.
Typical troubles with the Master Driver
No communication
In the Master driver, missing communication is indicated with timeout errors.
First check the cabling (90% or the errors). In RS 232 Tx and Rx must be crossed.
In RS 485 don’t cross the wires. The indication Td+ and Td- is not always identical on different devices. Tray to exchange Td+ with Td-
With a long bus cable, check the termination resistors.
The recommendation from Saia Burgess Controls for S-Bus networks are also valid for Modbus. Therefore please refer to the S-Bus manual form more details about the wiring.
Some slave devices needs an activation or a configuration of the Modbus port before you can use it. Check this point with the manufacturer of the slave device.
Some slaves may have a high sensitivity on inter-character delay in RTU mode. The Saia PCD® firmware doesn't warrantee that this delay is always respected as specified for Modbus. This problem is increased with the use of the Web-server in the Saia PCD®. A special feature (called the 'freeze bit') has been added in the Saia PCD® firmware and the Modbus driver. It gives positive results in all cases till now. You need at least Modbus library version 2.5.027 and FW 1.08.xx on PCD3 (other systems not yet known).
Diagnostics errors
Typical reasons are:
- the baudrate or the bit settings are not the same on Master and on the Slaves
- wrong cabling (crossed or missing wires)
- bad ground connection between Master and Slaves
- with RS485, bad or missing bus termination (pull-up, pull-down resistors inc. supply; termination resistors)
SASI error
Same comments as for the Slave driver. See comments above.
Some requests remains without response
Some slaves do not supports all Modbus functions or have restriction on the number of requested values.
Check the following:
- You use the correct Modbus function
- The address where you request values is valid for the slave
- The number of requested values is supported by the slave
All these data should be given in the manual of the slave device, else contact the device manufacturer to get this information.
Error ‘Slave message’ in the Master FBox
This error means that the slave refused the request and sent an error message back (also called 'exception response').
Typical causes are:
- The requested address is not valid for the slave.
- The range is bigger than the valid address range in the slave.
- A value sent is not accepted by the slave.
Take care at the address offset option (0 or 1). If this option is not correctly set the address maybe shifted by one and be invalid for the slave.
E.g. address 25 in the master with offset=1, maybe understand as address 24 in the slave if the offset 1 is not applied by the slave. Address 24 may be invalid for the slave.