G.e 90-30

RY_Guthrie

Member
Join Date
Nov 2011
Location
Las vegas, NV
Posts
263
I am new to G.E. 90-30 series processors and I am having trouble figuring out how to scale an analog input. it is a 4 to 20 ma in, 0 32000. I have attached a screen shot of the logic which is straight from the book which I cannot make work. Can anyone tell me my mistake?

Untitled.jpg
 
I don't know which "book" this comes from, but the first 2 rungs make no sense whatsoever.

On the third rung, you are attempting to multiply an invalid DINT number that you generated by moving the Integer value of AI2 into R1 and a constant value of -1 into R2.

Why not simply convert AI2 into a Real Number, and then do your scaling math?
 
It doesn't match what's on page 4-30 of my copy of that manual. Mine is one revision level newer than yours, GFK-0467K. Your GT_INT instruction should be LT_INT. The "Q" node of the LT_INT should have a coil of some sort. My copy of the manual uses the -<+>- instruction which is interpreted as a continuation coil. The next rung should have a -<+>- continuation contact to start. The continuation coil and contact make the two rungs behave as one.
The purpose of the first two rungs is to convert the 16-bit integer analog input signal to a 32-bit integer, and to allow for negative values. Otherwise the MUL_DINT instruction will not give you the correct answer.
Also, the DIV_INT instruction on the third rung should be DIV_DINT.
Personally, when I need to do 32-bit operations on a 16-bit variable I prefer to use the INT-TO_REAL instruction, then do the scaling followed by a REAL_TO_INT if I have to have the scaled value in a 16-bit variable. Be careful though. Some 90-30 CPU models don't support floating point (REAL) data type.
 
Last edited:
Back
Top Bottom