FOXBORO Industrial Control Platform
Michal Kvasnica
Different roles
Operator
Set up workstation
Set up workstation
Configure workstation
Foxselect
Foxselect
Ingredients of the control system • Input/output blocks • Computational tasks - scaling - conversion of units - performance evaluation
• Control algorithms - logic control (ladder logic) - P, PI, PID
• Human-machine interface (HMI) - visualization - trends - alarms
Control scheme
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
Input processing
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or from another block, and converts it into suitable form for use in an I/A Series control strategy. The input to the block is the digitized data from the FBM’s Equipment Control Block (ECB), and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Input processing (AIN block) High/Low Scale for Output Range 1
Signal Condition ing Index Fieldbus Module Identifier Point Number External ReferenceOption External Reference Input Extender Block
Linear Square Root
BAD and OOR Option
output units
o RTD o
Thermocouple
o
Special T.C.
output units
C
C
Bad & Out-ofRange Processing
Scaling/ Unit Conversion
Clamp
Bad Indicator High/ Low OutofRange Indicators Point (Engineering Units Value)
Filter
C Alarming
counts Characterizer (None)
Gain Offset Figure 2-1. AIN Block Diagram
Alarm Options
Alarm Limits
Alarm Indicators
Analog Input (AIN)
Analog Input (AIN)
Analog Input (AIN)
Execution time base Period 0 1 2 3 4 5 6 7 8 9 10 11 12 13
Length 0.1 sec 0.5 sec 1.0 sec 2.0 sec 10 sec 30 sec 1 min 10 min 60 min 0.2 sec 5.0 sec 0.6 sec 6.0 sec 0.05 sec
Engineering unit description
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or from another block, and converts it into suitable form for use in an I/A Series control strategy. The input to the block is the digitized data from the FBM’s Equipment Control Block (ECB), and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Linearization / Signal conditioning High/Low Scale for Output Range 1
Signal Condition ing Index Fieldbus Module Identifier Point Number External ReferenceOption External Reference Input Extender Block
Linear Square Root
BAD and OOR Option
output units
o RTD o
Thermocouple
o
Special T.C.
output units
C
C
Bad & Out-ofRange Processing
Scaling/ Unit Conversion
Clamp
Bad Indicator High/ Low OutofRange Indicators Point (Engineering Units Value)
Filter
C Alarming
counts Characterizer (None)
Gain Offset Figure 2-1. AIN Block Diagram
Alarm Options
Alarm Limits
Alarm Indicators
2.10 Appendix A – Signal Conditioning Tables 2.10.1 Summary SCI = 0: SCI = 1: SCI = 2: SCI = 3: SCI = 4: SCI = 5: SCI = 6: SCI = 7: SCI = 8: SCI = 9: SCI = 10: SCI = 12: SCI = 13: SCI = 20: SCI = 21: SCI = 23: SCI = 24:
Signal conditioning (SCI)
No linearization; output = input Linear (0 to 64000) (“0 to 100%”) Linear (1600 to 64000) (“0 to 100%, Elevated Zero”) Linear (12800 to 64000) (“20 to 100%”) Square root (0 to 64000) (“0 to 100%”) Square root (12800 to 64000), clamped (“20 to 100%”) Square root, low cutoff (0 to 64000), clamp < 3/4% (“0 to 100%”) Square root, low cutoff (12800 to 64000), clamp < 3/4% (“20 to 100%”) Pulse rate Linear, low cutoff (1600 to 64000) (“0 to 100%, Elevated Zero”) Linear, low cutoff (12800 to 64000)(“20 to 100%”) Linear (14080 to 64000)(“20 to 100%, Elevated Zero”) Square root, low cutoff (14080 to 64000),(“20 to 100%, Elevated Zero”) Type B Thermocouple Type E Thermocouple Type J Thermocouple Type K Thermocouple
Signal conditioning (SCI)
IOMOPT
IOMPT
Meaning
0
conditioning + software signal
1
conditioning + hardware signal
2
no conditioning (still scaling)
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or from another block, and converts it into suitable form for use in an I/A Series control strategy. The input to the block is the digitized data from the FBM’s Equipment Control Block (ECB), and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Input processing High/Low Scale for Output Range 1
Signal Condition ing Index Fieldbus Module Identifier Point Number External ReferenceOption External Reference Input Extender Block
Linear Square Root
BAD and OOR Option
output units
o RTD o
Thermocouple
o
Special T.C.
output units
C
C
Bad & Out-ofRange Processing
Scaling/ Unit Conversion
Clamp
Bad Indicator High/ Low OutofRange Indicators Point (Engineering Units Value)
Filter
C Alarming
counts Characterizer (None)
Gain Offset Figure 2-1. AIN Block Diagram
Alarm Options
Alarm Limits
Alarm Indicators
N – Analog Input Block
B0193AX – Rev R
Scaling (KSCALE, BSCALE)
2.5.2.2 Thermocouple Input
UT FROM FBM 02/36 (Thermocouple Input) Input = Raw Counts Channel 9
XREFOP XREFIN
SCI = 20-28
Cold Junction Compensation
External Block
hor, lor
Linearization 2.5.2.2
oC
KSCALE (1.8) X
BSCALE (32.0) o
F
+
hor,lor
Channel Status FBM Status
Scaled value = (Conditioned value * KSCALE) + BSCALE Figure 2-4. Thermocouple Input Example
The following FBMs or FBCs and point numbers provide thermocouple inputs: FBM
FBM202
ECB ECB1
Functional Description 8 Analog In
Electrical Type mV
Valid Points Points 1 to 8
Analog Input (AIN)
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or from another block, and converts it into suitable form for use in an I/A Series control strategy. The input to the block is the digitized data from the FBM’s Equipment Control Block (ECB), and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Input processing High/Low Scale for Output Range 1
Signal Condition ing Index Fieldbus Module Identifier Point Number External ReferenceOption External Reference Input Extender Block
Linear Square Root
BAD and OOR Option
output units
o RTD o
Thermocouple
o
Special T.C.
output units
C
C
Bad & Out-ofRange Processing
Scaling/ Unit Conversion
Clamp
Bad Indicator High/ Low OutofRange Indicators Point (Engineering Units Value)
Filter
C Alarming
counts Characterizer (None)
Gain Offset Figure 2-1. AIN Block Diagram
Alarm Options
Alarm Limits
Alarm Indicators
Section 2.5.2.4). 2. AIN – Analog Input Block Inputs from Intelligent Field Devices are usually in final output units when received from the devices themselves (see Section 2.5.2.6). osv (units) Pulse count inputs may not be scaled (see Section HSCO1 2.5.2.5). Clamping
B0193AX – Rev R
To ignore the scaling function, leave KSCALE at the defaultINPUT value of 1 and leave BSCALE at the default value of 0. LSCO1 osv (units)
2.5.4 Clamping OSV = output span variance
osv (units)LOR, LASTGV Key Parameters: HSCO1, LSCO1, OSV, HOR, HSCO1
HOR =engineering 1 Clamping keeps the linearized and converted value within the block’s units range, as OUTPUT determined by HSCO1 and LSCO1. LOR = 1 LSCO1
osv (units) The scaled value is clamped as follows: Compute the Low and High Clamp Values: Figure 2-9. Clamping Low Clamp Value = LSCO1 - ((OSV/100.0) * (HSCO1 - LSCO1)) 2.5.5 Filtering High Clamp Value = HSCO1 + ((OSV1/100.0) * (HSCO1 - LSCO1)) Key Parameters: FLOP, FTIM
The clamped value is subjected to possible filtering, as the last signal processing activity. Filtering If Scaled Value ≤Low Clamp Value then: introduces a lag to changes in the input signal, thus smoothing out input changes or suppressing Scaled Value = Low Clamp Value noise. Note that this feature should be used with caution to avoid removing true process information. Parameter Low Out-of-Range (LOR) set true If theisblock is in Auto and Filter Option (FLOP) is non-zero, either first-order lag filtering 1) or second-order Butterworth If BADOPT so specifies, parameter(FLOP Bad =(BAD) is also set true. filtering (FLOP = 2) or two-sample-average filtering (FLOP = 3) is applied. The lag that first or second-order filtering introduces has time constant Filter Time (FTIM). You can use them to attenuate measurement noise. However, if FTIM is set If Scaled Value ≥ High Clamp Value then: too low, there is relatively insignificant filtering. If set too high, the lag may be large enough to Scaled Value = High Clamp Value affect loop accuracy. In addition filtering, aliasing is minimized and resolution improved by configuring the RES Parameter High Out-of-Range (HOR) is settotrue. parameter of the ECB so that the fieldbus integration time is equal to twice the block period. the sectionis“Fieldbus If BADOPT so specifies, parameterRefer Badto(BAD) also setIntegration true. Time” in the appropriate Integrated Control Software Concepts document (B0700AG or B0193AW).
Based on BADOPT, LASTGV, IOMOPT, and the SCI in use, the value is either used or ignored, 2.5.5.1 First Order Lag Filtering (FLOP = 1) as described in Section 2.6.
Clamping (HSC01, LSC01, OSV)
The Analog Input Block (AIN) receives an input value from a single point of an analog, pulse count, or Intelligent Field Device type of Fieldbus Module (FBM) or Fieldbus Card (FBC), or from another block, and converts it into suitable form for use in an I/A Series control strategy. The input to the block is the digitized data from the FBM’s Equipment Control Block (ECB), and the output is a value expressed in the appropriate engineering units. See Figure 2-1.
Input processing High/Low Scale for Output Range 1
Signal Condition ing Index Fieldbus Module Identifier Point Number External ReferenceOption External Reference Input Extender Block
Linear Square Root
BAD and OOR Option
output units
o RTD o
Thermocouple
o
Special T.C.
output units
C
C
Bad & Out-ofRange Processing
Scaling/ Unit Conversion
Clamp
Bad Indicator High/ Low OutofRange Indicators Point (Engineering Units Value)
Filter
C Alarming
counts Characterizer (None)
Gain Offset Figure 2-1. AIN Block Diagram
Alarm Options
Alarm Limits
Alarm Indicators
Filtering
1st order filter
Filter output = PNT + (Filter input - PNT) / (T + 1)
PNT = present block input
T = 60 * FTIM / Block period in seconds
Y (s) =
1 U (s) Ts + 1
T=1
T = 2.5
T=5
Filtering parameters (FLOP, FTIM)
FLOP
Filter
0
no filtering
1
1st order filter
2
2nd order filter
3
averaging
FTIM = (T * Block period in seconds)/60
AIN parameters Parameter
Meaning
PERIOD
block execution interval (PERIOD=1 for 0.5 sec interval)
SCI
signal conditioning (0 = no conditioning)
HSCO1, LSCO1
upper/lower limits of the signal (used for clamping)
EO1
engineering units (string, e.g. “m”, “oC”, ...)
OSV
output span variance (used for clamping)
FLOP, FTIM
filter options (FLOP=0 for no filtering)
KSCALE, BSCALE
scaling (out = KSCALE*out + BSCALE)
MEAS
input measurements
PNT
block output (conditioned, scaled and clamped value)
Control scheme
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
Output processing (AOUT block)
Output processing (AOUT block)
5. AOUT – Analog Output Block
B0193AX – Rev R
5.5 Functions Output processing (AOUT block) 5.5.1 Detailed Diagram MSCALE
MEAS
OUT
BTIME LOLIM HOLIM
(M) O MA
SUP_IN Last Good Value
SCALING
BALANCING
CLAMPING
Back Calculated Input Bias Selection
OUT
O (A)
O
Back Calculation
OUT
BCALCO SUPBCO
HSCO1 LSCO1 SCO OUT • MEAS = input of the AOUT block SIGNAL IOMOPT = 0,1
RAWC
CONDITIONING
• SUP_IN = supervisory input • SCALING = IN*MSCALE + Bias
SUPOPT AND SE • BALANCING BLKSTA.SC
IOMOPT = 1
AND
To ECB
O USE SUP_IN = filtering Failsafe Transition Cycle
• Back calculation = inverse to scaling
FS BLKSTA.FS
AND
MANFS
AND
Manual
Last Good Value
SCALING
BALANCING
O (A)
CLAMPING
Back Calculated Input Bias Selection
Back Calculation
Signal conditioning OUT
O
OUT
BCALCO SUPBCO
HSCO1 LSCO1 SCO OUT
SIGNAL CONDITIONING
IOMOPT = 0,1
SUPOPT 2. AIN – Analog Input Block AND SE BLKSTA.SC
RAWC
IOMOPT = 1
AND
B0193AX – Rev R
O USE SUP_IN Failsafe Transition Cycle
osv (units) HSCO1
AND
IOMPT
INPUT
MANFS
LSCO1 osv (units)
MEAS.BAD MEAS.OOS MEAS.Disconnect osv (units)
OR
LSCO1
MEAS.BAD osv (units) MEAS.OOS MEAS.Disconnect MEAS.ERROR
MEROPT=1 AND OUTPUT
AND
2.5.5 Filtering
0
LOR = 1
OR
USE LAST O GOOD VALUE
2
AND
Figure 2-9. Clamping
Initialization Cycle
AND
FS Meaning BLKSTA.FS Manual conditioning + software signal FS
1
HOR = 1
MEROPT= 2 OR
AND
MEAS.ACK
HSCO1
PROPT Auto
To ECB
conditioning + hardware signal BLKSTA.FS no conditioning
USE BACK Back O CALCULATED Calculation INPUT
The value IOMOPT = 2 indicates that there is no connected FBM or FBC, and that signal conditioning is not used. The values of IOM_ID, PNT_NO, and SCO are all ignored. The values of SCO, which must be in the ranges listed below, cause various inverse linear or inverse square root signal conditionings to be applied to the scaled, balanced, and clamped input. The signal conditioning algorithms are described in the following list. In each case, the input to the algorithm is the value of OUT, and the output of the algorithm is stored in RAWC.
Signal conditioning (SCO)
SCO = 0: SCO = 1:
SCO = 2:
SCO = 3:
SCO = 4:
SCO = 5:
SCO = 12:
SCO = 13:
SCO = 14: SCO = 50: SCO = 51: SCO = 52:
No Conditioning RAWC = OUT Inverse Linear (0 to 64000) Analog Output 0 to 20 mA RAWC = (OUT - LSCO1) * 64000/(HSCO1 - LSCO1) Inverse Linear (1600 to 64000) Analog Output 0 to 10 V dc RAWC = ((OUT - LSCO1) * 62400/(HSCO1 - LSCO1)) + 1600 Inverse Linear (12800 to 64000) Analog Output 4 to 20 mA RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1)) + 12800 Inverse Square Root (0 to 64000) Analog Output 0 to 20 mA RAWC = ((OUT - LSCO1) * 64000/(HSCO1 - LSCO1))2 / 64000 Inverse Square Root (12800 to 64000) Analog Output 4 to 20 mA RAWC = ((OUT - LSCO1) * 51200/(HSCO1 - LSCO1))2 / 51200 + 12800 Inverse Linear (14080 to 64000) Analog Output 2 to 10 V dc RAWC = ((OUT - LSCO1) * 49920/ (HSCO1 - LSCO1)) + 14080 Inverse Square Root (14080 to 64000) Analog Output 2 to 10 V dc RAWC = ((OUT - LSCO1) * 49920/ (HSCO1 - LSCO1))2 / 49920 + 14080 Analog Output for Intelligent Positioner Linear (0 to 65535) x = (y - LSCO1) * 65535/(HSCO1-LSCO1) Linear (-32768 to 32767) x = (y - LSCO1) * 65535/(HSCO1-LSCO1) - 32768 Linear (0 to 32767) x = (y - LSCO1) * 32767/(HSCO1-LSCO1)
AOUT parameters Parameter
Meaning
PERIOD
block execution interval (PERIOD=1 for 0.5 sec interval)
SCO
signal conditioning (0 = no conditioning)
MEAS
input signal to be processed by the block
HSCI1, LSCI1
upper/lower limits for meas (only in displays)
HOLIM, LOLIM
upper/lower limits for the output (used in clamping)
EO1
engineering units (e.g. “m^3/h”)
OSV
output span variance (used in clamping)
OUT
block output (conditioned, scaled and clamped value)
Control scheme
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
ment, are used to compute its output, the manipulated variable, based on user-set or adaptively tuned values of the tuning parameters – proportional band, integral time, derivative time, delay time, and setpoint relative gain. The feedforward capability can be used to decouple interacting loops, such as a slow level control cascading to a fast flow control, in addition to compensating for measured load upsets.
PID controller (block PIDA) Loads
FBTUNE Extender Block Supervisory Setpoint
Ramp, Limit
Remote Setpoint
Limit
FFTUNE Extender Block PIDA Block
Bias
Limit
Local Setpoint
Multiplicative Input
Local
LR
SE
Enable
Scale
Scale
+
+
Remote Disable
Manual Compensator Measurement
Filter
Feedback Control Algorithm
x B A/B
+ A
+
Output Alarms Limit
Output
Auto Track
Feedback Deviation Alarms Measurement Alarms
Figure 93-1. PIDA Functional Diagram
PID controller (block PIDA) Parameter
Meaning
MEAS
measurements
SPT
set point
ERROR
control error SPT-MEAS
MODOPT
controller type
OUT
controller output
PBAND
proportional gain (in percent)
INT
integral time (minutes)
DERIV
derivative time (minutes)
MODOPT MODOPT
Controller type
1
P
u=
2
I
1 u = (r − y) Is
3
PD
4
PI
5
PID
Equation
100 (r − y) P
100 (r − (1 + Ds)y) P ! " 100 1 u= + 1 (r − y) P Is !! " ! " " 100 1 1 u= +1 r+ + 1 (1 + Ds)y P Is Is
u=
PIDA parameters Parameter
Meaning
SPHLIM, SPLLIM
upper/lower limits on the setpoint
HSCI1, LSCI1
upper/lower limits of the measurements
HSCO1, HOLIM, LSCO1, LOLIM
upper/lower limits of control action
HSCO1, HOLIM, LSCO1, LOLIM
upper/lower limits of control action
LIMOPT
anti-windup setting (use LIMOPT=1)
EI1, EO1
engineering units of the measurements and control action
FBK
integral feedback to prevent windup
BCALCI
initial value of the control action
PID controller (block PIDA)
PID controller (block PIDA)
Connecting the signals
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
Parameter path • General syntax: - COMPOUND:BLOCK.PARAMETER
• If within of the same compound: - :BLOCK.PARAMETER
• Example: - ZASOBNIK.HLADINA.PNT - :REGULATOR.OUT
Measurements - Controller connection
Controller - Output connection
FoxSelect
FoxView
Assigning displays
Manipulating parameters
Control system
Setpoint
Input
Input processing
Controller
Plant
Output processing
Output
This block provides dual-operand efficiency in several mathematical and logical instructions, resulting in as much as a three-to-one reduction in the length of your program relative to the same calculations performed in a CALC block program. The CALCA block does not support the clamping of real outputs, whereas the CALC block does. With this exception, programs written for the CALC, MATH, or LOGIC blocks will execute in the CALCA block without change. The configuration process allows you to program the block by entering a series of up to 50 programming steps. Each program step is represented by a parameter string of up to 16 characters. The CALCA block inputs and outputs are shown in Figure 15-1.
CALCA block
8 Boolean Outputs
16 Boolean Inputs 8 Real Inputs 2 Integer Inputs 2 Long Integer Inputs
Advanced Calculation Program
4 Real Outputs 6 Integer Outputs 2 Long Integer Outputs
(up to 50 steps; configurable)
Program Error Step Error
Figure 15-1. CALCA Block I/O Diagram
The differences between the CALCA, CALC, MATH, and LOGIC blocks are summarized in Table 15-1.
CALCA parameters Parameter
Meaning
PERIOD
execution interval
RI01 to RI08
8 real inputs
BI01 to BI16
16 binary inputs
II01 to II02
2 integer inputs
M01 to M24
24 real memory registers
RO01 to RO04
4 real outputs
BO01 to BO08
8 binary outputs
IO01 to IO06
6 integer outputs
PERROR, STERR
program error, step error number
Single liquid tank ! √ " 1 h˙ = q−k h F
h = (q - k*sqrt(h))/F + h
Instruction-based programming
x = a*b*(c + d) STEP01
ADD c d
the result is stored into the accumulator
Instruction-based programming
x = a*b*(c + d) STEP01 STEP02
ADD c d MUL b
takes the value stored in the accumulator, multiplies it with “b” and stores the result back into the accumulator hence, the value of the accumulator is overwritten!!!
Instruction-based programming
x = a*b*(c + d) STEP01 STEP02 STEP03
ADD c d MUL b MUL a
takes the value stored in the accumulator, multiplies it with “a” and stores the result back into the accumulator hence, the value of the accumulator is overwritten!!!
Instruction-based programming
x = a*b*(c + d) STEP01 STEP02 STEP03 STEP04
ADD MUL MUL OUT
c d b a RO01
write the value currently stored in the accumulator into the output memory address
Instruction-based programming
x = (a+b)*(c + d) STEP01
ADD c d
the result is stored into the accumulator
Instruction-based programming
x = (a+b)*(c + d) STEP01 STEP02
ADD c d OUT M01
we need to store the result into a temporary memory, since we only have one single accumulator
Instruction-based programming
x = (a+b)*(c + d) STEP01 STEP02 STEP03
ADD c d OUT M01 ADD a b
the result is stored into the accumulator
Instruction-based programming
x = (a+b)*(c + d) STEP01 STEP02 STEP03 STEP04
ADD OUT ADD MUL
c d M01 a b M01
multiply the value of the accumulator by the value stored in M01 and write the result back into the accumulator
Instruction-based programming
x = (a+b)*(c + d) STEP01 STEP02 STEP03 STEP04 STEP05
ADD OUT ADD MUL OUT
c d M01 a b M01 RO01
Instruction-based programming
h = (q - k*sqrt(h))/F + h STEP01 STEP02 STEP03 STEP04 STEP05 STEP06 STEP07 STEP07 STEP08
IN RO01 SQRT MUL RI02 OUT M01 SUB RI01 M01 OUT M01 DIV M01 RI03 ADD RO01 OUT RO01
Address Variable RI01
q
RI02
k
RI03
F
RO01
h
Value :PRIETOK.OUT
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03)
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01
MUL RI01 RI03
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03
MUL RI01 RI03 ADD RI02 OUT M01
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04
MUL ADD OUT ADD
RI01 RI03 RI02 M01 RI02 RI03
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04 STEP05
MUL RI01 RI03 ADD RI02 OUT M01 ADD RI02 RI03 SQRT
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04 STEP05 STEP06
MUL RI01 RI03 ADD RI02 OUT M01 ADD RI02 RI03 SQRT OUT M02
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04 STEP05 STEP06 STEP07 STEP08
MUL RI01 RI03 ADD RI02 OUT M01 ADD RI02 RI03 SQRT OUT M02 DIV M01 M02 OUT M03
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04 STEP05 STEP06 STEP07 STEP08 STEP09
MUL RI01 RI03 ADD RI02 OUT M01 ADD RI02 RI03 SQRT OUT M02 DIV M01 M02 OUT M03 SUB RI01 M03
Instruction-based programming
RO01 = RI01 - (RI02 + RI01*RI03) / sqrt(RI02+RI03) STEP01 STEP02 STEP03 STEP04 STEP05 STEP06 STEP07 STEP08 STEP09 STEP10
MUL RI01 RI03 ADD RI02 OUT M01 ADD RI02 RI03 SQRT OUT M02 DIV M01 M02 OUT M03 SUB RI01 M03 OUT RO01
Instruction-based programming
RO01 = abs(RI01-RI02) + (RI02 + RI03)/2 STEP01 STEP02 STEP03 STEP04 STEP05 STEP06 STEP07 STEP08
SUB ABS OUT ADD OUT DIV ADD OUT
RI01 RI02 M01 RI02 RI03 M02 M02 2 M01 M02 RO01
CALCA block
CALCA block