Академический Документы
Профессиональный Документы
Культура Документы
All rights reserved. No part of this publication may be reproduced in any form or by any electronic or
mechanical means, including photocopying and recording, without permission in writing from GE Intelligent
Platforms, Inc.
i
Proficy Process Systems - Instructions
Notice
GE Intelligent Platforms, Inc. reserves the right to make improvements to the
products described in this publication at any time and without notice.
We want to hear from you. If you have any comments, questions, or suggestions
about our documentation, send them to the following email address:
doc@ge.com
ii
Table Of Contents
Table Of Contents
Proficy Process Systems Logic........................................................................................... 1
Average (AVG)........................................................................................................... 4
Qualified OR (QOR)................................................................................................... 6
CLAMP....................................................................................................................... 8
High Low (HILO) ..................................................................................................... 10
VOTE........................................................................................................................ 12
Multiplexer (MUX)................................................................................................... 13
SWITCH ................................................................................................................... 15
Gain and Bias (GAINBIAS) ..................................................................................... 17
Binary Decimal (BINDEC)....................................................................................... 19
Decimal Binary (DECBIN)....................................................................................... 22
Advanced Math (FBD) ................................................................................................. 24
Moving Average (MAVG) ....................................................................................... 25
Output Parameters..................................................................................................... 26
Configuration Parameters ......................................................................................... 26
Alarms (FBD) ............................................................................................................... 29
Analog Alarm (ALARM_A)..................................................................................... 30
Discrete Alarm (ALARM_D) ................................................................................... 49
Batch (FBD).................................................................................................................. 60
Batch Phase Logic Interface (PLI)............................................................................ 61
Batch Watchdog (WDOG)........................................................................................ 76
Bit Operations (FBD).................................................................................................... 79
Latch (LATCH) ........................................................................................................ 80
Comparison (FBD)........................................................................................................ 83
Compare with Deadband (CMPDB)......................................................................... 84
Compare Error with Deadband (CMPERDB) .......................................................... 88
Control (FBD)............................................................................................................... 92
Adapt (ADAPT)........................................................................................................ 94
Deadtime (DEADTIME) .......................................................................................... 97
Function (FUNCTION) .......................................................................................... 100
Lead or Lag (LEADLAG) ...................................................................................... 103
Input Parameters ..................................................................................................... 104
Output Parameters................................................................................................... 104
Configuration Parameters ....................................................................................... 104
Proportional Integral Derivative Advanced (ADV_PID) ....................................... 108
Overview................................................................................................................. 108
Proportional Integral Derivative (PID) ................................................................... 133
Overview................................................................................................................. 133
Override (OVERRIDE) .......................................................................................... 150
Overview................................................................................................................. 150
Pulse Width Modulator (PWM).............................................................................. 158
Ramp/Soak (RAMPSOAK20) ................................................................................ 164
Rate Limit (RATELIMIT) ...................................................................................... 173
Input Parameters ..................................................................................................... 173
iii
Proficy Process Systems - Instructions
iv
Proficy Process Systems Logic
Proficy Process Systems logic includes instructions (in the Toolchest), function
blocks (in the Navigator and the Toolchest), and tables (in the Navigator). The
logic of Proficy Process Systems instructions, function blocks, and tables cannot be
edited. You create executable units of logic as follows:
Insert FBD instructions and their operands into an FBD block.
Insert function blocks and their operands into an FBD, LD, or ST block.
Use a CALL instruction to call a Process Systems table with its operands from an
FBD, LD, or ST block.
Each instruction, function block, or table performs an operation on variables defined for
the target the logic is associated with.
Notes
Function block instance structure variables and manually added variables in a Proficy Process
Systems target can be tracked in the Factory Acceptance Test (FAT) and Site Acceptance Test
(SAT) editor. All data in the FAT/SAT editor is included on a download or upload from the
controller.
In the FBD Instructions drawer or the LD Instructions drawer of the Toolchest, expand the
appropriate folder to view the included Proficy Process Systems instructions. You can drag these
instructions to the FBD, LD, or ST editor.
Proficy Process Systems function blocks are also contained in the Navigator, under the
Program Blocks folder, under the Process_Function_Blocks folder. You can drag these function
blocks to the FBD, LD, or ST editor.
Proficy Process Systems tables are imported under the Program Blocks folder in the Navigator as
parameterized C blocks.
1
Proficy Process Systems - Instructions
Program Flow
Timers
2
Proficy Process Systems Logic
Binary BINDEC Processes 16 independent bits to a 16-bit decimal or integer value of data
Decimal type WORD
Clamp CLAMP Compares the input to the high and low values
Multiplexer MUX Determines which of eight input values is copied to the output
Qualified Or QOR Counts the number of input values whose state is True
Switch SWITCH Determines which of two input values is copied to the output
Vote VOTE Sets the state of the output to True if the states of 2
or more inputs are True
- or -
Sets the state of the output to False if the states of 2
or more inputs are False
3
Proficy Process Systems - Instructions
Average (AVG)
Mnemonic:
AVG
Overview
A Proficy Process Systems Average control instruction can have from 2 through 8 inputs.
The instruction calculates the continuous average of a variable as follows:
OP = (PV1 + PV2 + [PV3 + ... + PV8]) / n
where n is the number of inputs.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Example
The average of the REAL numbers 2.0, 4.0, and 6.0 is 4.0.
4
Proficy Process Systems Logic
5
Proficy Process Systems - Instructions
Qualified OR (QOR)
Operation
A Proficy Process Systems QOR instruction counts the number of input process
variables, PV1 through PV8, whose state is True.
If the number of input process variables, PV1 through PV8, set to True is to the number
of bits to be checked (value of the variable assigned to the input parameter, BITS), then
the variable assigned to the output, OP, is set to True.
If the number of input process variables, PV1 through PV8, set to True, is the number
of bits to be checked, then the variable assigned to the output, OP, is set to False.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
6
Proficy Process Systems Logic
Examples
Example 1
Two of the inputs to the above FBD QOR instruction are set to True. Because 2 is the
value of the input, myBITS, myOP is set to False.
Example 2
Four of the inputs to the above FBD QOR instruction are set to True. Because 4 is the
value of the input, myBITS, myOP is set to True.
7
Proficy Process Systems - Instructions
CLAMP
Overview
A Proficy Process Systems CLAMP control instruction compares the input process variable,
PV, to the values of the input variables assigned to HI and LO with the following results:
Input Conditions Output to
OP
PV HI HI
PV LO, and HI is PV
undefined
LO PV HI PV
PV HI, and LO is PV
undefined
PV LO LO
LO and HI are undefined Validation
error
Notes
To avoid an unexpected result, ensure that the value of HI is the value of LO.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
8
Proficy Process Systems Logic
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Example
Refer to the diagram above. The table below displays some input values of myPV and the
corresponding output values of myOP.
Value of Value of
myPV myOP
4 4
1 2 (value of LO)
12 10 (value of
HI)
9
Proficy Process Systems - Instructions
Overview
A Proficy Process Systems High Low control instruction can have from 2 through 8 inputs. The
instruction does the following:
The highest value among the inputs is copied to the output variable assigned to HI.
The lowest value among the inputs is copied to the output variable assigned to LO.
Note: All input and output data types must be the same.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
10
Proficy Process Systems Logic
11
Proficy Process Systems - Instructions
VOTE
Overview
A Proficy Process Systems VOTE control instruction does one of the following:
VOTE sets the state of the output variable assigned to OP to True if the states of 2 or more input
variables assigned to PV1, PV2, or PV3 are True.
VOTE sets the state of the output variable assigned to OP to False if the states of 2 or more input
variables assigned to PV1, PV2, or PV3 are False.
Input Operands
Operand Data Type Memory Area Description
i The solve order for the instruction
PV1, PV2, BOOL data flow, I, Q, M, T, S, G, I/O Inputs used to
PV3 variable variable, symbolic calculate OP
Output Operands
Operand Data Type Memory Area Description
OP BOOL data flow, I, Q, M, T, S, G, I/O Result: Majority of the
variable variable, symbolic inputs
12
Proficy Process Systems Logic
Multiplexer (MUX)
Overview
A Proficy Process Systems Multiplexer (MUX) control instruction determines from the value of the input
variable assigned to SW, which input value among PV1 through PV8 is copied to the output variable
assigned to OP.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
13
Proficy Process Systems - Instructions
WORD,
PV1 is required. PV2 through PV8 are optional.
DWORD
variables or PV1 through PV8 and OP must be the same data
constants type.
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
BYTE, variable
WORD,
DWORD
variable
14
Proficy Process Systems Logic
SWITCH
Overview
A Proficy Process Systems SWITCH control instruction determines from the value of the input variable
assigned to SW, which input value of the variable assigned to PV1 or PV2 is copied to the output variable
assigned to OP.
Input Operands
Notes
Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Operand Data Type Memory Area Description
i The solve order for the instruction
SW BOOL data flow, I, Q, If the state of SW is False, then the
variable M, T, S, G, value of PV1 is copied to the
symbolic, I/O variable assigned to OP.
variable If the state of SW is True, then the
value of PV2 is copied to OP.
Default: False.
PV1, BOOL, BYTE, data flow, I, Q, Value to be copied to OP, depending on the
PV2 INT, DINT, M, T, S, G, R, P, state of SW.
UINT, REAL, L, AI, AQ, W,
Note: PV1, PV2, and OP must be the same data
WORD, symbolic, I/O type.
DWORD variable
variables or
constants
15
Proficy Process Systems - Instructions
Output Operands
Notes
Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Operand Data Type Memory Area Description
OP BOOL, BYTE, data flow, I, Q, Value of PV1 or PV2, depending on the
INT, DINT, M, T, S, G, R, P, state of SW.
UINT, REAL, L, AI, AQ, W,
Notes
WORD, symbolic, I/O
DWORD variable PV1, PV2, and OP must be the same data
variable type.
16
Proficy Process Systems Logic
Overview
A Proficy Process Systems Gain and Bias (GAINBIAS) control instruction calculates the following:
OP = (K * PV) + BIAS
Note: All input and output data types must be the same.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
17
Proficy Process Systems - Instructions
18
Proficy Process Systems Logic
Overview
A Proficy Process Systems Binary Decimal (BINDEC) control instruction processes 16 independent bits to
a 16-bit decimal or integer value of data type WORD. The instruction executes in two stages:
1. The state of the 16 bits in the input MSK WORD variable (or mask variable) determine
which of the 16 input states (PV1 through PV16) are passed to the corresponding
output bit in OP.
If set to 1, the state of the input bit is passed to the corresponding output
bit in OP.
If set to 0, the state of the corresponding output bit in OP is set to False.
2. The state of the bits of the input CMP WORD variable (or compare variable) are
matched with the state of the bits in OP.
If the state of the OP bits matches the corresponding state of the bits of
the compare variable, then the state of the OK bit is True.
If the state of the OP bits does not match the corresponding state of the
bits in the compare variable, then the state of the OK bit is False, and the
variable assigned to the DIF operand reflects the non-matching bits.
A non-matching bit sets the corresponding bit in DIF to True.
A matching bit leaves the corresponding bit in DIF as False.
19
Proficy Process Systems - Instructions
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
20
Proficy Process Systems Logic
Example
21
Proficy Process Systems - Instructions
Overview
A Proficy Process Systems Decimal Binary (DECBIN) control instruction converts an integer value to 16
independent bits.
Tip: If you are not using FBD wires, we recommend that you use bit modifiers instead of this instruction, for
example, myINT.X[6] = bit 6.
Input Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
22
Proficy Process Systems Logic
Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).
23
Proficy Process Systems - Instructions
24
Proficy Process Systems Logic
InstanceName Mnemonic:
MAVG
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems moving average (MAVG) block periodically calculates the moving average of
an input as follows:
1. Once every Execution Period (see configuration parameters), the value of the input process
variable PV is read.
The value is stored in a FIFO (first in, first out) buffer. The number of samples held in the buffer
is equal to the value of the configuration parameter Number of Samples.
Tip: FIFO means that the first input into the buffer is the first output after shifting the number of
samples in the buffer.
2. For every new input process variable PV, the values in the FIFO buffer are shuffled, that is, the
newest PV value goes into the first buffer, and the value in the last buffer is lost.
3. The variables in the FIFO buffer are averaged.
Input Parameters
Input Definition Data Type Description
Name
EN (FBD BOOL Enable input. When set to Yes, MAVG solves.
only.) variable, bit When set to No, MAVG does not solve. When
reference in MAVG is not solving, the states of the variables
Required non-BOOL within the block, are not changing, so no
variable faceplate commands or time calculations will be
performed. When re-activated, the dT will be the
difference between enabled solves.
25
Proficy Process Systems - Instructions
OVR Optional BOOL Override Calculation. When set to On, the value
variable of PV is copied to the variable assigned to OP.
Note: When OVR is set to On, all samples in the buffer are
set to the value of PV to ensure a bumpless transfer out of
override mode.
Default: Off.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit ENO is set to Yes if EN is set
ST only.) reference in non-BOOL to Yes.
Optional variable
OP REAL variable Result (average of all inputs) of
the MAVG calculation.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Number of 0 UINT N Number of samples to include in the
Samples through variable calculation of the average.
20 Default: 5.
Notes
Read /
Write If Number of Samples is set to a
value 20, then Number of
Samples is set to 20.
26
Proficy Process Systems Logic
Example
With an ALARM_A function block instance, this example calculates the moving average
of the value of the variable FlowRate. FlowRate can have the values 80, 100, or 150,
depending on the alarm state. A MAVG function block instance is set up for 10 samples,
at a rate of 6 seconds for each sample.
27
Proficy Process Systems - Instructions
Other Languages
MAVG can also be used in LD and ST.
LD ST
InstanceName(PV := , OVR := , OP => );
28
Proficy Process Systems Logic
Alarms (FBD)
(For PACSystems firmware version 5.00 and later.)
Alarm function blocks generate alarm conditions in the Controller that can be seen on the
operator console or Alarm Viewer.
Instruction Mnemonic Description
Analog ALARM_A Generates a single alarm condition on the operator console at a
Alarm time. It can also create one or more BOOL output conditions that
can be used within logic.
Discrete ALARM_D Generates a single alarm condition on the operator console at one
Alarm time with three possible alarm states: 0, 1, and Toggle
29
Proficy Process Systems - Instructions
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The ALARM_A block is used for one or both of the following:
Generating a rate of change and/or absolute alarm condition, for display on operator consoles, to
alert personnel of abnormal conditions.
Creating one or more BOOL output(s), to indicate the current state of the analog input. These
outputs can be used to drive logic.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
An analog alarm input (PV) varies over time and is at every point in time set to:
One of five possible states from its value: LowLow, Low, Normal, High, and
HighHigh.
One of three possible states from its rate of change: positive Rate of Change
(RUP), negative Rate of Change (RDN), and Normal Rate of Change.
Acknowledging an analog alarm is done with the following:
Automatic acknowledgement, configured through the corresponding state's severity and global self
acknowledging variables.
Manual acknowledgement in the alarm viewer or alarm faceplate.
The command word for each instance of the ALARM_A block is automatically added to
the EGD produced exchanges for the ALARM_A block type.
30
Proficy Process Systems Logic
State Outputs
The analog input to the alarm block is set to one or more of the states listed below, from its value:
LowLow (LL)
Low (L)
Normal (N)
High (H)
HighHigh (HH)
and/or set to one of the states listed below, from its rate of change:
Positive rate of change (RUP)
Negative rate of change (RDN)
Normal rate of change
The state of the analog input is reflected to the rest of the logic, by the corresponding output parameter for
each abnormal state listed above.
Example
The following diagram illustrates an analog value, varying over time and the state(s) that it can assume as a
function of time and the configurable limits HH, H, L, and LL.
31
Proficy Process Systems - Instructions
Example
The following diagram illustrates an analog value varying over time, and the state(s) that is can assume as a
function of time, the configurable limits HH, H, L, and LL; and the deadband DB.
The BOOL output states HH, H, L, and LL are determined by using the configuration parameters Deadband
and Limit for each enabled state. These outputs initiate events in the control logic so that corrective action
can occur without operator intervention.
Alarm Functionality
The alarm block can generate a rate of change alarm and/or an absolute alarm. These
alarms are displayed in operator consoles.
The following table and diagram, illustrate how the alarm block generates absolute
alarms and how the operator acknowledgement affects the alarm state.
ALMW = HH Alarm displayed on an operator console is HighHigh
ACKW = Alarm displayed on an operator console is not
UNACK acknowledged
OPR ACKs Operator Acknowledges alarm on an operator
ALM console
ACKW = ACK State of the alarm acknowledgments
ALMW = H Alarm displayed on an operator console is High
ALMW = L Alarm displayed on an operator console is Low
ALMW = Alarm displayed on an operator console is Normal
NORM
ALMW = LL Alarm displayed on an operator console is LowLow
32
Proficy Process Systems Logic
At time t = 1, ACKW does not change because the transition is to a less severe state.
If an alarm acknowledgment state is True, then the alarm was acknowledged (ACKed).
33
Proficy Process Systems - Instructions
State on
operator
console
Normal True No Normal
H True Yes H
HH True Yes H, HH
L True Yes L
LL True Yes L, LL
Normal False Yes Normal
H False Yes H
HH False Yes H, HH
L False Yes L
LL False Yes L, LL
34
Proficy Process Systems Logic
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, ALARM_A solves.
(FBD variable, bit When set to No, ALARM_A does not solve. When
only.) reference in ALARM_A is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
Required
When re-activated, the dT will be the difference
between enabled solves.
PV REAL Input process variable to create an alarm for.
variable
Note: PV cannot be a constant.
35
Proficy Process Systems - Instructions
Default: No.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, ENO is set to Yes if EN is set to Yes.
and ST bit reference in
only.) non-BOOL
variable
HH Set when the ALARM_A block is alarmed in
HighHigh (HH). Alarm condition occurs at
and beyond the value of the configuration
parameter HH Limit.
H Set when the ALARM_A block is alarmed in
High (H). Alarm condition occurs at and
beyond the value of the configuration
parameter H Limit.
L Set when the ALARM_A block is alarmed in
Optional Low (L). Alarm condition occurs at and
beyond the value of the configuration
parameter L Limit.
BOOL variables
LL Set when the ALARM_A block is alarmed in
LowLow (LL). Alarm condition occurs at and
beyond the value of the configuration
parameter LL Limit.
RUP Set when the ALARM_A block is alarmed in
positive Rate of Change (ROC). Alarm
condition occurs at and beyond the value of
the configuration parameter ROC Limit.
RDN Set when the ALARM_A block is alarmed in
negative Rate of Change. Alarm condition
occurs at and beyond the value of the
configuration parameter ROC Limit.
36
Proficy Process Systems Logic
Configuration Valid
Parameter Settings Data Type Member Name Public Description
LL Limit REAL One- LS[0 through 4] LL, L, H, HH, ROC
L Limit range. dimensional limits respectively.
H Limit Exception: REAL Read / Defaults: 0.0.
HH Limit ROC array of 5 Write
ROC Limit Limit is REAL
0. variables
LL Severity 1000 One- LP[0 through 5] The value of each
L Severity 900 dimensional Severity indicates how
H Severity 800 UINT array critical each alarm is.
HH Severity 600 of 6 UINT Each alarm limit maps
-ROC Severity 400 variables to an element of the
+ROC 200 global variable array
Severity SELFACK_PRIORITY,
which determines if the
alarm acknowledges
itself (selfACK). If set
to None, there is no
selfACK for that alarm
limit.
Choices:
1000: None
900:
S900SelfACK
800:
S800SelfACK
600:
S600SelfACK
400:
S400SelfACK
200:
S200SelfACK.
Default: None.
37
Proficy Process Systems - Instructions
When calculating
the ROC, the
system waits for
one full second of
data before
calculation.
Before going in to
an Alarm state, the
system holds the
alarm condition for
one whole second.
38
Proficy Process Systems Logic
39
Proficy Process Systems - Instructions
Acknowledged
(ACKed).
Default: True.
If Alarm Acknowledged
(ROC) is set to True
and the alarm state is
Normal, then the alarm
is removed from an
operator console.
Note: Typically, this is set to
True on an operator console;
however, an ALARM_A block
can ACK an alarm itself. See
priority parameters and
global variables.
Global variables
Global variables for alarm blocks are found in the Navigator in the structure variable
PROCESS_SYSTEM_GLOBALS.
Variable Valid
Name Settings Data Type Description
S1000SelfACK Not used
S900SelfACK Yes: (Default.) Non-critical
alarm priority level [1] self-
acknowledges (selfACKs).
one-dimensional No: Non-critical alarm priority
Yes
BOOL array of 6 level [1] does not selfACK.
No
BOOL variables
Note: If an alarm attains a state where it
cannot selfACK, it can selfACK again only
when it has been ACKed on an operator
console.
40
Proficy Process Systems Logic
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: ALARM_A
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 12 characters
Engineering Units Engineering units displayed on the operator consoles.
Default: %
41
Proficy Process Systems - Instructions
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Status (AS)
Faceplate Status (ST)
Faceplate Status (RS)
Faceplate Status (PI)
Faceplate Command (FC)
Alarm Setpoints (LS)
42
Proficy Process Systems Logic
EGD
The table below displays the Ethernet Global Data (EGD) associated with an ALARM_A instance.
System Exchange: #ALARM_A
System Block Identifier: O0C
Default Produced Period: 150 milliseconds.
Member Number of
Description Data Type Name Public Bytes
Status WORD variable ST Read 2
UINT variable FC Read / 2
Faceplate Command
Write
Rate of change States RS[0 20
DWORD arrays of 5 through 4]
Alarm States DWORD variables AS[0 20
Read
through 4]
Copy of PV for an REAL variable PI 4
operator console
LL Limit REAL array of 5 LS[0 Read / 20
L Limit REAL variables through 4] Write
H Limit
HH Limit
ROC Limit
68 total
bytes
43
Proficy Process Systems - Instructions
44
Proficy Process Systems Logic
45
Proficy Process Systems - Instructions
Notes
46
Proficy Process Systems Logic
Notes
47
Proficy Process Systems - Instructions
Other Languages
ALARM_A can also be used in LD and ST.
LD ST
InstanceName(PV := , INH := , HH => , H => , L => , LL => , RUP => , RDN => );
48
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A discrete alarm (ALARM_D) function block instance generates a state alarm in logic, with a possible
Alarm condition displayed on an operator console.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Alarm Functionality
ALARM_D can be enabled and disabled by means of the input parameter EN. When enabled,
the alarm appears on an operator console after an Alarm condition is triggered. After the alarm is
acknowledged (ACKed) and returned to Normal, the alarm disappears from the operator console; that is,
ALARM_D no longer solves.
Alarm Acknowledgment
ALARM_D has three possible Alarm conditions:
0 (zero): An alarm occurs when the input parameter PV is set to 0, False, or No.
1: An alarm occurs when PV is set to 1, True, or Yes.
Toggle: An alarm occurs when PV transitions.
49
Proficy Process Systems - Instructions
An Alarm condition can have a debounce time associated with it to avoid jitter. This
means that the current Alarm condition must exist for the length of the debounce time
before the Alarm condition can change.
Note: The Toggle condition is set to True for one scan only. When in Toggle mode, the ALARM_D state is
set to True for one scan. However, if an alarm is not acknowledged (ACKed), it still displays on the
operator console.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, ALARM_D solves.
(FBD variable, bit When set to No, ALARM_D does not solve. When
only.) reference in ALARM_D is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
Required
When re-activated, the dT will be the difference
between enabled solves.
PV Process variable to create an alarm for
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit ENO is set to Yes if EN is set
ST only.) reference in non-BOOL to Yes.
variable
ALM BOOL variable When set to Yes,
Optional ALARM_D is in Alarm
state.
When set to No,
ALARM_D is in
Normal state.
50
Proficy Process Systems Logic
51
Proficy Process Systems - Instructions
52
Proficy Process Systems Logic
Global variables
Global variables for alarm blocks are found in the Navigator in the structure variable
PROCESS_SYSTEM_GLOBALS.
Variable Valid
Name Settings Data Type Description
S1000SelfACK Not used
S900SelfACK Yes: (Default.) Non-critical alarm
priority level [1] selfacknowledges
(selfACKs).
BOOL array of No: Non-critical alarm priority level
Yes
6 BOOL [1] does not selfACK.
No
variables
Note: If an alarm attains a state where it cannot
selfACK, it can selfACK again only when it has been
ACKed on the operator console.
53
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: ALARM_D
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Alarm Area Physical or conceptual area that the alarm belongs to within the
plant.
Default: PPS
Maximum length: 16 characters.
54
Proficy Process Systems Logic
Alarm Message Message for the alarm that appears in iFIX or CIMPLICITY alarm
viewer.
Default: %ID is in Alarm
Maximum length: 80 characters.
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Status (AS)
Faceplate Status (ST)
Faceplate Command (FC)
EGD
The table below displays the Ethernet Global Data (EGD) associated with an ALARM_D block.
System Exchange: #ALARM_D
System Block Identifier: O0D
Default Produced Period: 150 milliseconds.
Number of
Description Data Type Member Name Public Bytes
Status WORD variable ST 2
DWORD array of 5 AS[0 through 4] Read 20
Alarm State
DWORD variables
Faceplate UINT variable FC Read / 2
Command Write
24 total
bytes
55
Proficy Process Systems - Instructions
The internal member variable names are listed in the table below.
Member Valid
Name Settings Data Type Public Description
ST WORD WORD Status word. State of the ALARM_D block from
range variable the Faceplate Command FC.
Bit Description
x[0] True: Alarm suppressed
x[1] Current input value
x[2] True: Alarm inhibited
x[3] Alarm type.
Read and Bit value Description
x[4] 00 On 0 (zero)
01 On 1
10 Toggle
11 Not used
x[5] Alarm state output
x[6] - Not used
x[15]
56
Proficy Process Systems Logic
Notes
57
Proficy Process Systems - Instructions
0 No command
1 Set ACK to 1
2 Suppress alarm
3 Remove alarm suppression
Bits 8 through 15 contain the ACK sequence
number.
Default: 0.
Example
In this example, there are three ALARM_D function block instances:
The first ALARM_D function block instance alarms on zero (Normal state).
The second ALARM_D function block instance alarms on one (Alarm state).
The third ALARM_D function block instance alarms on zero (Toggle state).
Because the Toggle state is for only one scan, the output parameter ALM is input to a
timer pulse (TP) standard function block instance, which holds the Alarm state for 5
seconds.
The ALARM_D debounce time is set to 2 seconds so that a state change with a duration
of 2 seconds does not register an alarm.
Other Languages
ALARM_D can also be used in LD and ST.
LD ST
58
Proficy Process Systems Logic
59
Proficy Process Systems - Instructions
Batch (FBD)
(For PACSystems firmware version 5.00 and later.)
Batch function blocks handle communication between the PACSystems Controller and
the Batch Execution Server.
Instruction Mnemonic Description
Phase PLI Contains logic to interface a particular equipment
Logic phase running on a PACSystems Controller with a
Interface recipe phase running on the Proficy Batch Execution
System
Watchdog WDOG Detects communication between the PACSystems
Controller and the Batch Execution Server. If a
communication failure is detected the block will
indicate such by setting the output FL.
60
Proficy Process Systems Logic
InstanceName Mnemonic:
PLI
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Batch Phase Logic Interface (PLI) function block contains logic to interface a
particular equipment phase running on a PACSystems Controller with a recipe phase running on the
Proficy Batch Execution System. The block can be used for the following:
Handling the communication protocols between the Batch Execution System and
the phase logic.
Implementing the state transition logic of the phase.
Supporting semi-automatic sequencing of the running phase logic.
Allowing for the phase to be controlled by either the Batch Execution System or
by an external interface.
61
Proficy Process Systems - Instructions
Batch Tags
When you create a phase within the Batch Execution System, a set of batch tags is
created that enable the Batch Execution Server and the phase logic to communicate. The
batch tags and their definitions are given in the following table.
Each PLI block instance contains batch tags as part of its instance data. Each batch tag
within the instance data structure must have its Publish property set to External, in order
to communicate with the GES SRTP / OPC Server.
Data
Name Type Public Description
<phasename>.VC Batch Command Word. The high byte is a serial
number and the lower byte is the command. PLI
clears the lower byte after the command is processed
Read / to signify that the command has been received.
Write
<phasename>.UN Indicates the unit on which a phase is executing
when a phase is common to two or more units. The
integer corresponds to a particular unit.
<phasename>.P Set by the PLI block to indicate that the running
state pauses at the next encountered breakpoint.
<phasename>.SS Set by the PLI block to indicate that the running
state operates in semi-automatic mode.
<phasename>.ST Contains enumerations to indicate the current phase
status.
INT
<phasename>.RQ variables Initiates the request from the phase logic to the
Batch Server. Requests to download parameter
values, acquire resources, and so on, are all done
with this variable.
Read
<phasename>.W Identifies the control mode, either Batch or External.
Zero identifies Batch as the owner and a value of
one identifies an External owner.
<phasename>.F The Failure Number is set when any device detects a
failure condition or when a process condition occurs
that requires a Hold command.
<phasename>.PD Indicates that the phase has paused at the
programmed breakpoint.
<phasename>.SI Set by the phase logic in order to define the step
index of the phase.
Operation
Phase Ownership
Phase logic control can be owned by the Batch Execution System or by an external
interface such as an HMI. The owner is determined from the input ER (External
62
Proficy Process Systems Logic
Request). If ER has an argument present on its pin and the argument is set to True, then
ownership of the phase is granted to the external interface. Otherwise ownership is
granted to the Batch Execution System. The Batch Execution System receives the current
state of ownership from the batch tag <phasename>.W. If the value of <phasename>.W
is 0, the PLI is indicating that the Batch Execution System is the owner. If the value of
<phasename>.W is 1 then the PLI is indicating that an external interface is the owner.
Command Processing
The command <phasename>.VC from the Batch Execution System is a 16 bit integer.
The low byte contains the command value and the high byte is a serial number given by
the Batch Execution System. The serial number is used to ensure that the OPC data server
does not miss issued commands. The PLI processes commands from the Batch Execution
System in following manner:
1. Batch Execution System writes to the command <phasename>.VC. The low byte
is the command value; as follows the high byte is a sequential number.
2. The PLI takes the low byte of the command <phasename>.VC and stores it to an
internal command variable.
3. The PLI clears the low byte of the command <phasename>.VC, leaving the high
byte as given by the Batch Execution System. This handshake protocol confirms
the receipt of the command by the PLI block.
The 16 bit integer external command <phasename>.EC is an input to the PLI block that
can be written to from an external interface. The low byte holds the command value; the
high byte contains whatever the external interface requires. The low byte is processed the
same as the command <phasename>.VC.
If the owner of the phase is the external interface, then the phase responds to the EC. If
the owner of the phase is the Batch Execution System, then the phase responds to
commands from the Batch Execution System <phasename>.VC.
Commands supported by this PLI are listed in the table below:
Command Value (Low Command (EC or
Byte) <phasename>.VC)
10 Abort
20 Hold
30 Stop
40 Reset
50 Pause
60 Single step (semi-automatic
mode)
70 Transfer of Control
80 Resume
90 Restart
100 Start
110 Not used
120 Not used
130 Clear failure
63
Proficy Process Systems - Instructions
Note: The phase mode commands PHASE MODE P-AUTO, PHASE MODE O-AUTO, and PHASE MODE
MANUAL are not supported by the PLI block.
State transitions are carried out as follows: the Batch Execution System (or HMI if
externally controlled) issues a command. The command is validated and processed by the
PLI block. If the command requests a valid state transition; then the PLI block sets the
appropriate State Transition Request output. Each active state has a State Transition
Request, for example, R for running, T for restarting, A for aborting, H for holding, and S
for stopping.
64
Proficy Process Systems Logic
Note: The PLI block has outputs to indicate when the phase is at one of the final states (TN) and when the
phase is idle (I).
On detection of the State Transition Request, the phase logic transitions to the requested
state. If no interrupting transitions or faults occur, the phase logic executes all steps
required. When the steps are complete the PLI block sets the Completion Status bits. The
Completion Status bits RC, TC, AC, HC, and SC are inputs to the PLI block.
The following diagram illustrates the state transition data flow.
The PLI block indicates the current state of the phase logic back to the Batch Execution
System with the <phasename>.ST batch tag. The enumerations for this tag are listed in
the table below:
Integer Value State
<phasename>.ST
10 Aborting
20 Holding
30 Stopping
40 Restarting
50 Running
60 Held
70 Complete
80 Stopped
90 Aborted
100 Idle
Step Index
You can configure the initial step number for the Running, Holding, Restarting, Stopping,
and Aborting states by means of the Inspector. When the PLI block transitions the phase
logic to one of these states, it automatically initializes the step index to the configured
step number. Exception: when transitioning from the restarting state to the running state,
the step number is set to the buffered step index, which is the last step executed in an
active state if a transition occurs before normal completion. For restarting the buffered
step index is set to the last step executed in the running state before the hold command
65
Proficy Process Systems - Instructions
was executed. This buffered step index is accessible to the phase logic with the input SB
so that if the step to restart the running state is different from the last step executed before
a hold the phase logic can write to this input during the restarting state so that it equals
the desired step.
While a state is active, the phase logic updates the step index to indicate its active step.
Both the initial step number and the updates to the step number are stored in the input PSI
(Phase Step Index). The Batch Execution System receives the current step index through
the batch tag <phasename>.SI.
66
Proficy Process Systems Logic
Running State
Pausing
The Batch Execution System or external interface can issue a Pause command to the
phase. Unlike the Single Step mode, once the phase resumes execution, it will not stop at
any breakpoints unless another Pause command is received from the Batch Execution
System.
Running State
67
Proficy Process Systems - Instructions
68
Proficy Process Systems Logic
Request Tag parameters provide supplemental information required for some requests.
The phase logic writes the required information to the Request Tag before making the
request to the PLI block.
The PLI block accepts requests only during the HELD, RUNNING, RESTARTING,
STOPPING, HOLDING, and ABORTING states.
Transfer of Control
When the PLI receives a transfer of control command, it sets the DRQ bit to True.
External logic has read and write access to DRQ. If DRQ is still set to True when the PLI
reaches a final state (Completed, Stopped, or Aborted), the PLI sets DRQ to False once
the PLI is reset to the idle state.
Fault Handling
The phase logic block and watchdog block (WDOG) can indicate a failure to the PLI by
setting the input FL (Fault Handling) to a number. The Batch Execution System receives
any failures from the PLI block by setting the batch tag <phasename>.F to a value of 1.
This fault value is latched until the input FL is set to zero and the Batch Execution
System has issued a CLEAR FAILURE command.
The PLI block can be configured to respond to a failure by automatically transitioning
from either the running or restarting states to a holding state, by setting the value of the
configuration parameter Hold on Failure to Enabled.
69
Proficy Process Systems - Instructions
Input Parameters
Input
Name Definition Data Type Description
EN Required Enable input. When set to True, PLI solves. When
(FBD set to False, PLI does not solve. When PLI is not
only.) BOOL solving, the states of the variables within the block,
variables, bit are not changing, so no faceplate commands or time
reference in calculations will be performed. When re-activated,
non-BOOL the dT will be the difference between enabled solves.
ER Optional variables External request for control of the phase.
Choices:On, Off.
Default: Off.
EC External Command.
Default: 0.
FL Watchdog or phase fault.
Default: 0.
Required INT variables
PSI Phase step index.
Default: 0.
PRQ Phase request.
Default: 0.
PPD Optional BOOL variable Phase paused.
Choices:On, Off.
Default: Off.
SB INT variable Buffered Step Index.
Default: 0.
RC Running state complete.
Choices:On, Off.
Default: Off.
TC Restarting state complete.
Choices:On, Off.
Default: Off.
AC Required Aborting state complete.
BOOL
variables Choices:On, Off.
Default: Off.
HC Holding state complete.
Choices:On, Off.
Default: Off.
SC Stopping state complete.
Choices:On, Off.
Default: Off.
70
Proficy Process Systems Logic
Output Parameters
Output
Name Definition Data Type Description
ENO ENO is set to Yes if EN is set to Yes.
(FBD
only.)
TN Phase terminated at final state (Completed,
Aborted, or Stopped)
HD BOOL variables, Phase Held
I bit reference in Phase Idle
Optional
non-BOOL
R Execute running state request
variables
T Execute restarting state request
A Execute aborting state request
H Execute holding state request
S Execute stopping state request
PR Pause request
71
Proficy Process Systems - Instructions
72
Proficy Process Systems Logic
73
Proficy Process Systems - Instructions
Default: 0.
Other Languages
PLI can also be used in LD and ST.
LD ST
74
Proficy Process Systems Logic
75
Proficy Process Systems - Instructions
InstanceName Mnemonic:
WDOG
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Watchdog (WDOG) function block detects communication between the
PACSystems Controller and the Batch Execution Server. If a communication failure is detected the block
will indicate such by setting the output FL.
Operation
The WDOG block uses a set/reset handshaking protocol with the Batch Execution Server.
The Batch Execution Server sets the watchdog tag and then the WDOG block resets it.
The WDOG block detects a failure if the watchdog tag remains reset longer than the
product of the configuration parameters Timeout Period and Allowable Failures. These
configuration parameters should be set to the same values as the Communications
Timeout parameters in the Batch Execution configuration.
If the WDOG block detects a failure, then the state of the output FL is set to True. The
output FL can be used by all phase logic interface (PLI) blocks to transition their
corresponding phase logic to the HELD state.
For each PACSystems Controller that interfaces with the Batch Execution Server, only
one WDOG block is required.
Note: The Publish property for the WDOG function block instance variable WD, for example
InstanceName.WD must be set to External for communications with the GES OPC/SRTP Server.
Input Parameters
Input
Name Definition Data Type Description
76
Proficy Process Systems Logic
Output Parameters
There are no output parameters.
Output
Name Definition Data Type Description
ENO (FBD ENO is set to Yes if EN is
only.) Optional BOOL variable, bit reference in set to Yes.
non-BOOL variable
FL Required Watchdog timeout fault
77
Proficy Process Systems - Instructions
The runtime variables and status names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Timeout 0.0 REAL pvc_ACC No (Read-only.) The
Accumulator variable accumulated time since the
(Seconds) last successful handshake
with the Batch Execution
Server.
Other Languages
WDOG can also be used in LD and ST.
LD ST
InstanceName(RST:= , FL => );
78
Proficy Process Systems Logic
79
Proficy Process Systems - Instructions
Latch (LATCH)
InstanceName Mnemonic:
LATCH
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems LATCH function block defines an S-R (set-reset) latch, sometimes referred to
as an S-R flip/flop. A LATCH function block can be configured to have R override S or to have S override
R. If both S and R are set to Yes, then the overriding input determines the output of the LATCH function
block. For example, if R is the overriding input and both S and R are set to Yes, then the LATCH function
block output is reset.
The LATCH function block creates output according to the Boolean truth table shown
below.
Inputs Output
Previous
S R OP OP
SR LATCH RS LATCH
(R_OVER_S (R_OVER_S
No) Yes)
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 0 0
1 0 0 1 1
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0
80
Proficy Process Systems Logic
The reduced Boolean expressions for the output of the LATCH function block are as
follows:
OP(SR) = S & R & OPprevious | S
OP(RS) = S & R & OPprevious | (S & R)
where:
S: inverse of the current state of the input S
&: logical AND
R: inverse of the current state of the input R
OPprevious: previous state of the output OP
|: logical OR
S: current state of the input S
Note: We recommend that you do not change the latched state OP by writing directly to the variable
assigned to OP, because then OP is no longer latched. Only the input R should reset OP. One way to avoid
this is to draw a wire from OP.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, LATCH solves.
(FBD variable, bit When set to No, LATCH does not solve. When
only.) reference in LATCH is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
Required variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
S, R BOOL Set and Reset latch variables.
variables Default: No.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit reference in ENO is set to Yes if EN
ST only.) non-BOOL variable is set to Yes.
Optional
OP BOOL variable Latched state.
81
Proficy Process Systems - Instructions
Example
In this example the trip latch is configured to have S override R.
The CMPDB block compares the value of LT100 to a user-specified limit and generates
an output OP that is set to Yes if the comparison satisfies the configured relational
argument. When the value of OP is set to Yes, the trip latch is set, and the inlet valve is
closed.
- or -
If the high level condition no longer exists and the user presses the master reset button,
the trip latch is reset, and the inlet valve is opened.
See also the PBUTTON function block example.
Other Languages
LATCH can also be used in LD and ST.
LD ST
InstanceName(S := , R := , OP => );
82
Proficy Process Systems Logic
Comparison (FBD)
(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Compare with CMPDB Compares PV to a user-specified limit
Deadband
Compare Error CMPERDB Compares the absolute error between PV1
with Deadband and PV2 to a user-specified limit
83
Proficy Process Systems - Instructions
InstanceName Mnemonic:
CMPDB
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The CMPDB block compares PV to a user-specified limit and generates an output OP that is set to True if
the comparison satisfies the configured relational argument. The argument can be one of the following:
PV is to the limit.
PV is the limit.
The block has a deadband either below or above the limit, depending on the relational argument to avoid
output cycling.
CMPDB Functionality
If the value of the configuration parameter Relational Argument is set to , then OP is set
and reset as a function of PV and the configuration parameters Limit and Deadband, as
displayed in the graph below.
84
Proficy Process Systems Logic
If the value of the configuration parameter Relational Argument is set to , then OP is set
and reset as a function of PV and the configuration parameters Limit and Deadband, as
displayed in the graph below.
Input Parameters
Input
Name Definition Data Type Description
85
Proficy Process Systems - Instructions
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to Yes.
and ST reference in non-
only.) BOOL variable
Optional
OP BOOL variable Result of the comparison between the
values of the input PV and the
configuration parameter Limit.
86
Proficy Process Systems Logic
Other Languages
CMPDB can also be used in LD and ST.
LD ST
InstanceName(PV := , OP => );
87
Proficy Process Systems - Instructions
InstanceName Mnemonic:
CMPERDB
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The CMPERDB block compare the absolute error between PV1 and PV2 to a user-specified limit, and then
generates an output value of True if the comparison satisfies the Relational Argument. The Relational
Argument can be configured to test for equality or inequality. The block has a configurable deadband to
avoid output cycling.
CMPERDB Functionality
If the value of the configuration parameter Relational Argument is set to inequality, then
OP is set and reset as a function of the magnitude of the difference between PV1 and
PV2, and the configuration parameters Deadband and Limit, as displayed in the graph
below.
88
Proficy Process Systems Logic
If the value of the configuration parameter Relational Argument is set to Equality, then
OP is set and reset as a function of the magnitude of the difference between PV1 and
PV2, and the configuration parameters Deadband and Limit, as displayed in the graph
below.
Input Parameters
Input
Name Definition Data Type Description
89
Proficy Process Systems - Instructions
If the values of PV1 and PV2 are not valid, then the result
cannot be determined. You can monitor this error by
adding the variable myInstanceName.PCV_ERROR to the
Data Watch tool.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to Yes.
and ST only.) reference in non-
BOOL variable
Optional
OP BOOL variable Result of the comparison between ABS
(PV1 - PV2) and the configuration
parameter Limit.
90
Proficy Process Systems Logic
Other Languages
CMPERDB can also be used in LD and ST.
LD ST
InstanceName(PV1 := , PV2 := , OP => );
91
Proficy Process Systems - Instructions
Control (FBD)
(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Adapt ADAPT Interfaces user-defined adaptive tuning strategies to
the ADV_PID block
Deadtime DEADTIME Delays the input signal equal to the Execution
Period multiplied by the Buffer Size
Function FUNCTION Defines a function f with a set of order pairs (x, y)
Lead or Lag LEADLAG Causes the output to lead or lag, changes to the
input
Override OVERRIDE Manipulates one process device, for example a
modulating valve, with two or more independent
advanced PID loops
Proportional ADV_PID Provides feedback control by means of
Integral proportional plus integral plus derivative action.
Derivative Feedforward control is also supported.
Advanced
Proportional PID Provides feedback control by means of
Integral proportional plus integral plus derivative action.
Derivative Feedforward control is also supported.
Pulse Width PWM Controls a process variable, such as temperature,
Modulator by manipulating discrete devices
Ramp/Soak RAMPSOAK20 Generates an output over time, based on a user-
specified profile
Rate Limit RATELIMIT Limits the rate of change of the input process
variable, up or down
Scheduler SCHEDULER Schedules a parameter set (KP, KI, and
KD) for an ADV_PID block based upon the
input scheduling parameter PV
Controls a nonlinear process and where an
ADV_PID function block instance changes
the final control element, based on the input
scheduling parameter PV
Adaptively change the ADV_PID
parameters based on any independent
variable
Signal SIGNAL Generates a signal to test logic as follows:
Simulating process inputs
Interjecting disturbances to verify control
algorithm behavior
Determining the frequency or step response
of a control loop
92
Proficy Process Systems Logic
93
Proficy Process Systems - Instructions
Adapt (ADAPT)
InstanceName
Mnemonic:
ADAPT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems ADAPT block, is used to interface user defined adaptive tuning
strategies to the ADV_PID block. ADAPT uses the defined inputs, that is KP, KI and KD,
to construct the adaptive tuning structure for input to an ADV_PID block. ADAPT can be
configured to rate limit any of the three ADV_PID parameters, in order to avoid stepwise
changes in the parameters that are passed to an ADV_PID block.
Input Parameters
Input
Name Definition Data Type Description
EN (FBD Required BOOL Enable input. When set to Yes, ADAPT solves.
only.) variable, bit When set to No, ADAPT does not solve. When
reference in ADAPT is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
KP REAL Proportional gain. KP = Outputs Engineering
Optional variables or Units / Process Variables Engineering Units.
constants Default: 0.0.
KI Integral reset (repeats per minute).
Default: 0.0.
94
Proficy Process Systems Logic
Output Parameters
Output Name Definition Data Type Description
ENO (FBD BOOL variable, bit reference in ENO is set to Yes if EN is
and ST only.) non-BOOL variable set to Yes.
Optional
ATS One-dimensional REAL array Adaptive tuning structure
of 3 REAL variables KP, KI, and KD.
Example
In this example, the proportional gain for the ADV_PID block named PIC100 is
adaptively tuned from the process dynamics given by the input variable PT100. The
integral reset and derivative time are not adaptively tuned; they can be set from the
ADV_PID faceplate. An ADV_PID block should have only the proportional gain enabled
for adaptive tuning.
95
Proficy Process Systems - Instructions
Note: Any one of the ADV_PID tuning parameters or any combination thereof can be adaptively tuned using
an ADAPT block.
Other Languages
ADAPT can also be used in LD and ST.
LD ST
InstanceName(KP := , KI := , KD := , ATS => );
96
Proficy Process Systems Logic
Deadtime (DEADTIME)
InstanceName Mnemonic:
DEADTIME
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems analog DEADTIME block delays the input signal equal to the time specified by
the configuration parameter Execution Period multiplied by the configuration parameter Buffer Size, also
named the bucket brigade. You choose the number of positions (Buffer Size; maximum is 20 buckets), in
the buffer.
DEADTIME reads a value during each execution period and then shuffles the value into the first position in
the buffer. All other values in the buffer are shuffled over one position. The output OP is the value in the
last position in the buffer.
All buckets in the buffer are initialized to the process variable PV during the first scan.
Increasing the buffer size (number of buckets) during run time copies the value of the process variable PV
to the new values in the buffer and appends the new values to the beginning of the buffer.
Decreasing the buffer size during run time deletes the oldest values in the buffer.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, DEADTIME solves.
(FBD variable, bit When set to No, DEADTIME does not solve. When
only.) reference in DEADTIME is not solving, the states of the variables
Required non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
97
Proficy Process Systems - Instructions
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit reference ENO is set to Yes if EN is
ST only.) in non-BOOL variable set to Yes.
Optional
OP REAL variable Value in the last bucket
(position) in the buffer.
98
Proficy Process Systems Logic
Example
The following is a diagram of a DEADTIME buffer with 10 buckets (positions), where
DEADTIME processes each bucket after 6 seconds. (The configuration parameter
Execution Period is set to 6.)
Input process variable PV is set to 3.
Buffer
3 3 3 3 3 3 3 3 3 3
output
The following displays the same DEADTIME buffer after you set the value of PV to 5,
and 6 seconds have passed.
Buffer
5 3 3 3 3 3 3 3 3 3
output
After approximately 60 seconds (10 buckets times 6 seconds), the value of the output OP
is 5.
Other Languages
DEADTIME can also be used in LD and ST.
LD ST
InstanceName(PV := , OP => );
99
Proficy Process Systems - Instructions
Function (FUNCTION)
InstanceName Mnemonic:
FUNCTION
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The FUNCTION block enables you to define a function f with a set of ordered pairs (x, y), in which every
member of the domain is paired with one member of the range. When executed at run time, the block
determines the function's dependent variable OP for a given independent variable PV from linear
interpolation. The function is defined as follows:
OP = f(PV)
From the requirements for precision and the non-linearity of the function, you can define the function to
use 5, 10, or 15 coordinate pairs.
100
Proficy Process Systems Logic
Operation
The FUNCTION block is used to specify a function by entering the coordinates of points that
lie on the function curve within the specified domain. Depending on the accuracy
required, non-linearity of the function, and the size of the domain, the function can be
specified with 5, 10, or 15 points.
The FUNCTION block uses linear interpolation to determine the value of the function for
values of PV that lie between the specified points. The block clamps the output between
Y[0] and the last specified value of Y, for example, Y[4], Y[9], or Y[14], depending on
the precision selected, that is, there is no extrapolation. The values of the independent
variables must be specified from smallest to largest, that is, X [1] must be greater than X
[0], X [2] must be greater than X [1], and so on. The block enforces this rule at run time.
There are no similar restrictions on the dependent variable Y.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, FUNCTION solves.
(FBD variable, bit When set to No, FUNCTION does not solve. When
only.) reference in FUNCTION is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
Required
When re-activated, the dT will be the difference
between enabled solves.
PV REAL Process variable (independent variable).
variable
Note: PV cannot be a constant.
101
Proficy Process Systems - Instructions
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to Yes.
and ST only.) reference in non-BOOL
variable
Optional
OP REAL variable Dependent variable. Result of the
function f(PV) for the current process
variable PV.
Other Languages
FUNCTION can also be used in LD and ST.
LD ST
InstanceName(PV := , OP => );
102
Proficy Process Systems Logic
InstanceName Mnemonic:
LEADLAG
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems LEADLAG function block instance causes the output to lead or lag, changes to
the input. The LEADLAG transfer function is:
where:
OP is the Output
K is the Gain
LEAD TIME is a user-defined time constant. See the configuration parameters below.
LAG TIME is a user-defined time constant. See the configuration parameters below.
s is the Laplace variable.
Note: When the value of the variable assigned to the output parameter OP is plus or minus 0.001, then the
value of OP is copied to the input process variable PV.
Operation
The LEADLAG block is typically used for feedforward control. In feedforward control,
the measured disturbance is the process variable (PV) into the LEADLAG block, and the
output (OP) of the LEADLAG block is fed to either the PID or ADV_PID block, by
means of their FF input.
Lead compensation increases the bandwidth, and speeds up the response to changes in the
process variable. The lag compensation, increases low-frequency gain and improves
steady state accuracy of the controlled variable. Together lead-lag compensation, can be
used to improve the response, to both transient and steady-state conditions.
103
Proficy Process Systems - Instructions
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, LEADLAG solves.
(FBD variable, bit When set to No, LEADLAG does not solve. When
only.) reference in LEADLAG is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
Required
When re-activated, the dT will be the difference
between enabled solves.
PV REAL Process variable for the LEADLAG calculation.
variable
Note: PV cannot be a constant.
OVR Optional BOOL Override Calculation. When set to Yes, the value of
variable PV is copied to the variable assigned to the output
OP; that is, the formula is ignored.
Default: No.
Output Parameters
Output
Name Definition Data Type Description
ENO BOOL variable, bit reference in non- ENO is set to Yes if EN is set
(FBD BOOL variable to Yes.
and ST Optional
only.)
OP REAL variable Calculated value
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Setting Type Name Public Description
Gain K Value of the gain in the
REAL Read / LEADLAG transfer
Real Range variables Write function.
Default: 1.0.
104
Proficy Process Systems Logic
Examples
Example 1: Low Pass Filter
In this example, the value of the configuration parameter Lag Time is set to 5.
The value of the configuration parameter Lead Time is set to 0.
The value of the gain is set to 1.0.
The value of the input process variable PV is set to 0.0.
The value of the output parameter OP is set to 0.0.
When you set the input process variable PV to 10.0, the graph below displays the results
of the variable myOP assigned to the output parameter OP.
105
Proficy Process Systems - Instructions
Other Languages
LEADLAG can also be used in LD and ST.
106
Proficy Process Systems Logic
LD ST
InstanceName(PV := , OVR := , OP => );
107
Proficy Process Systems - Instructions
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The Proficy Process Systems ADV_PID function block instance provides feedback control by means of
proportional plus integral plus derivative action. The ADV_PID block also supports feedforward control by
directly incorporating the feedforward input into the ADV_PID control algorithm.
The ADV_PID block has the following features:
Support for adaptive tuning
External dynamic reset to support override, selective, and cascade control
strategies
Derivative action can be applied to either the process variable or the error
Configurable execution period
Bumpless transfer between manual and automatic mode
Configurable initialization
108
Proficy Process Systems Logic
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Feedback Control
Feedback control, in its simplest form, consists of measuring a process variable and
comparing it to its desired value to yield an error that can be used to generate a control
signal. The control signal manipulates the process so that the measured process variable
tends towards the desired value, that is, setpoint. In an ADV_PID controller2, the control
signal is a linear combination of three terms: one that is proportional to the error, one that
is the time integral of the error, and one that is the time rate of change of the error.
Algorithm Types
The ADV_PID block supports two types of PID algorithms, the series and parallel
algorithms. The main difference between the two algorithms is how the three terms
(proportional, integral, and derivative) are combined. The terms in the series algorithm
are combined in a manner that makes them interacting, whereas the terms are combined
in the parallel algorithm in a manner that makes them non-interacting.
An ADV_PID function block can be configured to use one of these algorithms through
the configuration parameter Algorithm Type.
Series Algorithm
The series algorithm is the most common algorithm used in industrial controllers. It is
represented in the time domain as:
where:
op(t) is the ADV_PID output
e(t) is the difference between the measured process variable and setpoint
109
Proficy Process Systems - Instructions
The ADV_PID function block implements the discretized form of this equation for the
series algorithm option.
Note: The series algorithm is implemented as a positional controller. It incorporates all the advantages of
the velocity algorithm and allows for proportional-only or proportional-and-derivative control. Velocity
algorithms do not have this flexibility and cannot be used directly for control without integral action.
Parallel Algorithm
The parallel algorithm is the most flexible algorithm. It can provide pure integral or pure
derivative action as well as any combination of the terms. It is represented in the time
domain as:
where:
op(t) is the ADV_PID output
e(t) is the difference between the measured process variable and setpoint
KP is the proportional gain
KI is the integral reset
KD is the derivative time
Transforming the parallel algorithm into the Laplace domain yields:
110
Proficy Process Systems Logic
The ADV_PID function block implements the discretized form of this equation for the
parallel algorithm option.
Note: The parallel algorithm is implemented as a positional controller. It incorporates all the advantages of
the velocity algorithm and allows for proportional-only or proportional-and-derivative control. Velocity
algorithms do not have this flexibility and cannot be used directly for control without integral action.
Proportional Term
The proportional term in the series and parallel algorithms is from the magnitude and
direction of the error between the process variable and setpoint. Its sensitivity to the error
is expressed in terms of the gain, KP. KP is equivalent to the amount of reaction divided
by the amount of stimulus; hence it has physical units of OP Engineering Units divided
by PV Engineering Units. Reaction can be thought of as the amount of change in the
output that occurs for a certain amount of deviation the process variable has from the
setpoint, that is, stimulus.
Note: The ADV_PID block uses physical units for the setpoint, process variable, and output, hence, the
proportional gain is in physical units.
Integral Term
The integral term gives the ADV_PID block the capability to eliminate steady state
errors. In the parallel algorithm the integral term integrates the error signal over time,
whereas in the series algorithm it integrates the proportional-and-derivative term over
time. It thus keeps adding or subtracting from the overall integral offset until the steady
state error is zero.
The integral reset in both algorithms, KI, is given in units of repeats/minute. The integral
reset specifies how many times the input to the integral term is added to the output, that is
repeated over a given period of time. For example, if the parallel algorithm is selected
and KI is set to 1 repeat/min and the error is holding steady at 10, then after one minute,
the integral contribution to the output increases by 10, which is one repeat of the error
signal in one minute.
The integral term has built in anti-windup protection with quick saturation
recovery. Quick saturation recovery enables the controller to recover from saturation,
based on changes to the magnitude of the error and hence is faster than the traditional
anti-windup logic that waits until the error has changed signs before recovering.
The advanced PID function block instance allows the integral term to be dynamically
reset with the inputs External Reset Reference (ER) and External Reset Switch (ESW).
The external reset allows for optimal control of override loops and cascade loops.
Example: Override
The following example shows how the external reset feature is used to provide override
control. In this example, the OVERRIDE block selects the minimum of the two
ADV_PID outputs, to manipulate one device. To limit windup on the loop that currently
is not selected, the selected output is used to dynamically reset its integral term.
111
Proficy Process Systems - Instructions
Note: This feature provides better responsiveness than other industrial controllers2 that only inhibit the
integral term of the inactive PID from increasing or decreasing.
1
Note: Tic100 manually controls ty100. When tic100 is in manual mode, then pic100 tracks tic100's output.
The external reset feature is also used in cascade control to dynamically reset the primary
loops integral term when the secondary loop saturates.
Derivative Term
In the ADV_PID block, the derivative term can be configured to act on the process
variable, or the error, in the series and parallel algorithms, by means of the configuration
parameter Derivative Based On.
If the derivative term is from the error, then it is used to estimate what the error will be
forward in time, by extrapolating the estimate from the line tangent to the slope of the
error. Likewise, if the derivative term is from the process variable, then it is used to
estimate the future state of the process variable from the line tangent to the slope of the
process variable. The derivative time, KD, is equal to the time in minutes ahead of the
present time, that the algorithm estimates the value of the process variable or the value of
the error from its current slope. This estimation minus the current value of the process
112
Proficy Process Systems Logic
variable or error, depending on which parameter the derivative is from, is the contribution
that the derivative term makes to the overall ADV_PID output.
The series and parallel algorithms filter the derivative term to reject high frequency noise.
Feedforward Control
Feedforward control is implemented by detecting disturbances as they happen and using
the detection of a disturbance to manipulate the process so as to decrease the effects of
the disturbance on the process. Feedforward control is, therefore, anticipatory as
compared to feedback control, which waits until the disturbance affects the process
before taking action.
Typically, a lead/lag compensator is used for feedforward control. The output of the
lead/lag compensator can be directly fed to the Proficy Process Systems ADV_PID block
by means of the FF input. The FF input must be in the same physical units as the
ADV_PID output because the FF input is added to the ADV_PID output. The
feedforward signal is directly incorporated into the anti-windup and saturation logic of
the ADV_PID block.
General Features
The following features apply to the series and parallel algorithms.
Adaptive Tuning
ISA definition for adaptive control is "control in which automatic means are used to
change the type or influence of control parameters in such a way as to improve the
performance of the control system". Hence, adaptive tuning requires some method to
improve the control, by changing the parameters effectively. This could include fuzzy
logic, gain scheduling, or other means.
The ADV_PID block has two auxiliary blocks that it interfaces with to support adaptive
tuning. They are the SCHEDULER and ADAPT block. These blocks pass the adaptive
tuning gains to the ADV_PID block by means of the Adaptive Tuning Structure (ATS)
input. The SCHEDULER block provides gain scheduling from a scheduling variable; for
example, PID error or PID output. The ADAPT block is used to interface user defined
adaptive tuning strategies to the ADV_PID block. Both blocks rate limit the adaptive
gains.
113
Proficy Process Systems - Instructions
Example: Adapt
The following example, illustrates how to use the ADV_PID block to adaptively tune
gains from current process dynamics. The user defined adaptive tuning strategy,
FUZZY_ADAPT, utilizes a fuzzy rule base to adjust the proportional gain and integral
reset, from the current error and the rate of change of the error. The proportional gain and
integral reset are fed to the ADAPT block, that passes the two tuning parameters to the
ADV_PID block within the Adaptive Tuning Structure.
Execution Period
The ADV_PID function block instance can be configured by means of the configuration
parameter Execution Period, to execute at a fixed period. The execution period can be
specified from 0.0 through 300.0 seconds. If the Execution Period is configured for 0.0
seconds, then the block executes every time it is called. The fastest the block can execute
is limited by the PACSystems CPU scan.
ADV_PID Direction
The ADV_PID block can be configured to be reverse acting where the error is SP - PV or
direct acting where the error is PV - SP by means of the configuration parameter
Direction. Important: The direction of the ADV_PID is given in reference to the
controller and not the process. This convention follows the definition in ANSI/ISA 51.1
Standard where:
A direct acting controller is defined as a controller in which the value of the
output signal increases as the value of the input (measured variable) increases.
A reverse acting controller is defined as a controller in which the value of the
output signal decreases as the value of the input (measured variable) increases.
114
Proficy Process Systems Logic
into local, or locked into remote. The data type of this input is an unsigned integer and
has three valid settings:
0: Setpoint Source is selectable from the faceplate or Inspector.
1: Setpoint Source is local and cannot be changed from the faceplate or Inspector.
2: Setpoint Source is remote and cannot be changed from the faceplate or
Inspector.
If the SCW input has a value 2, the Setpoint Source defaults to selectable from the
faceplate or Inspector.
Note: The Setpoint Source can be remote only if the input RSP is defined with an argument.
Setpoint Filtering
The setpoint filter reduces derivative kick and/or proportional jump on appreciable
setpoint changes. The setpoint filter is configured by means of the configuration
parameter Setpoint Filter Time. If Setpoint Filter Time is set to be the ADV_PID
block's execution period, then the filtering action is applied to the setpoint.
Setpoint Tracking
Setpoint tracking can be enabled by means of the configuration parameter Setpoint
Tracking. If Setpoint Tracking is set to enabled, the setpoint tracks the process variable
when manual or output tracking modes are active.
Output Tracking
The tracking switch input (TSW) and tracking reference input (TR) enables the logic to
override the controller output to a value. When the tracking switch and tracking reference
inputs are defined with an argument, the ADV_PID block sets the output OP equal to TR
when the tracking switch is set to On. When the tracking switch is reset to Off, the
transfer out of output tracking mode is bumpless.
115
Proficy Process Systems - Instructions
ignored and the output can be set to any value within the range of OP Minimum and OP
Maximum.
Example
The example below displays the construction of a cascade control strategy by means of
the ADV_PID block. A fired furnace is used to heat a process fluid as shown below.
Eng.
Instrument Range Units
TT 0 through
(Primary) 500 Deg F
FT 0 through
(Secondary) 700 SCFM
0 through
FV 100 PCT
In the above diagram, the temperature of the process fluid (TT) is the primary process
variable; the fuel flow (FT) is the secondary process variable. In the primary controller2
(TC), the primary process variable (TT) is subtracted from the operator setpoint to
generate an error. This error is used to determine the primary controllers output by means
of PID action. The primary controllers output is the setpoint for the secondary controller
(FC). The secondary controller (FC) acts on the error between its setpoint and the
secondary process variable (FT) by means of PID action to determine the position of the
116
Proficy Process Systems Logic
valve (FV). The position of the valve should be such that the primary process variable
(TT) tends towards the operator setpoint.
The reasons to use cascade control in this example as opposed to a single input / single
output temperature controller (TC) are:
The secondary controller can reject disturbances in the secondary process variable
before they have an effect on the primary process variable.
The secondary controller speeds up the response of the primary controller.
The secondary controller handles the non-linear characteristics of the valve, thus
reducing their impact on the primary controller.
The basic cascade control strategy for this example is shown below.
117
Proficy Process Systems - Instructions
Both controllers are reverse acting, that is, as the flow and temperature increase, the cascade
setpoint and valve position should decrease.
This application requires the series algorithm in the primary and secondary controllers.
The range settings for PV and OP in the primary and secondary controllers must be correctly set
up.
118
Proficy Process Systems Logic
Note: For the diagram below, the black bubbles on the inputs of the FBD OR and SWITCH blocks mean that
those inputs are negated.
Operator Interface
The graphic of the fired furnace is built with Proficy Process Systems mimic objects
(dynamos). This greatly facilitates screen development. When you click a process system
mimic object, an associated faceplate appears, as follows:
119
Proficy Process Systems - Instructions
For the above diagram, the main interfaces that control and monitor this process are the
primary controller faceplate and the secondary controller faceplate. The temperature
setpoint is entered by means of the primary controller faceplate, which is accessed by
selecting the generic mimic ARS.TC.
The secondary controller faceplate is used for manual operation. This faceplate can also
be used to select whether the controller operates in local or remote setpoint mode. The
secondary controller faceplate is accessed by selecting the Valve mimic ARS.FC.
Input Parameters
Input
Name Definition Data Type Description
120
Proficy Process Systems Logic
121
Proficy Process Systems - Instructions
Output Parameters
Output
Name Definition Data Type Description
ENO BOOL variable, Bit reference ENO is set to Yes if EN is set to Yes.
(FBD in non-BOOL variable
and ST
only.)
A Automatic mode active indication.
Default: No.
SH Saturation High indication.
Default: No.
BOOL variables
SL Saturation Low indication.
Optional Default: No.
R Remote setpoint active indication.
Default: No.
ERR controller2 Error.
Default: 0.0.
SP REAL variables Setpoint (actual).
Default: 0.0.
OP controller output.
Default: 0.0.
122
Proficy Process Systems Logic
123
Proficy Process Systems - Instructions
124
Proficy Process Systems Logic
125
Proficy Process Systems - Instructions
126
Proficy Process Systems Logic
127
Proficy Process Systems - Instructions
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
128
Proficy Process Systems Logic
129
Proficy Process Systems - Instructions
130
Proficy Process Systems Logic
RSP
x[16] and Type =
x[17] 0 1 undefined
1 0 0
0 1 0
x[18] Not used
x[19] Setpoint tracking switch
x[20] Derivative Based On
x[21] Bit value is 1 if input ATS
is enabled and Adaptive
Proportional Gain is
Enabled
x[22] Bit value is 1 if input ATS
is enabled and Adaptive
Integral Reset is Enabled
x[23] Bit value is 1 if input ATS
is enabled and Adaptive
Derivative Time is Enabled
x[24] Not used
through
x[31]
Default: 0.
SC REAL REAL controller2 setpoint command. If R enabled,
range variable then SC = RSP; otherwise, if Setpoint Tracking
Read / enabled, then SC = PV.
Write Default: 50.0.
SK UINT Setpoint tracking switch.
range Default: 0.
pcv_MODE 0 UINT No Internal mode enumeration from the mode.
1 variables 0: Undefined
2 1: Manual
2: Auto.
Default: 1.
Other Languages
ADV_PID can also be used in LD and ST.
LD ST
131
Proficy Process Systems - Instructions
132
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The Proficy Process Systems PID function block instance provides feedback control by means of
proportional plus integral plus derivative action. The PID block also supports feedforward control by
directly incorporating the feedforward input into the PID control algorithm.
The PID block has the following features:
Configurable execution period
Bumpless proportional tuning
Bumpless transfer between manual and automatic mode
Configurable initialization
Configurable algorithm type (either series or parallel)
Advanced integral anti-windup techniques including quick saturation recovery
Setpoint filtering
Setpoint tracking
Bumpless transfer out of output tracking mode to either manual or automatic
control
133
Proficy Process Systems - Instructions
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Feedback Control
Feedback control, in its simplest form, consists of measuring a process variable and
comparing it to its desired value to yield an error that can be used to generate a control
signal. The control signal manipulates the process so that the measured process variable
tends towards the desired value, that is, setpoint. In a PID Controller, the control signal is
a linear combination of three terms: one that is proportional to the error, one that is the
time integral of the error, and one that is the time rate of change of the error.
The PID block supports two types of PID algorithms, the series and parallel algorithms.
The main difference between the two algorithms is how the three terms (proportional,
integral, and derivative) are combined. The terms in the series algorithm are combined in
a manner that makes them interacting, whereas the terms are combined in the parallel
algorithm in a manner that makes them non-interacting.
A PID function block instance can be configured to use one of these algorithms through
the configuration parameter Algorithm Type.
Series Algorithm
The series algorithm is the most common algorithm used in industrial Controllers. It is
represented in the time domain as
where:
op(t) is the PID output
e(t) is the difference between the measured process variable and setpoint
KP is the proportional gain
KI is the integral reset
KD is the derivative time
Transforming the series algorithm into the Laplace domain yields
134
Proficy Process Systems Logic
In order to limit derivative kick from measurement noise, a low pass filter is applied to
the derivative term. The filter has a time constant equal to KD/N, where N is the
Derivative Filter Parameter and can be configured to a value in the range of 8.0 through
20.0. This effectively limits amplification of high frequency noise to . With the
application of derivative filtering, the series algorithm is expressed as
The PID function block instance implements the discretized form of this equation for the
series algorithm option.
Note: The series algorithm is implemented as a positional Controller. It incorporates all the advantages of
the velocity algorithm and allows for proportional-only or proportional-and-derivative control. Velocity
algorithms do not have this flexibility and cannot be used directly for control without integral action.
Parallel Algorithm
The parallel algorithm is the most flexible algorithm. It can provide pure integral or pure
derivative action as well as any combination of the terms. It is represented in the time
domain as
where:
op(t) is the PID output
e(t) is the difference between the measured process variable and setpoint
KP is the proportional gain
KI is the integral reset
KD is the derivative time
Transforming the parallel algorithm into the Laplace domain yields
The PID function block instance implements the discretized form of this equation for the
parallel algorithm option.
135
Proficy Process Systems - Instructions
Note: The parallel algorithm is implemented as a positional Controller. It incorporates all the advantages of
the velocity algorithm and allows for proportional-only or proportional-and-derivative control. Velocity
algorithms do not have this flexibility and cannot be used directly for control without integral action.
Proportional Term
The proportional term in both the series and parallel algorithms is from the magnitude
and direction of the error between the process variable and setpoint. Its sensitivity to the
error is expressed in terms of the gain, Kp. Kp is equivalent to the amount of reaction
divided by the amount of stimulus; hence it has physical units of OP Engineering Units
divided by PV Engineering Units. Reaction can be thought of as the amount of change in
the output that occurs for a certain amount of deviation the process variable has from the
setpoint, that is, stimulus.
Note: The PID block uses physical units for the setpoint, process variable, and output, therefore, the
proportional gain is in physical units.
Integral Term
The integral term gives the PID block the capability to eliminate steady state errors. In
the parallel algorithm the integral term integrates the error signal over time, whereas in
the series algorithm it integrates the proportional-and-derivative term over time. It thus
keeps adding or subtracting from the overall integral offset until the steady state error is
zero.
The integral reset in both algorithms, Ki, is given in units of repeats/minute. The integral
reset specifies how many times the input to the integral term is added to the output; that
is, repeated, over a given period of time. For example, if the parallel algorithm is selected
and KI is set to 1 repeat/min and the error is holding steady with a magnitude of 10, then
after one minute the integral contribution to the output increases by 10, which is one
repeat of the error signal in one minute.
The integral term has built-in anti-windup protection with quick saturation
recovery. Quick saturation recovery enables the Controller to recover from saturation,
based on changes to the magnitude of the error and hence is faster than traditional anti-
windup logic that waits until error has changed signs before recovering.
Derivative Term
In both the series and parallel algorithms, the derivative term is from the rate of change of
the process variable instead of the error. This is to eliminate undesirable derivative kicks
upon stepwise changes to the setpoint. The derivative term is used to estimate what the
process variable will be forward in time by extrapolating the estimate from the line
tangent to the slope of PV. The derivative time Kd, is equal to time in minutes ahead of
the present time that the algorithm estimates the process variables value from its current
slope.
Both the series and parallel algorithms filter the derivative term to reject high frequency
noise.
Feedforward Control
Feedforward control is implemented by detecting disturbances as they happen and using
the detection of a disturbance to manipulate the process so as to mitigate the effects of the
136
Proficy Process Systems Logic
Note: The feedforward signal is added to the PID output. The feedforward signal is directly incorporated into
the anti-windup and saturation logic of the PID block.
General Features
The following features are applicable to both the series and parallel algorithms.
Execution Period
The PID function block can be configured by means of the configuration parameter
Execution Period to execute at a fixed period. The execution period can be specified
within the bounds of 0.0 through 300.0 seconds. If Execution Period is configured for 0.0
seconds then the block will execute every scan. The fastest the block can execute is
limited by the PACSystems CPU scan.
PID Direction
The PID block can be configured to be reverse acting where the error is SP - PV or direct
acting where the error is PV - SP by means of the configuration parameter Direction.
137
Proficy Process Systems - Instructions
If the SCW input assumes a value 2, the setpoint source defaults to 0: selectable from
the faceplate or Inspector.
Note: The setpoint source can be remote only if the input RSP is defined with an argument.
Setpoint Filtering
The setpoint filter reduces derivative kick on appreciable setpoint changes. The setpoint
filter is configured by means of the configuration parameter Setpoint Filter Time. If
Setpoint Filter Time is set to be the PID block's execution period then the filtering
action is applied to the setpoint.
Setpoint Tracking
Setpoint tracking can be enabled by means of the configuration parameter Setpoint
Tracking. If Setpoint Tracking is set to enabled, the setpoint tracks the process variable
when manual or output tracking modes are active.
Output Tracking
The tracking switch input (TSW) and tracking reference input (TR) enables the logic to
override the Controller output to a particular value. When both the tracking switch and
tracking reference inputs are defined with an argument, the PID block sets the output OP
equal to TR when the tracking switch is set to On. When the tracking switch is reset to
Off, the transfer out of output tracking mode is bumpless.
138
Proficy Process Systems Logic
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, PID solves. When
(FBD variable, Bit set to No, PID does not solve. When PID is not
only.) reference in solving, the states of the variables within the block
non-BOOL are not changing, so no faceplate commands or time
variable calculations are performed. When re-activated, dT is
difference between enabled solves.
Required
Note: If you energize the EN input and de-energize it, and later
re-energize it; you may see undesirable consequences. It is
recommended that before re-energizing EN input, place the PID
in manual mode.
FF Optional
Feedforward signal.
REAL Default: 0.0.
variables or
RSP constants Remote Setpoint.
Default: 0.0.
MCW Mode Command Word.
0: Mode selectable from Inspector or faceplate
1: Mode locked in manual
2: Mode locked in automatic
Default: 0.
SCW UINT variables Setpoint Command Word.
0: Setpoint source selectable from Inspector or
faceplate
1: Setpoint locked in local
2: Setpoint locked in remote
Default: 0.
TSW BOOL variable Output Tracking Switch.
Default: No.
TR REAL Output Tracking reference.
variables or Default: 0.0.
HI constants High clamp.
Default: 100.0.
139
Proficy Process Systems - Instructions
LO Low clamp.
Default: 0.0.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, Bit reference in ENO is set to Yes if EN
ST only.) non-BOOL variable is set to Yes.
A Automatic mode active
indication.
Default: No.
SH Saturation High
indication.
Default: No.
BOOL variables
SL Saturation Low
indication.
Optional Default: No.
R Remote setpoint active
indication.
Default: No.
ERR Controller Error.
Default: 0.0.
SP REAL variables Setpoint (actual).
Default: 0.0.
OP Controller output.
Default: 0.0.
140
Proficy Process Systems Logic
141
Proficy Process Systems - Instructions
142
Proficy Process Systems Logic
143
Proficy Process Systems - Instructions
144
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server.
When TRUE the data point will be historized
Process Variable Indication (PI)
Controller Output (OP)
Faceplate Command (FC)
Faceplate Status Bits (ST)
Proportional Gain (KP)
Integral Reset (KI)
Derivative Time (KD)
Controller Setpoint (SC)
Setpoint Tracking Switch (SK)
Minimum PV (PN)
Maximum PV (PX)
Minimum OP (ON)
Maximum OP (OX)
EGD
145
Proficy Process Systems - Instructions
The table below displays the Ethernet Global Data (EGD) associated with a PID block.
System Exchange: #PID
System Block Identifier: O0B
Default Produced Period: 200 milliseconds.
Member Number of
Configuration Parameter Data Type Name Public Bytes
Process Variable Indication REAL PI Read 4
Controller Output variables OP No 4
Faceplate Command UINT FC Read / 2
variable Write
Faceplate Status DWORD ST Read 4
variable
Proportional Gain KP 4
Integral Reset REAL KI 4
Derivative Time variables KD 4
Setpoint Command SC 4
Setpoint Tracking Selector UINT SK Read / 2
variable Write
Process Variable Minimum PN 4
Process Variable Maximum REAL PX 4
Output Minimum variables ON 4
Output Maximum OX 4
48 total
bytes
Configuration Parameters - Internal
Values of configuration parameters are stored in the member variables of the function
block instance data. They are used to communicate with the Proficy Process Systems
HMI.
The internal member variable names are listed in the table below.
Member Valid Data
Name Settings Type Public Description
PI REAL REAL Read PV value.
range variables Default: 0.0.
FC UINT UINT Read / Faceplate Command.
range variable Write Default: 0.
ST DWORD DWORD Read Status word. State of PID block from Faceplate
range variable Command FC.
Bit Description
x[0] pcv_MODE =
and 0 1 2
x[1] 0 0 1
0 1 0
146
Proficy Process Systems Logic
147
Proficy Process Systems - Instructions
Example
The following is a simple single input / single output PID loop.
Other Languages
PID can also be used in LD and ST.
LD ST
148
Proficy Process Systems Logic
149
Proficy Process Systems - Instructions
Override (OVERRIDE)
InstanceName
Mnemonic:
OVERRIDE
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The Proficy Process Systems OVERRIDE function block instance involves two or more independent
advanced PID loops to manipulate one process device, for example a modulating valve. The PID loop
calling for the greatest corrective action in a pre-defined safe direction overrides all other PID loops.
Typically, this control is used where there is a primary process variable to be controlled with a constraint,
for example regulating a temperature with the constraint of not allowing a pressure to fall below its
minimum value.
The Override block interfaces with ADV_PID blocks to coordinate and select the correct ADV_PID output
to manipulate the process. In the diagram below, the water temperature from the heat exchanger is the
primary process variable; however, the steam pressure cannot go below a minimum setpoint. Therefore, the
steam pressure is the overriding process variable. The Override block performs the following:
It passes the PID output that calls for the least stroke to the valve.
Coordinates the external reset feedback for the upstream ADV_PID blocks to prevent windup in
the inactive ADV_PID loop(s).
150
Proficy Process Systems Logic
Detailed Operation
The Override block selects either the minimum, maximum, or median REAL input, and
passes the selected input to the output OP. The configuration parameter Selection Option
value determines whether the minimum, maximum, or median input is selected. The
inputs for the Override block come from one or more ADV_PID blocks that are used for
a constraint control strategy.
Typically, the output OP drives an analog output. The outputs ESW1, ESW2, and ESW3
indicate whether the associated IN1, IN2, or IN3 input has been selected. If the associated
input has been selected, then the corresponding ESW state is False; the other ESW states
are True. These outputs coordinate multiple ADV_PID blocks so that there is no windup
in the inactive Controller.
This Override block is designed to be used with the ADV_PID block, which has external
reset capability to prevent windup in the inactive Controller. It is not recommended that
the PID block be used for constraint control, because the inactive Controller can wind up
or down, such that its response is delayed.
Operational Modes
The Override block enables you to choose zero or more inputs; however, for the block to
function properly, you should define at least two inputs with an argument.
The table below defines the block's behavior as a function of number of inputs defined
when Select Option is set to Minimum.
IN1 IN2 IN3 Behavior
Not Not Not defined OP = 0.0
defined defined ESW1 = ESW2 = ESW3 = False
Not Not Defined OP = IN3
defined defined ESW1 = ESW2 = ESW3 = False
Not Defined Not defined OP = IN2
defined ESW1 = ESW2 = ESW3 = False
Not Defined Defined OP = Min(IN2, IN3)
defined ESW1 = False
151
Proficy Process Systems - Instructions
152
Proficy Process Systems Logic
otherwise, False
ESW3 = True if OP IN3;
otherwise, False
Defined Defined Not defined OP = Max(IN1, IN2)
ESW3 = False
ESW1 = True if OP IN1;
otherwise, False
ESW2 = True if OP IN2
otherwise False
Defined Defined Defined OP = Max(IN1, IN2, IN3)
ESW1 = True if OP IN1;
otherwise, False
ESW2 = True if OP IN2;
otherwise, False
ESW3 = True if OP IN3;
otherwise, False
The table below defines the block's behavior as a function of number of inputs defined
when Select Option is set to Median.
IN1 IN2 IN3 Behavior
Not Not Not defined OP = 0.0
defined defined ESW1 = ESW2 = ESW3 = False
Not Not Defined OP = IN3
defined defined ESW1 = ESW2 = ESW3 = False
Not Defined Not defined OP = IN2
defined ESW1 = ESW2 = ESW3 = False
Not Defined Defined OP = (IN2 + IN3)/2
defined ESW1 = False
ESW2 = True if OP IN2;
otherwise, False
ESW3 = True if OP IN3;
otherwise, False
Defined Not Not defined OP = IN1
defined ESW1 = ESW2 = ESW3 = False
Defined Not Defined OP = (IN1 + IN3)/2
defined ESW2 = False
ESW1 = True if OP IN1;
otherwise, False
ESW3 = True if OP IN3;
otherwise, False
Defined Defined Not defined OP = (IN1 + IN2)/2
ESW3 = False
ESW1 = True if OP IN1;
otherwise, False
ESW2 = True if OP IN2
otherwise False
153
Proficy Process Systems - Instructions
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, OVERRIDE
(FBD variable, Bit solves. When set to No, OVERRIDE does not
only.) reference in solve. When OVERRIDE is not solving, the
non-BOOL variable states within the block are not changing,
variable so no faceplate commands or time calculations are
performed. When re-activated, dT is the difference
between enabled solves.
Note: If you energize the EN input and de-energize it, and
later re-energize it, you may see undesirable consequences.
IN1 Optional REAL The control variable(s) from one or more advanced
through variables or PID loops that are part of a constraint control
IN3 constants strategy.
Default: 0.0.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL ENO is set to Yes if EN is set to Yes.
and ST only.) variable, Bit
Optional reference in
non-BOOL
variable
OP REAL Minimum, maximum, or median configured
variable input values, depending on the configuration
parameter Selection Option value.
Default: 0.0.
154
Proficy Process Systems Logic
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Navigator Variables tab.
Values of configuration parameters are stored in the function block instance data member
variables.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Select Option Minimum UINT SEL_OPT Read / Determines whether the
Maximum variable Write output OP REAL value is
Median the minimum, maximum, or
median configured input
values.
Default: Minimum.
155
Proficy Process Systems - Instructions
Example
1
Note: Tic100 manually controls ty100. When tic100 is in manual mode, then pic100 tracks tic100's output.
Other Languages
OVERRIDE can also be used in LD and ST.
LD ST
InstanceName(IN1 := , IN2 := , IN3 := , ESW1 => , ESW2 => , ESW3 => );
156
Proficy Process Systems Logic
157
Proficy Process Systems - Instructions
InstanceName Mnemonic:
PWM
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The PWM block is used to control a process variable, for example temperature, by
manipulating discrete devices. The block generates pulses that set discrete devices
to a certain state so that the process variable under control tends towards the
desired setpoint. The pulse widths modulate from CV, typically the output of a PID
block. The PWM block can operate in single or split range mode.
Operation
A PWM block is used to control a process variable to a setpoint by manipulating
discrete devices such as a two-position valve or heater. The input to the PWM function
block is typically an output of a PID block. The PWM block generates pulses with widths
that are from the input CV.
PWM has two modes of operation: split range and single range.
158
Proficy Process Systems Logic
Where:
CV_MIN: Minimum value of the input control variable CV.
CV_MAX: Maximum value of the input control variable CV.
BP: Break point separating Region 1 from Region 2.
DB: Deadband region around the break point.
u1(CV) and u2(CV): Percentage of the pulse cycle for OP1 and OP2 respectively, using
the following calculations:
OP1width = pulse_cycle * u1(CV)
OP2width = pulse_cycle * u2(CV)
Where:
pulse_cycle: Configuration parameter equal to the number of seconds that elapses
between pulses.
OP1 and OP2: Duty cycle of pulses.
Note: A minimum pulse width can be configured to reduce wear on actuators.
Where:
u1(CV): Percentage of the pulse cycle for OP.
The value of the pulsed output width parameter OP for a given cycle is calculated below.
OPwidth = pulse_cycle * u1(CV)
159
Proficy Process Systems - Instructions
Where:
pulse_cycle: A configuration parameter that contains the number of seconds that elapses
between pulses.
OPwidth: Duty cycle of pulse.
u1(CV): Duty cycle of OP as a percentage of pulse cycle.
As opposed to the split range mode, the required configuration parameters for the single
range mode are CV_MIN, CV_MAX, and pulse_cycle.
Note: A minimum pulse width can be configured to reduce wear on actuators.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, PWM solves. When
(FBD variable, bit set to No, PWM does not solve. When PWM is not
only.) reference in solving, the states of the variables within the block,
non-BOOL are not changing, so no faceplate commands or time
variable calculations will be performed. When re-activated,
Required
the dT will be the difference between enabled solves.
CV REAL variable Control variable.
Default: 0.0.
Note: CV cannot be a constant.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to
and ST only.) reference in non-BOOL Yes.
variable
OP Single range duty pulse with a
Optional modulating width.
Default: No.
OP1 and OP2 BOOL variables Split range duty pulses with
modulating widths for Regions 1 and
2 respectively.
Default: No.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
160
Proficy Process Systems Logic
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Minimum CV CV_MIN Default: 0.0.
Value
Note: To avoid an
unexpected result, ensure
that Minimum CV Value is
to Maximum CV Value.
REAL range
Maximum CV CV_MAX Default: 100.0.
Value
Note: To avoid an
REAL unexpected result, ensure
that Minimum CV Value is
variables to Maximum CV Value.
Example
A Split Range PWM Application
We want to control the temperature along the barrel of an extruder. The extruder barrel
consists of zones, where each zone has a thermocouple, a cooling water solenoid valve,
and an On/Off heater. The control logic for one zone is shown in the diagram below.
The temperature is sensed by the thermocouple. The reverse acting PID outputs a control
variable from the error between the setpoint and the sensed temperature. This control
variable is used by a PWM block to generate pulsed outputs to control the cooling water
solenoid valve and the heater, so that the temperature moves towards the setpoint.
The gains for the PID function block are scheduled depending on whether the PID output
is in the cooling range or the heating range.
161
Proficy Process Systems - Instructions
Instruction or Function
Block Description
AI_INT Thermocouple analog
input
ADV_PID Temperature controller
PWM Pulse Width Modulator
DOUT (solve order 4) Open solenoid valve
DOUT (solve order 5) Set the state of Heater to
ON
If the ADV_PID output parameter OP ranges from 0.0 through 100.0%, and if the PWM
breakpoint is 50.0% with a deadband of 4.0%, then the split range plot displays below.
If the value of the PWM input control variable CV is 75.0% and the value of Pulse Cycle
(seconds) is 30.0, then the pulsed outputs for this cycle displays below.
The heater is set to on for 15 seconds of the pulse cycle; the cooling valve is closed for
the entire pulse cycle.
162
Proficy Process Systems Logic
Other Languages
PWM can also be used in LD and ST.
LD ST
InstanceName(CV := , OP => , OP1 => , OP2 => );
163
Proficy Process Systems - Instructions
Ramp/Soak (RAMPSOAK20)
InstanceName Mnemonic:
RAMPSOAK20
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Ramp/Soak (RAMPSOAK20) block generates an output over time from a user-
specified profile. The profile consists of ten ramp/soak segments, where each
segment consists of a soak value (target), ramp rate, and soak-time.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Operation
The starting and aborting of the profile generation can be done through logic with the two
input parameters SRT and ABT respectively and also with the HMI faceplate. The input
parameters, if used, should be defined with a pulse that is set to On to initiate the aborting
or starting of the profile and off thereafter.
When the profile generation is started (either by the faceplate command or by a pulse on
the input SRT), the value of the output parameter OP is immediately set to the value of
the configuration parameter Equilibration Value. The value of OP is constant until the
configuration parameter Equilibration Time elapses. This enables the process under
control to reach equilibrium before starting the profile generation.
After the process is equilibrated, the value of the output parameter OP moves towards the
value of the configuration parameter Soak Value at a rate given by the configuration
parameter Ramp Rate. Once OP reaches the Soak Value, OP remains at this value until
the Soak Time elapses. This process continues until the end of the profile or until the
abort command is issued (the input parameter ABT is set to Yes).
164
Proficy Process Systems Logic
If the profile is aborted, the Ramp/Soak profile goes to the idle state and OP retains its
last active value. If the profile ends normally, then OP remains at the value of the last
Soak Value. RAMPSOAK20 then goes to the idle state.
While a RAMPSOAK20 function block instance is equilibrating and generating the
profile, it displays an active state (output parameter ACT is set to Yes). Once the profile
ends (output parameter ACT is set to No) or aborts (input parameter ABT receives a
pulse to abort), RAMPSOAK20 goes to the idle state (output parameter ACT is No) until
RAMPSOAK20 is started again.
HMI faceplate commands include a pause command and a resume command to enable
the operator to interact with the profile at run time. When the profile is ramping and a
pause command is issued, the value of the output parameter OP remains constant. If the
profile is soaking, the soak timer halts. Upon a resume command, the value of the output
parameter OP proceeds with either soaking or ramping, that is, OP proceeds with
whatever it was doing prior to being paused.
Note: Any segment with 0 values for Ramp Rate, Soak Value, and Soak Time will not be able to reach the
Soak Value and will remain active until the Abort command is issued.
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, RAMPSOAK20
(FBD variable, bit solves. When set to No, RAMPSOAK20 does not
only.) reference in solve. When RAMPSOAK20 is not solving, the states
non-BOOL of the variables within the block are not changing, so
variable no faceplate commands or time calculations are
performed. When re-activated, dT is difference
between enabled solves.
SRT Start profile generation.
Default: No.
Note: For the RAMPSOAK20 function block instance to function
BOOL as it should, SRT must be a pulse.
Optional
ABT variables Abort profile generation.
Default: No.
Note: For the RAMPSOAK20 function block instance to function
as it should, ABT must be a pulse.
Output Parameters
Output
Name Definition Data Type Description
165
Proficy Process Systems - Instructions
ENO BOOL variable, bit reference in non- ENO is set to Yes if EN is set
(FBD BOOL variable to Yes.
and ST
only.)
ACT Profile generation active.
Optional
Default: No.
BOOL variables
PSD Profile generation paused.
Default: No.
OP REAL variable Ramp/soak profile generation.
Default: 0.0.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Member
Parameter Settings Data Type Name Public Description
Equilibration 0.0 ET Equilibration Time
Read /
Time Write in minutes.
Default: 0.0.
REAL variables
Equilibration REAL EV Equilibration value
Value range in Engineering Units.
Default: 0.0.
Segment 1 0.0 RR[0] Ten profile 'Ramp
Ramp Rate . Rate' values in
. one-dimensional . Engineering Units
. REAL arrays of 10 . per minute.
. real variables each RR[9] Default: 0.0.
Segment 10
Ramp Rate
Segment 1 Soak REAL SV[0] Ten profile 'Soak
Value range . Target' values in
. . Engineering Units.
. . Default: 0.0.
. SV[9]
Segment 10
Soak Value
166
Proficy Process Systems Logic
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: RAMPSOAK20
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 12 characters
OP Engineering Engineering units displayed on the operator consoles.
Units Default: Deg C
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 8 characters.
Display Precision Number of digits displayed to the right of the decimal point on the
faceplate.
Default: 1
Valid Setting: 0, 1, 2, 3
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
167
Proficy Process Systems - Instructions
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Command (FC)
Profile Generation Output (OP)
Status Word (ST)
Equilibration Time (ET)
Equilibration Value (EV)
Profile Ramp Rate (RR)
Profile Soak Rate (SV)
Full Soak Time (SK)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a RAMPSOAK20 block.
System Exchange: #RAMPSOAK20
System Block Identifier: O0O
Default Produced Period: 250 milliseconds.
Member Number of
Configuration Parameter Data Type Name Public Bytes
UINT
Status variable ST Read 2
REAL
OP variable OP No 4
UINT
Faceplate Command variable FC 2
Equilibration Time REAL ET 4
Equilibration Value variables EV 4
Segment 1 Ramp Rate RR[0 40
. through 9]
.
.
Segment 10 Ramp Rate Read /
Segment 1 Soak Value SV[0 Write 40
REAL
. through 9]
arrays of
.
10 REAL
.
variables
Segment 10 Soak Value
Segment 1 Soak Time SK[0 40
. through 9]
.
.
Segment 10 Soak Time
136 total
168
Proficy Process Systems Logic
bytes
169
Proficy Process Systems - Instructions
Input/output
Parameter is True ST value
ACT (Profile ST +
Generation Active) 4096
PSD (Profile ST +
170
Generation Paused) 8192
SRT (Start ST +
Command) 16,384
Proficy Process Systems Logic
Default: 0.
Example
The following example is a profile for a hypothetical process.
Soak
Parameter Target Ramp Rate Soak Time
Set (F) (F/minute) (minutes)
0 80.0 5.0 8.0
1 120.0 10.0 4.0
2 160.0 20.0 6.0
3 200.0 10.0 4.0
4 160.0 20.0 2.0
5 200.0 20.0 2.0
6 160.0 5.0 2.0
7 120.0 40.0 1.0
8 160.0 10.0 2.0
9 120.0 10.0 2.0
The diagram below displays the profile for this process that equilibrated at 40.0
Fahrenheit.
171
Proficy Process Systems - Instructions
Other Languages
RAMPSOAK20 can also be used in LD and ST.
LD ST
InstanceName(SRT := , ABT := , ACT => , PSD => , OP => );
172
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems RATELIMIT function block instance, limits the rate of change of the input
process variable PV, up or down.
If PV is not changing faster than the defined limits, then the rate of change of PV is not limited.
If PV is changing faster than the defined limits, then the rate of change of PV is circumscribed to
equal the limit which it exceeded.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, RATELIMIT solves.
(FBD variable, bit When set to No, RATELIMIT does not solve. When
only.) reference in RATELIMIT is not solving, the states of the
non-BOOL variables within the block, are not changing, so no
variable faceplate commands or time calculations will be
Required
performed. When re-activated, the dT will be the
difference between enabled solves.
PV REAL Input process variable.
variable
Note: PV cannot be a constant.
173
Proficy Process Systems - Instructions
OVR BOOL When the override OVR is set to Yes, then the rate of
variable change of PV is circumscribed to equal the value of UP or DN.
If UP is not defined, then the rate of change of
PV is circumscribed by the value of Maximum
Increase.
If DN is not defined, then the rate of change of
PV is circumscribed by the value of Maximum
Decrease.
Default: No.
Note: When OVR is set, OP automatically takes on the value of
PV (ignoring the formula).
Output Parameters
Output
Name Definition Data Type Description
ENO BOOL variable, bit reference in non- ENO is set to Yes if EN is set
(FBD BOOL variable to Yes.
and ST
only.) Optional
OP REAL variable The output calculated value
result.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
174
Proficy Process Systems Logic
Example
In the above Proficy Process Systems RATELIMIT function block instance, the rate of
change is set to enable the input process variable PV to change 60.0 units per minute up
and 120.0 units per minute down. The configuration parameter Time Base is set to 60.0
seconds.
As displayed below, it takes approximately two minutes for PV to change from 0 to 120.
175
Proficy Process Systems - Instructions
As displayed below, it takes approximately one minute for PV to change from 120 to 0.
176
Proficy Process Systems Logic
Other Languages
RATELIMIT can also be used in LD and ST.
LD ST
InstanceName(PV := , UP := , DN := , OVR := , OP => );
177
Proficy Process Systems - Instructions
Scheduler (SCHEDULER)
InstanceName Mnemonic:
SCHEDULER
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems SCHEDULER block has the following characteristics:
It is used with a Proficy Process Systems ADV_PID block.
It schedules a particular parameter set (proportional gain KP, integral reset KI, and derivative time
KD) for an ADV_PID block based upon the input scheduling parameter PV.
It is useful to control a nonlinear process and where an ADV_PID block changes the final control
element from the input scheduling parameter PV. An example of this is a temperature control loop
that has separate heating and cooling final elements.
It can be used to adaptively change the ADV_PID parameters from any independent variable.
Operation
A SCHEDULER block schedules an ADV_PID parameter set consisting of a
proportional gain KP, an integral reset KI, and a derivative time KD from the input process
variable PV. Specifically, the scheduled ADV_PID parameter set corresponds to the
region where the process variable PV currently resides.
The configuration parameter Number of Scheduling Regions can be set to 2, 3, or 4.
Depending on how many regions are configured, you must configure breakpoints to
define the boundaries of the enabled regions. For instance:
If you configure the number of regions to be 2, then only Breakpoint 1 needs to be
configured.
If you configure the number of regions to be 3, then only Breakpoints 1 and 2
need to be configured.
The above hypothetical can be logically extended for the case where there are four
regions.
The deadband configuration parameter DB can be configured around the enabled
breakpoints to prevent cycling back and forth between regions. For each region that is
178
Proficy Process Systems Logic
enabled, you must specify an ADV_PID parameter set. The diagram below displays the
different configuration parameters for a SCHEDULER block with four regions.
The transition of each parameter can be configured to be rate limited. The configuration
parameter Maximum Rate of Change enables you to set the maximum rate of change per
minute for all parameter transitions.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SCHEDULER solves.
(FBD variable, bit When set to No, SCHEDULER does not solve. When
only.) reference in SCHEDULER is not solving, the states of the
non-BOOL variables within the block, are not changing, so no
variable faceplate commands or time calculations will be
Required
performed. When re-activated, the dT will be the
difference between enabled solves.
PV REAL Input process or scheduling variable.
variable
Note: PV cannot be a constant.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit reference in ENO is set to Yes if EN
ST only.) non-BOOL variable is set to Yes.
ATS Optional One-dimensional REAL array of Adaptive tuning structure
3 REAL variables KP, KI, and KD.
Default: 0.0, 0.0, 0.0.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
179
Proficy Process Systems - Instructions
180
Proficy Process Systems Logic
181
Proficy Process Systems - Instructions
Example
Note: The numbers 3 and 4 inside the above function block instances represent the FBD editor solve order.
Other Languages
SCHEDULER can also be used in LD and ST.
LD ST
InstanceName(PV := , ATS => );
182
Proficy Process Systems Logic
Signal (SIGNAL)
InstanceName Mnemonic:
SIGNAL
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A SIGNAL function block generates a signal that can be used to test logic as follows:
Simulating process inputs
Interjecting disturbances to verify control algorithm behavior
Determining the frequency or step response of a control loop
SIGNAL can be configured to generate a triangular, square, or sinusoidal waveform.
Triangular Waveform
(Default.) If the configuration parameter Signal Type is set to Triangular, then the
SIGNAL block generates a function as displayed below.
Sinusoidal Waveform
If the configuration parameter Signal Type is set to Sinusoidal, then the SIGNAL block
generates a function as displayed below.
183
Proficy Process Systems - Instructions
Square Waveform
If the configuration parameter Signal Type is set to Square, then the SIGNAL block
generates a function as displayed below.
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, SIGNAL solves.
(FBD variable, bit When set to No, SIGNAL does not solve. When
only.) reference in SIGNAL is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
Output Parameters
Output Definition Data Type Description
184
Proficy Process Systems Logic
Name
ENO BOOL variable, bit reference in non-BOOL variable ENO is set
(FBD to Yes if
and ST EN is set to
only.) Optional Yes.
OP REAL variable Generated
signal
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Reference Public Description
Signal Type Triangular, UINT SIGNAL_SEL Selected signal
Sinusoidal, variable type.
Square Default:
Triangular.
Minimum Value Signal OP_MIN Minimum value of
Maximum generated signal.
Default: 0.0.
Maximum Value Signal OP_MAX Read / Maximum value
Minimum Write of generated
REAL signal.
variables Default: 100.0.
Period (Seconds) 0.0 PERIOD Period of
generated signal
in seconds.
Default: 120.0
seconds.
Other Languages
SIGNAL can also be used in LD and ST.
LD ST
InstanceName(OP => );
185
Proficy Process Systems - Instructions
Simulate (SIMULATE)
InstanceName Mnemonic:
SIMULATE
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A SIMULATE function block enables you to approximate a dynamic process model in order to simulate
and analyze control strategies. The SIMULATE block can be configured to approximate a self regulating or
integrating first order plus dead time (FOPDT) dynamic model.
SIMULATE Functionality
Self Regulating Process Model
The SIMULATE function block can be used to set up a three parameter FOPDT model for a self regulating
process. The three parameters that characterize a self regulating process can be determined from the
processs transient response to a unit step input.
186
Proficy Process Systems Logic
The SIMULATE function block models a self regulating process with the transfer
function:
Note: If the formula below does not appear properly, expand the width of the Windows panel.
where:
K: Process Gain
T: Deadtime
t: Process Time Constant
s: Laplace Variable
e: Base of the Natural Logarithm
The three parameters in self regulating transfer function that characterize the process are
the Deadtime, Time Constant, and Gain as illustrated in the step response plot.
187
Proficy Process Systems - Instructions
The SIMULATE block models an integrating process with the transfer function:
where:
K: Process Gain
T: Deadtime
s: Laplace Variable
e: Base of the Natural Logarithm
The two parameters in the integrating transfer function that characterize the process are
the Deadtime and Gain as illustrated in the step response plot.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SIMULATE solves.
variable, bit When set to No, SIMULATE does not solve. When
reference in SIMULATE is not solving, the states of the variables
Optional non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
U REAL Manipulated variable. This is typically output from a
variable PID or ADV_PID block.
Default: 0.0.
188
Proficy Process Systems Logic
OVR BOOL When set to On, the output is set equal to the input.
variable, bit
reference in
non-BOOL
variable
Output Parameters
Output
Name Definition Data Type Description
ENO BOOL variable, bit reference in non-BOOL variable ENO is set
(FBD to Yes if
and ST EN is set to
only.) Optional Yes.
Y REAL variable Simulated
feedback
signal
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
FOPDT Model Self TYPE First Order Plus
Regulating, Deadtime Model.
Integrating Default: Self
Regulating.
Process Gain REAL range REAL K Read / Default: 1.0.
Process Deadtime variables DEADTIME Write Default: 4.0.
(Seconds)
Process Time 0.0 TC Default: 30.0.
Constant
(Seconds)
189
Proficy Process Systems - Instructions
Example
Other Languages
SIMULATE can also be used in LD and ST.
LD ST
InstanceName(U := , OVR := , Y => );
190
Proficy Process Systems Logic
InstanceName Mnemonic:
SPLITRANGE
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The SPLITRANGE function block enables you split a control variable over two differing ranges.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL variable, Enable input. When set to Yes, SPLITRANGE
bit reference in solves. When set to No, SPLITRANGE does not
non-BOOL solve. When SPLITRANGE is not solving, the
Required variable states of the variables within the block, are not
changing.
CV REAL variable Control variable.
Default: 0.0.
Output Parameters
Output
Name Definition Data Type Description
191
Proficy Process Systems - Instructions
ENO BOOL
ENO is set to False if any one of the following occurs:
(FBD variable, bit
and ST reference in EN is set to False.
only.) non-BOOL
variable CV start range equals the CV end range.
Note: When ENO is set to False the values of OP1 and OP2 do
not change from their last successful values.
192
Proficy Process Systems Logic
Example
A chemical reactor may contain both a cooling element and a heating element, the SPLITRANGE function
block enables you to control the temperatures of both the cooling element and the heating element by
interfacing with a "Control Variable" to split the output over two or more ranges.
Heating / Cooling Valves
CV1 0 OP1 100
Starting Starting
Range Range
CV1 35 OP1 0
Ending Ending
Range Range
CV2 30 OP2 0
Starting Starting
Range Range
CV2 100 OP2 100
Ending Ending
193
Proficy Process Systems - Instructions
Range Range
Other Languages
SPLITRANGE can also be used in LD and ST.
LD ST
InstanceName(CV := , OP1 => , OP2 => , );
194
Proficy Process Systems Logic
Counters (FBD)
(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Totalize TOTALIZE Accumulates R or NR values, which increment by the PV and
Units Per values, once for each execution of Totalize
195
Proficy Process Systems - Instructions
Totalize (TOTALIZE)
InstanceName
Mnemonic:
TOTALIZE
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The Proficy Process Systems TOTALIZE function block integrates the process variable, typically given as
a rate per unit time, over time to generate a resettable and non-resettable total.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, TOTALIZE solves.
(FBD variable, bit When set to No, TOTALIZE does not solve. When
only.) reference in TOTALIZE is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
RS If the reset parameter RS is set to Yes, then the
output parameter R is set to 0.0; the output parameter
BOOL NR is not affected.
Optional
variables Default: No.
Note: HL takes priority over RS.
196
Proficy Process Systems Logic
PV cannot be a constant.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to Yes.
and ST reference in non-
only.) BOOL variable
R Resettable total. That is, the totalized value
of PV, over time since the last reset or
rollover, depending on which happened
first.
Optional Note: When the reset parameter RS is set to Yes,
or, if the value of R is the value of the
REAL variables configuration parameter Rollover, then the value of
R is set to 0.0.
197
Proficy Process Systems - Instructions
198
Proficy Process Systems Logic
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: TOTALIZE
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 12 characters
OP Engineering Engineering units displayed on the operator consoles.
Units Default: SCF
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 8 characters.
Display Precision Number of digits displayed to the right of the decimal point on the
faceplate.
Default: 1
Valid Setting: 0, 1, 2, 3
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
199
Proficy Process Systems - Instructions
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Resettable Total (R)
Non-Resettable Total (NR)
Faceplate Command (FC)
Faceplate Status (ST)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a TOTALIZE block.
System Exchange: #TOTALIZE
System Block Identifier: O0I
Default Produced Period: 1,000 milliseconds.
Member Number of
Description Data Type Name Public Bytes
Output R (Reset) REAL 4
N/A No
Output NR (No reset) variables 4
Status BOOL array ST[0 Read 2
of 16 BOOL through 15]
variables
Faceplate Command UINT FC Read / 2
variable Write
12 total
bytes
200
Proficy Process Systems Logic
Example
This example totalizes 10,000 gallons per hour, with a reset after 50,000 gallons have
been totalized.
201
Proficy Process Systems - Instructions
Configuration Value
Parameter
Cutoff 0.0
Rollover 50,000
Units Per Hour
Execution Period 0.0
After running the above FBD for 5 hours, 50,000 gallons are totalized. The graph below
displays a few minutes of the process.
Other Languages
TOTALIZE can also be used in LD and ST.
LD ST
202
Proficy Process Systems Logic
203
Proficy Process Systems - Instructions
204
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems XFER function block instance performs a bumpless transfer from PV1 and
PV2, or vice versa depending on the state of the input SW.
If SW is set to On, then OP targets PV2; more specifically, if OP is equal to PV2, then OP continues to
track PV2. If OP is not equal to PV2, then OP transfers from its current value to PV2 at a user specified
rate.
If SW is set to Off, then OP targets PV1; more specifically, if OP is equal to PV1, then OP continues to
track PV1. If OP is not equal to PV1, then OP transfers from its current value to PV1 at a user specified
rate.
If OVR is set to On, then OP tracks the selected input and the bumpless transfer is overridden.
Input Parameters
Input
Name Definition Data Type Description
205
Proficy Process Systems - Instructions
Output Parameters
Output Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to
and ST only.) reference in non-BOOL Yes.
variable
Optional
OP REAL variable Value of the input process variable
PV1 or PV2, as determined by
SW.
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
206
Proficy Process Systems Logic
Example
The primary control loop in a cascade temperature control strategy for a chemical reactor
can either use the reactors baffle temperature or the reactors bottom temperature. In
order to make a smooth transfer between the baffle and bottom temperature the XFER
block is used.
207
Proficy Process Systems - Instructions
Other Languages
XFER can also be used in LD and ST.
LD ST
InstanceName(SW := , PV1 := , PV2 := , OVR := ,OP => );
208
Proficy Process Systems Logic
209
Proficy Process Systems - Instructions
InstanceName Mnemonic:
DC2S
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Device Control Two State (DC2S) block controls and
monitors a two-state device, for example, a pump, motor, or solenoid valve.
210
Proficy Process Systems Logic
Notes
The Proficy Process Systems Device Interlock function block is designed to work with DC2S and
DC3S blocks. An Interlock block combines all interlocks for a two-state or three-state discrete
device into one master interlock.
Operation
States
The States of a device being controlled or monitored are as follows:
State 0: Output OP is set to Off: de-energized State.
State 1: Output OP is set to On: energized State.
State 0 is the fail State. If a device faults and the configuration parameter Failure Mode is
set to Device Forced to State 0, the DC2S block commands the device to State 0. If the
configuration parameter Failure Mode is set to Device State not Forced, then the DC2S
block will not force the device to State 0 upon a failure.
DC2S has momentary pulsed outputs OP0 and OP1:
OP0 is set to On when the device is commanded to State 0. OP0 is set to Off
when the device reaches State 0 or if the Max Transition Time elapses.
OP1 is set to On when the device is commanded to State 1. OP1 is set to Off
when the device reaches State 1 or if the Max Transition Time elapses.
OP is a sustained output:
OP is set to On when the device is commanded to State 1 and while State 1 is
active.
OP is set to Off when the device is commanded to State 0 and while State 0 is
active.
Feedback
The input FB0 indicates that State 0 is active and the input FB1 indicates that State 1 is
active. Feedback to indicate that a State is active may or may not be available, depending
on the device:
If feedback is available for a particular State, then the feedback is connected to
the appropriate input, for example, FB0 or FB1.
If feedback is not available for a particular State, then no connection is necessary
to that State's input, for example, FB0 or FB1. If an argument is not connected to
a feedback input, then the DC2S block automatically simulates feedback
internally.
Permissive Logic
A permissive is a State that must be enabled (On) in order for a transition to occur from
one State to another State. After the transition to the State occurs, the permissive no
longer affects the operation of the device while at that State. For example, if a device
achieves a State, and then the permissive is disabled (Off), then the device operation does
not change.
Each State has a permissive:
211
Proficy Process Systems - Instructions
The input PM0 is the permissive required to transition from State 1 to State 0 (the
output OP is set from On to Off).
The input PM1 is the permissive required to transition from State 0 to State 1 (OP
is set from Off to On).
Exception: If a fault or an interlock occurs, then PM0 is ignored and the device always
goes to State 0, whether PM0 is set or not.
Interlock
The input INL (interlock) forces a device to the fail State (State 0: the output OP is set to
Off). When there is an interlock, the following occurs:
If the device is at State 1 (the output OP is set to On), then the DC2S block
commands the device to State 0.
If the device is at State 0, then the DC2S block does not enable any transitions to
State 1.
Field Fault
If a device has a local fault, for example, an over temperature fault, and if that fault is
available to the control systems, then it can be connected to FFL (Field Fault). If the input
FFL is set to On, then the DC2S block is set to the fault State (FL is On).
Operational Modes
Normal If the device is set for normal operation, then the permissive logic inputs (PM0
and PM1), interlock (INL), fault logic (FFL), and manual/automatic mode selections are
enabled.
212
Proficy Process Systems Logic
Locked Out If the device is locked out, then all transitions to State 1 are disabled, and
the device cannot enter automatic mode. In order for the device to be locked out, the
device must first be in State 0 and in manual mode.
Maintenance If the device is in maintenance mode, then the device can be commanded
to either State 1 or State 0. Interlock, permissive, and fault logic are ignored. To enter
maintenance mode, the device must be in manual mode, and the configuration parameter
Maintenance Operation must be set to Allow.
Fault Logic
A device fault can occur in one of the following ways:
If the device is in State 0, and has not been commanded to transition to State 1
and the feedback changes to indicate that State 0 is no longer active, for example,
FB0 is no longer set to On and / or FB1 is no longer set to Off.
If the device is in State 1, and has not been commanded to transition to State 0
and the feedback changes to indicate that State 1 is no longer active, for example,
FB0 is not longer set to Off and / or FB1 is no longer set to On.
The input FFL (Field Fault) is set to On.
The device is commanded to State 0 and the device never reached State 0 within
the allotted time (value of configuration parameter Max Transition Time; default:
30.0 seconds).
The device is commanded to State 1 and the device never reached State 1 within
the allotted time.
If Fault Mode is set to Device Forced to State 0, and a device fault occurs, then the device
is commanded to State 0, if it is not already in State 0, and the output FL (device fault) is
set to On. The device remains in State 0 until the fault is cleared. The output FL is then
set to Off.
A fault is not generated if the device is in maintenance, or if the input IFL (Inhibit Fault)
is set to On.
When IFL set to On (True), DC2S does not create any new faults, and the device
remains in operation. Previous faults are not affected.
When set to Off (False) or if no variable is assigned to IFL, then fault conditions
are enabled, and if the failsafe is configured, the device is commanded to its de-
energized State or State 0.
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to On, DC2S solves. When
(FBD variable, bit set to Off, DC2S does not solve. When DC2S is not
only.) reference in solving, the States of the variables within the block,
non-BOOL are not changing, so no faceplate commands or time
variable calculations are performed. When activated, dT is
the difference between enabled solves.
FB0, BOOL State 0 and State 1 feedbacks respectively.
Optional
FB1 variables Defaults: Off.
213
Proficy Process Systems - Instructions
Note: Except for input EN, if no value is assigned to an input, then the input's default value is used.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and BOOL variable, bit ENO is set to On if EN is set to
ST only.) Optional reference in non-BOOL On.
variable
FL BOOL variables Device fault
A Automatic mode active
OP Sustained output
OP0, OP1 State 0 and State 1 momentary
pulses respectively
214
Proficy Process Systems Logic
215
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
216
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Words (FP)
EGD
The table below is the Ethernet Global Data (EGD) associated with a DC2S block.
System Exchange: #DC2S
System Block Identifier: O0K
Default Produced Period: 140 milliseconds.
Configuration Data Number
Parameter Type Member Name Public of Bytes
217
Proficy Process Systems - Instructions
218
Proficy Process Systems Logic
219
Proficy Process Systems - Instructions
Example
Other Languages
DC2S can also be used in LD and ST.
LD ST
220
Proficy Process Systems Logic
221
Proficy Process Systems - Instructions
InstanceName Mnemonic:
DC3S
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
222
Proficy Process Systems Logic
Overview
A Proficy Process Systems Device Control Three State (DC3S) block controls and
monitors a three State device, for example, a bidirectional motor, a two-speed motor, a
bidirectional agitator, a conveyor, a roll press, or a similar device. Referring to the above
diagram, transitions between States are controlled by permissive inputs. State 0 (zero) is
the de-energized State or the failsafe State.
DC3S logic controls a three State device by monitoring three permissive inputs, which
correspond to each of the three States: 0 (zero), 1, and 2. When logic receives a command
to change the device State, the DC3S logic performs the following:
1. If the input permissive is enabled, the logic energizes both a steady State and a
pulse output, which is wired by means of I/O to the physical device.
2. The device is monitored while it transitions to another State.
3. The transition is timed; a fault occurs if the time is longer than a configurable
value.
4. When an input feedback signal is received, the transition is complete.
5. When in the new State, the device waits for the next command.
DC3S logic runs in manual mode or automatic mode:
Manual mode enables the State transition commands to come from the operator
SCADA or Engineering Workstation when online to the Controller.
Automatic mode enables the device to be commanded from logic. The mode can
be changed while the Controller runs.
DC3S logic has two special modes:
Lockout: The device stays in State 0.
Maintenance: The device can be commanded to any State, regardless of faults,
feedback, or input permissives.
DC3S logic has inputs for a field fault signal and an inhibit fault signal, and has
output to indicate a fault. When a fault occurs, the device can be configured to hold
its present State, or attempt to command the device to its de-energized State or
failsafe State, State 0.
223
Proficy Process Systems - Instructions
Notes
The Proficy Process Systems Device Interlock function block is designed to work with DC3S and
DC2S blocks. An Interlock block combines all interlocks for a two-state or three-state discrete
device into one master interlock.
Inputs
Input Feedbacks (FBn)
The DC3S block has three feedbacks: FB0, FB1, and FB2, which correspond to each of
the three States: 0 (zero), 1, and 2. Depending on the device, it may have one or more
feedback signals to indicate that a device State has become active.
If a feedback signal for a State is available, then the feedback signal is connected
to FB0, FB1, or FB2 as appropriate.
If a feedback signal for a State is not available from the device, then FBn is not
assigned. DC3S then automatically simulates feedback internally when the
transition time has elapsed.
224
Proficy Process Systems Logic
failsafe State, then the motor is commanded to stop, or go to its de-energized State or
State 0. DC3S then waits for the fault to be reset (from the operator interface), before
becoming operational again. If FFL is not assigned, then FFL is always set to Off (False).
Outputs
Output Device Fault FL
FL is set to On (True) upon a fault.
225
Proficy Process Systems - Instructions
Detailed Operation
DC3S can be in either manual mode or automatic mode. In addition, DC3S has three
special modes: Locked Out, Maintenance, and Fault.
Manual Mode
The device can be in manual mode only when the input MCW is set to 0 (zero) and
manual mode is selected from the faceplate or MCW is set to 1.
In manual mode, the operator normally controls operation of the device from the
faceplate. The device can also be commanded from Engineering Workstation by using
the immediate commands when the editor is online to the Controller in programmer
mode.
All inputs (permissives, feedback, interlocks, and faults) are used to solve the logic and
control the device.
Automatic Mode
In automatic mode, the logic controls the devices State by means of the input ARQ.
All inputs (permissives, feedback, interlocks, and faults) are used to solve the logic and
control the device.
The device can be in automatic mode only when the input MCW is set to 0 and manual
mode is selected from the faceplate, or MCW is set to 2.
The block cannot be in automatic mode when:
226
Proficy Process Systems Logic
Locked Out
DC3S can be locked out to prevent all State changes or other commands until the lockout
is removed.
For a lockout to occur, the device must be in its de-energized State or failsafe State, State
0, and in manual mode.
A lockout command can be issued from the SCADA faceplate or Engineering
Workstation when online to the Controller in programmer mode.
Maintenance Mode
Maintenance mode enables the device to be commanded to any State. All permissives,
input feedbacks, and faults are ignored.
The device can be in maintenance mode only when it is in manual mode and the DC3S
configuration parameter Maintenance Operation is set to Allow in the Controller from
Engineering Workstation.
Fault
A fault occurs as a result of any of the following:
In a steady State, the corresponding input feedback is set to Off (False).
In a steady State, the other input feedbacks are set to On (True).
A transition to a new State occurs and the feedback signal for the new State is not
set to On before the transition time elapses.
A transition to a new State occurs and the feedback signals for the other States are
not set to Off before the transition time elapses.
The input field fault (FFL) is set to On.
The input inhibit fault (IFL) is set to Off.
If a fault occurs, then the device output fault (FL) is set to On (True) and two courses of
action are possible:
If the value of the configuration parameter Failure Mode is set to Device Forced
to State 0 (zero), then DC3S commands the device to its de-energized State or
failsafe State.
- or -
If the value of the configuration parameter Failure Mode is set to Device State
not Forced, then DC3S remains in its current State. The device must be manually
commanded to its de-energized State or failsafe State, State 0 before the fault can
be reset.
When the device is in its failsafe State, the fault must be manually reset from the SCADA
faceplate or Engineering Workstation when online to the Controller in programmer mode
before normal operation can resume.
A fault cannot occur in these cases:
The device is in maintenance mode.
The device is set to Lock Out.
227
Proficy Process Systems - Instructions
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL variable, Enable input. When set to On (True), the DC3S
(FBD bit reference in logic is solved. When set to Off (False), DC3S
only.) non-BOOL logic does not solve and no commands are
variable processed. Only the last command is queued, and
is executed when EN is next set to On.
FB0, Feedbacks for States 0, 1, and 2 respectively.
FB1, Optional Defaults: Internally calculated.
FB2
PM0, Permissives for States 0, 1, and 2 respectively.
PM1, Defaults: Internally calculated as On.
PM2 BOOL variables
INL Interlock.
Default: Off (False).
FFL Field fault.
Default: Off (False).
MCW Mode command word.
0 - Faceplate selectable.
1 - Manual mode.
2 - Automatic mode.
Other values MCW is set to 0.
Default: 0.
ARQ UINT variables Automatic request.
0 - Command to State 0, de-energized State or
failsafe State.
1 - Command to State 1.
2 - Command to State 2.
Other values Ignored. Current State is not
affected.
Default: 0.
228
Proficy Process Systems Logic
Note: Except for input EN, if no value is assigned to an input, then the input's default value is used.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and ST BOOL variable, bit ENO is set to On (True) if EN is set
only.) reference in non- to On.
BOOL variable
FL Device fault
A Automatic mode active
S0, S1, S2 Optional Steady States 0, 1, and 2
respectively
OP0, OP1, OP2 BOOL variables States 0, 1, and 2 momentary pulses
respectively
LCA The Local Mode Active output
allows the user to establish user
driven logic based on the logical
AND of the LC input and A output.
229
Proficy Process Systems - Instructions
230
Proficy Process Systems Logic
231
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: DC3S
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
State 0 Button Text Descriptive text field for a button on the faceplate.
Default: Stop
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters.
State 1 Button Text Descriptive text field for a button on the faceplate.
Default: Start
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters.
State 2 Button Text Descriptive text field for a button on the faceplate.
Default: Start
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
232
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Words (FP)
EGD
The table below is the Ethernet Global Data (EGD) associated with a DC3S block.
System Exchange: #DC3S
System Block Identifier: O0L
Default Produced Period: 140 milliseconds.
Configuration Data Number
Parameter Type Member Name Public of Bytes
FP[0] DWORD Faceplate Status 4
FP[1] array of 3 Faceplate Command Read / 4
DWORD Write
FP[2] variables Faceplate Status 4
12 total
bytes
233
Proficy Process Systems - Instructions
234
Proficy Process Systems Logic
x[29] OP1
x[30] OP2
x[31] ENABLE_MT
FP[1] contains faceplate command:
FP[1] bits Description
x[0] None
x[1] Manual Mode
x[2] Automatic Mode
x[3] Lock Out
x[4] Maintenance
x[5] Deactivate Lock Out/Maintenance
x[6] Manual command State 0
x[7] Manual command State 1
x[8] Manual command State 2
x[9] Reset Fault
x[10] Not used
through
x[31]
FP[2] contains faceplate status:
FP[2] bits Description
x[0] Value of LC
x[1] Value of LCA
x[2] Not used
through
x[31]
235
Proficy Process Systems - Instructions
Example
Other Languages
DC3S can also be used in LD and ST.
LD ST
236
Proficy Process Systems Logic
237
Proficy Process Systems - Instructions
Interlock (INTERLOCK)
InstanceName Mnemonic:
INTERLOCK
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Interlock block combines all interlocks for a two-state or
three-state discrete device into one master interlock. It also provides an operator interface
for the display of all interlocking conditions and the interlocking condition that activated
first after an attempt to start the device.
Note: Proficy Process Systems Interlock blocks are designed to work with a Proficy Process Systems
device control DC2S or DC3S block.
The Interlock block serves three purposes:
It executes Boolean logic to combine the interlocks into a master interlock to be
sent to the connected device control block
It provides an HMI interface that displays interlock statuses. This may enable an
operator to determine why a device does not start or why a device stopped
unexpectedly.
238
Proficy Process Systems Logic
It detects the first interlock condition to become active after a device start attempt.
Note: See also working with HMI/SCADA iFIX faceplates and CIMPLICITY faceplates.
Operation
The Interlock block detects an interlock condition based on the input's polarity and state.
You do not need to "NOT" an interlock externally with logic. You need to configure only
whether the interlock is normally open or normally closed:
If an interlock input is configured as normally closed, the block detects an
interlock condition when the state of the input is False.
If an interlock input is configured as normally open, the block detects an interlock
condition when the state of the input is True.
The Interlock block combines all interlock conditions with Boolean addition to obtain the
state of OP; that is, the block sets the state of the output OP when any interlock condition
occurs.
The Interlock block also traps the first interlock condition detected after a device start
attempt. This logic is critical in determining the root cause for a device trip. If a pump is
running and a high temperature switch causes an interlocking condition that forces the
pump off, then the low discharge pressure and low flow interlocks become active, but
they are consequences of the trip and not the cause of it. Trapping the interlock that
became active first, in this example the high temperature, predominantly yields the root
cause for a device trip.
The first interlock to be active after a device start is time stamped by the Interlock block
as follows:
1. When the device state transitions from Off to On, the Interlock block timestamp is
cleared. The status DST of the connected device control block (DC2S or DC3S)
determines when the device state transitioned from Off to On.
2. When the device stops because of an interlocking condition, the timestamp is
updated with this event time.
"First Out" logic supports detecting interlocks that simultaneously activate after a device
start.
The Interlock block displays all interlock statuses on its HMI/SCADA iFIX faceplate or
CIMPLICITY faceplate with EGD. This enables an operator to determine why a control
device does not start. The timestamp and identification of the interlock(s) that activated
first after a device start are also on the HMI faceplate.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to On, Interlock solves. When
(FBD variable, bit set to Off, Interlock does not solve. When Interlock is
only.) Required reference in not solving, the states of the variables within the
non-BOOL block are not changing, so no faceplate commands or
variable time calculations are performed. When activated, dT
is the difference between enabled solves.
239
Proficy Process Systems - Instructions
DST DWORD Device State. This is a word of bits that designates the
variable state of the control device from the internal member
variable FP[0] in a DC2S or DC3S block. See
Interlock example.
INL1 Optional BOOL Interlock condition(s) for a discrete device.
through variables Defaults: Off.
INL8
Note: Except for input EN, if no argument is assigned to an input, then the block ignores the input.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and ENO is set to On if EN is set to On.
ST only.)
BOOL variables,
OP bit references in Master interlock for a discrete device
Optional resulting from Boolean addition of
non-BOOL
variable one through eight interlocks passed to
the block.
Default: Off.
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
240
Proficy Process Systems Logic
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: INTERLOCK
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Interlock (1..8) Description of the corresponding interlock displayed on the
Description faceplate
Default: Interlock x
Valid characters: Alphabetic characters (lowercase and uppercase),
underscore '_', hyphen '-', and period '.'.
Maximum length: 27 characters.
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Faceplate Status (ST)
Timestamp (TS)
EGD
The table below is the Ethernet Global Data (EGD) associated with an Interlock block.
Default Produced Period: 275 milliseconds.
Configuration Number
Parameter Data Type Member Name Public of Bytes
Status DWORD ST[0 through 1] 8
Read /
array of 2 Write
DWORDs
241
Proficy Process Systems - Instructions
Timestamp DINT TS 4
Read
variable
12 total
bytes
242
Proficy Process Systems Logic
243
Proficy Process Systems - Instructions
Example
Interlock blocks are designed to work with a Proficy Process Systems device control
DC2S or DC3S block. Interlock blocks typically operate together with Boolean addition.
The result is input to the INL parameter of a Proficy Process Systems device control
DC2S or DC3S block. This logic flow is shown below for a DC2S block where the
244
Proficy Process Systems Logic
instance variables TSH100, PSL100, and ESD are interlocks for a device control block
named M100.
Other Languages
Interlock can also be used in LD and ST.
LD ST
InstanceName(DIST := , INL1 := , INL2 := , INL3 := , INL4 := , INL5 := , INL6 := ,
INL7 := , INL8 := , OP => );
245
Proficy Process Systems - Instructions
Diagnostics (FBD)
(For PACSystems firmware version 6.00 and later.)
Instruction Mnemonic Description
Control CTRL_STAT Provides current Controller fault values and Controller
Status timestamp
246
Proficy Process Systems Logic
InstanceName Mnemonic:
CTRL_STAT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Control Status block provides PACSystems Controller fault
values. The fault values are placed into a single Proficy Process Systems produced EGD
exchange by means of the CTRL_STAT instance variable. CTRL_STAT also provides an
HMI operator interface for the display of the Controller fault values.
Note: See also working with HMI/SCADA iFIX faceplates and CIMPLICITY faceplates.
Operation
The Controller Status block monitors the Controller fault table and reports all software
and hardware faults by means of predefined system variables. These values are placed in
a double-integer array named ST.
The Control Status block also provides the current Controller timestamp CT internal
status for the Service Request.
Note: In a redundancy Controller system, the Controller fault values are provided only for the active running
Controller.
Input Parameter
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to On, Control Status solves.
(FBD variable, bit When set to Off, Control Status does not solve. When
only.) reference in Control Status is not solving, the states of the
non-BOOL variables within the block are not changing, so no
variable faceplate commands or time calculations are
247
Proficy Process Systems - Instructions
performed.
Output Parameter
Output Name Definition Data Type Description
ENO (FBD and Optional BOOL variable, bit ENO is set to On if EN is set to On.
ST only.) references in non-
BOOL variable
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: CTRL_STAT.
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Primary IP Primary Controller IP address you are connected to for this
instance variable.
Default: 0.0.0.0.
Valid characters: Alphabetic characters (lowercase and uppercase),
underscore '_', hyphen '-', and period '.'.
Maximum length: 15 characters.
Secondary IP Secondary Controller IP address you are connected to for this
instance variable.
Default: 0.0.0.0.
Valid characters: Alphabetic characters (lowercase and uppercase),
underscore '_', hyphen '-', and period '.'.
Maximum length: 15 characters.
Note: In a single Controller system, the Secondary IP property has no effect
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
248
Proficy Process Systems Logic
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Controller Status Variables (ST)
Controller Time (CT)
EGD
The table below is the Ethernet Global Data (EGD) associated with a Control Status block.
System Exchange: #Diagnostics
System Block Identifier: O0U
Default Produced Period: 1000 milliseconds
Configuration Data Number
Parameter Type Member Name Public of Bytes
Status DINT ST[0 through 1] 8
array of
2 DINT
No
variables
Controller DINT CT 4
Timestamp variable
12 total
bytes
Status - Internal
Communication with a Proficy Process Systems HMI occurs by means of configuration
parameter values stored in member variables of the function block instance data.
See the internal member variables in the tables below.
Member Valid
Name Settings Data Type Public Description
249
Proficy Process Systems - Instructions
250
Proficy Process Systems Logic
Other Languages
Control Status can also be used in LD and ST.
LD ST
251
Proficy Process Systems - Instructions
InstanceName();
252
Proficy Process Systems Logic
HMI (FBD)
(For PACSystems firmware version 5.00 and later.)
Human Machine Interface (HMI) function blocks pass the state or value of a variable to
and from the operator console.
Instruction Mnemonic Description
Analog IND_A Passes the value of the connected analog variable to an
Indication operator console
Command CMD Receives command words from an operator console
Discrete IND_D Passes the state of the connected discrete variable to an
Indication operator console
Manual MANUAL_SP Passes an analog setpoint from an operator
Setpoint console
Push PBUTTON Receives a momentary discrete input from an
Button operator console
Status STATUS Passes indication bits to an operator console
253
Proficy Process Systems - Instructions
Command (CMD)
InstanceName Mnemonic:
CMD
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
254
Proficy Process Systems Logic
Overview
A Proficy Process Systems Command (CMD) block receives command words from an operator
console.
CMD has one input that provides a mechanism for the receiving logic to confirm
receipt of the command.
CMD has sixteen (16) BOOL outputs that issue the respective command by
means of the receiving logic.
CMD processes only one command at a time.
Command
The command has the following characteristics:
It is a word that resides in EGD.
The normal state of the command word is 0 (zero) or Off.
A command is initiated from the HMI by setting the value of the command word
to a non-zero value.
When the command is received by a CMD instance, the following occurs:
1. The command word is reset to 0 (zero), indicating that the CMD instance
has received the command.
2. The command number output CNO is incremented to identify the
currently active command.
3. Depending on the value of the internal member variable that now contains
the command, the corresponding output bits are set.
4. The command remains active until the receiving logic indicates that it has
received the command by setting the value of the command number input
CN equal to the command number output CNO.
5. When the confirmation occurs, the value of CNO is set to 0 (zero).
When a new command is received, the value of CNO is incremented from its last
position.
The command word for each instance of the CMD block is automatically added to
the EGD produced exchanges for the CMD block type.
Note: See also working with HMI/SCADA iFIX faceplates and HMI/SCADA CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, CMD solves. When
(FBD variable, bit set to No, CMD does not solve. When CMD is not
only.) reference in solving, the states of the variables within the instance
Required non-BOOL do not change, so no faceplate commands or time
variable calculations will be performed. When re-activated,
the dT (change in time) is the difference between
enabled solves.
255
Proficy Process Systems - Instructions
Output Parameters
Output
Name Definition Data Type Description
ENO ENO is set to Yes when EN is set to Yes.
(FBD BOOL variables,
only.) bit reference in
OP0 non-BOOL Sixteen (16) command bits.
through variables Defaults: False (0).
OP15
Optional
CNO UINT variable Command Number Output. Current Command
being executed. CNO is incremented with each
command being executed.
Note: The value of CNO is set to 0 (zero) when the CMD
instance is not executing.
Default: 0.
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
256
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (lowercase and
uppercase) and underscore '_'.
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Status (ST)
Faceplate Command (FC)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a CMD instance.
System Exchange: #CMD
System Block Identifier: O0S
Default Produced Period: 1,000 milliseconds.
Configuration Member Number of
Parameter Data Type Name Public Bytes
Faceplate Command UINT variable FC Read / 2
Write
Status UINT array of 3 ST[0 Read 6
UINT variables through 2]
8 total bytes
257
Proficy Process Systems - Instructions
Other Languages
CMD can also be used in LD and ST.
LD ST
258
Proficy Process Systems Logic
InstanceName(CN := , OP0 => , OP1 => , OP2 => , OP3 => , OP4 => , OP5
=> , OP6 => , OP7 => , OP8 => , OP9 => , OP10 => , OP11 => , OP12 => ,
OP13 => , OP14 => , OP15 => , CNO => );
259
Proficy Process Systems - Instructions
InstanceName Mnemonic:
IND_A
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Indication Analog (IND_A) function block instance passes the state of the
connected analog variable to the HMI. IND_A indicates the state of the input PV on the HMI.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, IND_A solves. When
(FBD variable, bit set to No, IND_A does not solve. When IND_A is
only.) reference in not solving, the states of the variables within the
non-BOOL block, are not changing, so no faceplate commands
Required variable or time calculations will be performed. When re-
activated, the dT will be the difference between
enabled solves.
PV REAL Process variable to be indicated on the HMI.
variable
Output Parameter
Output
Name Definition Data Type Description
ENO Optional BOOL variable, bit reference in ENO is set to Yes if EN is set to
260
Proficy Process Systems Logic
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: IND_A
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 12 characters
Engineering Units Engineering units displayed on the operator consoles.
Default: %
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 8 characters.
Display Precision Number of digits displayed to the right of the decimal point on the
faceplate.
Default: 1
261
Proficy Process Systems - Instructions
Valid Setting: 0, 1, 2, 3
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Setpoint Value from HMI (OP)
Limits (SL)
HMI Status (ST)
EGD
The table below displays the Ethernet Global Data (EGD) associated with an IND_A block.
System Exchange: #IND_A
System Block Identifier: O0P
Default Produced Period: 275 milliseconds.
Member Number of
Configuration Parameter Data Type Name Public Bytes
Status ST 4
REAL
Copy of PV value for operator Read
variables PI 4
console
PV Minimum REAL SL[0] 4
array of 2 Read /
PV Maximum REAL SL[1] Write 4
variables
16 total
bytes
262
Proficy Process Systems Logic
Member Valid
Name Settings Data Type Public Description
ST 0 BOOL Status word. State of the IND_A block.
1 array of 16 Value of bit
BOOL bits 4 Description
1 Scaling error is
Read present.
Note: All other bits x[0 through 3] and x[5 through 15] not
used.
Other Languages
IND_A can also be used in LD and ST.
LD ST
InstanceName(PV := );
263
Proficy Process Systems - Instructions
InstanceName Mnemonic:
IND_D
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Indication Discrete (IND_D) block passes the state of the connected discrete
variable to the HMI. IND_D indicates the state of the input PV on the HMI.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, IND_D solves. When
(FBD variable, bit set to No, IND_D does not solve. When IND_D is
only.) reference in not solving, the states of the variables within the
non-BOOL block, are not changing, so no faceplate commands
Required variable or time calculations will be performed. When re-
activated, the dT will be the difference between
enabled solves.
PV BOOL Process variable to be indicated on the HMI.
variable
Output Parameters
Output Name Definition Data Type Description
ENO (FBD Optional BOOL variable, bit reference in non-BOOL ENO is set
only.) variable to Yes if
264
Proficy Process Systems Logic
EN is set to
Yes.
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: IND_D
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
False State Descriptive text field displayed on the faceplate.
Description Default: OFF
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 10 characters.
True State Descriptive text field displayed on the faceplate.
Description Default: ON
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 10 characters.
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
265
Proficy Process Systems - Instructions
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Output to HMI (ST)
EGD
The table below displays the Ethernet Global Data (EGD) associated with an IND_D block.
System Exchange: #IND_D
System Block Identifier: O0N
Default Produced Period: 275 milliseconds.
Configuration Member Number of
Parameter Data Type Name Public Bytes
Status UINT ST Read 2
variable
2 total bytes
Other Languages
IND_D can also be used in LD and ST.
LD ST
InstanceName(PV := );
266
Proficy Process Systems Logic
267
Proficy Process Systems - Instructions
InstanceName Mnemonic:
MANUAL_SP
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Manual Setpoint (MANUAL_SP) block passes a manual setpoint from the HMI
faceplate to the control program. The setpoint is an analog value with a REAL data type. Variables
accessible through the Inspector and faceplate enable you to clamp this value within a specified range.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Input Parameter
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, MANUAL_SP
(FBD variable, bit solves. When set to No, MANUAL_SP does not
only.) reference in solve. When MANUAL_SP is not solving, the states
non-BOOL of the variables within the block, are not changing,
variable so no faceplate commands or time calculations will
be performed. When re-activated, the dT will be the
difference between enabled solves.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD only.) Optional BOOL variable, bit reference ENO is set to Yes if
in non-BOOL variable EN is set to Yes.
268
Proficy Process Systems Logic
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: MANUAL_SP
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Engineering Units Engineering units displayed on the operator consoles.
Default: %
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 8 characters.
Pushbutton Rate The rate at which the setpoint increments/decrements when
pressing the button.
Default: 5
Valid Setting: >0.0
Display Precision Number of digits displayed to the right of the decimal point on the
faceplate.
269
Proficy Process Systems - Instructions
Default: 1
Valid Setting: 0, 1, 2, 3
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Setpoint Value from HMI (OP)
Limits (SL)
HMI Status (ST)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a MANUAL_SP block.
System Exchange: #MANUAL_SP
System Block Identifier: O0Q
Default Produced Period: 275 milliseconds.
Configuration Member Number of
Parameter Data Type Name Public Bytes
HMI Status BOOL array of 16 ST[0 through Read 2
BOOL bits 15]
Output Parameter REAL variable OP No 4
Clamp Low REAL array of 2 SL[0] Read / 4
Clamp High REAL variables SL[1] Write 4
14 total
bytes
270
Proficy Process Systems Logic
Member Valid
Name Settings Data Type Public Description
ST 0 one- Read Status word. State of the MANUAL_SP
1 dimensional block.
BOOL array Value of
of 16 BOOL bit 4 Description
variables 1 Scaling error is
present.
Note: All other bits x[0 through 3] and x[5 through 15]
not used.
Other Languages
MANUAL_SP can also be used in LD and ST.
LD ST
InstanceName(OP => );
271
Proficy Process Systems - Instructions
InstanceName Mnemonic:
PBUTTON
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The PBUTTON block receives input from the operator console and generates a pulsed
output. This output can be used to initiate events in the control logic. Advantages of the
PBUTTON block:
It automatically resets the input on the operator console after the input was
received.
It gives instant feedback that the push button has been processed in the controller.
It outclasses the vulnerable practice of using sustained control variables over an
Ethernet link. If the Ethernet communication network goes down, there is no way
to reset a sustained command.
Note: See also working with iFIX faceplates and CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, PBUTTON solves.
(FBD variable, bit When set to No, PBUTTON does not solve. When
only.) reference in PBUTTON is not solving, the states of the variables
non-BOOL within the block, are not changing, so no faceplate
variable commands or time calculations will be performed.
When re-activated, the dT will be the difference
between enabled solves.
272
Proficy Process Systems Logic
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and ST only.) BOOL variable, bit ENO is set to Yes
reference in non-BOOL if EN is set to Yes.
Optional variable
OP BOOL variable Momentary
pushbutton output
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: PB
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 12 characters
False State Descriptive text field for the pushbutton.
Description Default: PB
Valid characters: Alphabetic characters (lowercase and uppercase),
underscore '_', hyphen '-', and period '.'.
273
Proficy Process Systems - Instructions
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
HMI Pushbutton (PB)
Faceplate Status (ST)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a PBUTTON instance.
System Exchange: #PBUTTON
System Block Identifier: O0M
Default Produced Period: 275 milliseconds.
Member Number of
Configuration Parameter Data Type Name Public Bytes
HMI Push Button UINT PB 2
Read
Faceplate Status variables ST 2
4 total bytes
274
Proficy Process Systems Logic
1 PBUTTON
block: Active
State of OP:
Yes (True or
1)
Example
HMI Push Buttons
Other Languages
PBUTTON can also be used in LD and ST.
LD ST
InstanceName(OP => );
275
Proficy Process Systems - Instructions
Status (STATUS)
InstanceName Mnemonic:
STATUS
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Status (STATUS) block passes indication bits to an operator console. The
block has sixteen (16) inputs that are packaged by the block into a BOOL array with 16
elements. All inputs are optional. If an input is not defined by an argument, then the state
276
Proficy Process Systems Logic
of the corresponding element in the BOOL array is set to False (0). The BOOL array for
each instance of the Status block is automatically added to the EGD produced exchanges
for the Status block type.
Note: See also working with HMI/SCADA iFIX faceplates and HMI/SCADA CIMPLICITY faceplates.
Input Parameters
Input
Name Definition Data Type Description
EN Required Enable input. When set to Yes, STATUS solves.
(FBD When set to No, STATUS does not solve. When
only.) STATUS is not solving, the states of the variables
BOOL within the block do not change, so no faceplate
variable, bit commands or time calculations are performed.
reference in When re-activated, the dT (change in time) is the
non-BOOL difference between enabled solves.
variable
IN0 Optional Sixteen (16) input bits to be packaged to the EGD
through produced exchanges for the STATUS block.
IN15 Defaults: False (0).
Output Parameters
Output Name Definition Data Type Description
ENO (FBD only.) Optional BOOL variable, bit ENO is set to Yes when
reference in non-BOOL EN is set to Yes.
variable
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
277
Proficy Process Systems - Instructions
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Input Status (ST)
Connection Status (AP)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a STATUS instance.
System Exchange: #STATUS
System Block Identifier: O0R
Default Produced Period: 1,000 milliseconds.
Member Number of
Description Data Type Name Public Bytes
Input Status BOOL ST[0 2
arrays of through 15]
Read
Connection Status 16 BOOL AP[0 2
variables through 15]
4 total bytes
278
Proficy Process Systems Logic
Other Languages
STATUS can also be used in LD and ST.
LD ST
InstanceName(IN0 := , IN1 := , IN2 := , IN3 := , IN4 := , IN5 := , IN6 := , IN7 := ,
IN8 := , IN9 := , IN10 := , IN11 := , IN12 := , IN13 := , IN14 := , IN15 := );
279
Proficy Process Systems - Instructions
I/O (FBD)
(For PACSystems firmware version 5.00 and later.)
Input Output (I/O) function blocks add analog or discrete values to logic, calculate the
value of output processes, and descale values.
I/O function block instances appear in the FAT/SAT Editor
I/O function block instances can be linked to a Faceplate
Analog Input and Discrete Input blocks provide you with a "quality" output so logic
can be executed based on quality.
Instruction Mnemonic Description
Analog AI Calculates a process variable from the input analog variable based
Input on the data quality of the input
Analog AO Descales and optionally forces an analog value
Output
Discrete DI Calculates an output process variable from the discrete input
Input variable based on the data quality of the input, and adds alarming to
the process variable
Digital DOUT Reports if the input variable is an I/O variable
Output
280
Proficy Process Systems Logic
InstanceName Mnemonics:
AI_DINT
AI_INT
AI_REAL
AI_UINT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Analog Input (AI) function block processes a hardwired analog input and makes
the processed value of the input available to other function blocks. The block also:
Determines quality of the input and indicates bad quality
Scales the raw input value into engineering units with REAL data type
Filters the input to reject measurement noise
Notes
Use of scaling and/or module quality checks (alarming) in an AI block does not include I/O modules
that are configured to perform these actions separately from the AI block.
I/O block instance structure variables in a Proficy Process Systems target can be tracked in the
Factory Acceptance Test (FAT) and Site Acceptance Test (SAT) editor. All data in the FAT/SAT
editor is included on a download to, or upload from, the Controller.
Scaling
The value of the input parameter RAW, is scaled into engineering units if the
configuration parameters Raw Low, Raw High, PV Low, and PV High are valid; for
example, Raw Low is Raw High. If the configuration parameters are not valid, then the
RAW input is passed through to the output PV. The scaling can be configured to be
nonlinear (square root extraction) or linear.
281
Proficy Process Systems - Instructions
Linear scaling:
Square root extraction scaling:
Note: Square root extraction is used to linearize a flow input that is measured as the differential pressure
across an orifice plate, pitot tube, or venturi tube.
Example
A flow input is measured with a differential pressure transmitter across an orifice plate.
The raw units are in microamperes ranging from 4000 A to 20000 A for a flow that
ranges from 0 to 500 gallons per minute. If the configuration parameter, Square Root
Extraction, is enabled the relationship between RAW and PV is given as:
Raw (Microamperes) PV (Gallons per minute)
4000 0.0
4640 100.0
6560 200.0
9760 300.0
14240 400.0
20000 500.0
Checking Quality
Note: This check occurs only if the configuration parameter Quality Check is set to Enabled.
Quality can be propagated throughout the system using the quality checks in the AI
block. Corrective actions take place based on poor data quality. Two quality checks are
performed.
Range Checking
The quality of the scaled input value RAW is calculated. When the quality configuration
parameter Quality Check is set to Enabled and if the calculated scaled output value RAW
is the value of the quality configuration parameter Over Range Limit (Eng Units), or
the value of Under Range Limit (Eng Units), then the quality is bad.
282
Proficy Process Systems Logic
Note: If the range is invalid, for example, the value of Under Range Limit (Eng Units) is Over Range Limit
(Eng Units), then the above quality check is not performed.
Module Health
If range checking passes, the next check is to evaluate module health from the point fault
information of the variable tied to the RAW point. If the point fault information returns
"Unhealthy", then the quality is bad. The point fault information is available for I/O
modules and variables that report point faults to the Controller.
Upon detection of bad quality the output BAD is set to true. This output can be passed to
an alarm block or be used to take corrective action within the control program.
Note: If the variable assigned to the input parameter RAW is NOT assigned to an I/O module, then the data
health is good.
If the quality evaluation uncovers poor data quality, a configurable corrective action
occurs for the output (PV) of the block, such as:
Ignore or PV is forced. In this case no action is taken and PV is set to the
calculated or forced value, after filtering is applied.
- or -
Drive PV to Fail-safe Value. The value of PV is set to the value of the quality
configuration parameter Fail-safe Value.
- or -
Keep Last Good Value. The value of PV is set to the last good value.
- or -
Drive PV to range limit. If the calculated value of PV is the value of the quality
configuration parameter Over Range Limit (Eng Units), then copy the value of
Over Range Limit (Eng Units) to PV. If PV is the value of the quality
configuration parameter Under Range Limit (Eng Units), then copy the value of
Under Range Limit (Eng Units) to PV.
- or -
Drive PV to 0. PV is set to zero.
Forcing
When the configuration parameter Forcing is set to Active, the value of PV is set equal to
the Forced Value.
Filtering is applied to the forced value if the Filter Time is appreciably larger than the
blocks execution period.
Note: When Forcing is set to Active, the Forced Value is automatically set equal to the current value of PV
to ensure a bumpless transition into forcing mode.
Filter
The scaled analog input value can be filtered to smooth variations in the scaled value
caused by the RAW input changing rapidly. The transfer function for the filter is:
283
Proficy Process Systems - Instructions
where:
PV is the AI blocks output.
Unfiltered PV is the input to the filter; that is, the scaled PV value before filtering or, if
forcing is active, the Forced Value.
Filter Time is the time constant of the filter in seconds.
s is the Laplace variable.
Note: Filtering is disabled if, the Filter Time is set equal to zero or is 5 times the execution period of the
block. The filter will limit asymptotic decay, by setting the output of the filter equal to the input when the
difference between the input and output is 0.001.
Input Parameters
Input Name Definition Data Type Description
EN (FBD BOOL variable, bit reference in non- Enable input. When
only.) BOOL variable set to Yes, AI solves.
When set to No, AI
does not solve. When
AI is not solving, the
states of the variables
within the block, are
not changing, so no
faceplate commands
or time calculations
will be performed.
When re-activated, the
Required dT will be the
difference between
enabled solves.
For an AI_DINT function block
instance, RAW is a DINT variable. Input value for the AI
For an AI_INT function block block. Used to
instance, RAW is an INT variable. calculate the process
RAW variable PV.
For an AI_REAL function block
instance, RAW is a REAL variable. Note: RAW cannot be a
constant.
For an AI_UINT function block
instance, RAW is a UINT variable.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and Optional BOOL variable, bit reference in ENO is set to Yes if EN is
ST only.) non-BOOL variable set to Yes.
284
Proficy Process Systems Logic
285
Proficy Process Systems - Instructions
PV Low (Eng REAL range SL[0] Engineering values used for the
Units) SL[1] scaling process.
PV High (Eng Default: 0.0.
Units)
Filter Time 0.0 REAL FT If the value of Filter Time is the
(Seconds) variable value of the scan time, then the
following scaled analog input is
filtered using the transfer function:
Default: 0.0.
Square Root Disabled BOOL SQR Disabled: Scaling is linear.
Extraction Enabled variable Enabled: Value of the output
parameter PV is scaled using the
RAW input's extracted square root.
Default: Disabled.
Note: See above explanation.
286
Proficy Process Systems Logic
287
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
288
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
Scaling Limits (SL)
Forced Variable (FV)
Process Variable Indication (PI)
Raw Value Indication (RI)
HMI Status (FP)
EGD
The table below displays the Ethernet Global Data (EGD) associated with an AI block.
System Exchange: #AI_DINT, #AI_INT, #AI_REAL, #AI_UINT
System Block Identifier: O0B
Default Produced Period: 125 milliseconds.
289
Proficy Process Systems - Instructions
Member Number of
Configuration Parameter Data Type Name Public Bytes
Raw Low SL[2] 8
Raw High REAL array of 4 SL[3]
PV Low (Eng Units) REAL variables SL[0] 8
PV High (Eng Units) SL[1] Read /
Write
Forced Value REAL variable FV 4
Status UINT array of 2 FP[0] 2
HMI Status UINT variables FP[1] 2
Copy of PV value for PI 4
operator console
REAL variables Read
Copy of RAW value for RI 4
operator console
32 total bytes
290
Proficy Process Systems Logic
10 AI_INT
11 AI_REAL
Other Languages
AI can also be used in LD and ST.
LD Mnemonics:
AI DINT
AI INT
AI REAL
AI UINT
291
Proficy Process Systems - Instructions
InstanceName Mnemonics:
AO_DINT
AO_INT
AO_REAL
AO_UINT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Analog Output (AO) block writes an analog control variable to a hardwired
output.
Notes
I/O block instance structure variables in a Proficy Process Systems target can be tracked in the
Factory Acceptance Test (FAT) and Site Acceptance Test (SAT) editor. All data in the FAT/SAT
editor is included on a download to, or upload from, the Controller.
Scaling
If the scaling configuration parameters are valid, for example, PV High is PV Low,
then the AO block scales the process variable into a range that is compatible with the
analog I/O module where the hardwired output terminates. If the scaling configuration
parameters are not valid, the raw output is set equal to the process variable without any
scaling. The raw scaling factors can be transposed to support either a fail open valve or a
fail closed valve.
Example
A valve is calibrated so that when its control signal equals 4 mA the valve is fully open. When the control
signal equals 20 mA the valve is fully closed so that on loss of power the valve fails open. The AO block
that produces the control signal for this valve receives input (PV) from a PID block. The input from the
PID block has a range of 0 to 100% where 0% means the valve is fully closed and 100% means that the
valve is fully open. The raw range is specified to be 4000 to 20000 A. The AO block is configured for this
scenario with the following settings.
PV Low (Eng Units) = 0.0
PV High (Eng Units) = 100.0
292
Proficy Process Systems Logic
Clamping
If the block is properly set up for scaling, the raw value is clamped between Raw for PV Low and Raw for
PV High configuration settings. This is to prevent overdriving the manipulated device.
Forcing
When the configuration parameter Forcing is set to Active, the value of RAW is set equal to the Forced
Value.
Note: When Forcing is set to Active, the Forced Value is automatically set equal to the current value of RAW
to ensure a bumpless transition into forcing mode.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL variable, Enable input. When set to Yes, AO solves. When
(FBD bit reference in set to No, AO does not solve. When AO is not
only.) non-BOOL solving, the states of the variables within the block,
variable are not changing, so no faceplate commands or
time calculations are performed. When re-
Required activated, dT is the difference between enabled
solves.
PV REAL variable Control variable scaled in engineering units.
Default: 0.0.
Note: PV cannot be a constant.
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to Yes.
and ST only.) Optional reference in non-BOOL
variable
For an AO_DINT block, Control variable scaled in raw units
RAW RAW is a DINT compatible with the corresponding
variable. I/O module.
293
Proficy Process Systems - Instructions
294
Proficy Process Systems Logic
Lower
Engineering
Range is
Upper
Engineering
Range.
Lower
Engineering
Range =
Lower
Control
Range and
Upper
Engineering
Range =
Upper
Control
Range.
Default: 0.0.
295
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: AO_xxxx
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 12 characters
Engineering Units Engineering units displayed on the operator consoles.
Default: %
Valid characters: Alphabetic characters (lowercase and
uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 8 characters.
Color Animation The percentage of the full range of TP that must be exceeded by
Threshold (%) TP to Indicate that the Valve/Damper is open.
Default: 1
Valid Setting: >=0
Display Precision Number of digits displayed to the right of the decimal point on the
faceplate.
Default: 1
Valid Setting: 0, 1, 2, 3
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
296
Proficy Process Systems Logic
EGD
The table below displays the Ethernet Global Data (EGD) associated with an analog output block.
System Exchange: #AO_DINT, #AO_INT, #AO_REAL, #AO_UINT
System Block Identifier: O0E
Default Produced Period: 225 milliseconds.
Configuration Member Number of
Parameter Data Type Name Public Bytes
Lower Control Range SL[0] 8
Upper Control Range SL[1]
Lower Engineering REAL array of 4 SL[2] 8
Range REAL variables SL[3] Read /
Upper Engineering Write
Range
HMI Status UINT array of 2 FP[0] 2
Status UINT variables FP[1] 2
Forced Value FV 4
Copy of PV value for HMI PI 4
REAL variables
Copy of RAW value for RI Read 4
HMI
32 total
bytes
297
Proficy Process Systems - Instructions
Other Languages
AO can also be used in LD and ST.
LD Mnemonics:
AO DINT
AO INT
AO REAL
AO UINT
Refer to the above diagrams:
???? (LD only; required): Structure variable. Instance data of a block.
ST
InstanceName(PV := , RAW =>);
298
Proficy Process Systems Logic
InstanceName Mnemonic:
DI
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Discrete Input (DI) block processes a hardwired discrete input
and makes the processed state of the input available to other function blocks. The block
also monitors and indicates the quality of the discrete input.
Notes
I/O function block instance structure variables in a Proficy Process Systems target can be tracked
in the Factory Acceptance Test (FAT) and Site Acceptance Test (SAT) editor. All data in the
FAT/SAT editor is included on a download to, or upload from, the Controller.
Tip: No extra forcing capability is required within logic because discrete variables can be forced normally.
However, the conditioned value (PV) can be forced from the faceplate.
Input Parameters
Input
Name Definition Data Type Description
299
Proficy Process Systems - Instructions
Output Parameters
Output
Name Definition Data Type Description
ENO BOOL variable, bit ENO is set to Yes if EN is set to Yes.
(FBD reference in non-
and ST BOOL variable
only.) Optional
PV Conditioned value of RAW
BAD BOOL variables Bad Quality Indication. If BAD is set to
True, then the quality is BAD.
300
Proficy Process Systems Logic
301
Proficy Process Systems - Instructions
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: DI
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Off State Descriptive text field for the OFF state on the faceplate.
Default: OFF
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters.
On State Descriptive text field for the ON state on the faceplate.
Default: ON
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters.
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
HMI Status (PI)
302
Proficy Process Systems Logic
EGD
The table below displays the Ethernet Global Data (EGD) associated with a DI block.
System Exchange: #DI
System Block Identifier: O0F
Default Produced Period: 125 milliseconds.
Member Number of
Description Data Type Name Public Bytes
HMI Status BOOL array of 16 PI Read 2
BOOL variables
Faceplate FC 2
Read /
Command UINT variables
Write
Forced Value FV 2
6 total bytes
303
Proficy Process Systems - Instructions
Other Languages
DI can also be used in LD and ST.
LD ST
InstanceName(RAW := , PV => , BAD => );
304
Proficy Process Systems Logic
InstanceName Mnemonic:
DOUT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
A Proficy Process Systems Discrete Output (DOUT) block writes a BOOL variable to a hardwired output.
Notes
I/O function block instance structure variables in a Proficy Process Systems target are tracked in
the Factory Acceptance Test (FAT) and Site Acceptance Test (SAT) editor. All data in the
FAT/SAT editor is included on a download to, or upload from, the Controller.
Tip: No extra forcing capability is required within logic because discrete variables can be forced normally.
However, the RAW output can be forced from the faceplate.
Input Parameters
Input
Name Definition Data Type Description
EN BOOL variable, Enable input. When set to Yes, DOUT solves. When
(FBD bit reference in set to No, DOUT does not solve. When DOUT is not
only.) non-BOOL solving, the states of the variables within the block,
variable are not changing, so no faceplate commands or time
Required calculations will be performed. When re-activated,
the dT will be the difference between enabled
solves.
PV BOOL variable The processed variable that determines RAW
305
Proficy Process Systems - Instructions
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and ST only.) BOOL variable, bit ENO is set to Yes
reference in non-BOOL if EN is set to Yes.
Optional variable
RAW BOOL variable Hardwired output
HMI Parameters
The HMI parameters are used within the display of the faceplates on the Operator
Consoles. The user must execute a Validate & Build after changing an HMI parameter to
push the change out to the Operator Consoles.
Property Description
Publish To EGD True: (Default.) Instance variable is published to EGD.
False: Instance variable is not published to EGD.
Tag Label Descriptive text field displayed on the faceplate
Default: DOUT
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
Off State Descriptive text field for the OFF state on the faceplate.
Default: OFF
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters.
306
Proficy Process Systems Logic
Security Parameters
The Security Parameters operate in conjunction with the security that is configured on the
operator consoles. The user must execute a Validate & Build after changing a Security
Parameter to push the change out to the Operator Consoles.
Property Description
Security Limits the ability to change data from the faceplates.
Area/Resource Default: PPS
Valid characters: Alphabetic characters (uppercase only) and
underscore '_'
Maximum length: 16 characters.
History Parameters
The History Parameters operate in conjunction with a system server to historize tag data.
The user must execute a Validate & Build after changing a History Parameter to push the
change out to the System Server, and must have published EGD.
When TRUE the data point will be historized
HMI Status (PI)
Faceplate Command (FC)
Forced Value (FV)
EGD
The table below displays the Ethernet Global Data (EGD) associated with a DOUT block.
System Exchange: #DOUT
System Block Identifier: O0G
Default Produced Period: 300 milliseconds.
Member Number of
Description Data Type Name Public Bytes
Faceplate Status BOOL array of 16 PI Read 2
BOOL variables
Faceplate Command FC 2
Read /
Faceplate Forced UINT variables FV 2
Write
Value
6 total bytes
307
Proficy Process Systems - Instructions
Example
The following example shows the I/O variable abc assigned to the output parameter
RAW.
The I/O variable abc is also assigned to the Q1 (discrete output) terminal of a (0.5) OUT
32 module.
308
Proficy Process Systems Logic
Other Languages
DOUT can also be used in LD and ST.
LD ST
InstanceName(PV := , RAW => );
309
Proficy Process Systems - Instructions
310
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
311
Proficy Process Systems - Instructions
312
Proficy Process Systems Logic
313
Proficy Process Systems - Instructions
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
A SEQ_STEP function block instance executes an operational step of a sequence.
Examples: turning a motor on or off, opening or closing a valve, loading a setpoint, or
waiting for a fixed period of time.
A SEQ_STEP function block instance can execute from elapsed time, an event, or both.
If configured to execute from elapsed time (the configuration parameter
Operational Mode is set to Timed Only), then in the configuration parameter
Preset, you must specify how long (in seconds or minutes) the step is to be active.
When the step is active (the value of the output parameter ACT is set to Yes), it
remains active until the value of the Preset time elapses.
If configured to execute from an event (the configuration parameter Operational
Mode is set to Event Only), then when SEQ_STEP becomes active (the value of
the output parameter ACT is set to Yes), it remains active until the input
parameter EVT is set to Yes.
314
Proficy Process Systems Logic
If configured to execute from a minimum elapsed time and from an event (the
configuration parameter Operational Mode is set to Timed and Event), then when
SEQ_STEP becomes active, it remains active until the value (minimum time in
seconds or minutes) of the configuration parameter Preset elapses and the input
parameter EVT is set to Yes.
While the SEQ_STEP block is active, it can be held by setting the input HLD to
Yes. When held, the SEQ_STEP remains at the current step until the hold is
released and the appropriate events have occurred.
The pause request input PR is used to interface with the Process Systems PLI
function block. In order to troubleshoot phase logic in a batch application the PLI
block has the capability to issue a pause request, which causes the step to pause at
the end of its execution before transitioning onto the next step. The SEQ_STEP
block indicates back to the PLI block that it is paused by setting the output H to
On. The PLI block will release the step to transition to the next step by setting the
pause request input PR to Off.
When a SEQ_STEP block has executed, the editor automatically executes the
next sequential step in this sequence.
Note: The pause request causes the step block to pause at the end of its execution whereas hold causes
the step to hold at its current state.
315
Proficy Process Systems - Instructions
316
Proficy Process Systems Logic
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data
Parameter Settings Type Member Name Public Description
Step Number 0 through STEP_NUMBER Block step number.
32,767 Default: 5.
Note: We recommend that
Read / you assign a unique Step
Write Number for each
SEQ_START,
SEQ_STEP, and
SEQ_END function block
instance in this sequence.
317
Proficy Process Systems - Instructions
318
Proficy Process Systems Logic
Mnemonic:
SEQ_JUMP
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
A SEQ_JUMP function block instance jumps to a particular step (value of the
configuration parameter Jump to Step) when its input parameter EVT is set to Yes.
319
Proficy Process Systems - Instructions
CLR Optional Clear. When set to Yes, the value of the output
parameter SB (Step Index Buffer) is set to 0.
Default: No.
320
Proficy Process Systems Logic
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
A SEQ_END function block instance ends a single sequence when its input parameter
EVT is set to Yes or immediately upon activation from the configuration parameter
Operational Mode. Each sequence has only one SEQ_END function block instance.
When the sequence reaches SEQ_END, all operational steps are complete. A SEQ_END
function block instance can be configured to automatically go to a pre-defined step
(usually the value of the configuration parameter Step Number of the associated
SEQ_START function block instance so that the sequence is ready to execute again) or
wait until an event (the input parameter EVT of a sequence function block instance)
occurs.
321
Proficy Process Systems - Instructions
322
Proficy Process Systems Logic
Example
The example below displays a simple sequence to charge a tank with material: one start
step, two operational steps, and one end step.
323
Proficy Process Systems - Instructions
Step 0
The first step starts with the SEQ_START block. In this example it is assigned Step
Number 0. The sequence waits for the operator to start the sequence with a push button.
When the output ACT is set to Yes, the step is active. When the EVT (starting event)
input on the SEQ_START block is set to Yes, the sequence begins and the active step
becomes Step 1.
Step 1
The SEQ_STEP block opens the inlet valve to a tank that is to receive material. When the
valve indicates that it is open, the sequence proceeds to Step 2.
Step 2
When the tank is filled, the valve is closed.
Step 3
The sequence ends and returns to Step 0 after the indication that the valve is closed has
been received.
Other Languages
Sequence blocks can also be used in LD and ST.
LD LD LD LD
324
Proficy Process Systems Logic
325
Proficy Process Systems - Instructions
Timers (FBD)
(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Timed TIMED_EVT Outputs a pulse with a duration equal to Preset when an event
Event occurs. The type of event is configurable.
326
Proficy Process Systems Logic
InstanceName Mnemonic:
TIMED_EVT
Notes
We recommend that you use a unique InstanceName for each function block instance.
i: Solve order for a block instance.
Overview
The timed event function block can be configured to generate pulses to indicate that a
scheduled or recurrent event has occurred.
TIMED_EVT Functionality
A timed event (TIMED_EVT) function block outputs a set of pulses that have a
configurable duration and a set of pulses that are single shots.
The pulses with a configurable duration include Pulse on the Minute (PM), Pulse on the
Hour (PH), and Pulse on a Daily Scheduled Event (PD). The maximum pulse duration for
these events is 30.0 seconds and is given by the parameter Preset. If Preset is set to 0.0
seconds then these pulses will occur as single shots. A single shot pulse is set when its
corresponding event occurs and resets after one execution cycle of the TIMED_EVT
instance that generated it.
Pulse Name Event
PM (Pulse A pulse is generated for the Preset duration on the first execution of
on the the block after the controller clock changes Minutes.
Minute)
327
Proficy Process Systems - Instructions
PH (Pulse A pulse is generated for the Preset duration on the first execution of
on the Hour) the block after the controller clock changes Hours.
PD (Pulse A pulse is generated for the Preset duration on the first execution of
on the Day) the block after the controller clock equals or exceeds the time
specified by the configuration parameters Hours and Minutes. This
event occurs once daily.
The single shot pulses are generated by a TIMED_EVT instance when the corresponding
event occurs and resets upon the next execution of the TIMED_EVT instance. The
TIMED_EVT block generates three single shot pulses each at a different frequency.
Single Shot Event
Name
SS1 A single shot pulse is generated every second or at a frequency of 1
Hertz.
SS2 A single shot pulse is generated every 500 milliseconds or at a
frequency of 2 Hertz.
SS4 A single shot pulse is generated every 250 milliseconds or at a
frequency of 4 Hertz.
The output SER is a single shot error bit that is set when the period between any of the
single shot pulses exceeds its corresponding period, i.e. if the 2 Hertz pulse has a period
that exceeds 500 milliseconds plus a small tolerance then SER is set to On. The SER bit
is latched. It can be reset to Off by setting the input RST.
Input Parameter
Input
Name Definition Data Type Description
EN Required BOOL Enable input. When set to Yes, TIMED_EVT solves.
(FBD variable, bit When set to No, TIMED_EVT does not solve. When
only.) reference in TIMED_EVT is not solving, the states of the
non-BOOL variables within the block, are not changing, so no
variable faceplate commands or time calculations will be
performed. When re-activated, the dT will be the
difference between enabled solves.
RST Optional BOOL Reset single shot error bit.
variable
Output Parameters
Output Name Definition Data Type Description
ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to
and ST only.) Optional reference in non-BOOL Yes.
variable
328
Proficy Process Systems Logic
Configuration Parameters
Configuration parameters of a function block instance are configured in the Inspector
when selecting the instance variable in the Variables tab of the Navigator.
Values of configuration parameters are stored in the member variables of the function
block instance data.
The configuration parameter names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Hour of Daily 0 HOUR Hour of the scheduled event.
Pulse through Default: 0.
23 UINT
Minute of 0 variables MINUTES Minute of the scheduled event.
Read /
Daily Pulse through Write Default: 0.
59
Preset 0.0 REAL PRESET Pulse output duration.
(Seconds) Preset variable Default: 5.0 seconds.
30.0
Examples
Example 1
The following example demonstrates how a cogeneration plant accurately records the
amount of chilled water delivered to its customers. To bill its customers accurately, the
plant must record the amount of chilled water delivered on a daily basis. It accomplishes
329
Proficy Process Systems - Instructions
this task by using the TIMED_EVT block that generates a pulse at midnight to
automatically record the daily total. After the daily total is recorded, the Totalize block is
reset to totalize the subsequent daily total.
Example 2
The following example demonstrates how a process that has a set of non-critical PID
loops can use the TIMED_EVT function block to balance the load on the controllers
CPU so that more critical loops execute faster. As illustrated below the SS4 single shot
pulse is used to execute the non-critical loop LIC100 every 250 milliseconds while the
more critical loops FBKBLK and FBDBLK1 are executed every scan.
Other Languages
TIMED_EVT can also be used in LD and ST.
LD ST
330
Proficy Process Systems Logic
InstanceName(RST :=, PM =>, PH =>, PD =>, SER =>, SS1 =>, SS2 =>, SS4 =>, );
331
Proficy Process Systems - Instructions
332
Proficy Process Systems Logic
InstanceName Mnemonic:
SaturatedSteamTable
Overview
A saturated steam table function block instance provides various values for saturated
steam. The input can be one of the following:
Pressure
Temperature
Density
Specific volume
The input parameter US_SI_FLG enables the output to be in SI (metric) or US (non-
metric or imperial) units.
Input Parameters
Data
Input Name Definition Type Description
InstanceName Required Structure InstanceName is the instance data of a
variable SaturatedSteamTable function block instance.
- or -
Notes
333
Proficy Process Systems - Instructions
334
Proficy Process Systems Logic
Note: The ranges below have been rounded off to the nearest
appropriate decimal point. Input values slightly beyond these ranges
may be possible.
US
Value (non- SI
of metric) (metric)
TYPE: Measurement Range or Range
1 Pressure 1.9 or 0.0125
through through
3100 21.6
PSIA MPa
2 Temperature 125 or 50.3
through through
700 F 372 C
3 Density 0.0055 or 0.085
through through
13.7 227.45
lb/ft kg/m
4 Specific 182.0 or 11.8
volume through through
0.073 0.0045
ft/lb m/kg
PSIA: Pounds Per Square Inch Absolute
MPa: MegaPascals
US_SI_FLG BOOL Can be one of the following values:
variable 0: SI (metric)
1: US (non-metric or imperial)
Default: 0.
Output Parameters
Output Name Definition Data Type Description
ENO (FBD and Optional BOOL ENO is set to True if ERROR is set to
ST only.) variable, bit 0 and the table function block instance
reference in solves correctly.
non-BOOL ENO is set to False if ERROR is set to
variable a non-zero value. See below.
335
Proficy Process Systems - Instructions
336
Proficy Process Systems Logic
Other Languages
A Proficy Process Systems SaturatedSteamTable function block instance can also be used
in LD and ST.
LD ST
InstanceName(Type := , Value := , US_SI_Flg := , Error => ,
Pressure => , SatTemp => , Density => , SpecVolume => ,
WEntropy => , SEntropy => , WEnthalpy => , SEnthalpy => ,
ISen => , CompFact => );
337
Proficy Process Systems - Instructions
InstanceName Mnemonic:
SuperSteamCompWaterTable
Overview
A superheated steam compressed water table function block instance provides values for
both compressed water and superheated steam. The pressure tables require double
interpolation to obtain most values. This is because the required values are often between
the values of two separate pressure tables.
Caution: The superheated steam compressed water tables do not make any corrections to the table values
at the saturation temperature (boiling point) of the water or steam. Do not use these tables for conditions at
or very close to the saturation temperature for the input parameter PRESSURE.
The input parameter US_SI_FLG enables the output to be in SI (metric) or US (non-
metric or imperial) units.
Input Parameters
Input Name Definition Data Type Description
InstanceName Required Structure InstanceName is the instance data of a
variable SuperSteamCompWaterTable function block
- or - instance.
Notes
???? (LD
only.) Undo is available when you edit InstanceName.
338
Proficy Process Systems Logic
Output Parameters
Output
Name Definition Data Type Description
ENO (FBD Optional BOOL ENO is set to True if ERROR is set to 0
and ST variable, bit and the table function block instance
only.) reference in solves correctly.
non-BOOL ENO is set to False if ERROR is set to a
variable non-zero value. See below.
ERROR INT variable Can have one of the following values:
0: No error
1: Invalid function block instance parameters
2: Not used
Required 3: Invalid input parameter TEMP value
4: Invalid input parameter PRESSURE value
5: Interpolation error
6: Internal table error
Default: 0.
339
Proficy Process Systems - Instructions
Other Languages
A Proficy Process Systems SuperSteamCompWaterTable function block instance can
also be used in LD and ST.
LD ST
InstanceName(Temp := , Pressure := , US_SI_Flg := , Error => ,
SpecVol => , Density => , Enthalpy => , Entropy => , );
340
Proficy Process Systems Logic
341
Proficy Process Systems - Instructions
Note: To add a new Proficy Process Systems function block, in the Navigator, select the Proficy
Process Systems target. The target properties appear in the Inspector. In the Inspector, set
the Process System Enabled property from True to False, and then set the property back to True.
To locate the new function block, drill down as follows: In the Navigator, expand the Logic
folder, expand the Program Blocks folder, expand the Process_Function_Blocks folder, and
then expand the appropriate function block type folder (for example, in the case of the
OVERRIDE function block, expand the Control folder).
Faceplate History
Class
System Graphical Version
Version Object * Comments
All All All the graphical objects have been updated to attach to the sin
Updated configuration
2.00 CTRL_STAT NEW
DC2S 2.00 Updated to receive the DC2S FP[2] DWORD into SA
DC3S 2.00 Updated to receive the DC3S FP[2] DWORD into SA
All All the graphical objects have been updated to a new graphical
CMD New
1.60
INTERLOCK New
STATUS New
DC2S Minor Display issue when state transition failed
1.50
DC3S New
342
Proficy Process Systems Logic
Note: Updating existing project to use the new/changed faceplate files is necessary: Add your faceplate.
Note: The class version is specific to the CIMPLICITY class files (.SOC), and is only active starting at
system version 2.00.
343
Index
A Multiplexer.......................................... 13
Adapt................................................... 94 O
Analog Alarm...................................... 30 Override ............................................ 150
Analog Indication.............................. 260 P
Analog Input ..................................... 281 PID .................................................... 133
Analog Output................................... 292 PID Advanced................................... 108
Average ................................................. 4 PLI....................................................... 61
B Push Button....................................... 272
Binary Decimal ................................... 19 PWM ................................................. 158
C Q
Clamp.................................................... 8 Quality of Results ................................. 6
Command.......................................... 254 R
Compare Error with Deadband ........... 88 Ramp/Soak........................................ 164
Compare with Deadband..................... 84 Ratelimit............................................ 173
Control Status.................................... 247 S
D Saturated Steam ................................ 333
Deadtime ............................................. 97 Scheduler........................................... 178
Decimal Binary ................................... 22 Sequence ........................................... 311
Device Control Three State............... 222 Signal ................................................ 183
Device Control Two State................. 210 Simulate ............................................ 186
Digital Output ................................... 305 Split Range........................................ 191
Discrete Alarm .................................... 49 Status................................................. 276
Discrete Indication ............................ 264 Superheated Steam Compressed Water
Discrete Input.................................... 299 ....................................................... 338
F Switch ................................................. 15
Function ............................................ 100 T
G Timed Event...................................... 327
Gain and Bias...................................... 17 Totalize ............................................. 196
H U
High Low ............................................ 10 Update Proficy Process Systems Projects
I ....................................................... 341
Interlock ............................................ 238 V
L Vote..................................................... 12
Latch ................................................... 80 W
Leadlag.............................................. 103 Watchdog ............................................ 76
M X
Manual SP......................................... 268 Xfer ................................................... 205
Moving Average ................................. 25
345