Reading multiple registers error


Hello everybody,

I use the anybus communicator AB7013-C to read few registers from Emerson floboss S600+. The registers for example has an addresses of 4000dec, 4001, 4003, 5003, 7001, 7005.
With the anybus I can read them individually without any problem, but when I try to read 2 or more (2 or more parameters reading commands in the same node), I got led 5 red. Although I still get the readings, but the red means there is something wrong.
Do you know why this happening? What can be changed to solve it. I played with the timeout time, but I didn’t see difference.
I used the same anybus before to read multiple registers from other devices (not floboss) and it worked fine. It happened only this time with the floboss.


Hello @T_Ebrahem,

Are you using modbus RTU on the serial side and are you referring to modbus registers? I only ask because those registers do no look like typical registers.

As for the errors when trying to read 2 you might be sending a command the serial slave does not support. You should be able to take a log to see the full response. If you are using modbus you should be able to match the Rx and Tx messages up with the example shown over on and get the error response.



Hello Deryck,

thank you for your reply. Indeed these registers have Rosemount data type “holding registers as IEEE-format single-precision floating point numbers, Least Significant Byte (LSB) first used on Rosemount DCS systems. For each point required, two addresses are requested in the Modbus message and 4 bytes are returned. You can configure data at every other address (such as 0, 2, 4 to 65534).”.
I had contacted the supplier and I found out that the address that they gave me was wrong because of the data type require 2 addresses and the one I got was in series 1, 2, 3, 4……
So I will try the new addresses I got and I will let you know.


Hi @T_Ebrahem,

Thanks for the update. I will mark this as solved for now but let me know any further details and questions so we can either update the solution or continue working on this case.



Hello Deryck

I still have problem regarding this. I have the following at this moment:



44000 Float (MSB 1st)
44002 Float (MSB 1st)
44004 Float (MSB 1st)
44006 Float (MSB 1st)
45001 Float (MSB 1st)
45003 Float (MSB 1st)
45005 Float (MSB 1st)
45007 Float (MSB 1st)
45009 Float (MSB 1st)
45011 Float (MSB 1st)
45013 Float (MSB 1st)
45015 Float (MSB 1st)
45017 Float (MSB 1st)
45019 Float (MSB 1st)
47000 16-bit signed
47001 16-bit signed
47002 16-bit signed
47005 16-bit signed
47006 16-bit signed
47007 16-bit signed

Then I have two other nodes on same communicator which works just fine.

I get the right readings from the above registers, however, I still have led 5 flashing green and red. like each 4 or 5 sec then red. and sometimes its continuosly red for few second. we tried different registers addresses as we can program that in the slave. so we started for example with low values. not 4000 but from 1 for example, however, this didnt solve it. btw, if I read one register, it goes well, but when I read 2 or more, I got this problem.

so, do you see anything wrong with the above? what can we do to solve it?



If LED 5 is flashing periodically red this signals that a one or more transaction are failing. Unfortunately this does not tell us why. The reason can range from things like the slave device is busy at the time the request was received and the transaction times out. There could also just be something wrings with the transaction causing it to be invalid,such as an incorrect register or invalid function call.

You will need to identify what transaction is running into errors. One way to do this is to setup logging to run continuously then stop logging when you see LED5 flash red. If you time it correctly the error should be seen at the end of the log file. you might see a transmit message go out but no response or you might see an error response come back. This webpage should