GE Proficy Math question

rankhornjp

Member
Join Date
Dec 2008
Location
Georgia
Posts
241
See attached pic

Why is R02451 reading 0 before the Real_to_Int conversion? It is reading 23 after, which is what it should read.

Capture.PNG
 
Last edited:
It looks to me as if something else is writing to it, the top rung shows it at 0.0 however from the real to integer it shows 23 as it should the scale is set to 23 as the low limit so 2452 will show zero, I would ignore the zero in 2451 for now according to your scaler the value can only be between 23 & 42 to get 0-100 out, you need to get a value say 30 in the maths & see if it gives you the correct value in 2452. I have seen this before and is usually because the register is used elsewhere, however in this case it would not matter as it's value is set according to the maths functions and then scaled & transferred to another so even if 2451 is used before or after it will not make any difference. I'm not familiar with this plc but many use some of the higher end registers as work areas so when compiled these are allocated as temps (Mitsubishi is a classic example). Due to the update of the communications the register values may be read at different times not directly while you are monitoring a particular bit of logic.
Just a thought do you need 2451 can you tie the Add output directly to the real to int function (As I said I have never used GE and I do not know if there are limits on how many instructions you can have in one line.
 
Last edited:
In a GE PLC when a register address is assigned to a REAL variable, it takes two consecutive addresses so your R02451 variable actually consumes %R02451 and %R02452. Your R02452 variable at the output of the SCALE instruction overwrites the upper word of the REAL variable.
 
Can you take a screenshot of the Actual working Logic.. It might help to clarify a few things.. Make sure the PLC is Started and 2451R isn't being used somewhere else in the logic and something is writing a 0 to it. Also A real uses 2 consecutive registers. Also if it is a subroutine make sure it is being called correctly..
 
Last edited:
Good point on the real requiring two registers (forgot that one), But I'm sure there is no need to use 2451, just tie the add to the real to int function.
 
In a GE PLC when a register address is assigned to a REAL variable, it takes two consecutive addresses so your R02451 variable actually consumes %R02451 and %R02452. Your R02452 variable at the output of the SCALE instruction overwrites the upper word of the REAL variable.

Thanks, Steve! That fixed my issue.


Good point on the real requiring two registers (forgot that one), But I'm sure there is no need to use 2451, just tie the add to the real to int function.

I need both tags. One is level in inches, the other in %.
 
The reason the displayed value in the REAL variable R02451 isn't what you expect is because the value displayed in Proficy Machine edition is the value at that address at the end of the program scan, not the value at that address at the point those instructions were executed.
 

Similar Topics

Has anyone migrated Proficy Historian data to a new server? I followed the guide to move all the data over, but when I run the utility, it stops...
Replies
0
Views
33
I'm getting frustrated creating arrays of variables in Machine edition. I need to make 2 variable arrays that are 102x2 in size, with varying...
Replies
3
Views
89
Hi I am wondering if the RXI-042 PLC model (below PN) is programable via Proficy Machine Endition, if so, what is the firmware version needed for...
Replies
2
Views
86
Greetings, I am working on a project and I would like to scale %AI to -10.0 to 10.0 VDC. The module Input data is stored as a 16 bit Integer and...
Replies
4
Views
65
I am trying to download a program with usb to serial cable in rx3i IC695CPE305 while logic and configuration is equal but when i start downloading...
Replies
1
Views
43
Back
Top Bottom