Netarraysobjects
Netarraysobjects
NetArrays
Module Form and
Ladder Form Objects
NetArrays Module Form and Ladder Form Objects Reference Manual
Related Documents
RTP3000 and RTP3100 Information, Warning, and Error Messages
Not for reproduction in any printed or electronic media without express written consent
from RTP Corp.
All information, data, graphics and statements in this document are proprietary
intellectual property of RTP Corp. unless otherwise indicated and are to be considered
RTP Corp. confidential. This intellectual property is made available solely for the direct
use of potential or licensed RTP Corp. customers in their application of RTP Corp.
products, and any other use or distribution is expressly prohibited. If you have received
this publication in error, immediately delete, discard or return all copies to RTP Corp.
RTP Corporation
2832 Center Port Circle
Pompano Beach, FL 33064
Phone: (954) 597-5333
Internet: http://www.rtpcorp.com
Contents
1 Introduction .............................................................................................. 1
1-1 Overview ............................................................................................................ 1
1-2 This Document ................................................................................................... 1
1-3 Module Object Conventions................................................................................ 2
2 Float Objects ............................................................................................ 1
2-1 Introduction ........................................................................................................ 1
2-2 Float Constant .................................................................................................... 2
2-3 Float Variable ..................................................................................................... 3
2-4 Float Variable Array............................................................................................ 4
2-5 Bool Greater Than (Float Data) .......................................................................... 6
2-6 Bool Less Than (Float Data) ............................................................................... 7
2-7 Bool Equal (Float Data) ...................................................................................... 8
2-8 Bool Greater Or Equal (Float Data)..................................................................... 9
2-9 Bool Less Or Equal (Float Data) ....................................................................... 10
2-10 Bool Not Equal (Float Data) .............................................................................. 11
2-11 Bool Compare (Float Data) ............................................................................... 12
2-12 Float Invert ....................................................................................................... 13
2-13 Float Absolute Value ........................................................................................ 14
2-14 Float Average................................................................................................... 15
2-15 Float Add ......................................................................................................... 16
2-16 Float Subtract ................................................................................................... 17
2-17 Float Multiply .................................................................................................... 18
2-18 Float Divide ...................................................................................................... 19
2-19 Float Max ......................................................................................................... 20
2-20 Float Min .......................................................................................................... 21
2-21 Float Limit ........................................................................................................ 22
2-22 Float Ratio........................................................................................................ 23
2-23 Float Gate ........................................................................................................ 25
2-24 Float Filter ........................................................................................................ 26
2-25 Float Integral .................................................................................................... 28
2-26 Float Cosine ..................................................................................................... 29
2-27 Float Sine......................................................................................................... 30
2-28 Float Tangent ................................................................................................... 31
2-29 Float Arc Tangent ............................................................................................. 32
2-30 Float Exponential ............................................................................................. 33
2-31 Float Power ...................................................................................................... 34
2-32 Float Log e ....................................................................................................... 35
2-33 Float Log 10 ..................................................................................................... 36
2-34 Float Square Root ............................................................................................ 37
2-35 Float PID .......................................................................................................... 38
2-36 Float Delay....................................................................................................... 46
2-37 Float Lead-Lag Filter ........................................................................................ 47
2-38 Float Alarm....................................................................................................... 49
2-39 Float TPC......................................................................................................... 52
2-40 Float Waveform Generator ............................................................................... 55
2-41 Float FIFO ........................................................................................................ 57
2-42 Float Multiple Add............................................................................................. 59
1 Introduction
1-1 Overview
Module Objects are the building blocks used to create mathematical, logical, and control
functions performed by NetArrays Module Forms. Objects are placed into Module Forms
and interconnected to build a schematic representation of the desired function. Ladder
Logic Objects create electrical-relay wiring-diagram-style diagrams. These
electromechanical objects form rungs of a ladder that create continuity between the
source and the ground.
Note: All NetArrays Module Form and Ladder Form Objects are SIL
Certified for use in Safety Instrumented Functions.
In examples:
Debug Mode Green background
Edit Mode White background
Color
2 Float Objects
2-1 Introduction
This chapter describes the functions performed by the following Float (floating-point)
objects.
Tag Value
Output
Properties
Float Constant NetArrays assigns an available index as the Tag when the object
is created. To reassign the Tag select another index from the list
or select New. To assign an alphanumeric Tag, enter a tag name
or select an available tag name from the list.
Initial Value Specifies the object’s value.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for a Float Constant is –3.402823E+38 to +3.402823E+38.
Tag Value
Input Output
Properties
Float Variable NetArrays assigns an available index as the Tag when the object
is created. To reassign the Tag select another index from the list
or select New. To assign an alphanumeric Tag, enter a tag name
or select an available tag name from the list.
Initial Value Allows you to specify the object’s initial output value at program
startup.
Retentive Selects the source of the object’s initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for Float Variables is –3.402823E+38 to +3.402823E+38.
Input Output
Properties
Offset Determines the index of the first Float Variable in the array. The
variable accessed is located at the Offset plus the SubIndex.
TableSize Specifies the number of Variables in the array. The SubIndex input
must be less than the TableSize to access a variable within the
array. Enter a value equal to the number of variables required in the
array. The default value is 32767.
Example
In this example, the Offset was set to 0 and the TableSize was set to 3. The Float
Variable Array object accesses the variables at indexes 0, 1, and 2.
Fault Behavior
Because Float Constants and Float Variables share the same Indexes, you can
inadvertently change the Initial Value of a Float Constant if its Index falls within the table
range of a Float Variable Array object.
If the SubIndex input value plus the Offset value is out-of-range (greater than 32767),
negative, or greater than the TableSize, the output will be 0 (zero).
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is greater than Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is less than Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is precisely equal to Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is greater than Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is less than Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is not equal to Input 2.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Example
The output is True because the Input is greater than the High Limit.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
The Low Limit value must be less than the High Limit value.
Value
Input Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Value
Input Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2
Input 3 Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the sum of the two inputs is out-of-range, the Float Add object output is set to indicate
an overflow. The applications programmer must avoid calculations that result in out-of-
range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the difference between the two inputs is out-of-range, the output for this object is set to
indicate an overflow. The applications programmer must avoid calculations that result in
out-of-range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the product of the two inputs is out-of-range, the output of this object is set to indicate
an overflow. The applications programmer must avoid calculations that result in out-of-
range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2 Output
Example
Fault Behavior
An attempt to divide by 0 (zero) will result in an output of 0 (zero). If the result of a
division is out-of-range, this object’s output is set to indicate an overflow. The
applications programmer must avoid calculations that result in out-of-range conditions.
The valid range for floating-point values is –3.402823E+38 to +3.402823E+38.
Input 1 Value
Input 2
Input 3 Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input 1 Value
Input 2
Input 3 Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
The Low Limit value must be less than the High Limit value.
Properties
Output Max Specifies the Tag and initial value of the Float Variable that
determines the maximum output value, which corresponds to the
High Limit input.
Output Min Specifies the Tag and initial value of the Float Variable that
determines the minimum output value, which corresponds to the
Low Limit input.
Example
This example converts a 4 to 20 mA signal into 0 to 100% scale by connecting a High
Limit of 20 and a Low Limit of 4, and setting the Output Max value to 100 and the Output
Min value to 0.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range is from –3.402823E+38 to +3.402823E+38.
The Low Limit value must be less than the High Limit value, and the Output Min value
must be less than the Output Max value.
Input 1 Value
Control
Input 2 Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Input Value
Threshold Output
1.0 x
Filter Constant
x + Output
Input
Where:
Yt is the output at sampling time t
Yt1 is the output at sampling time t1
Xt is the input at sampling time t
is the filter constant
The Threshold input, if connected, is used to determine when to re-initialize the cascaded
filter: If the difference between the input and the output is greater than the threshold
value, than the filter is initialized to the input value and for 10 cycles an average is
calculated. If this input is not connected, such initialization calculations are not
performed.
Properties
Filter Constant Specifies the Tag of the Float Variable and the
Initial Value of the filter constant applied to all filter
stages. Valid values are from 0.0 to 1.0. Note
that if this parameter is less than 0 (zero), it will be
forced to 0 (zero), and if it is greater than one, it
will be forced to one.
Float Output Identifies the value, tag, and initial value of the float
variable used to save the current object output. User
application program logic should not write into this
variable, except for the object itself.
Example
In this example, the Filter Constant is 0.5 in both filter objects. The Number of Cascades
is 1 in first filter object and 2 in second filter object.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values –3.402823E+38 to +3.402823E+38.
Valid values for filter constant are from 0.0 to 1.0. If filter constant is 0 (zero), output of
this object will keep a constant value.
Limit Value
Input
Reset Output
Properties
Period Specifies the time period over which the input is integrated.
Valid values are from 0.01 to 327.67 seconds.
Float Output Identifies the value, tag, and initial value of the float variable used to
save the current object output. User application program logic should
not write into this variable, except for the object itself.
Example
In this example, the period for the integral is set to 2.0 seconds. The output will start at
4.0 and increase in multiples of 4 every 2.0 seconds until it reaches the limit of 20. The
value then remains 20.
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38. If the Limit or Input is 0 (zero), the output will be 0 (zero).
Value
Input Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Value
Input Output
Example
Fault Behavior
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Value
Input Output
Example
Fault Behavior
If the input angle equals ±/2, ±3 /2, etc., the output for the Float Tangent object
is set to indicate an undefined number. The application programmers must avoid these
inputs.
Value
Input Output
Example
The following example calculates the mathematical constant
Fault Behavior
If the Input is greater than the largest possible positive number (+3.402823E+38), the
Output is +/2. If the Input is less than the largest possible negative number
(–3.402823E+38), the Output is /2.
Value
Input Output
Example
Fault Behavior
If the result of the calculation is out-of-range, the output for the Float Exponential object is
set to the maximum allowed Floating Point value. The applications programmer must
avoid calculations that result in out-of-range conditions. The valid range for floating-point
values is –3.402823E+38 to +3.402823E+38.
Input Y Value
Input X Output
Example
Fault Behavior
If the result of the calculation is out-of-range, the output for the Float Power object is set
to indicate an overflow. The applications programmer must avoid calculations that result
in out-of-range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Value
Input Output
Example
Fault Behavior
If the input is 0 (zero), or a negative number, the output of the object is set to the largest
possible negative number. The applications programmer must avoid calculations that
result in out-of-range conditions. The valid range for floating-point values is
–3.402823E+38 to +3.402823E+38.
Value
Input Output
Example
Fault Behavior
If the input is 0 (zero), or a negative value, the output for the Float Log 10 object is set to
the largest possible negative number. The applications programmer must avoid these
inputs. The valid range for floating-point values is 3–3.402823E+38 to +3.402823E+38.
Value
Input Output
Example
Fault Behavior
If the input to this object is a negative number, the output for the Float Square Root object
is set to 0 (zero). The applications programmer must avoid negative inputs or out-of-
range inputs to this object. The largest valid positive floating-point value is
+3.402823E+38.
Prefix Value
Set Point
Feed Forward Output
Process Variable
Reset Set Point Error
Clamp
Manual
Tieback Alarm
The Calculation Mode in the Property Manager display specifies which equation governs
the PID operation. Independent Gain or ISA. For Independent Gain mode the equation
is:
t
CO K PY K I E TR CO dt K D
dX
FF
0
dt
Where:
CO = Calculated Output
KP = Proportional Constant
KI = Integral Constant (repeats/second)
KD = Differential Constant (seconds)
E = Internal Error (Set Point – Process Variable) or (Process Variable – Set Point)
Y = Internal Error (E) or Process Variable (+ or – depending on the Internal Error)
X = Internal Error (E) or Process Variable (+ or – depending on the Internal Error)
TR = Track Value (Tieback in Track Mode). It is equal to CO if not in Track Mode.
FF = Feed Forward
t = Time (in seconds)
t
E TR CO dt TD FF
1 dX
CO K C Y
TI 0
dt
Where:
CO = Calculated Output
KC = Controller Gain
TI = Reset Time (minutes)
TD = Rate Time (minutes)
E = Internal Error (Set Point – Process Variable) or (Process Variable – Set Point)
Y = Internal Error (E) or Process Variable (+ or – depending on the Internal Error)
X = Internal Error (E) or Process Variable (+ or – depending on the Internal Error)
TR = Track Value (Tieback in Track Mode). It is equal to CO if not in Track Mode.
FF = Feed Forward
t = Time (in minutes)
Set Point Target value for the Process Variable. This optional
input provides the setpoint for the Float PID object. If
this input is not used, a setpoint value must be provided
in the SP parameter in the Float PID’s Property Manager
display. The value of the setpoint entered should
correspond to the engineering units specified in the SPHi
(Setpoint High Limit) and SPLo (Setpoint Low Limit)
parameters in the Property Manager display.
Feed Forward Optional bias added to the calculated output. This
optional Float input adds a feed forward (or bias) value
to the result of the PID equation. The value of the Feed
Properties
Prefix An identification prefix given to each variable associated
with the PID, and displayed with the PID object. The
default prefix is RTPPIDn. Changing this field changes
the Tag of each variable. The prefix entered must be 23
characters or fewer.
Period This parameter specifies the period on which this PID
object will be executed. The controller output will be
updated at time intervals specified in this parameter.
Valid period entries range from 0.01 to 327.67 seconds.
If this field is left at 0 (zero), the PID calculations will be
performed as fast as possible.
Calculation Mode Selects either the ISA or Independent Gain (IG)
equation.
Track Track Mode
Setting Track Mode to ON allows a secondary feedback
calculation in the integral term when the PID object is in
automatic mode. In this mode, the Tieback input is used
as feedback to this secondary calculation. When the
Tieback input is connected directly to the output of the
same PID object, the PID calculation will be exactly as if
the Track option had not been selected. However, if the
Tieback input is connected to another object, the PID
output will lag to the value set in the Tieback input plus
the value contributed by the Proportional and Derivative
terms, in a bumpless manner at a rate defined by the
Integral term. This option is available for preloading the
integral term during startup of a process or preventing
slave PIDs from saturating when connected but not
selected in a High/Low select configuration.
If the PID object is in manual mode when this option is
selected, the output will follow the Tieback input.
Switching to automatic mode is still bumpless.
Setting Track Mode to OFF, sets it to equal the
manipulated value, effectively canceling tracking
calculations.
Use Zero Crossing If this parameter is ON, the error is not considered to be
0 (zero) until it actually crosses zero. From that point on,
it is considered 0 (zero) until it goes beyond the
threshold limit. If this parameter is OFF, the error is
considered 0 (zero) whenever it falls within the
deadband.
Proportional Term Selects either the Internal Error or the Process Variable
as the proportional term. In Normal Mode, the Internal
Error will be SP – PV and the Process Variable will be –
PV. In reverse Mode, the Internal Error will be PV – SP
and the Process Variable will be +PV.
Derivative Term Selects either the Internal Error or the Process Variable
as the derivative term. In Normal Mode, the Internal
Error will be SP – PV and the Process Variable will be –
PV. In reverse Mode, the Internal Error will be PV – SP
and the Process Variable will be +PV.
Internal Error Selects either Normal Mode operation or Reverse Mode
operation. Choosing SP – PV (Set Point – Process
Variable) selects Normal Mode, the Error is SP – PV,
and the Proportional and Derivative Terms will be SP –
PV (if Internal Error is selected) or –PV (if Process
Variable is selected).
Choosing PV – SP (Process Variable – Set Point)
selects Reverse Mode, the Error is PV – SP, and the
Proportional and Derivative Terms will be PV – SP (if
Internal Error is selected) or +PV (if Process Variable is
selected).
SP Setpoint (EU)
If no connection is present at the Set Point input, you
can initialize the setpoint by entering a value in the SP
field of the Property Manager during program creation.
The value of the setpoint should correspond to the
engineering units specified in the SPHi (Setpoint High
Limit) and SPLo (Setpoint Low Limit) parameters.
Kp:Kc Proportional Constant Kp [IG] (EU/EU) or
Controller Gain Kc [ISA] (EU/EU)
The Proportional Constant Kp is multiplied only with the
error term of the equation. The Controller Gain Kc is the
gain applied to all the terms of the equation.
The conversion between ISA and IG is Kp = Kc.
Ki:Ti Integral Constant Ki [IG] (EU/EU-sec) or
Reset Time Ti [ISA] (EU-min/EU)
The Integral Constant Ki specifies the number of times
this term will increase per second for a step change in
error. Increasing this value will reduce the amount of
time required to correct (reset) a continuous error.
Reset Time Ti is the time required for the integral term to
build to the same value as the proportional term for a
step change in error. Increasing this value will increase
Example
The parameters of RTPPID1 are shown in the PID Property Manager figures.
Fault Behavior
The applications programmer must avoid situations that produce out-of-range Tieback,
Set Point, Feed Forward, Process Variable input to this object, or any RL -PID variable.
The valid range for floating-point values is –3.402823E+38 to +3.402823E+38.
Value
Input Output
Example
The following example calculates the rate of change per scan cycle:
Fault Behavior
The applications programmer must avoid situations that produce out-of-range input to this
object. The valid range for floating-point values is –3.402823E+38 to +3.402823E+38.
Value
Input Output
Y ( s) t s 1
K 2
X ( s) t1 s 1
Where:
Y(s) = Lead/Lag Block Output
X(s) = Input to Lead/Lag
t2 = Lead time constant (in minutes) – can be 0 (zero)
t1 = Lag time constant (in minutes)
K = Gain
s = Laplace transform variable
The Lead compensator, with the appropriate time constant t2, tends to act similar to high
pass filter (magnitude response) except low frequencies are passed with unity gain, while
high frequency components of the input signal are amplified. The Lag portion of the
algorithm acts as integrator, ramping the output toward the input at a rate defined by the
time constant t1. Proper object operation as Lead compensator requires a t2 value that is
two to eight times the t1 value.
To design a float lead-lag filter, first consider whether the system that needs correction is
a lead-network, lag-network, or combination of the two: lead-lag network (hence the
name lead-lag filter). The electrical response of this network to an input signal is
expressed by the network's Laplace-domain transfer function, a complex mathematical
function, which can be expressed as follows: the Current-gain ratio transfer function or
the Voltage-gain ratio transfer function. Remember that a complex function can be
written as F(x) = A(x) + iB(x), where A(x) is the Real Part and B(x) is the Imaginary Part
of the single-variable function F(x).
The phase angle for the network is the argument of F(x); in the left half plane this is
−1
tan (B(x) / A(x)). If the phase angle is negative for all signal frequencies in the network,
then the network is a lag network. If the phase angle is positive for all signal frequencies
in the network, then the network is a lead network. If the total network phase angle has a
combination of positive and negative phase as a function of frequency then it is a lead-lag
network.
Properties
Gain Specifies the Tag and Initial Value for the Float Variable that
determines the gain for the Lead-Lag transfer function (K).
Lead Specifies the Tag and Initial Value, in minutes, for the Float
Variable. This value indicates the lead-time constant for the
Lead-Lag transfer function (t2). Note that you cannot use
negative time values.
Lag Specifies the Tag and Initial Value, in minutes, for the Float
Variable. This value indicates the lag-time constant for the Lead-
Lag transfer function (t1). Note that you cannot use negative
time values.
Float Output Identifies the value, tag, and initial value of the float variable used to
save the current object output. User application program logic should
not write into this variable, except for the object itself.
Example
In this example, Gain is set to 1, Lead is set to 0, and lag is set to 0.5. The Input value
was initially set to 0 and then changed to 100.
Fault Behavior
The applications programmer must avoid situations that produce out-of-range input to this
object, or out-of-range Lead, Lag or Gain. The valid range for floating-point values is –
3.402823E+38 to +3.402823E+38.
Negative time values for Lead and Lag are not allowed.
Input Output
Reset
Adding a Float Alarm object creates seven associated variables. The High Limit and Low
Limit Float Variables determine the alarm trip points. The Alarm Default Float Variable
specifies the object's output while an alarm condition exists.
An Alarm Reset variable may be used to reset one, or more, Float Alarms in the project.
The Alarm Info Int Variable indicates the alarm type and the time the alarm occurred.
This information is latched, and does not change until the Float Alarm object is reset.
Note that this output contains only the time stamp’s minutes and seconds. The time
stamp’s hours must be inferred from the current time. The format is:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Alarm
Time – Minutes (0-60) Time – Seconds (0-60)
Type
Bits 15 and 14 Alarm Type
0 0 = No alarm condition
0 1 = Low limit alarm
1 0 = High limit alarm
Bits 11 - 6 Alarm Time - Minutes (0-60)
Bits 5 - 0 Alarm Time - Seconds (0-60)
The Alarm State Bool Variable is True whenever the input exceeds either alarm trip point.
It returns to False when the input returns within the alarm limits.
Properties
Float Alarm Specifies the Tag for the Float Input that will supply the input to
the object. Note that this will not be used if the optional Input
connection is used.
High Limit Specifies the Tag and Initial Value for the Float Variable that
determines the high limit alarm trip point.
Low Limit Specifies the Tag and Initial Value for the Float Variable that
determines the low limit alarm trip point.
Alarm Default Specifies the Tag and Initial Value for the Float Variable that
determines the floating-point output from the object while an
alarm condition exists.
Alarm Reset Specifies the Tag and Initial Value for the Bool Variable that will
reset this Float Alarm object.
Alarm Info Specifies the Tag for the integer variable that stores the alarm
type and time information.
Alarm State Specifies the Tag for the Bool Variable that stores the Boolean
alarm output.
Example
In this example, two analog input points are being monitored for alarm conditions. The
Alarm Defaults are set to 99999. The ClearAlarms variable was selected as the tag for
the Alarm Reset variable for both alarm objects. The Alarm Info variables were assigned
the tags L1_Status and L2_Status, and the Alarm State variables were assigned the tags
L1_Alarm and L2_Alarm. Level_2 is currently showing a high limit alarm condition. The
Level 2 output is 99999, which indicates that its input is in alarm.
Fault Behavior
If the Input is out-of-range, an alarm is reported. The valid range for floating-point values
is –3.402823E+38 to +3.402823E+38. The applications programmer must avoid out-of-
range values for the High Limit, Low Limit, and Alarm Default parameters.
Prefix
Control Variable
Increase Output
Tieback
Decrease Output
Clamp
The TPC object should be used with a PID controller. It produces two discrete digital
outputs; one for increased action and another for decreased action. The digital outputs
are modulated pulses, in which the pulse frequency or width is proportional to the control
variable, which is an input to the TPC object and an output of the PID object. A second
input to the object is the tieback, which is the measured sensory value of the control
value. The difference between the control value and the tieback determines the output of
the TPC object.
For Fixed Period, the on time and off time are calculated as follows:
For Fixed On & Off time, the pulses are determined directly from the referenced
variables:
Properties
Period Specifies the Tag and Initial Value for the Float Variable,
which is used as the fixed period for Fixed Period output
calculations. Valid values are from 0.002 seconds to 65.535
seconds.
Max Error Specifies the Tag and Initial Value for the Float Variable,
which determines the maximum error value used to calculate
output. Note that this parameter must be configured to valid
value even if Fixed On & Off Time mode is selected.
Clamp @ Specifies the Tag and Initial Value for the Float Variable,
which determines the error value limit that activates the
Clamp output signal. Clamp and error values are treated as
absolute values. For the Clamp value to work for all ranges
of inputs, it must be less than the Max Error and it must be
positive value. Note that this parameter must be configured
to valid value even if Fixed On & Off Time mode is selected.
Min Error Specifies the Tag and Initial Value for the Float Variable,
which determines the deadband (error values considered to
be zero). This value is treated as absolute value and it
should be less then Clamp@ value.
Example
Fault Behavior
The applications programmer must avoid situations that produce out-of-range Control
Variables or Tieback inputs to this object, or any calculated TPC variable. The valid
range for floating-point values is –3.402823E+38 to +3.402823E+38. Programmer, also,
must configure or force in valid values range: Period value must be in valid values range
(0.002 to 65.535), Clamp@ must be less than or equal then MaxError and Clamp@ must
be positive number, MaxErr must not be zero, MinError must be less then Clamp@,
MaxError and Clamp must be configured for Fixed On & Off Time mode, and On Time
and Off Time values must be in valid range (0.001 to 65.535).
Sine Wave The sine wave begins at the midpoint between the high and low
limits and completes one cycle each period.
Triangle The triangle wave begins at the low limit, ramps up to the high
limit in one-half of the period, and then ramps down to the low
limit in one-half of the period.
Ramp Up The ramp up wave starts at the low limit, ramps up to the high
limit, and then drops directly to the low limit once each period.
Ramp Down The ramp down wave starts at the high limit, ramps down to the
low limit, and then jumps directly to the high limit once each
period.
Square Wave The output begins at the low limit and jumps to the high limit
where it remains for one-half of the period. It then drops to the
low limit for the second half of the period.
The optional Low Limit and High Limit inputs determine the amplitude of the output
waveform. If no limit inputs are specified, the low limit defaults to 0 and the high limit
defaults to 100.
Value
High Limit
Trigger
Output
Low Limit
The Trigger input also is optional. If no Trigger is connected, the selected output
operates as a continuous wave. If a Trigger input is supplied, a positive transition for this
input initiates one complete cycle of the output waveform. This input must return to False
before it can trigger another output cycle.
The period, specified in the Property Manager, defines the duration of one complete cycle
of the output waveform.
Properties
Wave Allows you to select the output waveform: Sine, Triangle, Ramp up, Ramp
down, or Square.
Period The period sets the time interval, in seconds, for one complete cycle of the
selected output waveform. Valid values are from 0.01 seconds to 327.67
seconds. If this field is left at 0 (zero), the object operations are performed as
quickly as possible.
Example
Fault Behavior
The object also uses one floating point and two integer variables. You may rename
these internal variables, however do not reference them or modify their values.
The applications programmer must avoid situations that produce out-of-range High Limit
or Low Limit inputs to this object. The valid range for floating-point values is
–3.402823E+38 to +3.402823E+38.
The Low Limit value must be less than the High Limit value.
Tag Value
Input
Enable Output
The size of the FIFO buffer is defined in the object’s Property Manager display. When
the buffer fills to its specified size, each new input value replaces the oldest stored value.
The Enable is an optional Bool input. If connected, values can be stored in the FIFO only
if the Enable input is True. If the Enable input is False, the buffer is frozen. If there is no
connection, the FIFO is always enabled.
The Output from the object is the latest input value stored in the buffer.
Properties
Float FIFO Indicates the Tag of the Float Variable used to access the buffer’s
contents. If the object’s Input is not connected, it also identifies the
source of the values stored in the buffer.
Deadband Specifies the (Tag) and Initial Value of the Float Variable that
determines the deadband. The current value is added to the buffer
only if it has changed from the previous value by at least the
deadband value.
Buffer Size Defines the number of entries in the buffer. The largest allowed
size is 32,767. Note that each entry in the buffer occupies 12
bytes in memory; the memory required will equal 12 times the
value in the Buffer Size field.
Example
In this example, the input to the FIFO object is the Float Variable FIFO_Input. The
FIFO_Buffer variable used to access the FIFO buffer data. The Deadband in the FIFO
object’s Property Manager was tag named FIFO_Deadband. Note that the output for the
FIFO object does not equal the input value. The output value does not change until the
input changes by at least the deadband value.
Note: A data value will be stored into an empty FIFO buffer regardless
of the deadband value. Reading the contents of the FIFO buffer with
RTPFIFO empties the buffer, and therefore causes the very next value to
be stored in the buffer. Because of this, the last buffer entry of one FIFO
read operation and first entry of the next FIFO read will not be separated
by the deadband value.
Fault Behavior
The applications programmer must avoid situations that produce out-of-range Input or
Deadband to this object. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
The Output cell displays the results of the floating-point Add operation.
Output
Value
Properties
Output Specifies the index or tag name which will hold the result of the
floating-point operation.
Input 1 Specifies the index or tag name for Float variable #1, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #1, which is part of the Add
operation.
Input 2 Specifies the index or tag name for Float variable #2, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #2, which is part of the Add
operation.
Input 3 Specifies the index or tag name for Float variable #3, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #3, which is part of the Add
operation.
Input 4 Specifies the index or tag name for Float variable #4, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #4, which is part of the Add
operation.
Input 5 Specifies the index or tag name for Float variable #5, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #5, which is part of the Add
operation.
Input 6 Specifies the index or tag name for Float variable #6, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #6, which is part of the Add
operation.
Input 7 Specifies the index or tag name for Float variable #7, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #7, which is part of the Add
operation.
Input 8 Specifies the index or tag name for Float variable #8, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #8, which is part of the Add
operation.
Input 9 Specifies the index or tag name for Float variable #9, which is
part of the Add operation.
Initial Value Specifies the value for Float variable #9, which is part of the Add
operation.
Fault Behavior
If the sum of the inputs is out-of-range, the object’s output is set to indicate an overflow.
The applications programmer must avoid calculations that result in out-of-range
conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Output
Value
Output = Input1 – Input2 – Input3 – Input4 – Input5 – Input6 – Input7 – Input8 – Input9
The Output cell displays the results of the floating-point Subtract operation.
Properties
Output Specifies the index or tag name which will hold the result of the
floating-point operation.
Input 1 Specifies the index or tag name for Float variable #1, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #1, which is part of the
Subtract operation.
Input 2 Specifies the index or tag name for Float variable #2, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #2, which is part of the
Subtract operation.
Input 3 Specifies the index or tag name for Float variable #3, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #3, which is part of the
Subtract operation.
Input 4 Specifies the index or tag name for Float variable #4, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #4, which is part of the
Subtract operation.
Input 5 Specifies the index or tag name for Float variable #5, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #5, which is part of the
Subtract operation.
Input 6 Specifies the index or tag name for Float variable #6, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #6, which is part of the
Subtract operation.
Input 7 Specifies the index or tag name for Float variable #7, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #7, which is part of the
Subtract operation.
Input 8 Specifies the index or tag name for Float variable #8, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #8, which is part of the
Subtract operation.
Input 9 Specifies the index or tag name for Float variable #9, which is
part of the Subtract operation.
Initial Value Specifies the value for Float variable #9, which is part of the
Subtract operation.
Fault Behavior
If the subtraction of the inputs is out-of-range, the output of this object is set to indicate an
overflow. The applications programmer must avoid calculations that result in out-of-
range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
The Output cell displays the results of the floating-point Multiply operation.
Output
Value
Properties
Output Specifies the index or tag name which will hold the result of the
floating-point operation.
Input 1 Specifies the index or tag name for Float variable #1, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #1, which is part of the
Multiply operation.
Input 2 Specifies the index or tag name for Float variable #2, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #2, which is part of the
Multiply operation.
Input 3 Specifies the index or tag name for Float variable #3, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #3, which is part of the
Multiply operation.
Input 4 Specifies the index or tag name for Float variable #4, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #4, which is part of the
Multiply operation.
Input 5 Specifies the index or tag name for Float variable #5, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #5, which is part of the
Multiply operation.
Input 6 Specifies the index or tag name for Float variable #6, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #6, which is part of the
Multiply operation.
Input 7 Specifies the index or tag name for Float variable #7, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #7, which is part of the
Multiply operation.
Input 8 Specifies the index or tag name for Float variable #8, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #8, which is part of the
Multiply operation.
Input 9 Specifies the index or tag name for Float variable #9, which is
part of the Multiply operation.
Initial Value Specifies the value for Float variable #9, which is part of the
Multiply operation.
Fault Behavior
If the multiplication of the inputs is out-of-range, the output of this object is set to indicate
an overflow. The applications programmer must avoid calculations that result in out-of-
range conditions. The valid range for floating-point values is –3.402823E+38 to
+3.402823E+38.
Tag Value
Enable
Input
Reset Output
Enable input is optional and if configured, the object will accumulate only when this input
is true.
Reset input is used to reset and transfer the currently accumulated total to the frozen
total variable, and then set the current accumulated total to 0 (zero). Reset occurs when
the input changes from false to true.
Properties
Float Totalizer Specifies the index or tag name of the Float variable that holds the
instantaneous accumulated value.
Initial Value Allows you to specify the Float variables value (accumulated total) at
program startup.
Example:
The Partial Stroke Test (PST) object provides periodic or on demand Partial Stroke
Testing of field devices that are connected to an Analog Output card and support the
HART message protocol. The Partial Stroke Test object (PST) copies the Input of the
Analog Out to the Calculated Output Analog Out except when the test is running. For the
purpose of the test the change is from the position at the start of the test and any change
generated by. This test may not work if the valve is being moved at the time of the test.
The Test runs for the number of seconds configured as stroke time times two plus the
pause time of 1 second minimum and 1 second at end of the test. The test changes the
Calculated Analog output at the rate of the percent to stroke on every execution of the
object. The valve percent of change is checked with the range of plus/minus based on
the rate of stroke per second. If an error or Inhibit test is set, the test is aborted and the
Process Variable Input is passed through. The Fail flag is only set if the test is run and a
failure is detected. The reading must fall within the range of ±10% with a minimum of 5
seconds difference.
Example is in the early part of the test with an expected change of 0.1% per second the
test is for 0.5% until the test has run longer than 5 seconds. If the test has not run there is
no failure even if there are hard errors from the card. The current output spread is 4 to 20
mA so a 100% change is 16 mA. If the test is specified to run greater than the range of
the analog output, the test will fail as the analog output driver will limit the signal.
The Test will start after the number of hours configured. The time starts after one of two
events.
NOTE: Up stroke and down stroke do not mean open or close they are just internal
reference for the software, which really does not know if the actuator is moving up or
down.
This PST object includes Output rate-of-change limits. Placing the Float PST object onto
the form automatically allocates 4 pre-named Float Variables for the PST parameters.
The user-configurable variables are accessed through the Property Manager display.
Process Variable Input This is the value calculated by the application program
to be output to the Analog Output Card channel when
the PST object is not running. This is Float Input.
Hart Input Hart Percent Open/Close as retrieved from the Hart
device. This is Float Input
Start Test Input Start Test Input (TRUE) is used to immediately start the
test. This is Boolean Input. It is recommended to reset
the input after test starts.
Inhibit Test Input Inhibit Test (TRUE) is used to keep the test from
running. This does not stop the wait timer. This is
Boolean Input.
Card Status Input The status of the Analog Output card. If redundant
Analog Output cards are used, this value is the logical
“OR” of the individual cards’ Integer Error Detection
variables. This is Integer Input.
HART Device Status Status of the HART Communications Card I/O Channel.
This is Integer Input.
Calculated Analog Out This output provides the drive value to the Analog
Output card channel. This is the partial stroke value
supplied by the PST object when a test is running. When
the test is not running, this is the value on the Process
Variable Input. This is a Float Output.
Failure Status Out Set TRUE when the test is run and there is a failure.
This is Boolean Output. This status resets when next
test starts.
Test Running Status Out Set TRUE while the test in Progress. This is Boolean
Output. The Test Running Status Out must be tied to the
associated HART Communications card channel Bool
Enable Comm input to establish communications to
receive the HART position indication. When associated
with redundant Analog Output Cards, the Test Running
Status Out must be tied to the associated Analog Output
Cards’ Bool Disable Testing inputs to prevent diagnostic
fault testing from interfering with the HART protocol
messages.
Properties
Example
The parameters of RTPPST1 are shown in the PST Property Manager figures.
3 Int Objects
3-1 Introduction
This chapter describes the functions performed by the following Signed Integer (Int)
objects.
Tag Value
Output
Properties
Fault Behavior
The valid range for Integer constant is –32,768 to 32,767.
Tag Value
Input Output
Properties
Properties
Int Variable NetArrays assigns an available alphanumeric tag when the object
is created. To reassign the tag select New. To assign a different
alphanumeric tag, type a tag name, or select an available tag
name from the list.
Initial Value Allows you to specify the object’s initial output value at program
startup.
Retentive Selects the source of the object’s initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Example
Fault Behavior
The valid range of integer variables is from 32,768 to 32,767. A positive overflow
condition results in a variable value of 32,767; a negative overflow condition results in a
variable value of 32,768.
Value
Sub-index
Input Output
Properties
Properties
Offset Determines the index of the first integer variable in the array. The
variable accessed is located at the Offset plus the SubIndex.
TableSize Specifies the number of integer variables in the array. The SubIndex
input must be less than the TableSize to access a variable within the
array. Enter a value equal to the number of variables required in the
array. The default value is 32,767.
Example
In this example, the Offset of the integer variable array was set to 23 and the TableSize
was set to 3. The output value of integer variable RTPI00026 (Sub-Index) ranges from 0
to 2. The output of the integer variable array will display the value of the integer variables
located at Index 23, 24, or 25.
Fault Behavior
If the Sub-Index input value plus the Offset value is negative, or greater than the
TableSize, the output will be 0 (zero).
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is greater than Input 2.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is less than Input 2.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 equals Input 2.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is greater than Input 2.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is less than Input 2.
Input 1 Value
Input 2 Output
Example
The output is True because Input 1 is not equal to Input 2.
The Low Limit input is optional. If no Low Limit is connected, the output will switch at the
High Limit, and there will be no deadband.
Example
The output is True because the Input is greater than the High Limit.
Fault Behavior
The Low Limit value must be less than the High Limit value.
Value
Input Output
Example
Fault Behavior
If the input is -32768, then the output will be 32767, because this is the maximum value
for an integer.
Value
Input Output
Example
Fault Behavior
If the input is -32768, then the output will be 32767, because this is the maximum value
for an integer.
Input 1 Value
Input 2
Input 3 Output
Example
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the sum of the two inputs is out-of-range, the output for this object is set equal to
32,767 (or –32,768 if negative) and remains at that value until the result is within range.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the difference between the two inputs is out-of-range, the output for this object is set
equal to 32,767 (or –32,768 if negative) and remains at that value until the result is within
range.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If the sum of the two inputs is out-of-range, the output for this object is set equal to
32,767 (or –32,768 if negative) and remains at that value until the result is within range.
Input 1 Value
Input 2 Output
Example
Fault Behavior
If Input 2 is equal to 0 (zero), resulting in a divide by 0 (zero), the output of this object is
set equal to 0 (zero).
Input 1 Value
Input 2
Input 3 Output
Example
Input 1 Value
Input 2
Input 3 Output
Example
Example
Fault Behavior
The Low Limit value must be less than the High Limit value.
Properties
Output Max Specifies the Tag and initial value of the integer variable that
defines the maximum output value, which corresponds to the High
Limit input.
Output Min Specifies the Tag and initial value of the integer variable that
defines the minimum output value, which corresponds to the Low
Limit input.
Example
In this example, the Output Max is 15 and the Output Min is 8.
Fault Behavior
The Low Limit value must be less than the High Limit value. The Output Min value must
be less than the Output Max value.
Input 1 Value
Control
Input 2 Output
Example
The optional Low Limit and High Limit inputs determine the amplitude of the output
waveform. In the absence of limit inputs, the low limit defaults to 0 (zero) and the high
limit defaults to 100.
Value
High Limit
Trigger
Output
Low Limit
The Trigger input is also optional; if no Trigger is connected, the selected output operates
as a continuous wave. If a Trigger input is supplied, a positive transition of this input
triggers one cycle of the output waveform.
The period, specified in the Property Manager display specifies the timing period of the
waveform. The meaning of the period depends on the waveform selected.
Properties
Example
Fault Behavior
The object also uses one floating point and two integer variables. You may rename
these internal variables, however do not reference them or modify their values.
The Low Limit value must be less than the High Limit value.
The limits in combination with the period must obey the following formula:
For example if the Period is set to 327.67 seconds, then the High Limit can be 655 and
the Low Limit can be 0.
Value
Input Output
Example
Tag Value
Input
Enable Output
The size of the FIFO buffer is defined in the object’s Property Manager display. When
the buffer fills to its specified size, each new input value replaces the oldest stored value.
The Enable is an optional Bool input. If connected, values can be stored in the FIFO only
if the Enable input is True. If the Enable input is False, the buffer is frozen. If there is no
connection, the FIFO is always enabled.
The Output from the object is the latest input value stored in the buffer.
Properties
Int FIFO Indicates the Tag of the integer variable used to access the
buffer’s contents. If the object’s Input is not connected, it also
identifies the source of the values stored in the buffer.
Deadband Specifies the Tag and Initial Value of the integer variable that
determines the deadband. The current value is added to the buffer
only if it has changed from the previous value by at least the
deadband value.
Buffer Size Defines the number of entries in the buffer. The largest allowed
size is 32,767.
Example
In this example, the input to the FIFO object is the integer variable FIFO_In. The Index
23 displayed in the Tags & I/O Browser is the Index used to access the FIFO buffer data.
This Index is specified in the RTPFIFO program's Record List. The deadband in the
FIFO objects Property Manager display was tag named Deadband.
Note that the FIFO object’s output does not equal the input value; the output value does
not change until the input changes by at least the deadband value.
Note: A data value will be stored into an empty FIFO buffer regardless of
the deadband value. Reading the contents of the FIFO buffer with
RTPFIFO empties the buffer, and therefore causes the very next value to
be stored in the buffer. Because of this, the last buffer entry of one FIFO
read operation and first entry of the next FIFO read will not be separated
by the deadband value.
Value
Input Output
Properties
Time Constant Specifies the time constant of the filter. Valid values are from
0.01 to 327.67 seconds. If this field is left at 0 (zero), the
object operations will be performed as fast as possible.
Example
In this example, the Int Waveform Generator is configured as a Triangle Wave with a
Period of 1. The first Int Filter is configured with a TimeConstant of 0, the second Int
Filter is configured with a TimeConstant of 1, and the third Int Filter is configured with a
TimeConstant of 2.
Value
Output
Properties
Example
In this example, the Rate property is set to Seconds. The Bool output is True while the
time is greater than 23 seconds.
On Time Value
The time inputs format will be day:hour:minute. Use the below chart to first convert the
time into a binary number. Then convert the 16 bit word into an integer number. Use a
day of 0 for every day, or 1-7 for Monday through Sunday. Hour must be from 00 to 23.
Minute must be from 00 to 59. Entries made during run time, for example from an HMI,
must be in integer format based on the below chart.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Example
The output of the Schedule object will be True every day from 01:00 PM until 06:00 PM.
Note that the time 0:13:00 will become 3328 and 0:18:00 will become 4608.
Fault Behavior
The On Time must be less than the Off Time.
The output of the Float Add object is the sum of the two floating-point inputs.
Input 1 Value
Input 2 Output
Example
In this example, 7 divided by 2 equals 3, with a remainder of 1.
Fault Behavior
If Input 2 is equal to 0 (zero), resulting in a divide by 0 (zero), the output of this object will
be set equal to 0 (zero).
Tag Value
Input Output
Properties
Example
In this example, the Tags for the Bit Variables are set equal to the integer variable, and
their Bit properties are set to 0, 1, 2, and 3.
Tag Value
Input Output
Properties
Example
In this example, the Tags for the Bit Counter Accumulator objects are set equal to the Int
Counter Accumulator, and their Bit properties are set to 0, 1, 2, and 3. Currently,
accumulated count is 9.
Fault Behavior
If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Tag Value
Input Output
Properties
Example
In this example, the Bit Timer Acc objects’ Tags are set equal to the Integer Timer
Accumulator, and their Bit properties are set to 0, 1, 2 and 3. The accumulated number
of time ticks is 9.
Fault Behavior
If Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Input 1 Value
Input 2
Input 3 Output
Bitwise And
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 0 0 0 0 0
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 1 0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Example
Input 1 Value
Input 2
Input 3 Output
Example
3-36 Int Or
The Int Or object performs a bit-by-bit logical OR of the two, or optionally three, integer
inputs. Input 3 is the optional input.
Input 1 Value
Input 2
Input 3 Output
Bitwise Or
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 0 0 0 0 0
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 1 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Example
Input 1 Value
Input 2 Output
Example
Value
Input Output
Example
The Output cell displays the results of the integer add operation.
Output
Value
Properties
Output Specifies the alphanumeric tag name which will hold the result of
the add operation.
Input 1 Specifies the alphanumeric tag name of integer variable #1,
which is part of the add operation.
Initial Value Specifies the value of integer variable #1, which is part of the
add operation.
Input 2 Specifies the alphanumeric tag name of integer variable #2,
which is part of the add operation.
Initial Value Specifies the value of integer variable #2, which is part of the
add operation.
Input 3 Specifies the alphanumeric tag name of integer variable #3,
which is part of the add operation.
Initial Value Specifies the value of integer variable #3, which is part of the
add operation.
Input 4 Specifies the alphanumeric tag name of integer variable #4,
which is part of the add operation.
Initial Value Specifies the value of integer variable #4, which is part of the
add operation.
Input 5 Specifies the alphanumeric tag name of integer variable #5,
which is part of the add operation.
Initial Value Specifies the value of integer variable #5, which is part of the
add operation.
Input 6 Specifies the alphanumeric tag name of integer variable #6,
which is part of the add operation.
Initial Value Specifies the value of integer variable #6, which is part of the
add operation.
Input 7 Specifies the alphanumeric tag name of integer variable #7,
which is part of the add operation.
Initial Value Specifies the value of integer variable #7, which is part of the
add operation.
Input 8 Specifies the alphanumeric tag name of integer variable #8,
which is part of the add operation.
Initial Value Specifies the value of integer variable #8, which is part of the
add operation.
Input 9 Specifies the alphanumeric tag name of integer variable #9,
which is part of the add operation.
Initial Value Specifies the value of integer variable #9, which is part of the
add operation.
Fault Behavior
If the sum of the inputs is out-of-range, the output for this object is set equal to 32,767 (or
–32,768 if negative) and remains at that value until the result is within range.
Output = Input1 – Input2 – Input3 – Input4 – Input5 – Input6 – Input7 – Input8 – Input9
The Output cell displays the results of the integer subtract operation.
Output
Value
Properties
Output Specifies the alphanumeric tag name which will hold the result of
the subtract operation.
Input 1 Specifies the alphanumeric tag name of integer variable #1,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #1, which is part of the
subtract operation.
Input 2 Specifies the alphanumeric tag name of integer variable #2,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #2, which is part of the
subtract operation.
Input 3 Specifies the alphanumeric tag name of integer variable #3,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #3, which is part of the
subtract operation.
Input 4 Specifies the alphanumeric tag name of integer variable #4,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #4, which is part of the
subtract operation.
Fault Behavior
If the subtraction of the inputs is out-of-range, the output for this object is set equal to
32,767 (or –32,768 if negative) and remains at that value until the result is within range.
Properties
Output Specifies the alphanumeric tag name which will hold the result of
the multiply operation.
Input 1 Specifies the alphanumeric tag name of integer variable #1,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #1, which is part of the
multiply operation.
Input 2 Specifies the alphanumeric tag name of integer variable #2,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #2, which is part of the
multiply operation.
Input 3 Specifies the alphanumeric tag name of integer variable #3,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #3, which is part of the
multiply operation.
Input 4 Specifies the alphanumeric tag name of integer variable #4,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #4, which is part of the
multiply operation.
Input 5 Specifies the alphanumeric tag name of integer variable #5,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #5, which is part of the
multiply operation.
Input 6 Specifies the alphanumeric tag name of integer variable #6,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #6, which is part of the
multiply operation.
Input 7 Specifies the alphanumeric tag name of integer variable #7,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #7, which is part of the
multiply operation.
Input 8 Specifies the alphanumeric tag name of integer variable #8,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #8, which is part of the
multiply operation.
Input 9 Specifies the alphanumeric tag name of integer variable #9,
which is part of the multiply operation.
Initial Value Specifies the value of integer variable #9, which is part of the
multiply operation.
Fault Behavior
If the multiplication of the inputs is out-of-range, the output for this object is set equal to
32,767 (or –32,768 if negative) and remains at that value until the result is within range.
Input
Output
Bits
Value
Properties
Example
In this example, Input is 1, Operation is Shift Left, and number of bits is 4.
4 Bool Objects
4-1 Introduction
This chapter describes the functions performed by the following Bool (Boolean) objects.
Bool Pulse
Tag Value
Output
Tag indicates either the index in the Bool variable array where the object is linked, or the
assigned alphanumeric tag name.
Properties
Bool Constant NetArrays assigns an available index as the Tag when the object
is created. To reassign the Tag, select another index from the list
or select New. To assign an alphanumeric Tag, enter a tag name,
or select an available tag name from the list.
Tag Value
Input Output
Properties
Bool Variable NetArrays assigns an available index as the Tag when the object
is created. Tag indicates either the index in the Bool variable array
where the object is linked, or the assigned alphanumeric tag name.
To reassign the Tag, select another index from the list or select
New. To assign an alphanumeric Tag, enter a tag name, or select
an available tag name from the list.
Initial Value Allows you to specify the object’s initial output value at program
startup.
Retentive Selects the source of the object’s initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager
Tag Value
Input Output
The Value displayed is the value for the object’s Output. Tag indicates the index or
alphanumeric tag name of the controlling Bool Variable object.
Properties
Example
Because the controlling variable is False, the Bool Variable NO switch opens and its
output stays False.
Tag Value
Input Output
The Value displayed is the value of the Output of this object. Tag indicates the index or
alphanumeric tag name of the controlling Bool Variable object only if Tag is not marked
as Read Only.
Properties
Example
Because the controlling variable is False, the Bool Variable NC passes the input value to
its output.
Tag Value
Input Output
The Bool Variable Reset object is used with the Bool Variable Set object. Assign these
objects in pairs, with the same Tag, to create an R-S latch.
Properties
(Tag) NetArrays assigns an available index as the Tag when the object is
created. To reassign the Tag, select another index from the list or select
New. To assign an alphanumeric Tag, enter a tag name, or select an
available tag name from the list.
Example
Tag Value
Input Output
The Bool Variable Set object is used with the Bool Variable Reset object. Assign these
objects in pairs, with the same Tag, to create an R-S latch.
Properties
(Tag) NetArrays assigns an available index as the Tag when the object is
created. To reassign the Tag, select another index from the list or select
New. To assign an alphanumeric Tag, enter a tag name, or select an
available tag name from the list.
Example
Set Value
Toggle
Reset Output
Example
In this example, each time the Integer Timer Accumulator Reset object resets the Timer,
the flip-flop changes state.
Set Value
Latch
Reset Output
Example
Input Output
Value
Properties
Ton Specifies the minimum time the output will be on (True). Valid
entries are from 0 to 32767 milliseconds.
Toff Specifies the minimum time the output will be off (False). Valid
entries are from 0 to 32767 milliseconds.
Example
Input Output
Value
Properties
Pulse Width Specifies the time that the output will be True. Valid entries are
from 0.0 to 3.0 seconds. When the pulse width is zero it operates
like a one-shot.
Example
Input 1 Value
Input 2
Input 3 Output
Boolean And
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 0 0 0 0 0
0 1 0 0 0 1 0
1 0 0 0 1 0 0
1 1 1 0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
Example
Input 1 Value
Input 2
Input 3 Output
Example
4-14 Bool Or
The Bool Or object performs a logical OR of the two, or optionally three, bit inputs. Input
3 is the optional input.
Input 1 Value
Input 2
Input 3 Output
Boolean Or
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 0 0 0 0 0
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 1 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Example
Input 1 Value
Input 2
Input 3 Output
Example
Value
Input Output
Example
Value
Output
The Output cell displays the results for the Boolean Or operation.
Properties
Output Specifies the index or tag name that retains the result for the
Boolean operation.
Input 1 Specifies the index or tag name for Bool variable #1, which is
part of the Or operation.
Initial Value Specifies the value for Bool variable #1, which is part of the Or
operation.
Input 2 Specifies the index or tag name of Bool variable #2, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #2, which is part of the Or
operation.
Input 3 Specifies the index or tag name of Bool variable #3, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #3, which is part of the Or
operation.
Input 4 Specifies the index or tag name of Bool variable #4, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #4, which is part of the Or
operation.
Input 5 Specifies the index or tag name of Bool variable #5, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #5, which is part of the Or
operation.
Input 6 Specifies the index or tag name of Bool variable #6, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #6, which is part of the Or
operation.
Input 7 Specifies the index or tag name of Bool variable #7, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #7, which is part of the Or
operation.
Input 8 Specifies the index or tag name of Bool variable #8, which is part
of the Or operation.
Initial Value Specifies the value of Bool variable #8, which is part of the Or
operation.
Input 9 Specifies the index or tag name of Bool variable #9, which is part
of the Boolean Or operation.
Initial Value Specifies the value of Bool variable #9, which is part of the Or
operation.
Value
Output
The Output cell displays the results for the Boolean And operation.
Properties
Output Specifies the index or tag name that will hold the result of the
operation.
Input 1 Specifies the index or tag name of Bool variable #1, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #1, which is part of the And
operation.
Input 2 Specifies the index or tag name of Bool variable #2, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #2, which is part of the And
operation.
Input 3 Specifies the index or tag name of Bool variable #3, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #3, which is part of the And
operation.
Input 4 Specifies the index or tag name of Bool variable #4, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #4, which is part of the And
operation.
Input 5 Specifies the index or tag name of Bool variable #5, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #5, which is part of the And
operation.
Input 6 Specifies the index or tag name of Bool variable #6, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #6, which is part of the And
operation.
Input 7 Specifies the index or tag name of Bool variable #7, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #7, which is part of the And
operation.
Input 8 Specifies the index or tag name of Bool variable #8, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #8, which is part of the And
operation.
Input 9 Specifies the index or tag name of Bool variable #9, which is part
of the And operation.
Initial Value Specifies the value of Bool variable #9, which is part of the And
operation.
If any of the referenced input values is False, then the output is False also. Otherwise
the output is True.
Value
Output
The Output cell displays the results of the Boolean Nand operation.
Properties
Output Specifies the index or tag name, which will hold the result of the
operation.
Input 1 Specifies the index or tag name of Bool variable #1, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #1, which is part of the Nand
operation.
Input 2 Specifies the index or tag name of Bool variable #2, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #2, which is part of the Nand
operation.
Input 3 Specifies the index or tag name of Bool variable #3, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #3, which is part of the Nand
operation.
Input 4 Specifies the index or tag name of Bool variable #4, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #4, which is part of the Nand
operation.
Input 5 Specifies the index or tag name of Bool variable #5, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #5, which is part of the Nand
operation.
Input 6 Specifies the index or tag name of Bool variable #6, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #6, which is part of the Nand
operation.
Input 7 Specifies the index or tag name of Bool variable #7, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #7, which is part of the Nand
operation.
Input 8 Specifies the index or tag name of Bool variable #8, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #8, which is part of the Nand
operation.
Input 9 Specifies the index or tag name of Bool variable #9, which is part
of the Nand operation.
Initial Value Specifies the value of Bool variable #9, which is part of the Nand
operation.
If any of the referenced input values is False, then the output is True. Otherwise the
output is False.
Input 1 Value
Control
Input 2 Output
Example
5-1 Introduction
This chapter describes the functions performed by the following Counter and Timer
objects.
Bool Timer
Input Output
Reset
The preset value, stored in the Counter Preset variable specifies the number of pulses to
count. The preset can be any value from 0 to 32,767. The Bool Output of the Counter
switches from False to True when it counts the preset number of Input pulses. Once the
count is reached, any additional pulses will not increment the count beyond the preset,
and the Output will remain True. An exception to this is a preset of 0 (zero). This allows
the Counter to freely run, turning over at 32,767. You can access the preset value by
adding an integer variable to a form, and selecting a Tag equal to the Tag assigned to the
Counter Preset of the counter.
The count value is accessed in the associated Count counter accumulator. This will
always have the same Tag as the Counter. (See Properties.) A True at the Reset input
clears the output of the Counter to False, and clears the accumulated count to 0 (zero).
(A Reset input connection is optional.)
Tag indicates either the index in the counter array where the object is linked, or the
assigned alphanumeric tag name.
Note: The Bool Counter and its accumulated count (Int CounterAcc) are
retentive variables. During an update project sequence or retentive
program save, the current values will be saved and used as the initial
values at restart.
Properties
Bool Counter NetArrays assigns an available index as the Tag when the
object is created. To reassign the Tag, select another index
from the list or select New. To assign an alphanumeric Tag
enter a tag name, or select an available tag name from the list.
Int Preset Identifies the tag and initial value of the integer variable object
used to load a preset value into the counter.
Example
The Counter increments each time the Input variable changes from False to True. It will
continue to increment until the preset value of 20 is reached. A True output from the
variable Clear will reset the count to 0 (zero). The current count is 9, as indicated by the
Int Counter Acc object.
Fault Behavior
If the Preset for a counter is 0 (zero), the counter runs freely and turns over at 32,767. If
the Preset for a counter is negative, the counter does not count and Counter Accumulator
will be 0 (zero).
Tag Value
Input Output
The Output Cell displays the output value of this object. Tag indicates the index or tag
name of the controlling Bool Counter object.
Properties
Bool CounterNO NetArrays assigns an available index as the Tag when the
object is created. To use this object, select the Tag of the
controlling Bool Counter from the list.
Count Indicates the tag and initial value for the integer variable
object, which determines the count. Valid values are from 0
to 32,767.
Example
In this example, the Counter has reached the count and the Bool Counter NO acts as a
closed switch.
Fault Behavior
If the Count is negative, the Output for the Counter NO object is False.
If the Tag index is greater than 1023, the compiler reports “error: index exceeds array
bounds”.
Tag Value
Input Output
The Output Cell displays the output value for this object. Tag indicates the index or tag
name for the controlling Bool Counter object.
Properties
Bool CounterNC NetArrays assigns an available index as the Tag when the
object is created. To use this object, select the Tag of the
controlling Bool Counter from the list.
Count Identifies the tag and initial value of the integer variable object,
which determine the count (valid values: 0 through 32,767.
Example
In this example, the Counter equals the count, and the Bool Counter NC acts as an open
switch.
Fault Behavior
If the Count is negative, the Output for the Counter NC object is True.
Tag Value
Output
Properties
Example
The counter accumulator has its index set to the same index as the Bool Counter object.
Fault Behavior
If the Preset for the associated Counter object is negative, the Output for the Counter Acc
object is 0 (zero). If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
SubIndex Output
Properties
Offset Defines the first counter accumulator in the array. The counter accumulator
accessed is located at the Offset plus the SubIndex.
TableSize Defines the number of counter accumulators in the array. The SubIndex
input must be less than the TableSize to access a counter accumulator within
the array. Enter the number of counter accumulators required in the array
(default value is 1024).
Example
The Offset assigned in the Property Manager display is 0 and the TableSize is 3. The
SubIndex input to the Int Counter Acc Array is 2, selecting the accumulator for the Bool
Counter with the index of 2.
Fault Behavior
If the SubIndex value plus the Offset value is negative, greater than the TableSize, or
out-of-range, the Output for the Counter Accumulator Array is 0. (The valid range for
SubIndex is 0 through 1023.)
Tag
Input
Properties
Example
A True input to the Int Counter Acc Reset object clears the Bool Counter RTPC00000
and its accumulator.
Fault Behavior
If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Tag Value
Input Output
Reset
When the Bool Timer object is added to a form, an integer variable (Timer Preset) and an
Int Timer Acc (Count) are also created and assigned Tags. These three objects
collectively implement the timer.
The time-out value is determined by the associated Timer Preset variable and the Period
defined in the Property Manager display (time = number of ticks times the tick period).
Valid Timer Preset values are from 1 to 32,767 ticks. You can access the preset by
adding an integer variable and setting the Tag equal to the Tag assigned to the Timer
Preset. Ticks can occur at either a 1-second, 100-millisecond, 10-millisecond, or 1-
millisecond rate. The number of time ticks elapsed is available in the Count timer
accumulator.
Tag indicates either the index in the timer array where the object is linked, or the
assigned alphanumeric tag name.
Note: The Bool Timer and its accumulated count (Int TimerAcc) are
retentive variables. During an update project sequence or retentive
program save, the current values will be saved and used as the initial
values at restart.
Properties
Bool Timer NetArrays assigns an available index as the Tag when the object is
created. To reassign the Tag, select another index from the list or select
Timer Preset Identifies the value, tag, and initial value of the integer variable
object used to load a preset number of ticks into the timer.
Example
The input to the Timer has been True for 7 seconds. The output of the Timer will remain
False until 10 seconds has elapsed, then it switches to True as long as the Input is True.
Fault Behavior
Setting the Input to False resets the Timer output to False and stops the counting. If the
Timer Preset is negative, the Timer does not count and the Output of the Timer is False.
If the Timer Preset is 0 (zero), the Output of Timer is always True. If the Tag index is
greater than 1023, the compiler displays:
error: index exceeds array bounds.
The Timer count can exceed the Timer Preset value. This can occur when the time
between scans exceeds the time remaining on the Timer Preset value. The applications
programmer must allow for this occurrence.
Tag Value
Input Output
Tag indicates the index or alphanumeric tag name of the controlling Bool Timer object.
Properties
(Tag) NetArrays assigns an available index as the Tag when the object is
created. To use this object, select the Tag of the controlling Bool Timer
from the list.
Example
In this example, the Timer has not timed out yet. Therefore, the Bool Timer NO is an
open switch.
Fault Behavior
If the Preset for the associated Timer is negative, the Output of the Timer NO is False. If
the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Tag Value
Input Output
Tag indicates the index or alphanumeric tag name of the controlling Bool Timer object.
Properties
(Tag) NetArrays assigns an available index as the Tag when the object is
created. To use this object, select the Tag of the controlling Bool Timer
from the list.
Example
In this example, the Timer has not timed out yet. Therefore, the Bool Timer NC is a
closed switch.
Fault Behavior
If the Preset for the associated Timer is negative, the Output of the Timer NC is always
True. If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Tag Value
Output
Properties
Int TimerAcc NetArrays assigns an available index as the Tag when the object
is created. To use this object, set this Tag to the Tag of the associated
Bool Timer.
Example
The input to the Timer has been True for 7 seconds and the Int Timer Acc object
indicates 7.
Fault Behavior
If the Preset for the associated Timer is negative or 0 (zero), the integer timer
accumulator value will be 0 (zero). If the Tag index is greater than 1023, the compiler
displays:
error: index exceeds array bounds.
Properties
Offset Determines the index of the first Int Timer Acc in the array. The timer
accumulator accessed is located at the Offset plus the SubIndex.
TableSize Specifies the number of Int Timer Accs in the array. The SubIndex input
must be less than the TableSize to access a timer accumulator within the
array. Enter a value equal to the number of timer accumulators required in
the array. The default value is 1024.
Example
The Offset assigned in the Property Manager display is 0 and the TableSize is 3. The
SubIndex input to the Int Timer Acc Array is 2, selecting the accumulator of the Timer
with the index of 2.
Fault Behavior
If the SubIndex value plus the Offset value is negative, greater than the TableSize, or
out-of-range, the Output of the Timer Acc Array is 0. (The valid range of SubIndex is 0 –
1023.)
Tag
Input
Properties
Example
The input to the Timer Acc Reset is True. This forces the Timer's output False and
prevents the Timer from incrementing even though its input is True.
Fault Behavior
If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.
Tag Value
Input for Count Up
Input for Count Down
Reset Input Output
Properties
Bool Up/Down Counter Specifies the index or tag name of the counter
accumulator variable. The counter accumulator is in the Int
domain and can hold positive as well as negative counts.
Initial Value Allows you to specify the object's initial output value (count) at
program startup.
Count when Specifies when the input signal triggers an increment or
decrement of the Counter accumulator. The following options for
when to count are available:
Input changes from False to True: Count on rising edge of inputs
Input changes from True to False: Count on falling edge of
inputs
Input is True: Count when inputs are True
Input is False: Count when inputs are False
Reset Resets the counter accumulator to the high limit. It can be also
used to reset the accumulator to the low limit if the object is
configured as an up counter only.
Initial Value Allows you to specify the reset's initial value at program startup.
Preset Low Specifies the index or tag name of the low limit of the counter
accumulator.
Initial Value Allows you to specify the lower limit of the counter accumulator initial
value at program startup.
Preset High Specifies the index or tag name of the high limit of the counter
accumulator.
Initial Value Allows you to specify the high limit of the counter accumulator initial
value at program startup.
SetPoint 00 Specifies the index or tag name of preset #00 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #00 of which a limit comparison will be
performed.
SetPoint 01 Specifies the index or tag name of preset #01 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #01 of which a limit comparison will be
performed.
SetPoint 02 Specifies the index or tag name of preset #02 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #02 of which a limit comparison will be
performed.
SetPoint 03 Specifies the index or tag name of preset #03 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #03 of which a limit comparison will be
performed.
SetPoint 04 Specifies the index or tag name of preset #04 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #04 of which a limit comparison will be
performed.
SetPoint 05 Specifies the index or tag name of preset #05 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #05 of which a limit comparison will be
performed.
SetPoint 06 Specifies the index or tag name of preset #06 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #06 of which a limit comparison will be
performed.
SetPoint 07 Specifies the index or tag name of preset #07 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #07 of which a limit comparison will be
performed.
SetPoint 08 Specifies the index or tag name of preset #08 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #08 of which a limit comparison will be
performed.
SetPoint 09 Specifies the index or tag name of preset #09 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #09 of which a limit comparison will be
performed.
SetPoint 10 Specifies the index or tag name of preset #10 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #10 of which a limit comparison will be
performed.
SetPoint 11 Specifies the index or tag name of preset #11 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #11 of which a limit comparison will be
performed.
SetPoint 12 Specifies the index or tag name of preset #12 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #12 of which a limit comparison will be
performed.
SetPoint 13 Specifies the index or tag name of preset #13 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #13 of which a limit comparison will be
performed.
SetPoint 14 Specifies the index or tag name of preset #14 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #14 of which a limit comparison will be
performed.
SetPoint 15 Specifies the index or tag name of preset #15 of which a limit
comparison will be performed.
Initial Value Allows you to specify preset #15 of which a limit comparison will be
performed.
6 Conversion Objects
6-1 Introduction
This chapter describes the functions performed by the following Conversion objects.
Value
Input Output
Example
Value
Input Output
Example
Value
Input Output
Example
Fault Behavior
For Inputs greater than 9999, the outputs will be equal to 0x9999 (26215).
For negative Inputs, the output will equal 0.
For inputs greater than or equal to 8000, outputs will be negative.
Value
Input Output
Example
Fault Behavior
For negative Inputs, the outputs will be greater than or equal to 8000.
If an invalid BCD input is encountered, the corresponding invalid BCD digit is clipped to 9.
For example, input 31200 is 0x79E0, and because E is an invalid BCD digit it is clipped to
9, which results in an Output value of 7990.
Value
Input Output
Example
Value
Input Output
Properties
Example
Tag
Encodes 16 Bool variable values into one 16-bit integer variable. For example, Bit 10
of the integer variable is encoded as 1 if Boolean variable 10 is True, otherwise it is
encoded as 0.
Decodes one 16-bit integer variable into 16 Bool variables. For example, if the
integer variable has a value of 6, then Bool Variables 01 and 02 are True and all
other Bool variables in the object configuration are False.
Integer Variable
Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Properties
Int Decode/Encode Specifies the index or tag name of the integer variable to
decode or encode.
Initial Value Allows you to specify the integer variables value at program
startup.
Bit 14 Specifies the index or tag name of Bool variable #14 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #14.
Bit 15 Specifies the index or tag name of Bool variable #15 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #15.
7 Form Objects
7-1 Introduction
This chapter describes the functions performed by the following Form objects.
7-2 Escape
The Escape object stops execution of the current form, and returns control to the calling
form, when the input switches to True.
Input
Note! Connection lines for inputs to FForm module form and output value from FForm will
appear when fform inputs (Input_01, Input_02 and Input_03) and a fform output are
placed into page.
If FForm page is not created or it has no inputs/output FForm icon will look as following:
Properties
Void Form Identifies the module form associated with the object.
Fault Behavior
Note: The domain of the inputs to, and the output from, the Legacy FForm object
(Bool, Int, or Float) must agree with the domain of the objects within the FForm.
For example, if Input 1 of the FForm1 object above is connected to the output of
a Float Variable, then the output of FForm1.Input_01 object must be connected
to a Float object within the FForm.
The logic within the Legacy FForm object performs Boolean operations on all five
variables and returns the result to the calling module form. You can easily expand this
five-input / three-output function by defining additional input variables in the calling
module form, and adding additional objects in the FForm.
7-4 FForm In
FForm module forms can contain up to three FForm In objects. These objects access
the Input 1, Input 2, and Input 3 inputs to the FForm object in the calling module form.
Tag
Output
When Output Domain is Form, Domain of FormIn object is defined by domain of input of
connected object. For example, if output of FForm1.Input_01 object is connected to a
Float Variable, Domain of FormIn output will be Float. Note that domain of connected
output of FormIn object should agree with Domain of adequate FForm input.
When Domain of FormIn output is defined by selecting exact Output Domain from list
(see picture below), FormIn output domain must agree with domain of connected object.
For example, if output of FForm1.Input_01 object is defined as float then it can be
connected to a Float Variable but not to Bool or Integer Variable. Note that domain of
connected output of FormIn object should agree with Domain of adequate FForm input.
When FormIn output is connected it is not possible to change its domain.
Properties
Void FormIn Identifies the type and name of the object.
Output Domain Identifies domain of the object (Bool, Int or Float)
Example
Input
When Input Domain is Form, Domain of FormOut object is defined by domain of output of
connected object. For example, if input of FormOut object is connected to a Float
Variable, Domain of FormOut output will be Float. Note that domain of connected input of
FormOut object should agree with Domain of FForm output.
When Domain of FormOut input is defined by selecting exact Input Domain from list (see
picture below), FormOut input domain must agree with domain of connected object. For
example, if input of FormOut object is defined as float then it can be connected to a Float
Variable but not to Bool or Integer Variable. Note that domain of connected input of
FormOut object should agree with Domain of FForm output. When FormOut input is
connected it is not possible to change its domain.
Properties
Input Domain Identifies domain of the object (Bool, Int or Float)
Example
Input 3 Output
Note! Connection lines for inputs to FForm module form and output value from FForm
will appear when fform inputs (Input_01, Input_02 and Input_03) and a fform output are
placed into page.
If FForm page is not created or it has no inputs/output FForm icon will look as following:
Note! Connection lines for inputs to dual FForm module form and outputs values from
dual FForm will appear when fform inputs (Input_01, Input_02, Input_03, Input_04,
Input_05 and Input_06) and a fform outputs (Output_01 and Output_02) are placed into
page.
If FForm page is not created or it has no inputs/output dual FForm icon will look as
following:
Properties
If FForm page is not created or it is empty page, FForm or dual FForm object properties
will look as following:
Void Form Identifies the module form tag associated with the object.
Prefix Identifies the module form prefix associated with the object.
If FForm page is created, link variables, associated with the objects that are placed into
FForm page, will be connected to tags that are automatically created and added to
property manager.
Note! Link variables inside of FForm page have no real tags and they cannot be found in
tag browser. Only tags listed in Property manager window of FForm or dual FForm object
are tags that exist in database and can be found in tag browser. Link variables in page
and Tags in property manager are connected by Description.
For example, If Integer variable, Float variable and Boolean variable are placed in FForm
page, Property manager will show tags associated to linked variables that have the same
description.
FForm. Watch plates of TimerFunction FForm objects show current values of all tags
used in function.
Note! Double click on FForm object will select this FForm object and open FForm page
that will have linked variables to selected FForm objects tags. When objects are forced in
physical page, this has impact only on its appropriate FForm object.
Note! It is possible to force value from watch plate of TimerFunction FForm object, too.
Fault Behavior
Note: The domain of the inputs to, and the output from, the FForm object (Bool,
Int, or Float) must agree with the domain of the objects within the FForm. For
example, if Input 1 of the FForm1 object above is connected to the output of a
Integer Variable, then the output of FForm1.Input_01 object must be connected
to a Integer object within the FForm.
7-7 CForm
The CForm object executes a user-defined function (UDF), which manipulates variables
within the NetArrays project.
To use the object, it must be associated with a UDF CForm file. To accomplish this,
open the object's Property Manager display and select a Tag from the list for an existing
CForm file. Enter the appropriate number of variables and then configure each defined
variable as it is used in the CForm (Variable Type, Tag, Initial Value, and Retentive
property).
If the object is associated with a non-existent CForm file, the CForm Tag, Number of
Variables, and the properties for each variable can be defined as intended in the CForm
object's Property Manager display. Double-click on the CForm object to display the
CForm development window, and then create a CForm. After you create the Cform, save
the Cform file by clicking File > Save CTaskname.cpp as… Refer to Chapter 10 in the
RTP NetSuite Development Software User Guide for further information on UDFs.
Properties
Fault Behavior
While programming, use only those variables listed in the CForm properties inside the
C++ file. Note that later, you can increase or decrease the number of variables provided
the interface is coded manually into the C/C++ source files.
7-8 ST Form
The ST Form object executes a Structured Text User-Defined Function (ST UDF), which
manipulates variables within the NetArrays project.
To use the object, it must be associated with an STForm file. To accomplish this, you
can open the object's Property Manager display and select a Tag of an existing STForm
file from the list. Then enter the appropriate number of variables and then configure each
of the defined variables as they are used in the STForm (Variable Type, Tag, Initial
Value, and Retentive property).
If the object is associated with a non-existent STForm file, you can define the STForm’s
Tag, Number of Variables, and properties for each variable in the STForm object's
Property Manager display. Double-click on the ST Form object to display the STForm
development window, and then create an STForm. After you create the STForm save
the STForm file by clicking File > Save STaskname.stx as…
Refer to the NetArrays Structured Text Reference Manual for more on ST UDFs.
Properties
Fault Behavior
RTP recommends you use only those variables listed in STForm properties inside ST
UDF file. Note that later, you can increase or decrease the number of variables provided
the interface is coded manually into the structured text files.
8 Table Objects
8-1 Introduction
This chapter describes the functions performed by the following Table objects:
Index Table
Search Table
Fill Table
Move Table
Function Table
Tag Value
Subindex
Input
Base Output
The element accessed is determined by an offset into the table equal to the optional
Base input plus the SubIndex input. The Output is the current value of the selected
element. The optional Input, if present, will be written into the selected element.
The Table Size parameter, defined in the Property Manager display, specifies the number
of elements within the table.
Properties
Type Specifies the domain of the table. The default domain is Float when
the object is created. You can change it by selecting Int or Bool from
the list.
Variable Index Table Specifies the starting point of the table. NetArrays
assigns an available tag when the object is created. To reassign the
Tag select New. To assign another tag, enter a tag name, or select
an available tag name from the list. The starting index of the table is
determined by the index of the tag.
Table Size Specifies the size of the table. Valid values are from 0 to 32,767.
Example
In this example, the Domain was set to Int for the Index Table object. Its Tag was set to
RTPI00023. The TableSize was set to 5. As the SubIndex input changes, the output of
the Index Table displays the values of the variables in the table.
Fault Behavior
If the SubIndex value, plus the Base value, plus the Tag Index is negative, out of the
Table range of Indexes, or out-of-range, the Output of Index table Array is 0 (zero).
If the sum of the SubIndex, Base input value, and Tag Index is greater than 32,767, the
Output is 0 (zero).
Tag Value
Search Value
Base Output
You can use an optional Base input to start the search at an offset into the table. The
Output indicates the offset into the table where the matching value was found. If the
value cannot be found, the Output equals the Table Size + 1. An entry in the Property
Manager display, which indicates the number of locations within the table, determines the
Table Size.
Properties
Type Specifies the domain for the table. The default domain is Float when
the object is created. You can change the default domain by
selecting Int or Bool from the list.
Variable Search Table Specifies the starting point of the table. NetArrays
assigns an available Tag when the object is created. To reassign
the Tag, select New. To assign another Tag, enter a tag name or
select an available tag name from the list. The starting index of the
table is determined by the index of the Tag.
Table Size Specifies the size of the table. Valid values are from 0 to 32,767.
Example
In this example, the Domain was set to Int. The Tag of the Search Table was set to
RTPI00024. The object searched through the table, starting at index 24, and found the
first occurrence of 30 at an offset of 2 into the table (24 + 2 = 26).
Fault Behavior
If the Search value cannot be found in table, the Output will equal Tablesize + 1.
If the Base input value, plus the Tag Index is greater than 32,767, the Output will equal
32,767.
Tag
Input
Base
The optional Base input can be used to start the fill operation at an offset into the table.
The Table Size specified in the Property Manager display specifies the number of
locations filled.
Properties
Type Specifies the domain for the table. The default domain is Float when
the object is created. You can change the domain by selecting Int or
Bool from the list.
Variable Fill Table Specifies the starting point of the table. NetArrays
assigns an available Tag when the object is created. To reassign
the Tag select New. To assign another Tag, enter a tag name or
select an available tag name from the list.
TableSize Specifies the number of contiguous entries within the table that are
written to. Valid values are from 0 to 32,767.
Example
In this example, the Domain is set to Float. The Tag of the Fill Table is set to RTF00138.
The TableSize has a value of 2. The Fill Table object writes the input value into two
variables starting at index RTPF00138.
Tag
Source Base
Destination Base
Table Size
The Destination Domain and Tag assigned in the Property Manager display specifies the
Destination table, or table receiving the data. The default Destination domain assigned is
Int.
The optional Source Base and Destination Base inputs to the object can be used to start
the transfer at offsets into the tables. The Table Size input specifies the number of table
elements to move.
Any domain table can be moved to any other domain table. The appropriate Int To Float,
Int To Bool, Bool To Int, or Float To Int conversion is performed during the move
operation.
Properties
Type Specifies the domain for the Source table. The default domain is
Int when the object is created. You can change the default domain
by selecting Float or Bool from the list.
Variable Move Src Specifies the starting point of the Source table.
Destination Specifies the Domain and Tag of the first element in the
Destination table.
TableSize Specifies the number of contiguous entries within the Destination
table. Valid values are from 0 to 32,767.
Example
In this example, the Source Domain is Int and Tag is RTPI00024, the Destination Domain
is Float and Tag is RTPF00009, and the Table Size input to the Move Table object is 3.
This will take three integer variables from indexes RTPI00024, RTPI00025, and
RTPI00026, convert them to floating-point values, and move them to float variables
RTPF0009, RTPF00010, and RTPF00011.
Tag Value
Input Output
Lookup
The Output is determined by an indexed array (0 through n) of user-defined constants.
The Input has to be integer and determines the index into the array. The Output has to
be integer as well. The value of defined outputs for the lowest and the largest defined
inputs in the Constant Array Data define output bound limits. For inputs out of bounds,
the output will be the value defined at the minimum or maximum bound limits
respectively.
Search
A user-defined table of input and output values specifies the Output. If the Input to the
object equals an entry in the table of inputs, the object generates the corresponding
output value. The value of defined outputs for the lowest and the largest defined inputs in
the Constant Array Data define output bound limits. For inputs out of bounds, the output
will be the value defined at the minimum or maximum bound limits respectively.
Step
A user-defined table of input and output values specifies the Output. Each output value
is valid up to the next defined input-output pair of values, which graphically resembles a
step function. The value of defined outputs for the lowest and the largest defined inputs in
the Constant Array Data define output bound limits. For inputs out of bounds, the output
will be the value defined at the minimum or maximum bound limits respectively.
Linear Interpolation
A user-defined table of input and output values specifies the Output. If the Input to the
object is between two defined input values, a linear interpolation scheme is used to
determine the Output from the object. The value of defined outputs for the lowest and the
largest defined inputs in the Constant Array Data define output bound limits. For inputs
out of bounds, the output will be the value defined at the minimum or maximum bound
limits respectively.
The Tag assigned to the object Status specifies the tag name of the integer variable that
holds the error status of the function. An error status equal to 0 (zero) indicates no error.
A non-zero value indicates that the Input index was outside the defined range of defined
input values. The Tag assigned to the object specifies the tag name of the form variable
that indicates the default file name of the function table values. These inputs and outputs
are assigned by entering the appropriate value in the Property Manager display. Note
that for the Lookup function, the index in the Input field automatically increments each
time you enter an output value.
The array of constants can be saved as a CSV file by clicking the Export button. The
default file name of the exported file will be the same as the Tag assigned to the object.
This CSV file can be imported into another Function object later. You also can create a
CVS file using CVS generating programs and then importing the file using the Import
button.
Properties
Function Table Specifies the tag name of the function form variable. The
Tag also identifies the default name of the lookup function
CSV file.
Type | Input Domain Specifies the domain of the Input to the object. The
default domain is Int when the object is created. You can
change it by selecting Float. The object connected to the
Input must be of the same domain. Note that if Lookup
algorithm is selected then only Int domain should be used for
input domain.
Type | Output Domain Specifies the domain of the Output and the domain of
the constants within the output array. The default domain is
Int when the object is created. You can change it by
Note: When multiple Function Tables have the same tag name, changing the
Algorithm for one function table does not change the Algorithm of all the Function
Tables with the same tag name.
Status Specifies the tag name of the lookup function’s error status
variable. The error status integer variable can have one of
four values:
0 No error
1 Input too large
2 Input too small
4 Input is within the range, but the specific value is not in
the table (Search Algorithm only)
Float Output Identifies the value, tag, and initial value of the bool variable
used to save the current object output. User application
program logic should not write into this variable, except for
the object itself..
Input Column The values entered into the Input fields define the input
values in the array. These values must be integers. Note
that for the Lookup algorithm, this is an automatically
incremented index.
Output Column The values entered into the Output fields define the outputs
of the array. These values must match the domain specified
for the Output (Float or Int).
Import This button imports a previously defined Function CSV file.
Before importing a file, the correct Output Domain and
Algorithm parameters must be selected in the Property
Manager display. An Import Constant Array Data dialog will
be displayed, from which you select the file.
Export This button exports the function defined in the Property
Manager display to a Function CSV file. An Export Constant
Array Data dialog will be displayed for saving the file. The
name of the file will be tagname.csv, where tagname is the
Tag assigned in the Property Manager display.
Example 1
In this example, a Lookup Function was created with an Input Domain of Int, an Output
Domain of Int, and a Tag of Pressure. An Int Variable provides the Input and a Int
Variable is connected to the Output. An Int Variable with the Tag “PressureStatus” is
included to monitor the error status.
Example 2
In this example, a Lookup Function and Linear Interpolation Function objects are created. An
Int Variable provides the Input and it is set out of minimum input bound. An Int Variables with
the Tag “RTPI00029 and RTPI00027” monitor the error status. This example shows that
Status variables sets to 2 when input is to small and output of function objects holds value of
defined output at minimum input bound.
Example 3
In this example, we need to edit the Linear Interpolation Function array. An additional
entry needs to be added to the array of outputs. To accomplish this, enter a floating-point
value at the bottom of the Input column, and then enter the corresponding Output value
(as shown below).
To remove an entry, select the row you want to remove and press the Delete key.
9 Special Objects
Note: Commas are not allowed in Text Boxes. If you are copying and
pasting text into a Text Box, be sure to remove all commas in the text
before copying.
Properties
BackColor Allows you to change the background color of the text box using
the standard color dialog.
Font Allows you to select the text font from a list of available fonts.
ForeColor Allows you to change the color of the text using the standard color
dialog.
Height Indicates the height of the text box.
Left Indicates the position of the left edge of the text box.
Text Displays the text entered into the text box.
Top Indicates the position of the upper edge of the text box.
Width Indicates the width of the text box.
10-1 Introduction
This chapter describes the functions performed by the following Ladder Logic objects:
Tag Value
Input Output
Tag indicates the alphanumeric tag of the controlling Bool Variable object.
Properties
Tag Value
Input Output
Tag indicates the alphanumeric tag of the controlling Bool Variable object.
Properties
10-4 Coil
The output from this object, and the associated Bool Variable, equal the input to this
object. Value displays the current output. Tag indicates the alphanumeric tag of the
controlling Bool Variable object.
Tag Value
Input Output
Properties
Tag Value
Input Output
The Latch Coil object is used with the Unlatch Coil Variable. Assign these objects in
pairs, with the same Tag, to create an R-S latch.
Properties
Latch Coil NetArrays assigns an available alphanumeric tag when the object
is created. To reassign the tag select New. To assign a different
alphanumeric tag, type a tag name or select an available tag name
from the list. The assigned Tag will determine which Bool Variable
controls this object.
Initial Value Allows you to specify the object’s initial value at startup.
Retentive Selects the source of the object’s initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Tag Value
Input Output
The Unlatch Coil object is used with the Latch Coil Variable. Assign these objects in
pairs, with the same Tag, to create an R-S latch.
Properties
Unlatch Coil NetArrays assigns an available alphanumeric tag when the object
is created. To reassign the tag select New. To assign a different
alphanumeric tag, type a tag name or select an available tag name
from the list. The assigned Tag will determine which Bool Variable
controls this object.
Initial Value Allows you to specify the object’s initial value at startup.
Retentive Selects the source of the object’s initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Tag Value
Input Output
Tag indicates the alphanumeric tag of the controlling Bool Variable object.
Properties
Tag Value
Input Output
Tag indicates the alphanumeric tag of the controlling Bool Variable object.
Properties
Value
Input Output
Value
Input Output
Tag Value
Input Output
Value displays the current output. Tag indicates the alphanumeric tag of the counter.
Properties
Tag Value
Input Output
Value displays the current output. Tag indicates the alphanumeric tag of the counter.
Properties
Tag Value
Input Output
Properties
Tag Value
Input Output
Properties
Tag Value
Input Output
Properties
11-1 Introduction
This chapter describes the functions performed by the following Node Processor objects.
Online Update
Properties
I/O Errors This Bool variable will indicate if any of the I/O cards
configured in the application program have errors. If this
variable is True, at least one of the I/O card error status word
is indicating an error condition. This variable should be
monitored in 3000D, 3000T and 3000Q SIS! It can also be
monitored in the Distributed Counter Card and Distributed
Servo Card.
Diagnostic Errors This Bool variable will indicate if there are any errors in the
RTP3000 system. If this variable is True, errors exist.
Host Link Status This Bool variable will indicate any failure on the host
communications link. If this variable is True, it indicates
normal communications to on the host link. If variable value
is equal to False, it indicates an interruption in
communications on the host link. Connectors J1 and J2
(3000S only) on the front of a 3000 node processor function
as the Host Ethernet Link
Interlink Link Status This Bool variable will indicate any failure on the
communications link between the Node Processors. If this
variable is True, it indicates normal communications on the
interlink. If the variable value is equal to False, it indicates
an interruption in communications on the link. Connector J2
on the front of a redundant 3000 node processor functions
as the Interlink Port to other redundant node processors.
This variable should be monitored only in 3000D, 3000T and
3000Q SIS!
I/O Path A Link Status This Bool variable will indicate any failure on the
communications link between the selected Node Processor
and Chassis Processors on Port A. If this variable is True, it
indicates normal communications on Port A of the I/O
communications link. Connector J3 on the front of a
redundant 3000-node processor functions as the A I/O Port
to the chassis processors.
On the Distributed Counter Card and Distributed Servo Card,
it indicates communications status to the Node Processor. If
this variable is True, it indicates normal communications on
Port A of the I/O communications link.
I/O Path B Link Status This Bool variable will indicate any failure on the
communications link between the selected Node Processor
and Chassis Processors on Port B. If this variable is True, it
indicates normal communications on Port B of the I/O
communications link. Connector J4 on the front of a 3000
Node Processor functions as the B I/O Port to the chassis
processors.
On the Distributed Counter Card and Distributed Servo Card,
it indicates communications status to the Node Processor. If
this variable is True, it indicates normal communications on
Port B of the I/O communications link.
Scan Cycle This integer variable indicates the time for one scan cycle in
100 microsecond units. If the scan cycle is configured for 25
milliseconds, then the value of this variable should indicate
250. The Node Processor includes a Windowed Watchdog
Timer (WWDT) with a minimum of 3 milliseconds and a
Examples
Example to monitor the maximum and minimum scan cycles of Node Processor A.
Properties
Chassis Number is configured for the Chassis Processor number which will match the
Chassis to pull the information. Valid chassis numbers are between 0 and 15.
Chassis Online Bool Variable can be used to determine if any of the Chassis Processors
of the selected Chassis is operational or not. If the value of this variable is “True”, then it
indicates that at least one of the Chassis Processors in the selected Chassis is online
and operational (Performing I/O).
Chassis I/O Errors Bool Variable can be used to determine if any of the I/O cards
configured in the user application program for the selected chassis have any errors. If
this variable is “True”, then at least one of the I/O card error status word is indicating an
error condition.
Chassis Power Supply1 Errors Boolean variable can be used to determine any failure
on the left (Primary) power supply. If the value of this variable is “True”, then it indicates
a failure on the left (Primary) power supply. If variable value is equal to “False”, the left
power supply is operating without errors.
Chassis Power Supply1 (5V) Floating Point variable will report the 5 Volt power
originating from the left (Primary) power supply. The voltage on the left (Primary) power
supply is adjusted to be 5.05 Volts ±0.05 Volts once every 10 seconds.
Chassis Power Supply1 (24V) Floating Point variable will report the 24 Volt power
originating from the left (Primary) power supply.
Chassis Power Supply1 Temp Floating Point variable will report the board temperature
on the left (Primary) power supply.
Chassis Power Supply2 Errors Boolean variable can be used to determine any failure
on the right (Secondary) power supply. If the value of this variable is “True”, then it
indicates a failure on the right (Secondary) power supply. If the chassis is configured for
redundant power supplies and this variable value is equal to “False”, the right
(Secondary) power supply is operating without errors.
Chassis Power Supply2 (5V) Floating Point variable will report the 5 Volt power
originating from the right (Secondary) power supply. The voltage on the right
(Secondary) power supply is adjusted automatically to be 4.95 Volts ±0.05 Volts once
every 10 seconds. Once every 10 minutes, a test is executed to see if this right
(Secondary) power supply can take over.
Chassis Power Supply2 (24V) Floating Point variable will report the 24 Volt power
originating from the right (Secondary) power supply.
Chassis Power Supply2 Temp Floating Point variable will report the board temperature
on the right (Secondary) power supply.
Chassis Backplane (5V) Floating Point variable will report the 5 Volt power that is
present on the backplane for the I/O cards.
Chassis Backplane (24V) Floating Point variable will report the 24 Volt power that is
present on the backplane for the I/O cards.
Processor Online Bool Variable can be used to determine if the right (Primary) Chassis
Processor is operational or not. If this value is “True”, the right (Primary) Chassis
Processor is online and operational (Performing I/O).
I/O Path A Status Bool Variable can be used to determine any failure on the
communications link between the selected right (Primary) Chassis Processor and Node
Processors on Port A. If the value of this variable is true, then it indicates normal
communications on Port A of the I/O communications link. Connector J1 on the front of a
3000 chassis processor functions as the “A” I/O Port to the node processors.
I/O Path B Status Bool Variable can be used to determine any failure on the
communications link between the selected right (Primary) Chassis Processor and Node
Processors on Port B. If the value of this variable is true, then it indicates normal
communications on Port B of the I/O communications link. Connector J2 on the front of a
3000 chassis processor functions as the “B” I/O Port to the node processors.
Note: Only one I/O port is required for node to chassis communications. The
communications port redundancy on each chassis processor increases system
availability.
Redundant Processor Online Bool Variable can be used to determine if the left
(Secondary) Chassis Processor is operational or not. If this value is “True”, the left
(Secondary) Chassis Processor is online and operational (Performing I/O).
Note: Only one chassis processor is required for node to chassis
communications. The chassis processor redundancy increases system
availability.
I/O Path RA Status Bool Variable can be used to determine any failure on the
communications link between the selected left (Secondary) Chassis Processor and Node
Processors on Port A. If the value of this variable is true, then it indicates normal
communications on Port A of the I/O communications link. Connector J1 on the front of a
3000 chassis processor functions as the “A” I/O Port to the node processors.
I/O Path RB Status Bool Variable can be used to determine any failure on the
communications link between the selected left (Secondary) Chassis Processor and Node
Processors on Port B. If the value of this variable is true, then it indicates normal
communications on Port B of the I/O communications link. Connector J2 on the front of a
3000 chassis processor functions as the “B” I/O Port to the node processors.
Card Online 00 – 17 can be used to determine if the I/O card is online and scanning I/O.
If the value of this variable is true, then the corresponding I/O card in the indicated slot
number is online. The variable does not indicate an error-free operation of the I/O card.
If this variable is false, then the I/O card is offline and is not scanning any I/O.
Input
When the Clear ROnly Forces object value changes to True it disables forcing of read-
only variables, un-forces any forced read-only variables, and clears the count in the Int
ROnly Forces object variable to 0 (zero). Forcing read-only variables may resume when
the input to this object changes back to False.
Example
I
Input
n
p
u the outputs are disabled using this methodology, the output values are still
When
t
calculated, and new values are shown in the Module Forms. However, the actual output
devices are not updated with the current values. Physical updates resume, using the
current calculated values, whenever the input to this object becomes False.
The Disable Outputs object must be defined in the initialization portion of the project. In
general, most projects consist of an initialization block at the beginning of the project that
is only executed once, followed by other blocks that execute in a continuous loop. In
some other portion of the process after the outputs have been calculated, provide some
means to execute this object again, with its input set to False.
Example
During the retentive program save, all variable marked "retentive" will have the current
value saved as the initial value. Following a reset or power up, the target will begin
execution using the newly saved initial values specified for the "retentive" variables.
Input
The input to this object must return to False before another demand target program save
can take place.
Following a reset or power up, the target will begin execution using the retentive values
saved, rather than the initial values specified for the variables.
Note: Program save operations using this object must be limited to one program
save per minute. The number of program saves should be limited to 1,000,000
operations.
Example
Properties
2-0 Tolerance Time Should be configured only when you operate the SIS with
redundant Node Processors. Setting a non-zero value (between
0.01 seconds and 327.67 seconds) enables the SIS to start the
Elapsed timer; when it is Latched true in redundant mode (more
than one node processor had come on line and operational) and
only one Node Processor is left online and operational. If
successful redundant Node Processor operation is not established
within the 2-0 Tolerance Time, the remaining Node Processor CPU
is turned off, effectively de-energizing all outputs and putting the
SIS into a safe state.
Temperature Limit Should be configured to detect cooling failures and turn off the
overheating Node Processor CPU in accordance to IEC61508-7
A.10.1. Node Processor CPU must not operate at over 90 ºC. If
the Initial Value is set to 0 ºC, the feature is deactivated.
Shutdown Node A Variable can be used to reboot Node Processor CPU A, which will
initiate a Power-On-Self-Test (POST). If the variable value
becomes True, then Node Processor CPU A reboots.
This variable can also be used to reboot a Distributed Counter
Card or Distributed Servo Controller Card CPU A.
Shutdown Node B Variable can be used to reboot Node Processor CPU B, which will
initiate a Power-On-Self-Test (POST). If the variable value
becomes True, then Node Processor CPU B reboots.
This variable can also be used to reboot a Distributed Servo
Controller Card CPU B.
Shutdown Node C Variable can be used to reboot Node Processor CPU C, which will
initiate a Power-On-Self-Test (POST). If the variable value
becomes True, then Node Processor CPU C reboots.
This variable can also be used to reboot a Distributed Servo
Controller Card CPU C.
Shutdown Node D Variable can be used to reboot Node Processor CPU D, which will
initiate a Power-On-Self-Test (POST). If the variable value
becomes True, then Node Processor CPU D reboots.
Tag Value
Output
Properties
Int ROnly Forces Specifies the index or tag name of the variable that will monitor the
number of forced (bypassed) read-only variables.
Initial Value Allows you to specify the object's initial output value (number of
forced read-only variables) at program startup.
Retentive Selects the source for the object's initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Tag Value
Output
Properties
Int RW Forces Specifies the index or tag name of the variable that will monitor the
number of forced (bypassed) read-write variables.
Initial Value Allows you to specify the object's initial output value (number of
forced read/write variables) at program startup.
Retentive Selects the source of the object's initial value following an update
project or retentive program save:
True – Retained value from memory
False – Initial Value defined in the Property Manager display
Example