Вы находитесь на странице: 1из 349

Proficy* Process Systems Logic

Function Blocks and Instructions

Proficy Process Systems 2.0


September 2010

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.

2010 GE Intelligent Platforms, Inc. All rights reserved. * Trademark of GE


Intelligent Platforms, Inc.

Microsoft is a registered trademark of Microsoft Corporation. Any other trademarks


referenced herein are used solely for purposes of identifying compatibility with the
products of GE Intelligent Platforms, Inc.

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

Disclaimer of Warranties and Liability


The information contained in this manual is believed to be accurate and reliable.
However, GE Intelligent Platforms, Inc. assumes no responsibilities for any errors,
omissions or inaccuracies whatsoever. Without limiting the foregoing, GE Intelligent
Platforms, Inc. disclaims any and all warranties, expressed or implied, including the
warranty of merchantability and fitness for a particular purpose, with respect to the
information contained in this manual and the equipment or software described
herein. The entire risk as to the quality and performance of such information,
equipment and software, is upon the buyer or user. GE Intelligent Platforms, Inc.
shall not be liable for any damages, including special or consequential damages,
arising out of the use of such information, equipment and software, even if GE
Intelligent Platforms, Inc. has been advised in advance of the possibility of such
damages. The use of the information contained in the manual and the software
described herein is subject to GE Intelligent Platforms, Inc. standard license
agreement, which must be executed by the buyer or user before the use of such
information, equipment or software.

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

Scheduler (SCHEDULER) ..................................................................................... 178


Signal (SIGNAL) .................................................................................................... 183
Output Parameters................................................................................................... 184
Configuration Parameters ....................................................................................... 185
Simulate (SIMULATE) .......................................................................................... 186
Split Range (SPLITRANGE).................................................................................. 191
Counters (FBD)........................................................................................................... 195
Totalize (TOTALIZE) ............................................................................................ 196
Data Move (FBD) ....................................................................................................... 204
Bumpless Transfer (XFER) .................................................................................... 205
Device Control (FBD)................................................................................................. 209
Device Control Two State (DC2S) ......................................................................... 210
Device Control Three State (DC3S) ....................................................................... 222
Interlock (INTERLOCK)........................................................................................ 238
Diagnostics (FBD) ...................................................................................................... 246
Controller Status (CTRL_STAT) ........................................................................... 247
HMI (FBD) ................................................................................................................. 253
Command (CMD) ................................................................................................... 254
Analog Indication (IND_A).................................................................................... 260
Discrete Indication (IND_D) .................................................................................. 264
Manual Setpoint (MANUAL_SP) .......................................................................... 268
Push Button (PBUTTON)....................................................................................... 272
Output Parameters................................................................................................... 273
Status (STATUS) .................................................................................................... 276
I/O (FBD).................................................................................................................... 280
Analog Input (AI_DINT, AI_INT, AI_REAL, AI_UINT)..................................... 281
Analog Output (AO_DINT, AO_INT, AO_REAL, AO_UINT)............................ 292
Discrete Input (DI).................................................................................................. 299
Discrete Output (DOUT) ........................................................................................ 305
Program Flow (FBD) .................................................................................................. 310
Sequence (SEQ_START, SEQ_STEP, SEQ_JUMP, SEQ_END)......................... 311
Timers (FBD).............................................................................................................. 326
Timed Event (TIMED_EVT).................................................................................. 327
Output Parameters................................................................................................... 328
Configuration Parameters ....................................................................................... 329
Saturated Steam Table ............................................................................................ 333
Superheated Steam Compressed Water Table ........................................................ 338

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.

Proficy Process Systems Instructions


Basic Instructions

Proficy Process Systems Function Block Groups


Advanced Math
Alarms
Batch
Bit Operations
Comparison
Control
Counters
Data Move
Device Control
Diagnostics
HMI
I/O

1
Proficy Process Systems - Instructions

Program Flow
Timers

Proficy Process Systems Tables


Tables

2
Proficy Process Systems Logic

Proficy Process Systems Instructions (FBD)


(Proficy Process Systems FBD for PACSystems firmware version 5.00 and later.)
The basic Proficy Process Systems instruction set supports operations on BOOL,
BYTE, 16-bit (INT, WORD, UINT), and 32-bit (DINT, DWORD, REAL) variables. These
instructions generally operate on an accumulator's content to generate a new value
for the same accumulator. The following instructions are supported:
Instruction Mnemonic Description
Average AVG Calculates the continuous average of a variable

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

Decimal DECBIN Converts a decimal or integer value input to 16 independent


Binary output bits
Gain Bias GAINBIAS Calculates output = (K * input) + BIAS
High Low HILO Outputs the highest and lowest values found among the eight inputs

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV1 REAL data flow, R, P, L, AI, Inputs to average
through variable or AQ, W, symbolic, I/O
Note: You must provide values for
PV8 constant variable PV1 and PV2. PV3 through PV8 are
optional.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description


OP REAL data flow, R, P, L, AI, AQ, W, Average of the inputs. See
variable symbolic, I/O variable Overview.

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV1 BOOL data flow, I, Q, M, T, (Optional.) Process variables.
through variables S, G, symbolic, I/O Default: False.
PV8 variable
BITS UINT data flow, R, P, L, AI, The value of BITS is compared to the
variable or AQ, W, symbolic number of bits in PV1 through PV8
constant that are set to True.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description


OP BOOL data flow, I, Q, M, T, S, G, The output of the QOR

6
Proficy Process Systems Logic

variable symbolic, I/O variable calculation. See Operation.

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.

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV INT, DINT, UINT, data flow, R, P, L, The input to be clamped.
REAL variable or AI, AQ, W,
Note: All input and output data types
constant symbolic must be the same.

8
Proficy Process Systems Logic

HI, LO (Optional.) The values to be


compared to PV. See Overview.
Notes

To avoid an unexpected result,


ensure that the value of HI is
the value of LO.

All input and output data types


must be the same.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description


OP INT, DINT, UINT, data flow, R, P, L, AI, The clamped value. See
REAL variable AQ, W, symbolic Overview.
Note: All input and output data
types must be the same.

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

High Low (HILO)

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV1 INT, DINT, UINT, data flow, R, P, L, Inputs from which the highest
through REAL variables or AI, AQ, W, and lowest values are output.
PV8 constants symbolic See Overview.
Notes

You must provide values for


PV1 and PV2. PV3 through
PV8 are optional.

All input and output data types


must be the same.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description

10
Proficy Process Systems Logic

HI The greatest value of the


input values.
Note: All input and output data
INT, DINT, UINT, data flow, R, P, L, AI, types must be the same.

LO REAL variables AQ, W, symbolic The lowest value of the input


values.
Note: All input and output data
types must be the same.

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.

Note: There is no bumpless transfer when switching the values of OP.

Input Operands
Note: 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 UINT data flow, R, (Required.)
variable or P, L, AI, AQ, If SW is a value from 1 through 8, then
constant W, symbolic the value of PVsw is copied to the output
variable assigned to OP.
If there is no value at PVsw, then the value
at OP is not affected.
If the value of SW is 1, then the value of
PV1 is copied to OP.
If the value of SW is 8, then the value of
PV8 is copied to OP.
Default: 0.
PV1 BOOL, data flow, I, Q, Process variables. May contain a value that can be
through INT, DINT, M, T, S, G, R, chosen from the value of SW (see description for
PV8 UINT, P, L, AI, AQ, SW).
REAL, W, symbolic,
Notes
BYTE, I/O variable

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

Operand Data Type Memory Area Description


OP BOOL, data flow, I, (Required.) Value of PVsw.
INT, Q, M, T, S, G, If there is no value at PVsw, then the value at
DINT, R, P, L, AI, output OP is not affected.
UINT, AQ, W,
REAL, symbolic, I/O Note:
type.
PV1 through PV8 and OP must be the same data

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.

Note: There is no bumpless transfer when switching the values of OP.

Input Operands
Notes

All inputs and outputs are required.

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

All inputs and outputs are required.

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.

All inputs and outputs are required.

16
Proficy Process Systems Logic

Gain and Bias (GAINBIAS)

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV Input value. See Overview.
Note: All input and output data
types must be the same.

INT, DINT, UINT,


data flow, R, P, L, AI,
REAL variable or
AQ, W, symbolic
K constant (Optional.) Default: 1.
Note: All input and output data
types must be the same.

BIAS (Optional.) Default: 0.

Note: All input and output data


types must be the same.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description

17
Proficy Process Systems - Instructions

OP INT, DINT, UINT, data flow, R, P, L, AI, Output value. See


REAL variable AQ, W, symbolic Overview.

Note: All input and output data


types must be the same.

18
Proficy Process Systems Logic

Binary Decimal (BINDEC)

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV1 BOOL data flow, I, Q, M, The 16 input bits to be masked and
through variables T, S, G, symbolic, compared. See Overview.
PV16 I/O variable
MSK (Optional.)
If the state of a bit in MSK is
True, then the state of the
corresponding input bit (PV1
through PV16) is passed to the
data flow, R, P, L, corresponding output bit in OP.
WORD If the state of a bit in MSK is
AI, AQ, W, non-
variable or False, then the state of the
discrete symbolic,
constant corresponding output bit in OP is
I/O variable
set to False.
CMP (Optional.) The state of each input bit
(PV1 through PV16) is compared to the
corresponding state of the bit in the
variable assigned to CMP.

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Memory Area Description


Type
OP data flow, R, P, L, The decimal result of passing the 16 inputs bits
WORD AI, AQ, W, non- through the mask. See Overview.
variable discrete symbolic,
I/O variable
OK BOOL data flow, I, Q, M, If the state of each input bit (PV1
variable T, S, G, symbolic, through PV16) matches the
I/O variable corresponding state of the bit of the
input compare variable assigned to
CMP, then the state of the OK bit is
True.
If the state of any input bits do not
match the corresponding state of the
bits in CMP, then the state of the OK
bit is False.
DIF WORD data flow, I, Q, M, If the state of an input bit (PV1 through PV16)

20
Proficy Process Systems Logic

variable T, G, R, P, L, AI, does not match the corresponding state of the


AQ, W, non- bit of the input compare variable assigned to
discrete symbolic, CMP, then the state of the corresponding bit of
I/O variable the variable assigned to DIF is set to True.

Example

21
Proficy Process Systems - Instructions

Decimal Binary (DECBIN)

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

Operand Data Type Memory Area Description


i The solve order for the instruction
PV INT, UINT, WORD data flow, I, Q, M, T, G, R, P, L, AI, AQ, Input integer
variable or constant W, non-discrete symbolic, I/O variable value
Default: 0.

22
Proficy Process Systems Logic

Output Operands
Note: Indirect referencing is available for all register references (%R, %P, %L, %W, %AI, and %AQ).

Operand Data Type Memory Area Description


OP1 through BOOL data flow, I, Q, M, T, S, G, 16 output bits from
OP16 variables symbolic, I/O variable PV

23
Proficy Process Systems - Instructions

Proficy Process Systems Function Blocks


