Analogue value scaling in unity pro xl v4

kakil

Member
Join Date
Jan 2008
Location
ban
Posts
13
Dear Gents

I am new to schnieder PLC I want to work on it
my question how can i use the function blocks to make scaling for the analoge (4-20mA) input .

please if its possible if there is a sample of project showing this procedure.
 
Where max_k is the maximum Engineering units of the instrument, and min_k is the minumum, the 16000 value is default resolution of the Quantum PLC's analog inputs, i believe premium and m340 has a default of 10000 but is adjustable, so change the formula accordingly.

scaling fbd.JPG
 
Last edited:
Thanks sir,

But isit the 4-20mA is a integer number so I can input it directly to the block conversion INT to Real ?

and why we don't it make connected to scaling block?
can you please explain to me ?
 
You can use scaling block of unity or create your own function block with the above shown inside as logic or just scale the value directly on the analogue input card. Multiple ways of doing this
 
Dear sir ,

I have transmitter read 4-20mA and I want to read for me 0-10m level of water

How can I configure it with unity pro xl .

regards
 
Typical scaling usually uses the formula

OUT = (IN - in_min)*(out_max - out_min)/(in_max - in_min) + out_min

In your case out_min = 0m, out_max=10m.
Most of the 4-20mA transmitters I use have 12 bit resolution so 0-4096 counts

rise/run gives us m = 10/4096, our multiplier or scaling factor. where with the slope intercept equation below y = output (0-10m) and x = counts from transmitter.

y=mx+b generally comes to mind
 
Thank you friends for kind cooperation .

now if I want to connect the signal to an analog output AO as 4-20mA to use it for any indicator .how can make it in unity pro xl ?
 
Most of the 4-20mA transmitters I use have 12 bit resolution so 0-4096 counts


Dear all , how we convert 4-20mA to 0-4096 counts ? I want explain please ?
 
Use a simple Cartesian plane to graph it. Start your X axis with your input (the 0-4096 counts) and Y being output or 0-10m. You'll see what counts give you what mA reading.

If you substitute the 0-10m for your 4-20mA you can see how the mA to counts relate. In a typical scaling block it requires parameters (Para_SCALING).

By creating a variable of type Para_SCALING you can set each in_min, in_max, out_min, out_max to your desired numbers.

In your case
in_min = 0
in_max = 4096
out_min= 0
out_max = 10

This will give you the same as using slope intercept form. If you have a calculator or any type of graphing apparatus. you can just make a table (such as in excel) and use 0-10(x) and 0-4096(y) to plot it.
 
Found this topic and have a similar question.
Kind of new to PLC programming and very new to UnityPro XL. Using Quantum so scaling in the card is not an option. I've found the SCALING block and it's nice, but I want to work with UDINT numbers instead of REAL and want to build my own block but can't figure out how to put the scaling parameters in. In the SCALING block it's shown a PARA. Any help?
 

Similar Topics

Hi guys, I want to measure the temperature of water and have that value read in a plc. I have all the hardware but I don't know what function to...
Replies
2
Views
1,367
Hi, I have been looking around and cannot seem to find what I am after, hopefully someone here may have seen one. It is for a little home...
Replies
6
Views
4,027
Hi, I wonder if anyone can help with an issue that I have with an AB CompactLogix system. The PLC has an analogue I/O module 1769-IF4XOF2, into...
Replies
9
Views
3,465
Hello I want to calculate the differentiation of an analogue value in time. Simply the variable is x an I want to calculate d(x) / dt. What is...
Replies
14
Views
4,574
Hello I think this is a common problem for PLC programmers. I wonder is there any solution for this problem? The problem is with the sensor's...
Replies
8
Views
2,536
Back
Top Bottom