Purpose
The Analog Output (AO) block sends an analog signal to an I/O driver or OPC server every time it receives a value from an upstream block, an operator, a Program block, a script, or from its Initial Value field.
Features
The Analog Output block:
- Is a primary block.
- Can be used as a stand-alone block.
- Can be used in a chain with exception-based or time-based processing.
- Can read back the current PLC value when iFIX starts or when the database is reloaded. Values are only read back once when the database is initialized.
- 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