Modbus Value scalling Problem

suvro2012

Member
Join Date
May 2012
Location
Dhaka
Posts
23
Hi All

I am doing a Tank Gauging project. In there all the tank parameter like level , temperature , pressure are coming into a master instrument(Tank side monitor made E+H) through multiloop HART protocol. the master instrument send data MODBUS rs485. Now i am able to get data from the Tank side monitor through Modbus to a Micrologix 1400. But the problem is i am getting value of when tank level are for
0 meter - 0
1 meter - 16256
2 meter - 16384
3 meter - 16448
4 meter - 16512
5 meter - 16576
At 20 meter - 16880
My tank high level is 20 meter.
Now in HMI i want to display the tank level in meter. Now how can scale this value into meter. i use SCP instruction for scalling but the values cnages with every 1 meter is not uniform.

Tnanks
Suvra
 
Does the PLC have a linear approximation function? they are generally pretty rare but I use Omron and use it all the time for this sort of stuff.
 
Hello,

F(X) is needed.

It is also called a characterizer or FGEN or look-up table.
 
People call the function a function generator (FGEN), characterizer, or look-up table. The values used frequently called breakpoints.

Here's a screen shot of an explanation from a controllogix manual:


1jrvxk.jpg
 
I had to read the original 4 times over and ponder what he was asking, too. I eventually assumed that he's doing "tank gauging" and getting a count that isn't exactly 16384 for each 1 meter interval, which indicates some variance that needs to compensation. 'Tank gauging' (inventory of high value product, like petroleum or petrochem products) gets concerned about minor discrepancies, as opposed to 'simple' level.

If he's getting 16384 ±20 or whatever for each of those levels, then yes, something is drastically wrong. But I think he's trying to say that the 1 meter intervals are not exactly 16384 different than the prior level, and how does he compensate for such.

If the measurement between 1 and 2 meters is only the difference between 16256 - 16384 = 328 counts, then there's something critically wrong in the setup, because 98% of the resolution is between 0 and 1 meter, leaving only 2% resolution for the remaining 95% of the span.

original values:
0 meter - 0
1 meter - 16256
2 meter - 16384
3 meter - 16448
4 meter - 16512
5 meter - 16576
 

Similar Topics

All, I must write the same value to a modbus register using on a Graphite HMI. Crimson prevents this, but according to technical support, the...
Replies
1
Views
1,261
I have a custom IO board with Modbus TCP server running on it. Modbus function codes implemented are for reading discrete input and inputs...
Replies
1
Views
2,753
I have a device I am trying to collect data from via modbus into controllogix system. I am using a prosoft mvi56-mcm card and have established...
Replies
7
Views
2,612
Hi all, Question straight up: if I have a micrologix 1400 with a value of 1234 in register N7:0, how can I convert that value to ASCII values and...
Replies
6
Views
5,878
Hello, I'm having a problem with configration and programming of modbus in SoMachine. My project contains HMISCU8B5 (HMI with PLC) and I've...
Replies
4
Views
5,309
Back
Top Bottom