Function code 100 and 101


ccdubs

Recommended Posts

I have an application where I am trying to communicate via MODBUS to a variable speed drive. I have this working well when I need to read/write 16 bit values but I can't read/write 32 bit values.

After re-reading the manual (relevent part attached) it looks like the manufacturer has created their own variation of MODBUS for reading 32 bit values.

Can you please confirm that function codes 100 and 101 are not supported by DAQFactory and if not, provide a advice on what I can do to communicate to these 32 bit values.

Many thanks.

CM_232_485_Modbus.pdf

Link to comment
Share on other sites

We do not support 100 and 101 because these are non-standard Modbus codes that were simply made up by your manufacturer. Another manufacturer could use the same codes for something completely different.

Usually to read 32 bit values, you simply read two consecutive registers. That's why there are the U32, S32 I/O types (as well as all the float variations which are also 32 bit).

Link to comment
Share on other sites

Thanks,

Just to confirm, from what the VSD datasheet describes for 32 bit variables, the U32 and S32 inbuilt function of DF wouldn't work?

If so, what's next assuming I'm stuck with the hardware I've got? Is there anything I can do with DF to resolve this?

Link to comment
Share on other sites

No idea. Most docs are not particularly specific, and this is no exception. It would appear from the docs that it only supports reading one register at a time using commands 3/4, but that would be silly for many reasons. Anyhow, it really comes down to whether they mapped the 32 bit registers to the same space as the 16 bit ones, or if they are in a separate space only accessible using commands 100/101. If the second, then you are largely out of luck and will likely have to write your own Modbus implementation in script, hopefully all the while bitching at the manufacturer for doing something so silly.

Link to comment
Share on other sites

Archived

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