0% found this document useful (0 votes)
107 views256 pages

Netarraysobjects

The document is a reference manual for NetArrays Module Form and Ladder Form Objects, detailing their functions, properties, and examples of use. It includes sections on various object types such as Float, Int, Bool, Counters, Timers, and more, organized into chapters for easy navigation. The manual emphasizes the proprietary nature of the content and is intended for licensed RTP Corp. customers only.

Uploaded by

Prakash Babu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views256 pages

Netarraysobjects

The document is a reference manual for NetArrays Module Form and Ladder Form Objects, detailing their functions, properties, and examples of use. It includes sections on various object types such as Float, Int, Bool, Counters, Timers, and more, organized into chapters for easy navigation. The manual emphasizes the proprietary nature of the content and is intended for licensed RTP Corp. customers only.

Uploaded by

Prakash Babu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 256

Reference Manual

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

© 2002 - 2017 RTP Corporation

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

File Name: netarraysobjects.pdf


Last Updated: 4/4/18

RTP Corp. Confidential


Contents

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

RTP Corp. Confidential iii


NetArrays Module Form and Ladder Form Objects Reference Manual

2-43 Float Multiple Subtract ...................................................................................... 61


2-44 Float Multiple Multiply ....................................................................................... 63
2-45 Float Totalizer .................................................................................................. 65
2-46 Float PST (Partial Stroke Test) ......................................................................... 67
3 Int Objects................................................................................................. 1
3-1 Introduction ........................................................................................................ 1
3-2 Int Constant........................................................................................................ 2
3-3 Int Variable......................................................................................................... 3
3-4 Int Variable Array ............................................................................................... 4
3-5 Bool Greater Than (Int Data) .............................................................................. 6
3-6 Bool Less Than (Int Data) ................................................................................... 7
3-7 Bool Equal (Int Data) .......................................................................................... 8
3-8 Bool Greater Or Equal (Int Data)......................................................................... 9
3-9 Bool Less Or Equal (Int Data) ........................................................................... 10
3-10 Bool Not Equal (Int Data) .................................................................................. 11
3-11 Bool Compare (Int Data) ................................................................................... 12
3-12 Int Invert ........................................................................................................... 13
3-13 Int Absolute Value ............................................................................................ 14
3-14 Int Average....................................................................................................... 15
3-15 Int Add ............................................................................................................. 16
3-16 Int Subtract....................................................................................................... 17
3-17 Int Multiply........................................................................................................ 18
3-18 Int Divide .......................................................................................................... 19
3-19 Int Max ............................................................................................................. 20
3-20 Int Min .............................................................................................................. 21
3-21 Int Limit ............................................................................................................ 22
3-22 Int Ratio ........................................................................................................... 23
3-23 Int Gate ............................................................................................................ 25
3-24 Int Waveform Generator ................................................................................... 26
3-25 Int Delay........................................................................................................... 28
3-26 Int FIFO............................................................................................................ 29
3-27 Int Filter ............................................................................................................ 31
3-28 Int Time ............................................................................................................ 32
3-29 Bool Schedule .................................................................................................. 33
3-30 Int Modulo ........................................................................................................ 34
3-31 Int Bit Variable.................................................................................................. 35
3-32 Int Bit Counter Acc ........................................................................................... 36
3-33 Int Bit Timer Accumulator ................................................................................. 38
3-34 Int And ............................................................................................................. 40
3-35 Int Nand ........................................................................................................... 41
3-36 Int Or................................................................................................................ 42
3-37 Int Xor .............................................................................................................. 43
3-38 Int Complement ................................................................................................ 44
3-39 Int Multiple Add ................................................................................................ 45
3-40 Int Multiple Subtract.......................................................................................... 47
3-41 Int Multiple Multiply ........................................................................................... 49
3-42 Int Shift............................................................................................................. 51
4 Bool Objects ............................................................................................. 1
4-1 Introduction ........................................................................................................ 1
4-2 Bool Constant .................................................................................................... 2
4-3 Bool Variable...................................................................................................... 3
4-4 Bool Variable NO ............................................................................................... 4
4-5 Bool Variable NC................................................................................................ 5
4-6 Bool Variable Reset ............................................................................................ 6

iv RTP Corp. Confidential


Contents

4-7 Bool Variable Set ............................................................................................... 7


4-8 Bool Toggle Flip Flop ......................................................................................... 8
4-9 Bool Latching Flip Flop ....................................................................................... 9
4-10 Bool HOHC ...................................................................................................... 10
4-11 Bool Pulse ........................................................................................................ 11
4-12 Bool And .......................................................................................................... 12
4-13 Bool Nand ........................................................................................................ 13
4-14 Bool Or............................................................................................................. 14
4-15 Bool Xor ........................................................................................................... 15
4-16 Bool Inverter..................................................................................................... 16
4-17 Bool Multiple Or................................................................................................ 17
4-18 Bool Multiple And ............................................................................................. 19
4-19 Bool Multiple Nand ........................................................................................... 21
4-20 Bool Gate ......................................................................................................... 23
5 Counters and Timers Objects ................................................................. 1
5-1 Introduction ........................................................................................................ 1
5-2 Bool Counter ...................................................................................................... 2
5-3 Bool Counter NO ................................................................................................ 4
5-4 Bool Counter NC ................................................................................................ 6
5-5 Int Counter Acc .................................................................................................. 8
5-6 Int Counter AccArray .......................................................................................... 9
5-7 Int Counter Acc Reset ...................................................................................... 10
5-8 Bool Timer........................................................................................................ 11
5-9 Bool Timer NO ................................................................................................. 13
5-10 Bool Timer NC.................................................................................................. 14
5-11 Int Timer Acc .................................................................................................... 15
5-12 Int Timer Acc Array........................................................................................... 16
5-13 Int Timer Acc Reset .......................................................................................... 18
5-14 Bool Up/Down Counter ..................................................................................... 19
6 Conversion Objects ................................................................................. 1
6-1 Introduction ........................................................................................................ 1
6-2 Float Int To Float ................................................................................................ 2
6-3 Bool Int To Bool.................................................................................................. 3
6-4 BCD Int To BCD ................................................................................................. 4
6-5 Int BCD To Int .................................................................................................... 5
6-6 Int Bool To Int ..................................................................................................... 6
6-7 Int Float To Int .................................................................................................... 7
6-8 Int Decode/Encode ............................................................................................. 8
7 Form Objects ............................................................................................ 1
7-1 Introduction ........................................................................................................ 1
7-2 Escape ............................................................................................................... 2
7-3 Legacy FForm .................................................................................................... 3
7-4 FForm In ............................................................................................................ 6
7-5 FForm Out.......................................................................................................... 8
7-6 FForm and dual FForm..................................................................................... 10
7-7 CForm .............................................................................................................. 18
7-8 ST Form ........................................................................................................... 20
8 Table Objects............................................................................................ 1
8-1 Introduction ........................................................................................................ 1
8-2 Index Table ........................................................................................................ 2
8-3 Search Table...................................................................................................... 4
8-4 Fill Table ............................................................................................................ 6
8-5 Move Table ........................................................................................................ 8

RTP Corp. Confidential v


NetArrays Module Form and Ladder Form Objects Reference Manual

8-6 Function Table ................................................................................................. 10


9 Special Objects ........................................................................................ 2
9-1 Text Box............................................................................................................. 2
10 Ladder Logic Objects............................................................................... 1
10-1 Introduction ........................................................................................................ 1
10-2 Examine If Closed .............................................................................................. 2
10-3 Examine If Open ................................................................................................ 3
10-4 Coil .................................................................................................................... 4
10-5 Latch Coil ........................................................................................................... 5
10-6 Unlatch Coil........................................................................................................ 6
10-7 Reset Counter .................................................................................................... 7
10-8 Reset Timer ....................................................................................................... 8
10-9 One Shot Rising Contact .................................................................................... 9
10-10 One Shot Falling Contact.................................................................................. 10
10-11 Count Up Counter ............................................................................................ 11
10-12 Count Down Counter ........................................................................................ 12
10-13 Timer-On Delay ................................................................................................ 13
10-14 Timer-Off Delay ................................................................................................ 14
10-15 Retentive Timer ................................................................................................ 15
11 Node Processor Objects.......................................................................... 1
11-1 Introduction ........................................................................................................ 1
11-2 Node Info ........................................................................................................... 2
11-3 Chassis Info ....................................................................................................... 6
11-4 Clear ROnly Forces ............................................................................................ 9
11-5 Disable Outputs................................................................................................ 10
11-6 Retentive Program Save .................................................................................. 11
11-7 Node Processor Shutdown Object .................................................................... 12
11-8 Int ROnly Forces .............................................................................................. 14
11-9 Int RW Forces .................................................................................................. 15
11-10 Online Update .................................................................................................. 16

vi RTP Corp. Confidential


Introduction

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.

1-2 This Document


This reference manual describes each NetArrays Module Form object and Ladder Form
object, including its function and properties, and in some cases, an example of its use
and its fault behavior.

In examples:
Debug Mode Green background
Edit Mode White background

This manual is divided into the following chapters:


Chapter 1 Describes the content and organization of this reference manual.
Chapter 2 Describes functions performed by the Float (floating-point) objects
Chapter 3 Describes functions performed by the Int (integer) objects
Chapter 4 Describes functions performed by the Bool (Boolean) objects.
Chapter 5 Describes Counters and Timers.
Chapter 6 Describes the Conversion object.
Chapter 7 Describes Form objects.
Chapter 8 Describes Table objects.
Chapter 9 Describes Special object.
Chapter 10 Describes Ladder Logic objects.
Chapter 11 Describes Node Processor objects.

RTP Corp. Confidential 1-1


NetArrays Module Form and Ladder Form Objects Reference Manual

1-3 Module Object Conventions


An object’s fill color indicates its domain.

Color

Cyan Yellow White Dark Blue


Float Objects Integer Objects Bool Objects Can be Any
Domain
Input and Output Domain
The color of an object where an input or output attaches to the object indicates the
domain of the input and output.

Float Input Bool Input Integer Input Bool Output

Required Inputs and Optional Inputs


Required inputs are indicated by a solid attachment line. Optional inputs are indicated by
a dashed attachment line.

Required Inputs Required Inputs

Optional Input Float Output Optional Input Integer


Output

Note: The maximum number of objects allowed on a Module Form is 255.

1-2 RTP Corp. Confidential


Float Objects

2 Float Objects

2-1 Introduction
This chapter describes the functions performed by the following Float (floating-point)
objects.

Float Constant Float Multiple Subtract


Float Variable Float Ratio
Float Variable Array Float Gate
Bool Greater Than Float Filter
Bool Less Than Float Integral
Bool Equal Float Cosine
Bool Greater Or Equal Float Sine
Bool Less Or Equal Float Tangent
Bool Not Equal Float Arc Tangent
Bool Compare Float Exponential
Float Invert Float Power
Float Absolute Value Float Log e
Float Average Float Log 10
Float Add Float Square Root
Float Subtract Float PID
Float Multiply Float Delay
Float Divide Float Lead/Lag Filter
Float Max Float Alarm
Float Min Float TPC
Float Limit Float Waveform Generator
Float Multiple Add Float FIFO
Float PST Multiple Multiply
Float Totalizer

RTP Corp. Confidential 2-1


NetArrays Module Form and Ladder Form Objects Reference Manual

2-2 Float Constant


The output of the Float Constant object is a constant floating-point value. The Output
Cell displays the output value. Tag indicates either the index in the floating-point variable
array where the object is linked, or the assigned alphanumeric tag name. The value of
the constant is set in the Property Manager display.

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.

2-2 RTP Corp. Confidential


Float Objects

2-3 Float Variable


The Float Variable object provides read/write access to a floating-point variable. The
Output Cell displays the current value. Input and Output connections are optional. Tag
indicates either the index in the floating-point variable array where the object is linked, or
the assigned alphanumeric tag name.

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.

RTP Corp. Confidential 2-3


NetArrays Module Form and Ladder Form Objects Reference Manual

2-4 Float Variable Array


