Modbus 32 ti 16 bit converter

Hi,
I have a Modbus RTU slave, with 32 bit values, but only an old Modbus master, Who is able to real 16 bit. Is it possible to buy/build some sort of protocol converter, e.g. on a Raspberry pi?

Thanks
 
So, let's suppose these 32-bit values are Signed/Unsigned Integers. So you have a 32-variable in 2 registers.
Ok, so let the Master read those 2 registers. Then convert those 2 registers into one 32-bit variable (trivial for Unsigned, less trivial for Signed, depending on environment). I suppose Master is some kind of SCADA or something "programmable" because otherwise you have a problem.
 
Thank you Peter, the master is an old Honeywell system, Who can't handle 32 bit values at all! So I guess you are right, when you say I have a problem! I could, however, handle two 16 bit values, but wouldn't it hard 2 get those 2 values, since the master would have to request one value, and also specify how many words should be in the telegram, and the slave would respons with 2 words, instead of one! Or have I misunderstod something?
 
Depends on the master's capabilities. Even an old master could be able to read 2 (or more) registers in one request. Standard Modbus functions (read input/holding registers) have 2 parameters - starting address and number of registers.
 
Ahh, great! I learned something New. I haven't been working with Modbus for more than a week, so excuse me for My newbie questions. I have a plan for what I will try next week, thanks for your help so far
 
Hi peteraj222,
you can use IndigoSCADA on a Windows PC as protocol converter.
It supports Modbus TCP/IP and Modbus RTU.
It supports reading 32 bit registers (signed, unsigned, floating point, floating point with swapped words)
It can act as Modbus master and convert to OPC DA server, may be that your old Honeywell system has an OPC DA client.
Best regards,
Apa
 
Depends on the master's capabilities. Even an old master could be able to read 2 (or more) registers in one request. Standard Modbus functions (read input/holding registers) have 2 parameters - starting address and number of registers.
Reading 2 registers in one request is one thing (and is supported by most every Modbus master), but interpreting those two registers as a single number is an entirely different matter (especially when you consider register/word ordering, integer vs. floating point, etc.).

If the master is unable to do the latter, a gateway (or similar) would need to be used. You can use ICC's Mirius gateway to perform the 32-bit to 16-bit register conversion. Details and pricing can be found here:
http://www.iccdesigns.com/protocol-gateways/66-mirius.html
 
Top