Author Topic: Modbus delay  (Read 12579 times)

ccdubs

  • Full Member
  • Posts: 116
    • View Profile
Modbus delay
« on: July 01, 2012, 11:41:40 PM »
I am having an issue with a radio network that is echoing the scada master modbus rtu read command and is confusing the scada which interprets the echo as a failed modbus transmission. To get around this we may need to delay the master to look for a response afer a longer delay.

What is the delay time in the fmd88 plc between receiving a modbus read request and responding? Is this delay configurable at all?

Do you have any other ideas of how this issue may be resolved?

support

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3174
    • View Profile
    • Internet Programmable PLCs
Re:Modbus delay
« Reply #1 on: July 02, 2012, 10:06:31 AM »
If it is the radio network that is echoing the command sent by the SCADA master then it doesn't appear that changing the FMD response time would help at all, since even if the FMD PLC does not respond the radio would still echo the command isn't it?

By default the PLC is set to respond to a command after 10ms. This may be change to to 20 or 30ms (maximum) using SETSYSTEM 3, x where x is an 8 bit number and bit 0 & 1 is for COMM1, bit 1 & 2 is for COMM2 and bit 2 & 3 is for COMM3. The two bits can be set to 00
00 - no wait, respond as fast as possible
01 - 10ms, (default)
10 - 20ms
11 - 30ms

However, I am doubtful that this change will help if the problem is because the radio is echoing the command.
Email: support@triplc.com
Tel: 1-877-TRI-PLCS

ccdubs

  • Full Member
  • Posts: 116
    • View Profile
Re:Modbus delay
« Reply #2 on: July 02, 2012, 12:35:41 PM »
Thanks support, this is definitely good to know. Just to confirm, if I want to increase the delay on comm1 to 30ms, I would write:

SETSYSTEM 3, 00000011


support

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3174
    • View Profile
    • Internet Programmable PLCs
Re:Modbus delay
« Reply #3 on: July 02, 2012, 03:24:39 PM »
Since iTRiLOGI doesn't recognize binary number, you have to convert binary number to decimal or hexadecimal.

It is unwise to change the COMM response time for RS485 to 0 wait time, so we recommend you setting to be binary 01010111 or hexadecimal &H57. So

 SETSYSTEM 3, &H57

will set COMM1 to wait 30ms before responding to incoming command.
« Last Edit: July 02, 2012, 03:24:57 PM by support »
Email: support@triplc.com
Tel: 1-877-TRI-PLCS