The Float Variable Array object provides read/write access to an array of floating-point
variables. The Offset property defines the start of the array and the TableSize property
defines the number of variables in the array. The SubIndex input is added to the Offset
to specify which entry within the array is accessed. The Output Cell displays the value of
the variable accessed. The optional Input, if present, will be written into the selected
element. Input and Output connections are optional. A SubIndex input must be
connected.
SubIndex Value

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.

2-4 RTP Corp. Confidential


Float Objects

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).

RTP Corp. Confidential 2-5


NetArrays Module Form and Ladder Form Objects Reference Manual

2-5 Bool Greater Than (Float Data)


The Bool Greater Than object sets its output to True if the floating-point Input 1 is greater
than Input 2. If not, the output is set to False.

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.

2-6 RTP Corp. Confidential


Float Objects

2-6 Bool Less Than (Float Data)


The Bool Less Than object sets its output to True if the floating-point Input 1 is less than
Input 2. If not, the output is set to False.

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.

RTP Corp. Confidential 2-7


NetArrays Module Form and Ladder Form Objects Reference Manual

2-7 Bool Equal (Float Data)


The Bool Equal object sets its output to True if the floating-point Input 1 is precisely equal
to Input 2. If they differ by any amount, the output is set to False.

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.

2-8 RTP Corp. Confidential


Float Objects

2-8 Bool Greater Or Equal (Float Data)


The Bool Greater Or Equal object sets its output to True if the floating-point Input 1 is
greater than or equal to Input 2. If not, the output is set to False.

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.

RTP Corp. Confidential 2-9


NetArrays Module Form and Ladder Form Objects Reference Manual

2-9 Bool Less Or Equal (Float Data)


The Bool Less Or Equal object sets its output to True if the floating-point Input 1 is less
than or equal to Input 2. If not, the output is set to False.

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.

2-10 RTP Corp. Confidential


Float Objects

2-10 Bool Not Equal (Float Data)


The Bool Not Equal object sets its output to True if the floating-point Input 1 is not equal
to Input 2. If both inputs are precisely equal, the output is set to False.

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.

RTP Corp. Confidential 2-11


NetArrays Module Form and Ladder Form Objects Reference Manual

2-11 Bool Compare (Float Data)


The Bool Compare object converts the floating-point Input to a logic level, with a specified
deadband, or hysteresis, around the switching point. The output of the Compare object
will be True if the input is equal to or greater than the High Limit input. It will be False if
the input value is less than the Low Limit input. The range of values between the high
and low inputs defines the deadband. The output does not change while the input is
within the deadband values. The Low Limit input is optional. If no Low Limit is
connected, the output switches at the High Limit, with no deadband.

High Limit Value


Input
Low Limit Output

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.

2-12 RTP Corp. Confidential


Float Objects

2-12 Float Invert


The Float Invert object changes the sign of the floating-point input. If the input is a
positive value, the output will be a negative value; if the input is a negative value, the
output will be a positive 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.

RTP Corp. Confidential 2-13


NetArrays Module Form and Ladder Form Objects Reference Manual

2-13 Float Absolute Value


The output of the Float Absolute Value object is the absolute value of the input.

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.

2-14 RTP Corp. Confidential


Float Objects

2-14 Float Average


The Float Average object calculates the average of the two, or optionally three, floating-
point inputs.

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.

RTP Corp. Confidential 2-15


NetArrays Module Form and Ladder Form Objects Reference Manual

2-15 Float Add


The output of the Float Add object is the sum of the two floating-point inputs.

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.

2-16 RTP Corp. Confidential


Float Objects

2-16 Float Subtract


The Float Subtract object subtracts the floating-point Input 2 from Input 1.

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.

RTP Corp. Confidential 2-17


NetArrays Module Form and Ladder Form Objects Reference Manual

2-17 Float Multiply


The Float Multiply object multiplies the two floating-point inputs.

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.

2-18 RTP Corp. Confidential


Float Objects

2-18 Float Divide


The Float Divide object divides the floating-point Input 1 by the floating-point input 2. The
result will be a floating-point value.

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.

RTP Corp. Confidential 2-19


NetArrays Module Form and Ladder Form Objects Reference Manual

2-19 Float Max


The output of the Float Max object is set equal to the larger of the two, or largest of the
three, floating-point inputs. Input 3 is the optional input.

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.

2-20 RTP Corp. Confidential


Float Objects

2-20 Float Min


The output of the Float Min object is set equal to the smaller of the two, or smallest of the
three, floating-point inputs. Input 3 is the optional input.

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.

RTP Corp. Confidential 2-21


NetArrays Module Form and Ladder Form Objects Reference Manual

2-21 Float Limit


The Float Limit object limits the value of the output to a value between the High Limit and
the Low Limit. The output will equal the input value, unless the upper or lower limits are
exceeded.

High Limit Value


Input
Low Limit 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.

The Low Limit value must be less than the High Limit value.

2-22 RTP Corp. Confidential


Float Objects

2-22 Float Ratio


The Float Ratio object performs scale and offset calculations on the floating-point input
value. The High Limit and Low Limit inputs determine the range of the input signal. The
Output Max and Output Min variables, specified in the Property Manager display,
determine the range and offset of the output signal. As the input varies between the low
and high input limits, the output will proportionally vary between the minimum and
maximum output values.

High Limit Value


Input
Low Limit Output

The ratio function is expressed as follows:

Output  Input  LowLimit  


OutputMax  OutputMin   OutputMin
HighLimit  LowLimit 

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.

RTP Corp. Confidential 2-23


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-24 RTP Corp. Confidential


Float Objects

2-23 Float Gate


The Float Gate object acts as a switch that selects either of the two inputs as the output,
depending on the state of the control input. If the Control input is True, the output is the
Input 1 value; if the Control input is False, the output is the Input 2 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.

RTP Corp. Confidential 2-25


NetArrays Module Form and Ladder Form Objects Reference Manual

2-24 Float Filter


The Float Filter object limits the rate at which the output is allowed to change. The filter
constant and the number of cascaded filter stages assigned in the Property Manager
controls the cutoff frequency of the filter. Each stage of the filter is represented as the
following:

Input Value

Threshold Output

Each cascade is functions as in the following diagram:

1.0  x
Filter Constant
x + Output
Input

A multi-stage filter is implemented by cascading a number of filter stages together; the


output of one state feeds the input of the following stage. The filter’s function is
expressed as follows:
Yt = Xt + (1) Yt1

Where:
Yt is the output at sampling time t
Yt1 is the output at sampling time t1
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

2-26 RTP Corp. Confidential


Float Objects

Number of Cascades Specifies the number of cascaded filter stages.


Integers from 1 to 10 are valid entries.

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.

RTP Corp. Confidential 2-27


NetArrays Module Form and Ladder Form Objects Reference Manual

2-25 Float Integral


The Float Integral object integrates the input over the specified time period. The Limit
input sets the maximum output level. Reset clears the output to 0 (zero); if the Reset
remains True, the output will always be 0 (zero).

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).

2-28 RTP Corp. Confidential


Float Objects

2-26 Float Cosine


The Float Cosine object generates the cosine of the input. The input angle value is
assumed to be in radians.

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.

RTP Corp. Confidential 2-29


NetArrays Module Form and Ladder Form Objects Reference Manual

2-27 Float Sine


The Float Sine object generates the sine of the input. The input angle value is assumed
to be in radians.

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.

2-30 RTP Corp. Confidential


Float Objects

2-28 Float Tangent


The Float Tangent object generates the tangent of the input. The input angle value is
assumed to be in radians.

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.

RTP Corp. Confidential 2-31


NetArrays Module Form and Ladder Form Objects Reference Manual

2-29 Float Arc Tangent


The Float Arc Tangent object generates the arc tangent of the input. The output value is
in radians.

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.

2-32 RTP Corp. Confidential


Float Objects

2-30 Float Exponential


The Float Exponential object calculates the exponential of the Input.

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.

RTP Corp. Confidential 2-33


NetArrays Module Form and Ladder Form Objects Reference Manual

2-31 Float Power


The Float Power object calculates the Input X to the power of Input Y.

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.

2-34 RTP Corp. Confidential


Float Objects

2-32 Float Log e


The Float Log e object calculates the natural logarithm of the input.

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.

RTP Corp. Confidential 2-35


NetArrays Module Form and Ladder Form Objects Reference Manual

2-33 Float Log 10


The Float Log 10 object calculates the base 10 logarithm of the input.

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.

2-36 RTP Corp. Confidential


Float Objects

2-34 Float Square Root


The Float Square Root object calculates the square root of the input. Attempting to take
the square root of a negative value will result in an output of 0 (zero).

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.

RTP Corp. Confidential 2-37


NetArrays Module Form and Ladder Form Objects Reference Manual

2-35 Float PID


The Float PID object is used to create a Proportional, Integral, and Differential feedback
control loop with Float inputs and outputs. This PID object includes Output and Set Point
rate-of-change limits. Placing the Float PID object onto the form automatically allocates
pre-named Float Variables for the PID parameters. The user-configurable variables are
accessed in the Property Manager display.

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:

2-38 RTP Corp. Confidential


Float Objects

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)

For ISA mode the equation is:

 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)

Inputs and Outputs


(Note that the Process Variable is the only required input, all other inputs are optional.)

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

RTP Corp. Confidential 2-39


NetArrays Module Form and Ladder Form Objects Reference Manual

Forward signal connected to the Float PID object should


correspond to the scale used for the output and cannot
exceed the maximum output value.
Process Variable Measured input (required). The Process Variable
provides the required Float input to the PID object. The
scale of the Process Variable connected to the Float PID
should correspond to the engineering units specified by
the SPHi (Setpoint High Limit) and SPLo (Setpoint Low
Limit) parameters in the Property Manager display.
Reset Resets the Accumulated Error Value. When this
optional Bool input is True, the Accumulated Integration
term is cleared to 0 (zero). This input can be used to
force an initialization of the PID controller.
Clamp Prevents the integral term from increasing. When this
optional Bool input is True, it will clamp the integral term
(i.e., prevent it from increasing) if the absolute value of
the error is increasing. If the absolute value of the error
is decreasing, it will not clamp the integral term.
Manual Forces the output to the Tieback (Manual Mode). When
this optional Bool input is True, it will override the output
calculation and force the output of the Float PID object to
the value present at the Tieback input. When the
Manual input goes False, the output will ramp the output
to the calculated PID value in a bumpless manner. The
rate of the ramping is determined by the integral term, if
one exists, or by the ROCOutM parameter if an integral
term does not exist. During this stage, the proportional
and derivative terms of the PID are not used. The
ramping of the output finishes when the error reaches
the deadband defined by the DB parameter and changes
sign if zero-crossing is enabled. If a deadband is not
configured (zero), the ramping finishes when the error
reduces to 1% of the Setpoint Span (SPHi – SPLo).
Tieback Controller Output value if in Manual Mode. This optional
Float input is used as follows:
 As an Output override value when the Manual input
is True
 As an Integral feedback when the Manual input is
False and the Track Mode is True
When not running in Track mode and the Manual input is
False, the output does a bumpless transfer back to the
calculated PID value. When running in Track mode,
however, and the Manual input is False, the output will
lag to the value set in the Tieback input (Track Value)
plus the value contributed by the Proportional and
Derivative terms, in a bumpless manner at a rate defined
by the Integral term. If the PID is in Track mode, and the
Manual input is False, and the Tieback input is
connected directly to the Output of the PID object, the
operation will be exactly as if the Track option had not
been selected.

2-40 RTP Corp. Confidential


Float Objects

Output Actual PID floating-point output. This can be also


accessed using the Float Variable RTPPIDn.CO.
Set Point Error Error Indicator. This Bool output switches to True if the
Setpoint input value is greater than the value specified in
the SPHi (Setpoint High Limit) or less than the value
specified in the SPLo (Setpoint Low Limit) parameters in
the Property Manager display.
Alarm Limit Alarm. This Bool output is True if the calculated
PID output reaches the value specified in the OutHi
(Output High Limit), or reaches the value specified in the
OutLo (Output Low Limit) parameters in the Property
Manager display.

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.

RTP Corp. Confidential 2-41


NetArrays Module Form and Ladder Form Objects Reference Manual

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

2-42 RTP Corp. Confidential


