Mixed Rs485 Data


Recommended Posts

I've got a situation where I need my SCADA system to connect to Modbus RS485 devices, some are

7 data bits capable only and some 8 data bits only

How can I accomplish this?

Link to comment
Share on other sites

Only by using two different 485 networks. You won't be able to combine the devices on the same network for two reasons:

1) 8 bit devices will misinterpret 7 bit commands and vise versa, which just totally mess things up

2) the 7 bit devices must be Modbus ASCII. Presumably the 8 bit ones are RTU? Even if you could get by #1, the protocols won't mix well.

Note that you could try it, and it might work, but it is very unlikely to be stable. It might work initially during testing and then the one of the devices will return a different value that just happens to trigger another device to misbehave. So, don't wire it up and think that if it works, it must be ok. Its not.

Note that this is not a DAQFactory limitation, but a hardware limitation. You very easily could program DAQFactory to switch between the two bit settings on the comm port between queries.

So, just run two 485 lines, one for all your 7 bit devices, and one for all your 8 bit ones.

Link to comment
Share on other sites

....and I hesitated to ask, thinking it was a stupid question :)

One would think industry would have evolved a common ground where all Modbus devices could be configured to speak with each other.

Thanks for the response.

Link to comment
Share on other sites

No such thing as a stupid question.

The industry has evolved to a common ground, its just ModbusASCII, RTU and TCP are three distinct protocols. They have similarities, but they are not compatible. You can put multiple devices with the same protocol on the same network, just not different protocols. As for the 7 vs 8 bit, that's totally a manufacturer thing. The Modbus spec doesn't say anything about serial details like baud rate or bits, the exception being that 7 bit devices can only run ASCII because the other two are binary protocols, thus requiring 8 bits.

Link to comment
Share on other sites

Just got this bit of info on the GS Drive from another source.

P9.26 Serial Comm Speed Reference (Modbus 42331)

Range: 0.0 to 400.0 Hz [16-bit binary (HEX) format]

This parameter is used to set the Frequency Command when the AC drive is

controlled by communication interface.

Using DF I can communicate with P9.26 via (Modbus 2331) but I get an value error if the value I

input is anything other 0 or 1. Does this mean I need to send a HEX value and if so how do I do that?

I am using a knob icon linked to a DF channel I named Spd1 which communicates via address 2331 to the drive.

Does this shed any more light on the issue??? :blink:

Link to comment
Share on other sites

THANKS! ........either I'm working too hard and getting soft in the brain or you are absolutely BRILLIANT!

Works great now !!! Thanks again!

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.