AT Transparent data being split up abnormally


I am using the Digi RS485 Adapters to establish a connection between a modbus sensor and a data acquisition system.

My issue is that the data that is output from the module (XBee Pro S2B) is split up such that the modbus protocol doesn’t recognise the data. Specifically, the modules always send out the first byte first before a wait, then the rest comes out at once. This occurs in both directions. I have confirmed this using an analyser and other software/hardware.

I understand that there is packetisation but I am sending data with a length of only about 10-12 bytes at a time and I have set RO to 0x0F so this should apparently not be an issue as the data is supposedly always packeted together.

I have tested the modules with/without the adapters and the result is always the same. If I wire up the sensor directly to the data acquisition system it works flawlessly.

If I manually assemble the modbus packets with a ‘throw away’ character first, I get a response from the sensor because it recognises the first byte as a different invalid message and the rest arrives in one piece. Obviously this is not a resolution because I cannot read the response because I can’t hack a ‘throw away’ byte into the response of the sensor.

My configuration consists of one AT coordinator and one AT end node. I have entered the destination addresses of each and am not using any broadcasts. I read somewhere that routers should be able to communicate but I could not get any other combinations of configurations to talk. I have tried a couple of firmware versions and I can’t seem to download the latest from my workplace so I don’t know if this is a fix in a later firmware

What am I missing?

The firmware versions that I have tested are (2070/208C) for the coordinator and (2070/288C) for the end device.

I feel weird answering my own question but I managed to find the firmware updates in a different place and I upgraded the firmware to 2xA7 and it now works!

Sorry - the forum doesn’t notify others correctly of new messages.

I have only experienced that issue when I had a very old Xbee with newer firmware. But as you say, the latest fw fixes that.

Do be aware that some Modbus slaves break up responses in very subtle ways - a slight pause before the CRC is common. Also be aware that certain network issues will cause the At packet to ‘close’ prematurely. For example i worked a product which every request was 6 bytes & every response was 6 bytes. You’d think that could fit in one packet, yet some few % of the time the response gets broken into 2 and I AM GUESSING this is because some network event/broadcast caused the At Xbee to just send what it had to be safe.