Float Objects

the amount of time required to correct (reset) a


continuous error.
Kc
The conversion between ISA and IG is Ki  .
Ti  60
Kd:Td Differential Constant Kd [IG] (EU-sec/EU) or
Rate Time Td [ISA] (EU-min/EU)
The Differential Constant Kd is the time required for the
proportional term to match the instantaneous derivative
term for constant change in error at a particular rate.
Increasing this value will increase the effect on the
output for an instantaneous variation in the Error or
Process Variable. The Derivative term acts on either
Error or Process Variable based on the configuration.
The Rate Time Td is similar to the Differential Constant
(Kd) described in the IG constants, but uses a different
time reference. Likewise, increasing this value will
increase the effect on the output for an instantaneous
variation in the error or process variable.
The conversion between ISA and IG is
Kd = Kc x Td x 60.
DB Deadband for Error (EU)
The deadband value allows you to define an error range
(deviation above or below setpoint) in which the actual
error value used for calculation remains 0 (zero). When
the error exceeds the deadband range, the error is
calculated as expected. When the error drops back into
the deadband range (and Use Zero Crossing is ON), the
error continues being calculated until it crosses zero
(changes sign). Then, the error value for calculations
remains 0 (zero) until the actual error exceeds either the
positive or negative deadband range.
Entering a value in the Property Manager display either
during program creation or during debug usually
initializes this value. If this value is left at 0 (zero),
deadband operation is inhibited. The value of the
deadband entered should correspond to the engineering
units specified in the SpHi (Setpoint High Limit) and
SpLo (Setpoint Low Limit) parameters.
DrFlt Derivative Filter Constant (min ISA) or (sec IG)
This value specifies a time constant for a low pass filter
that limits the rate of change of input to the derivative
term. If this value is 0 (zero), no filtering occurs.
The time constant is in terms of seconds in independent
gain mode and minutes in ISA mode. In either instance,
the time constant (DrFlt) must be greater than the
sample time (t) to be effective. If the time constant is
less than the sample period, no filtering will occur. A
time constant of 4 times the sample time is
recommended.

RTP Corp. Confidential 2-43


NetArrays Module Form and Ladder Form Objects Reference Manual

Calculated rate = [(t/DrFlt) * (current rate – previous


calculated rate)] + previously calculated rate
SPHi Setpoint High Limit (EU)
SPLo Setpoint Low Limit (EU)
The required SPHi limit and SPLo limit values set the
range of engineering units for the input and the output.
The setpoint and deadband should be entered in the
same units as specified in these parameters.
The Setpoint High Limit value corresponds to the
engineering value of the Sp input at its maximum value.
The Setpoint Low Limit value corresponds to the
engineering value of the Sp input at its minimum value.
OutHi Output High Limit (EU)
OutLo Output Low Limit (EU)
These high and low output limit values impose limitations
on the Output. If the calculation results in a value for the
controller output (CO) that is outside the specified limits,
the Output is clamped at the limit and the Alarm output is
set to True. The next time the calculation is repeated,
the Integral term is suppressed. This avoids reset
windup when the calculated CO goes off scale.
The Output High Limit value corresponds to the
engineering units value of the output at its maximum
value. The Output Low Limit value corresponds to the
engineering value of the output at its minimum value.
ROCOutA Rate Of Change Limit Output - Auto (EU/sec)
This entry limits how fast the output can change while
the PID is operating in Automatic mode. The value
represents an engineering units value per second.
ROCOutM Rate Of Change Limit Output - Manual (EU/sec)
This entry limits how fast the output can change while
the PID is operating in Manual mode. The value
represents an engineering units value per second. Note
that if the PID changes from Manual to Auto mode, this
limit remains in effect until the deadband is reached, and
then the ROCOutA limit takes over. Therefore, this limit
must be configured, if the PID is configured to use the
Manual input.
ROCSP Rate Of Change Limit Set Point (EU/sec)
This entry limits how fast the Set Point is allowed to
change. The value represents an engineering units
value per second.
CO 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.

2-44 RTP Corp. Confidential


Float Objects

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.

RTP Corp. Confidential 2-45


NetArrays Module Form and Ladder Form Objects Reference Manual

2-36 Float Delay


The output for the Float Delay object is equal to the input, delayed by one scan period.

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.

2-46 RTP Corp. Confidential


Float Objects

2-37 Float Lead-Lag Filter


The Float Lead-Lag Filter object is commonly used to dynamically compensate feed-
forward control adjustments. The transfer function for the Lead-Lag object is as follows:

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.

Depending on the nominal operation design parameters of a system under an active


feedback control, a lag or lead network can cause instability and poor speed and
response times. A lead-lag filter is then a component of the active feedback control
system responsible for correcting the phase of a lead-lag network as desired to obtain a
steady-state.

RTP Corp. Confidential 2-47


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

If the Gain is 0 (zero), the Output will always be 0 (zero).

2-48 RTP Corp. Confidential


Float Objects

2-38 Float Alarm


The Float Alarm object monitors a floating-point input and signals an alarm if that input
rises above a specified high limit or falls below a specified low limit. The Output from the
Float Alarm tracks the input, unless an alarm condition exists. The Input connection to
this object is optional; the input is usually selected in the Property Manager window. The
Reset input is also optional. A False to True transition at the local Reset input clears the
alarm.
Tag Value

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.

RTP Corp. Confidential 2-49


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-50 RTP Corp. Confidential


Float Objects

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.

RTP Corp. Confidential 2-51


NetArrays Module Form and Ladder Form Objects Reference Manual

2-39 Float TPC


The Float Timing Proportioning Controller (TPC) object implements a modulating control
action such as a motor operated valve (MOV).

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.

The following algorithms are available for output pulse generation:


 Fixed On Time
 Fixed Period
 Fixed On & Off Time
If Error = Control Variable - tieback.
Note that if tieback input is not used, Error = Control Variable.
If Error > 0, increased output is active.
If Error < 0, decreased output is active.
For Fixed On time, the off time is calculated as follows:

For Fixed Period, the on time and off time are calculated as follows:

2-52 RTP Corp. Confidential


Float Objects

For Fixed On & Off time, the pulses are determined directly from the referenced
variables:

Properties

Prefix An identification prefix given to each variable associated with


the TPC, and displayed with the TPC object. The default
prefix is RTPTPCn. Changing this field changes the Tag of
each variable. The prefix entered must be 23 characters or
fewer.
Calculation Mode Specifies algorithm used to calculate Increase and Decrease
output pulses. Select either Fixed On, Fixed On & Off, or
Fixed Period.
On Time Specifies the Tag and Initial Value for the Float Variable,
which is used as the fixed on time for Fixed On and Fixed On
& Off output calculations. Valid values are from 0.001
seconds to 65.535 seconds.
Off Time Specifies the Tag and Initial Value for the Float Variable,
which is used as the fixed off time for Fixed On & Off output
calculations. Valid values are from 0.001 seconds to 65.535
seconds.

RTP Corp. Confidential 2-53


NetArrays Module Form and Ladder Form Objects Reference Manual

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).

2-54 RTP Corp. Confidential


Float Objects

2-40 Float Waveform Generator


The Float Waveform Generator object provides a variety of waveform outputs. It can
operate in any of the following modes:

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.

RTP Corp. Confidential 2-55


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-56 RTP Corp. Confidential


Float Objects

2-41 Float FIFO


The Float FIFO object creates a first-in-first-out buffer for floating-point values that can be
accessed at a later time. Each entry in the buffer has a time stamp. The optional Input
connection supplies the value that will be stored in the FIFO. If no Input is connected, the
Tag specified in the Property Manager identifies the Float Variable that supplies the value
to be stored in the FIFO. Values are stored in the FIFO only if they change from the
previous entry by at least the Deadband value. This Deadband is specified by a Float
Variable, which is created when the FIFO object is added to the module form.

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

RTP Corp. Confidential 2-57


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-58 RTP Corp. Confidential


Float Objects

2-42 Float Multiple Add


The output of the Float Multiple Add object is the sum of up to nine floating-point
variables as configured in its Property Manager display.

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.

RTP Corp. Confidential 2-59


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-60 RTP Corp. Confidential


Float Objects

2-43 Float Multiple Subtract


The Float Multiple Subtract object output is the subtraction of up to eight floating-point
variables from the first floating-point variable as configured in its Property Manager
display:

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.

RTP Corp. Confidential 2-61


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-62 RTP Corp. Confidential


Float Objects

2-44 Float Multiple Multiply


The Float Multiple Multiply object output is the multiplication of up to 9 floating-point
variables as configured in its Property Manager display.

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.

RTP Corp. Confidential 2-63


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-64 RTP Corp. Confidential


Float Objects

2-45 Float Totalizer


The Float Totalizer object performs a real-time high-precision integration of the input
variable. The input variable is assumed to be in per seconds, per minutes, per hours, or
per day as configured in its Property Manager display.

Tag Value
Enable
Input
Reset Output

Enable input is optional and if configured, the object will accumulate only when this input
is true.

Input is the engineering unit that will be accumulated by the object.

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.

The Output cell displays the currently accumulated total value.

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.

Rate Specify the engineering units of the input as following:


Seconds: Input is in engineering units per seconds.
Minutes: Input is in engineering units per minutes.
Hours: Input is in engineering units per hours.
Days: Input is in engineering units per days.
Frozen Total Specifies the index or tag name of the Float variable that holds the
accumulated total after a reset occurs.
Initial Value Allows you to specify the initial value of the Float variable Frozen Total.

RTP Corp. Confidential 2-65


NetArrays Module Form and Ladder Form Objects Reference Manual

Example:

2-66 RTP Corp. Confidential


Float Objects

2-46 Float PST (Partial Stroke Test)

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.

- New PGM start

- End of last Test.

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.

Inputs and Outputs


(Note that the Process Variable and Hart Input are the only required inputs, all other
inputs are optional.)

RTP Corp. Confidential 2-67


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

2-68 RTP Corp. Confidential


Float Objects

Properties

Prefix An identification prefix given to each variable associated


with the PST, and displayed with the PST object. The
default prefix is RTPPSTn. Changing this field changes
the Tag of each variable. The prefix entered must be 23
characters or fewer.
Interval (Hours) Configured hours or interval between tests, the minimum
is one hour. The Default is 1 hour.
Up/Down Delay (Seconds) Configured pause in seconds between Up Down
strokes, the minimum is one second. The Default is 1
second.
Stroke (Seconds) This is the number of seconds to change the valve
position, the minimum is one second. Note this is not
enough to generate an error condition based on position.
The Default is 1 second.
Percent Stroke per Seconds Configured Percent to move the value in each
second. The default value is 0.1 (%). Using the default
value to move the valve 10% would require 100 seconds
to change the valve position. Number is signed integer
stored value is 100 times the entered percent to give 2
more decimal places of accuracy. If Configured Percent
is negative, the valve should move in opposite direction.
VP The Initial valve Position in Percent
MinVP Initial analog output valve position in mA at the start of
the test
MaxVF The percent of movement for the valve every second
ROC The number of bits to move the analog output value
every 10 milliseconds.

Example
The parameters of RTPPST1 are shown in the PST Property Manager figures.

RTP Corp. Confidential 2-69


NetArrays Module Form and Ladder Form Objects Reference Manual

2-70 RTP Corp. Confidential


Int Objects

3 Int Objects

3-1 Introduction
This chapter describes the functions performed by the following Signed Integer (Int)
objects.

Int Constant Bool Less Or Equal Int Max

Bool Greater Than Int Invert Int Ratio


Bool Greater Or
Int Add Int Delay
Equal
Bool Compare Int Divide Int Time

Int Average Int Limit Int Bit Variable

Int Multiply Int Waveform Int And


Generator
Int Min Int Filter Int Xor

Int Gate Int Modulo Int Multiple Add


Int Multiple
Int FIFO Int Bit Timer Acc
Subtract
Bool Schedule Int Or Int Multiple Multiply

Int Bit Counter Acc Int Variable Array Int Shift

Int Nand Bool Equal Int Subtract

Int Complement Bool Not Equal Bool Less Than

Int Variable Int Absolute Value

RTP Corp. Confidential 3-1