Advanced Math (FBD)
(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Moving MAVG Periodically calculates the moving
Average average of an input

24
Proficy Process Systems Logic

Moving Average (MAVG)

InstanceName Mnemonic:
MAVG

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

PV REAL Process variable PV for the MAVG calculation


variable
Note: PV cannot be a constant.

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.

If Number of Samples is set to a


value 0, then Number of
Samples is set to 0.

26
Proficy Process Systems Logic

Execution 0.0 REAL DLY Minimum sample period of MAVG,


Period variable in seconds. Can have the following
values:
0.0 seconds: One sample
Period every scan.
Greater than 0.0: Length of
time in seconds, of a sample
period.
Default: 1.0 seconds.
Note: If Sample Period is set to a value
0.0, then Sample Period is set to 0.0.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Analog Alarm (ALARM_A)


InstanceName
Mnemonic:
ALARM_A

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Current Value States vs. Time

Deadband and State Outputs


A deadband, helps to prevent a state output from cycling back and forth from on to off. The limit and
deadband are configurable parameters, specified in Engineering Units of the analog input.

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

An inactive alarm is not cleared unless it has been acknowledged.


Notes

At time t = 1, ACKW does not change because the transition is to a less severe state.

At time t = 2, the alarm activates and remains active until t = 4.

At time t = 3, ACKW changes because the transition is to a more severe state.

Note: For the table below:

The assumption is that all alarms are enabled.

If an alarm acknowledgment state is True, then the alarm was acknowledged (ACKed).

If an alarm acknowledgment state is False, then the alarm needs to be ACKed.


Alarm Current Alarm Alarm State of
State Acknowledgment displayed Alarm

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

Basic Alarm Flow


These steps describe the flow of a basic ALARM_A alarm.
1. The state of the alarm is determined and the state of an operator console is
calculated.
HighHigh (HH) has priority over High (H).
LowLow (LL) has priority over Low (L).
If the input parameter INH (Inhibit) is set to True, then the state is always
Normal.
2. The acknowledge (ACK) word is calculated.
If ACK is set to False, then the alarm must be acknowledged (ACKed).
If the alarm state increases, for example, from H to HH, or from L to LL,
then the alarm must be ACKed, even if it was ACKed at a lower state.
3. You can ACK an alarm in one of the following areas:
Operator console faceplate
Controller (see the Alarm Self-acknowledgment (selfACK) section below)
4. The calculation below occurs on an operator console.
operator console = (alarm state NOT= Normal) AND (ACK = False)

Alarm Acknowledge (ACK) states are as follows:


Current Alarm ACK
ACK Transition Result
True N to H False
True H to HH False
True HH to H True
True H to N True
False Any False
change

34
Proficy Process Systems Logic

Alarm Self-acknowledgment (selfACK)


In logic, an individual limit can be automatically acknowledged (ACKed). Automatic
ACKing compares a global variable that is shared across block instances to a priority
defined in a block instance itself.
Note: If an alarm state L is set to self-acknowledge (selfACK), and the alarm state is then set to LL, the
alarm cannot selfACK when it is set back to L.
SelfACKing is determined by using the value of an element in the global configuration
parameter array SELFACK_PRIORITY and cross-referencing the element to the
corresponding element in SELFACK_PRIORITY as follows:
Alarm Corresponding global Can alarm
priority variable element selfACK?
(0) N/A No
(1) S900SelfACK Yes
(2) S800SelfACK Yes
(3) S600SelfACK Yes
(4) S400SelfACK Yes
(5) S200SelfACK Yes
Each of the six limits (LL, L, H, HH, and ROC) can have a priority.
For example, an alarm can selfACK at H and not at HH. If SELFACK_PRIORITY [1] of
an alarm is set to True, then the alarm selfACKs.

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.

INH Optional BOOL Logical Inhibit.


variable When INH (inhibit) is set to Yes, the
ALARM_A block behaves as if it is not in
any alarmed condition or state; that is, it acts
as Normal.
When set to No, ALARM_A can have a
single alarm state, active for either the rate of
change alarm or absolute alarm and/or BOOL
output state(s) in logic.

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.

Configuration Parameters - Inspector


Configuration parameters of a function block instance are configured in the Inspector
after 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.

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

Suppress LL True One- DA[0 through 5] Suppresses alarm


Alarm in False dimensional conditions for an
Viewer BOOL operator console. If an
Suppress L array of 6 operator console item is
Alarm in BOOL suppressed and alarm
Viewer variables state is enabled, then
Suppress H operator console treats
Alarm in condition as Normal
Viewer (alarm clears on ACK
Suppress HH and Normal). Operator
Alarm in console displays alarm
Viewer condition such that, for
Suppress - example, an L alarm
ROC in and an LL alarm cannot
Viewer exist on operator
Suppress console at the same
+ROC in time.
Viewer False: Alarm not
suppressed.
True: Alarm
suppressed.
Default: False.
Note: You can monitor and
evaluate suppression for
analog (ALARM_A) and
discrete (ALARM_D) alarm
tags (variables) by creating
scripts in HMI/SCADA.

ROC Per None UINT TimeSetting Rate of Change Per


Second variable Second or Minute.
Minute 0: None
1: Second
2: Minute.
Default: 2.
Notes

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

Deadband 0.0 DB Deadband for the alarm


REAL
limits.
variable
Default: 0.0.
Alarm Normal BYTE PCV_ALM No (Read-only.) Alarm
Condition LL variable state on an operator
L console.
H
Note: Only one alarm
HH condition displays on an
operator console.

Alarm True BOOL ACK Read No:


Acknowledged False variable Unacknowledge
d (unACKed)
Yes:
Acknowledged
(ACKed)
If Alarm Acknowledged
is set to Yes and the
alarm state is Normal,
the alarm is removed
from the operator
console.
Default: True.
Note: Typically, this is set to
Yes on an operator console;
however, an ALARM_A block
can ACK an alarm itself. See
priority parameters and
global variables.

Alarm Normal BYTE PCV_ALMROC No (Read-only.) ROC


Condition ROC_DN variable alarm state on an
(ROC) ROC_UP operator console
ROC_DN:
Negative Rate of
Change
ROC_UP:
Positive Rate of
Change
Note: Only one alarm
condition displays on an
operator console.

Alarm True BOOL ACKROC Read False:


Acknowledged False variable Unacknowledge
(ROC) d (unACKed).
True:

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.

S800SelfACK Yes: (Default.) Non-critical


alarm priority level [2] self-
acknowledges (selfACKs).
No: Non-critical alarm priority
level [2] does not selfACK.
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

S600SelfACK Yes: (Default.) Non-critical


alarm priority level [3] self-
acknowledges (selfACKs).
No: Non-critical alarm priority
level [3] does not selfACK.
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.

S400SelfACK Yes: (Default.) Non-critical


alarm priority level [4] self-
acknowledges (selfACKs).
No: Non-critical alarm priority
level [4] does not selfACK.
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.

S200SelfACK Yes: (Default.) Non-critical


alarm priority level [ 5] self-
acknowledges (selfACKs).
No: Non-critical alarm priority
level [ 5] does not selfACK.
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.

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

Valid characters: Alphabetic characters (lowercase and


uppercase), SPACE, and the following non-alphanumeric
characters: _ ! # $ % ( ) * + , - . / = @ \ ^
Maximum length: 8 characters.
Alarm Area Physical or conceptual area that the alarm belongs to within the
plant.
Default: PPS
Maximum length: 16 characters.
Alarm Message Message for the absolute alarm that appears in iFIX or
CIMPLICITY alarm viewer.
Default: %ID is in Alarm
Maximum length: 80 characters.
ROC Alarm Message for the Rate Of Change alarm that appears in iFIX or
Message CIMPLICITY alarm viewer.
Default: %ID is in Alarm
Maximum length: 80 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.

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

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 an operator console.
The internal member variable names are listed in the table below.
Member Valid
Name Settings Data Type Public Description
ST WORD WORD Read Status word. State of ALARM_A block from
range variable Faceplate Command FC.
Bit Description
x[0] State of HH in logic
x[1] State of H in logic
x[2] State of L in logic
x[3] State of LL in logic
x[4] State of RUP (positive rate
of change) in logic
x[5] State of RDN (negative rate
of change) in logic
x[6] True: Alarm
through suppressed for L, H,

43
Proficy Process Systems - Instructions

through HH, +ROC, -ROC


x[11] False: Alarm not
suppressed

x[12] True: Alarms


inhibited
False: Alarms not
inhibited

x[13] Not used


through
x[15]

FC UINT UINT Read / Faceplate Command sends a command from


range variable Write faceplate to the block.
Value of
bits 0
through 7 Description
0 No command
1 Set ACK to 1
2 Set ACKROC to 1
9 Suppress LL Alarm
10 Suppress L Alarm
11 Suppress H Alarm
12 Suppress HH Alarm
13 Suppress -ROC Alarm
14 Suppress +ROC Alarm
22 Remove LL Alarm
suppression
23 Remove L Alarm
suppression
24 Remove H Alarm
suppression
25 Remove HH Alarm
suppression
26 Remove -ROC Alarm
suppression
27 Remove +ROC Alarm
suppression
Bits 8 through 15 contain command data:
ACK sequence number
- or -

44
Proficy Process Systems Logic

ACKROC sequence number


Default: 0.

45
Proficy Process Systems - Instructions

RS[0 DWORD one- Rate of Change (ROC) status variables.


through range dimensional Rate of change state
4] DWORD RS[0].x[0 - 0: Normal
array of 5 2] 1: ROC_DN
DWORD 2: ROC_UP
variables
RS[0].x[3 -
6] Not used
RS[0].x[7] 0: Unacknowledged
1: Acknowledged
RS[0].x[8 -
15] Alarm sequence number
Alarm activated timestamp
RS[0].x[16 Milliseconds (0 through
- 31] 9,999)
RS[1] Seconds between January 1,
1970 and when the alarm
was activated
Alarm acknowledged timestamp
RS[2].x[0 - Milliseconds (0 through
15] 9,999)
Read
RS[3] Seconds between January 1,
1970 and when the alarm
was ACKed
Alarm cleared timestamp
RS[4] Seconds between January 1,
1970 and when the alarm
was cleared
RS[2].x[16 Milliseconds (0 through
- 31] 9,999)

Notes

When both of the following occur, then the


values of AS[2] and AS[3] are set to zero.

RS[0].x[16 through 31] and AS[0].x[16


through 31] both receive a timestamp in
milliseconds.

RS[1] and AS[1] both receive a 32-bit


timestamp.

For information about specific timestamp bits,


see the SVC_REQ 7 function block.

46
Proficy Process Systems Logic

AS[0 DWORD one- Alarm State status variables.


through range dimensional Alarm state
4] DWORD AS[0].x[0 0: Normal
array of 5 - 4] 1: LL
DWORD 2: L
variables 3: H
4: HH
AS[0].x[5 Not used
- 6]
AS[0].x[7] 0: Unacknowledged
1: Acknowledged
AS[0].x[8 Alarm sequence number
- 15]
Alarm activated timestamp
AS[0].x[16 Milliseconds (0 through
- 31] 9,999)
AS[1] Seconds between January 1,
1970 and when the alarm
was activated
Alarm acknowledged timestamp
AS[2].x[0 Milliseconds (0 through
-15] 9,999)
AS[3] Seconds between January 1,
1970 and when the alarm
was ACKed
Alarm cleared timestamp
AS[4] Seconds between January 1,
1970 and when the alarm
was cleared
AS[2].x[16 Milliseconds (0 through
- 31] 9,999)

Notes

When both of the following occur, then the


values of AS[2] and AS[3] are set to zero.

RS[0].x[16 through 31] and AS[0].x[16


through 31] both receive a timestamp in
milliseconds.

RS[1] and AS[1] both receive a 32-bit


timestamp.

For information about specific timestamp bits,


see the SVC_REQ 7 function block.

47
Proficy Process Systems - Instructions

PI Copy of PV value for an operator console


TB Internal ROC timebase calculation in seconds.
ROC Per value TB value
REAL REAL
range variables 0 0.0
1 1.0
2 60.0
Default: 0.0.

Other Languages
ALARM_A can also be used in LD and ST.
LD ST
InstanceName(PV := , INH := , HH => , H => , L => , LL => , RUP => , RDN => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

48
Proficy Process Systems Logic

Discrete Alarm (ALARM_D)


InstanceName
Mnemonic:
ALARM_D

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

State Functionality for Logic


For ALARM_D, the Alarm state is always enabled.
When in Normal condition (not Alarm), the output parameter ALM is set to 0,
False, or No.
When in Alarm condition (not Normal), the output parameter ALM is set to 1,
True, or Yes.

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

INH Optional When Inhibit is set to Yes, ALARM_D has no


BOOL Alarm conditions or output states in the logic,
variables that is, it behaves as Normal.
When set to No, ALARM_D can have a
single Alarm condition and/or BOOL output
state in logic.
Default: No.

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

Configuration Parameters - Inspector


Configuration parameters of a function block instance are configured in the Inspector
after 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
Alarm Setting Alarm TP The type of alarm:
on 0 Alarm on 0: Sets the
Alarm Alarm state to No.
on 1 Read / Alarm on 1: Sets the
Alarm Write Alarm state to Yes.
on Alarm on Toggle: Sets
Toggle the Alarm state to
toggle.
Default: Alarm on 1.
Severity 1000 LP The value of the Priority Link
900 indicates the severity of the
800 alarm limit. Each alarm limit
600 maps to an element of the
400 UINT global variable array
200 variables SELFACK_PRIORITY, which
determines if the alarm
acknowledges itself (selfACK).
If set to None, the alarm is
ignored, that is, there is no
selfACK.
Choices:
1000 - None
900 - S900SelfAck
800 - S800SelfAck
600 - S600SelfAck
400 - S400SelfAck
200 - S200SelfAck
Default: None.

51
Proficy Process Systems - Instructions

Delay 0.0 REAL DB Length of time in seconds, that


through variable an alarm state must be
86,400.0 maintained before the output
(24 parameter ALM is set to On.
hours) This applies only to entering an
alarm state. When coming out
of an alarm state, ALM is
immediately set to Off.
Default: 0.0.
Note: If Delay is set to a value 0.0,
then it is automatically set to 0.0.

Suppress True DA Suppresses alarm conditions for


Alarm in False an operator console. If an
Viewer operator console item is
suppressed and alarm state is
enabled, then operator console
treats condition as Normal
(alarm clears on ACK and
Normal). Operator console
displays alarm condition such
BOOL that, for example, an alarm
variables cannot exist on operator console
at the same time.
False: Alarm not
suppressed.
True: Alarm suppressed.
Default: False.
Note: You can monitor and evaluate
suppression for analog (ALARM_A)
and discrete (ALARM_D) alarm tags
(variables) by creating scripts in
HMI/SCADA.

Alarm Normal PCV_ALM No (Read-only.) Alarm state on


Condition Alarm operator console.

52
Proficy Process Systems Logic

Alarm No ACK Read No: Unacknowledged


Acknowledged Yes (UNACKed).
Yes: Acknowledged
(ACKed).
If set to Yes and the Viewer
Alarm Condition is Normal,
then the alarm can be removed
from the operator console.
Default: Yes.
Note: Typically, this is set to Yes on
an operator console; however,
ALARM_D can ACK an alarm itself.
See the configuration parameter
Priority Link and the Global variables
section below.

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.

S800SelfACK Yes: (Default.) Non-critical alarm


priority level [2] selfacknowledges
(selfACKs).
No: Non-critical alarm priority level
[2] does not selfACK.
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

S600SelfACK Yes: (Default.) Non-critical alarm


priority level [3] selfacknowledges
(selfACKs).
No: Non-critical alarm priority level
[3] does not selfACK.
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.

S400SelfACK Yes: (Default.) Non-critical alarm


priority level [4] selfacknowledges
(selfACKs).
No: Non-critical alarm priority level
[4] does not selfACK.
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.

S200SelfACK Yes: (Default.) Non-critical alarm


priority level [ 5] selfacknowledges
(selfACKs).
No: Non-critical alarm priority level
[ 5] does not selfACK.
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.

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

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.

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

AS[0 DWORD one- Alarm State status variables.


through range dimensional Alarm state
4] DWORD AS[0].x[0 0: Normal
array of 5 - 1] 1: Alarm
DWORD
variables AS[0].x[2 Not used
- 6]
AS[0].x[7] 0: Unacknowledged
1: Acknowledged
AS[0].x[8 Sequence number of alarm
- 15]
Alarm activated timestamp
AS[0].x[16 Milliseconds (0 through
- 31] 9,999)
AS[1] Seconds between January 1,
1970 and when the alarm was
activated
Alarm acknowledged timestamp
AS[2].x[0 Milliseconds (0 through
- 15] 9,999)
AS[3] Seconds between January 1,
1970 and when the alarm was
ACKed
Alarm cleared timestamp
AS[4] Seconds between January 1,
1970 and when the alarm was
cleared
AS[2].x[16 Milliseconds (0 through
- 31] 9,999)

Notes

When both of the following occur, then the values


of AS[2] and AS[3] are set to zero.

AS[0].x[16 through 31] receives a timestamp


in milliseconds.

AS[1] receives a 32-bit timestamp.

For information about specific timestamp bits, see


the SVC_REQ 7 function block.

FC UINT UINT variable Read / Faceplate Command. Bits 0 through 7 contain


range Write the command.
Value of bits 0
through 7 Description

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

InstanceName(PV := , INH := , ALM => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Batch Phase Logic Interface (PLI)

InstanceName Mnemonic:
PLI

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

140 Request confirmed


150 Request successfully canceled
160 Request unsuccessfully
canceled
170 Clear request register

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 Transition Logic


Procedural elements such as an equipment phase residing on a PACSystems Controller
have associated states of operation. These states are categorized into three groups: active,
quiescent, and final. The active states are running, aborting, stopping, holding, and
restarting. Active states typically have one or more steps that execute sequentially to
carry out a specific task. The quiescent states are held and idle. Quiescent states signify
that the equipment phase is at rest and awaiting a command to proceed to an active state.
The final states are aborted, stopped, and complete. These states indicate either an
abnormal or normal termination of the phase. The final states await a reset command in
order to proceed to the idle state. The following diagram illustrates the possible
transitions between the three categories of states.

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.

Single Step Mode


Semi-automatic mode provides the ability to troubleshoot the running phase logic by
stopping the execution of the logic at programmed break points. Semi-automatic mode is
also referred to as Single Step mode.
If the Batch Execution System or external interface issues a command for Single Step,
and the phase is not idle or already in Single Step mode, then the phase enables Single
Step mode and indicates this by setting the value of the batch tag <phasename>.SS to
one. Single Step mode is disabled if the phase is already in Single Step mode and the
Batch Execution System issues a command for Single Step mode, or if the phase
transitions to the idle state. Once Single Step mode is disabled, <phasename>.SS is reset
to zero.
In Single Step mode the PLI block requests the phase logic to stop at every programmed
break point, by setting the output PR (Pause Request) to True. The phase logic reports
back to the PLI block when it is paused by setting the PPD input (Phase Paused) to True.
The phase then remains paused until a resume command is received from the Batch
Execution System. Upon receipt of the resume command the PLI block resets the output
PR to False. When phase logic resumes, the input PPD is set to False. When PPD is set to
False the PLI block again sets PR to True in order to enter the Pause Request State.
The PLI sets the batch tags <phasename>.P and <phasename>.PD to indicate to the
Batch Execution System when the phase logic is in the PAUSE REQUEST STATE,
PAUSED STATE, or RESUMING STATE.
The interaction between the Batch Execution System, phase logic, and PLI block to
execute Single Step mode is shown in the following diagram..

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

Phase Request Handling


The phase logic can request services from the Batch Execution System by writing an
integer value to the input PRQ (Phase Request Tag). The services that can be requested
are listed in table below.
Integer Request
Value

67
Proficy Process Systems - Instructions

1000 Download all phase parameters


1100 Download range of phase parameters
1200 Download single phase parameter starting at
parameter index 1
1300 Download single phase parameter value stored in
specific parameter index
2000 Upload all report parameter values
2100 Upload range of report parameter values
2200 Upload single report parameter retrieved from
parameter index 1
2300 Upload single report parameter retrieved from
specific parameter index
3000 Send message to operator
4000 Acquire single resource
4100 Acquire multiple resources
4200 Release single resource
4300 Release multiple resources
4400 Release all currently acquired resources
5000 Send message to phase
5100 Send message to phase; wait for response from all
receiving phases
5200 Send message to phase; wait for response from one
receiver
5300 Cancel specific message sent to phase
5400 Cancel all messages
5500 Wait for message from phase
6000 Abort request
7001 Send electronic work instructions to operator
7100 Download user defined batch id
7200 Download batch serial number
7300 Download phase id
7400 Download batch node name
7500 Download fully qualified phase path
The PLI block coordinates requests between the Batch Execution System and the phase
logic. The PLI block receives the request and moves it to the batch tag <phasename>.RQ
if the request is valid. The PLI block then coordinates the request by processing
subsequent batch commands and confirming receipt of the commands by writing to the
batch tag <phasename>.RQ. The following diagram illustrates how requests are
processed by the PLI block.

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

Configuration Parameters - Inspector


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
Running Initial ISI[0] Read / First step in running state.
Step Index Write Default: 0.
Holding Initial ISI[1] First step in holding state.
Step Index Default: 0.
Restarting Initial INT INT ISI[2] First step in restarting state.
Step Index Range variables Default: 0.
Stopping Initial ISI[3] First step in stopping state.
Step Index Default: 0.
Aborting Initial ISI[4] First step in aborting state.
Step Index Default: 0.

71
Proficy Process Systems - Instructions

Hold on Fault HOF If Enabled and a fault occurs


while the phase is running or
restarting then the phase
automatically goes to holding
otherwise it will not.
Enabled Default: Disabled.
Clear Requests Disabled CR If Enabled all pending
BOOL requests will be cancelled
variables upon a transition to the
holding, aborting, or stopping
state.
Default: Disabled.
Re-initialize RE_INIT At runtime this parameter can
Yes
Phase be set to Yes to reinitialize
No
the phase to the Idle state.
Default: No.
Active State None ST Read (Read-Only.) The current
Aborting state.
Holding
Stopping
Restarting
Running
Held
Complete
Stopped
Aborted INT
Idle variables
Unit UN Read / (Read-Only.) The unit the
Write phase belongs to.
Default: 0.
Step Index INT SI (Read-Only.) The step index
Range of the phase.
Fault F (Read-Only.) Failure.
Request Tag RQ (Read-Only.)
Owner Batch W (Read-Only.) Owner.
External Read
Single Step Inactive SS (Read-Only.) Semi-
Mode Active BOOL Automatic Mode.
Pause Inactive variables P (Read-Only.)
Active
Paused Inactive PD (Read-Only.)
Active

72
Proficy Process Systems Logic

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 an operator console.
The internal member variable names are listed in the table below.
Member Valid Data
Name Settings Type Public Description
LS None INT Read Last active state.
Aborting variable Default: 0.
Holding
Stopping
Restarting
Running
Held
Complete
Stopped
Aborted
Idle
DRQ True BOOL DRQ is set to True when the Transfer of
False variable Control command is received by the PLI.
It indicates to the phase logic to request a
Read / download of parameters. DRQ can be
Write reset by phase logic. The PLI
automatically resets DRQ if it is still set
to True, when it enters the idle state.
Default: False.

73
Proficy Process Systems - Instructions

VC See WORD Batch Command Word.


description variable The high byte is a serial number.
The lower byte is the command.
PLI clears the lower byte after the
command is processed to signify that the
command has been received.
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
140 Request confirmed
150 Request
successfully
canceled
160 Request
unsuccessfully
canceled
170 Clear request
register

Default: 0.

Other Languages
PLI can also be used in LD and ST.
LD ST

74
Proficy Process Systems Logic

InstanceName(ER := , EC := , FL := , PSI := , PRQ := , PPD := , SB := , RC := ,


TC := , AC := , HC := , SC := , TN => , HD => , I => , R => , T => , A => , H =>
, S => , PR => );;

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

75
Proficy Process Systems - Instructions

Batch Watchdog (WDOG)

InstanceName Mnemonic:
WDOG

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

EN Required Enable input. When set to Yes, WDOG solves. When


(FBD set to No, WDOG does not solve. When WDOG is
only.) BOOL not solving, the states of the variables within the
variable, bit block, are not changing, so no faceplate commands
reference in or time calculations will be performed. When re-
non-BOOL activated, the dT will be the difference between
variable enabled solves.
RST Optional Reset fault.
Default: No.

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

Configuration Parameters - Inspector


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
Timeout Period 1.0 REAL TP The frequency at which the
(Seconds) variable Batch Execution Server sets the
Watchdog to a value of 1.
Default: 60.0.
Allowable 1 UINT AF Read / The number of timeout periods
Failures through variable Write that must elapse without a
10 response from the Batch
Execution Server before a
communication fault is
indicated.
Default: 2.

Runtime Variables and Status - Inspector


Runtime variables can be viewed in the inspector while online with the controller.

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.

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 an operator console.
The internal member variable names are listed in the table below.
Member Valid Data
Name Settings Type Public Description
WD 0 INT Read Watch dog value.
1 Default: 0.
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.

Other Languages
WDOG can also be used in LD and ST.
LD ST

InstanceName(RST:= , FL => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

78
Proficy Process Systems Logic

Bit Operations (FBD)


(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Latch LATCH Defines an S-R (set-reset) latch according to the
LATCH Boolean truth table

79
Proficy Process Systems - Instructions

Latch (LATCH)

InstanceName Mnemonic:
LATCH

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Configuration Parameters - Inspector


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 Name Public Description

81
Proficy Process Systems - Instructions

Parameter Settings Type


Overriding R, Bool R_OVER_S Read / R: R overrides S.
Input S variable Write S: S overrides R.
Default: S.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Compare with Deadband (CMPDB)

InstanceName Mnemonic:
CMPDB

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

EN BOOL Enable input. When set to Yes, CMPDB solves.


(FBD variable, bit When set to No, CMPDB does not solve. When
only.) reference in CMPDB 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
Required
between enabled solves.
PV REAL The value of the process variable that is compared
variable against the configured limit.
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 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.

Configuration Parameters - Inspector


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
Relational , UINT EQN Greater Than or Equal:
Argument variable OP is set to Yes when PV
is Limit.
Read / Less Than or Equal: OP is
Write set to Yes when PV is
Limit.
Default: Greater Than or
Equal.

86
Proficy Process Systems Logic

Deadband 0.0 DB Default: 2.0.


Note: Set Deadband to avoid
output cycling.
REAL
Limit REAL variable LIMIT The values of the input
range PV and Limit are
compared.
Default: 50.0.

Other Languages
CMPDB can also be used in LD and ST.
LD ST
InstanceName(PV := , OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

87
Proficy Process Systems - Instructions

Compare Error with Deadband (CMPERDB)

InstanceName Mnemonic:
CMPERDB

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

EN BOOL Enable input. When set to Yes, CMPERDB solves.


(FBD variable, bit When set to No, CMPERDB does not solve. When
only.) reference in CMPERDB 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.
PV1, REAL The inputs whose difference is compared against the
PV2 Required variables configuration parameter Limit.
Defaults: 0.0.
Notes

PV1 and PV2 cannot be constants.

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.

Configuration Parameters - Inspector


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

90
Proficy Process Systems Logic

Relational Inequality, UINT EQN Inequality: OP is set


Argument Equality variable to Yes when PV1
and PV2 are not
equal.
Equality: OP is set
to Yes when PV1
and PV2 are equal.
Read /
Default: Inequality.
Write
Deadband 0.0 DB Default: 1.0.
Note: Set Deadband to avoid
REAL output cycling.
variable
Limit REAL LIMIT The Limit that the error is
range compared against.
Default: 5.0.

Other Languages
CMPERDB can also be used in LD and ST.
LD ST
InstanceName(PV1 := , PV2 := , OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Simulate SIMULATE Approximates a dynamic process model to


simulate and analyze control strategies
Split Range SPLITRANGE Manipulates two process devices by means of a
single PID loop

93
Proficy Process Systems - Instructions

Adapt (ADAPT)
InstanceName
Mnemonic:
ADAPT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

KD Derivative time (minutes).


Default: 0.0.

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.

Configuration Parameters - Inspector


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
Rate Limit 0.0 REAL MROC Maximum rate of change per
(Per Minutes) variable minute for the selected parameters
that are rate limited.
Default: 1.0.
Rate Limit KP RLO[0] Read / Enable rate limiting of KP.
Write Default: No.
Rate Limit KI No BOOL RLO[1] Enable rate limiting of KI.
Yes variable Default: No.
Rate Limit KD RLO[2] Enable rate limiting of KD.
Default: No.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

96
Proficy Process Systems Logic

Deadtime (DEADTIME)

InstanceName Mnemonic:
DEADTIME

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

PV REAL Process variable copied to the first bucket (position)


variable in the buffer.
Note: PV cannot be a constant.

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.

Configuration Parameters - Inspector


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
Buffer Size 0 through UINT BUFFER The number of positions
20 variable (buckets) in the buffer
(bucket brigade).
Read / Default: 0.
Write
Note: If Buffer Size is set to a value
greater than 20, then Buffer Size is
set to 20.

98
Proficy Process Systems Logic

Execution Greater REAL DLY The maximum execution


Period than or variable period of the DEADTIME
(Seconds) equal to block in seconds. Execution
0.0 Period can have the
following values:
0.0: DEADTIME
executes every scan.
Greater than 0.0:
DEADTIME executes
after x.x seconds,
where x.x is the value
of Execution Period.
Default: 0.0.
Note: If Execution Period is set to a
value 0.0, then Execution Period
is set to 0.0.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

99
Proficy Process Systems - Instructions

Function (FUNCTION)

InstanceName Mnemonic:
FUNCTION

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Configuration Parameters - Inspector


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 Member
Parameter Settings Data Type Name Public Description
X(0) through X Functions array of
X(14) One-dimensional independent variables
REAL
REAL arrays of
Y(0) through range
15 real variables Y Functions array of
Y(14) Read / dependent variables
Precision 5 points UINT variable PRECISION Write Number of points or X,
10 Y pairs to define the
points function.
15 Default: 5 points.
points

Other Languages
FUNCTION can also be used in LD and ST.
LD ST
InstanceName(PV := , OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

102
Proficy Process Systems Logic

Lead or Lag (LEADLAG)

InstanceName Mnemonic:
LEADLAG

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Lead Time LEAD Value of the LEAD


(Seconds) Time in the LEADLAG
transfer function.
Greater than
Default: 0.0.
or equal to
Lag Time 0.0 LAG Value of the LAG Time
(Seconds) in the LEADLAG
transfer function.
Default: 0.0.

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

Example 2: Feedforward Control


Steam is fed to an oil heater to control the outgoing oil temperature. The PID block
provides feedback control by using the outgoing oil temperatures as its process variable.
The LEADLAG block provides feedforward control by using the incoming oil
temperature as its process variable.

Other Languages
LEADLAG can also be used in LD and ST.

106
Proficy Process Systems Logic

LD ST
InstanceName(PV := , OVR := , OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

107
Proficy Process Systems - Instructions

Proportional Integral Derivative Advanced (ADV_PID)


Examples: Override | Adapt | Cascade Control
InstanceName
Mnemonic:
ADV_PID

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Configurable algorithm type (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
Derivative filtering to reject high frequency measurement noise

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

KP is the proportional gain


KI is the integral reset
KD is the derivative time
Transforming the series algorithm into the Laplace domain yields:

where s is the Laplace variable.


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 KDN. With the application of
derivative filtering, the series algorithm is expressed as:

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:

where s is the Laplace variable.


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 KDN. With the application of
derivative filtering, the parallel algorithm is expressed as:

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.

Setpoint Command Word


The setpoint command word (SCW) enables the logic to dictate whether the Setpoint
Source (local or remote) is selectable from the faceplate and Property Inspector, locked

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.

Mode Command Word


The mode command word (MCW) enables the logic to dictate whether the ADV_PID
block mode (manual or automatic) is selectable from the faceplate, locked into manual, or
locked into automatic. The data type of this input is an unsigned integer and has three
valid settings:
0: controller mode is selectable from the faceplate or Inspector.
1: controller mode is manual and cannot be changed from the faceplate or
Inspector.
2: controller mode is automatic and cannot be changed from the faceplate or
Inspector.
If the MCW input is a value 2, the controller mode defaults to selectable from the
faceplate or Inspector.

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.

HI/LO Dynamic Clamping


The HI and LO inputs can be used to clamp the output to values within the range of the
configuration parameters OP Minimum and OP Maximum. The clamps are applied only
when in automatic mode. If output tracking or manual mode is active, the clamps are

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

Note: In the above diagram and for this application:

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.

Modifications to the Basic Control Strategy


The secondary controller manually manipulates the valve. When the secondary controller
is in manual mode, the primary controller tracks the secondary process variable.
When the secondary controller is operating in local setpoint mode, the primary controller
tracks the local setpoint of the secondary controller.
The best mechanism to prevent windup in the primary controller upon secondary
controller saturation is to use the external reset feedback in the primary controller. That
is, the primary controller receives integral feedback from the secondary process variable.
This enables variations in the dynamics of the secondary loop to vary the rate of
integration of the primary controller. This greatly increases robustness.
Implementing these modifications has the following impact on the above cascade control
strategy.

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

EN BOOL Enable input. When set to Yes, ADV_PID solves.


(FBD variable, Bit When set to No, ADV_PID does not solve. When
only.) reference in ADV_PID not solving, states of variables within the
non-BOOL block are not changing, so no faceplate commands or
variable time 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, you place ADV_PID in manual
mode.
PV REAL variable Process Variable for the PID calculation.
Note: PV cannot be a constant.
FF Optional Feedforward signal.
Default: 0.0.
ATS REAL Three element array containing the adaptive tuning
variables or gains. The SCHEDULER or ADAPT block usually
constants writes to this input.
Default: 0.0.
RSP 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.
UINT Default: 0.
SCW 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 Output Tracking Switch.
variable Default: No.
TR REAL variable Output Tracking Reference.
or constant Default: 0.0.
ESW BOOL variable External Reset Switch.
Default: 0.
ER REAL External Reset Reference.
variables or Default: 0.0.

121
Proficy Process Systems - Instructions

HI variables or High clamp.


constants Default: 100.0.
LO Low clamp.
Default: 0.0.

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.

Configuration Parameters - Inspector


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
Algorithm Type Series UINT TYPE Read / PID Algorithm.
Parallel variable Write Default: Series.

122
Proficy Process Systems Logic

Execution Period 0.0 REAL EX Period between block


(Seconds) Execution variable executions. If set to 0.0,
Period the block executes each
300.0 time it is called.
Default: 0.0.
Initialization Mode = UINT INIT ADV_PID block instance
Manual OP = variable initialization after a
Initial Value, Controller hardware stop-
Mode = to-run transition or a
Manual OP = power cycle.
Retentive, Default: Mode = Manual,
Mode = Auto OP = Initial Value.
OP = Initial
Value,
Mode = Auto
OP =
Retentive,
Mode =
Retentive OP
= Initial
Value,
Mode =
Retentive OP
= Retentive
OP Initial Value REAL range REAL OP_INIT ADV_PID block's initial
variable output if the configuration
parameter Initialization is
set to use it.
Default: 0.0.
Direction Reverse BOOL DIR Direction of the
Acting, variable ADV_PID output in
Direct Acting response to process
variable changes.
Reverse Acting (default):
Error = SP - PV.
Direct Acting: Error = PV
- SP.
Proportional Gain 0.0 REAL KP Proportional Gain in
variable Outputs Engineering
Units / Process Variables
Engineering Units.
Default: 1.0.

123
Proficy Process Systems - Instructions

Adaptive Enabled BOOL AT[0] If enabled, and the ATS


Proportional Gain Disabled array input is defined with an
variable argument, the value for
element the proportional gain
comes from the Adaptive
Tuning Structure (ATS),
otherwise the value is
defined in the faceplate or
Inspector.
Default: Disabled.
Integral Reset 0.0 REAL KI Amount of repeats of the
(Repeats/Minutes) variable error signal or
proportional + derivative
term depending on
selected algorithm type
added to or subtracted
from the ADV_PID
output over time to
eliminate steady state
errors.
Default: 1.0.
Adaptive Integral Enabled BOOL AT[1] If enabled, and the ATS
Reset Disabled array input is defined with an
element argument, the value for
variable the integral reset comes
from the Adaptive Tuning
Structure (ATS),
otherwise the value is
defined in the faceplate or
Inspector.
Default: Disabled.
Derivative Based On BOOL DE Determines whether the
On Off variable derivative is calculated
from the time rate of
change of the process
variable or error.
Default: Off.

124
Proficy Process Systems Logic

Derivative Time 0.0 REAL KD Time in the future that the


(Minutes) variable derivative term estimates
the process variable's
value from the process
variable's current slope.
This estimation is
included in the blocks
output to provide lead
compensation.
Default: 0.2.
Adaptive Enabled BOOL AT[2] If enabled, and the ATS
Derivative Time Disabled array input is defined with an
element argument, the value for
variable the derivative comes from
the Adaptive Tuning
Structure (ATS),
otherwise the value is
defined in the faceplate or
Inspector.
Default: Disabled.
Derivative Filter 8.0 through REAL N Scales the derivative filter
Parameter 20.0 variable time constant to be a
fraction of the Derivative
Time (Minutes).
Typically, the time
constant of the filter is set
to 0.1 of the Derivative
Time (Minutes).
Default: 10.0.
Setpoint Tracking Disabled, BOOL pcv_TSW No Internal track switch.
Enabled variable When set to enabled, the
setpoint tracks the process
variable in manual and
output tracking mode.
Default: Disabled.
Setpoint Filter 0.0 SF Smoothes out stepwise
Time (Seconds) REAL changes to the setpoint to
Read /
variables Write reduce derivative kick and
proportional jump.
Default: 0.0 seconds.
PV Minimum PN PV's minimum value.
REAL range Note: This value becomes the
minimum value of the setpoint.
Default: 0.0.

125
Proficy Process Systems - Instructions

PV Maximum PX PV's maximum value.


Note: This value becomes the
maximum value of the setpoint.
Default: 100.0.
OP Minimum ON ADV_PID output
minimum value.
Default: 0.0.
OP Maximum OX ADV_PID output
maximum value.
Default: 100.0.

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector while online.
The runtime variable and status information in the Inspector are listed in the table below.
Runtime
Variable Valid
and Status Settings Description
Current Current error in PID algorithm.
Error Default: 0.0.
Actual Exe. Actual time between ADV_PID block executions.
Period Default: 0.0.
(Seconds)
Active Current mode of ADV_PID block:
Mode Manual (default)
Automatic
Setpoint Source for the setpoint:
Source Local (default)
Read-Only Remote
SP Status Indicates whether the setpoint is currently tracking PV.
Tracking Information Default: No.
PV
OP Indicates whether the output is currently tracking the tracking
Tracking reference.
TR Default: No.
OP Indicates whether the output is saturated at the low end of the
Saturated OP span.
Low Default: No.
OP Indicates whether the output is saturated at the high end of the
Saturated OP span.
High Default: No.

126
Proficy Process Systems Logic

Command Normal Command supports runtime interaction with an ADV_PID


Manual block instance. This command is relevant only when
Mode interacting with an ADV_PID block instance that is executing.
Automatic It can be issued only while online with the PACSystems. The
Mode command is issued upon selection and, if valid, changes the
Local state of the block. After the command has been processed by
Setpoint the block, it is reset to None.
Remote Available commands:
Setpoint Command FC Description
Normal 0 No active commands
Manual 1 Activates manual mode
Mode
Automatic 2 Activates automatic mode
Mode
Local 3 Sets the source for the
Setpoint setpoint to Local
Remote 4 Sets the source for the
Setpoint setpoint to Remote
Default: Normal.
Setpoint Local setpoint command.
Default: 50.0.
REAL range
Manual OP Manual mode output command.
Command Default: 0.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
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: ADV_PID
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
PV Engineering Engineering units displayed with PV 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.

127
Proficy Process Systems - Instructions

OP Engineering Engineering units displayed with OP on the operator consoles


Units Default: %
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 8 characters.
OP Pushbutton Rate The rate at which the output increments/decrements in local mode
when clicking on the "Adjust OP" faceplate button
Default: 1
Valid Setting: >0
SP Pushbutton Rate The rate at which the setpoint increments/decrements in local mode
when clicking on the "Adjust SP" faceplate button.
Default:1
Valid Setting >0
Animation The percentage of the full range of OP that must be exceeded by
Threshold (%) OP to Indicate that the Valve/Damper is open.
Default: 1
Valid Setting: >=0
PV and SP Number of digits displayed to the right of the decimal point for PV
Precision and SP.
Default: 1
Valid Setting: 0, 1, 2, 3
OP Precision Number of digits displayed to the right of the decimal point for OP.
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 (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

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
The table below displays the Ethernet Global Data (EGD) associated with an ADV_PID block.
System Exchange: #ADV_PID
System Block Identifier: O0A
Default Produced Period: 200 milliseconds.
Member Number of
Configuration Parameter Data Type Name Public Bytes
Process Variable Indication REAL PI (PV value) Read 4
controller2 Output variables OP No 4
UINT Read /
Faceplate Command variable FC Write 2
DWORD
Faceplate Status variable ST Read 4
Proportional Gain KP 4
Integral Reset REAL KI 4
Derivative Time variables KD 4
Setpoint Command SC 4
UINT Read /
Setpoint Tracking Selector variable SK Write 2
PV Minimum PN 4
PV Maximum REAL PX 4
OP Minimum variables ON 4
OP 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.

129
Proficy Process Systems - Instructions

Member Valid Data


Name Settings Type Public Description
PI REAL REAL Read PV value.
range variable Default: 0.0.
FC UINT UINT Read / Faceplate Command.
range variable Write Default: 0.
ST DWORD DWORD Read Status word. State of ADV_PID block from
range variable Faceplate Command FC.
Bit Description
x[0] and pcv_MODE =
x[1] 0 1 2
0 0 1
0 1 0
x[2] Tracking switch (TSW)
x[3] MCW =
through 0 1 2 undefined
x[5] 1 0 0 0
0 1 0 0
0 0 1 0
x[6] Connection status of input
MCW
x[7] and R=
x[8] 0 1
1 0
0 1
x[9] Setpoint Tracking state
(active/not active)
x[10] SCW =
through 0 1 2 undefined
x[12] 1 0 0 0
0 1 0 0
0 0 1 0
x[13] Connection status of input
SCW
x[14] Direction.
Reverse Direct
Acting Acting
0 1
x[15] Connection status of input

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

InstanceName(PV := , FF := , ATS := , RSP := , MCW := , SCW := ,TSW := , TR := ,


ESW := , ERT := , HI := , LO := , A => , SH => , SL => , R => , ERR => , SP => , OP
=> );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

132
Proficy Process Systems Logic

Proportional Integral Derivative (PID)


InstanceName
Mnemonic:
PID

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Derivative filtering to reject high frequency measurement noise.

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

where s is the Laplace variable.

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

where s is the Laplace variable.


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 parallel algorithm is expressed as

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

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 PID block by
means of the FF input. The FF input must be in the same physical units as the PID output.

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.

Setpoint Command Word


The setpoint command word (SCW) enables the logic to dictate whether the setpoint
source (local or remote) is selectable from both the faceplate and Property Inspector,
locked 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.

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.

Mode Command Word


The mode command word (MCW) enables the logic to dictate whether the PID block
mode (manual or automatic) is selectable from the faceplate, locked into manual, or
locked into automatic. The data type of this input is an unsigned integer and has three
valid settings:
0: Controller mode is selectable from the faceplate or Inspector.
1: Controller mode is manual and cannot be changed from the faceplate or
Inspector.
2: Controller mode is automatic and cannot be changed from the faceplate or
Inspector.
If the MCW input assumes a value 2, the Controller mode defaults to 0: selectable from
the faceplate or Inspector.

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.

HI/LO Dynamic Clamping


The HI and LO inputs can be used to clamp the output to values within the range of the
configuration parameters OP Minimum and OP Maximum. The clamps are applied only
when in automatic mode. If output tracking or manual mode is active, the clamps are
ignored and the output can be set to any value within the range of OP Minimum and OP
Maximum.

138
Proficy Process Systems Logic

Bumpless Proportional Tuning


The PID block immediately applies changes to the proportional gain to the PID
calculation, but unlike most positional algorithms, it does so in a bumpless manner. That
is; the output of the PID block bumplessly reacts to changes in the proportional gain.

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.

PV REAL variable Process variable for PID calculation.


Note: PV cannot be a constant.

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.

Configuration Parameters - Inspector


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
Algorithm Type Series UINT TYPE Read / PID Algorithm.
Parallel variable Write Default: Series.
Execution Period 0.0 REAL EX The period between block
(Seconds) Execution variable executions.
Period Default: 0.0.
300.0

140
Proficy Process Systems Logic

Initialization Mode = UINT INIT PID function block


Manual OP variable instance initialization after
= Initial a Controller hardware
Value, stop-to-run transition or a
Mode = power cycle.
Manual OP Default: Mode = Manual,
= OP = Initial Value.
Retentive,
Mode =
Auto OP =
Initial
Value,
Mode =
Auto OP =
Retentive,
Mode =
Retentive
OP = Initial
Value,
Mode =
Retentive
OP =
Retentive
OP Initial Value REAL REAL OP_INIT PID block's initial output
range variable if the configuration
parameter Initialization is
set to use it.
Default: 0.0.
Direction Reverse BOOL DIR Reverse Acting:
Acting, variable Error SP - PV
Direct Direct Acting:
Acting Error PV - SP
Default: Reverse Acting.
Proportional Gain KP Proportional Gain =
REAL Outputs Engineering
0.0 Units / Process Variables
variables
Engineering Units.
Default: 1.0.

141
Proficy Process Systems - Instructions

Integral Reset KI The amount of repeats of


(Repeats/Minutes) the error signal or
proportional term that is
added to or subtracted
from the PID output over
time to eliminate steady
state errors.
Default: 1.0.
Derivative Time KD The time in the future that
(Minutes) the derivative term will
estimate the process
variable's value from the
process variable's current
slope.
Default: 0.2.
Derivative Filter 8.0 through N Scales the derivative filter
Parameter 20.0 time constant to be a
fraction of the Derivative
Time (Minutes).
Typically, the time
constant of the filter is set
to 0.1 of the Derivative
Time (Minutes).
Default: 10.0.
Setpoint Tracking Disabled, BOOL pcv_TSW No Internal track switch.
Enabled variable When set to enabled, the
setpoint tracks the process
variable in manual and
output tracking mode.
Default: Disabled.
Setpoint Filter 0.0 SF Smoothes out stepwise
Time (Seconds) REAL Read / changes to the setpoint to
variables Write reduce derivative kick.
Default: 0.0 seconds.
PV Minimum REAL PN Process variable's
range minimum value.
Default: 0.0.
PV Maximum PX Process variable's
maximum value.
Default: 100.0.
OP Minimum ON PID output minimum
value.
Default: 0.0.

142
Proficy Process Systems Logic

OP Maximum OX PID output maximum


value.
Default: 100.0.

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector while online.
The runtime variable and status information in the Inspector are listed in the table below.
Runtime
Variable Valid
and Status Settings Description
Current Current error used in the PID algorithm.
Error Default: 0.0.
Actual Exe. Actual time between PID block executions.
Period Default: 0.0.
(Seconds)
Active Mode Current mode of PID block:
Manual (default)
Automatic
Setpoint Source for the setpoint:
Source Local (default)
Read-Only Remote
Status
SP Tracking Information Indicates whether the setpoint is currently tracking PV.
PV Default: No.
OP Tracking Indicates whether the output is currently tracking the
TR tracking reference.
Default: No.
OP Saturated Indicates whether the output is saturated at low end of the
Low OP span.
Default: No.
OP Saturated Indicates whether the output is saturated at high end of the
High OP span.
Default: No.
Command None Command supports runtime interaction with a PID function
Manual Mode block instance. This command is relevant only when
Automatic interacting with a PID block instance that is executing. It
Mode can be issued only while online to the PACSystems. The
Local command is issued upon selection and if valid, changes the
Setpoint state of the block. After the command has been processed
Remote by the PID block, it is reset to None.
Setpoint Commands:
None: No active commands.

143
Proficy Process Systems - Instructions

Manual Mode: Activates manual mode.


Automatic Mode: Activates automatic mode.
Local Setpoint: Sets the source for the setpoint to
Local.
Remote Setpoint: Sets the source for the setpoint to
Remote.
Default: None.
Setpoint Local setpoint command.
Default: 50.0.
REAL range
Manual OP Manual mode output command.
Command Default: 0.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
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: PID
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 12 characters
PV Engineering Engineering units displayed with PV 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.
OP Engineering Engineering units displayed with OP on the operator consoles
Units Default: %
Valid characters: Alphabetic characters (lowercase and uppercase),
SPACE, and the following non-alphanumeric characters: _ ! # $ %
()*+,-./=@\^
Maximum length: 8 characters.
OP Pushbutton Rate The rate at which the output increments/decrements in local mode
when clicking on the "Adjust OP" faceplate button
Default: 1
Valid Setting: >0
SP Pushbutton Rate The rate at which the setpoint increments/decrements in local mode
when clicking on the "Adjust SP" faceplate button.
Default:1

144
Proficy Process Systems Logic

Valid Setting >0


Animation The percentage of the full range of OP that must be exceeded by
Threshold (%) OP to Indicate that the Valve/Damper is open.
Default: 1
Valid Setting: >=0
PV and SP Number of digits displayed to the right of the decimal point for PV
Precision and SP.
Default: 1
Valid Setting: 0, 1, 2, 3
OP Precision Number of digits displayed to the right of the decimal point for OP.
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.
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

x[2] Tracking switch (TSW)


x[3] MCW =
through 0 1 2 undefined
x[5] 1 0 0 0
0 1 0 0
0 0 1 0
x[6] Connection status of input MCW
x[7] R=
and 0 1
x[8] 1 0
0 1
x[9] Setpoint Tracking state
(active/not active)
x[10] SCW =
through 0 1 2 undefined
x[12] 1 0 0 0
0 1 0 0
0 0 1 0
x[13] Connection status of input SCW
x[14] Direction.
Reverse Direct
Acting Acting
0 1
x[15] Connection status of input RSP
x[16] Type =
and 0 1 undefined
x[17] 1 0 0
0 1 0
x[18] Not used
x[19] Setpoint tracking switch
x[20] Not used
through
x[31]
Default: 0.
SC REAL REAL Controller setpoint command. If R enabled, then
range variable Read / SC = RSP; otherwise, if Setpoint Tracking
Write enabled, then SC = PV.
Default: 50.0.

147
Proficy Process Systems - Instructions

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.

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

InstanceName(PV := , FF := , RSP := , MCW := , SCW := , TSW := , TR := , HI := ,


LO := , A => , SH => , SL => , R => , ERR => , SP => , OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

149
Proficy Process Systems - Instructions

Override (OVERRIDE)
InstanceName
Mnemonic:
OVERRIDE

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

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 = Min(IN1, IN3)
defined ESW2 = False
ESW1 = True if OP IN1;
otherwise, False
ESW3 = True if OP IN3;
otherwise, False
Defined Defined Not defined OP = Min(IN1, IN2)
ESW3 = False
ESW1 = True if OP IN1;
otherwise, False
ESW2 = True if OP IN2;
otherwise, False
Defined Defined Defined OP = Min(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 Maximum.
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 = Max(IN2, IN3)
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 = Max(IN1, IN3)
defined ESW2 = False
ESW1 = True if OP IN1;

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

Defined Defined Defined OP = Median(IN1, IN2, IN3)


ESW1 = True if OP IN1;
otherwise, False
ESW2 = True if OP IN2;
otherwise, False
ESW3 = True if OP IN3
otherwise False
Note: If the input parameter value is 3.402823466x1038 or -3.402823466x1038, then the input is set to
Not defined.

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

ESW1 ESW1 is fed back to the ESW input of the


upstream ADV_PID block associated with
IN1. ESW1 is set to True when IN1 is not
selected. If the state of ESW1 is True, then it
externally resets the integral term of the
ADV_PID associated with IN1 from the value
of OP.
Default: False.
ESW2 ESW2 is fed back to the ESW input of the
upstream ADV_PID block associated with
IN2. ESW2 is set to True when IN2 is not
BOOL selected. If the state of ESW2 is True, then it
variables externally resets the integral term of the
ADV_PID associated with IN2 from the value
of OP.
Default: False.
ESW3 ESW3 is fed back to the ESW input of the
upstream ADV_PID block associated with
IN3. ESW3 is set to True when IN3 is not
selected. If the state of ESW3 is True, then it
externally resets the integral term of the
ADV_PID associated with IN3 from the value
of OP.
Default: False.

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 => );

Refer to the above diagram:

156
Proficy Process Systems Logic

???? (LD only; required): Structure variable. Instance data of a block.

157
Proficy Process Systems - Instructions

Pulse Width Modulator (PWM)

InstanceName Mnemonic:
PWM

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Split Range Mode

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.

Single Range Mode


The single range mode generates only one pulsed output OP. The control variable u1(CV)
for the single range mode is displayed below.

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.

Pulse Cycle PULSE_CYCLE Number of seconds


(seconds) that elapses between
Read / pulses.
0.0 through Write Default: 30.0.
8,388,607.0
Minimum Pulse MPD Minimum Pulse
Width (Seconds) Width of Outputs
Default: 0.0.
Output Range Split Range UINT MODE Default: Split Range
Single Range variable
Split Range REAL range BP Breakpoint between
Break Point region 1 and region 2.
Default: 50.0.
REAL
Split Range 0.0 through variables DB Deadband region
Deadband 8,388,607.0 around the Split
Range Break Point.
Default: 4.0.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

163
Proficy Process Systems - Instructions

Ramp/Soak (RAMPSOAK20)

InstanceName Mnemonic:
RAMPSOAK20

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Segment 1 Soak 0.0 SK[0] Ten profile 'Soak


Time . Time' values in
.
. .
minutes.
. SK[9] Default: 0.0.
.
Segment 10
Soak Time

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

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

169
Proficy Process Systems - Instructions

ST 0 Read Status word. State of RAMPSOAK20 block from


through Faceplate Command FC.
21 Status
State State Name Value
0 Idle 1
1 Equilibrium 2
2 Ramp Segment 4
1
3 Soak Segment 1 4
4 Ramp Segment 8
2
5 Soak Segment 2 8
6 Ramp Segment 16
3
7 Soak Segment 3 16
8 Ramp Segment 32
4
9 Soak Segment 4 32
10 Ramp Segment 64
5
11 Soak Segment 5 64
12 Ramp Segment 128
6
13 Soak Segment 6 128
UINT 14 Ramp Segment 256
variables 7
15 Soak Segment 7 256
16 Ramp Segment 512
8
17 Soak Segment 8 512
18 Ramp Segment 1024
9
19 Soak Segment 9 1024
20 Ramp Segment 2048
10
21 Soak Segment 2048
10

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

FC 0 Read / Faceplate Command.


through Write Value Command
4 0 None
1 SRT (Start)
2 ABT (Abort)
3 PSD (Paused)
4 4 (Resume)

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

172
Proficy Process Systems Logic

Rate Limit (RATELIMIT)


InstanceName
Mnemonic:
RATELIMIT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

UP Defines the maximum rate of change allowed in the


increasing direction. The value can change
dynamically.
Default: 0.0.
Note: If the UP input is not defined by an argument then the
REAL configuration parameter Maximum Increase defines the
variables or maximum allowable rate of change in the increasing direction.

DN constants Defines the maximum rate of change allowed in the


decreasing direction.
Default: 0.0.
Note: If the DN input is not defined by an argument then the
Optional configuration parameter Maximum Decrease defines the
maximum allowable rate of change in the decreasing direction.

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

Configuration Valid Data Member


Parameter Setting Type Name Public Description
Maximum Defines maximum allowable rate of
Increase change in the increasing direction if
the input UP is not defined.
REAL REAL Default: 0.0.
N/A No
Maximum range variables Defines maximum allowable rate of
Decrease change in the decreasing direction if
the input DN is not defined.
Default: 0.0.
Units Per Second UINT TBS Read / Time base for the Maximum Increase
Minute variable Write and Maximum Decrease
Hour configuration parameters.
Default: Minute.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

177
Proficy Process Systems - Instructions

Scheduler (SCHEDULER)

InstanceName Mnemonic:
SCHEDULER

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Configuration Valid Data Member


Parameter Settings Type Name Public Description
Number of 1 Read /
Scheduling through UINT Write
Regions 4 variable NUM_R Default: 2.
Breakpoint REAL BP1 Default: 25.0.
Between Region variables
1 and 2
Breakpoint BP2 Default: 50.0.
REAL
Between Region range
2 and 3
Breakpoint BP3 Default: 75.0.
Between Region
3 and 4
Breakpoint
Deadband 0.0 DB Default: 4.0.
KP for Region 1 KP1, The proportional gain KP , where p
KP for Region 2 KP2, represents regions 1 through 4.
KP for Region 3 KP3, KP for Region 1 (default:
KP for Region 4 KP4 1.0).
KP for Region 2 (default:
0.0
2.0).
KP for Region 3 (default:
3.0).
KP for Region 4 (default:
4.0).
KI for Region 1 KI1, The integral reset KI in repeats per
KI for Region 2 KI2, minute. i represents regions 1 through
KI for Region 3 KI3, 4.
KI for Region 4 KI4 KI for Region 1 (default:
1.0).
KI for Region 2 (default:
2.0).
KI for Region 3 (default:
3.0).
KI for Region 4 (default:
4.0).

180
Proficy Process Systems Logic

KD for Region 1 KD1, The derivative time KD in minutes. d


KD for Region 2 KD2, represents regions 1 through 4.
KD for Region 3 KD3, KD for Region 1 (default:
KD for Region 4 KD4 0.1).
KD for Region 2 (default:
0.2).
KD for Region 3 (default:
0.3).
KD for Region 4 (default:
0.4).
Maximum Rate MROC Maximum rate of change per
(Per Minute) minute allowed for a parameter if
its Rate Limit configuration is set
to Yes.
Default: 1.0.
Rate Limit KP RLO[0] If set to Yes, transitions between
Rate Limit KI RLO[1] scheduled integral resets are rate
Rate Limit KD RLO[2] limited by the configuration
parameter Maximum Rate. If set
No BOOL to No, the integral reset is
Yes variables changed immediately to the
newly scheduled value upon
transitions between scheduling
regions.
Default: No.

Runtime Variables and Status - Inspector


Runtime variables can be viewed in the inspector while online with the controller.
The runtime variables and status names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Parameter Valid Settings Public Description
Active Region 1 through 4 No (Read-only.)
Default: 1.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

182
Proficy Process Systems Logic

Signal (SIGNAL)

InstanceName Mnemonic:
SIGNAL

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

185
Proficy Process Systems - Instructions

Simulate (SIMULATE)

InstanceName Mnemonic:
SIMULATE

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Integrating Process Model


The SIMULATE function block can be used to set up a two parameter FOPDT model for
an integrating process. An integrating process is one in which an open loop steady state
cannot be achieved as shown by the following step response.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

190
Proficy Process Systems Logic

Split Range (SPLITRANGE)

InstanceName Mnemonic:
SPLITRANGE

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

CV end range is greater than the CV start range.


Optional
OP start range equals the OP end range.

Control variable input is NaN.

Note: When ENO is set to False the values of OP1 and OP2 do
not change from their last successful values.

OP1, REAL OP1 and OP2 are calculated as linear functions of CV


OP2 variables and clamped between the starting & ending ranges.

Configuration Parameters - Inspector


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
CV 1 Starting CV1_START Start range for the
Starting
Range REAL Read / control variable (CV)
range
variables Write corresponding to output
< variable 1 (OP1).
Default: 0.0.
Ending
CV 1 Ending range CV1_END End range for the
Range control variable (CV)
corresponding to output
variable 1 (OP1)
Default: 100.0.
OP 1 Starting OP1_START Start range for output
Starting
Range variable 1 (OP1).
range
Default: 0.0.
OP 1 Ending <> OP1_END End range for output
Range Ending variable 1 (OP1).
range Default: 100.0.

192
Proficy Process Systems Logic

CV 2 Starting CV2_START Start range for the


Starting
Range control variable (CV)
range
corresponding to output
< variable 2 (OP2).
Default: 0.0.
Ending
CV 2 Ending range CV2_END End range for the
Range control variable (CV)
corresponding to output
variable 2 (OP2)
Default: 100.0.
OP 2 Starting OP2_START Start range for output
Starting
Range variable 2 (OP2).
range
Default: 0.0.
OP 2 Ending <> OP2_END End range for output
Range Ending variable 2 (OP2).
range Default: 100.0.

Status 0,1,2,3 UINT ST The status of the Split


(Read Only) Range calculation
Good (0)
CV Out of
bounds (1)
Read CV
Configuration
error (2)
OP
Configuration
error (3)

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

When CV = 30 then OP1 = 14.29 and OP2 = 0.

Other Languages
SPLITRANGE can also be used in LD and ST.
LD ST
InstanceName(CV := , OP1 => , OP2 => , );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

HL When HL (hold) is set to Yes, the TOTALIZE block


maintains the values of its current outputs R and NR.
Default: No.
PV Required REAL Process variable for the TOTALIZE calculation.
variable
Notes

If the value of PV, is the value of the configuration


parameter Cutoff, then the totals do not increment.

If the value of PV is value of the configuration


parameter Cutoff, then the totals increment from the
value of PV.

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.

NR Non-resettable total. That is, the totalized


value of PV, over time since the last
rollover.
Note: If the value of NR is the value of Rollover,
then the value of NR is set to 0.0.

Configuration Parameters - Inspector


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.

197
Proficy Process Systems - Instructions

Configuration Valid Data Member


Parameter Settings Type Name Public Description
Rollover RO If the value of the
output R is the value
of Rollover, then the
value of R is set to 0.0.
If the value of the
output NR is the
Read / value of Rollover, then
Write the value of NR is set
to 0.0.
If the value of
Rollover is 0.0, the
REAL negative value is set to
0.0
variables 0.0.
Default: 99,999,999.0.
Cutoff CT Minimum (cutoff)
value that the input
process variable PV
must be before being
totaled.
If the value of Cutoff
is 0.0, the negative
value is set to 0.0.
Default: 0.0.
PV Units Per Minute UINT TB Process variable's time unit,
Second variable for example a flow rate given
Hour as cubic feet per minute has a
PV Units Per minute.
Default: Minute.
Execution 0.0 REAL EX Defines how often the
Period variable TOTALIZE function block
executes, in seconds.
Default: 0.0 seconds.

198
Proficy Process Systems Logic

Enable Faceplate Yes BOOL EN_FP Yes: Control through


Commands No variable the faceplate is
enabled.
No: control through
the faceplate is
disabled.
Default: Yes.
Note: If Enable Faceplate
Commands is set to No and FC is
set to a value 0, no action is
performed, and FC is set to 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
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

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

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
Name Settings Data Type Public Description

200
Proficy Process Systems Logic

ST 0 one- Read Status variable. State of the TOTALIZE


through dimensional block from the Faceplate Command FC.
4 BOOL array of Bit Description
16 BOOL x[0] Hold status
variables
x[1] Hold connected
x[2] Reset connected
x[3] Reset Status
x[4] Enable Faceplate
Command
x[5] through Not used
x[15]

FC 0 INT variable Read / Faceplate Command. When configuration


through Write parameter Enable Faceplate Commands is
3 set to Yes, the faceplate can perform holds
and resets by means of command variable
FC:
FC Action
value
0 None
1 Reset
2 Set hold*
3 Release
hold*
*If an input variable is connected to HL,
this overrides the hold on the faceplate.
Default: 0.
Notes

If Enable Faceplate Commands is set to


No and FC is set to a value 0, then no
action is performed and FC is set to 0.

After an action was performed, FC is set to


0.

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

InstanceName(RS := , HL := , PV := , R => , NR => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

203
Proficy Process Systems - Instructions

Data Move (FBD)


(For PACSystems firmware version 5.00 and later.)
Instruction Mnemonic Description
Bumpless XFER Performs a bumpless transfer from PV1 and PV2, or vice
Transfer versa, depending on the state of the input SW

204
Proficy Process Systems Logic

Bumpless Transfer (XFER)


InstanceName
Mnemonic:
XFER

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

EN BOOL Enable input. When set to Yes, XFER solves. When


(FBD variable, bit set to No, XFER does not solve. When XFER 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
the difference between enabled solves.
SW BOOL The state of the variable assigned to the input switch
variable SW determines the input value (of the variable
Required assigned to PV1 or PV2) that OP targets.
If SW is set to No (default), then OP targets
PV1.
If SW is set to Yes, then OP targets PV2.

Note: SW cannot be flow.

PV1, REAL Process variables. For details, see the SW parameter


PV2 variables above.
Note: PV1 and PV2 cannot be constants.

OVR Optional BOOL Override bumpless transfer.


variable If OVR is set to Off, then OP transfers to the
selected input in a bumpless manner.
If OVR is set to On, then OP immediately
tracks the selected input without bumpless
transfer.

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

Maximum REAL REAL RATE Maximum allowable rate of


Transfer Rate range variable change when transferring from
PV1 to PV2 or vice versa
specified in PV units per time
units.
Default: 1.0.
Read /
Write Note: Once the transfer between
PV1 and PV2 is complete, then OP
tracks the selected PV without any
rate limits imposed.

Units Per Second UINT TBS Time units used in Maximum


Minute variable Transfer Rate.
Hour Default: Minute.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

208
Proficy Process Systems Logic

Device Control (FBD)


(For PACSystems firmware version 5.00 and later.)
Device Control function blocks control and monitor two and three state devices, for
example, pumps, motors, and valves.
Instruction Mnemonic Description
Device DC2S Controls and monitors a two-state device, for
Control example, a pump, motor, solenoid valve, or similar
Two State device
Device DC3S Controls and monitors a three-state device, for
Control example, a bidirectional motor, two-speed motor,
Three State bidirectional agitator, conveyor, roll press, or
similar device
Interlock INTERLOCK Combines all interlocks for a two-state or three-
state discrete device into one master interlock.

209
Proficy Process Systems - Instructions

Device Control Two State (DC2S)

InstanceName Mnemonic:
DC2S

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

See also working with iFIX faceplates and CIMPLICITY faceplates.

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

Manual / Automatic Mode


The DC2S block operates in either manual or automatic mode:
Manual mode (default): The user controls the operation of the device through the
HMI faceplate:
Automatic mode: The input ARQ (automatic request for State 1) controls the
operation of the device. ARQ can be set to On or Off:
If ARQ is set to On, the device is commanded to State 1 (output OP is set to
On).
If ARQ is set to Off, the device is commanded to State 0 (output OP is set
to Off).
The input MCW (mode command word), is a variable that assumes one of three values:
If MCW = 0, then the mode is selected from the faceplate.
If MCW = 1, then the mode is locked into manual mode.
If MCW = 2, then the mode is locked into automatic mode.
In all cases, the device cannot enter automatic mode if one or more of the following
occurs:
There is no connection to the input ARQ.
The device is locked out.
The device is under maintenance.

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

PM0, State 0 and State 1 permissives respectively.


PM1 Defaults: Off.
INL Interlock.
Default: Off.
FFL Field fault.
Default: Off.
MCW UINT variable Mode command word.
0 - Faceplate selectable.
1 - Manual mode.
2 - Automatic mode.
Default: 0.
ARQ Automatic request.
Default: Off.
IFL Inhibit fault.
When set to On (True), DC2S does not create
any new faults, and the device remains in
operation. Previous faults are not affected.
BOOL When set to Off (False) or if no variable is
variables 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.
Default: Off.
LC The Local Mode input allows the user to pass a logic
driven local mode to an Operator Console.

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

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.

Configuration Parameters - Inspector


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 Data Member
Parameter Settings Type Name Public Description
Max Transition 0.0 Max REAL PT Maximum time
Time (Seconds) Transition variable allotted to the device
Time to transition from its
3,600.0 current State to the
commanded State.
Default: 30.0 seconds.
Initial Mode Manual INIT Device mode is
Automatic initialized to this mode
when the Controller
Read first starts running.
Default: Manual.
Failure Mode Device BOOL FLS_OPT Action to take upon a
forced to variables fault.
State 0 Default: Device forced
Device State to State 0.
not forced
Maintenance Disallow ENABLE_MT Enable maintenance
Operation Allow operation.
Default: Disallow.

Runtime Variables and Status - Inspector


Runtime variables can be viewed in the inspector while online to the Controller.
The runtime variables and status names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid Data
Parameter Settings Type Public Description

215
Proficy Process Systems - Instructions

Command None, Enables run-time interaction with a


Manual mode, DC2S block. Command is relevant
Automatic only when interacting with a DC2S
mode, block that is executing. It can be
Lock Out, issued only while online to the
Maintenance, Controller. Command is issued upon
Manual selection and if valid, changes the
Command to State of the DC2S block. Once the
State 0, command is processed by the DC2S
Manual block, it is set to None.
Command to None - No active commands
State 1, Manual Mode - Activates
Reset Fault manual mode
Automatic Mode - Activates
automatic mode
Lock Out - Locks out device
Maintenance - Activates
DWORD maintenance operation
No
variables Manual Command to State 0
Manual Command to State 1
Reset Fault
Default: None.
Operational Normal (Read-only.) Operational State of the
State Locked Out device.
Maintenance
Mode Manual (Read-only.) Mode of the device.
Automatic
Device State State 0 Active (Read-only.) Device State.
State 1 Active
Transitioning
to State 0
Transitioning
to State 1
Device Fault No (Read-only.) Indicates whether a fault
Active Yes is currently active.

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

Tag Label Descriptive text field displayed on the faceplate


Default: DC2S
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.

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

FP[0] DWORD Faceplate Status 4


FP[1] array of 3 Faceplate Command Read / 4
FP[2] DWORD Faceplate Status Write 4
variables
12 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.
There is one internal member variable for the DC2S Block. FP is a one- dimensional
DWORD array, consisting of 3 DWORD variables. the valid settings for this member
variable are within the DWORD range. The member variable's Public property is
Read/Write. >
FP[0] contains faceplate status:
FP[0] bits Description
x[0] Device Fault
x[1] Device mode.
x[2] Manual Automatic
1 0
0 1
x[3] Operational State.
x[4] Normal Locked out Maintenance
0 0 1
0 1 0
x[5] OP
x[6] OP0
x[7] OP1
x[8] Internal FB0
x[9] Internal FB1
x[10] Internal PM0
x[11] Internal PM1
x[12] Internal INL
x[13] Internal FFL
x[14] Internal Mode (MCW).
x[15] Faceplate
Selectable Manual Automatic Undefined
0 1 1 0
1 0 1 0
x[16] Internal CMD

218
Proficy Process Systems Logic

x[17] Internal INF


x[18] State 2 State 3
through (Transition to (Transition to
x[21] State 0 State 1 State 1) State 0)
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
x[22] INIT
x[23] Failsafe option
x[24] Enable Maintenance Operation
x[25] HMI Button Execution Condition State 1
x[26] HMI Button Execution Condition State 0
x[27] ARQ status
x[28] Not used
through
x[31]

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] Not used
x[7] Manual command State 0
x[8] Manual command State 1
x[9] Reset Fault
x[10] Not used
through
x[31]
FP[2] contains faceplate status:
FP[0] bits Description
x[0] Value of LC input
x[1] Value of LCA Output

219
Proficy Process Systems - Instructions

x[2] Not used


through
x[31]

Example

Other Languages
DC2S can also be used in LD and ST.
LD ST

220
Proficy Process Systems Logic

InstanceName(FB0 := , FB1 := , PM0 := , PM1 := , INL := , FFL := , MCW := , ARQ


:= , IFL := , FL => , A => , OP => , OP0 => , OP1 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

221
Proficy Process Systems - Instructions

Device Control Three State (DC3S)

InstanceName Mnemonic:
DC3S

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

See also working with iFIX faceplates and CIMPLICITY faceplates.

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.

Input Permissives (PMn)


DC3S has three permissives: PM0, PM1, and PM2, which correspond to each of the three
States: 0 (zero), 1, and 2. The permissive for the commanded State must be set to On
(True) to enable the transition to begin from the current State to the commanded State.
For example, to transition from State 1 to State 2, PM2 must be set to On.
When the transition begins, the permissive no longer affects the device transition. For
example, if a device begins to transition to State 2, and then the permissive PM2 is set to
Off (False), the device continues to transition to State 2.
Exceptions
If an interlock occurs, then PM0 is ignored.
If DC3S is configured to go to its de-energized State or failsafe State,
State 0 on a fault, then PM0 is ignored.
Default: On (True).

Input Interlock INL


When INL is set to On (True), then the device immediately begins to transition to its de-
energized State or failsafe State, State 0. The device cannot be commanded to another
State until INL is set to Off (False). Default: Off (False).

Input Field Fault FFL


If the device has an output signal fault, then the signal can be wired to the I/O and
assigned to this input. If FFL is set to On (True), then DC3S faults and its fault output FL
is set to On. DC3S can be configured to transition to its de-energized State or failsafe
State, State 0. When a fault has occurred, then the device cannot be commanded to
another State until the fault has been cleared.
For example, a motor may have an over-temperature output. If this signal is assigned to
FFL, and if FFL is then set to On, a fault occurs. If DC3S is configured to go to the

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

Input Mode Command Word MCW


MCW accepts an unsigned integer that determines the mode of the device.
0: Enables the device mode to be set from the device faceplate in the SCADA
system or from Engineering Workstation when online to the Controller.
1: The device is placed in manual mode and cannot be changed by the operator by
means of the SCADA system.
2: The device is placed in automatic mode and cannot be changed by the operator
by means of the SCADA system.
Any other value or no variable is assigned to MCW: The MCW value is set to 0.

Input Automatic Request ARQ


ARQ accepts an unsigned integer that commands the State of the device only when DC3S
is in automatic mode.
If the value of ARQ is 0, 1, or 2, and DC3S is in automatic mode, then the device
is immediately commanded to the corresponding State (0, 1, or 2).
If the value of ARQ is not 0, 1, or 2, then ARQ is ignored and the device remains
in its current State.

Input Inhibit Fault IFL


IFL accepts a BOOL value.
When set to On (True), DC3S 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 Local Mode LC


LC accepts a BOOL value.
The Local Mode input allows the user to pass a logic driven local mode to an Operator
Console

Outputs
Output Device Fault FL
FL is set to On (True) upon a fault.

Output Automatic Mode Active A


A is set to On (True) when the device is in automatic mode.
A is set to Off (False) when the device is in manual mode.

225
Proficy Process Systems - Instructions

Outputs State (Sn)


The DC3S block has three steady State BOOL outputs: S0, S1, and S2, which correspond
to each of the three States: 0 (zero), 1, and 2. These outputs are normally assigned to I/O
points that need to be set to On (True) constantly to keep the device in the active State.
Only one of these three outputs can be set to On at one time; the other two outputs are set
to Off (False). The output for current State is immediately set to Off when the device is
commanded to another State. The output destination State is immediately set to On when
the device begins to transition to the new State.

Outputs Momentary (OPn)


DC3S has three momentary pulse BOOL outputs: OP0, OP1, and OP2, which correspond
to each of the three States: 0 (zero), 1, and 2. These outputs are used instead of the steady
State outputs for physical devices that need to be energized only during transition to a
new State, and not energized to keep the device in that State. A momentary pulse is set to
On (True) when the device begins to transition to a commanded State. The momentary
pulse normally remains set to On until the device has transitioned to the new State when
input feedbacks are used or the maximum configurable transition time has elapsed.
Unlike the steady State output, these outputs are set to Off (False) on a fault condition to
protect the physical device.

Outputs Local Mode Active (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.

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

No variable is assigned to ARQ.


The device is locked out.
The device is in maintenance mode.
The device is faulted.

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

The input inhibit fault IFL is set to On.


If the configuration parameter Failure Mode is set to Device State not forced, then:
The output fault FL is set to On, which indicates a fault.
The device is not commanded to its de-energized State or failsafe State, State 0.

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

IFL Inhibit fault.


When set to On (True), DC3S 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
BOOL variable 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.
Default: Off (False).
LC The Local Mode input allows the user to pass a
logic driven local mode to an Operator Console.

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.

Configuration Parameters - Inspector


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 Data Member
Parameter Settings Type Name Public Description

229
Proficy Process Systems - Instructions

Max Transition 0.0 Max REAL PT Maximum time


Time (Seconds) Transition variable allotted to the device
Time to transition from its
3,600.0 current State to the
commanded State.
Default: 30.0 seconds.
Initial Mode Manual UINT INIT Device mode is
Automatic variable initialized to this
mode when the
Read / Controller first starts
Write running.
Default: Manual.
Failure Mode Device FLS_OPT Action to take upon a
Forced to fault.
State 0 Default: Device
Device State BOOL Forced to State 0.
not Forced variables
Maintenance Disallow ENABLE_MT Enable maintenance
Operation Allow operation.
Default: Disallow.

Runtime Variables and Status - Inspector


Runtime variables can be viewed in the Inspector while online to the Controller.
The runtime variables and status names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Data
Parameter Valid Settings Type Public Description

230
Proficy Process Systems Logic

Command None, Enables run-time interaction


Manual Mode, with the DC3S block.
Automatic Mode, Command is relevant only
Lock Out, when interacting with a DC3S
Maintenance, block that is executing. It can
Deactivate be issued only while online to
Lockout/Maintenance, the Controller. Command is
Manual Command to issued upon selection and if
State 0, valid, changes the State of the
Manual Command to DC3S block. Once the
State 1, command is processed by the
Manual Command to DC3S block, it is set to None.
State 2, None - No active
Reset Fault commands
Manual Mode -
Activates manual mode
Automatic Mode -
Activates automatic
DWORD mode
No
variables Lock Out - Locks out
device
Maintenance -
Activates maintenance
operation
Deactivate
Lockout/Maintenance -
Deactivates Lock Out
and Maintenance
operations
Manual Command to
State 0 - De-energized
State or failsafe State
Manual Command to
State 1
Manual Command to
State 2
Reset Fault
Default: None.
Operational Normal (Read-only.) Device
State Locked Out operational State.
Maintenance Default: Normal.

Mode Manual (Read-only.) Device mode.


Automatic Default: Manual.

231
Proficy Process Systems - Instructions

Device State State 0 Active (Read-only.) Device State.


Transitioning to State Default: State 0 Active.
0
State 1 Active
Transitioning to State
1
State 2 Active
Transitioning to State
2
Device Fault No (Read-only.) Indicates whether
Active Yes a fault is currently active.
Default: No.

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

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

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.
There is one internal member variable for the DC2S Block. FP is a one- dimensional
DWORD array, consisting of 3 DWORD variables. The valid settings for this member
variable are within the DWORD range. The member variable's Public property is
Read/Write.
FP[0] contains faceplate status:

233
Proficy Process Systems - Instructions

FP[0] bits Description


x[0] FL
x[1] A
x[2] not A
x[3] Operational State.
x[4] Normal Locked out Maintenance
0 0 1
0 1 0
x[5] Determine which 3 buttons are enabled depending on different block
x[6] States
x[7]
x[8] FB0
x[9] FB1
x[10] FB2
x[11] PM0
x[12] PM1
x[13] PM2
x[14] INL
x[15] FFL
x[16] Internal Mode (MCW).
x[17] Faceplate
Selectable; Manual; Automatic;
MCW = 0 MCW = 1 MCW = 2 Undefined
0 1 0 0
0 0 1 0
x[18] Status appears whether ARQ is present or not
x[19] Automatic Request (ARQ).
x[20] Command to State 0; Manual; Automatic;
ARQ = 0 ARQ = 1 ARQ = 2 Undefined
0 1 0 0
0 0 1 0
x[21] IFL
x[22] State 0 active
x[23] State 1 active
x[24] State 2 active
x[25] Transitioning to State 0
x[26] Transitioning to State 1
x[27] Transitioning to State 2
x[28] OP0

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

InstanceName(FB0 := , FB1 := , FB2 := , PM0 := , PM1 := , PM2 := , INL := , FFL


:= , MCW := , ARQ := , IFL := , FL => , A => , S0 => , S1 => , S2 => , OP0 => ,
OP1 => , OP2 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

237
Proficy Process Systems - Instructions

Interlock (INTERLOCK)

InstanceName Mnemonic:
INTERLOCK

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Configuration Pararmeters - Inspector


Runtime variables can be viewed in the inspector while online to the Controller.
The runtime variables and status names in the Inspector and the corresponding member
variable names are listed in the table below.
Configuration Valid
Parameter Settings Data Type Public Description
Corresponding BOOL variable Connected device control
Device block:
Control False: DC2S.
True: DC3S.
Default: False.
False
Read
True
Polarity for one-dimensional BOOL Interlock polarities:
Interlocks 1 array of 8 BOOLs False: Normally
through 8 open.
True: Normally
closed.

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

Status Word - 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
Name Settings Data Type Public Description
ST DWORD one- Read / Status word. State of Interlock block.
range dimensional Write ST[0] bit definitions when the bit state is True
DWORD are as follows:
array of 2 Bit Description
DWORDs x[0] Master interlock active
x[1] Interlock 1 active
x[2] Interlock 2 active
x[3] Interlock 3 active
x[4] Interlock 4 active
x[5] Interlock 5 active
x[6] Interlock 6 active
x[7] Interlock 7 active
x[8] Interlock 8 active
x[9] Not used
x[10] State of the connected DC2S or
DC3S block is 0.
Note: When state of x[10] is False, the state
of the connected DC2S or DC3S block is
not 0.

x[11] Interlock 1 first interlock to become


active after start attempt
x[12] Interlock 2 first interlock to become
active after start attempt
x[13] Interlock 3 first interlock to become
active after start attempt
x[14] Interlock 4 first interlock to become
active after start attempt
x[15] Interlock 5 first interlock to become
active after start attempt

242
Proficy Process Systems Logic

x[16] Interlock 6 first interlock to become


active after start attempt
x[17] Interlock 7 first interlock to become
active after start attempt
x[18] Interlock 8 first interlock to become
active after start attempt
x[19] Transition to state 0 is valid
x[20] Transition to state 1 is valid
x[21] Transition to state 2 is valid
x[22] Not used
-
x[31]

243
Proficy Process Systems - Instructions

ST[1] bit definitions when the bit state is True


are as follows:
Bit Description
x[0] 1 = DC3S; 0 = DC2S
x[1] Interlock 1 input has an argument
x[2] Interlock 2 input has an argument
x[3] Interlock 3 input has an argument
x[4] Interlock 4 input has an argument
x[5] Interlock 5 input has an argument
x[6] Interlock 6 input has an argument
x[7] Interlock 7 input has an argument
x[8] Interlock 8 input has an argument
x[9] Interlock 1 Polarity = Normally
Closed
x[10] Interlock 2 Polarity = Normally
Closed
x[11] Interlock 3 Polarity = Normally
Closed
x[12] Interlock 4 Polarity = Normally
Closed
x[13] Interlock 5 Polarity = Normally
Closed
x[14] Interlock 6 Polarity = Normally
Closed
x[15] Interlock 7 Polarity = Normally
Closed
x[16] Interlock 8 Polarity = Normally
Closed
x[17] Not used
-
x[31]
TS DINT DINT Read 16-bit event timestamp that contains the number
range variable of seconds elapsed from January 1, 1970 through
to the date, time when the first interlock
condition was detected after a device start.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Controller Status (CTRL_STAT)

InstanceName Mnemonic:
CTRL_STAT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

ST one- Controller fault status values stored in predefined


dimensional system variables.
DINT array
Tip: Predefined system variables are preceded by '#'.
of 2 DINT
variables ST[0] bit definitions are as follows:
Bit System Variable
x[0] #ANY_FLT
x[1] #APL_FLT
x[2] #HRD_FLT
x[3] #HRD_CPU
x[4] #HRD_SIO
x[5] #SFT_CPU
x[6] #SFT_FLT
x[7] #SFT_IOC
x[8] #SFT_SIO
x[9] #SY_FLT
x[10] #SY_FULL
x[11] #SY_PRES
x[12] #BAD_PWD
x[13] #BAD_RAM
x[14] #NUL_CFG
x[15] #CFG_MM
x[16] #STOR_ER
DINT No x[17] #NO_PROG
range x[18] #PB_SUM
x[19] #OVR_TMP
x[20] #LOW_BAT
x[21] #PLC_BAT
x[22] #OVR_PRE
x[23] #OV_SWP
x[24] #WIND_ER
x[25] #ADD_RCK
x[26] #ADD_IOC
x[27] #ADD_IOM
x[28] #ADD_SIO
x[29] #LOS_RCK
x[30] #LOS_IOC
x[31] #LOS_IOM

250
Proficy Process Systems Logic

ST[1] bit definitions are as follows:


Bit System Variable
x[0] #LOS_SIO
x[1] #SBUS_ER
x[2] #SBUS_FL
x[3] #IO_FLT
x[4] #IO_PRES
x[5] #IO_FULL
x[6] #IOC_FLT
x[7] #IOM_FLT
x[8] #FRC_PRE
x[9] #MAX_IOC
x[10] #PRG_CHK
x[11] #LOC_ACT
x[12] #LOC_MEM_ERROR
x[13] #LOC_RDY
x[14] #LOGICEQ
x[15] #PRI_UNT
x[16] #RDN_MSG
x[17] #REM_ACT
x[18] #REM_RDY
x[19] #SEC_UNT
x[20] Redundancy System Enabled
((#LOC_ACT := 1) or
(#REM_ACT := 1))
x[21] - Not used
x[31]
CT DINT Controller timestamp for the Service Request in
variable POSIX format. This is the number of seconds
elapsed since midnight January 1, 1970 through
to the current Controller date and time.
Note: For information about specific timestamp bits, see
POSIX Time-of-Day format in the SVC_REQ 7 function
block.

Other Languages
Control Status can also be used in LD and ST.
LD ST

251
Proficy Process Systems - Instructions

InstanceName();

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

CN UINT variable Command word to handshake with. When CN =


output CNO, then the handshake is successful.
Default: 0.

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.

Configuration Parameters - Inspector


Configuration parameters of a function block instance are configured in the Inspector
after 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
Command Word 1 UINT RO Read / Configures the rollover of the
Rollover through variable Write command number output
65,535 CNO. When the value of CNO
= value of Command Word
Rollover, then zero is assigned
to CNO.
Default: 255.

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

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

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

257
Proficy Process Systems - Instructions

FC UINT Read / Faceplate Command from HMI.


variable Write Default: 0 (zero).
ST UINT Read Status word. State of the CMD block from the
array of Faceplate Command FC.
3 UINT ST
UINT variables array
range element Description
0 Current faceplate
command (FC) being
executed
1 Current CN
2 Current CNO

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

259
Proficy Process Systems - Instructions

Analog Indication (IND_A)

InstanceName Mnemonic:
IND_A

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

(FBD non-BOOL variable Yes.


only.)

Configuration Parameters - Inspector


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 Member
Parameter Settings Data Type Name Public Description
PV Minimum SL[0] Minimum value of
process variable used
on HMI graphics.
REAL arrays Default: 0.0.
REAL Read /
of 2 REAL Write
PV Maximum range SL[1] Maximum value of
variables
process variable used
on HMI graphics.
Default: 0.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
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

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.

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.

PI REAL REAL Faceplate output to HMI.


range variable Default: 0.0.

Other Languages
IND_A can also be used in LD and ST.
LD ST
InstanceName(PV := );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

263
Proficy Process Systems - Instructions

Discrete Indication (IND_D)

InstanceName Mnemonic:
IND_D

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

Configuration Parameters - Inspector


None.

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

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
Name Settings Data Type Public Description
ST UINT UINT Read Status variable that contains the value of PV
range variable when connected, otherwise 0 (zero).
Default: 0.
pcv_AP 0 BOOL Read / Argument Present. Connection status of the
1 variable Write corresponding input:
0: Not connected
1: Connected.
Default: 0.

Other Languages
IND_D can also be used in LD and ST.
LD ST

InstanceName(PV := );

266
Proficy Process Systems Logic

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

267
Proficy Process Systems - Instructions

Manual Setpoint (MANUAL_SP)

InstanceName Mnemonic:
MANUAL_SP

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

OP REAL variable Clamped output from


HMI

Configuration Parameters - Inspector


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
Parameter Settings Type Member Name Public Description
OP Minimum SL[0] Lower value to clamp OP.
REAL REAL Read / Default: 0.0.
OP Maximum range variables SL[1] Write Upper value to clamp OP.
Default: 100.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
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

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.

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

271
Proficy Process Systems - Instructions

Push Button (PBUTTON)

InstanceName Mnemonic:
PBUTTON

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Configuration Parameters - Inspector


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
Parameter Settings Type Member Name Public Description
Runtime None UINT PB Read HMI
Command Activate PB variable pushbutton.
Default:
Normal.
Preset (Seconds) 0.0 through REAL PRESET Read / Momentary
216,000.0 variable Write output.
Default: 5
seconds.

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

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.

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

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
ST UINT UINT Read Status word. State of the PBUTTON block.
range variable Value of Description
bit 0

274
Proficy Process Systems Logic

1 PBUTTON
block: Active
State of OP:
Yes (True or
1)

Example
HMI Push Buttons

See LATCH block example.

Other Languages
PBUTTON can also be used in LD and ST.
LD ST
InstanceName(OP => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

275
Proficy Process Systems - Instructions

Status (STATUS)

InstanceName Mnemonic:
STATUS

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

Configuration Parameters - Inspector


None.

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

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

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
Name Settings Data Type Public Description
ST Status variable that contains the value of the
corresponding input when connected, otherwise
BOOL 0 (zero).
0 arrays of 16
AP Read Argument Present. Connection status of the
1 BOOL
variables corresponding input:
0: Not connected
1: Connected

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 := );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

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

Analog Input (AI_DINT, AI_INT, AI_REAL, AI_UINT)

InstanceName Mnemonics:
AI_DINT
AI_INT
AI_REAL
AI_UINT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

See also working with iFIX faceplates and CIMPLICITY faceplates.

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.

Note: When forcing is active, bad quality actions are ignored.

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

PV REAL variable Process variable for the


AI calculation.
Default: 0.0.
BAD BOOL variable Quality.
Choices: No, Yes.
Default: No.

Configuration Parameters - PV Calculation


Configuration parameters of a function block instance are configured in the Inspector
after 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
Parameter -
PV Member
Calculation Valid Settings Data Type Name Public Description
Raw Low For an SL[2] Raw range.
Raw High AI_DINT SL[3] Default: 0.0.
block, valid
range is -
2,147,483,648.0
through
2,147,483,648.0
For an AI_INT
block, valid
range is - one-
32,768.0 dimensional
through REAL Read /
32,767.0 array of 4 Write
For an REAL
AI_REAL variables
block, valid
range is the
REAL range
For an
AI_UINT
block, valid
range is 0.0
through
65,535.0

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.

Configuration Parameters - Quality


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
Parameter - Valid Member
Quality Settings Data Type Name Public Description
Quality Check Enabled BOOL ENAQUAL Read / Default: Disabled.
Disabled variable Write
Under Range REAL one- RQ[0] Values used in the
Limit (Eng range dimensional RQ[1] quality check.
Units) REAL array Default: 0.0.
Over Range of 2 REAL
Note: If the value of Over
Limit (Eng variables Range Limit (Eng Units) is
Units) the value of Under Range
Limit (Eng Units), then the
range check is enabled.

286
Proficy Process Systems Logic

On Bad Quality Drive PV UINT variable QT Method used to process


to 0.0 bad quality data:
Drive PV Drive PV to
to Fail- 0.0: Process
safe variable PV is
Value set to 0.0.
Keep Last Drive PV to
Good Fail-safe Value:
Value PV is set to the
Ignore value of Fail-
Drive PV safe Value
to Fail- (user-defined).
safe Limit Keep Last
Good Value:
PV is set to the
last known
good value, if it
exists.
Ignore: Ignore
bad quality
data.
Drive PV to
Fail-safe Limit:
If the value of
PV is the
value of Over
Range Limit
(Eng Units),
then the value
of Over
Range Limit
(Eng Units) is
copied to PV.
If the value of
PV is the
value of
Under Range
Limit (Eng
Units), then
the value of
Under Range
Limit (Eng
Units) is
copied to PV.
Default: Drive PV to
0.0.

287
Proficy Process Systems - Instructions

Fail-safe Value REAL REAL QV PV is set to the value


range variable of Fail-safe Value,
when the value of On
Bad Quality is Drive
PV to Fail-safe Limit.
Default: 0.0.
Data Health Good UINT variable BAD No (Read-only.) Data
Bad quality.

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector while online.
The runtime variable and status information in the Inspector are listed in the table below.
Runtime
Variable and Valid
Status Settings Public Description
Forcing Enabled Disabled: Disables forcing. The value of PV is
Disabled NOT set to the value of Forced Value.
Enabled: Enables forcing. The value of PV is
set to the value of Forced Value.
Default: Disabled.
Forced Value REAL Forced process variable PV. Forced Value replaces the
range calculated PV value. The following are performed on
Forced Value:
Checking quality.
Read /
Filtering.
Write
Default: 0.0.
Notes

If the quality of the forced process variable PV fails, the


override quality value has no effect.

When Forcing transitions to Enabled, Forced Value is set


to the last PV value.

Forced Value is user-defined except on the first transition.

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

Tag Label Descriptive text field displayed on the faceplate


Default: AI_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.
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.
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

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
Name Settings Data Type Public Description
FP UINT one- Read / State of AI block from Faceplate Command FC.
range dimensional Write FP[0] contains HMI status:
UINT array FP[0] bits Description
of 2 UINT x[0] SQR
variables
x[1] Forcing
x[2] BAD
x[3] Quality Check
x[4] Scaling error
x[5] Square root extraction
error
x[6] Filtering active
x[7] Not used
through
x[13]
x[14] and AI block type.
x[15] Bit AI block
value type
00 AI_UINT
01 AI_DINT

290
Proficy Process Systems Logic

10 AI_INT
11 AI_REAL

FP[1] contains faceplate command from HMI:


When set to 1, enable forcing.
When set to 2, disable forcing.

Other Languages
AI can also be used in LD and ST.
LD Mnemonics:
AI DINT
AI INT
AI REAL
AI UINT

Refer to the above diagrams:


???? (LD only; required): Structure variable. Instance data of a block.
ST
InstanceName(RAW := , PV => , BAD =>
);

291
Proficy Process Systems - Instructions

Analog Output (AO_DINT, AO_INT, AO_REAL, AO_UINT)

InstanceName Mnemonics:
AO_DINT
AO_INT
AO_REAL
AO_UINT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

See also working with iFIX faceplates and CIMPLICITY faceplates.

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

Raw for PV Low = 20000


Raw for PV High = 4000
If the valve is fail closed, then when the control signal is 4 mA the valve is fully closed and when the
control signal is 20 mA the valve is fully open. In case of a fail closed valve, the Raw for PV Low and Raw
for PV High are transposed, as follows:
PV Low (Eng Units) = 0.0
PV High (Eng Units) = 100.0
Raw for PV Low = 4000
Raw for PV High = 20000

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

For an AO_INT block, For an AO_DINT, AO_INT, or


RAW is an INT AO_UINT block, default is 0.
variable. For an AO_REAL block, default is
For an AO_REAL 0.0.
block, RAW is a REAL
variable.
For an AO_UINT block,
RAW is a UINT
variable.

Configuration Parameters - Inspector


Configuration parameters of a function block instance are configured in the Inspector
after 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 Member
Parameter Valid Settings Data Type Name Public Description
For an AO_DINT one-
block: - dimensional Read / Raw range limits
2,147,483,648.0 REAL array Write that correspond
through of 4 REAL
2,147,483,647.0 variables to respectively
the PV Low
Raw for PV For an AO_INT range limit and
block: -32,768.0 SL[0]
Low PV High range
through 32,767.0 SL[1]
Raw for PV limit.
High For an AO_REAL
block: REAL Note: Scaling is
disabled when PV
range Low is PV High.
For an AO_UINT Default: 0.0.
block: 0.0 through
65,535.0

294
Proficy Process Systems Logic

PV Low (Eng REAL range SL[2] Process variables


Units)PV High SL[3] that correspond
(Eng Units) to respectively
the low range
limit and high
range limit.
Note: The
engineering range
check is disabled if
one or both of the
following occurs:

Lower
Engineering
Range is
Upper
Engineering
Range.

Lower
Engineering
Range =
Lower
Control
Range and
Upper
Engineering
Range =
Upper
Control
Range.
Default: 0.0.

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector while online.
The runtime variable and status information in the Inspector are listed in the table below.
Runtime
Variables
and Status Valid Settings Public Description
Forcing Active Activates and de-activates
Inactive forcing.
Read / Default: Inactive.
Forced Value -2,147,483,648.0 through Write The value RAW is set equal to
+2,147,483,647.0 when forcing is active.
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

When TRUE the data point will be historized


Scaling Limits (SL)
HMI Status (DP)
Forcing Value (FV)
Process Value Indication (PI)
Raw Value Indication (RI)

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

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
Name Settings Data Type Public Description
FP UINT one- Read / State of AO block from Faceplate Command
range dimensional Write FC.
UINT array FP[0] contains HMI status:
of 2 UINT FP[0] bits Description
variables x[0] Not used
x[1] Status of force
x[2] Not used

297
Proficy Process Systems - Instructions

x[3] Not used


x[4] Scaling error
x[5] Inverted output
x[6] through Not used
x[13]
x[14] and AO block type.
x[15] Bit AO block
value type
00 AO_UINT
01 AO_DINT
10 AO_INT
11 AO_REAL

FP[1] contains faceplate command from HMI:


When set to 1, enable forcing.
When set to 2, disable forcing.

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

Discrete Input (DI)

InstanceName Mnemonic:
DI

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

See also working with iFIX faceplates and CIMPLICITY faceplates.

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

EN BOOL Enable input. When set to Yes, DI solves. When set


(FBD variable, bit to No, DI does not solve. When DI is not solving, the
only.) reference in states of the variables within the block, are not
non-BOOL changing, so no faceplate commands or time
Required
variable calculations will be performed. When re-activated,
the dT will be the difference between enabled solves.
RAW BOOL The hardwired input, used to calculate the process
variable variable PV.

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.

Configuration Parameters - Inspector


Configuration parameters of a function block instance are configured in the Inspector
after 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
Debounce Time 0.0 REAL DBT Length of time that RAW
(Seconds) through variable must remain in a state after it
86,400.0 transitions to that state
before the transition is
detected and reflected in the
Read / conditioned process variable
Write (PV)
Default: 0.0.
Note: If Debounce Time is set to a
value 0.0, then it is
automatically set to 0.0.

300
Proficy Process Systems Logic

Normal State 0 NS Selection determines the


1 color animation of the HMI
mimic object.
Choices:
BOOL 0 - Normally Open
variables 1 - Normally Closed
Default: 0.
Quality Check Disabled ENAQUAL Default: Disabled.
Enabled
On Bad Quality Drive PV UINT QT Method used to process bad
to 0 variable data quality:
Drive PV Drive PV to 0:
to 1 Process Variable PV
Keep Last is set to 0
Good Drive PV to 1: PV is
Value set to 1
Ignore Keep Last Good
Value: PV is set to
last known good
value in RAW, if it
exists
Ignore: Ignore bad
data quality
Default: Drive PV to 0.

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector while on-line.
The runtime variables and status information that can be viewed in the Inspector are
listed in the table below.
Configuration Valid Member
Parameter Settings Data Type Name Public Description
Data Health BAD (Read-only.) Bad
quality indication.
Default: Off.
Faceplate Forcing pcv_FRC (Read-only.)
Off BOOL Off: Inactive -
No Faceplate is not
On variables
Forcing.
On: Active -
Faceplate is
Forcing.
Default: Off.

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

Faceplate Command (FC)


Forced Value (FV)

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

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
Name Settings Data Type Public Description
PI 0 one- HMI status. State of DI block from Faceplate
1 dimensional Command FC.
BOOL Bit Description
array of 16 x[0] RAW value
BOOL
x[1] PV value
variables
x[2] BAD value
x[3] ENAQUAL (Quality
Check) value
Read x[4] pcv_FRC (Faceplate
Forcing) value
x[5] NS (Normal State)
value
x[6] Set when Debounce
active
x[7] Not used
through
x[15]

303
Proficy Process Systems - Instructions

QF WORD WORD Fault data. Contains results of BAD quality when


range variable I/O module fails.
Default: 0 (zero).
FC Faceplate Command from HMI.
When set to 1, enable forcing.
UINT UINT Read / When set to 2, disable forcing.
range variables Write Default: 0 (zero).
FV Forced Value. Value to force PV to.
Default: 0 (zero).

Other Languages
DI can also be used in LD and ST.
LD ST
InstanceName(RAW := , PV => , BAD => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

304
Proficy Process Systems Logic

Discrete Output (DOUT)

InstanceName Mnemonic:
DOUT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

See also working with iFIX faceplates and CIMPLICITY faceplates.

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

Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector at runtime.
The runtime variable and status information in the Inspector are listed in the table below.
Configuration Valid Data
Parameter Settings Type Member Name Public Description
Faceplate Off BOOL pvc_FRC No (Read-only.)
Forcing On variable Off: Inactive -
The Faceplate
is not Forcing.
On: Active -
The Faceplate
is Forcing.
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.
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

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

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
Name Settings Data Type Public Description
PI 0 one- Read HMI status. State of the DOUT block from the
1 dimensional Faceplate Command FC.
BOOL Bit Description
array of 16 x[0] RAW value
BOOL
x[1] PV value
variables
x[2] Not used
x[3] Not used
x[4] pcv_FRC (Faceplate Forcing) value
x[5] Not used
through
x[15]
FC Faceplate Command from HMI.
When set to 1, enable forcing.
UINT UINT Read / When set to 2, disable forcing.
range variables Write Default: 0 (zero).
FV Forced Value. Value to force RAW to.
Default: 0 (zero).

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 => );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

309
Proficy Process Systems - Instructions

Program Flow (FBD)


(For PACSystems firmware version 5.00 and later.)
Program Flow blocks enable you to create sequential logic similar to a Sequential
Function Chart (SFC). They can be used with one another to create a sequence that
contains multiple steps.
Instruction Mnemonic Description
End SEQ_END Ends a single sequence when EVT is set to Yes or immediately
Sequence upon activation based on Operational Mode
Jump SEQ_JUMP Jumps to the value of Jump To Step when EVT is set to Yes
Sequence
Start SEQ_START Initiates a single sequence when EVT is set to Yes
Sequence
Step SEQ_STEP Executes an operational step of a sequence. Examples:
Sequence turning a motor on or off, opening or closing a valve,
loading a set point, or waiting for a fixed period of
time.

310
Proficy Process Systems Logic

Sequence (SEQ_START, SEQ_STEP, SEQ_JUMP, SEQ_END)


Overview
Proficy Process Systems sequence function block instances (SEQ_START, SEQ_STEP,
SEQ_JUMP, SEQ_END) enable you to create sequential logic similar to a Sequential
Function Chart (SFC). Sequence blocks can be used with one another to create a
sequence that contains multiple steps.
Sequence blocks are used as follows:
SEQ_START and SEQ_END are the beginning and end of a sequence
respectively. Each sequence contains one SEQ_START function block instance
and one SEQ_END function block instance.
SEQ_STEP can be used multiple times within a sequence to carry out the steps of
the sequence. SEQ_STEP function block instances are typically between one
SEQ_START function block instance and one SEQ_END function block
instance.
SEQ_JUMP enables exception jumping from one step (SEQ_STEP function
block instance) in the sequence to another step within the same sequence.
A single sequence is defined as follows:
It contains one SEQ_START function block instance, one or more SEQ_STEP
function block instances, optionally one or more SEQ_JUMP function block
instances, and one SEQ_END function block instance.
Each function block instance in the sequence has the same variable name on the
input parameter SN (Sequence Name).
Note: We recommend that for each sequence you assign a unique Step Number to each SEQ_START,
SEQ_STEP, and SEQ_END block.

Start Sequence (SEQ_START) Function Block Instance


InstanceName
Mnemonic:
SEQ_START

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

A SEQ_START function block instance begins a single sequence. SEQ_START


increments the Sequence Name variable (SN input) when the EVT input is set to On and
the SN value is equal to the block Step Number configuration value.
At the first call to a SEQ_START function block instance, the block initializes the
Sequence Name variable (SN input) to the value assigned to the block Step Number
configuration value.
The configuration parameter Initialization determines how the sequence is initialized
after a power cycle or after a stop-to-run transition of the PACSystem. Initialization can
have the following values:
0: (Default.) Always start the sequence at the first SEQ_STEP function block
instance.
1: Retentive. Begin the sequence in the same place it was before the power cycle
or stop-to-run transition.
The output parameter ACT indicates when the SEQ_START block is active.
When ACT is set to No (default), the SEQ_START block is not active.
When ACT set to Yes, the SEQ_START block is active.

SEQ_START Input Parameters


Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SEQ_START solves.
(FBD variable, bit When set to No, SEQ_START does not solve. When
only.) reference in SEQ_START 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
performed. When re-activated, dT is the difference
between enabled solves.
SN INT variable Sequence Name. Input value for the SEQ_START
block. Used to assign a variable name to an entire
Required sequence of function block instances. (At run time,
the variable used to represent the sequence name is
set equal to the active step number.)
Note: SN cannot be a constant.

EVT BOOL Start sequence event.


variable Default: No.
Note: EVT is required for a SEQ_START and SEQ_JUMP
function block instance. EVT is optional for a SEQ_STEP and
SEQ_END function block instance.

SEQ_START Output Parameters


Output Name Definition Data Type Description

312
Proficy Process Systems Logic

ENO (FBD BOOL variable, bit ENO is set to Yes if EN is set to


and ST only.) reference in non-BOOL Yes.
variable
ACT BOOL variable When set to No, the
Optional SEQ_START block is
inactive.
When set to Yes, the
SEQ_START block is
active.
Default: No.

SEQ_START 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
Parameter Settings Type Member Name Public Description
Step Number 0 through INT STEP_NUMBER Block step number.
32,767 variable Default: 0.
Note: We recommend that
you assign a unique Step
Number for each
SEQ_START, SEQ_STEP,
and SEQ_END function block
instance in this sequence.

Initialization Starting UINT INIT_MODE Initialization mode of the


Step, variable sequence after a power
Retentive cycle or stop-to-run
Read /
mode transition.
Write
Starting Step:
Always
reinitializes the
sequence to the
beginning.
Retentive: Begins
the sequence
where it left off
before the power
cycle.
Default: Starting Step.

313
Proficy Process Systems - Instructions

SEQ_START Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector at runtime.
The runtime variable and status information in the Inspector are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Step Active No BOOL ACT No (Read-only.)
Yes variable No: Step is not active
Yes: Step is active.

Step Sequence (SEQ_STEP) Function Block Instance


InstanceName
Mnemonic:
SEQ_STEP

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

SEQ_STEP Input Parameters


Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SEQ_STEP solves.
(FBD variable, bit When set to No, SEQ_STEP does not solve. When
only.) reference in SEQ_STEP 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.
Required
SN INT variable Sequence Name. Input value for the SEQ_STEP
block. Used to assign a variable name to an entire
sequence of function block instances. (At run time,
the variable used to represent the sequence name is
set equal to the active step number.)
Note: SN cannot be a constant.

EVT Step sequence event.


Default: No.
BOOL
Optional
variables Note: EVT is required for a SEQ_START and SEQ_JUMP
function block instance. EVT is optional for a SEQ_STEP and
SEQ_END function block instance.

HLD Hold current step.


Default: No.

315
Proficy Process Systems - Instructions

PR Pause Request. This command originates from a PLI


block. It causes the step to pause at the end of its
execution. It is used to troubleshoot the running
phase logic.

SEQ_STEP 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
ACT Step active.
When set to No, the SEQ_STEP
block is not active.
When set to Yes, the SEQ_STEP
block is active.
Default: No.
H SEQ_STEP block is either held or paused.
The state of H is indicated to other logic.
When set to No, the SEQ_STEP
block is not held.
When set to Yes, the SEQ_STEP
Optional BOOL variables block is held.
Default: No.
PA One-shot pulse upon activation (PA) is set
to Yes for one execution cycle when
SEQ_STEP is first activated; otherwise, PA
is set to No.
Default: No.
PC One-shot pulse upon completion (PC) is set
to Yes for one execution cycle when
SEQ_STEP completes; otherwise, PC is set
to No.
Default: No.
T REAL variable Step active elapsed time in units specified
by Time Base.
Default: 0.0.

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

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.

Operational Event Only, OPR_MODE Event Only:


Mode Timed Only, INT SEQ_STEP is
Timed and variables event driven
Event Timed Only:
SEQ_STEP is
time driven
Timed and
Event:
SEQ_STEP is
event and
minimum-time
driven
Default: Event Only.
Time Base Seconds, UINT TBASE Default: Seconds
Minutes variable

317
Proficy Process Systems - Instructions

Preset (Time 0.0 through REAL PRESET If Operational


Base) 9,999,999.0. variable Mode is set to
Timed Only
(SEQ_STEP
executes from
elapsed time),
then set Preset
to how long
the step is to
be active in
units specified
by Time Base.
If Operational
Mode is set to
Timed and
Event
(SEQ_STEP
executes from
elapsed time
and EVT is set
to Yes), then
set Preset to
the minimum
time the step
is to be active
in units
specified by
Time Base.
Default: 30.0 seconds.

SEQ_STEP Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector at runtime.
The runtime variable and status information in the Inspector are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Step Active No BOOL ACT No (Read-only.)
Yes variable No: Step is not active.
Yes: Step is active.

Jump Sequence (SEQ_JUMP) Function Block Instance


InstanceName

318
Proficy Process Systems Logic

Mnemonic:
SEQ_JUMP

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

SEQ_JUMP Input Parameters


Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SEQ_JUMP solves.
(FBD variable, bit When set to No, SEQ_JUMP does not solve. When
only.) reference in SEQ_JUMP 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.
SN INT variable Sequence Name. Input value for the SEQ_JUMP
block. Used to assign a variable name to an entire
Required sequence of function block instances. (At run time,
the variable used to represent the sequence name is
set equal to the active step number.)
Note: SN cannot be a constant.

EVT Jump sequence event.


Default: No.
BOOL
variables Note: EVT is required for a SEQ_START and SEQ_JUMP
function block instance. EVT is optional for a SEQ_STEP and
SEQ_END function block instance.

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.

SEQ_JUMP Output Parameter


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
SB INT variable Step index buffer that holds the
last active step before the last
jump.

SEQ_JUMP 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
Jump To Step 0 INT NEXT_STEP Read / Value of the configuration
through variable Write parameter Step Number of a
32,767 SEQ_START, SEQ_STEP,
or SEQ_END block in this
sequence when its associated
output parameter EVT is set
to Yes.
Default: 0.

End Sequence (SEQ_END) Function Block Instance


InstanceName
Mnemonic:
SEQ_END

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

320
Proficy Process Systems Logic

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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.

SEQ_END Input Parameters


Input
Name Definition Data Type Description
EN BOOL Enable input. When set to Yes, SEQ_END solves.
(FBD variable, bit When set to No, SEQ_END does not solve. When
only.) reference in SEQ_END 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.
Required
SN INT variable Sequence Name. Input value for the SEQ_END
block. Used to assign a variable name to an entire
sequence of function block instances. (At run time,
the variable used to represent the sequence name is
set equal to the active step number.)
Note: SN cannot be a constant.

EVT Optional BOOL End sequence event.


variable Default: No.
Note: EVT is required for a SEQ_START and SEQ_JUMP
function block instance. EVT is optional for a SEQ_STEP and
SEQ_END function block instance.

SEQ_END Output Parameters


Output
Name Definition Data Type Description

321
Proficy Process Systems - Instructions

ENO BOOL variable, bit ENO is set to Yes if EN is set to Yes.


(FBD reference in non-BOOL
and ST variable
only.)
ACT Optional BOOL variable When set to No, the SEQ_END
block is not active.
When set to Yes, SEQ_END is
active.
Default: No.

SEQ_END 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
Parameter Settings Type Member Name Public Description
Step Number 0 through INT STEP_NUMBER Block step number.
32,767 variable Default: 10.
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.

322
Proficy Process Systems Logic

Operational Immediately UINT OPR_MODE Immediately


Mode Back to variable Back to Start:
Start Goes to the
Upon Event SEQ_START
Back to block in this
Start sequence.
Upon Event
Back to Start:
Waits for the
SEQ_END
input parameter
EVT to be set
to Yes before
going to the
SEQ_START
block in this
sequence.
Default: Immediately
Back to Start.
SEQ_START 0 through INT NEXT_STEP Value of the
Step Number 32,767 variable configuration
parameter Step
Number of the
associated
SEQ_START function
block instance.
Default: 0.

SEQ_END Runtime Variables and Status - Inspector


Runtime variables and status information of a function block instance can be viewed in
the Inspector at runtime.
The runtime variable and status information in the Inspector are listed in the table below.
Configuration Valid Data Member
Parameter Settings Type Name Public Description
Step Active No BOOL ACT No (Read-only.)
Yes variable No: Step is not active.
Yes: Step is active.

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

Refer to the above diagrams:


???? (LD only; required): Structure variable. Instance data of a block.
Sequence
Function
Block
Instance ST
SEQ_START InstanceName(SN := , EVT := , ACT => );
SEQ_STEP InstanceName(SN := , EVT := , HLD := , PR := , ACT => , H => ,
PA => , PC => , T => );
SEQ_JUMP InstanceName(SN := , EVT := , CLR := , SB => );
SEQ_END InstanceName(SN := , EVT := , ACT => );

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

Timed Event (TIMED_EVT)

InstanceName Mnemonic:
TIMED_EVT

Refer to the above diagram:


InstanceName (FBD only; required): Structure variable. Instance data of a block.

Notes

See also Other Languages section in this topic.

Undo is available when you edit InstanceName.

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

PM Pulse on the Minute (pulse


duration = Preset).
PH Pulse on the Hour (pulse duration
= Preset).
PD Pulse on a Daily Scheduled Event
(pulse duration = Preset).
SER Single shot error bit.
SS1 BOOL variables 1 Hertz single shot pulse (pulse
duration = 1 block execution
cycle).
SS2 2 Hertz single shot pulse (pulse
duration = 1 block execution
cycle).
SS4 4 Hertz single shot pulse (pulse
duration = 1 block execution
cycle).

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 =>, );

Refer to the above diagram:


???? (LD only; required): Structure variable. Instance data of a block.

331
Proficy Process Systems - Instructions

Proficy Process Systems Tables


Proficy Process Systems tables are function blocks that calculate industry standard
table entries by means of interpolation. The following table function blocks are included:
Table Function Block Mnemonic Description
Instance
Saturated Steam SaturatedSteamTable Provides associated data for
saturated steam based on the
input values
Superheated SuperSteamCompWaterTable Provides data for both
Steam/Compressed Water compressed water and
superheated steam
Each Proficy Process Systems table function block supports SI and US measurement
standards. The values generated for the tables are based on the American Society of
Mechanical Engineers (ASME) values. A Proficy Process Systems table function block
may reference one or more ASME tables.

332
Proficy Process Systems Logic

Saturated Steam Table

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

???? (LD Undo is available when you edit InstanceName.


only.)
We recommend that you use a unique InstanceName for
each function block instance.

333
Proficy Process Systems - Instructions

i (FBD only.) The solve order for a block instance


EN (FBD BOOL Enable input. When set to True, the SaturatedSteamTable
only.) variable, function block instance solves. When set to False,
bit SaturatedSteamTable does not solve. When
Required reference SaturatedSteamTable is not solving, the states of the
in non- variables within the block, are not changing, so no
BOOL faceplate commands or time calculations will be
variable performed. When re-activated, the dT will be the
difference between enabled solves.
TYPE INT Selects the TYPE of input value. Can be one of the
variable following:
or 0: Not used
constant 1: Pressure
2: Temperature
3: Density
4: Specific volume
Default: 0.

334
Proficy Process Systems Logic

VALUE REAL Can be one of the following values, depending on both of


variable the following:
or Value of the input parameter TYPE
constant State of the input parameter US_SI_FLG

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

ERROR INT variable Can have one of the following values:


0: No error
1: Invalid function block instance parameters
2: Invalid input parameter TYPE value
Required 3: Value below minimum
4: Value above maximum
5: Interpolation error
6: Internal table error
Default: 0.
PRESSURE Pressure measured as PSIA or MPa,
REAL depending on the state of the input parameter
variable US_SI_FLG.
Default: 0.0.
SATTEMP Saturated temperature measured as F or C,
depending on the state of the input parameter
US_SI_FLG.
Default: 0.0.
DENSITY Steam density measured as lb/ft or kg/m,
depending on the state of the input parameter
US_SI_FLG.
Default: 0.0.
SPECVOLUME Specific volume measured as ft/lb or m/kg,
depending on the state of the input parameter
US_SI_FLG.
Default: 0.0.
WENTROPY Water entropy measured as Btu/lb F or kJ/kg
K, depending on the state of the input
parameter US_SI_FLG.
Default: 0.0.
SENTROPY Steam entropy measured as Btu/lb F or kJ/kg
K, depending on the state of the input
parameter US_SI_FLG.
Default: 0.0.
WENTHALPY Water enthalpy or h value. Measured as
Btu/lb or kJ/kg, depending on the state of the
input parameter US_SI_FLG.
Default: 0.0.
SENTHALPY Steam enthalpy or h value. Measured as
Btu/lb or kJ/kg, depending on the state of the
input parameter US_SI_FLG.
Default: 0.0.
ISEN Isentropic coefficient (k).
Default: 0.0.

336
Proficy Process Systems Logic

COMPFACT Compressibility factor.


Default: 0.0.

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

Superheated Steam Compressed Water Table

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.

We recommend that you use a unique


InstanceName for each function block instance.

i (FBD only.) The solve order for a block instance

338
Proficy Process Systems Logic

EN (FBD BOOL Enable input. When set to True, the


only.) variable, bit SuperSteamCompWaterTable function block
reference in instance solves. When set to False,
non-BOOL SuperSteamCompWaterTable does not solve.
variable When SuperSteamCompWaterTable 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 dT will be the
difference between enabled solves.
TEMP Temperature.
Range: 32 through 3600 F or 0 through 2000
Required C, depending on the state of the input
parameter US_SI_FLG.
REAL Default: 0.0.
variable or
PRESSURE constant Pressure range: 1.5 through 26,000 PSIA or
0.011 through 180 MPa, depending on the state
of the input parameter US_SI_FLG.
PSIA: Pounds Per Square Inch Absolute
MPa: MegaPascals
Default: 0.0.
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 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

SPECVOL Specific volume measured as ft/lb or m/kg,


depending on the state of the input parameter
US_SI_FLG.
Default: 0.0.
DENSITY Steam density measured as lb/ft or kg/m,
depending on the state of the input parameter
US_SI_FLG.
REAL Default: 0.0.
ENTHALPY variable Steam enthalpy (h) value measured as Btu/lb or
kJ/kg, depending on the state of the input
parameter US_SI_FLG.
Default: 0.0.
ENTROPY Steam entropy measured as Btu/lb F or kJ/kg
K, depending on the state of the input parameter
US_SI_FLG.
Default: 0.0.

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

Update your Proficy Process Systems Projects


Function Block History
Function System Block
block Version Version Comments
ADV_PID 1.60 1.70 The inputs of this block can now detect NaN
(Not a Number).
1.50 1.15 ROC Alarms were occasionally not being
displayed.
1.60 1.17 ROC setpoints of zero now takes into account
the INH input.
ALARM_A Added Timestamps for ACK & CLEAR,
these time stamps are also required to capture
spike alarms in alarm viewers.
*If you update an alarm function block to the
new version, a stop mode store is required;
that is, you cannot perform a RMS.
ALARM_D 1.50 1.12 Published the ACK variable for consumption
in logic.
1.60 1.13 Added Timestamps for ACK & CLEAR,
these time stamps are also required to capture
spike alarms in alarm viewers.
CMD 1.60 NEW Command function block added.
CTRL_STAT 2.00 NEW Controller Status function block added
DC2S 2.00 1.60 Local Mode input and output pins added and
passed up to the Operator Consoles
*If you update the DC2S function block to
the new version, a stop mode store is
required; that is, you cannot perform a RMS.
1.50 NEW Device Control Three State function block
added.
1.60 1.40 DC3S now resets the fault on a failed manual
transition to State 0.
DC3S 2.00 1.50 Local Mode input and output pins added and
passed up to the Operator Consoles
*If you update the DC3S function block to
the new version, a stop mode store is
required; that is, you cannot perform a RMS.
DEADTIME 1.60 1.20 The inputs of each of these blocks can now
detect NaN (Not a Number).
INTERLOCK 1.60 NEW Interlock function block added.
LEADLAG 1.60 1.20 The inputs of each of these blocks can now
detect NaN (Not a Number).

341
Proficy Process Systems - Instructions

MAVG 1.60 1.30


The inputs of each of these blocks can now
detect NaN (Not a Number).
OVERRIDE 1.60 NEW Override function block added.
PID 1.60 1.60 The inputs of each of these blocks can now
detect NaN (Not a Number).
SIMULATE 1.60 1.50 The inputs of each of these blocks can now
detect NaN (Not a Number).
SPLITRANGE 2.00 NEW Split Range function block added
STATUS 1.60 NEW Status function block added.
XFER 1.60 1.20 The output OP now receives the correct input
PV1 or PV2 value when restarting the
Controller.
Note: Update the function blocks in an existing Engineering Workstation project.

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.

Note: Upgrading objects for use using single point of configuration.


To prevent a loss of data when upgrading your Cimplicity classes, follow these steps:
1. Open your Cimplicity project.
2. Save your Cimplicity project.
3. Close Cimplicity.
4. Export your HMI properties by using the Proficy Process Systems HMI property
exporter tool.
5. Open your Cimplicity project.
6. Upgrade your classes to the 2.0 version.
7. In Logic Developer, in the Project tab of the Navigator, expand the target, expand
the Logic node, right-click Program Blocks, and choose Import HMI Properties.
8. Download your project to the Controller.
9. Perform a Validate and Build.
10. Run the Object Builder.

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

Вам также может понравиться