Modbus delaying request

Hi,

I have a slave device that should communicate with a Flexy via modbus. The Flexy can read the tags from the device, but not all in the same time.

Here is the situation, I can not read the address 40106 with the others. But if I disable the other tags I could read the the address 40106. My hypothesis is that the Flexy is sending 2 requests, one for the frame containing the address 40106 and another one for the other addresses.

The manufacturer of the other device has confirmed that the device can not open 2 sockets.
I was wondering if there is a possibility to add some delay and close/open the socket between the requests.

Thanks for your help.

image
image

What is the Modbus command (function code) that you are using to read 40106? You should be using 03-Read Holding Register, but it appears that you are trying to use a bit selector? If you’re trying to read a single bit from a Holding register this is going to cause an error.

What is the error when you hover the cursor over the red dot? What errors are in the Event Log?

You probably just need to read the whole register and ditch the bit selector.

Hi Kyle,

I am trying to read a Holding register.
I have tried to read the whole register 40106 but I get the same error “no communication”.
In the Event Log, I have “smbs-Invalid transaction”.

image

The Flexy is only sending one read command at a time. It is only opening one socket over port 502.

You can try slowing down the poll rate, but this sounds like an issue with the slave. It would be helpful to see the reply it’s giving. Can you either take a packet capture of the traffic or try this using a Modbus Scanner Simulator? Also, it would help to have the Ewon logs. (Use eBuddy, select Backup, check “Include Support Files”)

You can change the poll rate here:

On my Modbus Scanner, I can read the tag.

If I set the poll rate bellow 20000 ms, I have “mbsios-Modbus Enter slow poll mode (Address 10 - 192.168.8.100)” in the Event log.

Here is the backup with the support files.
eWON-support.tar (204.5 KB)

Hi Kyle,

I found the solution,
I set the parameter MaxDeltaRegX to ‘MaxDeltaRegA:124’ and it works.
Thanks for your time.

No problem - glad you figured it out!