NetArrays Module Form and Ladder Form Objects Reference Manual

3-2 Int Constant


The Int Constant object output is a constant integer value. The Output Cell displays the
output value.

Tag Value

Output

Tag indicates the alphanumeric assigned tag name.

Properties

Int Constant NetArrays assigns an available automatically created


alphanumeric tag name 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 Specifies object’s value (32,768 to 32,767).

Fault Behavior
The valid range for Integer constant is –32,768 to 32,767.

3-2 RTP Corp. Confidential


Int Objects

3-3 Int Variable


The Int Variable object provides read/write access to a variable. The Output Cell displays
the output value. Input and Output connections are optional.

Tag Value

Input Output

Tag indicates the assigned alphanumeric tag name.

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.

RTP Corp. Confidential 3-3


NetArrays Module Form and Ladder Form Objects Reference Manual

3-4 Int Variable Array


The Int Variable Array object provides read/write access to an array of integer variables.
The Offset property defines the start of the array and the TableSize property defines the
number of variables in the array. The SubIndex input is added to the Offset to specify
which entry within the array is accessed. The Output Cell displays the value of the
variable accessed. The optional Input, if present, will be written into the selected
element.

Value

Sub-index
Input Output

Input and Output connections are optional; a SubIndex input is required.

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.

3-4 RTP Corp. Confidential


Int Objects

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).

RTP Corp. Confidential 3-5


NetArrays Module Form and Ladder Form Objects Reference Manual

3-5 Bool Greater Than (Int Data)


The Bool Greater Than object sets its output to True if the integer Input 1 is greater than
Input 2. If not, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 is greater than Input 2.

3-6 RTP Corp. Confidential


Int Objects

3-6 Bool Less Than (Int Data)


The Bool Less Than object sets its output to True if the integer Input 1 is less than Input
2. If not, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 is less than Input 2.

RTP Corp. Confidential 3-7


NetArrays Module Form and Ladder Form Objects Reference Manual

3-7 Bool Equal (Int Data)


The Bool Equal object sets its output to True if the integer Input 1 is equal to Input 2. If it
is not, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 equals Input 2.

3-8 RTP Corp. Confidential


Int Objects

3-8 Bool Greater Or Equal (Int Data)


The Bool Greater Or Equal object sets its output to True if the integer Input 1 is greater
than or equal to Input 2. If not, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 is greater than Input 2.

RTP Corp. Confidential 3-9


NetArrays Module Form and Ladder Form Objects Reference Manual

3-9 Bool Less Or Equal (Int Data)


The Bool Less Or Equal object sets its output to True if the integer Input 1 is less than or
equal to Input 2. If not, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 is less than Input 2.

3-10 RTP Corp. Confidential


Int Objects

3-10 Bool Not Equal (Int Data)


The Bool Not Equal object sets its output to True if the integer Input 1 is not equal to
Input 2. If both inputs are equal, the output is set to False.

Input 1 Value

Input 2 Output

Example
The output is True because Input 1 is not equal to Input 2.

RTP Corp. Confidential 3-11


NetArrays Module Form and Ladder Form Objects Reference Manual

3-11 Bool Compare (Int Data)


The Bool Compare object converts the integer Input to a logic level, with a specified
deadband, or hysteresis, around the switching point. The output of the Compare object is
True if the input is equal to or greater than the High Limit input. It will be False if the input
value is less than the Low Limit input. The range of values between the high and low
inputs defines the deadband. The output will not change while the input is within the
deadband values.

High Limit Value


Input
Low Limit Output

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.

3-12 RTP Corp. Confidential


Int Objects

3-12 Int Invert


The Int Invert object changes the sign of the integer input. If the input is a positive value,
the output will be a negative value; if the input is a negative value, the output will be a
positive 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.

RTP Corp. Confidential 3-13


NetArrays Module Form and Ladder Form Objects Reference Manual

3-13 Int Absolute Value


The Int Absolute Value object output is the absolute value of the input.

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.

3-14 RTP Corp. Confidential


Int Objects

3-14 Int Average


The Int Average object calculates the average of the two, or optionally three, integer
inputs. Input 3 is an optional input. Decimal points are truncated in the integer averaging
calculations.

Input 1 Value
Input 2
Input 3 Output

Example

RTP Corp. Confidential 3-15


NetArrays Module Form and Ladder Form Objects Reference Manual

3-15 Int Add


The Int Add object output is the sum of the two integer inputs. Note that the output is
limited to the maximum integer value.

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.

3-16 RTP Corp. Confidential


Int Objects

3-16 Int Subtract


The Int Subtract object subtracts integer Input 2 from Input 1.

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.

RTP Corp. Confidential 3-17


NetArrays Module Form and Ladder Form Objects Reference Manual

3-17 Int Multiply


The Int Multiply object multiplies the two inputs together. Note that the output will be
limited to the maximum integer value.

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.

3-18 RTP Corp. Confidential


Int Objects

3-18 Int Divide


The Int Divide object divides integer Input 1 by the integer Input 2. The result will be an
integer value. The remainder is truncated in the integer divide calculations, but can be
determined using the Int Modulo object.

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).

RTP Corp. Confidential 3-19


NetArrays Module Form and Ladder Form Objects Reference Manual

3-19 Int Max


The output of the Int Max object is set equal to the larger of the two, or largest of the
three, integer inputs. Input 3 is the optional input.

Input 1 Value
Input 2
Input 3 Output

Example

3-20 RTP Corp. Confidential


Int Objects

3-20 Int Min


The output of the Int Min object is set equal to the smaller of the two, or smallest of the
three, integer inputs. Input 3 is the optional input.

Input 1 Value
Input 2
Input 3 Output

Example

RTP Corp. Confidential 3-21


NetArrays Module Form and Ladder Form Objects Reference Manual

3-21 Int Limit


The Int Limit object limits the value of the output to a value between the Upper Limit and
the Lower Limit. The output will equal the input value, unless the upper or lower limits
are exceeded.

High Limit Value


Input
Low Limit Output

Example

Fault Behavior
The Low Limit value must be less than the High Limit value.

3-22 RTP Corp. Confidential


Int Objects

3-22 Int Ratio


The Int Ratio object performs scale and offset calculations on the integer input value.
The High Limit and Low Limit inputs determine the range of the input signal. The Output
Max and Output Min values, set in the Property Manager display, determine the range
and offset of the output signal. As the input varies between the low and high input limits,
the output will proportionally vary between the minimum and maximum output values.

High Limit Value


Input
Low Limit Output

The ratio function is expressed as follows:


Output = (Input  LowLimit) * (OutputMax  OutputMin)/(HighLimit  LowLimit) + OutputMin
Decimal points are rounded in the integer ratio calculations.

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.

RTP Corp. Confidential 3-23


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

3-24 RTP Corp. Confidential


Int Objects

3-23 Int Gate


The Int Gate object acts as a multiplexer that selects either of the two inputs as the
output, depending on the state of the control input. If the Control input is True, the output
is the Input 1 value; if the Control input is False, the output is the Input 2 value.

Input 1 Value
Control
Input 2 Output

Example

RTP Corp. Confidential 3-25


NetArrays Module Form and Ladder Form Objects Reference Manual

3-24 Int Waveform Generator


The Int Waveform Generator object provides a variety of waveform outputs. It can
operate in any of the following modes:
Sine Wave The sine wave begins at the midpoint between the high and low
limits and steps through the sine function in 32 steps. The length
of time between each step is the period.
Triangle The triangle wave begins at the low limit and increments by 1
each period until it reaches the high limit. Then the triangle wave
decrements by 1 each period until it reaches the low limit.
Ramp Up The ramp-up wave begins at the low limit and increments by 1
each period until it reaches the high limit.
Ramp Down The ramp-down wave begins at the low limit, and jumps to the
high limit. Then the ramp-down wave decrements by 1 each
period until it reaches the low limit.
Square Wave The square wave begins at the low limit and jumps to the high
limit, where it remains for one period. It then drops to the low
limit where it remains for one period.

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

3-26 RTP Corp. Confidential


Int Objects

Wave Allows you to select the output waveform.


Sine
Triangle
Ramp up
Ramp down
Square
Period The period sets the time interval, in seconds, for each step of the
selected output waveform. Valid values are from 0.01 seconds
to 327.67 seconds.

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:

( High Limit - Low Limit ) x Period < 214748.36

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.

RTP Corp. Confidential 3-27


NetArrays Module Form and Ladder Form Objects Reference Manual

3-25 Int Delay


The output of the Int Delay object is equal to the input, delayed by one scan period.

Value

Input Output

Example

3-28 RTP Corp. Confidential


Int Objects

3-26 Int FIFO


The Int FIFO object creates a first-in-first-out buffer for integer values that can be
accessed at a later time. Each entry in the buffer has a time stamp. The optional Input
connection supplies the value that will be stored in the FIFO. If no Input is connected, the
Tag specified in the Property Manager display identifies the integer variable that supplies
the value to be stored in the FIFO. Values are stored in the FIFO only if they change
from the previous entry by at least the Deadband value. This Deadband is specified by
an integer variable that is created when the FIFO object is added to the module form.

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.

RTP Corp. Confidential 3-29


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

3-30 RTP Corp. Confidential


Int Objects

3-27 Int Filter


The Int Filter object limits the rate at which the output is allowed to change. The amount
of damping is determined by the Time Constant entry in the Property Manager display.

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.

RTP Corp. Confidential 3-31


NetArrays Module Form and Ladder Form Objects Reference Manual

3-28 Int Time


The Int Time object is a clock/calendar generator. The portion of the date/time present at
the output is selected in the Property Manager display. You can choose the year, month,
day, hours, minutes, seconds, or 10-millisecond ticks as the output.

Value

Output

Properties

Rate Allows you to select the date or time output.


System Tick (0-99 in 10-millisecond ticks)
Seconds (0-59)
Minutes (0-59)
Hour (0-23)
Day of Week (Monday = 1 - Sunday = 7)
Day of Month (1-31)
Month (1-12)
Year

Example
In this example, the Rate property is set to Seconds. The Bool output is True while the
time is greater than 23 seconds.

3-32 RTP Corp. Confidential


Int Objects

3-29 Bool Schedule


The output of the Bool Schedule object is True during the time period from the On Time
until the Off Time. Otherwise, the output is False.

On Time Value

Off Time Output

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

Day (0-7) Hour (00-23) Minute (00-59)

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.

RTP Corp. Confidential 3-33


NetArrays Module Form and Ladder Form Objects Reference Manual

3-30 Int Modulo


The Int Modulo object is used to obtain the remainder of a division operation. For
example, if Input 1 equals 7 and Input 2 equals 2, the output of the Integer Divide object
will equal 3 and the output of the Integer Modulo object will equal 1.

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).

3-34 RTP Corp. Confidential


Int Objects

3-31 Int Bit Variable


The Int Bit Variable object provides read/write access to one bit of an integer variable.
The Output is one bit of the 16-bit integer variable, selected by an entry in the Property
Manager display. The Input connection is optional. Note that bit 0 is the LSB (Least
Significant Bit) and bit 15 is the MSB (Most Significant Bit) of the variable.

Tag Value

Input Output

Tag indicates the alphanumeric tag name of the integer variable.

Properties

Int BitVariable 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.
Bit Selects one of the 16-bit positions.

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.

RTP Corp. Confidential 3-35


NetArrays Module Form and Ladder Form Objects Reference Manual

3-32 Int Bit Counter Acc


The Int Bit Counter Acc object provides read/write access to one bit of an Integer Counter
Accumulator. The Input connection is optional. Tag indicates the Integer Counter
Accumulator’s alphanumeric tag name. The Output is one bit of the 16-bit counter
accumulator, which is set in the Property Manager display. Note that bit 0 is the LSB
(Least Significant Bit) and bit 15 is the MSB (Most Significant Bit) of the accumulator.

Tag Value

Input Output

Properties

Int BitCounterAcc 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.
Bit Selects one of the 16-bit positions.

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.

3-36 RTP Corp. Confidential


Int Objects

Fault Behavior
If the Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.

RTP Corp. Confidential 3-37


NetArrays Module Form and Ladder Form Objects Reference Manual

