Purpose
The Analog Input (AI) block sends and receives analog data from an I/O driver or OPC server every time the Scan, Alarm, and Control (SAC) program scans the block.
Features
The Analog Input block:
- Is a primary block.
- Can be used as a stand-alone block.
- Generates alarms when values are outside of defined limits.
- Sends and receives values from an I/O driver or OPC server when placed in Automatic mode.
- Receives values from operator input in the iFIX WorkSpace, from scripts, from Program blocks, or from Easy Database Access programs when operating in Manual mode.
- Can be used in a chain with exception-based or time-based processing.
- Can use linear scaling on values received. The following formula is used to determine the linear scale value:
The equation for a line is Y = mX + b
Where Y is the scaled output value, X is the raw value from the PLC, m is the slope of the line and b is the y intercept.
The slope for our linearization is defined by output range divided by the input.
m = (ScaleHigh - ScaleLow ) / (RawHigh - RawLow)
The y intercept is determined by using the low values and the slope.
b = ScaleLow - m(RawLow)
In the analog block this results in the block's current value is equal to the driver value times the slope plus the y intercept.
X_CV = (IO value)m + b
The driver value equates to the block current value minus the y intercept divided by the slope.
IO Value = (X_CV – b) / m