ModBus truncation problem

MopacMedia

Member
Join Date
Apr 2004
Location
Austin, TX
Posts
3
Greetings from Milan,
I'm at a customer's office performing FAT and have a problem, would GREATLY appreciate your help - we are reading a REAL from a TRICONIX TRIDENT PLC using both a FOXBORO IA and a separate PC running CAPE SOFTWARE's VPLINK (as a simulator). The REAL is arriving as a truncated INTEGER, so that 0.873 has a raw value of 0.0, 1.34 is 1.0, 3.84 is 3.0, etc. This is true for all REALs. The lo and hi engineering units are configured as 0.0 to 5.0 on both the IA and VPLINK but we have tried changing these ranges to other values to try and determine clues regarding this behavior. Has anyone experienced this problem before? Thanks in advance for your help!
Kevin
 
Modbus does not truncate.

This is not a protocol problem as Modbus will just transfer the number of bits or words you request. You must request twice as many words as floating point values as it takes two words to make one floating point value. This is not a Modbus problem. Now maybe you can narrow your search.
 
Thanks, Peter! You're right, it's not really a problem per se but a problem for us. With your help, we've determined that in order to accomplish our intention, we will set a min and max span for individual points, then allow ModBus to scale the percent of range to 0-32767, then apply the reverse scale at the DCS. This should fix our "problem" -- thanks again, Peter!!! Ciao bella! -- Kevin
 
Hello MopacMedia;
I agree with Peter that this does not seem to be a Modbus problem. A REAL value is generally a 4 byte value (32 bits), with a strict format (Mantissa sign, Mantissa value, Exponent sign, Exponent value). Make sure that you transfer 2 Modbus registers (16 bit) for every REAL value you need to transfer.
I have connected Siemens CPUs to Modbus, and had to deal with REAL values. One of the problems that would come up, once the correct number of registers was transfered to a data location (formatted as a REAL) in the Siemens CPU, was the order of registers-the Big/Little Endian problem. We needed to process the data in the registers to swap words or even bytes so the Siemens CPU recognized the data as a REAL (and a valid value).
Hope this helps,
Daniel Chartier
 
Normally I would agree with both of you, and you may both still be correct, but this particular PLC even the vendor specifies in their designer guide that using the min/max span is the only way to tansfer REAL values. If I discover different, I will let you know. Ciao!
 

Similar Topics

Hello Everyone, I am using a raC_Opr_NetModbusTCPClient AOI module, as below,. So, I need some assistance to restrict in reducing the poling...
Replies
2
Views
110
I want to communicate my Q series PLC with Factory IO using GX works 2 software, I want to use modbus as server and the ips are as follows plc...
Replies
0
Views
77
Hi folks, I have a Controllogix in communication with a zigbee coordinator using Logix AIO for modbus tcp. This zigbee coordinator have 3 slaves...
Replies
10
Views
342
Hi, I'm setting up a modbus master on an S7-300. It seems to work in OB1 but not when I use it in OB35. Does anyone have any ideas why? Could...
Replies
10
Views
123
Hi Everyone, i was hoping for a little help with this module. i have data that needs to be read from a different plc through the Modbus plus...
Replies
11
Views
291
Back
Top Bottom