3-33 Int Bit Timer Accumulator


The Int Bit Timer Accumulator object provides read/write access to one bit of an integer
timer accumulator. The Input connection is optional. Tag indicates the alphanumeric tag
name of the Integer Timer Accumulator. The Output is one bit of the 16-bit integer timer
accumulator selected by an entry in the Property Manager display. Note that bit 0 is the
LSB (Least Significant Bit) and bit 15 is the MSB (Most Significant Bit) of the
accumulator.

Tag Value

Input Output

Properties

Int BitTimerAcc 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.
Bit Selects one of the 16-bit positions.

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.

3-38 RTP Corp. Confidential


Int Objects

Fault Behavior
If Tag index is greater than 1023, the compiler displays:
error: index exceeds array bounds.

RTP Corp. Confidential 3-39


NetArrays Module Form and Ladder Form Objects Reference Manual

3-34 Int And


The Int And object performs a bit-by-bit logical AND of the two, or optionally three, integer
inputs. Input 3 is the optional input.

Input 1 Value
Input 2
Input 3 Output

Table 3-1. Bitwise And Truth Table

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

3-40 RTP Corp. Confidential


Int Objects

3-35 Int Nand


The Int Nand object performs a bit-by-bit logical NAND of the two, or optionally three,
integer inputs. Input 3 is the optional input.

Input 1 Value
Input 2

Input 3 Output

Table 3-2. Bitwise Nand Truth Table


Bitwise Nand
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 1 0 0 0 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Example

RTP Corp. Confidential 3-41


NetArrays Module Form and Ladder Form Objects Reference Manual

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

Table 3-3. Bitwise Or Truth Table

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

3-42 RTP Corp. Confidential


Int Objects

3-37 Int Xor


The Int Xor object performs a bit-by-bit logical exclusive-OR of the two integer inputs.

Input 1 Value

Input 2 Output

Table 4-4. Bitwise Xor Truth Table


Bitwise Xor
Two-Input Configuration
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 0

Example

RTP Corp. Confidential 3-43


NetArrays Module Form and Ladder Form Objects Reference Manual

3-38 Int Complement


The Int Complement object performs a bit-by-bit logical complement of the integer input.

Value

Input Output

Example

3-44 RTP Corp. Confidential


Int Objects

3-39 Int Multiple Add


The output of the Int Multiple Add object is the sum of up to nine integer variables as
configured in its Property Manager display.

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.

RTP Corp. Confidential 3-45


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

3-46 RTP Corp. Confidential


Int Objects

3-40 Int Multiple Subtract


The Int Multiple Subtract object output is the subtraction of up to nine integer variables
from the first integer variable as configured in its Property Manager display.

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.

RTP Corp. Confidential 3-47


NetArrays Module Form and Ladder Form Objects Reference Manual

Input 5 Specifies the alphanumeric tag name of integer variable #5,


which is part of the subtract operation.
Initial Value Specifies the value of integer variable #5, which is part of the
subtract operation.
Input 6 Specifies the alphanumeric tag name of integer variable #6,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #6, which is part of the
subtract operation.
Input 7 Specifies the alphanumeric tag name of integer variable #7,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #7, which is part of the
subtract operation.
Input 8 Specifies the alphanumeric tag name of integer variable #8,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #8, which is part of the
subtract operation.
Input 9 Specifies the alphanumeric tag name of integer variable #9,
which is part of the subtract operation.
Initial Value Specifies the value of integer variable #9, 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.

3-48 RTP Corp. Confidential


Int Objects

3-41 Int Multiple Multiply


The Int Multiple Multiply object allows for multiplication of up to nine integer variables as
configured in its Property Manager display.

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.

RTP Corp. Confidential 3-49


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

3-50 RTP Corp. Confidential


Int Objects

3-42 Int Shift


The Int Shift object performs integer shift or rotate operations as configured in its
Property Manager display. The Bits input is an optional input used to specify how many
Bits to rotate or shift the integer input. If not connected, the Bits parameter from the
object property is used. Input is the Integer to manipulate. The Output cell displays the
results of the shift or rotate operation.

Input
Output
Bits

Value

Properties

Operation Specifies the operation to apply to the integer input. Possible


operations are:
Shift Left Shifts the integer input the specified number of bits to
the left. Bits on the left are dropped.
Shift Right Shifts the integer input the specified number of bits to
the right. Bits on the right are dropped.
Rotate Left Rotates the integer input the specified number of bits to
the left. Bits on the left are rotated to the right side of the
integer input.
Rotate Right Rotates the integer input the specified number of bits to
the right. Bits on the right are rotated to the left side of
the integer input.
Bits Specifies how many Bits to rotate or shift the integer input. If the
Bit input to the object is configured, this parameter is disregarded
in the object property.

Example
In this example, Input is 1, Operation is Shift Left, and number of bits is 4.

RTP Corp. Confidential 3-51


Bool Objects

4 Bool Objects

4-1 Introduction
This chapter describes the functions performed by the following Bool (Boolean) objects.

Bool Constant Bool And

Bool Variable Bool Nand

Bool Variable NO Bool Or

Bool Variable NC Bool Xor

Bool Variable Reset Bool Inverter

Bool Variable Set Bool Multiple Or

Bool Toggle Flip Flop Bool Multiple And

Bool Latching Flip Flop Bool Multiple Nand

Bool HOHC Bool Gate

Bool Pulse

RTP Corp. Confidential 4-1


NetArrays Module Form and Ladder Form Objects Reference Manual

4-2 Bool Constant


The output for the Bool Constant object is a constant bit value. The Output Cell displays
the output value.

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.

Initial Value Specifies the object’s value.

4-2 RTP Corp. Confidential


Bool Objects

4-3 Bool Variable


The Bool Variable object provides read/write access to a bit variable. The Output Cell
displays the output value. Input and Output connections are optional.

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

RTP Corp. Confidential 4-3


NetArrays Module Form and Ladder Form Objects Reference Manual

4-4 Bool Variable NO


The Bool Variable NO object operates as a switch controlled by a Bool Variable object.
As long as the value for the Bool Variable object is True, the Output for this object follows
the Input. If the value for the Bool Variable object is False, the contact opens, and the
Output remains False.

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

Bool VariableNO NetArrays assigns an available index as the Tag when


the object is created. To use this object, select the Tag for the
controlling Bool Variable from the list.

Example
Because the controlling variable is False, the Bool Variable NO switch opens and its
output stays False.

4-4 RTP Corp. Confidential


Bool Objects

4-5 Bool Variable NC


The Bool Variable NC object operates as a switch, controlled by a Bool Variable object.
The Output of this object follows the Input as long as the Bool Variable object’s value is
False. If the value for the Bool Variable object is True, the contact opens, and the Output
remains 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

Bool VariableNC NetArrays assigns an available index as the Tag when


the object is created. To use this object, select the Tag for the
controlling Bool Variable from the list.

Example
Because the controlling variable is False, the Bool Variable NC passes the input value to
its output.

RTP Corp. Confidential 4-5


NetArrays Module Form and Ladder Form Objects Reference Manual

4-6 Bool Variable Reset


The Bool Variable Reset object resets the value of a Bool Variable object to False when
its input switches to True. The Bool Variable controlled by this object must have the
same Tag as this object. When the input switches to False, there is no change to the
controlled Bool Variable object's value. The Value of this object follows the Input value.

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

4-6 RTP Corp. Confidential


Bool Objects

4-7 Bool Variable Set


The Bool Variable Set object sets the value of a Bool Variable object to True when its
input switches to True. The Bool Variable controlled by this object must have the same
Tag as this object. When the input switches to False, there is no change to the controlled
Bool Variable object's value. The Value of this object follows the Input value.

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

RTP Corp. Confidential 4-7


NetArrays Module Form and Ladder Form Objects Reference Manual

4-8 Bool Toggle Flip Flop


The Bool Toggle Flip Flop object operates as a toggle flip-flop. A True-to-False transition
on the Toggle input switches the state of the output. A positive level on the Set input will
set the output to True. A positive level on the Reset input will reset the output to False. If
both are positive, the output will be False. If the Set or Reset input is asserted, the
Toggle input will have no effect. Set and Reset connections are optional.

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.

4-8 RTP Corp. Confidential


Bool Objects

4-9 Bool Latching Flip Flop


The Bool Latching Flip Flop object operates as a latching flip-flop. If the Latch input is
True (or not connected), a positive level on the Set input sets the output to True, and a
positive level on the Reset input resets the output to False. If both Set and Reset are
True, the Output is False. If the Latch input is False, the output latches, and the Set and
Reset inputs have no effect on the output. A Latch input connection is optional.

Set Value
Latch
Reset Output

Example

RTP Corp. Confidential 4-9


NetArrays Module Form and Ladder Form Objects Reference Manual

4-10 Bool HOHC


The Bool Hold Open Hold Closed (HOHC) object limits how quickly the output can
transition between its two states. A positive transition at the input causes the output to
switch to True and remain there for the specified on time. A negative transition at the
input causes the output to switch to and remain False for the specified off time. Note that
when the Input changes value, the output also changes its value after the specified time
until the current state expires. As an example, the object can be used in filtering out
contact bounce effects, when using the 3115 or 3126 Digital Input card.

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

4-10 RTP Corp. Confidential


Bool Objects

4-11 Bool Pulse


The Bool Pulse object (usually referred to as a one-shot) produces one positive output
pulse in response to a False to True transition of the input. The pulse width for the output
is specified in the Property Manager and can be from 0 to 3 seconds. Note that while the
output is True, additional positive-going inputs do not re-trigger the object. The object
can be triggered again only when its output transitions back to False.

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

RTP Corp. Confidential 4-11


NetArrays Module Form and Ladder Form Objects Reference Manual

4-12 Bool And


The Bool And object performs a logical AND of the two, or optionally three, bit inputs.
Input 3 is the optional input.

Input 1 Value
Input 2
Input 3 Output

Table 4-5. Boolean And Truth Table

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

4-12 RTP Corp. Confidential


Bool Objects

4-13 Bool Nand


The Bool Nand object performs a logical NAND of the two, or optionally three, bit inputs.
Input 3 is the optional input.

Input 1 Value
Input 2
Input 3 Output

Table 4-6. Boolean Nand Truth Table


Boolean Nand
Two-Input Configuration Three-Input Configuration
Input 1 Input 2 Output Input 1 Input 2 Input 3 Output
0 0 1 0 0 0 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
1 1 0 0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Example

RTP Corp. Confidential 4-13


NetArrays Module Form and Ladder Form Objects Reference Manual

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

Table 4-7. Boolean Or Truth Table

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

4-14 RTP Corp. Confidential


Bool Objects

4-15 Bool Xor


The Bool Xor object performs a logical exclusive OR of the two bit inputs.

Input 1 Value
Input 2
Input 3 Output

Table 4-8. Boolean Xor Truth Table


Boolan Xor
Two-Input Configuration
Input 1 Input 2 Output
0 0 0
0 1 1
1 0 1
1 1 0

Example

RTP Corp. Confidential 4-15


NetArrays Module Form and Ladder Form Objects Reference Manual

4-16 Bool Inverter


The Bool Inverter object performs a logical complement to the bit input.

Value

Input Output

Example

4-16 RTP Corp. Confidential


Bool Objects

4-17 Bool Multiple Or


The Bool Multiple Or object performs a logical OR of up to nine Bool variables as
configured in its Property Manager display.

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.

RTP Corp. Confidential 4-17


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

4-18 RTP Corp. Confidential


Bool Objects

4-18 Bool Multiple And


The Bool Multiple And object performs a logical AND of up to 9 Bool variables as
configured in its Property Manager display.

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.

RTP Corp. Confidential 4-19


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

4-20 RTP Corp. Confidential


Bool Objects

4-19 Bool Multiple Nand


The Bool Multiple Nand object performs a logical NAND of up to 9 Bool variables as
configured in its Property Manager display.

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.

RTP Corp. Confidential 4-21


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

4-22 RTP Corp. Confidential


Bool Objects

4-20 Bool Gate


The Bool Gate object acts as a multiplexor that selects either of the two inputs as the
output, depending on the state of the control input. If the Control input is True, the output
is the Input 1 value; if the Control input is False, the output is the Input 2 value.

Input 1 Value
Control
Input 2 Output

Example

RTP Corp. Confidential 4-23


Counters and Timers Objects

5 Counters and Timers Objects

5-1 Introduction
This chapter describes the functions performed by the following Counter and Timer
objects.

Bool Counter Bool Timer NO

Bool Counter NO Bool Timer NC

Bool Counter NC Int Timer Acc

Int Counter Acc Int Timer Acc Array

Int Counter Acc Array Int Timer Acc Reset

Int Counter Acc Reset Bool Up/Down Counter

Bool Timer

RTP Corp. Confidential 5-1


NetArrays Module Form and Ladder Form Objects Reference Manual

5-2 Bool Counter


The Bool Counter object counts the number of positive-going (False to True) pulses
applied to the Input. When the Bool Counter object is added to a form, an integer
variable (Counter Preset) is also created and assigned Tags. These two objects
collectively implement the counter.
Tag Value

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.

5-2 RTP Corp. Confidential


Counter and Timer Objects

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).

If the Tag index is greater than 1023, the compiler displays:


error: index exceeds array bounds.

RTP Corp. Confidential 5-3


NetArrays Module Form and Ladder Form Objects Reference Manual

5-3 Bool Counter NO


The Bool Counter NO object operates as a switch, controlled by a Bool Counter object.
The Output of this object equals the Input when the associated Bool Counter equals the
count. If the Bool Counter does not equal the count, the switch is open, and the Output
remains False. The count is determined by the value of an integer variable referenced in
the Property Manager display.

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.

5-4 RTP Corp. Confidential


Counter and Timer Objects

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”.

RTP Corp. Confidential 5-5


NetArrays Module Form and Ladder Form Objects Reference Manual

5-4 Bool Counter NC


The Bool Counter NC object operates as a switch controlled by a Bool Counter object.
The Output for this object usually equals the Input. However, when the associated Bool
Counter equals the count, the switch opens, and the Output remains False. The count is
determined by the value of an integer variable referenced in the Property Manager
display.

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.

5-6 RTP Corp. Confidential


Counter and Timer Objects

Fault Behavior
If the Count is negative, the Output for the Counter NC object is True.

If the Tag index is greater than 1023, the compiler displays:


error: index exceeds array bounds.

RTP Corp. Confidential 5-7


NetArrays Module Form and Ladder Form Objects Reference Manual

5-5 Int Counter Acc


The Int Counter Acc object provides access to the count accumulated by an associated
Bool Counter object (for example, the counter with the same Tag). As shown in the
project explorer, a counter accumulator (Count) is created when Bool Counter is added to
a module form. To access this count, set the Tag for this Int Counter Acc object to the
Tag of the Bool Counter.

Tag Value

Output

Note: The counter accumulator (Int CounterAcc) is a retentive variable.


During an update project sequence or retentive program save, the
current value will be saved and used as the initial value at restart.

Properties

Int CounterAcc 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 Counter.

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.

5-8 RTP Corp. Confidential


Counter and Timer Objects

5-6 Int Counter AccArray


The Int Counter AccArray object provides access to the count accumulated by any one of
an array of Bool Counter objects. The SubIndex input is added to the Offset to specify
which entry within the array is accessed. The Output Cell displays the value for the
counter accumulator accessed.
Value

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.)

RTP Corp. Confidential 5-9


NetArrays Module Form and Ladder Form Objects Reference Manual

5-7 Int Counter Acc Reset


The Int Counter Acc Reset object allows you to clear the count accumulated by an
associated Bool Counter object. The accumulated count will reset to 0 (zero) when the
Input goes high. To reset this count, set the Tag for this Int Counter Acc Reset object to
the Tag for the Bool Counter.

Tag

Input

Properties

Int CounterAccReset NetArrays assigns an available index as the Tag when


the object is created. To use this object, select the Tag of the associated
Bool Counter from the list.

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.

5-10 RTP Corp. Confidential


Counter and Timer Objects

5-8 Bool Timer


When Input to the Bool Timer object becomes True, the Timer starts counting from 0
(zero) up to the preset value. The Output changes from False to True when the Input
remains True for the time specified (Timer Preset). Input to the Bool Timer object reverts
to False when the Input changes to False. If the Input goes False before the preset time
is reached, the Timer stops counting. A True at the Reset input clears the output of the
Timer to False, and clears the accumulated count to 0 (zero). (A Reset input connection
is optional.)

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

RTP Corp. Confidential 5-11


NetArrays Module Form and Ladder Form Objects Reference Manual

New. To assign an alphanumeric Tag, enter a tag name, or select an


available tag name from the list.

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.

Period Selects the timer's tick size:


1 second
100 ms
10 ms
1 ms.

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.

5-12 RTP Corp. Confidential


Counter and Timer Objects

5-9 Bool Timer NO


The Bool Timer NO object operates as a switch, controlled by a Bool Timer object. The
Output of this object equals the Input when the Bool Timer object’s value is True. If the
Bool Timer has not timed out, the switch is open, and the Output remains False.

Tag Value

Input Output

The Output Cell displays the output value of this object.

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.

RTP Corp. Confidential 5-13


NetArrays Module Form and Ladder Form Objects Reference Manual

5-10 Bool Timer NC


The Bool Timer NC object operates as a switch, controlled by a Bool Timer object. The
Output of this object equals the Input if the Bool Timer object’s value is False. When the
Bool Timer times out, the contact opens, and the Output stays False.

Tag Value

Input Output

The Output Cell displays the output value of this object.

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.

5-14 RTP Corp. Confidential


Counter and Timer Objects

5-11 Int Timer Acc


The Int Timer Acc object provides access to the time ticks accumulated by an associated
Bool Timer object. As shown in the project explorer, a timer accumulator (Count) is part
of the Bool Timer. You can access the count by setting the Tag of this object to the Tag
of the Bool Timer object.

Tag Value

Output

Note: The timer accumulator (Int TimerAcc) is a retentive variable.


During an update project sequence or retentive program save, the
current value will be saved and used as the initial value at restart.

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.

RTP Corp. Confidential 5-15


NetArrays Module Form and Ladder Form Objects Reference Manual

5-12 Int Timer Acc Array


The Int Timer Accumulator Array object provides access to the time ticks accumulated by
an array of Bool Timer objects. The Offset property defines the first timer accumulator in
the array and the TableSize property defines the number of timer accumulators in the
array. The SubIndex input is added to the Offset to specify which entry within the array is
accessed. The Output Cell displays the value of the timer accumulator accessed.

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.

5-16 RTP Corp. Confidential


Counter and Timer Objects

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.)

RTP Corp. Confidential 5-17


NetArrays Module Form and Ladder Form Objects Reference Manual

5-13 Int Timer Acc Reset


The Int Timer Acc Reset object allows you to clear the time ticks accumulated by an
associated Bool Timer. A positive True signal at the Input resets the accumulated count
to 0 (zero). To reset this count, set the Tag of this Int Timer Acc Reset object to the Tag
of the Bool Timer.

Tag

Input

Properties

Int TimerAccReset NetArrays assigns an available index as the Tag when


the object is created. To use this object, select the Tag of the associated
Bool Timer from the list.

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.

5-18 RTP Corp. Confidential


Counter and Timer Objects

5-14 Bool Up/Down Counter


The Bool Up/Down Counter object counts up or down based on how it is configured. It
can count on the rising edge of a Boolean signal, the falling edge of a Boolean signal,
Boolean true or Boolean false. Low and high limits determine the count boundaries.
Reset the object using the Reset input and/or the configured Reset variable in the
Property Manager display. Up to 16 preset values can be configured to determine
whether the count has reached a pre-configured value. The result of the count
comparison is bit-encoded into the output variable.

Tag Value
Input for Count Up
Input for Count Down
Reset Input Output

Input for Counting Up


Use when a Bool signal will result in an increment in the
counter accumulator.
Input for Counting Down Use when a Bool signal will result in a decrement in the
counter accumulator.
Reset Input Use to reset the accumulator to the lower limit. Also use to
reset the accumulator to the high limit only if the object is
configured as a down counter.
Output Displays the current value for the counter accumulator.

RTP Corp. Confidential 5-19


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

5-20 RTP Corp. Confidential


Counter and Timer Objects

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.

RTP Corp. Confidential 5-21


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

5-22 RTP Corp. Confidential


Conversion Objects

6 Conversion Objects

6-1 Introduction
This chapter describes the functions performed by the following Conversion objects.

Float Int To Float Int Bool To Int

Float Int To Float Int Float To Int

BCD Int To BCD Int Encode/Decode

Int BCD To Int

RTP Corp. Confidential 6-1


NetArrays Module Form and Ladder Form Objects Reference Manual

6-2 Float Int To Float


The Float Int To Float object converts an integer value into a floating-point value.

Value

Input Output

Example

6-2 RTP Corp. Confidential


Conversion Objects

6-3 Bool Int To Bool


The Bool Int To Bool object changes/converts the integer value to a Boolean value. This
object sets its output to False if the integer input value is equal to 0 (zero). For all other
input values, the output is True.

Value

Input Output

Example

RTP Corp. Confidential 6-3


NetArrays Module Form and Ladder Form Objects Reference Manual

6-4 BCD Int To BCD


The BCD Int To BCD object converts the 16-bit integer input value into a Binary Coded
Decimal (BCD) output value. The maximum output 16-bit value is 0x9999 (hexadecimal
value). Any Input values greater than 9999 produce an output of 0x9999 (26215
decimal value).

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.

6-4 RTP Corp. Confidential


Conversion Objects

6-5 Int BCD To Int


The Int BCD To Int object converts the binary coded decimal (BCD) input value into an
integer output value.

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.

RTP Corp. Confidential 6-5


NetArrays Module Form and Ladder Form Objects Reference Manual

6-6 Int Bool To Int


The Int Bool To Int object converts the bit input value into a 16-bit integer output value.

Value

Input Output

Example

6-6 RTP Corp. Confidential


Conversion Objects

6-7 Int Float To Int


The Int Float To Int object converts a floating-point value into an integer value. The
output range is –32,768 to +32,767.

Value

Input Output

Properties

Truncate Fractions If enabled, any fractional part of the floating-point value


is discarded. If disabled, the converted result is
rounded, up or down, to the nearest integer value.

Example

RTP Corp. Confidential 6-7


NetArrays Module Form and Ladder Form Objects Reference Manual

6-8 Int Decode/Encode


Based on the property configuration, the object performs one of the following:

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.

6-8 RTP Corp. Confidential


Conversion Objects

Operation Specify whether you want to


Decode the integer variable into 16 Bool variables
or
Encode 16 Bool variables into an integer variable
Bit 00 Specifies the index or tag name of Bool variable #00 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #00.
Bit 01 Specifies the index or tag name of Bool variable #01 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #01.
Bit 02 Specifies the index or tag name of Bool variable #02 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #02.
Bit 03 Specifies the index or tag name of Bool variable #03 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #03.
Bit 04 Specifies the index or tag name of Bool variable #04 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #04.
Bit 05 Specifies the index or tag name of Bool variable #05 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #05.
Bit 06 Specifies the index or tag name of Bool variable #06 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #06.
Bit 07 Specifies the index or tag name of Bool variable #07 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #07.
Bit 08 Specifies the index or tag name of Bool variable #08 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #08.
Bit 09 Specifies the index or tag name of Bool variable #09 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #09.
Bit 10 Specifies the index or tag name of Bool variable #10 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #10.
Bit 11 Specifies the index or tag name of Bool variable #11 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #11.
Bit 12 Specifies the index or tag name of Bool variable #12 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #12.
Bit 13 Specifies the index or tag name of Bool variable #13 to decode
or encode.
Initial Value Allows you to specify the initial value of Bool variable #13.

RTP Corp. Confidential 6-9


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

6-10 RTP Corp. Confidential


Form Objects

7 Form Objects

7-1 Introduction
This chapter describes the functions performed by the following Form objects.

Escape FForm Out

Legacy FForm C++ UDF Form

FForm In ST UDF Form

FForm Dual FForm

RTP Corp. Confidential 7-1


NetArrays Module Form and Ladder Form Objects Reference Manual

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

7-2 RTP Corp. Confidential


Form Objects

7-3 Legacy FForm


The Legacy FForm object performs a jump to an FForm module form. The inputs, if
used, are passed to the FForm In objects in the FForm module form. The objects in the
FForm determine the domains for the inputs to the FForm object. An input can be
Boolean, integer, or floating-point, but it must match the input expected by the connected
object in the FForm. The output from the FForm Out object is returned as the Output of
this object. This FForm form allows placing another FForm object in its page.

Function Name Value


Input 1
Input 2
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:

Properties

Void Form Identifies the module form associated with the object.

RTP Corp. Confidential 7-3


NetArrays Module Form and Ladder Form Objects Reference Manual

Example 1 – Three Input Float Add


This example shows an Legacy FForm object and the module form that it calls. Module
FForm1 sums three Float Variables and returns the result to the output of the Legacy
FForm 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.

7-4 RTP Corp. Confidential


Form Objects

Example 2 – Five Input Bool OR


The second example shows how an Legacy FForm object can create a function using an
unlimited number of inputs (or outputs). In the module form that calls the FForm, all the
variables used in the FForm FForm1, must be initialized before the Legacy FForm object
is executed (that is, it must be to the right and below the other objects). The result is
returned to Bool Variables OUTPUT_0, OUTPUT_1 and OUTPUT_2.

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.

RTP Corp. Confidential 7-5


NetArrays Module Form and Ladder Form Objects Reference Manual

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

In this example, the FForm1_Input_01 is defined as boolean, FForm1_Input_02 is


defined as integer and FForm3_Input_01 is defined as float.

7-6 RTP Corp. Confidential


Form Objects

RTP Corp. Confidential 7-7


NetArrays Module Form and Ladder Form Objects Reference Manual

7-5 FForm Out


An FForm module form can contain only one FForm Out object. The FForm Out object
passes the output value of the FForm module form back to the FForm object of the
calling module form.

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

In this example, the FForm1_Input_01 is defined as boolean, FForm1_Input_02 is


defined as integer and FForm3_Input_01 is defined as float.

7-8 RTP Corp. Confidential


Form Objects

RTP Corp. Confidential 7-9


NetArrays Module Form and Ladder Form Objects Reference Manual

7-6 FForm and dual FForm


The FForm and dual FForm have the same functionality with only difference in size of
object icon and maximum number of inputs and outputs. The FForm has single size icon
and up to 3 inputs and only one output. The dual FForm has double size icon and up to 6
inputs and up to 2 outputs. The FForm or dual FForm object performs a jump to an
FForm module form. The inputs, if used, are passed to the FForm In objects in the
FForm module form. The FForm or dual FForm page don’t allow placing another FForm
object in their pages. The objects in the FForm page determine the domains for the
inputs to the FForm or dual FForm object. An input can be Boolean, integer, or floating-
point, but it must match the input expected by the connected object in the FForm. The
output from the FForm Out object is returned as the Output of this object. The following
picture shows single FForm object.

Function Name Value


Input 1
Input 2

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:

The following picture shows dual FForm object.

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.

7-10 RTP Corp. Confidential


Form Objects

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.

RTP Corp. Confidential 7-11


NetArrays Module Form and Ladder Form Objects Reference Manual

Example 1 – FForm Copy As New


To call FForm function with different arguments it is necessary to copy FForm As New
which will keep the same name of FForm and allocate new tags and new prefix. The first
FForm object has RTPFF1.RTPF00000 and RTPFF1.RTPI00000 as arguments and
second one has RTPFF11.RTPF00000 and RTPFF11.RTPI00000 as arguments

Example 2 – Timer Function with different arguments


This example shows how TimerFunction FForm works with 2 different settings for timer
preset 20 seconds and preset 10 seconds. Note! When the FForm object is selected and
double clicked it will call physical FForm page that works with tags from that selected

7-12 RTP Corp. Confidential


Form Objects

FForm. Watch plates of TimerFunction FForm objects show current values of all tags
used in function.

Example 3 – Forcing from FForm page


This example shows forcing when two functions with the same name but different
variables are running. In this example TimerFunction page is called from first FForm (with
prefix FF1) and GenMax and Timer1Input variables are forced from TimerFunction page.

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.

RTP Corp. Confidential 7-13


NetArrays Module Form and Ladder Form Objects Reference Manual

Example 4 – wave generator called in function with different


arguments
This example shows different wave generator outputs by calling the same function with
different arguments – different wave generator maximum input value. This is one more
example for calling the same function but different arguments that produce different
outputs.

7-14 RTP Corp. Confidential


Form Objects

Example 5 – wave generator called in function with the same


arguments
It is possible to call the same function with the same argument several times and this
should always give the same result.

RTP Corp. Confidential 7-15


NetArrays Module Form and Ladder Form Objects Reference Manual

Example 6 – dual FForm AddSub function with different arguments


This example shows working of dual FForm object that has AddSub function name and 4
inputs and 2 outputs. The first 3 inputs will be added in AddSub function and show result
in Output 1 and then Input 4 will be subtracted from Input 1 and result will be shown in
Output 2.

7-16 RTP Corp. Confidential


Form Objects

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.

RTP Corp. Confidential 7-17


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

Note: To protect the intellectual properties developed in C-Code the User-Defined


Function object (UDF) should be compiled (build project) and then the entire NetArrays
application should be compiled. Once this is done, the .cpp file or files should be moved
to another safe location. This prevents any one from opening and observing the
proprietary code contained in the UDF. To view the code, simply move the .cpp file back
to the original location.

Properties

CPP UDF Specifies the tag name for the CForm.


Number of Variables Specifies the number of variables used within the UDL.
The default is 3.
Variable Type Specifies the domain of the variable (Float, Int, Bool,
CounterAcc, or TimerAcc). After specifying the domain, assign
a tag, initial value, and retentive property to the variable as
required.

7-18 RTP Corp. Confidential


Form Objects

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.

RTP Corp. Confidential 7-19


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

Note: To protect the intellectual properties developed in ST-Code the User-Defined


Function object (UDF) should be compiled (build project) and then the entire NetArrays
application should be compiled. Once this is done, the .stx file or files should be moved to
another safe location. This prevents any one from opening and observing the proprietary
code contained in the UDF. To view the code, simply move the .stx file back to the
original location.

Properties

ST UDF Specifies the tag name of the STForm.


# of Variables Specifies the number of variables used within the ST UDF. The default
is 3.
Type Specifies the domain of the variable (Float, Int, Bool, CounterAcc, or
TimerAcc). After specifying the domain, assign a tag, initial value, and
retentive property to the variable as required.

7-20 RTP Corp. Confidential


Form Objects

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.

RTP Corp. Confidential 7-21


Table Objects

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

RTP Corp. Confidential 8-1


NetArrays Module Form and Ladder Form Objects Reference Manual

8-2 Index Table


The Index Table object allows read/write access to an element within a table. The
Domain field in the Property Manager display (Initially, the default domain is Float.)
determines the I/O Array where the table resides. The Tag assigned to the object
determines the Tag assigned to the object’s starting index of the table within the array.

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.

8-2 RTP Corp. Confidential


Table Objects

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).

RTP Corp. Confidential 8-3


NetArrays Module Form and Ladder Form Objects Reference Manual

8-3 Search Table


The Search Table object locates the first occurrence of a specific value within a table.
The Search Value input specifies the value involved in the search. The Domain field in
the Property Manager display (Initially, the domain defaults to Float.) determines the
particular I/O Array where the table resides. The Tag assigned to the object’s starting
index of the table within the array.

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.

8-4 RTP Corp. Confidential


Table Objects

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.

RTP Corp. Confidential 8-5


NetArrays Module Form and Ladder Form Objects Reference Manual

8-4 Fill Table


The Fill Table object writes the Input value to a number of contiguous locations within a
table. The Domain field in the Property Manager display determines the particular I/O
Array where the table resides. (Initially, the domain defaults to Float.) The starting index
of the table within the array is determined by the Tag assigned to the object.

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.

8-6 RTP Corp. Confidential


Table Objects

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.

RTP Corp. Confidential 8-7


NetArrays Module Form and Ladder Form Objects Reference Manual

8-5 Move Table


The Move Table object moves a number of contiguous locations within one table into
contiguous locations of another table. The Source table, or table supplying the data, is
determined by the Domain and Tag properties assigned to the object. Initially, the
domain assigned is Int.

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

8-8 RTP Corp. Confidential


Table Objects

RTPI00026, convert them to floating-point values, and move them to float variables
RTPF0009, RTPF00010, and RTPF00011.

RTP Corp. Confidential 8-9


NetArrays Module Form and Ladder Form Objects Reference Manual

8-6 Function Table


The Function Table object generates an output based on an array of user-defined
constants and a selected algorithm. The Input and the Output can be integer or floating-
point values. The calculated value is displayed in the Value field of the object. Four
algorithms are available:

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.

8-10 RTP Corp. Confidential


Table Objects

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.

Note: The maximum number of user-defined output values is 32,767.

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

RTP Corp. Confidential 8-11


NetArrays Module Form and Ladder Form Objects Reference Manual

selecting Float. The object connected to the Output must be


of the same domain. Note that if Lookup algorithm is
selected then only Int domain should be used for output
domain.
Algorithm Select the algorithm used to generate the outputs from the
list:
Lookup
Search
Step
Linear Interpolation

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.

8-12 RTP Corp. Confidential


Table Objects

The content of the exported CSV file (Pressure.csv) is shown below.


2
7
8
5
6
9

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).

RTP Corp. Confidential 8-13


NetArrays Module Form and Ladder Form Objects Reference Manual

To remove an entry, select the row you want to remove and press the Delete key.

Note: This object is certified for Safety Integrity Function

8-14 RTP Corp. Confidential


NetArrays Module Form and Ladder Form Objects Reference Manual

9 Special Objects

9-1 Text Box


The Text Box object allows you to add descriptive notes to the module form. Click on the
side or bottom of the box to resize it. Click on the top of the box to move it. Click on the
close button (x) to remove the text box from the form.

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.

9-2 RTP Corp. Confidential


Ladder Logic Objects

10 Ladder Logic Objects

10-1 Introduction
This chapter describes the functions performed by the following Ladder Logic objects:

Examine If Closed One Shot Rising Contact


Examine If Open One Shot Falling Contact
Coil Count Up Counter
Latch Coil Count Down Counter
Unlatch Coil Timer-On Delay
Reset Counter Timer-Off Delay
Reset Timer Retentive Timer

RTP Corp. Confidential 10-1


NetArrays Module Form and Ladder Form Objects Reference Manual

10-2 Examine If Closed


The Examine If Closed object is similar to a normally open (NO) switch. It provides
continuity from the input to the output if the associated Bool Variable is True. Value
displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the controlling Bool Variable object.

Properties

Examine if Closed 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.
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

10-2 RTP Corp. Confidential


Ladder Logic Objects

10-3 Examine If Open


The Examine If Open object is analogous to a normally closed (NC) switch. It provides
continuity from the input to the output if the associated Bool Variable is False. Value
displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the controlling Bool Variable object.

Properties

Examine if Open 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.
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

RTP Corp. Confidential 10-3


NetArrays Module Form and Ladder Form Objects Reference Manual

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

Note that only one coil object is allowed per row.

Properties

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

10-4 RTP Corp. Confidential


Ladder Logic Objects

10-5 Latch Coil


If the input to this object becomes True, the output from this object, and the associated
Bool Variable, become True. If the input returns to False, there will be no change of the
output or the associated Bool Variable. Value displays the current output. Tag indicates
the alphanumeric tag of the controlling Bool Variable object.

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.

Note that only one coil object is allowed per row.

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

RTP Corp. Confidential 10-5


NetArrays Module Form and Ladder Form Objects Reference Manual

10-6 Unlatch Coil


If the input to this object becomes True, the output from this object, and the associated
Bool Variable, become False. If the input returns to False, there is no change of the
output or the associated Bool Variable. Value displays the current output. Tag indicates
the alphanumeric tag of the controlling Bool Variable object.

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.

Note that only one coil object is allowed per row.

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

10-6 RTP Corp. Confidential


Ladder Logic Objects

10-7 Reset Counter


If the input to this object is True, the output from this object is True and the associated
counter and counter accumulator reset. The counter remains reset as long as the output
of this object is True. If the input is False, the output is False and the counter is allowed
to count. Value displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the controlling Bool Variable object.

Note that only one coil object is allowed per row.

Properties

Reset Counter 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.
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

RTP Corp. Confidential 10-7


NetArrays Module Form and Ladder Form Objects Reference Manual

10-8 Reset Timer


If the input to this object is True, the output from this object is True and the associated
timer and the timer accumulator are reset. The timer remains reset as long as the output
of this object is True. If the input is False, the output is False and the timer is enabled.
Value displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the controlling Bool Variable object.

Note that only one coil object is allowed per row.

Properties

Reset Timer 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.
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

10-8 RTP Corp. Confidential


Ladder Logic Objects

10-9 One Shot Rising Contact


The One Shot Rising Contact object produces a single pulse output whenever the input
switches from False to True. The pulse width is determined by the scan cycle.

Value

Input Output

RTP Corp. Confidential 10-9


NetArrays Module Form and Ladder Form Objects Reference Manual

10-10 One Shot Falling Contact


The One Shot Falling Contact object produces a single pulse output whenever the input
switches from True to False. The pulse width is determined by the scan cycle.

Value

Input Output

10-10 RTP Corp. Confidential


Ladder Logic Objects

10-11 Count Up Counter


The Count Up Counter object counts positive-going transitions of its input. It begins
counting up from 0 (zero) to the value stored in the Counter Preset variable. When it
reaches the preset value, it stops counting and switches the output to True. The output
remains True until a Reset Counter object resets the counter. When reset, the counter
accumulator is cleared to 0 (zero) and its output returns to False.

Tag Value

Input Output

Value displays the current output. Tag indicates the alphanumeric tag of the counter.

Properties

Count Up 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.
Counter Preset Specifies the Tag and Initial Value of the integer variable
that determines the terminal count.

RTP Corp. Confidential 10-11


NetArrays Module Form and Ladder Form Objects Reference Manual

10-12 Count Down Counter


The Count Down Counter object counts positive-going transitions of its input. It begins
counting down to 0 (zero) from the value stored in the Counter Preset variable. When it
reaches 0 (zero), it stops counting and switches the output to True. The output remains
True until a Reset Counter object resets the counter. When reset, the counter
accumulator is set to the Counter Preset value and its output returns to False.

Tag Value

Input Output

Value displays the current output. Tag indicates the alphanumeric tag of the counter.

Properties

Count Down 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.
Counter Preset Specifies the tag and Initial Value for the integer variable
that determines the starting count.

10-12 RTP Corp. Confidential


Ladder Logic Objects

10-13 Timer-On Delay


The Timer-On Delay object begins counting incremental time ticks when its input
becomes True. If it reaches its preset time tick value (time on delay), it stops counting
and the output switches to True. If the input becomes False, the object stops counting,
and its accumulator is reset to 0 (zero). (If the output was True, it is also reset to False.)
Value displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the timer.

Properties

Time-On Delay 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.
Timer Preset Specifies the tag and Initial Value of the integer variable
that determines the terminal count.
Period Selects the timer’s period of:
Second
100 ms
10 ms
1 ms

RTP Corp. Confidential 10-13


NetArrays Module Form and Ladder Form Objects Reference Manual

10-14 Timer-Off Delay


The Timer-Off Delay object begins counting incremental time ticks when its input
becomes False. If it reaches its preset time tick value (time off delay), it stops counting
and the output switches to True. If the input becomes True, the object stops counting
and its accumulator resets to 0 (zero). (If the output was True, it also resets to False.)
Value displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the timer.

Properties

Timer-Off Delay 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.
Timer Preset Specifies the Tag and Initial Value of the integer Variable
that determines the terminal count.
Period Selects the timer’s period of:
Second
100 ms
10 ms
1 ms

10-14 RTP Corp. Confidential


Ladder Logic Objects

10-15 Retentive Timer


The Retentive Timer object begins counting incremental time ticks when its input
becomes True. When it reaches its preset time tick value, it stops counting and the
output switches to True. If the input becomes False before it reaches the preset value,
the object stops counting. If the input then returns to True, it resumes counting from the
accumulated count. Value displays the current output.

Tag Value

Input Output

Tag indicates the alphanumeric tag of the timer.

Properties

Retentive Timer 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.
Timer Preset Specifies the Tag and Initial Value of the integer Variable
that determines the terminal count.
Period Selects the timer’s period of:
Second
100 ms
10 ms
1 ms

RTP Corp. Confidential 10-15


Node Processor Objects

11 Node Processor Objects

11-1 Introduction
This chapter describes the functions performed by the following Node Processor objects.

Disable Outputs Chassis Info

Save Program Int ROnly Forces

Clear ROnly Forces Int R/W Force

Node Info Node Processor Shutdown

Online Update

RTP Corp. Confidential 11-1


NetArrays Module Form and Ladder Form Objects Reference Manual

11-2 Node Info


The Node Info object reports diagnostic information for the Node Processor configured in
its Property Manager display. It can be also used in Distributed Counter and Distributed
Servo Controller Cards.

Properties

Processor Select A, B, C or D, which will match the Node Processor to


pull the information. Select A, B or C, which will match the
Distributed Servo Controller Card to pull the information.
Select A, which will match the Distributed Counter Card to
pull the information.
Online This Bool variable will indicate if the selected Node
Processor or Distributed Servo Controller Card is operational
or not. If this variable is True, it indicates that the selected
Node Processor or Distributed Servo Controller Card is
online and operational. This variable should be monitored
only in 3000D, 3000T and 3000Q SIS or in Redundant Servo
Controller Cards!
Primary This Bool variable will indicate if the selected Node
Processor is the primary Node Processor for host and peer-
to-peer communications. If this variable is True, it indicates
that the selected node Processor is responsible for direct
communications to host and peer-to-peer nodes. This
variable should be monitored only in 3000D, 3000T and
3000Q SIS!

11-2 RTP Corp. Confidential


Node Processor Objects

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

RTP Corp. Confidential 11-3


NetArrays Module Form and Ladder Form Objects Reference Manual

maximum of 80 milliseconds. If the node processor deviates


from this window, a board reset is asserted. The 3000
chassis processor has a fixed scan rate of 1 millisecond, and
includes a Windowed Watchdog Timer (WWDT) with a
minimum of 0.5 milliseconds and a maximum of 12
milliseconds. If the chassis processor deviates from this
window, a board reset is asserted.
For the Distributed Counter Card and Distributed Servo
Controller Card, the scan cycle can be configured in 1
millisecond, 2 milliseconds or 2.5 milliseconds. This variable
will show the real-time status of the scan cycle in the
distributed cards.
Scan Reserve This integer variable indicates the idle time that the selected
Node Processor has on each scan cycle. For example if the
Scan Cycle is 50 and the Scan Reserve is 30 for Node
Processor A, then we can assume the following: The Node
Processor A’s overall cycle time is 5 milliseconds, it
completes all its scan and communications functions within 2
milliseconds, and has 3 milliseconds in reserve delay time.
The Reserve cycle time can also be obtained for the
Distributed Counter Card and the Distributed Servo Card.
If reserve cycle time is not enough, then the scan cycle
should be re-configured.
I/O Comm. Error Count This integer variable will count the number of invalid I/O
communication messages (detected by multiple CRC
signatures on each message). If a Node Processor does not
receive a valid I/O communication message for three
consecutive scan cycles from any of the configured Chassis
Processors and its redundant processor(s) does, then the
Node Processor will take itself offline.
Peer Comm. Error Count This integer variable will count the number of invalid peer-to-
peer communication messages (detected by multiple CRC
signatures on each message). If a Node Processor peer-to-
peer message miss-compares for three consecutive scan
cycles then the Node Processor will take itself offline.
Host Comm. Activity Count This integer variable will count the number of
communications per scan cycle on the host port (This
includes peer-to-peer communications as well). If a Node
Processor determines that there is too much activity, it will
pause the host and peer-to-peer communications and
continue all other operations at the configured scan rate.
Therefore, this variable can point problems on the host
network.
CPU Temp This integer variable will hold the measurement of the Node
Processor CPU Temperature. A rise in temperature could
indicate a fan failure; a temperature of 90º C or more
indicates a critical error condition.
Board Temp This integer variable will hold the measurement of the Node
Processor Board Temperature. A rise in temperature could
indicate a fan failure; a temperature of 90º C or more
indicates a critical error condition.

11-4 RTP Corp. Confidential


Node Processor Objects

Examples

Example to monitor the maximum and minimum scan cycles of Node Processor A.

Example for monitoring the reserve CPU time.

RTP Corp. Confidential 11-5


NetArrays Module Form and Ladder Form Objects Reference Manual

11-3 Chassis Info


The Chassis Info object reports diagnostic information, which is configured in its Property
Manager display, for the Chassis and Chassis Processor.

Properties

11-6 RTP Corp. Confidential


Node Processor Objects

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).

RTP Corp. Confidential 11-7


NetArrays Module Form and Ladder Form Objects Reference Manual

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.

11-8 RTP Corp. Confidential


Node Processor Objects

11-4 Clear ROnly Forces


Adding a Clear ROnly Forces object in the project program allows you to force and un-
force read-only variables. If the input value for this object is False, you can force read-
only variables using NetArrays in Debug mode. The current number of forced read-only
variables is stored in the Int ROnly Forces object variable.

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

RTP Corp. Confidential 11-9


NetArrays Module Form and Ladder Form Objects Reference Manual

11-5 Disable Outputs


The operation of physical output devices can be temporarily suspended while other
program operations, such as physical inputs and calculations, proceed normally. If the
user application program contains this object, the physical outputs are disabled whenever
the input to this object is True. In addition to disabling the outputs, the object also
disables the watchdog timers on output cards. This prevents those cards from timing out
while the outputs are disabled.

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

11-10 RTP Corp. Confidential


Node Processor Objects

11-6 Retentive Program Save


The target program can be saved on demand using this object in a Module Form. If the
input to this object changes from False to True, the executing program is saved under the
file name "saveprog.pgm". During a power-up sequence the Node Processor will first
attempt to load "saveprog.pgm", if "saveprog.pgm" does not exist the Node Processor will
attempt to load "gprog.pgm".( "gprog.pgm" is the originally downloaded program). During
a download or download w/online update the "saveprog.pgm" will be deleted.

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

RTP Corp. Confidential 11-11


NetArrays Module Form and Ladder Form Objects Reference Manual

11-7 Node Processor Shutdown Object


The Node Processor Shutdown Object must be configured in all 3000 systems. The
minimum configuration is to configure the temperature limit at which the Node Processor
CPU is turned off in case of a cooling failure. Using it in Distributed Counter and
Distributed Servo Controller Card is optional.

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.

11-12 RTP Corp. Confidential


Node Processor Objects

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.

RTP Corp. Confidential 11-13


NetArrays Module Form and Ladder Form Objects Reference Manual

11-8 Int ROnly Forces


The Int ROnly Forces object allows you to monitor the current number of forced read-only
variables. The output value for this object and the referenced integer variable increment
each time a read-only variable is forced and decrements each time a read-only variable is
unforced. The output value is forced to 0 (zero) if the input for the Clear ROnly Forces
object is set to True.

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

11-14 RTP Corp. Confidential


Node Processor Objects

11-9 Int RW Forces


The Int RW Forces object allows you to monitor the current number of forced read/write
variables. The output value for this object and the referenced integer variable, increment
each time a read/write variable is forced and decrements each time a read/write variable
is unforced.

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

RTP Corp. Confidential 11-15


NetArrays Module Form and Ladder Form Objects Reference Manual

11-10 Online Update


The Online Update object allows you to monitor the current Online Update state of
engine. The output value for this object is changed to true when engine processes online
update request, otherwise it is false. This object can be used for variables initialization
during cold startup.

Example

Note: This object is certified for Safety Integrity Functions.

11-16 RTP Corp. Confidential

You might also like