PlantPAx Process Control
Instructions
1756 ControlLogix, 1756 GuardLogix, 1769 CompactLogix,
1769 Compact GuardLogix, 1789 SoftLogix, 5069
CompactLogix, Emulate 5570
Publication PROCES-RM215A-EN-P - November 2023
Reference Manual Original Instructions
PlantPAx Process Control Instructions
Important User Information
Read this document and the documents listed in the additional resources section about installation, configuration, and
operation of this equipment before you install, configure, operate, or maintain this product. Users are required to familiarize
themselves with installation and wiring instructions in addition to requirements of all applicable codes, laws, and standards.
Activities including installation, adjustments, putting into service, use, assembly, disassembly, and maintenance are required to
be carried out by suitably trained personnel in accordance with applicable code of practice.
If this equipment is used in a manner not specified by the manufacturer, the protection provided by the equipment may be
impaired.
In no event will Rockwell Automation, Inc. be responsible or liable for indirect or consequential damages resulting from the use
or application of this equipment.
The examples and diagrams in this manual are included solely for illustrative purposes. Because of the many variables and
requirements associated with any particular installation, Rockwell Automation, Inc. cannot assume responsibility or liability for
actual use based on the examples and diagrams.
No patent liability is assumed by Rockwell Automation, Inc. with respect to use of information, circuits, equipment, or software
described in this manual.
Reproduction of the contents of this manual, in whole or in part, without written permission of Rockwell Automation, Inc., is
prohibited.
Throughout this manual, when necessary, we use notes to make you aware of safety considerations.
WARNING: Identifies information about practices or circumstances that can cause an explosion in a hazardous environment, which may lead to
personal injury or death, property damage, or economic loss.
ATTENTION: Identifies information about practices or circumstances that can lead to personal injury or death, property damage, or economic loss.
Attentions help you identify a hazard, avoid a hazard, and recognize the consequence.
IMPORTANT Identifies information that is critical for successful application and understanding of the product.
Labels may also be on or inside the equipment to provide specific precautions.
SHOCK HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that dangerous voltage may be present.
BURN HAZARD: Labels may be on or inside the equipment, for example, a drive or motor, to alert people that surfaces may reach dangerous
temperatures.
ARC FLASH HAZARD: Labels may be on or inside the equipment, for example, a motor control center, to alert people to potential Arc Flash. Arc Flash will
cause severe injury or death. Wear proper Personal Protective Equipment (PPE). Follow ALL Regulatory requirements for safe work practices and for
Personal Protective Equipment (PPE).
Rockwell Automation recognizes that some of the terms that are currently used in our industry and in this publication are not in
alignment with the movement toward inclusive language in technology. We are proactively collaborating with industry peers to
find alternatives to such terms and making changes to our products and content. Please excuse the use of such terms in our
content while we implement these changes.
2 Publication PROCES-RM215A-EN-P - November 2023
Table of Contents
Preface Studio 5000 environment ........................................................................... 5
Additional resources .................................................................................... 6
Purpose of this manual ............................................................................... 6
Legal Notices ................................................................................................ 6
Chapter 1
PlantPAx PlantPAx instructions .................................................................................. 9
Process Analog HART (PAH) ...................................................................... 11
Process Analog Input (PAI) ....................................................................... 26
Process Dual Sensor Analog Input (PAID) ...............................................56
Process Multi Sensor Analog Input (PAIM) ............................................ 72
Process Analog Output (PAO) ....................................................................95
PAO feedback processing .................................................................. 129
Process Boolean Logic (PBL).................................................................... 139
Process Command Source (PCMDSRC) ................................................. 155
PCMDSRC operating model ............................................................. 165
Process Discrete 2-, 3-, or 4-State Device (PD4SD) ................................ 166
Process Deadband Controller (PDBC) .................................................... 195
Process Discrete Input (PDI) ................................................................... 214
Process Discrete Output (PDO) ............................................................... 231
Process Dosing (PDOSE) ........................................................................ 258
Process Analog Fanout (PFO) ................................................................. 292
Process High or Low Selector (PHLS) .....................................................303
Process Interlocks (PINTLK) ................................................................... 313
Process Lead Lag Standby Motor Group (PLLS) .................................... 324
PLLS Motor Sort Algorithm ............................................................... 357
Process Motor (PMTR) ............................................................................. 359
PMTR Command Source ...................................................................392
Process n-Position Device (PNPOS) ....................................................... 395
Process Permissives (PPERM) ................................................................ 426
Process Proportional + Integral + Derivative (PPID)............................. 434
Process Pressure/Temperature Compensated Flow (PPTC) ................. 523
Process Restart Inhibit (PRI) ................................................................... 531
Process Run Time and Start Counter (PRT) ........................................... 538
Process Tank Strapping Table (PTST)..................................................... 545
Process Valve (PVLV)................................................................................ 553
PVLV Command Source ................................................................... 582
Process Mix Proof Valve (PVLVMP) ........................................................584
Process Valve Statistics (PVLVS) ............................................................ 620
Process Variable Speed Drive (PVSD) .....................................................632
PVSD Command Source ................................................................... 668
Publication PROCES-RM215A-EN-P - November 2023 3
Preface
This manual provides a programmer with details about the available PlantPAx
process instruction set for a Logix-based controller.
If you design, program, or troubleshoot safety applications that use
GuardLogix controllers, refer to the GuardLogix Safety Application
Instruction Set Safety Reference Manual, publication 1756-RM095.
This manual is one of a set of related manuals that show common procedures
for programming and operating Logix 5000™ controllers.
For a complete list of common procedures manuals, refer to the Logix 5000
Controllers Common Procedures Programming Manual, publication
1756-PM001.
The term Logix 5000 controller refers to any controller that is based on the
Logix 5000 operating system.
Studio 5000 environment The Studio 5000 Automation Engineering & Design Environment® combines
engineering and design elements into a common environment. The first
element is the Studio 5000 Logix Designer® application. The Logix Designer
application is the rebranding of RSLogix 5000® software and will continue to
be the product to program Logix 5000™ controllers for discrete, process,
batch, motion, safety, and drive-based solutions.
The Studio 5000® environment is the foundation for the future of
Rockwell Automation® engineering design tools and capabilities. The Studio
5000 environment is the one place for design engineers to develop all
elements of their control system.
Publication PROCES-RM215A-EN-P - November 2023 5
Preface
Additional resources These documents contain additional information concerning related
Rockwell Automation products.
Resource Description
Industrial Automation Wiring and Grounding Provides general guidelines for installing a Rockwell
Guidelines, publication 1770-4.1 Automation industrial system.
Product Certifications webpage, available at Provides declarations of conformity, certificates, and
http://ab.rockwellautomation.com other certification details.
View or download publications at
http://www.rockwellautomation.com/literature. To order paper copies of
technical documentation, contact the local Rockwell Automation distributor
or sales representative.
Purpose of this manual This manual provides a programmer with details about each available
PlantPAx process instruction for a Logix-based controller. This manual also
gives you guidance and examples to monitor and process discrete and analog
inputs and outputs for controlling devices.
Rockwell Automation recognizes that some of the terms that are currently
used in our industry and in this publication are not in alignment with the
movement toward inclusive language in technology. We are proactively
collaborating with industry peers to find alternatives to such terms and
making changes to our products and content. Please excuse the use of such
terms in our content while we implement these changes.
Legal Notices Rockwell Automation publishes legal notices, such as privacy policies, license
agreements, trademark disclosures, and other terms and conditions on the
Legal Notices page of the Rockwell Automation website.
Software and Cloud Services Agreement
Review and accept the Rockwell Automation Software and Cloud Services
Agreement here.
Open Source Licenses
The software included in this product contains copyrighted software that is
licensed under one or more open source licenses. Copies of those licenses are
included with the software. Corresponding Source code for open source
packages included in this product are located at their respective web site(s).
6 Publication PROCES-RM215A-EN-P - November 2023
Preface
Alternately, obtain complete Corresponding Source code by contacting
Rockwell Automation via the Contact form on the Rockwell Automation
website:
http://www.rockwellautomation.com/global/about-us/contact/contact.page
Please include "Open Source" as part of the request text.
A full list of all open source software used in this product and their
corresponding licenses can be found in the OPENSOURCE folder. The default
installed location of these licenses is C:\Program Files (x86)\Common
Files\Rockwell\Help\<Product Name>\Release
Notes\OPENSOURCE\index.htm.
Publication PROCES-RM215A-EN-P - November 2023 7
Chapter 1
PlantPAx
PlantPAx instructions The PlantPAx built-in instructions monitor and process discrete and analog
inputs and outputs for controlling devices.
Available Instructions
Ladder Diagram, Function Block, Structured Text
PAH PAI PAID PAIM PAO PBL PCMDSRC PD4SD
PDBC PDI PDO PDOSE PFO PHLS PINTLK PLLS
PMTR PNPOS PPERM PPID PPTC PRI PRT PTST
PVLV PVLVMP PVLVS PVSD
To: Use this instruction:
Provide HART digital data for an intelligent Process Analog HART (PAH)
analog device alongside the analog input (PAI) or
analog output (PAO) instruction for that device.
Monitor one analog value, such as from a Process Analog Input (PAI)
channel of analog input module.
Monitor one analog Process Variable (PV) by Process Dual Sensor Analog Input (PAID)
using two analog input signals.
Monitors one analog process variable (PV) by Process Multi Sensor Analog Input (PAIM)
using up to eight analog input signals.
Manipulate an analog output to control a field Process Analog Output (PAO)
device.
Executes up to eight gates of configurable Process Boolean Logic (PBL)
Boolean logic.
Select the Command Source for a device. Process Command Source (PCMDSRC)
Control and monitor feedback from a discrete Process Discrete 2-, 3-, or 4-State Device (PD4SD)
2-state, 3-state, or 4-state device in a variety of
modes.
Publication PROCES-RM215A-EN-P - November 2023 9
Chapter 1 PlantPAx
To: Use this instruction:
Generate outputs to provide data and alarms on Process Deadband Controller (PDBC)
deadbands and thresholds.
Monitor one discrete condition, such as from a Process Discrete Input (PDI)
channel of a discrete input module.
Manipulate a discrete output to control a field Process Discrete Output (PDO)
device.
Control an ingredient addition that uses a flow Process Dosing (PDOSE)
meter to measure the quantity of ingredient
added.
Send one primary analog output signal to Process Analog Fanout (PFO)
multiple secondary users or devices.
Select the highest or the lowest of up to six Process High or Low Selector (PHLS)
incoming controlled variables (CVs) and send the
selected CV as output.
Collect, or sum up, the interlock conditions that Process Interlocks (PINTLK)
stop or de-energize a running or energized piece
of equipment.
Control a parallel group of motors, such as a set Process Lead Lag Standby Motor Group (PLLS)
of pumps with a common intake source and
discharge destination.
Monitor and control a fixed single-speed, Process Motor (PMTR)
two-speed, or reversing motor.
Control and monitor feedback from a circular or Process n-Position Device (PNPOS)
linear discrete device with up to 30 positions.
Collect, or sum up, the permissive conditions Process Permissives (PPERM)
that allow a piece of equipment to energize.
Manipulate the Control Variable (CV) in regulatory Process Proportional + Integral + Derivative (PPID)
control loops in response to Process Variable
(PV) readings and Setpoint (SP, the target PV)
settings.
Calculate a flow at standard temperature and Process Pressure/Temperature Compensated
pressure. Flow (PPTC)
Prevent large motors from starting repeatedly. Process Restart Inhibit (PRI)
Record the total run time and number of Process Run Time and Start Counter (PRT)
instances the motor or other equipment starts.
Calculate the volume of product in an upright Process Tank Strapping Table (PTST)
cylindrical tank, given the level of the product
and the tank calibration table.
Operate a two-position, single-solenoid operated Process Valve (PVLV)
valve, a dual-solenoid operated valve, or a
motor-operated valve in various modes; monitor
hand-operated two-position valves.
Control and monitor feedback from a mix-proof Process Mix Proof Valve (PVLVMP)
valve in various modes and states.
Monitor a two-state (open and close) valve and Process Valve Statistics (PVLVS)
record statistics for stroke times and stroke
counts.
Monitor and control a variable-speed motor Process Variable Speed Drive (PVSD)
using an AC (variable frequency) or DC drive.
10 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Process Analog HART (PAH) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Analog HART (PAH) instruction is used to provide HART digital
data for an intelligent analog device alongside the analog input (PAI) or
analog output (PAO) instruction for that device. It provides:
• HART Dynamic Variables (PV, SV, TV and QV) values with engineering
units and variable status, and the digital value of the device’s analog
loop current (in milliamps DC).
• Analog range (min, at 4 mA, and max, at 20 mA).
• Analog units of measure.
• Device information such as Tag and Description text.
• Additional device status (HART “Command 48 additional status” bit
array).
• Lookup of diagnostic message and severity based on the Command 48
bits that are set (for the first three diagnostics found in the array).
• Additional status information received from the device via HART, such
as Field Device Status bits.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 11
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAH(PAH_tag, Ref_HARTData, Ref_DiagTable, Ref_UnitsTable)
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx P_ANALOG_HART tag Data structure required for proper operation of
ControlPlantPAx Control instruction.
Ref_HARTData PAX_HART_DEVICE:I:0 tag HART device data for PlantPAx.
Ref_DiagTable P_HART_CODE_DESC_STATUS[2] tag Lookup table for diagnostic bit number (to message and
status).
Ref_UnitsTable RAC_CODE_DESCRIPTION[2] tag Lookup table for units of measure code (to units text).
The PAX_HART_DEVICE:I:0 data type is associated with the Add-On Profile
for Highly Integrated HART modules such as the 5094-IF8IH.
12 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
P_ANALOG_HART Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable input. Ladder Diagram: Corresponds to the
rung condition.
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request to re-initialize. The
instruction clears this operand automatically.
Default is true.
Cfg_HasHARTPV BOOL Not Visible Not Required Input 1 = Has a HART digital PV, display on faceplate; 0 =
HART digital PV not used.
Default is false.
Cfg_HasHARTSV BOOL Not Visible Not Required Input 1 = Has a HART digital SV, display on faceplate; 0 =
HART digital SV not used.
Default is false.
Cfg_HasHARTTV BOOL Not Visible Not Required Input 1 = Has a HART digital TV, display on faceplate; 0 =
HART digital TV not used.
Default is false.
Cfg_HasHARTQV BOOL Not Visible Not Required Input 1 = Has a HART digital QV, display on faceplate; 0 =
HART digital QV not used.
Default is false.
Cfg_UseHARTVarSts BOOL Not Visible Not Required Input 1 = Use HART Communication Status to generate
SrcQ, 0 = assume good.
Default is true.
Cfg_UseHARTText BOOL Not Visible Not Required Input 1 = Use text received from HART device, 0 = use
extended properties for text.
Default is false.
Cfg_HARTPVDecPlcs SINT Not Visible Not Required Input Number of decimal places for HART PV display.
Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_HARTSVDecPlcs SINT Not Visible Not Required Input Number of decimal places for HART SV display.
Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_HARTTVDecPlcs SINT Not Visible Not Required Input Number of decimal places for HART TV display.
Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_HARTQVDecPlcs SINT Not Visible Not Required Input Number of decimal places for HART QV display.
Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available for navigation.
Default is false.
Cfg_HasNav BOOL Not Visible Not Required Input 1 = Tells HMI a related analog input or output object
is available for navigation.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 13
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Set_VirtualHARTPV REAL Not Visible Not Required Input HART PV used in Virtual (when Sts_Virtual = 1) (PV
engineering units).
Default is 0.0.
Set_VirtualHARTSV REAL Not Visible Not Required Input HART SV used in Virtual (when Sts_Virtual = 1) (SV
engineering units).
Default is 0.0.
Set_VirtualHARTTV REAL Not Visible Not Required Input HART TV used in Virtual (when Sts_Virtual = 1) (TV
engineering units).
Default is 0.0.
Set_VirtualHARTQV REAL Not Visible Not Required Input HART QV used in Virtual (when Sts_Virtual = 1) (QV
engineering units).
Default is 0.0.
PCmd_Virtual BOOL Not Visible Not Required Input Program command to select Virtual (simulated)
device operation. The instruction clears this
operand automatically.
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program command to select Physical device
operation (not simulated). The instruction clears
this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output This output state always reflects EnableIn input
state.
Val_HARTPV REAL Visible Not Required Output Digital HART PV value in PV engineering units
(after Substitution, if used).
Val_HARTSV REAL Visible Not Required Output Digital HART SV value in SV engineering units
(after Substitution, if used).
Val_HARTTV REAL Visible Not Required Output Digital HART TV value in TV engineering units
(after Substitution, if used).
Val_HARTQV REAL Visible Not Required Output Digital HART QV value in QV engineering units
(after Substitution, if used).
Val_HARTLoopCurrent REAL Visible Not Required Output Digital HART value for Loop Current in milliamps.
Val_InpRawMinFromHART REAL Not Visible Not Required Output Analog input unscaled signal minimum from HART
module (in module units).
Val_InpRawMaxFromHART REAL Not Visible Not Required Output Analog input unscaled signal maximum from HART
module (in module units).
Val_PVEUMinFromHART REAL Not Visible Not Required Output Analog input scaled range minimum from HART
device (in engineering units).
Val_PVEUMaxFromHART REAL Not Visible Not Required Output Analog input scaled range maximum from HART
device (in engineering units).
Sts_eHARTDiagCode1 INT Not Visible Not Required Output HART Diagnostic Code #1 (bit number in Command
48, 255 = none).
Sts_eHARTDiagCode2 INT Not Visible Not Required Output HART Diagnostic Code #2 (bit number in
Command 48, 255 = none).
Sts_eHARTDiagCode3 INT Not Visible Not Required Output HART Diagnostic Code #3 (bit number in
Command 48, 255 = none).
14 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_bHARTDiagSts SINT Not Visible Not Required Output Overall HART diagnostic status,
.0 = Info,
.1 = Maintenance Required,
.2 = Off Specification,
.3 = Function Check,
.4 = Failed.
Sts_bHARTDiagSts1 SINT Not Visible Not Required Output Diagnostic status for HART Diagnostic Code #1,
.0 = Info,
.1 = Maintenance Required,
.2 = Off Specification,
.3 = Function Check,
.4 = Failed.
Sts_bHARTDiagSts2 SINT Not Visible Not Required Output Diagnostic status for HART Diagnostic Code #2,
.0 = Info,
.1 = Maintenance Required,
.2 = Off Specification,
.3 = Function Check,
.4 = Failed.
Sts_bHARTDiagSts3 SINT Not Visible Not Required Output Diagnostic status for HART Diagnostic Code #3,
.0 = Info,
.1 = Maintenance Required,
.2 = Off Specification,
.3 = Function Check,
.4 = Failed.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. Use Inp_InitializeReq
to reinitialize.
Sts_Virtual BOOL Not Visible Not Required Output 1 = Using virtual PV instead of the input from the
device (Inp_PVData) to calculate output. 0 = The
instruction uses input parameter Inp_PVData to
calculate output. Sts_Virtual is a copy of
Inp_Virtual.
Sts_ConnectionFault BOOL Not Visible Not Required Output 1 = HART data input connection fault, 0 =
connection OK.
Sts_DvcMalfunction BOOL Not Visible Not Required Output 1 = HART device reports it has a malfunction.
Sts_CurrentSaturated BOOL Not Visible Not Required Output 1 = HART reports analog current is limited.
Sts_CurrentFixed BOOL Not Visible Not Required Output 1 = Loop Current set to fixed value via HART
command.
Sts_CurrentMismatch BOOL Not Visible Not Required Output 1 = Loop Current reported via HART does not
match analog signal.
Sts_DiagnosticActive BOOL Not Visible Not Required Output 1 = HART data input diagnostic active.
Val_DiagnosticSeqCount SINT Not Visible Not Required Output HART data input diagnostic sequence count (per
change in diagnostic data, wraps).
Publication PROCES-RM215A-EN-P - November 2023 15
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
SrcQ_HARTPV SINT Not Visible Not Required Output Source and quality of HART digital PV
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
16 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ_HARTSV SINT Not Visible Not Required Output Source and quality of HART digital SV
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
SrcQ_HARTTV SINT Not Visible Not Required Output Source and quality of HART digital TV
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
SrcQ_HARTQV SINT Not Visible Not Required Output Source and quality of HART digital QV
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
Publication PROCES-RM215A-EN-P - November 2023 17
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ_HARTLoopCurrent SINT Not Visible Not Required Output Source and quality of HART loop current value
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
Sts_eSts SINT Not Visible Not Required Output Device confirmed status:
0 = Live,
1 = diagnostic information,
2 = maintenance required,
3 = off-spec (uncertain),
4 = function check (substituted),
5 = failure,
6 = HART communication lost,
7 = Virtualized.
Sts_eFault INT Not Visible Not Required Output Device fault status:
0 = None,
1 = a dynamic variable is bad,
2 = device diagnostic indicates a failure,
3 = HART communication lost,
4 = module connection fault,
5 = device reports malfunction.
Val_HARTRevision SINT Not Visible Not Required Output HART Spec major revision received from device.
Private Input Members Data Type Description
MCmd_Physical BOOL Maintenance command to select Physical device operation (not simulated). The
instruction clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (simulated) device operation. The instruction
clears this operand automatically.
Default is false.
Private Output Members Data Type Description
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
Sts_sHARTDesc String_16 Description text from HART device.
Sts_sHARTDiagMsg1 String_32 HART device diagnostic message #1.
Sts_sHARTDiagMsg2 String_32 HART device diagnostic message #2.
Sts_sHARTDiagMsg3 String_32 HART device diagnostic message #3.
18 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Output Members Data Type Description
Sts_sHARTPVEU String_16 Text of HART digital PV's engineering units.
Sts_sHARTQVEU String_16 Text of HART digital QV's engineering units.
Sts_sHARTSVEU String_16 Text of HART digital SV's engineering units.
Sts_sHARTTag String_32 Tag text from HART device.
Sts_sHARTTVEU String_16 Text of HART digital TV's engineering units.
Sts_sPVEU String_16 Text of analog PV's engineering units.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Ref_HARTData PAX_HART_DEV Visible Required InOut HART data from I/O module assembly.
ICE:I:0
Ref_DiagTable P_HART_CODE_ Visible Required InOut Lookup table for diagnostic bit number (to
DESC_STATUS[ message and status).
2]
Ref_UnitsTable RAC_CODE_DE Visible Required InOut Lookup table for units of measure code (to units
SCRIPTION[2] text).
PAX_HART_DEVICE:I:O Structure
The PAX_HART_DEVICE:I:O structure is the input assembly subtype used by
Highly-Integrated HART I/O modules to provide all the HART data required
for this instruction:
Members Data Type Description
RunMode BOOL Always 0, not used by this instruction
ConnectionFaulted BOOL The network connection to the I/O module has been lost
DiagnosticActive BOOL I/O module has at least one diagnostic available
DiagnosticSequenceCount SINT This count increments each time the diagnostic information from the I/O module
changes. It counts to +127, then loops back to -128, skipping zero.
CurrentSaturated BOOL The analog signal has reached its minimum or maximum value and does not
represent the actual process variable
CurrentFixed BOOL The analog signal has been fixed by command and does not represent the actual
process variable
MoreStatusAvailable BOOL At least one Command 48 (additional device status) bit is set and diagnostics should
be displayed
CurrentMismatch BOOL I/O module reports digital value for loop current and actual analog loop current
disagree significantly
ConfigurationChanged BOOL Device reports configuration data (scaling, text, units) have changed
Malfunction BOOL Device reports malfunction detected
LoopCurrent CHANNEL_AI:I:O HART digital value for device analog loop current (mA DC)
PV CHANNEL_AI_HART:I:O HART dynamic Primary Variable with units and status
SV CHANNEL_AI_HART:I:O HART dynamic Secondary Variable with units and status
TV CHANNEL_AI_HART:I:O HART dynamic Tertiary Variable with units and status
QV CHANNEL_AI_HART:I:O HART dynamic Quaternary Variable with units and status
Static AB_5000_HART_Static_Str HART "static" data, such as device scale range, analog signal units of measure, and
uct:I:O device text strings for description and tag name
ChDataAtSignal4 REAL The value provided by the I/O module analog channel when a 4.0 mA DC signal is
received, provided for scaling use by an associated PAI or PAO instruction
Publication PROCES-RM215A-EN-P - November 2023 19
Chapter 1 PlantPAx
Members Data Type Description
ChDataAtSignal20 REAL The value provided by the I/O module analog channel when a 20.0 mA DC signal is
received, provided for scaling use by an associated PAI or PAO instruction
P_HART_CODE_DESC_STATUS Structure
The P_HART_CODE_DESC_STATUS structure is used to look up the
diagnostic text and device status associated with a particular Command 48
diagnostic bit. The device provides a 200-bit (25 byte) array of data, where
each bit set indicates a particular diagnostic condition. An array of members
of this type is used to allow the instruction to display a text description and
status for a given bit.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the diagnostic bit lookup function is not
performed.
Members Data Type Description
Code DINT Diagnostic code. This is the diagnostic bit number (0 to 199) in the array of 200 bits
returned in HART Command 48 (Additional Device Status), or -1 if no diagnostic bit is
set.
Desc STRING_32 Diagnostic text.
bSts SINT Device Status (bitmapped):
.0 = Information
.1 = Maintenance Required
.2 = Off Specification
.3 = Function Check
.4 = Failed
RAC_CODE_DESCRIPTION[x] Structure
The RAC_CODE_DESCRIPTION[x] structure is an array of engineering unit
code numbers and corresponding engineering units text pairs, used as a
lookup table. The instruction searches the table for the engineering units
code received from the device and displays the corresponding engineering
unit text for the variable. This parameter links the instruction to an external
tag that contains necessary data for the instruction to operate. The external
tag must be of the data type shown, or may be NULL. If NULL, the unit code
lookup function is not performed.
Members Data Type Description
Code DINT Code for which to look up Description.
Desc STRING Description for given Code.
20 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
This diagram illustrates functionality of the PAH instruction:
Virtualization
Use virtualization for instruction testing and operator training. Command
virtual operation using program command PCmd_Virtual or maintenance
command MCmd_Virtual. After finishing virtual operation, use program
command PCmd_Physical or maintenance command MCmd_Physical to
return to normal physical device operation.
When Virtualization is active, the output dynamic variable (PV, SV, TV, QV)
values of the PAH instruction are set using Virtual value settings
(Set_VirtualPV, etc.) and I/O faults are ignored. Manipulate the instruction to
operate as if a working HART process device were present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Publication PROCES-RM215A-EN-P - November 2023 21
Chapter 1 PlantPAx
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Engineering units for raw analog signal
• Engineering units for analog signal PV
• Engineering units for HART PV
• Engineering units for HART SV
• Engineering units for HART TV
• Engineering units for HART QV
• Label for HART PV
• Label for HART SV
Monitor the PAH Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Instruction flagged for initialization on first scan / first run
Instruction first run Internal data such as pointers and timers are initialized
22 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Rung-condition-in is false Set rung-condition-out to rung-condition-in.
The instruction executes. HART data, units and status are provided.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes. HART data, units and status are provided.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Instruction flagged for initialization on first scan / first run
Instruction first run Internal data such as pointers and timers are initialized
Instruction first scan Internal data such as pointers and timers are initialized
EnableIn is false EnableOut is set to false.
The instruction executes. HART data, units and status are provided.
EnableIn is true EnableOut is set to true.
The instruction executes. HART data, units and status are provided.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In the following example, the PAH instruction is used alongside a PAI
(Process Analog Input) instruction. The PAI provides processing for the
analog (4 to 20 mA DC) signal from the HART analog input module, and the
PAH instruction provides processing for the digital HART data overlaid upon
the analog signal, received from the same field device. As a result, an analog
real-time signal is provided for closed-loop control (not shown), and four
digital dynamic variables are provided for additional process monitoring.
Publication PROCES-RM215A-EN-P - November 2023 23
Chapter 1 PlantPAx
Ladder Diagram
24 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAH(TI_301_Dvc, ProMag400_I:I.PAxDevice, HART_DiagTable_Flow,
HART_EUTable_Generic);
TI_301.Cfg_InpRawMin:=TI_301_Dvc.Val_InpRawMinFromHART;
TI_301.Cfg_InpRawMax:=TI_301_Dvc.Val_InpRawMaxFromHART;
TI_301.Cfg_PVEUMin:=TI_301_Dvc.Val_PVEUMinFromHART;
TI_301.Cfg_PVEUMax:=TI_301_Dvc.Val_PVEUMaxFromHART;
TI_301.Inp_PVData:=TI_301_Inp_PVData;
TI_301.Inp_ModFault:=TI_301_Inp_ModFault;
TI_301.Inp_ChanFault:=TI_301_Inp_ChanFault;
TI_301.Inp_PVUncertain:=TI_301_Inp_PVUncertain;
Publication PROCES-RM215A-EN-P - November 2023 25
Chapter 1 PlantPAx
PAI(TI_301, 0);
Process Analog Input (PAI) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Analog Input (PAI) instruction monitors an analog input and
checks for alarm conditions. Use the PAI instruction to process a signal from a
channel of an analog input module. Use the PAI instruction with any analog
(REAL) signal.
The PAI instruction:
• Monitors one analog input channel.
• Scales the input Process Value (PV) from raw, input card units to
engineering display units.
• Filters PV to reduce signal noise.
• Monitors PV source, PV quality and PV out-of-range condition.
• Overrides input PV in maintenance.
• Supports virtual PV for use in instruction testing, demonstration, or
operator training.
• Calculates the PV deviation from reference, or setpoint, value.
• Calculates the PV rate of change.
• Captures Min and Max PV excursion values.
• Triggers alarms on PV failure, PV level, and PV deviation from the
reference and PV rate of change.
Available Languages
Ladder Diagram
26 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAI(PAI tag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_ANALOG_INPUT tag Data structure required for proper
operation of the instruction.
BusObj BUS_OBJ tag Bus component
Publication PROCES-RM215A-EN-P - November 2023 27
Chapter 1 PlantPAx
P_ANALOG_INPUT Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, or hidden, members are used in HMI faceplates and are
not programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run.
Use this request to re-initialize. The instruction clears this operand automatically.
Default is true.
Inp_PVData REAL PV signal from sensor or input (PV units). Valid = any float.
Default is 4.0.
Inp_SmartDvcSts DINT Current code provided by SMART device on Inp_PVData. The code is copied to Out_SmartDvcSts
allowing a user to monitor the device status on HMI for diagnostic lookup purposes. Valid = 0 to
maximum positive number.
Default is 0.
Inp_SmartDvcDiagAvailable BOOL 1 = SMART Device diagnostics is available. Typically used to indicate device requires action to keep
operating as expected.
Default is false.
Inp_ModFault BOOL 1 = I/O module failure or module communication status bad,
0 = OK.
Default is false.
Inp_ChanFault BOOL 1 = I/O channel fault or failure,
0 = OK.
Default is false.
Inp_OutOfSpec BOOL 1 = PV out of specification (PV uncertain, from device).
Default is false.
Inp_FuncCheck BOOL 1 = Function check (PV substituted, from device).
Default is false.
Inp_MaintReqd BOOL 1 = Maintenance required (from device).
Default is false.
Inp_PVUncertain BOOL Indicates the channel data accuracy is undetermined. 1 = The channel data is uncertain. This input
sets Sts_PVUncertain if not in Virtual.
Default is false.
Inp_PVNotify SINT Related PV object alarm priority and acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_HiHiGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
28 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_HiGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_LoGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_LoLoGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_HiRoCGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_HiDevGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_LoDevGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_OoRGate BOOL The gate input used for status detection.
1 = The corresponding analog input threshold monitoring is enabled,
0 = detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_Reset BOOL 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable BOOL 1 = Allow maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL 1 = Allow operator to shelve alarms.
Default is true.
Cfg_ClampSB REAL Clamping snap-to band, to clamp when PV gets near to limit (% of PV span). Valid = 0.0 to 100.0
percent of span.
Default is 0.0.
Cfg_InpRawMin REAL Input (unscaled) minimum for scaling. Must be set to the range of the signal connected to the
Inp_PVData (raw PV) input. The input is then scaled to the values set by Cfg_PVEUMin and
Cfg_PVEUMax. Valid = any float not equal to Cfg_InpRawMax
Default is 4.0.
Cfg_InpRawMax REAL Input (unscaled) maximum for scaling. Must be set to the range of the signal connected to the
Inp_PVData (raw PV) input. The input is then scaled to the values set by Cfg_PVEUMin and
Cfg_PVEUMax. Valid = any float not equal to Cfg_InpRawMin
Default is 20.0.
Cfg_PVEUMin REAL PV (output) minimum for scaling to engineering units. Valid = any float not equal to Cfg_PVEUMax
Default is 0.0.
Cfg_PVEUMax REAL PV (output) maximum for scaling to engineering units. Valid = any float not equal to Cfg_PVEUMin.
Tip: The analog input instruction supports reverse scaling. Either the raw (Input) or engineering
(Scaled) range can be reversed (maximum less than minimum).
Default is 100.0.
Publication PROCES-RM215A-EN-P - November 2023 29
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_Ref REAL Reference setting for deviation alarms (engineering units). Valid = any float.
Default is 0.0.
Cfg_FiltWLag REAL Filter cutoff frequency (radian/second). Valid = any float >= 0.0.
Default is 0.0.
Cfg_FiltOrder DINT Filter order: 0 = no filtering, 1 = 1st order low-pass filter, 2 = 2nd order low-pass filter.
Default is 0.
Cfg_RateTime REAL Rate of change time base (seconds), use 1.0 for units/second, 60.0 for units/minute, 3600.0 for
units/hour, 86400.0 for units/day. Valid = any float greater than zero.
Default is 1.0.
Cfg_PVHiLim REAL PV clamping high limit (engineering units). Valid = any float greater than or equal to Cfg_PVLoLim.
Default is 1.50E+38.
Cfg_PVLoLim REAL PV clamping low limit (engineering units). Valid = any float less than or equal to Cfg_PVHiLim.
Default is - 1.5E+38.
Cfg_PVReplaceVal REAL Value to use to replace PV when action = replace (engineering units). Valid = any float.
Default is 0.0.
Cfg_HiHiLim REAL High-High status threshold (engineering units). Valid = any float.
Default is 1.50E+38.
Cfg_HiHiDB REAL The deadband that is applied to the alarm limit. This is used to prevent a noisy signal from
generating spurious alarms. Valid = any float >= 0.0. Tip: If the High-High alarm limit (Cfg_HiHiLim)
is 90 and the High-High alarm deadband (Cfg_HiHiDB) is 5, the High-High alarm is generated when
the output (PV filtered, Val) rises above 90 and is cleared once the output (Val) falls below 85 (90
minus 5).
Default is 1.0.
Cfg_HiHiGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_HiLim REAL High status threshold (engineering units). Valid = any float.
Default is 1.50E+38.
Cfg_HiDB REAL The deadband that is applied to the alarm limit (engineering units).
Default is 1.0.
Cfg_HiGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_LoLim REAL Low status threshold (engineering units). Valid = any float.
Default is -1.5E+38.
Cfg_LoDB REAL The deadband that is applied to the alarm limit (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_LoGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_LoLoLim REAL Low-Low status threshold (engineering units). Valid = any float.
Default is -1.5E+38.
Cfg_LoLoDB REAL The deadband that is applied to the alarm limit (engineering units).
Default is 1.0.
Cfg_LoLoGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_HiRoCLim REAL High rate of change status threshold (engineering units). Valid = any float >= 0.0.
Default is 1.50E+38.
30 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_HiRoCDB REAL The deadband that is applied to the alarm limit (engineering units). Valid any float >= 0.0 and
<Cfg_HiRoCLim. If Cfg_HiRoCLim=0.0 then the only valid setting is Cfg_HiRoCDB=0.0.
Default is 1.0.
Cfg_HiRoCGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_HiDevLim REAL High deviation status threshold (engineering units). Valid = any float >= 0.0.
Default is 1.50E+38.
Cfg_HiDevDB REAL The deadband that is applied to the alarm limit (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_HiDevGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_LoDevLim REAL Low Deviation status threshold (engineering units). Valid = any float <= 0.0.
Default is -1.5E+38.
Cfg_LoDevDB REAL The deadband that is applied to the alarm limit (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_LoDevGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_OoRHiLim REAL High out of range status threshold (raw units). Valid = any float.
Default is 20.733334.
Cfg_OoRLoLim REAL Low out of range status threshold (raw units). Valid = any float.
Default is 3.6666667.
Cfg_OoRDB REAL The deadband that is applied to the alarm limit (raw units). Valid = any float >= 0.0.
Default is 0.06666667.
Cfg_OoRGateDly REAL The time (seconds) after the gate input activates before the threshold detection is enabled. Valid =
0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_OoROnDly REAL The minimum time (seconds) the gated raw PV must remain above the upper (Cfg_OoRHiLim) or
below the lower (Cfg_OoRLoLim) limit for the status Sts_OoR to be set. On-delay time is used to
avoid unnecessary alarm when the raw PV only briefly overshoots Cfg_OoRHiLim or undershoots
Cfg_OoRLoLim. Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_OoROffDly REAL The time (second) the gated raw PV must stay within each status threshold to clear the status.
Off-delay time is used to reduce chattering alarm. Tip: If Cfg_OoROffDly is five seconds, the gated
raw PV must be below the status limit (Cfg_OoRHiLim) minus deadband (Cfg_OoRDB) for five
seconds before the status is returned to normal. Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_StuckTime REAL Time with no change in input to raise stuck status (second). Valid = 0.0 to 2147483.0 seconds.
Default is 60.0.
Cfg_InpOoRAction SINT PV action on out of range:
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 1.
Cfg_InpOoRQual SINT Out of range flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Publication PROCES-RM215A-EN-P - November 2023 31
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_InpStuckAction SINT PV action on stuck (unchanging):
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 1.
Cfg_InpStuckQual SINT Stuck (unchanging) flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 1.
Cfg_InpNaNAction SINT PV action on not a number:
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 2.
Cfg_InpNaNQual SINT PV not a number flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Cfg_ModFaultAction SINT PV action on I/O module fault:
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 2.
Cfg_ModFaultQual SINT I/O module fault Flag as:
1 = Good,
2= Uncertain,
3 = Bad.
Default is 3.
Cfg_ChanFaultAction SINT PV action on channel fault:
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 2.
Cfg_ChanFaultQual SINT I/O channel fault flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Cfg_OutOfSpecAction SINT PV action on out of spec (from device):
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 1.
Cfg_OutOfSpecQual SINT Inp_PVUncertain flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 2.
32 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_FuncCheckAction SINT PV action on function check (from device):
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 3.
Cfg_FuncCheckQual SINT Function check flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Cfg_MaintReqdAction SINT PV action on maintenance required (from device):
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 3.
Cfg_MaintReqdQual SINT Maintenance required flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Cfg_CfgErrAction SINT PV action on Instruction configuration error:
1 = Pass input PV through unchanged,
2 = Hold last good PV value,
3 = Replace PV value with Cfg_PVReplaceVal.
Default is 3.
Cfg_CfgErrQual SINT Instruction configuration error flag as:
1 = Good,
2 = Uncertain,
3 = Bad.
Default is 3.
Cfg_CtrlHiHiLim REAL Current high-high control threshold (engineering units). Valid = any float.
Default is 1.50E+38.
Cfg_CtrlHiHiDB REAL High-High control deadband (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_CtrlHiLim REAL Current high control threshold (engineering units). Valid = any float.
Default is 1.50E+38.
Cfg_CtrlHiDB REAL High control deadband (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_CtrlLoLim REAL Current low control threshold (engineering units). Valid = any float.
Default is -1.5E+38.
Cfg_CtrlLoDB REAL Low control deadband (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_CtrlLoLoLim REAL Current low-low control threshold (engineering units). Valid = any float.
Default is -1.5E+38.
Cfg_CtrlLoLoDB REAL Low-Low control deadband (engineering units). Valid = any float >= 0.0.
Default is 1.0.
Cfg_HasSmartDvc BOOL 1 = Enable a button on the HMI that could be used to call up a SMART Device faceplate (diagnostics).
Default is false.
Cfg_HasRoC BOOL 1 = PV rate of change made visible in HMI.
Default is false.
Cfg_HasDev BOOL 1 = PV Deviation made visible in HMI.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 33
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_HasOutNav BOOL 1 = Tells HMI to enable navigation to a connected output object,
0 = No connected output object.
Default is false.
Cfg_HasPVNav BOOL 1 = Tells HMI to enable navigation to a connected process variable object.
Default is false.
Cfg_HasHistTrend SINT Has Historical Trend. This enables navigation to the Device Historical Trend Faceplate from the HMI.
0 = No external historical trend,
1 = Datalog historical trend,
2 = Historian historical trend.
Default is 0.
Cfg_FailOnUncertain BOOL 1 = Raise Sts_Fail (and fail alarm) if PV quality is uncertain,
0 = Raise Sts_Fail (and fail alarm) only if PV quality is bad (scaling configuration error, PV is NaN or
Inf, I/O fault or raw PV is out of range.
Default is false.
Cfg_NoSubstPV BOOL Disables the maintenance substitution feature.
0 = The Substitute PV Maintenance function is enabled,
1 = The Substitute PV Maintenance function is disabled.
When Cfg_NoSubstPV is 0, the commands MCmd_SubstPV and MCmd_InpPV are used to select the
input PV or the substitute PV. Sts_SubstPV is set to 1 when the substitute PV is selected.
Default is false.
Cfg_SetTrack BOOL 1 = Set_VirtualPV tracks Val_InpPV in virtual. MSet_SubstPV tracks Val_InpPV when substitution is
not active. 0 = No tracking.
Default is true.
Cfg_SclngTyp SINT Scaling Type
0 = none,
1 = Linear,
2 = Square Root.
Default is 1.
Cfg_PVDecPlcs SINT Number of decimal places for process variable display. Valid = 0 to 6.
Default is 2.
Cfg_CnfrmReqd SINT Operator command confirmation required. Represents the type of command confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PSet_Owner DINT Program owner request ID (non-zero) or release (zero).
Default is 0.
Set_VirtualPV REAL PV used in virtual (Sts_Virtual = 1) (engineering units).
Default is 0.0.
PCmd_ClearCapt BOOL Set PCmd_ClearCapt to 1 to clear the captured minimum/maximum PV excursion values. The
instruction clears this operand automatically.
Default is false.
PCmd_Reset BOOL Program command to reset all alarms and latched shed conditions requiring reset. The instruction
clears this operand automatically.
Default is false.
PCmd_Physical BOOL Program command to select Physical device operation (not simulated). The instruction clears this
operand automatically.
Default is false.
34 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
PCmd_Virtual BOOL Program command to select Virtual (simulated) device operation. The instruction clears this
operand automatically.
Default is false.
XCmd_ClearCapt BOOL External command to clear the captured minimum/maximum PV excursion values. The instruction
clears this operand automatically.
Default is false.
XCmd_Reset BOOL External command to reset all alarms and latched shed conditions. The instruction clears this
operand automatically.
Default is false.
XCmd_ResetAckAll BOOL External command to acknowledge and reset all alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Description
Type
EnableOut BOOL This output state always reflects EnableIn input state.
Val REAL Analog input value in engineering units (after Substitute PV, if used).
Extended Properties of this member:
Units - Engineering units (text) used for the analog input.
Val_InpPV REAL Analog input value in engineering units (actual, before Substitute PV selection).
Val_RoC REAL Analog value Rate of Change (engineering units/rate time).
Val_Dev REAL Calculated deviation from reference (engineering units).
Val_PVMinCapt REAL Captured PV minimum (excursion) since last cleared (engineering units). Default is 1.5E+38.
Val_PVMaxCapt REAL Captured PV maximum (excursion) since last cleared (engineering units). Default is -1.5E+38.
Val_PVEUMin REAL Minimum of scaled range = MIN (Cfg_PVEUMin, Cfg_PVEUMax).
Val_PVEUMax REAL Maximum of scaled range = MAX (Cfg_PVEUMin, Cfg_PVEUMax).
Out_SmartDvcSts DINT Status code of a SMART Device provided by Inp_SmartDvcSts. Out_SmartDvcSts is a copy of
Inp_SmartDvcSts.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_SmartDvcDiagAvailable BOOL 1 = Diagnostics of a SMART Device is currently available. Typically used to indicate device
requires action to keep operating as expected. Sts_SmartDvcDiagAvailable is a copy of
Inp_SmartDvcDiagAvailable.
Sts_PVGood BOOL 1 = PV quality is Good (not flagged as Bad or Uncertain).
Sts_PVUncertain BOOL Indicates the channel data accuracy is undetermined. 1 = The channel data is uncertain. This
output is set by Inp_PVUncertain (if not in Virtual).
Sts_PVBad BOOL 1 = PV quality is flagged as Bad.
Sts_InpStuck BOOL 1 = Input is stuck (unchanging).
Sts_InpNaN BOOL 1 = Input is not a number (floating point exception).
Sts_OutOfSpec BOOL 1 = Working outside specifications (from device).
Sts_FuncCheck BOOL 1 = Function check (PV simulated/replaced at device).
Sts_MaintReqd BOOL 1 = Maintenance is required (from device).
Sts_UseInp BOOL 1 = Using input to calculate PV (not replaced or held).
Sts_HoldLast BOOL 1 = Analog PV being held at last good value.
Sts_Clamped BOOL 1 = Analog PV being clamped at Low or High Limit.
Sts_Replaced BOOL 1 = Analog PV being replaced with configured value.
Sts_SubstPV BOOL 1 = Using substitute PV (Override).
Sts_InpPV BOOL 1 = Using input PV (Normal).
Publication PROCES-RM215A-EN-P - November 2023 35
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_Virtual BOOL 1 = Using virtual PV instead of the input from the device (Inp_PVData) to calculate output.
0 = The instruction uses input operand Inp_PVData to calculate output.
Sts_Virtual is a copy of Inp_Virtual.
SrcQ_IO SINT Source and quality of primary input or output (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
SrcQ SINT Source and quality of primary value or status (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
Sts_bSts SINT Device confirmed status:
0 = PV Good,
Sts_bSts.0: PV Uncertain,
Sts_bSts.1: PV Bad,
Sts_bSts.2: PV Substituted.
PV is Good if Sts_PVUncertain = 0 and Sts_PVBad = 0,
PV is Uncertain if Sts_PVUncertain = 1,
PV is Bad if Sts_PVBad = 1,
PV is Substituted if Sts_SubstPV or Sts_Virtual = 1.
36 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_bFault INT Device fault status:
0 = None,
Sts_bFault.0: Low,
Sts_bFault.1: High,
Sts_bFault.2: Low Deviation,
Sts_bFault.3: High Deviation,
Sts_bFault.4: Low Low,
Sts_bFault.5: High High,
Sts_bFault.6: High Rate of Change,
Sts_bFault.7: Fail,
Sts_bFault.8: Configuration Error.
Sts_eNotify SINT All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT All alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiHi SINT HiHi alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 37
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_eNotifyHi SINT Hi alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLo SINT Lo alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLoLo SINT LoLo alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiRoC SINT HiRoC alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
38 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_eNotifyHiDev SINT HiDev alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLoDev SINT LoDev alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFail SINT Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_MaintByp BOOL 1 = The Device has a maintenance bypass function active.
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrRaw BOOL 1 = Error in configuration: Raw input scaling Min = Max.
Sts_ErrEU BOOL 1 = Error in configuration: Scaled EU Min = Max.
Sts_ErrFiltWLag BOOL 1 = Error in configuration: Filter cutoff frequency.
Sts_ErrFiltOrder BOOL 1 = Error in configuration: Filter order.
Sts_ErrRateTime BOOL 1 = Error in configuration: PV Rate of Change time base.
Sts_ErrHiHiDB BOOL 1 = Error in configuration: Cfg_HiHiDB deadband is < 0.0.
Sts_ErrHiHiGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrHiDB BOOL 1 = Error in configuration: Cfg_HiDB deadband is < 0.0.
Sts_ErrHiGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrLoDB BOOL 1 = Error in configuration: Cfg_LoDB deadband is < 0.0.
Sts_ErrLoGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrLoLoDB BOOL 1 = Error in configuration: Cfg_LoLoDB deadband is < 0.0.
Sts_ErrLoLoGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrHiRoCDB BOOL 1 = Error in configuration: Cfg_HiRoCDB deadband is invalid.
Publication PROCES-RM215A-EN-P - November 2023 39
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_ErrHiRoCGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrHiDevDB BOOL 1 = Error in configuration: Cfg_HiDevDB deadband is < 0.0.
Sts_ErrHiDevGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrLoDevDB BOOL 1 = Error in configuration: Cfg_LoDevDB deadband is < 0.0.
Sts_ErrLoDevGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrOoRDB BOOL 1 = Error in configuration: Cfg_OoRDB deadband is < 0.0.
Sts_ErrOoRGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrOoROnDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrOoROffDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrStuckTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrCmdCnfrmTimeOutTime BOOL 1 = Error in configuration: Command confirmation timer preset (use 0.0 to 2147483.0).
Sts_ErrAlm BOOL 1 = Error in tag-based alarm settings.
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL IO Fault status is set to 1 if there is a Module fault (Inp_ModFault = 1) or Channel fault
(Inp_ChanFault = 1) and PV is not virtual.
Sts_HiHiCmp BOOL PV comparison result, 1 = High-High.
Sts_HiHiGate BOOL PV High-High gate delay status, 1 = done.
Sts_HiHi BOOL 1 = Analog input is above High-High limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_HiHi.AlarmElement
Sts_HiCmp BOOL PV comparison result 1 = High.
Sts_HiGate BOOL PV High gate delay status, 1 = done.
Sts_Hi BOOL 1 = Analog input is above High limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_Hi.AlarmElement
Sts_LoCmp BOOL PV comparison result 1 = Low.
Sts_LoGate BOOL PV Low gate delay status, 1 = done.
Sts_Lo BOOL 1 = Analog input is below Low limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_Lo.AlarmElement
Sts_LoLoCmp BOOL PV comparison result 1 = Low-Low.
Sts_LoLoGate BOOL PV Low-Low gate delay, status 1 = done.
Sts_LoLo BOOL 1 = Analog input is below Low-Low limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_LoLo.AlarmElement
Sts_HiRoCCmp BOOL PV comparison result 1 = High Rate of Change.
Sts_HiRoCGate BOOL PV High Rate of Change gate delay status, 1 = done.
40 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_HiRoC BOOL 1 = Analog input Rate of Change is above High limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_HiRoC.AlarmElement
Sts_HiDevCmp BOOL PV comparison result 1 = High Deviation.
Sts_HiDevGate BOOL PV High Deviation gate delay, status 1 = done.
Sts_HiDev BOOL 1 = Analog input Deviation is above High limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_HiDev.AlarmElement
Sts_LoDevCmp BOOL PV comparison result, 1 = Low Deviation.
Sts_LoDevGate BOOL PV Low Deviation delay status, 1 = done.
Sts_LoDev BOOL 1 = Analog input Deviation is below Low limit.
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_LoDev.AlarmElement
Sts_OoRHiCmp BOOL PV comparison result, 1 = High Out of Range.
Sts_OoRLoCmp BOOL PV comparison result, 1 = Low Out of Range.
Sts_OoRCmp BOOL PV comparison result, 1 = Out of Range.
Sts_OoRGate BOOL PV Out of Range gate delay status, 1 = done.
Sts_OoR BOOL 1 = Analog raw input is above High raw limit or below Low raw limit.
Sts_Fail BOOL 1 = Analog input failed. At least one of the following conditions holds: PV scaling configuration
error, raw PV is out of range or not a number, input module or input channel fault, device
reports PV uncertain (if configured for).
There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this
format:
[email protected]_Fail.AlarmElement
Sts_CnfrmOperCmdReq BOOL 1 = Operator command request is awaiting confirmation.
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
XRdy_ClearCapt BOOL 1 = Ready for XCmd_ClearCapt, enable HMI button.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Val_Owner DINT Current object owner ID (0 = not owned).
Private Input Members Data Type Description
MSet_SubstPV REAL Maintenance-entered substitute PV in engineering units that
overrides input PV when MCmd_SubstPV is 1. If not using the
substitute (MCmd_SubstPV is false), the MSet_SubstPV
setting tracks the Out value for bumpless transfer from
input PV to substitute PV.
Default = 0.0.
MCmd_SubstPV BOOL Maintenance command to use Substitute PV. The instruction
clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 41
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_InpPV BOOL Maintenance command to use Input PV (normal). The
instruction clears this operand automatically.
Default is false.
OCmd_ClearCapt BOOL Operator command to clear the captured
minimum/maximum PV excursion values. The instruction
clears this operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms and latched shed
conditions. The instruction clears this operand
automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to acknowledge and reset all alarms and
latched shed conditions. The use of OCmd_ResetAckAll is
restricted to HMI. The instruction clears this operand
automatically.
Default is false.
OCmd_CmdCncl BOOL Operator command to cancel command request. The
instruction clears this operand automatically.
Default is false.
OCmd_CmdCnfrm BOOL Operator command to confirm command request. The
instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
MRdy_SubstPV BOOL 1 = Ready for MCmd_SubstPV.
MRdy_InpPV BOOL 1 = The instruction is ready for MCmd_InpPV command.
ORdy_ClearCapt BOOL 1 = Ready for OCmd_ClearCapt, enable HMI button.
ORdy_Reset BOOL 1 = A latched alarm or shed condition is ready to be reset.
ORdy_ResetAckAll BOOL 1 = A latched alarm or shed condition is ready to be reset or
acknowledged.
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component.
BUS_OBJ Structure
The BUS_OBJ structure links the analog input instruction to other devices and
instructions in a complex control strategy, typically into a hierarchy. A Bus
Object rolls up status and alarm information from lower level devices to
higher level control and fans out commands from higher level control to lower
level devices. Items link to the bus by referencing a single member of the
BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
42 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete tag-based alarms are defined for these members.
Member Alarm Name Description
Sts_Fail Alm_Fail Raised when any of the following is true:
• The PV quality is bad. The PV quality is bad if either
Inp_ChanFault or Inp_ModFault input is 1. The PV bad quality
check is skipped in Virtual.
• The Inp_PVUncertain input is true and the instruction is
configured for PV uncertain status taking effect on failure. The
PV uncertain check is skipped in Virtual.
• The PV is outside the configured failure limits.
• The PV is infinite or not a number (floating-point exception).
• The raw or engineering unit range configuration used in
scaling is invalid.
Sts_HiHi Alm_HiHi Raised when the PV is above the High-High threshold and the
associated gate is opened (Inp_HiHiGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Sts_Hi Alm_Hi Raised when the PV is above the High threshold and the
associated gate is opened (Inp_HiGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Sts_Lo Alm_Lo Raised when the PV is below the Low threshold and the
associated gate is opened (Inp_LoGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Sts_LoLo Alm_LoLo Raised when the PV is below the Low-Low threshold and the
associated gate is opened (Inp_LoLoGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Publication PROCES-RM215A-EN-P - November 2023 43
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_HiDev Alm_HiDev Raised when the amount by which the PV exceeds the setpoint or
reference is above the High Deviation threshold while the
associated gate is opened (Inp_HiDevGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Sts_LoDev Alm_LoDev Raised when the amount by which the PV exceeds the setpoint or
reference is below the Low Deviation threshold while the
associated gate is opened (Inp_LoDevGate = 1). Since the
threshold is a negative number, this is the amount the PV falls
below the setpoint or reference. The threshold, deadband, and
gate delay are set in alarm configuration.
Sts_HiRoC Alm_HiRoC Raised when the amount by which the absolute value of PV rate
of change exceeds High Rate of Change limit while the
associated gate is opened (Inp_HiRoCGate = 1). The threshold,
deadband, and gate delay are set in alarm configuration.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected]
• There is a Program command that enables to Reset all alarms of the
instruction (Alarm Set) at the same time.
• There are Operator commands that enable to Reset, and
Reset&Acknowledge all alarms of the instruction (Alarm Set) at the
same time.
• There are External commands that enable to Reset, and
Reset&Acknowledge all alarms of the instruction (Alarm Set) at the
same time.
44 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Publication PROCES-RM215A-EN-P - November 2023 45
Chapter 1 PlantPAx
These diagrams show how Fail, High High, High, Low, Low Low, High
Deviation, Low Deviation and High Rate of Change alarm conditions are
calculated in the PAI instruction.
46 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Publication PROCES-RM215A-EN-P - November 2023 47
Chapter 1 PlantPAx
48 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
The PAI instruction:
• Monitors one analog input channel for the following conditions:
• Invalid configuration of the instruction (scaling configuration
error)
• I/O channel fault
• I/O module fault
• Input not-a-number (floating-point exception)
• Raw input out of range
• Input stuck (unchanging)
• Out of specification (uncertain) – reported from the device
Publication PROCES-RM215A-EN-P - November 2023 49
Chapter 1 PlantPAx
• Function check (substitute PV entered manually) - reported from
the device
• Maintenance required - reported from the device
• For each condition, takes these actions:
• Pass the PV through unchanged
• Use the last good PV value
• Apply a configured replacement PV value
• Scales the input value from raw (input card) units to engineering
(display) units:
• Linear scaling (optional)
• Square root characterized scaling (optional).
Tip: Square root characterized scaling is typically used with orifice plates or other
pressure-differential elements for flow measurement when the transmitter does not
provide square root characterization. The square root scaling in the instruction works
with pressure differential to provide positive or negative flow values.
• Filters PV (optional) to reduce signal noise.
• Monitors PV Source, PV Quality and PV out-of-range condition.
• Supports maintenance selection of the substitute PV function to allow
manual override of the input PV.
• Supports virtual PV for use in instruction testing, demonstration, or
operator training.
• Provides entry of a reference (setpoint) value and calculates PV
deviation from the reference value.
• Calculates the PV rate of change (RoC).
• Captures Min and Max PV excursion values.
50 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
These diagrams illustrate the functionality of the PAI instruction:
Publication PROCES-RM215A-EN-P - November 2023 51
Chapter 1 PlantPAx
Virtualization
Use virtualization for instruction testing and operator training. Set the
Inp_Virtual operand to 1 to enable virtualization. After finishing
virtualization, set the Inp_Virtual operand to 0 to return to normal operation.
Virtualization enables processing the virtual input instead of normal (scaled)
input PV. The instruction has operand (Set_VirtualPV) for entering virtual PV
in EU. When the instruction is not in Virtual, the virtual PV setting
(Set_VirtualPV) tracks the selected PV for bumpless transfer into Virtual.
52 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Initialization
The instruction is normally initialized in the instruction first run.
Re-initialization can be requested any time by setting Inp_InitializeReq = 1.
For proper initialization, when adding the instruction while performing an
online edit of the code, make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box. The strings are set to extended
properties of tag items. Configure the strings in the Logix Designer
application only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• PV raw units
• PV engineering units
Monitor the PAI Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Publication PROCES-RM215A-EN-P - November 2023 53
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
The state of using raw input or maintenance substitute PV is not modified and
persists through a controller powerup or PROG-to-RUN transition.
Instruction first run All commands that are automatically cleared each execution are cleared and
ignored.
Filter is initialized. Internal timers are reset.
The instruction executes normally.
Rung-condition-in is false Set rung-condition-out to rung-condition-in.
The instruction shows a status of IO fault (Sts_IOFault). The calculation of the
scaled input PV value (Val_InpPV) is executed to indicate to the operator the
actual input value, even though the primary PV (Val) is not updated (holds last
value).
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
The state of using raw input or maintenance substitute PV is not modified and
persists through a controller powerup or PROG-to-RUN transition.
Instruction first run All commands that are automatically cleared on each execution are cleared and
ignored.
Filter is initialized. Internal timers are reset.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction shows a status of IO fault (Sts_IOFault). The calculation of the
scaled input PV value (Val_InpPV) is executed to indicate to the operator the
actual input value, even though the primary PV (Val) is not updated (holds last
value).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
54 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
The following example shows the processing of raw analog input by the PAI
instruction. The raw input value (Local:1:I.Ch0Data) from the analog input
card is used as the raw input value (Inp_PVData) for the PAI instruction. The
final output process value (Feedwater_Flow) is the fully converted, scaled, and
filtered analog value that is propagated through the system. The instruction
also uses the Channel Fault and Module Fault parameters taken from the
same analog input module as the process value. The Inp_ChanFault is the tag
value for the channel (Local:1:I.Ch0Fault). The Inp_ModFault is the tag value
for the Local:1:I.AnalogGroupFault tag, which is set when any bits in the
Channel Fault word are set.
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 55
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
FI_103.Inp_PVData := Local:1:I.Ch0Data;
FI_103.Inp_ModFault := Local:1:I.AnalogGroupFault;
FI_103.Inp_ChanFault := Local:1:I.Ch0Fault;
PAI(FI_103);
Feedwater_Flow := FI_103.Out;
Process Dual Sensor Analog This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Input (PAID)
The Process Dual Sensor Analog Input (PAID) instruction monitors one
analog Process Variable (PV) by using two analog input signals, from sources
such as dual sensors, dual transmitters, and dual input channels. The PAID
instruction monitors conditions of the channels and reports configured PV
quality. The PAID instruction has functions for input selection, averaging,
and failure detection. Additional functions, such as for filtering and alarming,
are done by a downstream PAI block.
The PAID Instruction provides:
• Selection of the sensor or input A value, the sensor or input B value, the
average of the two, the lesser of the two, or the greater of the two as the
PV value.
• Input Source and Quality monitoring for uncertain or bad input for
each sensor, transmitter, or input, plus monitoring of each signal for
out-of-range condition. If one PV is bad, failed, or out or range, the
other PV is automatically selected.
• Warning alarm if the difference between the two sensor PVs exceeds a
configured limit.
• Warning alarm if only one PV has good quality.
56 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Warning alarm if neither PV has good quality; for example, if both are
uncertain.
• Failure alarm if both PVs are bad; for example, each PV has bad quality
(Inp_PVABad or Inp_PVBBad) or is outside the configured failure
range.
Available Languages
Ladder Diagram
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 57
Chapter 1 PlantPAx
Structured Text
PAID (PAIDTag, 0);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_ANALOG_INPUT_DUAL tag Data structure required for proper operation of instruction.
BusObj BUS_OBJ tag Bus component
P_ANALOG_INPUT_DUAL Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_PVAData REAL PV signal from sensor or input A (PV units). Valid = any float.
Default is 0.0.
Inp_PVASrcQ SINT Input source and quality, from channel A object, if available (enumeration).
Default is 0.
58 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_PVANotify SINT Related PV object alarm priority and acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcASts DINT Current code provided by SMART Device on Inp_PVAData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the device status on HMI for diagnostic
lookup purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVBData REAL PV signal from sensor or input B (PV units). Valid = any float.
Default is 0.0.
Inp_PVBSrcQ SINT Input source and quality, from channel B object, if available (enumeration).
Default is 0.
Inp_PVBNotify SINT Related PV object alarm priority and acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcBSts DINT Current code provided by SMART Device on Inp_PVBData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the device status on HMI for diagnostic
lookup purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVABad BOOL Signal quality or communication status for input A: 1 = Bad, 0 = OK.
Default is false.
Inp_PVAUncertain BOOL Signal quality for input A: 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcADiagAvailable BOOL 1 = SMART Device on Inp_PVAData diagnostics available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVBBad BOOL Signal quality or communication status for input B: 1 = Bad, 0 = OK.
Default is false.
Inp_PVBUncertain BOOL Signal quality for input B: 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcBDiagAvailable BOOL 1 = SMART device on Inp_PVBData diagnostics available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 59
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_DiffGate BOOL The gate input used for status detection. 1 = The corresponding analog input threshold
monitoring is enabled. 0 = detection is disabled and the corresponding status output is
forced off.
Default is true.
Cfg_AllowDisable BOOL 1 = Allow maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL 1 = Allow operator to shelve alarms.
Default is true.
Cfg_UseInpSrcQPVA BOOL 1 = Use PVA SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVB BOOL 1 = Use PVB SrcQ input for rejection decisions.
Default is false.
Cfg_HasPVNav BOOL 1 = Tells HMI to enable navigation to a connected PV (Val) object.
Default is false.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more information is available for navigation.
Default is false.
Cfg_HasNav SINT Set bits indicate which navigation buttons are enabled .0=PVA, .1=PVB
Default is 0.
Cfg_PVEUMin REAL PV (Output) minimum for display PV units. Valid = any float.
Default is 0.0.
Cfg_PVEUMax REAL PV (Output) maximum for display PV units. Valid = any float.
Default is 100.0.
Cfg_DiffLim REAL Signal difference status limit for PV units, difference. Valid = any nonnegative float.
Default is 1.50E+38.
Cfg_DiffDB REAL Signal difference status deadband for PV units, difference. Valid = any nonnegative float.
Default is 1.0.
Cfg_DiffGateDly REAL The time (seconds) after the gate input activates before the threshold detection is
enabled. Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_OoRHiLim REAL Out-of-range (fail) high limit for input units. Valid = any float.
Default is 103.958336.
Cfg_OoRLoLim REAL Out-of-range (fail) low limit for input units. Valid = any float.
Default is -2.0833333.
Cfg_OoRDB REAL Out-of-range (fail) high or low deadband for input units. Valid = any nonnegative float.
Default is 0.41666666.
Cfg_AllowOper BOOL 1 = Oper is allowed to control PV selection.
Default is false.
Cfg_AllowProg BOOL 1 = Prog is allowed to control PV selection.
Default is false.
Cfg_AllowExt BOOL 1 = Ext is allowed to control PV selection.
Default is false.
Cfg_PVDecPlcs SINT Number of decimal places for PV display. Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_CnfrmReqd SINT Operator command confirmation required. Represents the type of command
confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
60 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
PSet_Owner DINT Program owner request ID (non-zero) or release (zero) (Valid = any integer).
Default is 0.
PCmd_SelA BOOL Program command to select sensor A PV.
Default is false.
PCmd_SelB BOOL Program command to select sensor B PV.
Default is false.
PCmd_SelAvg BOOL Program command to select average (A,B) PV.
Default is false.
PCmd_SelMin BOOL Program command to select minimum (A,B) PV.
Default is false.
PCmd_SelMax BOOL Program command to select maximum (A,B) PV.
Default is false.
PCmd_Reset BOOL Program command to reset all alarms requiring reset.
Default is false.
XCmd_SelA BOOL External command to select sensor A PV.
Default is false.
XCmd_SelB BOOL External command to select sensor B PV.
Default is false.
XCmd_SelAvg BOOL External command to select average (A,B) PV.
Default is false.
XCmd_SelMin BOOL External command to select minimum (A,B) PV.
Default is false.
XCmd_SelMax BOOL External command to select maximum (A,B) PV.
Default is false.
XCmd_Reset BOOL External command to reset all alarms and latched shed conditions. The instruction clears
this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL External command to acknowledge and reset all alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output - System Defined Parameter
Val REAL Selected analog PV , including substitute PV, if used (PV units).
Val_PVA REAL Analog value (actual) from input A (PV units).
Val_PVB REAL Analog value (actual) from input B (PV units).
Val_AvgPV REAL Analog value average of input A and input B (PV units).
Val_MinPV REAL Analog value minimum of input A and input B (PV units).
Val_MaxPV REAL Analog value maximum of input A and input B (PV units).
Val_InpPV REAL Selected PV, before substitution, for example (PV units).
Val_Diff REAL Difference between input A and input B PVs (PV units).
Val_PVEUMin REAL Minimum of PV range = minimum (Cfg_PVEUMin, Cfg_PVEUMax) (PV units).
Val_PVEUMax REAL Maximum of PV range = maximum (Cfg_PVEUMin, Cfg_PVEUMax) (PV units).
Out_SmartDvcSts DINT Status code of a SMART device provided by Inp_SmartDvcASts or Inp_SmartDvcBSts.
Highest status code selected.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_SmartDvcDiagAvailable BOOL 1 = Diagnostics of a SMART device is currently available. Typically used to indicate one of
the devices requires action to keep operating as expected.
Sts_PVASel BOOL 1 = Input A selected for PV.
Sts_PVBSel BOOL 1 = Input B selected as PV.
Publication PROCES-RM215A-EN-P - November 2023 61
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_AvgSel BOOL 1 = Average (A,B) selected as PV.
Sts_MinSel BOOL 1 = Minimum (A,B) selected as PV.
Sts_MaxSel BOOL 1 = Maximum (A,B) selected as PV.
Sts_PVBad BOOL 1 = PV bad quality or out of range.
Sts_PVUncertain BOOL 1 = PV value is uncertain (quality).
SrcQ_IOA SINT Source and quality of primary I/O (enumeration).
SrcQ_IOB SINT Source and quality of primary I/O (enumeration).
SrcQ_IO SINT Source and quality of primary I/O (enumeration).
SrcQ SINT Source and quality of primary Val or Sts (enumeration).
Sts_eSts SINT Device confirmed status (enum): 0 = PV Good, 1: PV Uncertain, 2: PV Bad.
Sts_eFault INT Device fault status (enum): 0 = None, 16 = One good PV, 19 = No good PV, 26 = High
difference, 32 = Fail, 34 = Bad configuration.
Sts_eNotify SINT All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT All alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyOneGood SINT Only one good PV alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
62 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eNotifyNoneGood SINT No good PV alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyDiff SINT Input Difference alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFail SINT Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_Err BOOL 1 = Error in config, see detail bits for reason.
Sts_ErrEU BOOL 1 = Error in config: Cfg_PVEUMax cannot equal Cfg_PVEUMin.
Sts_ErrDiffDB BOOL 1 = Error in configuration: Cfg_LoDevDB deadband is < 0.0.
Sts_ErrDiffGateDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrOoRDB BOOL 1 = Error in configuration: Cfg_OoRDB deadband is < 0.0.
Sts_ErrAlm BOOL 1 = Error in logix tag-based alarm settings.
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = An alarm is shelved or disabled.
Sts_OneGood BOOL 1 = Only one good PV (other is bad or uncertain).
Sts_NoneGood BOOL 1 = No good PV (both bad, or one bad or one uncertain).
Sts_DiffCmp BOOL Signal difference comparison result 1 = high difference.
Sts_DiffGate BOOL Signal difference gate delay status, 1 = done.
Sts_Diff BOOL 1 = High signal difference detected.
Sts_Fail BOOL 1 = Total signal failure (both bad or out of range).
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
XRdy_SelA BOOL 1 = Ready for XCmd_SelA, enable HMI button.
Publication PROCES-RM215A-EN-P - November 2023 63
Chapter 1 PlantPAx
Public Output Members Data Type Description
XRdy_SelB BOOL 1 = Ready for XCmd_SelB, enable HMI button.
XRdy_SelAvg BOOL 1 = Ready for XCmd_SelAvg, enable HMI button.
XRdy_SelMin BOOL 1 = Ready for XCmd_SelMin, enable HMI button.
XRdy_SelMax BOOL 1 = Ready for XCmd_SelMax, enable HMI button.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Val_Owner DINT Current object owner ID (0 = not owned).
Private Input Members Data Type Description
OCmd_Reset BOOL Operator command to reset all alarms requiring reset.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset and acknowledge all alarms.
Default is false.
OCmd_SelA BOOL Operator command to select sensor A PV.
Default is false.
OCmd_SelAvg BOOL Operator command to select average(A,B) PV.
Default is false.
OCmd_SelB BOOL Operator command to select sensor B PV.
Default is false.
OCmd_SelMax BOOL Operator command to select maximum(A,B) PV.
Default is false.
OCmd_SelMin BOOL Operator command to select minimum(A,B) PV.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
Default is 0.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll (enables HMI button).
ORdy_SelA BOOL 1 = Ready for OCmd_SelA (enables HMI button).
ORdy_SelAvg BOOL 1 = Ready for OCmd_SelAvg.
ORdy_SelB BOOL 1 = Ready for OCmd_SelB (enables HMI button).
ORdy_SelMax BOOL 1 = Ready for OCmd_SelMax (enables HMI button).
ORdy_SelMin BOOL 1 = Ready for OCmd_SelMin (enables HMI button).
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component
BUS_OBJ Structure
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
64 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Members Data Type Description
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Operation
This diagram illustrates the functionality of the PAID instruction:
Alarms
Discrete tag-based alarms are defined for these members.
Publication PROCES-RM215A-EN-P - November 2023 65
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_Fail Alm_Fail Raised when the two sensor PVs are bad or out of range.
Sts_Diff Alm_Diff Raised when a high signal difference is detected between the two sensors PVs
exceeds a configured limit.
Sts_NoneGood Alm_NoneGood Raised when neither PV has good quality (for example, if both are uncertain).
Sts_OneGood Alm_OneGood Raised when only one PV has a good quality.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected]
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how the commands interact with the PDO
instruction.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
66 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
• Selected Analog PV engineering units – Units metadata of Val
member, Val.@Units.
• Analog input A description – Label metadata of Inp_PVAData member,
Inp_PVAData.@Label.
• Analog input B description – Label metadata of Inp_PVBData member,
Inp_PVBData.@Label.
• Allow Navigation Object Tag Name Output – Navigation metadata of
PAID member Val tag.
• Allow Navigation Object Tag Name Input A – Navigation metadata of
PAID member Inp_PVAData tag.
• Allow Navigation Object Tag Name Input B – Navigation metadata of
PAID member Inp_PVBData tag
Monitor the PAID Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Publication PROCES-RM215A-EN-P - November 2023 67
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out clears to false.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Latched alarms are reset.
Clear Bus Object commands and HMI Bus Object Index
Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress
all alarms.
Execute Bus command status propagation.
Internal timers are reset.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Latched alarms are reset.
Clear Bus Object commands and HMI Bus Object Index
Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress
all alarms.
Execute Bus command status propagation.
Internal timers are reset.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
68 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
This example uses the PAID instruction to monitor one analog Process
Variable (PV) using two analog input signals (dual sensors, dual transmitters).
The PAID instruction allows you to select one sensor, the other sensor, or the
average, minimum or maximum of either sensors. If difference between the
two input signals exceeds a configured limit, an Alarm is generated.
In this example, an application uses two analog sensors (A, B). The average of
these analogs is used elsewhere in logic to control a separate application
element.
The Inp_PVAData and Inp_PVBData parameters are connected to the values
from the two analog transmitters. The fault status of each of these sensors is
tied to the bad input of the instruction (for example, Inp_PVABad). The
output parameters Val, Sts_PVBad and Sts_PVUncertain, can then be
connected to the Inp_PVData, Inp_PVUncertain and Inp_ChanFault for
control.
Publication PROCES-RM215A-EN-P - November 2023 69
Chapter 1 PlantPAx
Ladder Diagram
70 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAI(AIT_201A);
Publication PROCES-RM215A-EN-P - November 2023 71
Chapter 1 PlantPAx
PAI(AIT_201B);
AY_201.Inp_PVAData := AIT_201A.Val;
AY_201.Inp_PVASrcQ := AIT_201A.SrcQ;
AY_201.Inp_PVANotify := AIT_201A.Sts_eNotify;
AY_201.Inp_PVBData := AIT_201B.Val;
AY_201.Inp_PVBSrcQ := AIT_201B.SrcQ;
AY_201.Inp_PVBNotify := AIT_201B.Sts_eNotify;
PAID(AY_201,0);
AI_201.Inp_PVData := AY_201.Val;
AI_201.Inp_ChanFault := AY_201.Sts_PVBad;
AI_201.Inp_PVUncertain := AY_201.Sts_PVUncertain;
PAI(AI_201);
Process Multi Sensor Analog This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Input (PAIM)
The Process Multi Sensor Analog Input (PAIM) instruction monitors one
analog process variable (PV) by using up to eight analog input signals from
sources such as sensors, transmitters, and input channels. The PAIM
instruction has functions for input selection, averaging, and failure detection.
Additional functions, such as filtering and alarming, are done by a
downstream PAI block.
The PAIM instruction provides:
• Configuration to use between two and eight input signals.
• Input Source and Quality monitoring of inputs, plus monitoring of
each signal for out of range condition. Rejection from the PV
calculation of inputs that are out of range, flagged as bad, infinite, or
not a number (floating-point exception values).
• Calculation of the average (mean) or median of the inputs in use as the
PV value.
• Selectable rejection from the PV calculation of inputs that are outside
tau standard deviations from the mean, with a minimum of four
required inputs, or inputs that are outside a user-defined deviation
from the mean.
• Configuration of the minimum number of good, unrejected input
signals required to have a good PV value, and an alarm if the required
number of good inputs is not met.
• Configuration of which PV to use if there are only two unrejected
signals remaining: the lesser, the greater, or the average of the two.
• An alarm if any inputs configured to be used are rejected.
72 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• An alarm if the number of unrejected inputs is equal to the minimum
number required to be good, meaning the next input failure results in
a PV failure.
• Display elements, plus a faceplate with bar graph PV indication, mode
selection, alarm limit entry and alarm display, configuration,
acknowledgment, trending, and maintenance and engineering
configuration and setup.
Available Languages
Ladder Diagram
Function Block Diagram
Structured Text
PAIM (PAIMTag, 0);
Publication PROCES-RM215A-EN-P - November 2023 73
Chapter 1 PlantPAx
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_ANALOG_INPUT_MULTI tag Data structure required for proper operation of instruction.
BusObj BUS_OBJ tag Bus component
P_ANALOG_INPUT_MULTI Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_PVAData REAL Visible Not Required Input PV signal from sensor or input A (PV units). Valid =
any float.
Default is 0.0.
Inp_PVASrcQ SINT Not Visible Not Required Input Input source and quality, from channel A object, if
available (enumeration).
Default is 0.
74 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_PVANotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcASts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVAData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVBData REAL Visible Not Required Input PV signal from sensor or input B (PV units). Valid =
any float.
Default is 0.0.
Inp_PVBSrcQ SINT Not Visible Not Required Input Input source and quality, from channel B object, if
available (enumeration).
Default is 0.
Inp_PVBNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcBSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVBData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVCData REAL Visible Not Required Input PV signal from sensor or input C (PV units). Valid =
any float.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 75
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_PVCSrcQ SINT Not Visible Not Required Input Input source and quality, from channel C object, if
available (enumeration).
Default is 0.
Inp_PVCNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcCSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVCData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVDData REAL Not Visible Not Required Input PV signal from sensor or input D (PV units). Valid =
any float.
Default is 0.0.
Inp_PVDSrcQ SINT Not Visible Not Required Input Input source and quality, from channel D object, if
available (enumeration).
Default is 0.
Inp_PVDNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcDSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVDData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
76 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_PVEData REAL Not Visible Not Required Input PV signal from sensor or input E (PV units). Valid =
any float.
Default is 0.0.
Inp_PVESrcQ SINT Not Visible Not Required Input Input source and quality, from channel E object, if
available (enumeration).
Default is 0.
Inp_PVENotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcESts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVEData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVFData REAL Not Visible Not Required Input PV signal from sensor or input F (PV units). Valid =
any float.
Default is 0.0.
Inp_PVFSrcQ SINT Not Visible Not Required Input Input source and quality, from channel F object, if
available (enumeration).
Default is 0.
Inp_PVFNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 77
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_SmartDvcFSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVFData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVGData REAL Not Visible Not Required Input PV signal from sensor or input G (PV units). Valid =
any float.
Default is 0.0.
Inp_PVGSrcQ SINT Not Visible Not Required Input Input source and quality, from channel G object, if
available (enumeration).
Default is 0.
Inp_PVGNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcGSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVGData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVHData REAL Not Visible Not Required Input PV signal from sensor or input H (PV units). Valid =
any float.
Default is 0.0.
Inp_PVHSrcQ SINT Not Visible Not Required Input Input source and quality, from channel H object, if
available (enumeration).
Default is 0.
78 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_PVHNotify SINT Not Visible Not Required Input Related PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_SmartDvcHSts DINT Not Visible Not Required Input Current code provided by SMART device on
Inp_PVHData. The code is copied to
Out_SmartDvcSts allowing a user to monitor the
device status on HMI for diagnostic lookup
purposes. Valid = 0 to maximum positive number.
Default is 0.
Inp_PVABad BOOL Not Visible Not Required Input Signal quality or communication status for input A
1 = Bad, 0 = OK.
Default is false.
Inp_PVAUncertain BOOL Not Visible Not Required Input Signal quality for input A, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcADiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVAData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVBBad BOOL Not Visible Not Required Input Signal quality or communication status for input B
1 = Bad, 0 = OK.
Default is false.
Inp_PVBUncertain BOOL Not Visible Not Required Input Signal quality for input B, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcBDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVBData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVCBad BOOL Not Visible Not Required Input Signal quality or communication status for input C
1 = Bad, 0 = OK.
Default is false.
Inp_PVCUncertain BOOL Not Visible Not Required Input Signal quality for input C, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcCDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVCData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVDBad BOOL Not Visible Not Required Input Signal quality or communication status for input D
1 = Bad, 0 = OK.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 79
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_PVDUncertain BOOL Not Visible Not Required Input Signal quality for input D, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcDDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVDData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVEBad BOOL Not Visible Not Required Input Signal quality or communication status for input E
1 = Bad, 0 = OK.
Default is false.
Inp_PVEUncertain BOOL Not Visible Not Required Input Signal quality for input E, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcEDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVEData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVFBad BOOL Not Visible Not Required Input Signal quality or communication status for input F
1 = Bad, 0 = OK.
Default is false.
Inp_PVFUncertain BOOL Not Visible Not Required Input Signal quality for input F, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcFDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVFData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVGBad BOOL Not Visible Not Required Input Signal quality or communication status for input G
1 = Bad, 0 = OK.
Default is false.
Inp_PVGUncertain BOOL Not Visible Not Required Input Signal quality for input G, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcGDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVGData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Inp_PVHBad BOOL Not Visible Not Required Input Signal quality or communication status for input H
1 = Bad, 0 = OK.
Default is false.
Inp_PVHUncertain BOOL Not Visible Not Required Input Signal quality for input H, 1 = Uncertain, 0 = OK.
Default is false.
Inp_SmartDvcHDiagAvailable BOOL Not Visible Not Required Input 1 = SMART device on Inp_PVHData diagnostics
available. Typically used to indicate device
requires action to keep operating as expected.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow operator to shelve alarms.
Default is true.
Cfg_HasPVA BOOL Not Visible Not Required Input 1 = Inp_PVAData is connected in logic.
Default is true.
Cfg_HasPVB BOOL Not Visible Not Required Input 1 = Inp_PVBData is connected in logic.
Default is true.
80 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasPVC BOOL Not Visible Not Required Input 1 = Inp_PVCData is connected in logic.
Default is true.
Cfg_HasPVD BOOL Not Visible Not Required Input 1 = Inp_PVDData is connected in logic.
Default is false.
Cfg_HasPVE BOOL Not Visible Not Required Input 1 = Inp_PVEData is connected in logic.
Default is false.
Cfg_HasPVF BOOL Not Visible Not Required Input 1 = Inp_PVFData is connected in logic.
Default is false.
Cfg_HasPVG BOOL Not Visible Not Required Input 1 = Inp_PVGData is connected in logic.
Default is false.
Cfg_HasPVH BOOL Not Visible Not Required Input 1 = Inp_PVHData is connected in logic.
Default is false.
Cfg_UsePVA BOOL Not Visible Not Required Input 1 = Inp_PVAData should be used in PV calculation if
good.
Default is true.
Cfg_UsePVB BOOL Not Visible Not Required Input 1 = Inp_PVBData should be used in PV calculation if
good.
Default is true.
Cfg_UsePVC BOOL Not Visible Not Required Input 1 = Inp_PVCData should be used in PV calculation if
good.
Default is true.
Cfg_UsePVD BOOL Not Visible Not Required Input 1 = Inp_PVDData should be used in PV calculation if
good.
Default is false.
Cfg_UsePVE BOOL Not Visible Not Required Input 1 = Inp_PVEData should be used in PV calculation if
good.
Default is false.
Cfg_UsePVF BOOL Not Visible Not Required Input 1 = Inp_PVFData should be used in PV calculation if
good.
Default is false.
Cfg_UsePVG BOOL Not Visible Not Required Input 1 = Inp_PVGData should be used in PV calculation if
good.
Default is false.
Cfg_UsePVH BOOL Not Visible Not Required Input 1 = Inp_PVHData should be used in PV calculation if
good.
Default is false.
Cfg_RejectUncertain BOOL Not Visible Not Required Input 1 = Reject an input if its quality is uncertain.
Default is false.
Cfg_UseStdDev BOOL Not Visible Not Required Input 1 = Reject outside tau standard deviations; 0 =
Reject ouside Cfg_AbsDev from mean.
Default is false.
Cfg_CalcAvg BOOL Not Visible Not Required Input 1 = Calculate average of good inputs; 0 = calculate
median of good inputs.
Default is false.
Cfg_UseInpSrcQPVA BOOL Not Visible Not Required Input 1 = Use PVA SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVB BOOL Not Visible Not Required Input 1 = Use PVB SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVC BOOL Not Visible Not Required Input 1 = Use PVC SrcQ input for rejection decisions.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 81
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_UseInpSrcQPVD BOOL Not Visible Not Required Input 1 = Use PVD SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVE BOOL Not Visible Not Required Input 1 = Use PVE SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVF BOOL Not Visible Not Required Input 1 = Use PVF SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVG BOOL Not Visible Not Required Input 1 = Use PVG SrcQ input for rejection decisions.
Default is false.
Cfg_UseInpSrcQPVH BOOL Not Visible Not Required Input 1 = Use PVH SrcQ input for rejection decisions.
Default is false.
Cfg_HasPVNav BOOL Not Visible Not Required Input 1 = Tells HMI to enable navigation to a connected
PV (Val) object.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available.
Default is false.
Cfg_HasNav SINT Not Visible Not Required Input Set bits indicate which navigation buttons are
enabled .0=PVA, .1=PVB, ..., .7=PVH
Default is 0.
Cfg_MinGood DINT Not Visible Not Required Input Minimum good inputs for good PV [1..number of
"Cfg_Has" inputs].
Default is 2.
Cfg_CalcWhen2 DINT Not Visible Not Required Input PV calculation when only 2 good inputs: 0 =
average, 1 = minimum, 2 = maximum.
Default is 0.
Cfg_PVEUMin REAL Not Visible Not Required Input PV (Output) minimum for display PV units. Valid =
any float.
Default is 0.0.
Cfg_PVEUMax REAL Not Visible Not Required Input PV (Output) maximum for display PV units. Valid =
any float.
Default is 100.0.
Cfg_AbsDevLim REAL Not Visible Not Required Input Absolute deviation threshold for PV units. Valid =
any nonnegative float: reject ouside this deviation
from mean.
Default is 10.0.
Cfg_OoRHiLim REAL Not Visible Not Required Input Out-of-range (fail) high limit for PV units. Valid =
any float).
Default is 103.958336.
Cfg_OoRLoLim REAL Not Visible Not Required Input Out-of-range (fail) low limit for PV units. Valid =
any float.
Default is -2.0833333.
Cfg_OoRDB REAL Not Visible Not Required Input Out-of-range (fail) deadbandfor PV units. Valid =
any nonnegative float.
Default is 0.41666666.
Cfg_PVDecPlcs SINT Not Visible Not Required Input Number of decimal places for PV display. Valid =
0,1,2,3,4,5,6.
Default is 2.
82 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator Command Confirmation Required.
Represents the type of command confirmation
required. 0 = None, 1 = Command confirmation
required, 2 = Performer e-signature required, 3 =
Performer and approver e-signature required.
Default is 0.
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release
(zero) (Valid = any integer).
Default is 0.
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms requiring
Reset.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to reset all alarms and latched
shed conditions. The instruction clears this
operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all
alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Val REAL Visible Not Required Output Selected analog PV (including substitute PV, if
used) (PV units).
Val_PVA REAL Visible Not Required Output Analog value (actual) from input A (PV units).
Val_PVB REAL Visible Not Required Output Analog value (actual) from input B (PV units).
Val_PVC REAL Visible Not Required Output Analog value (actual) from input C (PV units).
Val_PVD REAL Not Visible Not Required Output Analog value (actual) from input D (PV units).
Val_PVE REAL Not Visible Not Required Output Analog value (actual) from input E (PV units).
Val_PVF REAL Not Visible Not Required Output Analog value (actual) from input F (PV units).
Val_PVG REAL Not Visible Not Required Output Analog value (actual) from input G (PV units).
Val_PVH REAL Not Visible Not Required Output Analog value (actual) from input H (PV units).
Val_InpPV REAL Not Visible Not Required Output Selected PV (PV units).
Val_PVEUMin REAL Not Visible Not Required Output Minimum of PV range = Min (Cfg_PVEUMin,
Cfg_PVEUMax) (PV units).
Val_PVEUMax REAL Not Visible Not Required Output Maximum of PV range = Max (Cfg_PVEUMin,
Cfg_PVEUMax) (PV units).
Out_SmartDvcSts DINT Not Visible Not Required Output Status code of a SMART device provided by
Inp_SmartDvcASts or Inp_SmartDvcBSts or
Inp_SmartDvcCSts or Inp_SmartDvcDSts or
Inp_SmartDvcESts or Inp_SmartDvcFSts or
Inp_SmartDvcGSts or Inp_SmartDvcHSts. Highest
status code selected.
Val_NumPVs DINT Not Visible Not Required Output Number of PVs that are currently used in
calculating Val_CalcPV.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. Use Inp_InitializeReq
to reinitialize.
Publication PROCES-RM215A-EN-P - November 2023 83
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_SmartDvcDiagAvailable BOOL Not Visible Not Required Output 1 = Diagnostics of a SMART device is currently
available. Typically used to indicate one of the
devices requires action to keep operating as
expected.
Sts_PVBad BOOL Not Visible Not Required Output 1 = At least one input channel PV is bad quality or
out of range.
Sts_PVUncertain BOOL Not Visible Not Required Output 1 = At least one input channel PV value is
uncertain quality.
Sts_PVAReject BOOL Visible Not Required Output 1 = Input A rejected, not used to calculate PV.
Sts_PVBReject BOOL Visible Not Required Output 1 = Input B rejected, not used to calculate PV.
Sts_PVCReject BOOL Visible Not Required Output 1 = Input C rejected, not used to calculate PV.
Sts_PVDReject BOOL Not Visible Not Required Output 1 = Input D rejected, not used to calculate PV.
Sts_PVEReject BOOL Not Visible Not Required Output 1 = Input E rejected, not used to calculate PV.
Sts_PVFReject BOOL Not Visible Not Required Output 1 = Input F rejected, not used to calculate PV.
Sts_PVGReject BOOL Not Visible Not Required Output 1 = Input G rejected, not used to calculate PV.
Sts_PVHReject BOOL Not Visible Not Required Output 1 = Input H rejected, not used to calculate PV.
SrcQ_IOA SINT Not Visible Not Required Output Source and quality of Input A (enumeration).
SrcQ_IOB SINT Not Visible Not Required Output Source and quality of Input B (enumeration).
SrcQ_IOC SINT Not Visible Not Required Output Source and quality of Input C (enumeration).
SrcQ_IOD SINT Not Visible Not Required Output Source and quality of Input D (enumeration).
SrcQ_IOE SINT Not Visible Not Required Output Source and quality of Input E (enumeration).
SrcQ_IOF SINT Not Visible Not Required Output Source and quality of Input F (enumeration).
SrcQ_IOG SINT Not Visible Not Required Output Source and quality of Input G (enumeration).
SrcQ_IOH SINT Not Visible Not Required Output Source and quality of Input H (enumeration).
SrcQ_IO SINT Not Visible Not Required Output Source and quality of calculated PV (enumeration).
SrcQ SINT Not Visible Not Required Output Source and quality of primary Val/Sts
(enumeration).
Sts_eSts SINT Not Visible Not Required Output Device confirmed status (enum): 0 = PV Good, 1:
PV Uncertain, 2: PV Bad.
Sts_eFault INT Not Visible Not Required Output Device fault status (enum):
0 = None,
17 = Any Reject,
18 = Min Good,
32 = Fail,
34 = Bad Config.
Sts_eNotify SINT Not Visible Not Required Output All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
84 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyAll SINT Not Visible Not Required Output All alarm status enumerated values including
related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAnyReject SINT Not Visible Not Required Output Any Reject alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyMinGood SINT Not Visible Not Required Output Min Good alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFail SINT Not Visible Not Required Output Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Publication PROCES-RM215A-EN-P - November 2023 85
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_Err BOOL Visible Not Required Output 1 = Error in config, see detail bits for reason.
Sts_ErrEU BOOL Not Visible Not Required Output 1 = Error in config: Cfg_PVEUMax cannot equal
Cfg_PVEUMin.
Sts_ErrHas BOOL Not Visible Not Required Output 1 = Error in config: at least one Cfg_HasPVx must
be 1.
Sts_ErrUse BOOL Not Visible Not Required Output 1 = Error in config: at least one Cfg_UsePVx must
be 1.
Sts_ErrMinGood BOOL Not Visible Not Required Output 1 = Error in config: Cfg_MinGood must be in the
range [1..8].
Sts_ErrOoRDB BOOL Not Visible Not Required Output 1 = Error in configuration: Cfg_OoRDB deadband is
< 0.0.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in logix tag-based alarm settings.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved, disabled or suppressed:
display icon.
Sts_AnyReject BOOL Not Visible Not Required Output 1 = At least one input has been rejected.
Sts_MinGood BOOL Not Visible Not Required Output 1 = At minimum required number of good inputs,
next reject/fail will result in bad PV.
Sts_Fail BOOL Not Visible Not Required Output 1 = Total signal failure (too many inputs rejected).
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable HMI
button.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = not owned).
Private Input Members Data Type Description
OCmd_Reset BOOL Operator command to reset all alarms requiring reset.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset and acknowledge all alarms.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
Default is 0.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll (enables HMI button).
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component
86 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
BusObj BUS_OBJ Visible Required InOut Bus component
BUS_OBJ Structure
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgment
Out_CmdAck DINT Resultant command acknowledgments
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete tag-based alarms are defined for these members.
Member Alarm name Description
Sts_Fail Alm_Fail Raised when the two sensor PVs are bad or out of range.
Sts_AnyReject Alm_AnyReject Raised when any inputs configured to be used are rejected.
Sts_MinGood Alm_MinGood Raised when the number of unrejected input is equal to the minimum number required to
be good, meaning the next input failure results in a PV failure.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected]
Publication PROCES-RM215A-EN-P - November 2023 87
Chapter 1 PlantPAx
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how the commands interact with the PAIM
instruction.
88 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PAIM instruction:
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box. The strings are set to extended
properties of tag items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
Publication PROCES-RM215A-EN-P - November 2023 89
Chapter 1 PlantPAx
• More Information
• Selected Analog PV engineering units – Units of Val member,
Val.@Units.
• Analog input A description – Description of Inp_PVAData member,
Inp_PVAData.@Label.
• Analog input B description – Description of Inp_PVBData member,
Inp_PVBData.@Label
• Analog input C description – Description of Inp_PVCData member,
Inp_PVCData.@Label.
• Analog input D description – Description of Inp_PVDData member,
Inp_PVDData.@Label.
• Analog input E description – Description of Inp_PVEData member,
Inp_PVEData.@Label.
• Analog input F description – Description of Inp_PVFData member,
Inp_PVFData.@Label.
• Analog input G description – Description of Inp_PVGData member,
Inp_PVGData.@Label.
• Analog input H description – Description of Inp_PVHData member,
Inp_PVHData.@Label.
• Analog input A navigation – Navigation metadata of Inp_PVAData
member.
• Analog input B navigation – Navigation metadata of Inp_PVBData
member.
• Analog input C navigation – Navigation metadata of Inp_PVCData
member.
• Analog input D navigation – Navigation metadata of Inp_PVDData
member.
• Analog input E navigation – Navigation metadata of Inp_PVEData
member.
• Analog input F navigation – Navigation metadata of Inp_PVFData
member.
• Analog input G navigation – Navigation metadata of Inp_PVGData
member.
• Analog input H navigation – Navigation metadata of Inp_PVHData
member.
Monitor the PAIM Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
90 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out clears to false.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Ensure the constants for the Thompson Tau test logic have not been zeroed
out.
The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Latched alarms are reset.
Clear Bus Object commands and HMI Bus Object Index
Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress
all alarms.
Execute Bus command status propagation.
Internal timers are reset.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Ensure the constants for the Thompson Tau test logic have not been zeroed
out.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 91
Chapter 1 PlantPAx
Condition/State Action Taken
EnableIn is false EnableOut is cleared to false.
All commands that are automatically cleared on each execution are cleared
and ignored.
PSet_Owner and Val_Owner are set to 0.
Latched alarms are reset.
Clear Bus Object commands and HMI Bus Object Index
Execute Bus command on receipt for Disable, Enable, Suppress, Unsuppress
all alarms.
Execute Bus command status propagation.
Internal timers are reset.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
The example uses the PAIM instruction to monitor one analog Process
Variable (PV) by using up to eight analog input signals (sensors, transmitters).
The PAIM instruction allows you to display a temperature, pressure, level, or
other PV on a user interface or use the PV in control logic, and the following
apply:
• Have three or more sensors for that PV, for example, six
thermocouples.
• Calculate a PV with the mean or median of the sensor input values.
The example uses the PAIM instruction to average multiple sensors for a
single PV. In this example, an application uses three analog sensors (A, B, C).
The average of these analogs is used elsewhere in logic to control a separate
application element.
The Inp_PVAData, Inp_PVBData, and Inp_PVCData parameters are
connected to the values from the three analog transmitters. The fault status of
each sensor is tied to the bad input of the PAIM (for example, Inp_PVABad).
The output parameters Val, Sts_PVBad and Sts_PVUncertain, can then be
connected to the Inp_PVData, Inp_PVUncertain and Inp_ChanFault for
control.
92 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 93
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAI(AIT_301A);
94 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PAI(AIT_301B);
PAI(AIT_301C);
AY_301.Inp_PVAData := AIT_301A.Val;
AY_301.Inp_PVASrcQ := AIT_301A.SrcQ;
AY_301.Inp_PVANotify := AIT_301A.Sts_eNotify;
AY_301.Inp_PVBData := AIT_301B.Val;
AY_301.Inp_PVBSrcQ := AIT_301B.SrcQ;
AY_301.Inp_PVBNotify := AIT_301B.Sts_eNotify;
AY_301.Inp_PVCData := AIT_301C.Val;
AY_301.Inp_PVCSrcQ := AIT_301C.SrcQ;
AY_301.Inp_PVCNotify := AIT_301C.Sts_eNotify;
PAIM(AY_301);
AI_301.Inp_PVData := AY_301.Val;
AI_301.Inp_ChanFault := AY_301.Sts_PVBad;
AI_301.Inp_PVUncertain := AY_301.Sts_PVUncertain;
PAI(AI_301);
Process Analog Output This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PAO)
The Process Analog Output (PAO) instruction drives an analog output and
checks for alarm conditions. Use the PAO instruction for a channel of an
analog output module. Use the PAO instruction with any analog (REAL)
signal.
The PAO instruction:
• Monitors one analog output channel for I/O fault input and raises
alarm on an I/O fault.
• Operates in Hand, Out of Service, Maintenance, Override, Program,
and Operator modes.
• Provides Operator and Program commands to set an Analog Control
Variable (CV, or output) to a specific value. The entered CV is scaled
from engineering units to raw (output module) units.
• Monitors bypassable and non-bypassable Interlocks that force the
analog output to a specific configured (safe) value or to maintain the
current value (configurable).
Tip: An alarm initiates when an interlock causes the Analog Output CV to change. The PAO
instruction enables bypassing interlocks.
Publication PROCES-RM215A-EN-P - November 2023 95
Chapter 1 PlantPAx
• Allows overriding CV in Override mode.
• Allows analog output ramping with configurable rate of change limits.
• Reads Tieback input (REAL) and a Hand mode request input (BOOL).
When Hand mode is asserted, the CV is forced to follow the Tieback
value.
• Provides an Available status, when in Program mode and operating
normally, for use by higher-level automation logic to determine
• if the logic is able to manipulate the analog output.
Available Languages
Ladder Diagram
96 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PAO(PAO tag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_ANALOG_OUTPUT tag Data structure required for proper operation of instruction.
BusObj BUS_OBJ tag Bus component
Publication PROCES-RM215A-EN-P - November 2023 97
Chapter 1 PlantPAx
P_ANALOG_OUTPUT Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, or hidden, members are used in HMI faceplates and are
not programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run.
Use this request to re-initialize. The instruction clears this operand automatically.
Default is true.
Inp_OwnerCmd DINT Owner device command.
0 = None,
Inp_OwnerCmd.10 = Operator Lock,
Inp_OwnerCmd.11 = Operator Unlock,
Inp_OwnerCmd.12 = Program Lock, Inp_OwnerCmd.13 = Program Unlock,
Inp_OwnerCmd.14 = Acquire Maintenance,
Inp_OwnerCmd.15 = Release Maintenance,
Inp_OwnerCmd.16 = Acquire External,
Inp_OwnerCmd.17 = Release External.
Default is 0.
Inp_OpenedFdbkData BOOL Feedback from opened limit switch of the device. 1 = Device confirmed opened.
Default is false.
Inp_ClosedFdbkData BOOL Feedback from closed limit switch of the device. 1 = Device confirmed closed.
Default is false.
Inp_PosFdbk REAL Feedback from actual device position PV (CV engineering units). Valid any float.
Default is 0.0.
Inp_HandFdbk REAL CV feedback used in Hand source (CV engineering units). Valid any float.
Default is 0.0.
Inp_IntlkOK BOOL 1 = Bypassable and non-bypassable interlocks OK, analog output can be set.
Default is true.
Inp_NBIntlkOK BOOL 1 = Non-bypassable interlocks OK, analog output can be set if bypassable interlocks are bypassed.
Default is true.
Inp_IntlkAvailable BOOL 1 = Interlock availability OK.
Default is false.
Inp_IntlkTripInh BOOL 1 = Inhibit interlock trip status.
Default is false.
Inp_SmartDvcSts DINT Current code provided by SMART device on Inp_PosFdbk. The code is copied to Out_SmartDvcSts
allowing a user to monitor the device status on HMI for diagnostic lookup purposes. Valid = 0 to
maximum positive number.
Default is 0.
Inp_SmartDvcDiagAvailable BOOL 1 = SMART Device diagnostics is available. Typically used to indicate device requires action to keep
operating as expected.
Default is false.
98 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_IOFault BOOL Indicates the IO data is inaccurate.
0 = The IO data is good,
1 = The IO data is bad, causing fault.
This input sets Sts_IOFault, if the device is not virtual, which raises IOFault Alarm.
Default is false.
Inp_DeviceFault BOOL Indicates the device fault (overload, etc.).
0 = The device is good,
1 = The device is bad, causing fault.
This input sets Sts_DeviceFault (if the device is not virtual) which raises Device alarm (if the device is
not virtual).
Default is false.
Inp_Hand BOOL 1 = Acquire Hand (typically permanently set to local),
0 = Release Hand.
Default is false.
Inp_Ovrd BOOL 1 = Acquire Override (higher priority program logic),
0 = Release Override.
Default is false.
Inp_OvrdCV REAL CV target in Override (engineering units). Valid any float.
Default is 0.0.
Inp_ExtInh BOOL 1 = Inhibit External acquisition,
0 = Allow External acquisition.
Default is false.
Inp_RdyReset BOOL 1 = Related object, reset by this object, is ready to be reset.
Default is false.
Inp_Reset BOOL 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable BOOL 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_StuckTime REAL Time with no change in input position while neither feedback from limit switch Closed nor Opened is
on to raise stuck status (second). Valid = 0.0 to 2147483.0 seconds.
Default is 60.0.
Cfg_HasSmartDvc BOOL 1 = Enable a button on the HMI that could be used to call up a SMART Device faceplate (Diagnostics).
Default is false.
Cfg_SetTrack BOOL 1 = When the owner is Program the operator settings track the program settings. When the owner is
Operator the program settings track the operator settings; and the virtual inputs match the output
values (transitions are bumpless),
0 = No tracking.
Default is true.
Cfg_ShedHold BOOL 1 = Hold output on interlock.
0 = Go to Cfg_CVIntlk on interlock.
Default is false.
Cfg_SkipRoCLim BOOL 1 = Skip rate of change limiting in Maintenance or Override and on interlock.
Default is false.
Cfg_SetTrackOvrdHand BOOL 1 = Program/Operator settings track Override/Hand CV.
Default is false.
Cfg_FdbkFail BOOL 1 = Feedback from limit switches is invalid if both feedback inputs are set.
0 = Feedback from limit switches is invalid if both feedback inputs are cleared.
Default is true.
Cfg_HasOpenedFdbk BOOL 1 = Device provides opened feedback signal.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 99
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_HasClosedFdbk BOOL 1 = Device provides closed feedback signal.
Default is false.
Cfg_HasPosFdbk BOOL 1 = Device provides position PV feedback signal.
Default is true.
Cfg_UseOpenedFdbk BOOL 1 = Use device opened feedback for failure checking.
Default is false.
Cfg_UseClosedFdbk BOOL 1 = Use device closed feedback for failure checking.
Default is false.
Cfg_UsePosFdbk BOOL 1 = Use device position PV feedback signal.
Default is true.
Cfg_HasCombinedFdbk BOOL 1 = Device provides opened, closed and position feedback signals to be used.
Default is false.
Cfg_UseCombinedFdbk BOOL 1 = Use device opened, closed and position feedback signals to determine the opened and closed
status. The combined signals will be used for the position status.
Default is false.
Cfg_HasPulseOut BOOL 1 = Device provides pulse output (Open, Close).
Default is false.
Cfg_HasOutNav BOOL 1 = Tells HMI to enable navigation to a connected output object.
Default is false.
Cfg_OvrdIntlk BOOL 1 = Override bypasses (ignores) bypassable interlocks.
0 = Override abides by all interlock conditions.
Default is false.
Cfg_ShedOnDeviceFault BOOL 1 = Set output to interlock CV and alarm on Device fault. 0 = Alarm only on Device fault.
Default is true.
Cfg_ShedOnIOFault BOOL 1 = Set output to interlock CV and alarm on I/O fault.
0 = Alarm only on I/O fault.
Default is true.
Cfg_CVLoLim REAL Minimum CV for limiting (engineering units). Valid any float less than or equal to Cfg_CVHiLim.
Default is 0.0.
Cfg_CVHiLim REAL Maximum CV for limiting (engineering units). Valid any float greater than or equal to Cfg_CVLoLim.
Default is 100.0.
Cfg_CVRoCIncrLim REAL Maximum allowed CV rate of change increasing value (CVEU/second). The CV rate of change is
unlimited when increasing if Cfg_CVRoCIncrLim = 0.0. Valid = 0.0 to maximum positive float.
Default is 100.0.
Cfg_CVRoCDecrLim REAL Maximum allowed CV rate of change decreasing value (engineering units/second). The CV rate of
change is unlimited when decreasing if Cfg_CVRoCDecrLim = 0.0. Valid = 0.0 to maximum positive
float.
Default is 100.0.
Cfg_CVIntlk REAL CV target when interlocked, if not Cfg_ShedHold (engineering units). Valid any float.
Default is 0.0.
Cfg_CVEUMin REAL CV minimum for scaling (engineering units). Valid any float not equal to Cfg_CVEUMax.
Default is 0.0.
Cfg_CVEUMax REAL CV maximum for scaling (engineering units). Valid any float not equal to Cfg_CVEUMin.
Default is 100.0.
Cfg_CVRawMin REAL CV minimum for scaling (I/O raw units). Valid any float not equal to Cfg_CVRawMax.
Default is 0.0.
Cfg_CVRawMax REAL CV maximum for scaling (I/O raw units). Valid any float not equal to Cfg_CVRawMin.
Default is 100.0.
Cfg_MaxInactiveCV REAL When Val_CVOut is greater than this value (CV engineering units) set Sts_Active (for HMI). Valid any
float.
Default is 0.0.
100 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_HiDevLim REAL High deviation (actual position minus target position) status threshold (engineering units). Valid = 0.0
to maximum positive float.
Default is 1.50E+38.
Cfg_LoDevLim REAL Low deviation (actual position minus target position) status threshold (engineering units). Valid =
-(maximum float) to 0.0.
Default is -1.50E+38.
Cfg_DevDly REAL The minimum time (seconds) the deviation must remain above the upper (Cfg_HiDevLim) or below the
lower (Cfg_LoDevLim) limit for the status Sts_Dev to be set. On-delay time is used to avoid
unnecessary alarm when the deviation only briefly overshoots Cfg_HiDevLim or undershoots
Cfg_LoDevLim. Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_CycleTime REAL Open and Close pulse output overall period (seconds). Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_OpenRate REAL Rate at which device moves when opening (engineering units/second). Valid = 0.0 to maximum
positive float.
Default is 1.0.
Cfg_CloseRate REAL Rate at which device moves when closing (engineering units/second). Valid = 0.0 to maximum
positive float.
Default is 1.0.
Cfg_MaxOnTime REAL Open and Close pulse output maximum On time (seconds). Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_MinOnTime REAL Open and Close pulse output minimum On time (seconds). Valid = 0.0 to 2147483.0 seconds.
Default is 1.0.
Cfg_BumpTime REAL Time to bump device open or close (used when device position (PV) feedback is not available)
(seconds). Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_DeadTime REAL Additional time on first pulse after stop or direction change. Additional pulse time in seconds to
overcome friction in the device. Deadtime is added to the open time or close time when the device
changes direction or is stopped. Valid = 0.0 to Cfg_MaxOnTime seconds.
Default is 0.0.
Cfg_MaxClosedPos REAL Position (PV value) above which device (valve) is assumed open if feedback from Opened limit switch
is not used.
Default is 0.0.
Cfg_HasIntlkObj BOOL 1 = Tells HMI an interlock object (for example, P_Intlk) is used for Inp_IntlkOK and navigation to the
interlock objects faceplate is enabled. Important: The name of the interlock object in the controller
must be this PAO object's name with the suffix _Intlk. For example, if the PAO instruction has the
name PAOut123, then its interlock object must be named PAOut123_Intlk.
Default is false.
Cfg_HasOper BOOL 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL 1 = Operator Locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL 1 = Program Locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL 1 = Maintenance exists, can be selected.
Default is true.
Cfg_HasMaintOoS BOOL 1 = Maintenance Out of Service exists, can be selected.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 101
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_OvrdOverLock BOOL 1 = Override supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is true.
Cfg_ExtOverLock BOOL 1 = External supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is false.
Cfg_ProgPwrUp BOOL 1 = Power up to Program,
0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL Normal Source:
1 = Program if no requests;
0 = Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL Command priority.
1 = Program commands win,
0 = Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL 1 = PCmd_Prog used as a Level.
Default is false.
Cfg_PCmdLockAsLevel BOOL 1 = PCmd_Lock used as a Level
(1 = Lock, 0 = Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL 1 = XCmd_Acq used as Level
(1 = Acquire, 0 = Release).
Default is false.
Cfg_CVDecPlcs SINT Number of decimal places for control variable display. Valid = 0 to 6.
Default is 2.
Cfg_CnfrmReqd SINT Operator command confirmation required. Represents the type of command confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required, 3 = Performer and approver e-signature required.
Default is 0.
Cfg_CVPwrUpSel SINT Selection of power up CV.
0 = Use Cfg_CVPwrUp,
1 = No change (from last power down),
2 = Use Inp_PosFdbk if available (Cfg_CVPwrUp otherwise).
Default is 0.
Cfg_CVPwrUp REAL CV initial value used on power up (engineering units). Valid any float.
Default is 0.0.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_HasPosFdbkNav BOOL 1 = Tells HMI to enable navigation to a connected positive feedback object.
Default is false.
Cfg_HasHistTrend SINT Has historical trend. This enables navigation to the device historical trend faceplate from the HMI.
0 = No external historical trend,
1 = Datalog historical trend,
2 = Historian historical trend.
Default is 0.
PSet_CV REAL Program setting of controlled variable, output (engineering units). Valid any float.
Default is 0.0.
PSet_Owner DINT Program owner request ID (non-zero) or release (zero).
Default is 0.
102 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
PCmd_Oper BOOL Program command to select Operator (Program to Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Prog BOOL Program command to select Program (Operator to Program). The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Program command to lock Program (disallow Operator). The instruction clears this operand
automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Program command to unlock Program (allow Operator to acquire). The instruction clears this operand
automatically.
Default is false.
PCmd_Normal BOOL Program command to select Normal command source (Operator or Program). The instruction clears
this operand automatically.
Default is false.
PCmd_Reset BOOL Program command to reset all alarms and latched shed conditions requiring reset. The instruction
clears this operand automatically.
Default is false.
PCmd_Physical BOOL Program command to select Physical device operation (not simulated). The instruction clears this
operand automatically.
Default is false.
PCmd_Virtual BOOL Program command to select Virtual (simulated) device operation. The instruction clears this operand
automatically.
Default is false.
XSet_CV REAL External setting of controlled variable, output (engineering units).
Default is 0.0.
XCmd_Acq BOOL External command to acquire ownership (Operator/Program/Override/Maintenance to External). The
instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_BumpClose BOOL External command to bump device closed (used when device position feedback is not available).
Default is false.
XCmd_BumpOpen BOOL External command to bump device open (used when device position feedback is not available).
Default is false.
XCmd_Rel BOOL External command to release ownership if Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The instruction clears this operand automatically.
Default is false.
XCmd_Reset BOOL External command to reset all alarms and latched shed conditions. The instruction clears this
operand automatically.
Default is false.
XCmd_ResetAckAll BOOL External command to acknowledge and reset all alarms and latched shed conditions. The instruction
clears this operand automatically.
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output. This output state always reflects EnableIn input state.
Out_CVData REAL CV output in raw (I/O Card) units.
Extended properties of this member:
Engineering Unit - Raw units (text) used for the analog output.
Out_CVOpenData BOOL 1 = Pulse output to drive device open.
Out_CVCloseData BOOL 1 = Pulse output to drive device closed.
Publication PROCES-RM215A-EN-P - November 2023 103
Chapter 1 PlantPAx
Public Output Members Data Type Description
Val_Dev REAL Calculated deviation value (actual position minus target position) (engineering units).
Val_Pos REAL Device actual position (PV) from feedback (in engineering units).
Val_CVSet REAL Value of selected CV setting before rate limiting, in engineering units.
Val_CVOut REAL Value of CV Output after optional rate limiting, in engineering units.
Extended Properties of this member:
Engineering Unit - Engineering units (text) used for the analog output.
Val_CVEUMin REAL Minimum of scaled range in engineering units = MIN (Cfg_CVEUMin, Cfg_CVEUMax).
Val_CVEUMax REAL Maximum of scaled range in engineering units = MAX (Cfg_CVEUMin, Cfg_CVEUMax).
Out_SmartDvcSts DINT Status code of a SMART Device provided by Inp_SmartDvcSts. Out_SmartDevSts is a copy of
Inp_SmartDvcSts.
Out_OwnerSts DINT Status of command source, owner command handshake and ready status.
0 = None,
Out_OwnerSts.10 = Operator Lock,
Out_OwnerSts.11 = Operator Unlock,
Out_OwnerSts.12 = Program Lock,
Out_OwnerSts.13 = Program Unlock,
Out_OwnerSts.14 = Acquire Maintenance,
Out_OwnerSts.15 = Release Maintenance,
Out_OwnerSts.16 = Acquire External,
Out_OwnerSts.17 = Release External,
Out_OwnerSts.18 = Has Maintenance,
Out_OwnerSts.19 = External Override Lock,
Out_OwnerSts.20 = Has External,
Out_OwnerSts.21 = Has Operator,
Out_OwnerSts.22 = Has Program,
Out_OwnerSts.30 = Not Ready.
Sts_Initialized BOOL 1 = Instruction is initialized.
Use Inp_InitializeReq to reinitialize.
Sts_SmartDvcDiagAvailable BOOL 1 = Diagnostics of a SMART Device is currently available. Typically used to indicate device
requires action to keep operating as expected. Sts_SmartDvcDiagAvailable is a copy of
Inp_SmartDvcDiagAvailable.
Sts_CVInfNaN BOOL 1 = Selected CV is infinite or not a number (1.$, 1.#NaN).
Sts_PosInfNaN BOOL 1 = Inp_PosFdbk is infinite or not a number (1.$, 1.#NaN).
Sts_BumpOpen BOOL 1 = Bump Open requested or active.
Sts_BumpClose BOOL 1 = Bump Close requested or active.
1 = Position is stuck (unchanging) while neither feedback from limit switch Closed nor Opened is
Sts_PosStuck BOOL on.
Sts_Ramping BOOL 1 = CV is ramping to target.
Sts_Clamped BOOL 1 = CV set being clamped at Low or High Limit.
Sts_WindupHi BOOL 1 = Analog output winding up High, to Inp_WindupHi of the master controller.
Sts_WindupLo BOOL 1 = Analog output winding up Low, to Inp_WindupLo of the master controller.
Sts_SkipRoCLim BOOL 1 = Rate of change limiting was skipped this scan (Maintenance, Override, Interlock, Hand).
Sts_Active BOOL 1 = CV is greater than Cfg_MaxInactiveCV, show graphic symbol as Active.
Sts_FdbkFail BOOL 1 = Feedbacks are in an invalid state.
Sts_Virtual BOOL 1 = The instruction treats the device as virtual. The instruction acts as normal but the output is
kept de-energized (Out_CVData=0).
0 = The instruction operates the device normally.
Sts_Virtual is a copy of Inp_Virtual.
104 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
SrcQ_IO SINT Source and quality of primary input or output (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
SrcQ SINT Source and quality of primary value or status (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
Sts_bFdbk SINT Device feedback:
0 = None,
Sts_bFdbk.0: Moving,
Sts_bFdbk.1: Closed,
Sts_bFdbk.2: Opened,
Sts_bFdbk.3: Failure,
Sts_bFdbk.4: Stuck.
Sts_bSts SINT Device status:
0 = At target,
Sts_bSts.0: Ramping down,
Sts_bSts.1: Ramping up,
Sts_bSts.2: Clamped at minimum,
Sts_bSts.3: Clamped at maximum,
Sts_bSts.4: Out of Service,
Sts_bSts.5: Bump open,
Sts_bSts.6: Bump close.
Publication PROCES-RM215A-EN-P - November 2023 105
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_bFault SINT Device fault status:
0 = None,
Sts_bFault.0: Feedback fault,
Sts_bFault.1: IO fault,
Sts_bFault.2: Device fault,
Sts_bFault.3: Configuration error.
Sts_eNotify SINT Alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT Alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault SINT IOFault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyDeviceFault SINT DeviceFault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
106 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eNotifyDev SINT Deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT IntlkTrip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_eSrc INT The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_bSrc INT Active selection bitmap for HMI totem pole with command source request selection:
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Available BOOL 1 = Analog output available for control by automation (Program).
Sts_Bypass BOOL 1 = Bypassable interlocks are bypassed.
Sts_BypActive BOOL 1 = Interlock bypassing active (bypassed or maintenance).
Publication PROCES-RM215A-EN-P - November 2023 107
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_MaintByp BOOL 1 = Device has a maintenance bypass function active.
Sts_NotRdy BOOL 1 = Device is not ready, see detail bits (Sts_Nrdyxxx) for reason.
Sts_NrdyOoS BOOL 1 = Device is not ready: Device disabled by Maintenance.
Sts_NrdyCfgErr BOOL 1 = Device is not ready: Configuration Error.
Sts_NrdyIntlk BOOL 1 = Device is not ready: Interlock Not OK.
Sts_NrdyIOFault BOOL 1 = Device is not ready: IO Fault (Shed requires Reset).
Sts_Err BOOL 1 = Error in configuration: see detail bits (Sts_Errxxx) for reason.
Sts_ErrCVRaw BOOL 1 = Error in configuration: Raw output scaling Min = Max.
Sts_ErrCVEU BOOL 1 = Error in configuration: Cfg_CVEUMax <= Cfg_CVEUMin.
Sts_ErrCVRoCDecrLim BOOL 1 = Error in configuration: Invalid decreasing rate of change.
Sts_ErrCVRoCIncrLim BOOL 1 = Error in configuration: Invalid increasing rate of change.
Sts_ErrLimit BOOL 1 = Error in configuration: CV High Limit < CV Low Limit.
Sts_ErrHiDevLim BOOL 1 = Error in configuration: Cfg_HiDevLim.
Sts_ErrLoDevLim BOOL 1 = Error in configuration: Cfg_LoDevLim.
Sts_ErrDevDly BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrCycleTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrOpenRate BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrCloseRate BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrStuckTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrMaxOnTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrMinOnTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrBumpTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrDeadTime BOOL 1 = Invalid timer preset (use 0.0 to 2147483.0).
Sts_ErrCmdCnfrmTimeOutTime BOOL 1 = Error in configuration: Command confirmation timer preset (use 0.0 to 2147483.0).
Sts_ErrAlm BOOL 1 = Error in Logix Tag-based alarm settings.
Sts_Hand BOOL 1 = Hand is selected (supersedes OoS, Maintenance, Override, External, Program, Operator).
Sts_OoS BOOL 1 = Out of Service is selected (supersedes Maintenance, Override, External, Program, Operator).
Sts_Maint BOOL 1 = Maintenance is selected (supersedes Override, External, Program, Operator).
Sts_Ovrd BOOL 1 = Override is selected (supersedes External, Program, Operator).
Sts_Ext BOOL 1 = External is selected (supersedes Program, Operator).
Sts_Prog BOOL 1 = Program is selected.
Sts_ProgLocked BOOL 1 = Program is selected and locked.
Sts_Oper BOOL 1 = Operator is selected.
Sts_OperLocked BOOL 1 = Operator is selected and locked.
Sts_ProgOperSel BOOL Program/Operator selection (latch) state: 1 = Program, 0 = Operator.
Sts_ProgOperLock BOOL Program/Operator lock (latch) state, 1 = Locked, 0 = Unlocked.
Sts_Normal BOOL 1 = Selection equals the Normal (Program or Operator).
Sts_ExtReqInh BOOL 1 = External request inhibited, cannot get to External from current state.
Sts_ProgReqInh BOOL 1 = Program request inhibited, cannot get to Program from current state.
Sts_MAcqRcvd BOOL 1 = Maintenance acquire command received this scan.
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL 1 = IO Fault Status Bad.
0 = OK.
There is a predefined default discrete Logix tag-based alarm for the status. Set standard
configuration members of the discrete Logix tag-based alarm. Access alarm elements using this
format:
[email protected]_IOFault.AlarmElement
108 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Device Fault status:
1 = Bad,
0 = OK.
Sts_DeviceFault BOOL There is a predefined default discrete Logix tag-based alarm for the status. Set standard
configuration members of the discrete Logix tag-based alarm. Access alarm elements using this
format:
[email protected]_DeviceFault.AlarmElement
1 = Deviation (actual position minus target) outside limits,
0 = Deviation within limits.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
Sts_Dev BOOL
[email protected]_Dev.AlarmElement
Sts_IntlkTrip BOOL 1 = Status: CV held or forced by interlock NOT OK.
There is a predefined default discrete Logix Tag based alarm for the status. Set standard
configuration members of the discrete Logix Tag based alarm. Access alarm elements using this
format:
[email protected]_IntlkTrip.AlarmElement
Sts_CnfrmOperCmdReq BOOL 1 = Operator command request is awaiting confirmation.
Sts_CnfrmOperSPReq BOOL 1 = Operator set point request is awaiting confirmation.
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
XRdy_Acq BOOL 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Val_Owner DINT Current Object Owner ID (0 = not owned).
Private Input Members Data Type Description
CmdSrc P_COMMAND Control / Command Source Selection
_SOURCE
OSet_CV REAL Operator setting of controlled variable (output) in engineering units.
Default = 0.
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks. The instruction clears this operand
automatically.
Default is false.
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select In Service. The instruction clears this operand automatically.
Default is false.
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Rel BOOL Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
OCmd_BumpClose BOOL Operator Command to bump device closed (used when device position feedback is not available).
Publication PROCES-RM215A-EN-P - November 2023 109
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_BumpOpen BOOL Operator Command to bump device open (used when device position feedback is not available).
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this operand
automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Unlock BOOL Operator command to unlock or release (allow Program to acquire) ownership. The instruction
clears this operand automatically.
Default is false.
OCmd_Normal BOOL Operator command to select Normal (Operator or Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms and latched shed conditions. The instruction clears this
operand automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to acknowledge and reset all alarms and latched shed conditions. The use of
OCmd_ResetAckAll is restricted to HMI. The instruction clears this operand automatically.
Default is false.
OCmd_CmdCncl BOOL Operator command to cancel command request. The instruction clears this operand
automatically.
Default is false.
OCmd_CmdCnfrm BOOL Operator command to confirm command request. The instruction clears this operand
automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
MRdy_Bypass BOOL 1 = Ready to receive MCmd_Bypass, enable data entry field.
MRdy_Check BOOL 1 = Ready to receive MCmd_Check, enable data entry field.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_BumpClose BOOL 1 = Ready for OCmd_BumpClose, enable HMI button.
ORdy_BumpOpen BOOL 1 = Ready for OCmd_BumpOpen, enable HMI button.
ORdy_CV BOOL 1 = Ready to receive OSet_CV (enables data entry field).
ORdy_Reset BOOL 1 = At least one alarm or shed condition requires reset.
ORdy_ResetAckAll BOOL 1 = At least one alarm or latched shed condition requires reset or acknowledgement.
110 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public InOut Members Data Type Usage Description
BusObj BUS_OBJ InOut Bus component.
BUS_OBJ Structure
The BUS_OBJ structure links the analog output instruction to other devices
and instructions in a complex control strategy, typically into a hierarchy. A
Bus Object rolls up status and alarm information from lower-level devices to
higher-level control and fans out commands from higher-level control to
lower-level devices. Items link to the bus by referencing a single member of
the BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete Logix Tag based alarms are defined for the following members.
Member Alarm Name Description
Sts_IOFault Alm_IOFault IO Failure.
Raised when the Inp_IOFault input is true. Use this input to indicate to the instruction that a
connection with the module is in fault. This input also indicates if a module reports field power
loss/no load/short circuit is occurring for its I/O. If the I/O Fault is configured as a shed fault, the
device is commanded Off and cannot be commanded to another state until reset. The alarm
condition is not raised when in Virtual.
Publication PROCES-RM215A-EN-P - November 2023 111
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_DeviceFault Alm_DeviceFault Device Confirmed Failure.
Raised when the Inp_DeviceFault input is true. The Device fault alarm condition is not raised
when in Virtual.
Sts_Dev Alm_Dev Deviation alarm.
Raised when the difference between desired device position and actual device position is
greater than High limit or lower than Low limit., i.e. if the following is true:
((Val_CVOut-Val_Pos) > Cfg_HiDevLim) OR ((Val_CVOut-Val_Pos) < Cfg_LoDevLim)
Sts_IntlkTrip Alm_IntlkTrip Interlock Trip alarm.
Raised when an interlock not-OK condition causes the device to transition from the On state or a
pulsing state to the Off state.
If interlocks are not bypassed, a bypassable interlock or a non-bypassable interlock not-OK
condition initiates an interlock trip. If interlocks are bypassed, only a non-bypassable interlock
not-OK condition initiates an interlock trip.
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix Tag based alarm. Access alarm elements using this format:
[email protected]
The Program commands for each alarm enable users to Acknowledge,
Suppress, Unsupress and Unshelve the Alarm. These commands are
propagated to corresponding commands (ProgAck, ProgSuppress,
ProgUnsupress, ProgUnshelve) of the tag-based alarm.
112 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
There are also Program commands that enable users to Acknowledge, Reset,
Suppress and Unsuppress all alarms of the instruction or an alarm set at the
same time.
Publication PROCES-RM215A-EN-P - November 2023 113
Chapter 1 PlantPAx
Operation
The following diagram illustrates the functionality of the PAO instruction:
114 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The following diagram explains logic for Interlock trip status:
The following diagram illustrates the functionality of the PAO instruction for
a pulsed device:
Virtualization
When Virtualization is active, the output of the analog output holds at zero
and I/O faults are ignored. Manipulate the instruction to operate as if a
Publication PROCES-RM215A-EN-P - November 2023 115
Chapter 1 PlantPAx
working analog output is present. Do this for instruction testing and operator
training. Set the Inp_Virtual operand to 1 to enable virtualization. After
finishing virtualization, set the Inp_Virtual operand to 0 to return to normal
operation.
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box. The strings are set to extended
properties of tag items. Configure the strings in the Logix Designer
application only.
• Description
• Label for graphic symbol
• Tag name
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• CV raw units – EngineeringUnit information from Out_CVData tag
• CV engineering units – EngineeringUnit information from Val_CVOut
tag
• Path to an object with more information – Navigation information
from Cfg_HasMoreObj member of P_ANALOG_INPUT structure,
Cfg_HasMoreObj.@Navigation
• Path to an object with output CV information – Navigation
information from Val_CVOut member of P_ANALOG_INPUT
structure, Val_CVOut.@Navigation
• Path to an object with output data information - Navigation
information from Inp_PosFdbk member of P_ANALOG_INPUT
structure, Inp_PosFdbk.@Navigation
Command Source
The instruction uses the following command sources. The command sources
are prioritized in order from highest to lowest in this table.
Command Source Description
Hand Logic outside the instruction owns control of the device. The
instruction tracks the state of the device for bumpless transfer back
to one of the other command sources.
(Highest Priority command source)
Out-of-Service The instruction is disabled and has no owner.
Maintenance Maintenance owns control of the device and supersedes Operator,
Program, and Override control. Operator commands and settings from
the HMI are accepted. Bypassable interlocks and permissives are
bypassed, and device timeout checks are not processed.
116 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Command Source Description
Override Priority logic owns control of the device and supersedes Operator and
Program control. Override Input (Inp_OvrdCmd) is accepted. If so
configured, bypassable interlocks and permissives are bypassed.
Program locked Program logic owns control of the device. Program commands
(PCmd_) are accepted. Operator cannot take control from the
Program. Override cannot take control from the Program unless
Cfg_OvrdOverLock = 1.
Program Program logic owns control of the device. Program commands
(PCmd_) are accepted.
Operator locked The Operator owns control of the device. Operator commands
(OCmd_) from the HMI are accepted. Program cannot take control
from Operator. Override cannot take control from Operator unless
Cfg_OvrdOverLock = 1.
Operator The Operator owns control of the device. Operator commands
(OCmd_) from the HMI are accepted.
(Lowest Priority command source)
The instruction is able to enable/disable the following operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations on control forcing the
nearest valid configuration.
The core control model deals specifically with the arbitration of the source of
the commands and parameters currently being accepted by the receiving
function. More specifically, whether the source is:
• A programmatic entity, one which resides entirely within the
processing environment, or
• An external interface entity, one which issues commands and
parameters external and asynchronously to the processing
environment.
These sources are known as Prog (Program) and Oper (Operator) control,
respectively.
The optional ability to lock into one control source or the other is required to
ensure that the other control source cannot acquire privilege when the
designer wants to prevent it.
Publication PROCES-RM215A-EN-P - November 2023 117
Chapter 1 PlantPAx
Core Command Source Model
The core control model consists of the following control sources: Oper,
OperLocked, Prog, ProgLocked. The control model defaults to this
configuration. Other control sources may be present in the model but act as
overriding control sources acting independent of the base Operator/Program
state machine.
Enabling control sources as Configuration
The individual control sources may be enabled or disabled by the user. The
default configuration utilizes the entire base model. The differentiation being
that upon power-up of the processing environment the control source will be
the designated default. Some combinations of enabled control sources are
disallowed as they are either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program will be
the power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands will win when simultaneously asserted.
Automatic reset of commands
All commands are treated as ‘one-shot-latched.’ This means that all commands
are automatically cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
Example: If the Prog is disabled, the destination of the OCmd_Prog command
is directed to the ProgLocked state instead of the Prog state. This is done to
maintain the intent of the OCmd_Prog command: the operator entity wishes
to place the function in control of the program. If the command was
eliminated then there would be no way to accomplish this. This is only done in
configurations where it would cause no conflict or race condition. But
serves to preserve as much user functionality as is practical.
118 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Higher Priority Command Sources
Higher priority command sources which operate independently within the
model: Override, Maintenance, Out-of-Service, In-Service and Hand.
Monitoring the PAO Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing
faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 1 (never scanned).
Instruction first run All commands that are automatically cleared each execution are
cleared and ignored.
The Program/Operator selection is set based on the
configuration (Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and
persists through a controller powerup or PROG-to-RUN transition.
PSet_Owner and Sts_Owner are set to 0.
Rung-condition-in is false The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized. All alarms are cleared.
Command source selection processing proceeds as normal
except that all ownership status bits (Sts_Maint, Sts_Ovrd,
Sts_Prog and Sts_Oper) are cleared to 0. Commands are still
received for Maintenance, Operator, and Program and are
processed behind the scenes, just as they are in Hand mode.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 119
Chapter 1 PlantPAx
Function Block Diagram
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Ladder Diagram table.
EnableIn is false See Rung-condition-in is false in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Example 1: Analog valve
The following example provides a demonstration of using a PAO instruction
to control a valve. During normal operation, the operator sets the valve
position using PAO through the HMI faceplate. This example also includes
interlock conditions low-low level and high-high temperature provided by
outputs of PAI instructions. The interlock conditions are used as inputs by
PAO to set the valve (Local:0:O.Ch0Data = Out_CVData) to an interlock
position (for example, closed). This is done by setting the PAO configuration
parameter Cfg_Intlk to 0.
120 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 121
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
FCV_103.Inp_NBIntlkOK := NOT(TT_103.Sts_HiHi OR LT_103.Sts_LoLo);
FCV_103.Inp_IOFault := Local:0:I.Ch0Fault;
PAO(FCV_103, 0);
Local:1:O.Ch0Data := FCV_103.Out_CVData;
Example 2: Manual loading station
This example uses the PAO instruction to implement a manual loading station
for a pressure control valve that is used to regulate gas supply to a process. The
control valve in our example has opened and closed limit switches and a
position feedback. The desired valve position is provided by the operator
through the HMI faceplate.
The field inputs for position feedback, opened limit switch, and closed limit
switch are connected to the instruction inputs Inp_PosFdbk,
122 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Inp_OpenedFdbkData, and Inp_ClosedFdbkData. The Out_CVData is
connected to the field output going to the valve.
The parameters Cfg_HasOpenedFdbk and Cfg_HasClosedFdbk are both set to
1 so the instruction knows the field is providing opened and closed limit
switches. The parameters Cfg_UseOpenedFdbk and Cfg_UseClosedFdbk are
set to 1 so that these limit switches are used to determine device status.
The analog output card is expecting an output in units of 4…20 mA; however,
the faceplate shows the value in terms of 0…100% open. Therefore, the scaling
parameters are set as follows. Cfg_CVEUMin=0, Cfg_CVEUMax=100,
Cfg_CVRawMin=4, Cfg_CVRawMax=20.
The valve position feedback is provided in CV engineering units, percent in
our particular case, via PAI instruction.
Publication PROCES-RM215A-EN-P - November 2023 123
Chapter 1 PlantPAx
Ladder Diagram
124 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PCV_110812.Inp_OpenedFdbkData := I_PSO110812;
PCV_110812.Inp_ClosedFdbkData := I_PSC110812;
PCV_110812.Inp_PosFdbk := I_PZV110812.Val;
PAO(PCV_110812, 0);
O_PV110812 := PCV_103.Out_CVData;
Example 3: Ratchet valve
This example uses the PAO instruction to automate a ratcheting valve that is
driven open or closed by using two discrete outputs to control flow. The flow
valve in our example has a position feedback. The desired valve position is
provided by an output of a control algorithm that is elsewhere in logic.
In this example, the field inputs for position feedback are wired (or
connected) to the instruction input Inp_PosFdbk. Out_CVOpenData and
Out_CVCloseData are connected to the field outputs going to the valve. The
Publication PROCES-RM215A-EN-P - November 2023 125
Chapter 1 PlantPAx
input to the instruction to set valve position is wired to PSet_CV.
Cfg_ProgNormal is set to 1 so the instruction defaults to Program mode.
The analog output is not used; however, the faceplate shows the value of
Val_CVOut in terms of 0…100% open, CV in engineering units. Therefore, the
scaling parameters are set as follows. Cfg_CVEUMin=0, Cfg_CVEUMax=100,
Cfg_CVRawMin=0 (default), Cfg_CVRawMax=100 (default)
The feedback signal is provided in CV engineering units via PAI instruction
which scales the signal from feedback raw units to CV engineering units.
In this example, the ratcheting control valve is to be adjusted by cycling the
open or close valve command for a period of time proportional to the amount
the valve is to be moved. Cfg_CycleTime is set to 10, to define the overall
period of the cycle to cycle on and off the open or close output. Cfg_OpenRate
and Cfg_CloseRate are both set to 1, which means the required valve output is
energized 1 second for every 1% difference between the target position and the
actual position provided by feedback.
Cfg_MaxOnTime is set to 5 so that the output is energized for no more than 5
seconds of the 10-second cycle time to allow for the valve to move, and the
feedback to be verified before the next cycle. Cfg_MinOnTime is set to 1 so
that the output does not pulse if the calculated pulse time is less than 1 second.
126 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 127
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
FCV_110813.PSet_CV := FIC_110813_Out;
FCV_110813.Inp_PosFdbk := I_FVZ110813;
PAO(FCV_110813, 0);
O_FYO110813 := FCV_110813.Out_CVOpenData;
O_FYC110813 := FCV_110813.Out_CVCloseData;
See also
Process Analog Output feedback processing on page 129
128 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PAO feedback processing The Process Analog Output (PAO) instruction evaluates feedback signals from
limit switches provided by the device. The instruction reports device Open in
one of these conditions:
• Instruction is in virtual and Open limit switch is used and activated.
• Instruction is not in virtual, Open limit switch is not used, Closed limit
is used but not activated.
• Instruction is in virtual, and Val_Pos > Cfg_MaxClosedPos.
• No limit switch in use and Val_Pos > Cfg_MaxClosedPos.
The instruction reports device Closed in one of these conditions:
• Instruction is not in virtual, Closed limit switch is used and activated.
• Instruction is not in virtual, Open limit switch used and not activated,
Closed limit switch not used.
• Instruction is in virtual and Val_Pos ≤ Cfg_MaxClosedPos.
• No limit switch in use and Val_Pos ≤ Cfg_MaxClosedPos.
Publication PROCES-RM215A-EN-P - November 2023 129
Chapter 1 PlantPAx
Instruction logic used in processing of feedback from limit switches and
device/actuator confirmed position is shown in this diagram.
130 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
These diagrams show logic involved in IO fault, device fault, and deviation out
of range alarm conditions:
Pulse Output
The PAO instruction can be used in connection with a pulse-driven device,
typically a valve, if the instruction is configured for pulse outputs
(Cfg_HasPulseOut=1). The instruction generates pulses with duration
modulated by the position error, difference (Val_Dev) between desired
position calculated by the instruction (Val_CVOut), and device confirmed
actual position (Val_Pos). Actual position is either provided by the device via
feedback (Inp_PosFdbk) or simulated by the instruction if the physical
feedback is not available or used.
Pulses are generated in cycles, one pulse per cycle. Pulses cannot be too short
and too long to minimize wear of the equipment, device, or actuator. These
time constraints are user defined as Cfg_MinOnTime and Cfg_MaxOnTime.
Cycle duration Cfg_CycleTime is also user defined.
The instruction uses three parameters associated with assumed behavior of
the device or actuator, rate at which the device moves when opening
Cfg_OpenRate, rate at which the device moves when closing Cfg_CloseRate,
and delay Cfg_DeadTime in device or actuator reaction when the device or
actuator is commanded to open or close. If the device or actuator responds to
the Open/Close pulse with delay, e.g. due to stiction, compensate for the delay
by entering Cfg_DeadTime. Uncompensated delay results in steady state
position error.
IMPORTANT Failure to set correct values for Cfg_OpenRate, Cfg_CloseRate, and Cfg_DeadTime can
result in undesired moves of the device or actuator.
Publication PROCES-RM215A-EN-P - November 2023 131
Chapter 1 PlantPAx
The pulsing logic provides functionality of a position control loop. Pulse width
is calculated for a cycle.
For Val_Dev /DIAGRAM_PATH_SPECIFIER>0 open pulse time is calculated
as:
PulseDuration = min(Val_Dev/Cfg_OpenRate + Cfg_DeadTime,
Cfg_MaxOnTime),
Val_OpenTime = PulseDuration, for PulseDuration ≥ Cfg_MinOnTime,
Val_OpenTime = 0, for PulseDuration < Cfg_MinOnTime.
For Val_Dev <0 pulse close time is calculated as:
PulseDuration = min(-Val_Dev/Cfg_CloseRate + Cfg_DeadTime,
Cfg_MaxOnTime),
Val_CloseTime = PulseDuration, for PulseDuration ≥ Cfg_MinOnTime,
Val_CloseTime = 0, for PulseDuration < Cfg_MinOnTime.
These diagrams provide examples of device/actuator response to step in
desired position, Val_CVOut, for different settings of configuration
parameters.
132 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram demonstrates OpenTime for a cycle resulting from actual
setting of instruction parameters. Three cases are shown for different
relations between entered Cfg_OpenRate compared to the real open rate of
the device/actuator.
When the device starts to move or reverses direction, the instruction delays
calculated Val_Pos by configured dead time (Cfg_DeadTime).
Publication PROCES-RM215A-EN-P - November 2023 133
Chapter 1 PlantPAx
This figure demonstrates OpenTime for a cycle resulting from actual setting
of instruction parameters and a device or actuator responding to the
command with delay. The diagram shows two cases: delay ignored and delay
compensated.
134 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The following figures show a sequence of pulses for various instruction
parameter settings and actuator behavior. In this diagram, the constant speed
of the actuator is equal to Cfg_OpenRate or Cfg_CloseRate when in move.
When configured rate Cfg_OpenRate is faster than the physical rate of the
device, and position feedback is provided by the device, the position response
differs. The Open pulse gets shorter when approaching the desired position
until it violates the configured minimal On time (Cfg_MinOnTime),
preventing the instruction from continuing pulsing.
Do not use the pulsing function of the instruction when position feedback is
not used, Val_Pos is calculated by the instruction, and configured rate
Cfg_OpenRate differs from physical rate of the device.
IMPORTANT Scan time of the instruction must be much shorter than Cfg_CycleTime. Failure to
follow this recommendation can result in undesired movement of the device or
actuator.
Publication PROCES-RM215A-EN-P - November 2023 135
Chapter 1 PlantPAx
These figures show how larger scan time affects moves of the device or
actuator driven by instruction pulse outputs.
136 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The relationship between limit settings associated with device or actuator
position is shown in the figure below for signals provided by normally open
limit switches.
Position feedback simulation
When position feedback Inp_PosFdbk is not available, position Val_Pos is
calculated. In virtual, or if the position feedback is not available, the position
feedback is calculated from the last scan position, actual scan time, and
configured open (closed) rate:
Val_Pos = Val_Pos + ScanTime*Cfg_OpenRate when opening,
Val_Pos = Val_Pos - ScanTime*Cfg_CloseRate when closing,
Val_Pos = max(min(Val_Pos,Cfg_CVEUMax),Cfg_CVEUMin).
When not in virtual and when position feedback is not available, the
instruction relies on limit switch availability to reset the calculated position
when limits are reached. Val_Pos is set to Cfg_CVEUMax if Open limit switch
is activated and Closed limit switch is not active or not used. Val_Pos is set to
Cfg_CVEUMin if Closed limit switch is activated and Open limit switch is not
active or not used.
Bumping
The instruction can request the device to increment its position without
position feedback. The user requests a bump to pulse the output. The pulse
Publication PROCES-RM215A-EN-P - November 2023 137
Chapter 1 PlantPAx
output is energized for configurable duration of time Cfg_BumpTime ≤
Cfg_CycleTime, as shown in the figure below.
The instruction is ready to execute bump open or bump close command when:
• Bump timer is greater than zero (zero disables the bump function),
and
• Position feedback is infinite, not a number, or there is an I/O fault, or
there is a device fault, and
• Device is in Operator or Maintenance mode, and
• Previous bump operation is not active, and
• Device is not at the end of travel, or limit switch is not being used, for
the target direction of travel.
Operator command request confirmation
The PAO instruction allows an operator to use operator setting OSet_CV and
command requests OCmd_BumpOpen, OCmd_BumpClose. Enforced security
might require the request to be confirmed or canceled before the selected
command executes. The instruction checks the security rules inspecting
Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0, no confirmation is required and the
request executes immediately. If Cfg_CnfrmReqd=1 the instruction waits for
confirmation OCmd_CmdCnfrm=1 and/or cancellation OCmd_CmdCncl=1.
For Cfg_CnfrmReqd=2 or 3, eSignature is needed before the confirmation and
cancellation is enabled.
138 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
See also
Process Analog Output
Process Boolean Logic This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PBL)
The Process Boolean Logic with Snapshot (PBL) instruction executes up to
eight gates of configurable Boolean logic. Gate types available include AND,
OR, XOR (Exclusive-OR), Set/Reset, Select, and Majority. Each gate provides
up to four input conditions that are individually invertible using a
configuration setting.
The PBL Instruction can record its current state:
• After a change in output state.
• On Operator or Program command.
• Based on a logic loopback input.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 139
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PBL(PBL tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PBL P_BOOLEAN_LOGIC tag Data structure required for proper operation of instruction.
P_BOOLEAN_LOGIC Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are in separate tables after
public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung condition.
Default is true.
140 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_0 BOOL Logic input 0.
Default is false.
Inp_1 BOOL Logic input 1.
Default is false.
Inp_2 BOOL Logic input 2.
Default is false.
Inp_3 BOOL Logic input 3.
Default is false.
Inp_4 BOOL Logic input 4.
Default is false.
Inp_5 BOOL Logic input 5.
Default is false.
Inp_6 BOOL Logic input 6.
Default is false.
Inp_7 BOOL Logic input 7.
Default is false.
Inp_Hold BOOL 1 = Hold previous states in snapshot; 0 = Pass live states to snapshot.
Default is false.
Inp_Reset BOOL 1 = Reset snapshot latch, show live states.
Default is false.
Cfg_UseInpHold BOOL 1 = Use Inp_Hold to snap state; 0 = Use Cmds or Output transition to snap.
Default is false.
Cfg_UsePCmd BOOL 1 = Enable snapshot on PCmd_Snap 0 --> 1 (edge).
Default is true.
Cfg_UseOCmd BOOL 1 = Enable snapshot on OCmd_Snap 0 --> 1 (edge).
Default is true.
Cfg_UseOut01 BOOL 1 = Enable snapshot on Output 0 --> 1 (rising edge).
Default is true.
Cfg_UseOut10 BOOL 1 = Enable snapshot on Output 1 --> 0 (falling edge).
Default is false.
Cfg_TimestampOnSnap BOOL 1 = Generate a timestamp when snapshot occurs.
Default is false.
Cfg_SnapOver BOOL 1 = New snapshot overwrites without reset, 0 = Save first snapshot until reset.
Default is false.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more information is available.
Default is false.
Cfg_HasNav SINT Set bits indicate which navigation buttons are enabled.
Default is 2#0000_0000.
Cfg_OnDly REAL Output ON delay time (seconds). Valid = 0.0 to 2147483.0
Default is 0.0.
Cfg_OffDly REAL Output OFF delay time (seconds). Valid = 0.0 to 2147483.0
Default is 0.0.
Cfg_CnfrmReqd SINT Operator Command Confirmation Required. Represents the type of command
confirmation required. 0 = None, 1 = Command confirmation required, 2 = Performer
e-signature required, 3 = Performer and approver e-signature required.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 141
Chapter 1 PlantPAx
Public Input Members Data Type Description
PCmd_Snap BOOL Program command to capture Input, Gate states in snapshot.
Default is false.
PCmd_Reset BOOL Program command to reset (re-arm) snapshot latch.
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output. This output state always reflects EnableIn input state.
Out_Live BOOL Condition logic output (result) after delay.
Out_Snap BOOL Condition logic output (result) at snapshot.
Val_DlyPctLive DINT Output OnDelay or OffDelay percent complete: live.
Val_DlyPctSnap DINT Output OnDelay or OffDelay percent complete: snapshot.
Val_SnapInit DINT Snapshot initiator: 1 = OCmd, 2 = PCmd, 3 = Out 0-->1, 4 = Out 1-->0, 5 = Inp_Hold.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_Snapped BOOL 1 = Snapshot has been triggered, 0 = Snapshot showing live states.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
Sts_InpLive SINT Live input status bits: .0 to .7 = Inp_0 to Inp_7.
Sts_GateLive SINT Live gate result status bits: .0 to .7 = Gate 0 to 7.
Sts_InpSnap SINT Snapshot of input status bits: .0 to .7 = Inp_0 to Inp_7.
Sts_GateSnap SINT Snapshot of gate result status bits: .0 to .7 = Gate 0 to 7.
Sts_GateSrc1Live SINT Live wire state for source 1 of each gate (bit# = gate#).
Sts_GateSrc2Live SINT Live wire state for source 2 of each gate (bit# = gate#).
Sts_GateSrc3Live SINT Live wire state for source 3 of each gate (bit# = gate#).
Sts_GateSrc4Live SINT Live wire state for source 4 of each gate (bit# = gate#).
Sts_GateSrc1Snap SINT Snapshot of wire state for source 1 of each gate (bit# = gate#).
Sts_GateSrc2Snap SINT Snapshot of wire state for source 2 of each gate (bit# = gate#).
Sts_GateSrc3Snap SINT Snapshot of wire state for source 3 of each gate (bit# = gate#).
Sts_GateSrc4Snap SINT Snapshot of wire state for source 4 of each gate (bit# = gate#).
Sts_OutInvertLive BOOL Output after inverter but before TON/TOF timers.
Sts_OutInvertSnap BOOL Snapshot of output after inverter but before TON/TOF.
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrGateFunc SINT 1 = Error in each gate's function code (use 0 to 6).
Sts_ErrGateSrcPtr SINT 1 = Error in each gate's source pointer (use 0 to 15).
Sts_ErrGateSrcMask SINT 1 = Error in each gate's mask (source used) configuration (qty, choice).
Sts_ErrOutSrcPtr BOOL 1 = Error in output's source pointer (use 0 to 15).
Sts_ErrTimer BOOL 1 = Error in output's On Delay or Off Delay preset (use 0.0 to 2147483.0).
Private Input Members Data Type Description
Cfg_GateFunc DINT[8] Function code for gate M (1 = AND, 2 = OR, 3 = XOR, 4 = 2oo3, 5 = Set-Reset).
Cfg_GateSrc1Invert SINT Gate M Source #1 is Inverted (M by bit) (1 = invert).
Default is 2#0000_0000.
Cfg_GateSrc1Mask SINT Gate M Source #1 is Used (M by bit) (1 = used).
Default is 2#0000_0000.
Cfg_GateSrc1Ptr DINT[8] Pointer to Gate M Source #1 (0...7 = inputs, 8...15 = gate outputs).
Cfg_GateSrc2Invert SINT Gate M Source #2 is Inverted (M by bit) (1 = invert).
Default is 2#0000_0000.
Cfg_GateSrc2Mask SINT Gate M Source #2 is Used (M by bit) (1 = used).
Default is 2#0000_0000.
Cfg_GateSrc2Ptr DINT[8] Pointer to Gate M Source #2 (0...7 = inputs, 8...15 = gate outputs).
142 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
Cfg_GateSrc3Invert SINT Gate M Source #3 is Inverted (M by bit) (1 = invert).
Default is 2#0000_0000.
Cfg_GateSrc3Mask SINT Gate M Source #3 is Used (M by bit) (1 = used).
Default is 2#0000_0000.
Cfg_GateSrc3Ptr DINT[8] Pointer to Gate M Source #3 (0...7 = inputs, 8...15 = gate outputs).
Cfg_GateSrc4Invert SINT Gate M Source #4 is Inverted (M by bit) (1 = invert).
Default is 2#0000_0000.
Cfg_GateSrc4Mask SINT Gate M Source #4 is Used (M by bit) (1 = used).
Default is 2#0000_0000.
Cfg_GateSrc4Ptr DINT[8] Pointer to Gate M Source #4 (0...7 = inputs, 8...15 = gate outputs).
Cfg_HasNav SINT Set bits indicate which navigation buttons are enabled.
Default is 2#0000_0000.
Cfg_OutSrcInvert BOOL Out source (before minimum duration timer) is inverted (1 = invert).
Default is false.
Cfg_OutSrcPtr DINT Source bit for Output (0...7 = inputs, 8...15 = gates).
Default is 0.
HMI_Const SINT[9] Constants (for use in HMI indirection of parameters).
OCmd_Reset BOOL Operator command to reset (re-arm) snapshot latch.
Default is false.
OCmd_Snap BOOL Operator Command to capture input, gate states in snapshot.
Default is false.
Private Output Members Data Type Description
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables button).
ORdy_Snap BOOL 1 =Ready for OCmd_Snap (enables button).
Val_LastGate DINT[8] Last gate pin which uses this gate result (0 = not used, 1...32 = gates, 33 = output).
Val_LastInp DINT[8] Last gate pin which uses this input (0 = not used, 1...32 = gates, 33 = output) For
animation.
Val_SnapTimestamp DINT[7] Snapshot timestamp [0] = year, [1] = month, [2] = day, [3] = hour, [4] = minute, [5] =
second, [6] = usecond.
Operation
The PBL instruction:
• Provides up to eight Boolean inputs and eight logic gates.
• Each gate has four inputs. Each input can be enabled or disabled and
can be normal or inverted. Each enabled gate input can be linked to a
source, which is an instruction input or the result of a preceding gate
• Use one of these methods to configure the eight gates:
• Logical AND: The gate's output is true if all of the enabled gate
inputs, after configured inversions, are true. An AND gate can have
up to four inputs enabled.
• Logical OR: The gate's output is true if any of the enabled gate
inputs, after configured inversions, are true. An OR gate can have
up to four inputs enabled.
Publication PROCES-RM215A-EN-P - November 2023 143
Chapter 1 PlantPAx
• Logical XOR (Exclusive OR): The gate's output is true if an odd
number of the enabled gate inputs, after configured inversions, are
true. An XOR gate can have up to four inputs enabled.
• Set-Reset: The gate's output is set true if one of its Set inputs is true,
and is cleared to false if one of its Reset inputs is true. The gate's
four inputs are:
Input 1: SET (dominant)
Input 2: RESET (dominant)
Input 3: SET
Input 4: RESET
• Select: If input 3 is false, the state of input 1 is passed to the gate
output. If input 3 is true, the state of input 2 is passed to the gate
output. A Select gate must have input 3 enabled and either or both of
inputs 1 and 2 enabled.
• Majority (labeled ‘MooN’ for ‘M out of N’): The gate’s output is set
true if a majority of its inputs, after configured inversions, are true.
A majority would consist of 2 out of 2, 2 out of 3, or 3 out of 4. A
Majority gate can have two, three, or four inputs enabled.
• Provides a snapshot capability that captures the state of the instruction
for use later, until reset: all input states, gate states, and output state.
The snapshot capability captures the state of the logic at the time that
it tripped or shut down equipment, even if the logic states change after
the shutdown. The snapshot is optionally timestamped from the
controller clock with the year, month, day, hour, minute, second, or
microsecond.
• Provides options to enable these following snapshot trigger
conditions:
• Capture snapshot on Operator Command (OCmd_Snap).
• Capture snapshot on Program Command (PCmd_Snap).
• Capture snapshot when the output transitions from 0 to 1.
• Capture snapshot when the output transitions from 1 to 0.
• Capture snapshot of previous scan's state when a loopback input
becomes true. This capability captures the snapshot when the PBL
output condition is the first-out condition in a downstream PINTLK
block. The first-out indication from the PINTLK instruction can be
looped back to the PBL instruction's Inp_Hold input to hold the
last-scan state in the snapshot, including last scan's time stamp.
Implementation
Use the PBL instruction in these situations:
• A project requires an Interlock or Permissive condition that is more
complicated than the simple OR-ing or AND-ing provided by the
PINTLK (Interlocks) or PPERM (Permissives) Add-On Instructions.
144 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• A project requires some Boolean (combination) logic that can be
reconfigured from the HMI online, or which requires the snapshot
capability for saving a copy of the logic state with a timestamp.
• A project contains more than the 16 interlock conditions or permissive
conditions provided by the PINTLK and PPERM Add-On Instructions,
but some of the conditions can be grouped together under one
identification. For example, all of the bearing overtemperature signals
for a pump and motor (Pump Inboard Bearing, Pump Outboard
Bearing, Motor Inboard Bearing, and Motor Outboard Bearing) can be
ORed together in a PBL instruction and the result presented to a
PINTLK instruction as a single Bearing Overtemp condition.
Do not use this instruction in these situations:
• A project requires simple interlocks and permissives that can be
handled by the PINTLK and PPERM instructions directly. These
instructions can permit operation or trip operation.
• A project requires logic that is beyond the PBL Add-On Instruction
capabilities or which is extremely time critical. The PBL instruction
provides only eight inputs, eight gates, and one output with on-delay
and off-delay timing, and it is implemented with table-driven code.
Use hard-coded logic in built-in controller languages instead. The
built-in programming languages are faster and provide functionality
beyond what the PBL instruction can do.
Publication PROCES-RM215A-EN-P - November 2023 145
Chapter 1 PlantPAx
This diagram illustrates the functionality of the PBL instruction:
Configuration
A maximum of eight gates can be configured using these tags:
Cfg_GateFunc[M] – This configuration is an array which defines the
gate function. M = the gate number, 0-7.
146 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• 1 = Logical AND Gate
• 2 = Logical OR Gate
• 3 = Logical XOR Gate
• 4 = Majority of Outputs are true
• 5 = Set/Reset
• 6 = A/B Selector
Each gate has four input pins. Each input pin can be enabled or disabled using
this tag:
Cfg_GateSrc#Mask: This configuration is a SINT value that masks the
gates (0-7) that are enabled for that input pin in a binary format. # =
the input pin number (1-4). If the mask bit is high then the gate for that
particular input pin is enabled.
Examples:
• Cfg_GateSrc1Mask.0 = 1 input pin 1 of gate 0 is enabled
• Cfg_GateSrc2Mask.1 = 1 input pin 2 of gate 1 is enabled
• Cfg_GateSrc3Mask.3 = 1 input pin 3 of gate 3 is enabled
• Cfg_GateSrc4Mask.0 = 1 input pin 4 of gate 0 is enabled
Each gate input pin can be normal or inverted.
Cfg_GateSrc#Invert: This configuration is a SINT value which inverts
an input. # = the input pin number (1-4).
Examples:
• Cfg_GateSrc1Invert.0 = 1 input pin 1 of gate 0 is inverted.
• Cfg_GateSrc2Invert.2 = 1 input pin 2 of gate 2 is inverted
• Cfg_GateSrc3Invert.3 = 1 input pin 3 of gate 3 is inverted
• Cfg_GateSrc4Invert.6 = 1 input pin 4 of gate 6 is inverted
Each enabled gate input pin can be linked to a source, either an instruction
input or the result of a preceding gate.
Cfg_GateSrc#Ptr[M] - This configuration is an array that defines the
source for the input pin on each gate. Where # = the input pin number
(1-4), and M = the gate number (0-7). A value of 0-7 represents an
instruction input. A value of 8-15 represents the result of a preceding
gate. Tip: A gate can only be used as an input into another gate with a
higher gate value.
Examples:
• Cfg_GateSrc1Ptr[0] = 2 states that Inp_2 is configured in Gate 0 on
pin 1.
• Cfg_GateSrc2Ptr[0] = 3 states that Inp_3 is configured in Gate 0 on
pin 2.
• Cfg_GateSrc3Ptr[2] = 8 states that Gate 0 result is configured
in Gate 2 on pin 3.
Publication PROCES-RM215A-EN-P - November 2023 147
Chapter 1 PlantPAx
• Cfg_GateSrc4Ptr[7] = 12 states that Gate 4 result is configured
in Gate 7 on pin 4.
Configure the output using these tags:
• Cfg_OutSrcPtr – This configuration determines which input/gate will
be the output. A value of 0-7 represents an instruction input. A value
of 8-15 represents the result of a gate.
• Cfg_OutSrcInvert – This configuration determines if the output will be
inverted.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• State name strings for 0-state and 1-state
• More Information
Monitor the PBL Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
148 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Resets the output on-delay and off-delay timers; clears the snapshot time
stamp and data; clears any commands received while controller was in
Program mode.
Instruction first run Resets the output on-delay and off-delay timers; clears the snapshot time
stamp and data; clears any commands received while controller was in
Program mode.
Rung-condition-in is false Clears output to false (off) and resets the output on-delay and off-delay
timers.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Resets the output on-delay and off-delay timers; clears the snapshot time
stamp and data; clears any commands received while controller was in
Program mode.
Instruction first run Resets the output on-delay and off-delay timers; clears the snapshot time
stamp and data; clears any commands received while controller was in
Program mode.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Clears output to false (off) and resets the output on-delay and off-delay
timers.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 149
Chapter 1 PlantPAx
Example
This example uses the PBL instruction to perform advanced interlocking logic
that is based on the winding temperatures of a motor. This example navigates
the parameter settings to fully illustrate the example.
In this example, there is a motor with three RTDs measuring temperature of
the windings. To prevent damage to the windings, the motor must be
interlocked if:
• Any of the windings are above the high-high temperature limit.
• The majority of the windings are above the high temperature limit.
PBL performs this function. The output of this logic feeds the interlock of the
motor elsewhere in logic.
150 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 151
Chapter 1 PlantPAx
Function Block Diagram
In this example, there is a motor with three RTDs measuring temperature of
the windings. To prevent damage to the windings, the motor must be
interlocked if any of the three windings are above the high-high temperature
limit, or if the majority of the windings are above the high temperature limit.
PBL is being used to perform this function. The output of this logic feeds the
interlock of the motor elsewhere in logic.
The input parameters (Inp_0, Inp_1, Inp_2, Inp_3, Inp_4, Inp_5) are
connected to the status outputs of the three winding temperature inputs.
Three of the eight gates (0…7) in PBL are used in this example (1, 5, 6). Gate 1 is
the OR of the three high-high status bits. Gate 5 checks if the majority of the
high status bits are true. Gate 6 ORs the outputs of Gates 1 and 5 to set the
output of PBL.
To set up the gate functions (Gates 1 and 6 as OR and Gate 5 as Majority), use
these settings:
• Cfg_GateFunc[1] = 2
• Cfg_GateFunc[5] = 6
• Cfg_GateFunc[6] = 2
152 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Gate 1 is set up to look at the three high-high status inputs (Inp_0, Inp_2, and
Inp_4) by using these settings:
• Cfg_GateSrc1Mask.1 = 1, Cfg_GateSrc1Ptr[1] = 0
• Cfg_GateSrc2Mask.1 = 1, Cfg_GateSrc2Ptr[1] = 2
• Cfg_GateSrc3Mask.1 = 1, Cfg_GateSrc3Ptr[1] = 4
Gate 5 is set up to look at the three high status inputs (Inp_1, Inp_4, and Inp_5)
by using these settings:
• Cfg_GateSrc1Mask.5 = 1, Cfg_GateSrc1Ptr[5] = 1
• Cfg_GateSrc2Mask.5 = 1, Cfg_GateSrc2Ptr[5] = 3
• Cfg_GateSrc3Mask.5 = 1, Cfg_GateSrc3Ptr[5] = 5
Lastly, Gate 6 is set up to look at the outputs of gates 1 and 5 by using these
settings:
• Cfg_GateSrc1Mask.6 = 1, Cfg_GateSrc1Ptr[6] = 9
• Cfg_GateSrc2Mask.6 = 1, Cfg_GateSrc2Ptr[6] = 13
Cfg_OutSrcPtr needs to be set to 14 to take the output from Gate 6 and make it
the output (Out_Live) of the PBL block. The on-delay time is then set to 5
seconds to prevent spurious trips of the output (Cfg_OnDly = 5).
Lastly, the descriptions provide documentation on the faceplate. In this
example, these are the description settings:
• Out_Live.@State0 = OK
• Out_Live.@State1 = Tripped
• Inp_0.@Label = Winding A Hi-Hi Temp
• Inp_1.@Label = Winding A Hi Temp
• Inp_2.@Label = Winding B Hi-Hi Temp
• Inp_3.@Label = Winding B Hi Temp
• Inp_4.@Label = Winding C Hi-Hi Temp
• Inp_5.@Label = Winding C Hi Temp
Publication PROCES-RM215A-EN-P - November 2023 153
Chapter 1 PlantPAx
This diagram illustrates the functionality of the example:
Structured Text
TI1_P50.Inp_PVData := I_TE1_P50;
TI1_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH0Fault);
PAI(TI1_P50);
TI2_P50.Inp_PVData := I_TE2_P50;
TI2_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH1Fault);
PAI(TI2_P50);
TI3_P50.Inp_PVData := I_TE3_P50;
TI3_P50.Inp_PVUncertain := (CAF_117[12] OR Local_12_I_CH2Fault);
PAI(TI3_P50);
TI1_P50.Sts_HiHi := NG_PBL.Inp_0;
TI1_P50.Sts_Hi := NG_PBL.Inp_1;
TI2_P50.Sts_HiHi := NG_PBL.Inp_2;
TI2_P50.Sts_Hi := NG_PBL.Inp_3;
TI3_P50.Sts_HiHi := NG_PBL.Inp_4;
TI3_P50.Sts_Hi := NG_PBL.Inp_5;
PBL(NG_PBL);
154 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Process Command Source This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PCMDSRC)
The Process Command Source (PCMDSRC) instruction selects the command
source for a device.
The instruction includes these command sources:
• Hand
• Out-of-Service
• Maintenance
• Override
• External
• Program locked
• Program
• Operator locked
• Operator
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 155
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PCMDSRC (PCMDSRC tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_COMMAND_SOURCE tag Data structure required for proper
operation of the instruction.
P_COMMAND_SOURCE Structure
Input Members Data Type Description
EnableIn Enable input.
Ladder Diagram:
Corresponds to the rung condition.
BOOL Default is true.
156 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Input Members Data Type Description
Inp_OwnerCmd DINT Owner device command:
0 = None,
Inp_OwnerCmd.10 = Operator Lock,
Inp_OwnerCmd.11 = Operator Unlock,
Inp_OwnerCmd.12 = Program Lock,
Inp_OwnerCmd.13 = Program Unlock,
Inp_OwnerCmd.14 = Acquire Maintenance,
Inp_OwnerCmd.15 = Release Maintenance,
Inp_OwnerCmd.16 = Acquire External,
Inp_OwnerCmd.17 = Release External,
Inp_OwnerCmd.29 = Echo.
Default is 0.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when re-initialization is needed. The
instruction clears this operand automatically.
Default is true.
Inp_Hand 1 = Acquire Hand (typically permanently set to local),
0 = Release Hand.
BOOL Default is false.
Inp_Ovrd 1 = Acquire Override (higher priority program logic),
0 = Release Override.
BOOL Default is false.
Inp_ExtInh 1 = Inhibit External acquisition,
0 = Allow External acquisition.
BOOL Default is true.
Cfg_HasOper 1 = Operator (unlocked) exists, can be selected.
BOOL Default is true.
Cfg_HasOperLocked 1 = Operator Locked exists, can be selected.
BOOL Default is true.
Cfg_HasProg 1 = Program (unlocked) exists, can be selected.
BOOL Default is true.
Cfg_HasProgLocked 1 = Program Locked exists, can be selected.
BOOL Default is true.
Cfg_HasExt 1 = External exists, can be selected.
BOOL Default is false.
Cfg_HasMaint 1 = Maintenance exists, can be selected.
BOOL Default is true.
Cfg_HasMaintOoS 1 = Maintenance Out of Service exists, can be selected.
BOOL Default is true.
Cfg_OvrdOverLock 1 = Override supersedes Program/Operator Lock,
0 = Do not override Lock.
BOOL Default is true.
Cfg_ExtOverLock 1 = External supersedes Program/Operator Lock,
0 = Do not override Lock.
BOOL Default is false.
Cfg_ProgPwrUp 1 = Power up to Program,
0 = Power up to Operator.
BOOL Default is false.
Publication PROCES-RM215A-EN-P - November 2023 157
Chapter 1 PlantPAx
Input Members Data Type Description
Cfg_ProgNormal Normal Source:
1 = Program if no requests,
0 = Operator if no requests.
BOOL Default is false.
Cfg_PCmdPriority Command priority.
1 = Program commands win,
0 = Operator commands win.
BOOL Default is false.
Cfg_PCmdProgAsLevel 1 = PCmd_Prog used as a Level.
BOOL Default is false.
Cfg_PCmdLockAsLevel 1 = PCmd_Lock used as a Level (1=Lock, 0=Unlock).
BOOL Default is false.
Cfg_ExtAcqAsLevel 1 = XCmd_Acq used as Level (1 = Acquire, 0 = Release).
BOOL Default is false.
PCmd_Oper Program command to select Operator (Program to Operator). The instruction
clears this operand automatically.
BOOL Default is false.
PCmd_Prog Program command to select Program (Operator to Program). The instruction
clears this operand automatically.
BOOL Default is false.
PCmd_Lock Program command to lock Program (disallow Operator). The instruction clears
this parameter automatically if Cfg_PCmdLockAsLevel = 0.
BOOL Default is false.
PCmd_Unlock Program command to unlock Program (allow Operator to acquire). The
instruction clears this operand automatically.
BOOL Default is false.
PCmd_Normal Program command to select Normal (Operator or Program). The instruction
clears this operand automatically.
BOOL Default is false.
MCmd_OoS Maintenance command to select Out of Service. The instruction clears this
operand automatically.
BOOL Default is false.
MCmd_IS Maintenance command to select In Service. The instruction clears this operand
automatically.
BOOL Default is false.
MCmd_Acq Maintenance command to acquire ownership
(Operator/Program/External/Override to Maintenance). The instruction clears
this operand automatically.
BOOL Default is false.
MCmd_Rel Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand
automatically.
BOOL Default is false.
XCmd_Acq External command to acquire ownership
(Operator/Program/Override/Maintenance to External). The instruction clears
this operand automatically if Cfg_ExtAcqAsLevel = 0.
BOOL Default is false.
XCmd_Rel External command to release ownership if Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The instruction clears this operand
automatically.
BOOL Default is false.
158 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Input Members Data Type Description
OCmd_Oper Operator command to select Operator (Program to Operator). The instruction
clears this operand automatically.
BOOL Default is false.
OCmd_Prog Operator command to select Program (Operator to Program). The instruction
clears this operand automatically.
BOOL Default is false.
OCmd_Lock Operator command to lock Operator (disallow Program). The instruction clears
this operand automatically.
BOOL Default is false.
OCmd_Unlock Operator command to unlock / release (allow Program to acquire) ownership.
The instruction clears this operand automatically.
BOOL Default is false.
OCmd_Normal Operator command to select Normal (Operator or Program). The instruction
clears this operand automatically.
BOOL Default is false.
Output Members Data Type Description
EnableOut BOOL Enable output. This output state always reflects EnableIn input state.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
The current command source is shown with status bits:
Sts_eSrc.0: Lock,
Sts_eSrc.1: Normal,
Sts_eSrc.2: Hand,
Sts_eSrc.3: Maintenance,
Sts_eSrc.4: Override,
Sts_eSrc.5: Program,
Sts_eSrc.6: Operator,
Sts_eSrc.7: Out of Service,
Sts_eSrc INT Sts_eSrc.8: External.
Active selection bitmap (for HMI totem pole with command source request selection)
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc INT Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Hand BOOL 1 = Hand is selected (supersedes OoS, Maintenance, Override, External, Program, Operator).
Sts_OoS BOOL 1 = Out of Service is selected (supersedes Maintenance, Override, External, Program, Operator).
Sts_Maint BOOL 1 = Maintenance is selected (supersedes Override, External, Program, Operator).
Sts_Ovrd BOOL 1 = Override is selected (supersedes External, Program, Operator).
Sts_Ext BOOL 1 = External is selected (supersedes Program, Operator).
Sts_Prog BOOL 1 = Program is selected.
Sts_ProgLocked BOOL 1 = Program is selected and Locked.
Sts_Oper BOOL 1 = Operator is selected.
Sts_OperLocked BOOL 1 = Operator is selected and Locked.
Sts_ProgOperSel BOOL Program/Operator selection (latch) state: 1 = Program, 0=Operator.
Publication PROCES-RM215A-EN-P - November 2023 159
Chapter 1 PlantPAx
Output Members Data Type Description
Sts_ProgOperLock BOOL Program/Operator lock (latch) state, 1 = Locked, 0=Unlocked.
Sts_Normal BOOL 1 = Selection equals the Normal (Program or Operator).
Sts_ExtReqInh BOOL 1 = External request inhibited, cannot get to External from current state.
Sts_ProgReqInh BOOL 1 = Program request inhibited, cannot get to Program from current state.
Sts_MAcqRcvd BOOL 1 = Maintenance Acquire command received this scan.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
XRdy_Acq BOOL 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL 1 = Ready for XCmd_Rel, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
Out_OwnerSts DINT Status of command source, owner command handshake and ready status:
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready
Operation
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
(Highest priority command source)
Out-of-Service The instruction is disabled and has no owner.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
160 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Command Source Description
External External logic (e.g. field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from the Program unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
(Lowest priority command source)
The instruction enables or disablesthese operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a command source prevents the other command source from
acquiring privilege.
Core command source model
The core control model consists of these command sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other command sources
may be present in the model but act as overriding command sources, acting
independent of the base Operator/Program state machine.
Publication PROCES-RM215A-EN-P - November 2023 161
Chapter 1 PlantPAx
Enabling command sources as configuration
The individual command sources may be enabled or disabled by the user. The
default configuration uses the entire base model; upon power-up of the
processing environment the command source will be the designated default.
Some combinations of enabled command sources are disallowed as they are
either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. This means that all commands
are automatically cleared when the instruction executes and processes them.
Changing Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Prog is disabled, the destination of the OCmd_Prog
command is directed to the ProgLocked state instead of the Prog state. This
maintains the intent of the OCmd_Prog command: the operator entity wishes
to place the function in control of the program. If the command was
eliminated there would be no way to accomplish this. This is only done in
configurations where it would cause no conflict or race condition, but serves
to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
162 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Out-of-Service
• In-Service
• Hand
Initialization
The instruction is normally initialized in the instruction first run.
Re-initialization can be requested any time by setting Inp_InitializeReq = 1.
For proper initialization, when adding the instruction while performing an
online edit of the code, make sure that Inp_InitializeReq = 1 (default value).
Monitor the PCMDSRC Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out clears to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists through
a controller powerup or PROG-to-RUN transition.
Publication PROCES-RM215A-EN-P - November 2023 163
Chapter 1 PlantPAx
Condition/State Action Taken
Rung-condition-in is false The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set based
on the configuration (Cfg_ProgPwrUp).
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists through
a controller powerup or PROG-to-RUN transition.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set based
on the configuration (Cfg_ProgPwrUp).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
164 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PCMDSRC operating model The core control model for the Process Command Source (PCMDSRC)
instruction consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enabling control sources as Configuration
The individual control sources can be enabled or disabled by the user. The
default configuration uses the entire base model; upon power-up of the
processing environment the control source will be the designated default.
Some combinations of enabled control sources are disallowed as they are
either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot latched. This means that all commands
are automatically cleared when the instruction executes and processes them.
Changing Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
Example: If the Prog is disabled, the destination of the OCmd_Prog command
is directed to the ProgLocked state instead of the Prog state. This change of
destination maintains the intent of the OCmd_Prog command: the operator
Publication PROCES-RM215A-EN-P - November 2023 165
Chapter 1 PlantPAx
entity wishes to place the function in control of the program. If the command
was eliminated, there would be no way to accomplish this. This change of
destination is only done in configurations where it would cause no conflict or
race condition. It preserves as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
See also
Process Command Source (PCMDSRC)
PlantPAx instructions on page 9
Process Discrete 2-, 3-, or This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
4-State Device (PD4SD)
The Process Discrete 2-, 3-, or 4-State Device (PD4SD) instruction controls
and monitors feedback from a discrete 2-state, 3-state, or 4-state device in a
variety of modes, monitoring for fault conditions. These devices include
multiple-speed motors or multiple-position valves.
The PD4SD instruction:
• Provides configuration for two, three, or four selectable states for the
device.
• Provides Operator, Program, and External commands to select one of
the two, three, or four states of the device.
• Controls four discrete outputs, with configurable states of each output
in the various device states. Each output can be set, cleared, or left in
last state in a given device state.
• Monitors four discrete feedback inputs, with configurable states
(including must be on, must be off, and don't care) for each input in the
various device states for monitoring the actual position of the device.
• Provides configurable text labels for each of the states.
166 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• When feedback inputs are used, detects failure to reach the target
state, after a configurable time, and alarms the failure. Optionally
sheds to the default state (state 0) on a feedback failure.
• Monitors Permissive conditions that allow commanding the device to
each state.
• Monitors Interlock conditions that return the device to its default state
(state 0).
• Provides simulation of a normal working device, while holding the
outputs to the real device de-energized, for use in testing or operator
training.
• Monitors I/O communication status, providing an alarm on an I/O
fault. Optionally, sheds to the default state on an I/O fault condition.
• Provides an Available status when in Program command source and
operating normally for use by automation logic to determine if the
logic can manipulate the device.
• Operates from Hand, Maintenance, Override, External, Program, and
Operator command sources.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 167
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PD4SD(PD4SDTag, BusObj)
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_DISCRETE_4STATE tag Data structure required for proper operation of instruction.
BusObj BUS_OBJ tag Bus component.
168 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
P_DISCRETE_4STATE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command (bitmapped): All bits off =
None, .10 = Operator Lock, .11 = Operator Unlock, .12
= Program Lock, .13 = Program Unlock, .14 =
Acquire Maintenance, .15 = Release Maintenance,
.16 = Acquire External, .17 = Release External, .29 =
Echo.
Default is 0.
Inp_AFdbkData BOOL Visible Not Required Input Feedback A from device.
Default is false.
Inp_BFdbkData BOOL Visible Not Required Input Feedback B from device.
Default is false.
Inp_CFdbkData BOOL Visible Not Required Input Feedback C from device.
Default is false.
Inp_DFdbkData BOOL Visible Not Required Input Feedback D from device.
Default is false.
Inp_EqpFaultData BOOL Visible Not Required Input Equipment fault from device: 1 = Faulted.
Default is false.
Inp_IOFault BOOL Visible Not Required Input 1 = I/O communication is faulted, 0 = I/O
communication is OK.
Default is false.
Inp_St0PermOK BOOL Visible Not Required Input 1 = Permissives are OK, device can be commanded
to State 0.
Default is true.
Inp_St0NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable permissives are OK, device can
be commanded to State 0.
Default is true.
Inp_St1PermOK BOOL Visible Not Required Input 1 = Permissives are OK, device can be commanded
to State 1.
Default is true.
Inp_St1NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable permissives are OK, device can
be commanded to State 1.
Default is true.
Inp_St2PermOK BOOL Visible Not Required Input 1 = Permissives are OK, device can be commanded
to State 2.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 169
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_St2NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable permissives are OK, device can
be commanded to State 2.
Default is true.
Inp_St3PermOK BOOL Visible Not Required Input 1 = Permissives are OK, device can be commanded
to State 3.
Default is true.
Inp_St3NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable permissives are OK, device can
be commanded to State 3.
Default is true.
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks are OK, device can be commanded, 0
= Interlocks are not OK, device is driven to State 0.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks are OK, device can
be commanded, 0 = Interlocks are not OK, device is
driven to State 0.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock availability is OK, show
Sts_IntlkAvailable if device is ready except for
interlocks.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit reporting of Sts_IntlkTrip and interlock
trip alarm.
Default is false.
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this object, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire Hand command source (typically
hardwired local), 0 = Release Hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override command source (higher
priority program logic), 0 = Release Override.
Default is false.
Inp_OvrdCmd SINT Not Visible Not Required Input Override device command: 0 = No command, 1 =
State 0, 2 = State 1, 3 = State 2, 4 = State 3.
Default is 0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External command source acquisition, 0
= Allow External acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Allow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_NumStates SINT Not Visible Not Required Input Number of device states. Valid = 2 to 4.
Default is 2.
170 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_bSt0OutWrite SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, overwrite that output
in State 0. If bit = 0, do not write that output in
State 0.
Default is 2#0000_1111.
Cfg_bSt0OutState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: When written, if bit = 1, write 1
to that output in State 0. If bit = 0, write 0 to that
output in State 0.
Default is 2#0000_0001.
Cfg_bSt1OutWrite SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, overwrite that output
in State 1. If bit = 0, do not write that output in
State 1.
Default is 2#0000_1111.
Cfg_bSt1OutState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: When written, if bit = 1, write 1
to that output in State 1. If bit = 0, write 0 to that
output in State 1.
Default is 2#0000_0010.
Cfg_bSt2OutWrite SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, overwrite that output
in State 2. If bit = 0, do not write that output in
State 2.
Default is 2#0000_1111.
Cfg_bSt2OutState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: When written, if bit = 1, write 1
to that output in State 2. If bit = 0, write 0 to that
output in State 2.
Default is 2#0000_0100.
Cfg_bSt3OutWrite SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, overwrite that output
in State 3. If bit = 0, do not write that output in
State 3.
Default is 2#0000_1111.
Cfg_bSt3OutState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: When written, if bit = 1, write 1
to that output in State 3. If bit = 0, write 0 to that
output in State 3.
Default is 2#0000_1000.
Cfg_bSt0FdbkCheck SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, check that feedback
bit to verify State 0. If bit = 0, don't check that
feedback bit (don't care).
Default is 2#0000_0000.
Cfg_bSt0FdbkState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If checking, if bit = 1, that
feedback input is 1 in State 0. If bit = 0, that
feedback input is 0 in State 0.
Default is 2#0000_0001.
Cfg_bSt1FdbkCheck SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, check that feedback
bit to verify State 1. If bit = 0, don't check that
feedback bit (don't care).
Default is 2#0000_0000.
Cfg_bSt1FdbkState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If checking, if bit = 1, that
feedback input is 1 in State 1. If bit = 0, that
feedback input is 0 in State 1.
Default is 2#0000_0010.
Cfg_bSt2FdbkCheck SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, check that feedback
bit to verify State 2. If bit = 0, don't check that
feedback bit (don't care).
Default is 2#0000_0000.
Publication PROCES-RM215A-EN-P - November 2023 171
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_bSt2FdbkState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If checking, if bit = 1, that
feedback input is 1 in State 2. If bit = 0, that
feedback input is 0 in State 2.
Default is 2#0000_0100.
Cfg_bSt3FdbkCheck SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If bit = 1, check that feedback
bit to verify State 3. If bit = 0, don't check that
feedback bit (don't care).
Default is 2#0000_0000.
Cfg_bSt3FdbkState SINT Not Visible Not Required Input Bitmask, bits .0 - .3: If checking, if bit = 1, that
feedback input is 1 in State 3. If bit = 0, that
feedback input is 0 in State 3.
Default is 2#0000_1000.
Cfg_ePwrUpState SINT Not Visible Not Required Input Powerup state: 0 = De-energized, 1 = Outputs for
State 0, 2 = Outputs for State 1, 3 = Outputs for
State 2, 4 = Outputs for State 3, 5 = Outputs for
feedback state.
Default is 0.
Cfg_St0onShed BOOL Not Visible Not Required Input 1 = Go to State 0 on interlock or shed, 0 = Hold
position on interlock or shed.
Default is false.
Cfg_HasSt0PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to
Inp_St0Perm inputs, enable navigation.
Default is false.
Cfg_HasSt1PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_St1Perm
inputs, enable navigation.
Default is false.
Cfg_HasSt2PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_St2Perm
inputs, enable navigation.
Default is false.
Cfg_HasSt3PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_St3Perm
inputs, enable navigation.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_Intlk
inputs, enable navigation.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available, enable navigation.
Default is false.
Cfg_OperSt0Prio BOOL Not Visible Not Required Input 1 = OCmd_St0 is accepted any time, 0 = OCmd_St0
is accepted only when Operator command source
is selected.
Default is false.
Cfg_ExtSt0Prio BOOL Not Visible Not Required Input 1 = XCmd_St0 is accepted any time, 0 = XCmd_St0
is accepted only when External command source is
selected.
Default is false.
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = A new Operator state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = A new External state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
172 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores bypassable permissives and
interlocks, 0 = Override uses all permissives and
interlocks.
Default is false.
Cfg_ShedOnFail BOOL Not Visible Not Required Input 1 = Go to State 0 and alarm on position fail, 0 =
Alarm only.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = Go to State 0 and alarm on I/O fault, 0 = Alarm
only.
Default is true.
Cfg_ShedOnEqpFault BOOL Not Visible Not Required Input 1 = Go to State 0 and alarm on equipment fault, 0 =
Alarm only.
Default is true.
Cfg_HornOnChange BOOL Not Visible Not Required Input 1 = Sound horn on any state change, 0 = Sound
horn only on leaving State 0.
Default is false.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator Locked command source exists, can
be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program Locked command source exists, can
be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External command source exists, can be
selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance command source exists, can be
selected.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input 1 = Maintenance Out of Service exists, can be
selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program command source, 0 =
Power up to Operator command source.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal command source: 1 = Program, 0 =
Operator.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 173
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority: 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = Program/Operator selection follows PCmd_Prog
as level (1 for Program, 0 for Operator), 0 =
PCmd_Prog is used as edge to select Program,
PCmd_Oper selects Operator.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = Program lock selection follows PCmd_Lock as
level (1 for locked, 0 for unlocked), 0 = PCmd_Lock
is used as edge to select Program Locked,
PCmd_Unlock selects Program (unlocked).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = External selection follows XCmd_Acq as level (1
to acquire External, 0 to release External), 0 =
XCmd_Acq is used as edge to acquire External,
XCmd_Rel is used to release External.
Default is false.
Cfg_OutAPulseTime REAL Not Visible Not Required Input Time to pulse Out_AData (seconds). Valid = 0.0 to
2147483.0, 0.0 = Output held continuously.
Default is 0.0.
Cfg_OutBPulseTime REAL Not Visible Not Required Input Time to pulse Out_BData (seconds). Valid = 0.0 to
2147483.0, 0.0 = Output held continuously.
Default is 0.0.
Cfg_OutCPulseTime REAL Not Visible Not Required Input Time to pulse Out_CData (seconds). Valid = 0.0 to
2147483.0, 0.0 = Output held continuously.
Default is 0.0.
Cfg_OutDPulseTime REAL Not Visible Not Required Input Time to pulse Out_DData (seconds). Valid = 0.0 to
2147483.0, 0.0 = Output held continuously.
Default is 0.0.
Cfg_StartHornTime REAL Not Visible Not Required Input Time to sound audible on device state change
(seconds). Valid = 0.0 to 1000.0, 0.0 = Disabled.
Default is 0.0.
Cfg_VirtualFdbkTime REAL Not Visible Not Required Input Time to simulate reaching target state when
virtualized (seconds). Valid = 0.0 to 2147483.0.
Default is 2.0.
Cfg_FailTime REAL Not Visible Not Required Input Time to receive state feedback before declaring
failure (seconds). Valid = 0.0 to 2147483.0.
Default is 10.0.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator command confirmation or e-signature
type required: 0 = None, 1 = Command
confirmation required, 2 = Performer e-signature
required, 3 = Performer and approver e-signature
required.
Default is 0.
PSet_Owner DINT Not Visible Not Required Input Program ownership request: Non-zero Owner ID =
Acquire, 0 = Release.
Default is 0.
PCmd_Virtual BOOL Not Visible Not Required Input Program Command to select Virtual (simulated)
device operation. The instruction clears this
operand automatically.
Default is false.
174 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Physical BOOL Not Visible Not Required Input Program Command to select Physical device
operation (not simulated). The instruction clears
this operand automatically.
Default is false.
PCmd_St0 BOOL Not Visible Not Required Input Program Command to set device to State 0. The
instruction clears this operand automatically.
Default is false.
PCmd_St1 BOOL Not Visible Not Required Input Program Command to set device to State 1. The
instruction clears this operand automatically.
Default is false.
PCmd_St2 BOOL Not Visible Not Required Input Program Command to set device to State 2. The
instruction clears this operand automatically.
Default is false.
PCmd_St3 BOOL Not Visible Not Required Input Program Command to set device to State 3. The
instruction clears this operand automatically.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program Command to select Program command
source. The instruction clears this operand
automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Program Command to select Operator command
source. The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program Command to lock Program command
source and disallow Operator. The instruction
clears this operand automatically if
Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program Command to unlock Program command
source and allow Operator to acquire. The
instruction clears this operand automatically.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program Command to select normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
XCmd_St0 BOOL Not Visible Not Required Input External Command to set device to State 0. The
instruction clears this operand automatically.
Default is false.
XCmd_St1 BOOL Not Visible Not Required Input External Command to set device to State 1. The
instruction clears this operand automatically.
Default is false.
XCmd_St2 BOOL Not Visible Not Required Input External Command to set device to State 2. The
instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 175
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XCmd_St3 BOOL Not Visible Not Required Input External Command to set device to State 3. The
instruction clears this operand automatically.
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input External Command to acquire command source.
The instruction clears this operand automatically if
Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External Command to release command source,
accepted if Cfg_ExtAcqAsLevel = 0. The instruction
clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External Command to acknowledge all alarms and
reset latched alarms and shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Out_AData BOOL Visible Not Required Output Output A to device.
Out_BData BOOL Visible Not Required Output Output B to device.
Out_CData BOOL Visible Not Required Output Output C to device.
Out_DData BOOL Visible Not Required Output Output D to device.
Out_HornData BOOL Not Visible Not Required Output Output to sound horn prior to commanded state
change.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status (bitmapped): All bits
off = None, .10 = Operator Lock, .11 = Operator
Unlock, .12 = Program Lock, .13 = Program Unlock,
.14 = Acquire Maintenance, .15 = Release
Maintenance, .16 = Acquire External, .17 = Release
External, .18 = Has Maintenance, .19 = External
Override Lock, .20 = Has External, .21 = Has
Operator, .22 = Has Operator Locked, .23 = Has
Program, .24 = Has Program Locked, .29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. 0 = Use
Inp_InitializeReq to reinitialize.
Sts_St0 BOOL Visible Not Required Output 1 = Device confirmed in State 0.
Sts_St1 BOOL Visible Not Required Output 1 = Device confirmed in State 1.
Sts_St2 BOOL Visible Not Required Output 1 = Device confirmed in State 2.
Sts_St3 BOOL Visible Not Required Output 1 = Device confirmed in State 3.
Sts_Moving BOOL Visible Not Required Output 1 = Device not yet confirmed in commanded state.
176 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Horn BOOL Not Visible Not Required Output 1 = Sounding horn prior to commanded state
change.
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats device as virtual, acting
as if controlling a working device, but the outputs
are kept de-energized, 0 = The instruction
operates the physical device normally.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
Sts_eFdbk SINT Not Visible Not Required Output Device feedback: 0 = None/Moving/Unknown, 1 =
State 0, 2 = State 1, 3 = State 2, 4 = State 3.
Sts_eCmd SINT Not Visible Not Required Output Device command: 0 = None, 1 = State 0, 2 = State
1, 3 = State 2, 4 = State 3.
Sts_eSts SINT Not Visible Not Required Output Device status: 0 = Powerup/Reset, 1 = State 0, 2 =
State 1, 3 = State 2, 4 = State 3, 5 = Moving, 6 =
Horn, 7 = Out of service.
Sts_eFault SINT Not Visible Not Required Output Device fault status: 0 = None, 16 = Position fail, 17
= Device fault, 32 = I/O fault, 34 = Configuration
error.
Sts_eOutState SINT Not Visible Not Required Output State of outputs to physical device: 0 =
De-energized, 1 = State 0, 2 = State 1, 3 = State 2, 4
= State 3, 5 = Horn.
Sts_eNotify SINT Not Visible Not Required Output Summary alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 177
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyAll SINT Not Visible Not Required Output Summary alarm status including related objects: 0
= Not in alarm, acknowledged, 1 = Not in alarm,
unacknowledged or reset required, 2 = Low
severity alarm, acknowledged, 3 = Low severity
alarm, unacknowledged, 4 = Medium severity
alarm, acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyIOFault SINT Not Visible Not Required Output I/O fault alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyFail SINT Not Visible Not Required Output Device fail alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output Interlock trip alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
178 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyEqpFault SINT Not Visible Not Required Output Device-reported equipment fault alarm status: 0 =
Not in alarm, acknowledged, 1 = Not in alarm,
unacknowledged or reset required, 2 = Low
severity alarm, acknowledged, 3 = Low severity
alarm, unacknowledged, 4 = Medium severity
alarm, acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_eSrc INT Not Visible Not Required Output Current command source: 0 = Logic not in use, 4 =
Hand, 8 = Maintenance, 16 = Override, 32 =
Program, 33 = Program Locked, 34 = Program
default (Normal), 64 = Operator, 65 = Operator
Locked, 66 = Operator default (Normal), 128 =
Maintenance Out of Service, 129 = Programmed
Out of Service (EnableIn false), 256 = External.
Sts_bSrc INT Not Visible Not Required Output Active command source selections (bitmapped,
for HMI): .0 = Hand, .1 = Programmed Out of
Service (EnableIn false), .2= Maintenance Out of
Service, .3 = Maintenance, .4 = Override, .5 =
External, .6 = Program Locked, .7 = Program
(unlocked), .8 = Operator Locked, .9 = Operator
(unlocked).
Sts_Available BOOL Not Visible Not Required Output 1 = Device has been acquired by Program and is
ready and available for control.
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Device can be acquired by Program and is
available for control when interlocks are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks and permissives are
bypassed.
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock/permissive bypassing is active
(bypassed by command or in Maintenance
command source).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_NotRdy BOOL Visible Not Required Output 1 = Device not ready, see Sts_NrdyXxx detail bits
for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Device not ready, configuration error.
Sts_NrdyEqpFault BOOL Not Visible Not Required Output 1 = Device not ready, device-reported equipment
fault, shed requires reset.
Sts_NrdyFail BOOL Not Visible Not Required Output 1 = Device not ready, device failure, shed requires
reset.
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Device not ready, interlock not OK.
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Device not ready, I/O fault, shed requires reset.
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Device not ready, device is Out of Service.
Sts_NrdyPerm BOOL Not Visible Not Required Output 1 = Device not ready, permissives not OK, device is
not allowed to change state. 0 = Device ready or
partially ready, some permissives may be not OK,
device can be commanded to at least one other
state.
Publication PROCES-RM215A-EN-P - November 2023 179
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_NrdyPrioSt0 BOOL Not Visible Not Required Output 1 = Device not ready, Operator or External issued
priority State 0 Command, shed requires reset.
Sts_Err BOOL Not Visible Not Required Output 1 = Error in configuration, see Sts_ErrXxx detail
bits for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in configuration, Logix tag-based alarm
settings invalid.
Sts_ErrOutAPulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_OutAPulseTime
invalid. Valid = 0.0 to 2147483.0, 0.0 = Output held
continuously.
Sts_ErrOutBPulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_OutBPulseTime
invalid. Valid = 0.0 to 2147483.0, 0.0 = Output held
continuously.
Sts_ErrOutCPulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_OutCPulseTime
invalid. Valid = 0.0 to 2147483.0, 0.0 = Output held
continuously.
Sts_ErrOutDPulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_OutDPulseTime
invalid. Valid = 0.0 to 2147483.0, 0.0 = Output held
continuously.
Sts_ErrVirtualFdbkTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_VirtualFdbkTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrFailTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_FailTime invalid.
Valid = 0.0 to 2147483.0.
Sts_Hand BOOL Visible Not Required Output 1 = Hand command source is selected.
Sts_OoS BOOL Visible Not Required Output 1 = Out of Service command source is selected.
Sts_Maint BOOL Visible Not Required Output 1 = Maintenance command source is selected.
Sts_Ovrd BOOL Visible Not Required Output 1 = Override command source is selected.
Sts_Ext BOOL Visible Not Required Output 1 = External command source is selected.
Sts_Prog BOOL Visible Not Required Output 1 = Program (unlocked) command source is
selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program Locked command source is selected.
Sts_Oper BOOL Visible Not Required Output 1 = Operator (unlocked) command source is
selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator Locked command source is selected.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Visible Not Required Output Program/Operator lock (latch) state: 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selected command source is the normal
source (Program or Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External command source selection is
inhibited, External is not available in current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program command source selection is
inhibited, Program is not available in current
state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Command to acquire Maintenance command
source was received this scan.
Sts_CmdConflict BOOL Not Visible Not Required Output 1 = Conflicting commands received this scan.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved or disabled.
180 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_IOFault BOOL Not Visible Not Required Output 1 = I/O communication fault. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_IOFault.AlarmElement.
Sts_Fail BOOL Visible Not Required Output 1 = Device position failure. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_Fail.AlarmElement.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Interlock trip, device was set to State 0 by an
interlock not OK. There is a predefined default
discrete Logix tag-based alarm for the status. Set
standard configuration members of the discrete
Logix tag-based alarm. Alarm elements can be
accessed as follows:
[email protected]_IntlkTrip.AlarmElement.
Sts_EqpFault BOOL Not Visible Not Required Output 1 = Device-reported equipment fault. There is a
predefined default discrete Logix tag-based alarm
for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_EqpFault.AlarmElement.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable button.
XRdy_St0 BOOL Not Visible Not Required Output 1 = Ready for XCmd_St0, enable button.
XRdy_St1 BOOL Not Visible Not Required Output 1 = Ready for XCmd_St1, enable button.
XRdy_St2 BOOL Not Visible Not Required Output 1 = Ready for XCmd_St2, enable button.
XRdy_St3 BOOL Not Visible Not Required Output 1 = Ready for XCmd_St3, enable button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner DINT Not Visible Not Required Output Current object Owner ID, 0 = not owned.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOURCE Command source selection.
MCmd_Acq BOOL Maintenance Command to acquire Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance Command to bypass all bypassable interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
MCmd_Check BOOL Maintenance Command to remove bypass and check all interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 181
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_IS BOOL Maintenance Command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance Command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance Command to select Physical device operation. The instruction clears this
operand automatically.
Default is false.
MCmd_Rel BOOL Maintenance Command to release Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance Command to select Virtual device operation. The instruction clears this
operand automatically.
Default is false.
OCmd_Lock BOOL Operator Command to select Operator Locked command source and disallow Program.
The instruction clears this operand automatically.
Default is false.
OCmd_Normal BOOL Operator Command to select configured normal command source (Operator or Program).
The instruction clears this operand automatically.
Default is false.
OCmd_Oper BOOL Operator Command to select Operator (unlocked) command source. The instruction
clears this operand automatically.
Default is false.
OCmd_Prog BOOL Operator Command to select Program (unlocked) command source. The instruction clears
this operand automatically.
Default is false.
OCmd_Reset BOOL Operator Command to reset shed latches and returned-to-normal latched alarms. The
instruction clears this operand automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator Command to acknowledge all alarms and reset latched alarms and shed
conditions. The instruction clears this operand automatically.
Default is false.
OCmd_St0 BOOL Operator Command to set device to State 0. The instruction clears this operand
automatically.
Default is false.
OCmd_St1 BOOL Operator Command to set device to State 1. The instruction clears this operand
automatically.
Default is false.
OCmd_St2 BOOL Operator Command to set device to State 2. The instruction clears this operand
automatically.
Default is false.
OCmd_St3 BOOL Operator Command to set device to State 3. The instruction clears this operand
automatically.
Default is false.
OCmd_Unlock BOOL Operator Command to unlock Operator command source and allow Program to acquire.
The instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
HMI_eCmdState SINT Device target state: 0 = None, 1 = State 0, 2 = State 1, 3 = State 2, 4 = State 3.
182 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Output Members Data Type Description
HMI_St0PermOK BOOL 1 = Permissives are OK to go to State 0.
HMI_St1PermOK BOOL 1 = Permissives are OK to go to State 1.
HMI_St2PermOK BOOL 1 = Permissives are OK to go to State 2.
HMI_St3PermOK BOOL 1 = Permissives are OK to go to State 3.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset, enable HMI button.
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll, enable HMI button.
ORdy_St0 BOOL 1 = Ready for OCmd_St0, enable HMI button.
ORdy_St1 BOOL 1 = Ready for OCmd_St1, enable HMI button.
ORdy_St2 BOOL 1 = Ready for OCmd_St2, enable HMI button.
ORdy_St3 BOOL 1 = Ready for OCmd_St3, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
BusObj BUS_OBJ Visible Required InOut Bus component.
BUS_OBJ Structure
The BUS_OBJ structure links the device to other devices and instructions in a
complex control strategy, typically into a hierarchy. A Bus Object rolls up
status and alarm information from lower level devices to higher level control
and fans out commands from higher level control to lower level devices, and
items link to the bus by referencing a single member of the BUS_OBJ array
associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Publication PROCES-RM215A-EN-P - November 2023 183
Chapter 1 PlantPAx
Members Data Type Description
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete Logix 5000 tag-based alarms are defined for these members:
Member Alarm Name Description
Sts_IntlkTrip Alm_IntlkTrip Device held or set to State 0 by an interlock Not OK.
Sts_IOFault Alm_IOFault I/O fault.
Sts_Fail Alm_Fail Device failure.
Sts_EqpFault Alm_EqpFault Device equipment failure.
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix tag-based alarm. Use this format to access alarm elements:
[email protected]
The PD4SD instruction uses these alarms:
• Raises the Interlock Trip alarm when an interlock not-OK condition
occurs and the device is not in state 0. The device can be configured to
be commanded to state 0 when an interlock trip occurs. If interlocks
are not bypassed, a bypassable interlock or a non-bypassable interlock
not-OK condition initiates an interlock trip. If interlocks are bypassed,
only a non-bypassable interlock not-OK condition initiates an interlock
trip.
• Raises the I/O Fault alarm when the Inp_IOFault input is true. This
input is usually used to indicate to the instruction that a
communication failure has occurred for its I/O. If the I/O Fault is
configured as a shed fault, the device transitions to the state 0 and
remains there until the fault clears and the device is reset.
• Raises the Equipment Fault alarm when the Inp_EqpFault input is
true. If the Equipment Fault is configured as a shed fault, the device
transitions to the state 0 and remains there until the fault clears and
the device is reset.
• Raises the Fail alarm when the device is commanded to a state, but the
device feedback does not confirm that the device is in that state within
the configured failure time. If the Failure is configured as a shed fault,
the device transitions to the state 0 and remains there until the fault
clears and the device is reset.
184 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Program, Operator, and External commands reset latched alarms, and reset
and acknowledge all alarms of the instruction (Alarm Set) at the same time.
This diagram shows how the commands interact with the PD4SD instruction.
Publication PROCES-RM215A-EN-P - November 2023 185
Chapter 1 PlantPAx
Operation
This diagram illustrates functionality of the PD4SD instruction:
186 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram shows logic of permissives associated with commands of the
PD4SD instruction:
Operator command request confirmation
The PD4SD instruction enables these operator commands and settings:
• OCmd_St0
• OCmd_St1
• OCmd_St2
• OCmd_St3
Enforced security might require the request to be confirmed or canceled
before the selected command executes or setting is accepted. The instruction
checks the security rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd = 0,
no confirmation is required and the request executes immediately. If
Cfg_CnfrmReqd = 1, the instruction waits for operator confirmation or
cancelation of the command. If Cfg_CnfrmReqd = 2 or 3, eSignature is needed
before command confirmation is enabled.
Publication PROCES-RM215A-EN-P - November 2023 187
Chapter 1 PlantPAx
Virtualization
Use virtualization for instruction testing and operator training. Command
virtual operation using program command PCmd_Virtual or maintenance
command MCmd_Virtual. After finishing virtual operation, use program
command PCmd_Physical or maintenance command MCmd_Physical to
return to normal physical device operation.
When Virtualization is active, the device outputs of the PD4SD instruction
hold at 0, virtual feedback of a working device is provided, and I/O faults are
ignored. Setting of Cfg_VirtualFdbkTime operand delays the echo of the
feedback status of the device. Manipulate the instruction to operate as if a
working device is present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, used in FactoryTalk View, and for the
Studio 5000 Logix Designer configuration dialog box. The strings are set to
extended properties of tag items.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Navigation to an object with more information
• Command Labels for States 0 through 3
• Target State Labels for States 0 through 3
• Name of Interlock Trip Alarm
• Name of I/O Fault Alarm
• Name of Position Fail Alarm
• Name of Lock Fail Alarm
Command Source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
188 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled. Device commands and settings from any source are not accepted.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. This is the lowest priority
command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
Publication PROCES-RM215A-EN-P - November 2023 189
Chapter 1 PlantPAx
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically
cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
command was eliminated there would be no way to accomplish this. This is
only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
190 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Monitor the PD4SD Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
Instruction first run Any commands received before first scan are discarded. The device is
treated as if it were returning from Hand mode: the instruction state is set
based on the position feedback received from the device. If the device does
not have position feedback or the position feedback is invalid, the device is
set to the ‘unknown/powerup’ state.
Rung-condition-in is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 191
Chapter 1 PlantPAx
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
Instruction first run Any commands received before first scan are discarded. The device is
treated as if it were returning from Hand mode: the instruction state is set
based on the position feedback received from the device. If the device does
not have position feedback or the position feedback is invalid, the device is
set to the ‘unknown/powerup’ state.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. EnableOut is
set to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic, it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Examples
In the following example, the PD4SD instruction controls a cooling fan that
has three fixed speeds (low, medium, high) and an off state. The cooling fan is
considered a four-state device. In this example, three digital outputs are used
to set the speed setting (when all three are off, the fan is commanded off) and
three digital inputs provide feedback on the actual fan state (when all three
are off, the fan is off).
In this example, the four cooling fan states are configured as shown in these
tables. (In this example, Output A is set so it can be used for display purposes
even though Output A is not used by the cooling fan device.)
State 0 (Off):
192 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Output Feedback
Write Value Required State
Yes 1 No
Yes 0 Yes 0
Yes 0 Yes 0
Yes 0 Yes 0
State 1 (Low):
Output Feedback
Write Value Required State
A Yes 0 No
B Yes 1 Yes 1
C Yes 0 Yes 0
D Yes 0 Yes 0
State 2 (Medium):
Output Feedback
Write Value Required State
A Yes 0 No
B Yes 0 Yes 0
C Yes 1 Yes 1
D Yes 0 Yes 0
State 3 (High):
Output Feedback
Write Value Required State
A Yes 0 No
B Yes 0 Yes 0
C Yes 0 Yes 0
D Yes 1 Yes 1
Publication PROCES-RM215A-EN-P - November 2023 193
Chapter 1 PlantPAx
Ladder diagram
194 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured text
D4SD100.Inp_BFdbkData:=D4SD100_LowFdbk
D4SD100.Inp_CFdbkData:=D4SD100_MedFdbk
D4SD100.Inp_DFdbkData:=D4SD100_HighFdbk
PD4SD(D4SD100, 0);
D4SD100_LowRunCoil:=D4SD100.Out_BData;
D4SD100_MedRunCoil:=D4SD100.Out_CData;
D4SD100_HighRunCoil:=D4SD100.Out_DData;
Process Deadband This information applies to the CompactLogix 5380P and ControlLogix 5580P
Controller (PDBC) controllers.
The Process Deadband Controller (PDBC) provides:
• A Raise output, which is activated when the PV is less than the entered
Raise threshold, and a Lower output, which is activated when the PV is
greater than the entered Lower threshold.
• Q and Q-Not outputs. Q is set when the PV falls below the Raise
threshold and cleared when the PV rises above the Lower threshold;
Q-Not is the inverse of Q.
Publication PROCES-RM215A-EN-P - November 2023 195
Chapter 1 PlantPAx
• High and Low Deviation alarms with configurable thresholds and
deadbands. These alarms can provide notification that the PV is
approaching an out-of-control condition.
• Alarms for High PV Rate of Change Increasing and High PV Rate of
Change Decreasing. These alarms can provide notification that the PV
is changing faster than expected.
• Operation in Manual and Automatic Loop Modes. In Automatic Loop
Mode, the outputs are triggered by the control algorithm to keep the
PV within limits. In Manual Loop Mode, the operator directly
manipulates the Raise and Lower outputs from the HMI.
• Operation in Operator, Program, Override, and Maintenance
command sources.
Available Languages
Ladder Diagram
196 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PDBC(PDBCTag, 0);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Publication PROCES-RM215A-EN-P - November 2023 197
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_DEADBAND tag PDBC structure
BusObj BUS_OBJ tag Bus component
P_ DEADBAND Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
Enable input. Ladder Diagram: Corresponds to the rung condition.
EnableIn BOOL Default is true.
Use this request when reinitializing.
Inp_InitializeReq BOOL Default is true.
Process variable being controlled (engineering units). Valid = Any float.
Inp_PV REAL Default is 0.0.
Input source and quality from channel object, if available (enumerator). Valid = 0 to 32.
Inp_PVSrcQ SINT Default is 0.
Related process variable object alarm priority and acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Inp_PVNotify SINT Default is 0.
1 = Process variable or input/output communications status bad, 0 = Process variable
and input/output communications healthy.
Inp_PVBad BOOL Default is false.
Override command: 0 = No command, 1 = Raise, 2 = Lower, 3 = None, 4 = Manual, 5 = Auto.
Inp_OvrdCmd SINT Default is 0.
Override mode raise setpoint (engineering units). Valid = Any float.
Inp_OvrdRaiseSP REAL Default is 0.0.
Override mode lower setpoint (engineering units). Valid = Any float.
Inp_OvrdLowerSP REAL Default is 0.0.
The gate input used for high deviation status detection. 1 = The corresponding analog
input threshold monitoring is enabled. 0 = detection is disabled and the corresponding
status output is forced off.
Inp_HiDevGate BOOL Default is true.
198 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
The gate input used for low deviation status detection. 1 = The corresponding analog
input threshold monitoring is enabled. 0 = detection is disabled and the corresponding
status output is forced off.
Inp_LoDevGate BOOL Default is true.
The gate input used for high rate of change (increasing) status detection. 1 = The
corresponding analog input threshold monitoring is enabled. 0 = detection is disabled
and the corresponding status output is forced off.
Inp_HiRoCIncrGate BOOL Default is true.
The gate input used for high rate of change (decreasing) status detection. 1 = The
corresponding analog input threshold monitoring is enabled. 0 = detection is disabled
and the corresponding status output is forced off.
Inp_HiRoCDecrGate BOOL Default is true.
Owner device command:
Inp_OwnerCmd.0 = None,
Inp_OwnerCmd.10 = Operator lock,
Inp_OwnerCmd.11 = Operator unlock,
Inp_OwnerCmd.12 = Program lock,
Inp_OwnerCmd.13 = Program unlock,
Inp_OwnerCmd.14 = Acquire maintenance,
Inp_OwnerCmd.15 = Release maintenance,
Inp_OwnerCmd.16 = Acquire external,
Inp_OwnerCmd.17 = Release external.
Inp_OwnerCmd DINT Default is 0.
1 = Inhibit external acquisition, 0 = Allow external acquisition.
Inp_ExtInh BOOL Default is false.
1 = Acquire hand (typically hardwired local), 0 = Release hand.
Inp_Hand BOOL Default is false.
1 = Acquire override (higher priority program logic), 0 = Release override.
Inp_Ovrd BOOL Default is false.
Number of decimal places for process variable display. Valid = 0 to 6.
Cfg_PVDecPlcs SINT Default is 2.
1 = PSets track OSets in operator, OSets track PSets in program, 0 = no tracking.
Cfg_SetTrack BOOL Default is false.
1 = Tells HMI an object with more info is available.
Cfg_HasMoreObj BOOL Default is false.
1 = Tells HMI to enable navigation to a connected process variable object.
Cfg_HasPVNav BOOL Default is false.
1 = Tells HMI to enable navigation to a connected output object, 0 = No connected output
object.
Cfg_HasOutNav BOOL Default is false.
Input process variable range minimum (engineering units). Valid = Any float.
Cfg_PVEUMin REAL Default is 0.0.
Input process variable range maximum (engineering units). Valid = Any float.
Cfg_PVEUMax REAL Default is 100.0.
Setpoint high limit clamp (engineering units). Valid = 0.0 to maximum positive float.
Cfg_SPHiLim REAL Default is 100.0.
Setpoint low limit clamp (engineering units). Valid = 0.0 to maximum positive float.
Cfg_SPLoLim REAL Default is 0.0.
Deadband for the raise output (above raise limit). Valid = 0.0 to (Cfg_SPHiLim -
Cfg_SPLoLim).
Cfg_RaiseDB REAL Default is 1.0.
Publication PROCES-RM215A-EN-P - November 2023 199
Chapter 1 PlantPAx
Public Input Members Data Type Description
Deadband for the lower output (below lower limit). Valid = 0.0 to (Cfg_SPHiLim -
Cfg_SPLoLim).
Cfg_LowerDB REAL Default is 1.0.
Rate of change time base (seconds), use 1.0 for units/second, 60.0 for units/minute,
3600.0 for units/hour, 86400.0 for units/day. Valid = any float greater than zero.
Cfg_RateTime REAL Default is 1.0.
High deviation status threshold (engineering units). Valid = 0.0 to maximum positive float.
Cfg_HiDevLim REAL Default is 100.0.
High deviation status deadband (engineering units). Valid = 0.0 to high deviation
threshold.
Cfg_HiDevDB REAL Default is 1.0.
Low deviation status threshold (engineering units). Valid = minimum negative float to 0.0.
Cfg_LoDevLim REAL Default is -99.0.
Low deviation status deadband (engineering units). Valid = 0.0 to -(low deviation
threshold).
Cfg_LoDevDB REAL Default is 1.0.
High deviation status gate delay (seconds). Time .Inp_HiDev must be 1 before high
deviation condition is checked. Valid = 0.0 to 2147483.0 seconds.
Cfg_HiDevGateDly REAL Default is 0.0.
Low deviation status gate delay (seconds). Time .Inp_LoDev must be 1 before low
deviation condition is checked. Valid = 0.0 to 2147483.0 seconds.
Cfg_LoDevGateDly REAL Default is 0.0.
Program - entered high rate of change (increasing) status threshold (engineering units /
rate time). Valid = 0.0 to maximum positive float.
Cfg_HiRoCIncrLim REAL Default is 100.0.
High rate of change (increasing) status deadband (engineering units / rate time). Valid =
0.0 to Cfg_HiRoCIncrLim.
Cfg_HiRoCIncrDB REAL Default is 1.0.
High rate of change (increasing) status gate delay (seconds). Valid = 0.0 to 2147483.0.
Cfg_HiRoCIncrGateDly REAL Default is 0.0.
Program - entered high rate of change (decreasing) status threshold (engineering units /
rate time). Valid = 0.0 to maximum positive float.
Cfg_HiRoCDecrLim REAL Default is 100.0.
High rate of change (decreasing) status deadband (engineering units / rate time). Valid =
0.0 to Cfg_HiRoCDecrLim.
Cfg_HiRoCDecrDB REAL Default is 1.0.
High rate of change (decreasing) status gate delay (seconds). Valid = 0.0 to 2147483.0.
Cfg_HiRoCDecrGateDly REAL Default is 0.0.
1 = XCmd_Acq used as level (1 = Acquire, 0 = Release).
Cfg_ExtAcqAsLevel BOOL Default is false.
1 = External supersedes program / Operator Lock, 0 = Don't override Lock.
Cfg_ExtOverLock BOOL Default is false.
1 = External exists, can be selected.
Cfg_HasExt BOOL Default is false.
1 = Maintenance exists, can be selected.
Cfg_HasMaint BOOL Default is true.
1 = Maintenance out of service exists, can be selected.
Cfg_HasMaintOoS BOOL Default is true.
1 = Operator (unlocked) exists, can be selected.
Cfg_HasOper BOOL Default is true.
1 = Operator locked exists, can be selected.
Cfg_HasOperLocked BOOL Default is true.
200 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
1 = Program (unlocked) exists, can be selected.
Cfg_HasProg BOOL Default is true.
1 = Program locked exists, can be selected.
Cfg_HasProgLocked BOOL Default is true.
1 = Override supersedes program / operator lock, 0 = Don't override lock.
Cfg_OvrdOverLock BOOL Default is true.
1 = .PCmd_Lock used as a Level (1 = Lock, 0 = Unlock).
Cfg_PCmdLockAsLevel BOOL Default is false.
1 = Allow maintenance to disable alarms.
Cfg_AllowDisable BOOL Default is true.
1 = Allow operator to shelve alarms.
Cfg_AllowShelve BOOL Default is true.
1 = Program commands take priority, 0 = Operator commands take priority.
Cfg_PCmdPriority BOOL Default is false.
1 = PCmd_Prog used as a level.
Cfg_PCmdProgAsLevel BOOL Default is false.
Normal source: 1 = Program if no requests, 0 = Operator if no requests.
Cfg_ProgNormal BOOL Default is false.
1 = Power up to program mode, 0 = Power up to operator mode.
Cfg_ProgPwrUp BOOL Default is false.
Operator Command Confirmation Required. Represents the type of command
confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Cfg_CnfrmReqd SINT Default is 0.
Program setting for raise setpoint (engineering units). Valid = Any float.
PSet_LowerSP REAL Default is 30.0.
Program setting for raise setpoint (engineering units). Valid = Any float.
PSet_RaiseSP REAL Default is 20.0.
Program owner request ID (non-zero) or release (zero). Valid = Any integer greater or
equal to 0.
PSet_Owner DINT Default is 0.
External setting for lower setpoint (engineering units). Valid = Any float.
XSet_LowerSP REAL Default is 30.0.
External setting for raise setpoint (engineering units). Valid = Any float.
XSet_RaiseSP REAL Default is 20.0.
Program command to set output to raise, when in program manual. 1 = Raise. The
instruction clears this operand automatically.
PCmd_Raise BOOL Default is false.
Program command to set output to lower, when in program manual. 1 = Lower. The
instruction clears this operand automatically.
PCmd_Lower BOOL Default is false.
Program command to clear raise, lower outputs, when in program manual. 1 = Clear
.PCmd_Raise and PCmd_Lower. The instruction clears this operand automatically.
PCmd_None BOOL Default is false.
Program command to select automatic loop mode. 1 = Select automatic loop mode. The
instruction clears this operand automatically.
PCmd_Auto BOOL Default is false.
Program command to select manual loop mode. 1 = Select manual loop mode. The
instruction clears this operand automatically.
PCmd_Man BOOL Default is false.
Publication PROCES-RM215A-EN-P - November 2023 201
Chapter 1 PlantPAx
Public Input Members Data Type Description
Program Command to reset shed latches and cleared alarms. 1 = Reset shed latches and
cleared alarms. The instruction clears this operand automatically.
PCmd_Reset BOOL Default is false.
Program command to lock program (disallow operator). The instruction clears this
operand automatically if Cfg_PCmdLockAsLevel = 0.
PCmd_Lock BOOL Default is false.
Program command to select normal command source (operator or program). The
instruction clears this operand automatically.
PCmd_Normal BOOL Default is false.
Program command to select operator (program to operator). The instruction clears this
operand automatically.
PCmd_Oper BOOL Default is false.
Program command to select program (operator to program). The instruction clears this
operand automatically.
PCmd_Prog BOOL Default is false.
Program command to unlock Program (allow Operator to acquire). The instruction clears
this operand automatically.
PCmd_Unlock BOOL Default is false.
External command to set output to raise, when in external manual. 1 = Lower. The
instruction clears this operand automatically.
XCmd_Raise BOOL Default is false.
External command to set output to lower, when in external manual. 1 = Lower. The
instruction clears this operand automatically.
XCmd_Lower BOOL Default is false.
External command to clear raise, lower outputs, when in external manual. 1 = Clear
XCmd_Raise and XCmd_Lower. The instruction clears this operand automatically.
XCmd_None BOOL Default is false.
External command to select automatic loop mode. 1 = select automatic loop mode. The
instruction clears this operand automatically.
XCmd_Auto BOOL Default is false.
External command to select manual loop mode. 1 = Select manual loop mode. The
instruction clears this operand automatically.
XCmd_Man BOOL Default is false.
External command to reset shed latches and cleared alarms. 1 = Reset shed latches and
cleared alarms. The instruction clears this operand automatically.
XCmd_Reset BOOL Default is false.
External command to acknowledge and reset all alarms and latched shed conditions. The
instruction clears this operand automatically.
XCmd_ResetAckAll BOOL Default is false.
External command to acquire ownership (operator/program/override/maintenance to
external). The instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
XCmd_Acq BOOL Default is false.
External command to release ownership, if Cfg_ExtAcqAsLevel = 0 (external to
operator/program/override/maintenance). The instruction clears this operand
automatically.
XCmd_Rel BOOL Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output - This output state always reflects EnableIn input state.
Out_Raise BOOL Output to drive process variable to raise.
Out_Lower BOOL Output to drive process variable to lower.
Out_Q BOOL 1 = Setpoint raised, 0 = Setpoint lowered.
Out_QNot BOOL 1 = Setpoint lowered, 0 = Setpoint raised.
202 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Out_OwnerSts DINT Status of command source, owner command handshake and ready status:
Out_OwnerSts.0 = None,
Out_OwnerSts.10 = Operator lock,
Out_OwnerSts.11 = Operator unlock,
Out_OwnerSts.12 = Program lock,
Out_OwnerSts.13 = Program unlock,
Out_OwnerSts.14 = Acquire maintenance,
Out_OwnerSts.15 = Release maintenance ,
Out_OwnerSts.16 = Acquire external,
Out_OwnerSts.17 = Release external,
Out_OwnerSts.18 = Has maintenance,
Out_OwnerSts.19 = External override lock,
Out_OwnerSts.20 = Has External,
Out_OwnerSts.21 = Has operator,
Out_OwnerSts.22 = Has program,
Out_OwnerSts.30 = Not ready.
Val_PV REAL Process variable value (engineering units). (scaled range between minimum and
maximum).
Val_RoC REAL Process variable rate of change value (engineering units / rate time).
Val_LowerSP REAL Accepted value for lower setpoint (engineering units).
Val_RaiseSP REAL Accepted value for raise setpoint (engineering units).
Val_PVEUMin REAL Minimum of scaled range, minimum between Cfg_PVEUMin and Cfg_PVEUMax.
Val_PVEUMax REAL Maximum of scaled range, maximum between Cfg_PVEUMin and Cfg_PVEUMax.
Val_Owner DINT Current object owner ID, 0 = Not owned.
SrcQ_IO DINT Source and quality of primary input / output (enumeration).
SrcQ DINT Source and quality of primary value / status (enumeration).
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_Raise BOOL 1 = Process variable below raise setpoint, Out_Raise = 1.
Sts_Lower BOOL 1 = Process variable above lower setpoint, Out_Lower = 1.
Sts_Auto BOOL 1 = Current loop mode is automatic.
Sts_Man BOOL 1 = Current loop mode is manual.
Sts_Q BOOL 1 = Out_Q = 1, Out_QNot = 0.
Sts_Available BOOL 1 = Loop available for manipulation in program mode.
Sts_NotRdy BOOL 1 = Device not ready, see detail bits for reason.
Sts_NrdyCfgErr BOOL 1 = Device not ready: Configuration error.
Sts_NrdyOoS BOOL 1 = Device is not ready: Device disabled by maintenance.
Sts_AlmInh BOOL 1 = An alarm is inhibited, disabled or suppressed (Display icon on HMI).
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_ErrXXX) for reason.
Sts_ErrEU BOOL 1 = Error in configuration: Scaled engineering units Cfg_PVEUMin = Cfg_PVEUMax.
Sts_ErrRateTime BOOL 1 = Error in configuration: Process variable rate of change time base.
Sts_ErrAlm BOOL 1 = Error in configuration: Alarm minimum on time or severity.
Sts_OoS BOOL 1 = Out of service is selected (supersedes maintenance, override, external, program,
operator).
Sts_Prog BOOL 1 = Program mode is selected.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_HiDevCmp BOOL Process variable high deviation comparison result = 1.
Sts_HiDevGate BOOL Process variable high deviation gate delay status, 1 = Done.
Sts_HiDev BOOL 1 = Analog input deviation is above high limit. There is a predefined default discrete Logix
tag-based alarm for the status. Set standard configuration members of the discrete Logix
tag-based alarm. Access alarm elements in this format:
[email protected]_HiDev.AlarmElement.
Publication PROCES-RM215A-EN-P - November 2023 203
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_LoDevCmp BOOL Process variable low deviation comparison result = 1.
Sts_LoDevGate BOOL Process variable low deviation gate delay status, 1 = Done.
Sts_LoDev BOOL 1 = Analog input deviation is below low limit. There is a predefined default discrete Logix
tag-based alarm for the status. Set standard configuration members of the discrete Logix
tag-based alarm. Access alarm elements in this format:
[email protected]_HiRoCIncr.AlarmElement.
Sts_HiRoCIncrCmp BOOL Process variable high rate of change (increasing) comparison result = 1.
Sts_HiRoCIncrGate BOOL Process variable high rate of change (increasing) gate delay status, 1 = Done.
Sts_HiRoCIncr BOOL 1 = Analog input PV rate of change (increasing) is above high limit. There is a predefined
default discrete Logix tag-based alarm for the status. Set standard configuration
members of the discrete Logix tag-based alarm. Access alarm elements in this format:
[email protected]_HiRocIncr.AlarmElement.
Sts_HiRoCDecrCmp BOOL Process variable high rate of change (decreasing) comparison result = 1.
Sts_HiRoCDecrGate BOOL Process variable high rate of change (decreasing) gate delay status, 1 = Done.
Sts_HiRoCDecr BOOL 1 = Analog input PV rate of change (decreasing) is above high limit. There is a predefined
default discrete Logix tag-based alarm for the status. Set standard configuration
members of the discrete Logix tag-based alarm. Access alarm elements in this format:
[email protected]_HiRocDecr.AlarmElement.
Sts_eNotify SINT All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT All alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiDev SINT High Deviation Gate alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
204 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eNotifyHiRoCDecr SINT High Rate of Change (Decreasing) alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiRoCIncr SINT High Rate of Change (Increasing) alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLoDev SINT Low Deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_Alm BOOL 1 = An alarm is active.
Sts_ErrHiDevGateDly BOOL 1 = Error in configuration: Cfg_HiDevGateDly value is invalid.
Sts_ErrLoDevGateDly BOOL 1 = Error in configuration: Cfg_LoDevGateDly value is invalid.
Sts_ErrHiRoCIncrGateDly BOOL 1 = Error in configuration: Cfg_HiRoCIncrGateDly value is invalid.
Sts_ErrHiRoCDecrGateDly BOOL 1 = Error in configuration: Cfg_HiRoCDecrGateDly value is invalid.
Sts_Oper BOOL 1 = Operator mode is selected.
Sts_Maint BOOL 1 = Maintenance is selected (supersedes override, external, program, operator).
Sts_Ext BOOL 1 = External is selected (supersedes program and operator).
Sts_Ovrd BOOL 1 = Override is selected (supersedes external, program, operator).
Sts_eFault INT Device Fault Status:
0 = None,
1 = Low deviation,
2 = High deviation,
3 = High rate of change (decreasing),
4 = High rate of change (increasing),
5 = Input source bad,
6 = Configuration error.
Publication PROCES-RM215A-EN-P - November 2023 205
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eSts INT Device status:
0 = Deadband, Q is off,
1 = Deadband Q is on,
2 = Above lower SP,
3 = Below lower SP,
4-7 = same, in manual,
8 = Out of service
Sts_bSrc INT Active selection bitmap (for HMI totem pole with command source request selection):
Sts_bSrc.0 = Hand,
Sts_bSrc.1 = Programmed out of service (rung false), Sts_bSrc.2 = Maintenance out of
service,
Sts_bSrc.3 = Maintenance,
Sts_bSrc.4 = Override,
Sts_bSrc.5 = External,
Sts_bSrc.6 = Program locked,
Sts_bSrc.7 = Program,
Sts_bSrc.8 = Operator locked,
Sts_bSrc.9 = Operator.
Sts_eSrc INT The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_ExtReqInh BOOL 1 = External request inhibited, cannot get to external from current state.
Sts_Hand BOOL 1 = Hand is selected (supersedes out of service, maintenance, override, external, program,
operator).
Sts_MAcqRcvd BOOL 1 = Maintenance acquire command received this scan (Read only).
Sts_Normal BOOL 1 = Selection equals the normal (program or operator).
Sts_OperLocked BOOL 1 = Operator is selected and locked.
Sts_ProgLocked BOOL 1 = Program is selected and locked.
Sts_ProgOperLock BOOL Program/operator lock (latch) state,
1 = Locked,
0 = Unlocked.
Sts_ProgOperSel BOOL Program/operator selection (latch) state:
1 = Program,
0 = Operator.
Sts_ProgReqInh BOOL 1 = Program request inhibited, cannot get to program from current state.
XRdy_Acq BOOL 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL 1 = Ready for XCmd_Rel, enable HMI button (Read Only).
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
Rdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
XRdy_Auto BOOL 1 = Ready for XCmd_Auto.
XRdy_Lower BOOL 1 = Ready for XCmd_Lower.
206 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
XRdy_Man BOOL 1 = Ready for XCmd_Man.
XRdy_None BOOL 1 = Ready for XCmd_None.
XRdy_Raise BOOL 1 = Ready for XCmd_Raise.
Private Input Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index
Default is 0.
MCmd_Acq BOOL Maintenance command to acquire ownership (operator / program / external / override to
maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select in service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select out of service. The instruction clears this operand
automatically.
Default is false.
MCmd_Rel BOOL Maintenance command to release ownership (maintenance to operator / program /
external / override). The instruction clears this operand automatically.
Default is false.
OCmd_Auto BOOL Operator command to select automatic loop mode.
Default is false.
OCmd_Lock BOOL Operator command to lock operator (disallow program). The instruction clears this
operand automatically.
Default is false.
OCmd_Lower BOOL Operator command to set output to lower (in manual).
Default is false.
OCmd_Man BOOL Operator command to select manual loop mode.
Default is false.
OCmd_None BOOL Operator command to clear raise, lower outputs (in manual).
Default is false.
OCmd_Normal BOOL Operator command to select normal (operator or program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select operator (program to operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select program (operator to program). The instruction clears this
operand automatically.
Default is false.
OCmd_Raise BOOL Operator command to set output to raise (in manual).
Default is false.
OCmd_Reset BOOL Operator command to reset shed latches and cleared alarms.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset shed latches and cleared alarms, plus acknowledge alarms.
Default is false.
OCmd_Unlock BOOL Operator command to unlock or release ownership and allow program to acquire
ownership. The instruction clears this operand automatically.
Default is false.
OSet_LowerSP REAL Operator setting for lower setpoint (engineering units).
Default is 30.0.
OSet_RaiseSP REAL Operator setting for raise setpoint (engineering units).
Default is 20.0.
Publication PROCES-RM215A-EN-P - November 2023 207
Chapter 1 PlantPAx
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOURCE Control / Command Source Selection
Maintenance command to acquire ownership (operator / program / external / override to
maintenance). The instruction clears this operand automatically.
MCmd_Acq BOOL Default is false.
Maintenance command to select in service. The instruction clears this operand
automatically.
MCmd_IS BOOL Default is false.
Maintenance command to select out of service. The instruction clears this operand
automatically.
MCmd_OoS BOOL Default is false.
Maintenance command to release ownership (maintenance to operator / program /
external / override). The instruction clears this operand automatically.
MCmd_Rel BOOL Default is false.
Operator command to select automatic loop mode.
OCmd_Auto BOOL Default is false.
Operator command to lock operator (disallow program). The instruction clears this
operand automatically.
OCmd_Lock BOOL Default is false.
Operator command to set output to lower (in manual).
OCmd_Lower BOOL Default is false.
Operator command to select manual loop mode.
OCmd_Man BOOL Default is false.
Operator command to clear raise, lower outputs (in manual).
OCmd_None BOOL Default is false.
Operator command to select normal (operator or program). The instruction clears this
operand automatically.
OCmd_Normal BOOL Default is false.
Operator command to select operator (program to operator). The instruction clears this
operand automatically.
OCmd_Oper BOOL Default is false.
Operator command to select program (operator to program). The instruction clears this
operand automatically.
OCmd_Prog BOOL Default is false.
Operator command to set output to raise (in manual).
OCmd_Raise BOOL Default is false.
Operator command to reset shed latches and cleared alarms.
OCmd_Reset BOOL Default is false.
Operator command to reset shed latches and cleared alarms, plus acknowledge alarms.
OCmd_ResetAckAll BOOL Default is false.
Operator command to unlock or release ownership and allow program to acquire
ownership. The instruction clears this operand automatically.
OCmd_Unlock BOOL Default is false.
Operator setting for lower setpoint (engineering units).
OSet_LowerSP REAL Default is 30.0.
Operator setting for raise setpoint (engineering units).
OSet_RaiseSP REAL Default is 20.0.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
208 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Output Members Data Type Description
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
ORdy_Auto BOOL 1 = Ready for OCmd_Auto.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Lower BOOL 1 = Ready for OCmd_Lower.
ORdy_Man BOOL 1 = Ready for OCmd_Man.
ORdy_None BOOL 1 = Ready for OCmd_None.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Raise BOOL 1 = Ready for OCmd_Raise.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll (enables HMI button).
ORdy_SP BOOL 1 = Ready for Setpoint OSets (enables data entry fields).
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component
BUS_OBJ Structure
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Publication PROCES-RM215A-EN-P - November 2023 209
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PDBC instruction:
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
• Number of decimal places
• Output Units
• Input Units
• Allow Navigation Object Tag Name Output
• Allow Navigation Object Tag Name Input
210 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Implementation
This illustration shows normal implementation with the input condition
mapped to Inp_PV on a separate branch. This approach controls an analog
process variable (PV), such as temperature, level or pressure, between upper
and lower control limits by triggering one or two discrete outputs.
Monitor the PDBC Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Publication PROCES-RM215A-EN-P - November 2023 211
Chapter 1 PlantPAx
Condition/State Action Taken
Instruction first run All commands that are automatically cleared each execution are cleared and
ignored.
Inp_OvrdCmd is set to 0 (no command).
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists
through a controller powerup or PROG-to-RUN transition.
PSet_Owner and Out_OwnerSts are set to 0.
Rung-condition-in is false Rung-condition-out is cleared to false.
The instruction is put Out of Service if Inp_Hand=0. The output is set to
Interlock CV and all alarm conditions are cleared.
Latched alarms are reset.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set
based on the configuration (Cfg_ProgPwrUp).
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
Inp_OvrdCmd is set to 0 (no command).
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists
through a controller powerup or PROG-to-RUN transition.
PSet_Owner and Val_Owner are set to 0.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction is put Out of Service if Inp_Hand=0. The output is set to
Interlock CV and all alarm conditions are cleared.
Latched alarms are reset.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set
based on the configuration (Cfg_ProgPwrUp).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
212 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, tag TI1_P50 is the temperature value monitored by the PDBC
instruction. This tag provides a real indication of analog PV value.
Inp_PV is connected to the analog values tag (TI1_P50.Val) that comes from
the Value output of the PAI instruction instance.
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 213
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PDBC01.Inp_PV := TI1_P50.Out;
PDBC(PDBC_01, 0);
Process Discrete Input (PDI) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Discrete Input (PDI) instruction monitors a discrete (true or
false) input, and checks for alarm conditions. Use the PDI instruction to
process a signal from a channel of a discrete input module. Use the PDI
instruction with any discrete (BOOL) signal.
The PDI instruction provides these capabilities:
• De-bounce of the discrete input signal to filter out fast status changes
by specifying a minimum time status must maintain state.
• Display of the input state; the 0-state and 1-state names are
configurable. The input state is also displayed independently, even
when the input is substituted.
214 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Target Disagree status based on comparing the input state against a
target, or normal, state. The Target Disagree status is enabled by a
gating input signal with a configurable gate delay. The Target Disagree
status on and off delays are configurable. The Target Disagree status
has an associated tag-based alarm.
• Handle a process variable (PV) fault input by displaying the fault to the
operator. The PV fault has an associated tag-based alarm.
• The operator can select and manually enter a substitute PV. This
manual override is made clearly visible to the operator. Optionally, the
user can configure the substitute PV signal to track the Target input so
that no Target Disagree status or alarm is generated.
• Support for a virtual PV for use in instruction testing, demonstration,
or operator training.
Available Languages
Ladder Diagram
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 215
Chapter 1 PlantPAx
Structured Text
PDI(PDI tag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PDI P_DISCRETE_INPUT tag Data structure required for
proper operation of
instruction.
BusObj BUS_OBJ tag Bus component. May be
null.
P_DISCRETE_INPUT Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, or hidden, members are used in HMI faceplates and are
not programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Description
Type
EnableIn BOOL Enable input.
Ladder Diagram:
Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run. Use
this request to re-initialize. The instruction clears this operand automatically.
Default is true.
Inp_PVData BOOL Input signal (process variable) from device.
When EnableIn is false the instruction executes and uses the inverse of the Inp_PVData signal for
processing.
Default is true.
Inp_ModFault BOOL 1 = I/O module failure or module communication status bad,
0 = OK.
Default is false.
Inp_ChanFault BOOL 1 = I/O channel fault or failure,
0 = OK.
Default is false.
216 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Description
Type
Inp_PVUncertain BOOL Indicates the channel data accuracy is undetermined.
1 = The channel data is uncertain.
This input sets Sts_PVUncertain if not in Virtual.
Default is false.
Inp_PVNotify SINT Related PV object alarm priority and acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default = 0.
Inp_Target BOOL Target state of input. Input Inp_PVData is compared with the target state using Gate function. If not in
target state, the Target Disagree status (Sts_TgtDisagree) is set to 1 and Target Disagree tag-based
alarm is raised (if enabled).
Default is true.
Inp_Gate BOOL The gate input used for status detection.
1 = Target Disagree monitoring is enabled.
0 = Target Disagree detection is disabled and the Target Disagree status output is forced off.
Default is true.
Inp_Reset BOOL 1 = Reset Shed Latches and Cleared Alarms.
Default is false.
Cfg_AllowDisable BOOL 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_NoSubstPV BOOL Disables the maintenance substitution feature.
0 = The Substitute PV Maintenance function is enabled,
1 = The Substitute PV Maintenance function is disabled.
When Cfg_NoSubstPV is 0, the commands MCmd_SubstPV and MCmd_InpPV are used to select the input
PV or the substitute PV. Sts_SubstPV is set to 1 when the substitute PV is selected.
Default is false.
Cfg_SubstTracksTarget BOOL 1 = The substitute PV tracks Inp_Target, 0 = The substitute PV is set by MSet_SubstPV.
Default is false.
Cfg_NormTextVis BOOL 1 = The state text is displayed in Normal state,
0 = The state text is hidden in Normal state.
Default is true.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_Debounce REAL Minimum time status must maintain state (seconds). Debounces the input PV, ensuring that the status
stays in each state a minimum time.
Valid = 0.0 to 2147483.0 seconds.
Default = 0.0.
Publication PROCES-RM215A-EN-P - November 2023 217
Chapter 1 PlantPAx
Public Input Members Data Description
Type
Cfg_GateDly REAL Target Disagree Gate delay (seconds). Time Inp_Gate must be 1 before Target Disagree condition is
checked.
Valid = 0.0 to 2147483.0 seconds.
Default = 0.0.
Cfg_TgtDisagreeOffDly REAL Minimum time for input to agree with target to clear status (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_TgtDisagreeOnDly REAL Minimum time for input to disagree with target to raise status (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_CnfrmReqd SINT Operator command confirmation required. Represents the type of command confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
Set_VirtualPV BOOL PV used in Virtual (Sts_Virtual is 1). If the instruction is not in Virtual (Inp_Virtual is 0), the Set_VirtualPV
input tracks the input PV (Inp_PVData) for bumpless transfer into Virtual.
Default is false.
PCmd_Virtual BOOL Program command to select Virtual (simulated) device operation. The instruction clears this operand
automatically.
Default is false.
PCmd_Physical BOOL Program command to select Physical device operation (not simulated). The instruction clears this
operand automatically.
Default is false.
PCmd_Reset BOOL Program command to reset all alarms and latched shed conditions requiring reset. The instruction
clears this operand automatically.
Default is false.
XCmd_Reset BOOL External command to reset all alarms and latched shed conditions. The instruction clears this operand
automatically.
Default is false.
XCmd_ResetAckAll BOOL External command to acknowledge and reset all alarms and latched shed conditions. The instruction
clears this operand automatically.
Default is false.
Public Output Members Data Description
Type
EnableOut BOOL Enable output. This output state always reflects EnableIn input state.
Out BOOL Discrete input status (including de-bounce and manual override, if used).
0 = The discrete input is Off,
1 = The discrete input is On.
Out_InpPV BOOL Echo of Inp_PVData (actual raw or virtual input).
Out_Reset BOOL 1 = Reset command has been received and accepted.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_PVUncertain BOOL Indicates the channel data accuracy is undetermined. 1 = The channel data is uncertain. This output is
set by Inp_PVUncertain (if not in Virtual).
Sts_SubstPV BOOL 1 = Using substitute PV (Override).
Sts_InpPV BOOL 1 = Using input PV (Normal).
218 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_Virtual BOOL 1 = Using virtual PV instead of the input from the device (Inp_PVData) to calculate output.
0 = The instruction uses input operand Inp_PVData to calculate output.
SrcQ_IO SINT Source and quality of primary input or output (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
SrcQ SINT Source and quality of primary value or status (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
Sts_eSts SINT Device confirmed status values:
0 = PV Good,
1 = PV uncertain,
2 = PV bad,
3 = PV substituted.
Sts_eFault SINT Device fault status values:
0 = None,
1 = Target disagree,
2 = Configuration error.
Publication PROCES-RM215A-EN-P - November 2023 219
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_eNotify SINT All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT All alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault SINT IOFault alarm status enumerated values.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyTgtDisagree SINT TgtDisagree alarm status enumerated values.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_MaintByp BOOL 1 = The device has a Maintenance Bypass function active.
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrGateDly BOOL 1 = Error in configuration: Cfg_GateDly value is invalid.
Sts_ErrTgtDisagreeOffDly BOOL 1 = Error in configuration: Cfg_TgtDisagreeOffDly value is invalid.
Sts_ErrTgtDisagreeOnDly BOOL 1 = Error in configuration: Cfg_TgtDisagreeOnDly value is invalid.
220 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Description
Type
Sts_ErrDebounce BOOL 1 = Error in configuration: Cfg_Debounce value is invalid.
Sts_ErrAlm BOOL 1 = Error in tag-based alarm settings.
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL IO Fault Status (0 = OK, 1 = Bad). 1 = Channel data is inaccurate. This output is set by Inp_IOFault if not in
Virtual.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_IOFault.AlarmElement
Sts_TgtDisagreeCmp BOOL Input versus Target comparison result before gating. 1 = The input does not match its target.
Sts_TgtDisagreeGate BOOL Target Disagree Gate Delay Status. 1 = The target disagree gate is open.
Sts_TgtDisagree BOOL Gated input versus target comparison result. 1 = Input is not in target state.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_TgtDisagree.AlarmElement
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Private Input Members Data Description
Type
MSet_SubstPV BOOL Maintenance-entered substitute PV that overrides input PV when Sts_SubstPV is 1. If not using the
substitute (Sts_SubstPV is false), the MSet_SubstPV setting tracks the Out value for bumpless transfer
from input PV to substitute PV.
Default is false.
MCmd_SubstPV BOOL Maintenance command to use Substitute PV (Override input). The instruction clears this operand
automatically.
Default is false.
MCmd_InpPV BOOL Maintenance command to use Input PV (Normal). The instruction clears this operand automatically.
Default is false.
MCmd_Physical BOOL Maintenance command to select Physical device operation (not simulated). The instruction clears this
operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (simulated) device operation. The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms and latched shed conditions. The instruction clears this operand
automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to acknowledge and reset all alarms and latched shed conditions. The use of
OCmd_ResetAckAll is restricted to HMI. The instruction clears this operand automatically.
Default is false.
Private Output Members Data Description
Type
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 221
Chapter 1 PlantPAx
Private Output Members Data Description
Type
MRdy_SubstPV BOOL 1 = The instruction is ready for SubstPV command.
MRdy_InpPV BOOL 1 = The instruction is ready for InpPV command.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Reset BOOL 1 = A latched alarm or shed condition is ready to be reset.
ORdy_ResetAckAll BOOL 1 = A latched alarm or shed condition is ready to be reset or acknowledged.
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component
BUS_OBJ Structure
The BUS_OBJ structure links the discrete input instruction to other devices
and instructions in a complex control strategy, typically into a hierarchy. A
Bus Object rolls up status and alarm information from lower level devices to
higher level control and fans out commands from higher level control to lower
level devices. Items link to the bus by referencing a single member of the
BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete tag-based alarms are defined for these members.
222 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_TgtDisagree Alm_TgtDisagree Target Disagree status.
Sts_IOFault Alm_IOFault I/O Fault status (not generated when PV Substitution is
active).
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix Tag based alarm. Access alarm elements using this format:
[email protected]
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how the commands interact with the
instruction.
Operation
The Gate function provides the ability to raise an abnormal condition (alarm
condition) when another condition is true. For example, a high vibration
switch should only generate an alarm when the associated motor is running
long enough to stabilize. The Inp_Gate input must be set to 1 (its default value)
and the tag-based alarm for Sts_TgtDisagree enabled for alarm to occur. The
alarm will not occur until the Inp_Gate input has been set for the Gate Delay
(Cfg_GateDly) time.
The alarm is generated when the Inp_PVData (process variable) input is
different from the Inp_Target (target) input. The Target indicates the normal
condition. For example, a flow switch should indicate flow when a pump is
running and should not indicate flow when a pump is stopped. The pump run
status is used as the Target input, and when the switch does not match the
Publication PROCES-RM215A-EN-P - November 2023 223
Chapter 1 PlantPAx
target (within the allotted time), the Alarm (Flow Loss / Switch Failure) is
generated.
Tip: In Ladder Diagram if the rung-condition-in is false, the instruction uses the inverse of the
Inp_PVData signal for processing. This allows the input to be a condition on the rung with PDI rather
than mapped into Inp_PVData. To use the rung-condition-in mapping method, set Inp_PVData to 1, its
default value.
This instruction includes a substitute PV capability for a manually-entered state. This is useful when
a sensor is out of order or for simulation and testing.
The Discrete Input instruction and its input, target and gate signals handle alarm conditions
described by these use cases:
• Raises an alarm when the input is in a given alarm state for a configurable amount of time, such
as a low level alarm from a float level switch.
• Raises an alarm when the input does not follow another given signal within a configurable amount
of time, such as a flow switch which should indicate flow when an associated pump has been
running for a period of time and which should indicate NO flow when the associated pump has
been stopped for a period of time.
• Raises an alarm when the input is in a given alarm state for a configurable amount of time after
enabled by a gating signal, such as a vibration switch on a motor, which should only alarm when
the motor has been running long enough for startup vibration to have settled out.
224 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram illustrates the functionality of the PDI instruction:
Publication PROCES-RM215A-EN-P - November 2023 225
Chapter 1 PlantPAx
Debouncing
A bounce is a reversal of state that occurs immediately after a deliberate
transition. When filtering bounces you should acknowledge the very first
transition as early as possible and ignore subsequent changes until the end of
a hold-off period. Use Cfg_Debouncing to specify the hold-off period in
seconds.
For example, as soon as the Input PV changes state from 0 to 1, the output
changes to 1 and will not then follow the Input PV back to 0 until the
Cfg_Debounce time has expired. If Cfg_Debounce is set to 1 second, the
output remains at 1 for at least 1 second. After 1 second, if the Input PV was
then 0, the output would change to 0 and would remain at 0 for at least 1
second.
This illustration shows the Debounce operation.
226 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Virtualization
Virtualization in PDI provides a virtual 0-state or 1-state input (Set_VirtualPV)
that processes like an input. Use virtualization for instruction testing and
operator training. Use PCmd_Virtual or MCmd_Virtual to enable
virtualization. After finishing virtualization, use PCmd_Physical or
MCmd_Physical to return to normal (physical device) operation.
Initialization
The instruction is normally initialized in the instruction first run.
Re-initialization can be requested any time by setting Inp_InitializeReq = 1.
For proper initialization, when adding the instruction while performing an
online edit of the code, make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box. The strings are set to extended
properties of tag items. Configure the strings in the Logix Designer
application only.
• Description
• State name strings for 0-state and 1-state
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
Publication PROCES-RM215A-EN-P - November 2023 227
Chapter 1 PlantPAx
Implementation
This illustration shows normal implementation with the input condition
mapped to Inp_PVData on a separate branch.
This illustration shows the implementation with the input condition mapped
to the PDI instruction using the rung-condition-in.
Monitor the PDI Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
228 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
The state of using raw input or maintenance substitute PV is not modified and
persists through a controller powerup or PROG-to-RUN transition.
The state of the physical/virtual selection persists through a control power or
PROG-to-Run transition.
Instruction first run All commands that are automatically cleared each execution are cleared and
ignored.
The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
The instruction executes normally, except it uses the inverse of the Inp_PVData
signal for processing.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
The state of using raw input or maintenance substitute PV is not modified and
persists through a controller powerup or PROG-to-RUN transition.
The state of the physical/virtual selection persists through a control power or
PROG-to-Run transition.
Instruction first run All commands that are automatically cleared on each execution are cleared and
ignored.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction executes normally, except it uses the inverse of the Inp_PVData
signal for processing.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 229
Chapter 1 PlantPAx
Condition/State Action Taken
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, tag I_VSH_P50 is the digital process value monitored by the
PDI instruction. This tag provides a Boolean indication of High Vibration. The
bad quality indication for the value of the process variable (Inp_ChanFault)
comes from the connection status indication on the input module.
Inp_Target is defaulted to 1 indicating that the normal condition for
I_VSH_P50 is also 1, and tag comments confirm that 1=OK for this process
value. Inp_Gate is connected to the Motor Running status tag (P50_Running)
that comes from the Sts_Running output of the P_Motor instruction instance
for this motor (P50_Motor). The gate delay is configured to give the motor
sufficient time after starting to settle into full normal speed run before
enabling the high vibration indication (Sts_TgtDisagree) and alarm. The
tag-based alarm for Target Disagree status (Sts_TgtDisagree) applies On
Delay timing so the alarm will not raise until after delay time has expired.
Finally, P50_HighVibr is the output tag that indicates the status of I_VSH_P50
with appropriate gate delays based on whether the motor is running.
Ladder Diagram
230 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
VAH_50.Inp_PV_Data := I_VSH_P50;
VAH_50.Inp_ChanFault := CAF_117[5];
VAH_50.Inp_Gate := P50_Running;
PDI(VAH_50);
P50_HighVibr := VAH_P50.Sts_TgtDisagree;
Process Discrete Output This information applies to the CompactLogix 5380P and ControlLogix 5580P
(PDO) controllers.
The Process Discrete Output (PDO) instruction drives a discrete (true / false)
output, monitors discrete inputs serving as feedbacks from a device driven by
the discrete output, and checks for alarm conditions. Use the PDO instruction
for a channel of a discrete output module. Use the PDO instruction with any
discrete (BOOL) signal.
The PDO instruction:
• Controls one discrete output, with configurable text labels for the On
and Off states of the output.
• Provides Operator, Program and External commands to set the output
state to On or Off, to pulse the output On once, to pulse the output Off
once, or to set the output to a continuous pulsing operation. Pulse
times (on-time and off-time) are configurable.
Publication PROCES-RM215A-EN-P - November 2023 231
Chapter 1 PlantPAx
• Monitors two discrete feedback inputs, monitoring the actual position
of the device.
• Detects failure to reach the target state, after a configurable time, and
alarms the failure when the feedback inputs are used. Optionally sheds
to the de-energized state on a feedback failure.
• Monitors Permissive conditions that enable commanding the device to
the On state.
• Monitors Interlock conditions that return the device to its
de-energized Off state.
• Provides virtualization of a normally working device, while holding the
output to the real device de-energized, for use in testing or operator
training.
• Monitors I/O status and alarms on an I/O fault. Optionally sheds to the
de-energized state on an I/O fault condition.
• Operates in Operator, Program, External, Override, Maintenance, Out
of Service and Hand command sources.
• Provides an Available status, when in Program command source and
operating normally, for use by higher-level automation logic to
determine if the logic is able to manipulate the discrete output.
Available Languages
Ladder Diagram
232 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PDO(PDO tag, BusObj);
Operands
Important: Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple
instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_DISCRETE_OUTPUT tag Data structure required for proper
operation of instruction.
BusObj BUS_OBJ tag Bus component. May be null.
Publication PROCES-RM215A-EN-P - November 2023 233
Chapter 1 PlantPAx
P_DISCRETE_OUTPUT Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, or hidden, members are used in HMI faceplates and are
not programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input.
Ladder Diagram:
Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in instruction first
run. Use this request to re-initialize. The instruction clears this operand automatically.
Default is true.
Inp_OwnerCmd DINT Owner device command.
0 = None,
Inp_OwnerCmd.10 = Operator Lock,
Inp_OwnerCmd.11 = Operator Unlock,
Inp_OwnerCmd.12 = Program Lock,
Inp_OwnerCmd.13 = Program Unlock,
Inp_OwnerCmd.14 = Acquire Maintenance,
Inp_OwnerCmd.15 = Release Maintenance,
Inp_OwnerCmd.16 = Acquire External,
Inp_OwnerCmd.17 = Release External,
Inp_OwnerCmd.29 = Echo.
Default is 0.
Inp_OnFdbkData BOOL On feedback from device. 1 = Device confirmed On.
Default is false.
Inp_OffFdbkData BOOL Off feedback from device. 1 = Device confirmed Off.
Default is false.
Inp_IOFault BOOL Indicates the IO data is inaccurate.
0 = The IO data is good,
1 = The IO data is bad, causing fault.
This input sets Sts_IOFault, if the device is not virtual, which raises IOFault Alarm.
Default is false.
Inp_PermOK BOOL 1 = On permissives OK, device can turn On.
Default is true.
Inp_NBPermOK BOOL 1 = Non-bypassable On permissives OK, device can turn On.
Default is true.
Inp_IntlkOK BOOL 1 = Interlocks OK, device can turn On and stay On.
Default is true.
Inp_NBIntlkOK BOOL 1 = Non-bypassable interlocks OK, device can turn On and stay On.
Default is true.
Inp_IntlkAvailable BOOL 1 = Interlock Availability OK.
Default is false.
Inp_IntlkTripInh BOOL 1 = Inhibit Interlock Trip Status
Default is false.
Inp_RdyReset BOOL 1 = Related object, reset by this object, is ready to be reset.
Default is false.
234 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_Hand BOOL 1 = Acquire Hand (typically permanently set to local),
0 = Release Hand.
Default is false.
Inp_Ovrd BOOL 1 = Acquire Override (higher priority program logic),
0 = Release Override
Default is false.
Inp_OvrdCmd SINT Override device command:
0 = None,
1 = Off,
2 = On,
3 = Pulse off,
4 = Pulse on,
5 = Pulse continuously.
Default is 0.
Inp_ExtInh BOOL 1 = Inhibit External acquisition,
0 = Allow External acquisition.
Default is false.
Inp_HornInh BOOL 1 = Inhibit audible alert, 0 = Allow audible alert.
Default is false.
Inp_Reset BOOL 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_HornOnChange BOOL 0 = Horn on energize only. 1 = Horn on any state change.
Default is false.
Cfg_ExtOffPrio BOOL 1 = XCmd_Off any time, 0 = XCmd_Off only when External selected.
Default is false.
Cfg_XCmdResets BOOL 1 = New device XCmd resets shed latches and cleared alarms,
0 = XCmdReset required.
Default is false.
Cfg_AllowDisable BOOL 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_HasPulse BOOL 1 = Enable pulsing functions,
0 = On/Off only.
Default is false.
Cfg_CompletePulse BOOL 1 = Finish pulse in progress when commanded On or Off,
0 = Switch immediately to On or Off state when commanded.
Default is false.
Cfg_FdbkFail BOOL 1 = Both feedbacks On are invalid,
0 = Both feedbacks Off are invalid.
Default is false.
Cfg_HasOnFdbk BOOL 1 = Device provides an On feedback signal.
Default is false.
Cfg_HasOffFdbk BOOL 1 = Device provides an Off feedback signal.
Default is false.
Cfg_UseOnFdbk BOOL 1 = Use Device On feedback for failure checking.
Default is false.
Cfg_UseOffFdbk BOOL 1 = Use Device Off feedback for failure checking.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 235
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_OperOffPrio BOOL 1 = OCmd_Off has priority, accepted any time,
0 = OCmd_Off only in Operator and Maintenance command sources.
Default is false.
Cfg_OCmdResets BOOL 1 = New Operator state command resets fault,
0 = Reset required to clear fault.
Default is false.
Cfg_ShedOnIOFault BOOL 1 = Go to Off state and alarm on IO fault,
0 = Alarm only on IO fault.
Important: If a condition is configured to shed the device to the Off state on a fault, a reset is
required to clear the shed fault to command the device to a state other than Off.
Default is true.
Cfg_ShedOnFail BOOL 1 = Go to Off state and alarm on Fail to reach position,
0 = Alarm only on Fail.
Important: If a condition is configured to shed the device to the Off state on a fault, a reset is
required to clear the shed fault to command the device to a state other than Off.
Default is true.
Cfg_HasPermObj BOOL 1 = Tells HMI a permissive object (for example, P_Perm) is used for Inp_PermOK and navigation to
the permissive object’s faceplate is enabled.
Important: The name of the Permissive object in the controller must be this instruction’s name
with the suffix _Perm. For example, if the PDO instruction has the name PDOut123, then its
Permissive object must be named PDOut123_Perm.
Default is false.
Cfg_HasIntlkObj BOOL 1 = Tells HMI an interlock object (for example, P_Intlk) is used for Inp_IntlkOK and navigation to the
interlock object’s faceplate is enabled.
Important: The name of the interlock object in the controller must be this PDO object’s name with
the suffix _Intlk. For example, if the PDO instruction has the name PDOut123, then its interlock
object must be named PDOut123_Intlk.
Default is false.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_HasOper BOOL 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL 1 = Operator Locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL 1 = Program Locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL 1 = Maintenance exists, can be selected.
Default is true.
Cfg_HasMaintOoS BOOL 1 = Maintenance Out of Service exists, can be selected.
Default is true.
Cfg_OvrdOverLock BOOL 1 = Override supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is true.
Cfg_ExtOverLock BOOL 1 = External supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is false.
236 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_ProgPwrUp BOOL 1 = Power Up to Program, 0 = Power Up to Operator.
Default is false.
Cfg_ProgNormal BOOL Normal Source: 1= Program if no requests; 0 = Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL Command priority.
1 = Program commands win,
0 = Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL 1 = PCmd_Prog used as a Level.
Default is false.
Cfg_PCmdLockAsLevel BOOL 1 = PCmd_Lock used as a Level (1 = Lock, 0 = Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL 1 = XCmd_Acq used as Level (1 = Acquire, 0 = Release).
Default is false.
Cfg_OvrdPermIntlk BOOL 1 = Override ignores bypassable permissives/interlocks,
0 = Always use permissives/interlocks.
Default is false.
Cfg_OnDly REAL Delay before initially turning output On (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.
Cfg_OffDly REAL Delay before initially turning output Off (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_OnPulseTime REAL Output On time for pulse On or pulse continuous (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.5.
Cfg_OffPulseTime REAL Output Off time for pulse Off or pulse continuous (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.5.
Cfg_OnFailTime REAL Time after output On to get On feedback before fault (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_OffFailTime REAL Time after output Off to get Off feedback before fault (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 10.0
Cfg_StartHornTime REAL Time in seconds to sound audible on commanded energize. Valid = 0.0 to 1000.0 seconds, 0.0 =
disabled.
Default is 0.0.
Cfg_VirtualFdbkTime REAL Delay to echo back of On/Off status when the device is treated as virtual (seconds).
Valid = 0.0 to 2147483.0 seconds.
Default is 2.0.
Cfg_CnfrmReqd SINT Operator command confirmation required. Represents the type of command confirmation
required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PSet_Owner DINT Program owner request ID (non-zero) or release (zero).
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 237
Chapter 1 PlantPAx
Public Input Members Data Type Description
PCmd_Virtual BOOL Program command to select Virtual (simulated) device operation. The instruction clears this
operand automatically.
Default is false.
PCmd_Physical BOOL Program command to select Physical device operation (not simulated). The instruction clears this
operand automatically.
Default is false.
PCmd_On BOOL Program command to turn device On. The instruction clears this operand automatically.
Default is false.
PCmd_Off BOOL Program command to turn device Off. The instruction clears this operand automatically.
Default is false.
PCmd_OnPulse BOOL Program command to pulse device (which is Off) On once. The instruction clears this operand
automatically.
Default is false.
PCmd_OffPulse BOOL Program command to pulse device (which is On) Off once. The instruction clears this operand
automatically.
Default is false.
PCmd_ContPulse BOOL Program command to pulse device continuously (blink). The instruction clears this operand
automatically.
Default is false.
PCmd_Oper BOOL Program command to select Operator (Program to Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Prog BOOL Program command to select Program (Operator to Program). The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Program command to lock Program (disallow Operator). The instruction clears this operand
automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Program command to unlock Program (allow Operator to acquire). The instruction clears this
operand automatically.
Default is false.
PCmd_Normal BOOL Program command to select Normal (Operator or Program). The instruction clears this operand
automatically.
Default is false.
PCmd_Reset BOOL Program command to reset all alarms and latched shed conditions requiring reset. The
instruction clears this operand automatically.
Default is false.
XCmd_Acq BOOL External command to acquire ownership (Operator/Program/Override/Maintenance to External).
The instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL External command to release ownership if Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The instruction clears this operand automatically.
Default is false.
XCmd_On BOOL External command to turn device On. The instruction clears this operand automatically.
XCmd_Off BOOL External command to turn device Off. The instruction clears this operand automatically.
Default is false.
XCmd_OnPulse BOOL External command to pulse device (which is Off) On once. The instruction clears this operand
automatically.
Default is false.
XCmd_OffPulse BOOL External command to pulse device (which is On) Off once. The instruction clears this operand
automatically.
Default is false.
238 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
XCmd_ContPulse BOOL External command to pulse device continuously (blink). The instruction clears this operand
automatically.
Default is false.
XCmd_Reset BOOL External command to reset all alarms and latched shed conditions. The instruction clears this
operand automatically.
Default is false.
XCmd_ResetAckAll BOOL External command to acknowledge and reset all alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable output. This output state always reflects EnableIn input state.
Out_CVData BOOL Primary output.
1 = On,
0 = Off.
Out_HornData BOOL 1 = Sound audible prior to commanded state change.
Out_Reset BOOL 1 = Reset command has been received and accepted.
Out_OwnerSts DINT Status of command source, owner command handshake and ready status.
0 = None,
Out_OwnerSts.10 = Operator Lock,
Out_OwnerSts.11 = Operator Unlock,
Out_OwnerSts.12 = Program Lock,
Out_OwnerSts.13 = Program Unlock,
Out_OwnerSts.14 = Acquire Maintenance,
Out_OwnerSts.15 = Release Maintenance,
Out_OwnerSts.16 = Acquire External,
Out_OwnerSts.17 = Release External,
Out_OwnerSts.18 = Has Maintenance,
Out_OwnerSts.19 = External Override Lock,
Out_OwnerSts.20 = Has External.
Out_OwnerSts.21 = Has Operator
Out_OwnerSts.22 = Has Operator Locked
Out_OwnerSts.23 = Has Program
Out_OwnerSts.24 = Has Program Locked
Out_OwnerSts.29 = Echo
Out_OwnerSts.30 = Not Ready.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_Out BOOL 1 = Output is On (energized),
0 = Output is Off (de-energized).
Sts_Pulsing BOOL 1 = Output is in a pulsing sequence.
Sts_FdbkOff BOOL 1 = Device feedback shows device in Off state.
Sts_FdbkOn BOOL 1 = Device feedback shows device in On state.
Sts_FdbkFail BOOL 1 = Feedbacks are in an Invalid state (not On, Off, or Transition).
Sts_Horn BOOL 1 = Audible alert (horn) is active.
Sts_Virtual BOOL 1 = The instruction treats the device as virtual. The instruction acts as normal but the output is
kept de-energized (Out_CVData = 0).
0 = The instruction operates the device normally.
Publication PROCES-RM215A-EN-P - November 2023 239
Chapter 1 PlantPAx
Public Output Members Data Type Description
SrcQ_IO SINT Source and quality of primary input or output enumerated value:
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
SrcQ SINT Source and quality of primary value or status enumerated value:
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
Sts_eCmd SINT Device command:
0 = None,
1 = Off,
2 = On,
3 = Pulse off,
4 = Pulse on,
5 = Pulse continuously.
Sts_eFdbk SINT Device feedback:
0 = Transition,
1 = Off,
2 = On,
3 = Invalid.
240 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eSts SINT Device status:
0 = Off,
1= On,
2 = Pulse off,
3 = Pulse on,
4 = Pulse continuously,
5 = Turning off,
6 = Turning on,
7 = Horn
8 = Out of Service.
Sts_eFault SINT Device fault status:
0 = None,
1 = Feedback fault,
2 = IO fault,
3 = Configuration error.
Sts_eState SINT Internal Logic State (for animating STD on faceplate).
Sts_eNotify SINT Alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT All alarm status enumerated values including related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault SINT IOFault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 241
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_eNotifyOnFail SINT OnFail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyOffFail SINT OffFail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT IntlkTrip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_eSrc INT The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
242 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_bSrc INT Active selection bitmap (for HMI totem pole with command source request selection):
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Available BOOL 1 = Discrete output available for control by automation (Program).
Sts_IntlkAvailable BOOL 1 = Interlock availability OK. Device can be acquired by program and is available for control when
interlocks are OK.
Sts_Bypass BOOL 1 = Bypassable interlocks are bypassed.
Sts_BypActive BOOL 1 = Interlock bypassing active (bypassed or maintenance).
Sts_MaintByp BOOL 1 = Device has a maintenance bypass function active.
Sts_NotRdy BOOL 1 = Device is not ready, for HMI use hidden detail bits (Sts_Nrdyxxx) for reason.
Sts_NrdyOoS BOOL 1 = Device is not ready: Device disabled by Maintenance.
Sts_NrdyCfgErr BOOL 1 = Device is not ready: Configuration error.
Sts_NrdyIntlk BOOL 1 = Device is not ready: Interlock not OK.
Sts_NrdyPerm BOOL 1 = Device is not ready: Permissive not OK.
Sts_NrdyPrioOff BOOL 1 = Device is not ready: Operator or External priority Off command requires reset.
Sts_NrdyFail BOOL 1 = Device is not ready: Device failure (Shed requires Reset).
Sts_NrdyIOFault BOOL 1 = Device is not ready: IO Fault (Shed requires Reset).
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrOnDly BOOL 1 = Error in configuration: Invalid OnDelay timer preset (use 0.0 to 2147483.0).
Sts_ErrOffDly BOOL 1 = Error in configuration: Invalid OffDelay timer preset (use 0.0 to 2147483.0).
Sts_ErrOnPulseTime BOOL 1 = Error in configuration: Invalid OnPulse timer preset (use 0.0 to 2147483.0).
Sts_ErrOffPulseTime BOOL 1 = Error in configuration: Invalid OffPulse timer preset (use 0.0 to 2147483.0).
Sts_ErrOnFailTime BOOL 1 = Error in configuration: Invalid OnFail timer preset (use 0.0 to 2147483.0).
Sts_ErrOffFailTime BOOL 1 = Error in configuration: Invalid OffFail timer preset (use 0.0 to 2147483.0).
Sts_ErrStartHornTime BOOL 1 = Error in configuration: Invalid start horn timer (use 0.0 to 1000.0).
Sts_ErrVirtualFdbkTime BOOL 1 = Error in configuration: Invalid virtual feedback timer (use 0.0 to 2147483.0).
Sts_ErrAlm BOOL 1 = Error in tag-based alarm settings.
Sts_Hand BOOL 1 = Hand is selected (supersedes OoS, Maintenance, Override, External, Program, Operator).
Sts_OoS BOOL 1 = Out of Service is selected (supersedes Maintenance, Override, External, Program, Operator).
Sts_Maint BOOL 1 = Maintenance is selected (supersedes Override, External, Program, Operator).
Sts_Ovrd BOOL 1 = Override is selected (supersedes External, Program, Operator).
Sts_Ext BOOL 1 = External is selected (supersedes Program and Operator).
Sts_Prog BOOL 1 = Program is selected.
Sts_ProgLocked BOOL 1 = Program is selected and Locked.
Sts_Oper BOOL 1 = Operator is selected.
Sts_OperLocked BOOL 1 = Operator is selected and Locked.
Sts_ProgOperSel BOOL Program/Operator selection (latch) state: 1 = Program, 0 = Operator.
Sts_ProgOperLock BOOL Program/Operator lock (latch) state, 1 = Locked, 0 = Unlocked.
Sts_Normal BOOL 1 = Selection equals the Normal (Program or Operator).
Sts_ExtReqInh BOOL 1 = External request inhibited, cannot get to External from current state.
Sts_ProgReqInh BOOL 1 = Program request inhibited, cannot get to Program from current state.
Sts_MAcqRcvd BOOL 1 = Maintenance Acquire command received this scan.
Publication PROCES-RM215A-EN-P - November 2023 243
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = One or more alarms shelved, disabled or suppressed.
Sts_IOFault BOOL IO Fault status:
0 = OK,
1 = Bad.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_IOFault.AlarmElement
Sts_OnFail BOOL 1 = Device failed to turn On.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_OnFail.AlarmElement
Sts_OffFail BOOL 1 = Device failed to turn Off.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_OffFail.AlarmElement
Sts_IntlkTrip BOOL 1 = Device turned Off by an interlock Not OK.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_IntlkTrip.AlarmElement
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
XRdy_Acq BOOL 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_On BOOL 1 = Ready for XCmd_On, enable HMI button.
XRdy_Off BOOL 1 = Ready for XCmd_Off, enable HMI button.
XRdy_OnPulse BOOL 1 = Ready for XCmd_OnPulse, enable HMI button.
XRdy_OffPulse BOOL 1 = Ready for XCmd_OffPulse, enable HMI button.
XRdy_ContPulse BOOL 1 = Ready for XCmd_ContPulse, enable HMI button.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Val_Owner DINT Current object owner ID (0 = not owned).
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOU Control / Command Source Selection.
RCE
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks and permissives. The instruction
clears this operand automatically.
Default is false.
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks. The instruction clears this
operand automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/Override to Maintenance).
The instruction clears this operand automatically.
Default is false.
244 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_Rel BOOL Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
MCmd_Physical BOOL Maintenance command to select Physical device operation (not simulated). The instruction
clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (simulated) device operation. The instruction clears
this operand automatically.
Default is false.
OCmd_On BOOL Operator command to turn device On. The instruction clears this operand automatically.
Default is false.
OCmd_Off BOOL Operator Command to turn device Off. The instruction clears this operand automatically.
Default is false.
OCmd_OnPulse BOOL Operator command to pulse device that is Off, On once. The instruction clears this operand
automatically.
Default is false.
OCmd_OffPulse BOOL Operator command to pulse device that is On, Off once. The instruction clears this operand
automatically.
Default is false.
OCmd_ContPulse BOOL Operator command to pulse device continuously (blink). The instruction clears this operand
automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Unlock BOOL Operator command to unlock / release (allow Program to acquire) ownership. The instruction
clears this operand automatically.
Default is false.
OCmd_Normal BOOL Operator command to select Normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms requiring reset. The instruction clears this operand
automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset all alarms and latched shed conditions. The use of
OCmd_ResetAckAll is restricted to HMI. The instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
Default is 0.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
Publication PROCES-RM215A-EN-P - November 2023 245
Chapter 1 PlantPAx
Private Output Members Data Type Description
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_On BOOL 1 = Ready for OCmd_On, enable HMI button.
ORdy_Off BOOL 1 = Ready for OCmd_Off, enable HMI button.
ORdy_OnPulse BOOL 1 = Ready for OCmd_OnPulse, enable HMI button.
ORdy_OffPulse BOOL 1 = Ready for OCmd_OffPulse, enable HMI button.
ORdy_ContPulse BOOL 1 = Ready for OCmd_ContPulse, enable HMI button.
ORdy_Reset BOOL 1 = A latched alarm or shed condition is ready to be reset.
ORdy_ResetAckAll BOOL 1 = A latched alarm or shed condition is ready to be reset or acknowledged.
Public InOut Members Data Type Description
BusObj BUS_OBJ Bus component
BUS_OBJ Structure
The BUS_OBJ structure links the discrete output instruction to other devices
and instructions in a complex control strategy, typically into a hierarchy. A
Bus Object rolls up status and alarm information from lower-level devices to
higher-level control and fans out commands from higher-level control to
lower-level devices. Items link to the bus by referencing a single member of
the BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
246 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Alarms
Discrete tag-based alarms are defined for these members.
Member Alarm Name Description
Sts_IOFault Alm_IOFault IO Failure.
Raised when the Inp_IOFault input is true. Use this input to indicate to the instruction that a connection
with the module is in fault. This input also indicates if a module reports field power loss/no load/short
circuit is occurring for its I/O. If the I/O Fault is configured as a shed fault, the device is commanded Off
and cannot be commanded to another state until reset.
Sts_OnFail Alm_OnFail Device failed to turn on (On Feedback not confirmed within configured period of time).
Raised when the device is commanded On, but the device feedback does not confirm that the device is
actually On within the configured failure time (Cfg_OnFailTime). If the Failure is configured as a shed
fault, the device is commanded Off and cannot be commanded On until reset.
Sts_OffFail Alm_OffFail Device failed to turn off (Off Feedback not confirmed within configured period of time).
Raised when the device is commanded Off, but the device feedback does not confirm that the device is
actually Off within the configured failure time (Cfg_OffFailTime).
Sts_IntlkTrip Alm_IntlkTrip Interlock Trip alarm.
Raised when an interlock not-OK condition causes the device to transition from the On state or a pulsing
state to the Off state.
If interlocks are not bypassed, a bypassable interlock or a non-bypassable interlock not-OK condition
initiates an interlock trip. If interlocks are bypassed, only a non-bypassable interlock not-OK condition
initiates an interlock trip.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected]
The PDO instruction handles alarm conditions described by these four use
cases and conditions:
• I/O Fault Status - raised when the I/O Fault input is true. This input
usually indicates to the instruction that I/O data is inaccurate and
cannot be trusted for use in the application. If the I/O Fault is
configured as a shed fault, the device is commanded Off and cannot be
commanded to another state until reset.
• Interlock Trip Status - if interlocks are not bypassed, a bypassable
interlock or a non-bypassable interlock not-OK condition initiates an
interlock trip. If interlocks are bypassed, only a non-bypassable
interlock not-OK condition initiates an interlock trip.
• Off Feedback Fail Status - raised when the device is commanded Off,
but the device feedback does not confirm that the device is actually Off
within the configured failure time.
• On Feedback Fail Status - raised when the device is commanded On,
but the device feedback does not confirm that the device is actually On
within the configured failure time. If the Failure is configured as a
shed fault, the device is commanded Off and cannot be commanded
On until reset.
Publication PROCES-RM215A-EN-P - November 2023 247
Chapter 1 PlantPAx
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how the commands interact with the PDO
instruction.
248 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
The following diagram illustrates functionality of the PDO instruction:
Publication PROCES-RM215A-EN-P - November 2023 249
Chapter 1 PlantPAx
Operator command request confirmation
The PDO instruction enables operator command requests OCmd_Off,
OCmd_On, OCmd_OffPulse, OCmd_OnPulse and OCmd_ContPulse.
Enforced security might require the request to be confirmed or canceled
before the selected command executes. The instruction checks the security
rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0 no confirmation is
required and the request executes immediately. If Cfg_CnfrmReqd=1 the
instruction waits for confirmation before executing. For Cfg_CnfrmReqd=2
or 3 eSignature is needed before the confirmation and cancellation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Set the
Inp_Virtual operand to 1 to enable virtualization. After finishing
virtualization, set the Inp_Virtual operand to 0 to return to normal operation.
When Virtualization is active, the output of the discrete output holds at 0,
virtual feedback of a device is provided and I/O faults are ignored. Setting of
Cfg_VirtualFdbkTime operand delays the echo of the On/Off status of the
device. Manipulate the instruction to operate as if a working discrete output is
present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
250 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration of Strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in the Logix Designer application only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Path to an object with more information
• Target state 0
• Target state 1
• Transition state 0
• Transition state 1
• Command button off
• Command button on
• Command button pulse off
• Command button pulse on
• Command button pulse continuously
• IOFault alarm name
• IntlkTrip alarm name
• On Fail alarm name
• Off Fail alarm name
Command Source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
(Highest priority command source)
Out-of-Service The instruction is disabled and has no owner.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (e.g. field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
(Lowest priority command source)
Publication PROCES-RM215A-EN-P - November 2023 251
Chapter 1 PlantPAx
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enabling control sources as Configuration
The individual control sources may be enabled or disabled by the user. The
default configuration uses the entire base model; upon power-up of the
processing environment the control source will be the designated default.
Some combinations of enabled control sources are disallowed as they are
either unnecessary or could create unintended changes.
252 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Prog Power Up
Configuration allows the user to specify whether Operator or Program will be
the power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. This means that all commands
are automatically cleared when the instruction executes and processes them.
Changing Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
Example: If the Prog is disabled, the destination of the OCmd_Prog command
is directed to the ProgLocked state instead of the Prog state. This maintains
the intent of the OCmd_Prog command: the operator entity wishes to place
the function in control of the program. If the command was eliminated then
there would be no way to accomplish this. This is only done in configurations
where it would cause no conflict or race condition, but serves to preserve as
much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Monitor the PDO Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Publication PROCES-RM215A-EN-P - November 2023 253
Chapter 1 PlantPAx
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
Inp_OvrdCmd is set to 0 (no command).
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists
through a controller powerup or PROG-to-RUN transition.
PSet_Owner and Val_Owner are set to 0.
If feedback is provided, Out_CVData and Sts_Out are set accordingly or
cleared otherwise.
Rung-condition-in is false Rung-condition-out is cleared to false.
The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized and all alarm conditions are cleared.
Latched alarms are reset.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set
based on the configuration (Cfg_ProgPwrUp).
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
254 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Instruction first run All commands that are automatically cleared on each execution are cleared
and ignored.
Inp_OvrdCmd is set to 0 (no command).
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
The Maintenance acquired/released state is not modified and persists
through a controller powerup or PROG-to-RUN transition.
PSet_Owner and Val_Owner are set to 0.
If feedback is provided, Out_CVData and Sts_Out are set accordingly or
cleared otherwise.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized and all alarm conditions are cleared.
Latched alarms are reset.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set
based on the configuration (Cfg_ProgPwrUp).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
Use the PDO instruction to control a heating jacket on a vent filter. The
heating jacket is being used in this case to keep the vent filter dry when there
is potential for condensate buildup. The vent filter heater jacket does not
provide the feedback on its status. In normal operating conditions, the vent
filter heater jacket is being commanded on or off by the control sequence
configured in the controller. Always command the vent filter off using the
interlock associated with the status of the controlling sequence.
The controlling sequence issues a single bit for the desired state of the vent
filter heater. The operand PCmd_On is connected to this bit to command the
Publication PROCES-RM215A-EN-P - November 2023 255
Chapter 1 PlantPAx
vent filter heater on. The inverse of this bit is connected to PCmd_Off to
command the vent filter heater off. The operand Cfg_ProgNormal is set to 1 to
indicate that the normal command source of the PDO instruction is Program,
meaning it is normally commanded by the control sequence. The status of the
sequence is connected to the Inp_IntlkOK operand so that the output to the
vent filter heater jacket is always off when the skid is not operating properly,
even if the instruction is not in Program mode. The operands
Cfg_HasOnFdbk and Cfg_HasOffFdbk are both set to 0 to indicate that the
vent filter heater jacket does not provide feedback on its status.
The example is shown in all three languages.
256 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 257
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
JV9010.Inp_IntlkOK := Status_OK;
JV9010.PCmd_On := YV9010;
JV9010.PCmd_Off := NOT(YV9010);
PDO(JV9010, 0);
O_JV9010 := JV9010.Out_CVData;
Process Dosing (PDOSE) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Dosing (PDOSE) instruction controls an ingredient addition that
uses a flow meter to measure the quantity of ingredient added. The flow
meter can be an analog flow meter (signal proportional to flow), a pulse
generating flow meter (pulse count proportional to quantity delivered), or a
digital flow meter providing flow rate or quantity (totalized flow)
information. The instruction also controls an ingredient addition that uses a
weigh scale to measure the quantity of ingredient added. The weigh scale can
258 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
be on the receiving vessel, indicating gain in weight, or on the sourcing vessel,
indicating loss in weight. The weigh scale can be connected using an analog
input, device network, or other connection.
Use the PDOSE instruction to:
• Provide inputs for rate (flow rate or quantity per time) and quantity
(total or pulse count).
• Use a pulse count as the Quantity process variable (PV), with
configurable rollover count.
• Totalize the flow rate PV to determine the quantity delivered when the
flowmeter provides a rate signal but no quantity.
• Calculate the flow rate given the quantity by differentiating with
respect to time when the meter provides a total or pulse count but no
rate. If the rate PV is calculated from an input quantity, the PDOSE
instruction uses a first-order, lag filter on the calculated rate PV signal
to reduce the impact of jitter, scan time, quantization error, or input
signal noise.
• Provide a low rate cutoff function, used to ignore flow rate values near
zero to deal with noise or zero calibration error in the rate signal.
• Use a flowmeter with built-in totalizer. Forwards the totalizer clear
command to the flowmeter and checks that the flowmeter's total was
reset.
• Provide outputs to control associated equipment, such as pumps and
valves, to start and stop flow.
• Monitor the status of controlled equipment, such as pumps and valves.
• Monitor rate or quantity input communication status and provide
indication of uncertain or bad rate PV or quantity PV.
• Provide program or operator entry of a quantity to deliver (setpoint)
and calculate the quantity remaining to deliver and percent complete
during delivery.
• Provide program or operator entry of high and low tolerance limits.
Lets the program or operator initiate a tolerance check after delivery is
complete. Provides a warning if under tolerance and lets the operator
bump the flow to make up the shortage. The bump can be set up as a
timed bump or as an operator jog-like function. Provides an alarm if
over tolerance and inhibits further flow.
• Automatically switch to a lower dribble flow rate as the quantity
delivered approaches setpoint. Provides operator or program entry of
the dribble quantity. Provides run, dribble, and stop outputs to
controlled equipment.
• Use a preact value to stop flow to account for material in the pipe, time
for equipment to stop, and delays in measurement, scan,
communication, and so forth. Provides operator or program entry of
the preact value. Provides an optional automatic preact correction
based on the error in delivery when tolerance is checked. The auto
correction lets the preact learn the correct value over time.
Publication PROCES-RM215A-EN-P - November 2023 259
Chapter 1 PlantPAx
• Use the standard command source (PCMDSRC) instruction to provide
ownership for entry of settings and acceptance of commands.
• Provide linear scaling of the input weight value from raw, input card
units to engineering, display units.
• Provide a rate of weight change calculation (differentiation with
respect to time) to generate an inferred flow rate. The calculated rate is
filtered and has a low cutoff, so the rate is reported as zero when the
change in weight is only from noise on the input weight signal.
• Provide outputs to control associated equipment, such as pumps and
valves to start and stop flow. The operator or the program can start the
ingredient addition, then pause and resume as needed.
• Monitor the status of controlled equipment, such as pumps and valves.
Flow is stopped and an alarm is raised on an equipment fault or if the
equipment fails to respond as commanded.
• Monitor the weight PV input quality and communication status and
provides indication of uncertain or bad weight PV. Flow is stopped and
an alarm is raised on a bad PV or communication loss.
• Provide a continuous monitoring function which allow continuous
monitoring without SP requirement.
Available Languages
Ladder Diagram
260 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PDOSE (PDOSE tag, Inp_QtyPV, Inp_RatePV, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Publication PROCES-RM215A-EN-P - November 2023 261
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_DOSING tag Data structure required for proper operation of instruction.
Inp_QtyPV REAL tag Quantity from weigh scale or flowmeter (EU or pulse count).
Inp_RatePV REAL tag Flow rate from flowmeter (EU/Time, see Cfg_RateTime).
BusObj BUS_OBJ tag Bus component.
P_DOSING Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command. 0 = None,
Inp_OwnerCmd.10 = Operator lock,
Inp_OwnerCmd.11 = Operator unlock,
Inp_OwnerCmd.12 = Program lock,
Inp_OwnerCmd.13 = Program unlock,
Inp_OwnerCmd.14 = acquire Maintenance,
Inp_OwnerCmd.15 = release Maintenance,
Inp_OwnerCmd.16 = acquire External,
Inp_OwnerCmd.17 = release External.
Default is 0.
Inp_RatePVBad BOOL Not Visible Not Required Input 1 = Rate PV input quality = Bad (Fail).
Default is false.
Inp_RatePVUncertain BOOL Not Visible Not Required Input 1 = Rate PV input quality = Uncertain.
Default is false.
Inp_QtyPVBad BOOL Not Visible Not Required Input 1 = Quantity PV input quality = Bad (Fail).
Default is false.
Inp_QtyPVUncertain BOOL Not Visible Not Required Input 1 = Quantity PV input quality = Uncertain.
Default is false.
Inp_RunFdbk BOOL Visible Not Required Input 1 = Controlled equipment is delivering (running).
Default is false.
Inp_DribbleFdbk BOOL Not Visible Not Required Input 1 = Controlled equipment is delivering at dribble.
Default is false.
Inp_StopFdbk BOOL Visible Not Required Input 1 = Controlled equipment is confirmed stopped.
Default is false.
Inp_CtrldEqpFault BOOL Not Visible Not Required Input Controlled equipment object or I/O status 0 = Ok, 1
= Fail.
Default is false.
262 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset shed latches and cleared alarms.
Default is false.
Inp_eRatePVSrcQ SINT Not Visible Not Required Input Flow rate signal source and quality (enumerated):
0=Good, live, confirmed good 1=Good, live,
assumed good
2=Good, no feedback, assumed good 8=Test,
virtualized
9=Test, loopback
10=Test, manually entered 16=Uncertain, live,
off-spec 17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good 20=Uncertain,
using replacement value 32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration.
Default is 0.
Inp_eRatePVNotify Rate PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_eQtyPVSrcQ SINT Not Visible Not Required Input Quantity signal source and quality (enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 263
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_eQtyPVNotify SINT Not Visible Not Required Input Quantity PV object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire hand (typically hardwired local), 0 =
Release hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override (higher priority Program logic),
0 = Release Override.
Default is false.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External acquisition, 0 = Allow External
acquisition.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Operator alarm disable, 0 = Disallow
Operator alarm disable.
Default is false.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator alarm shelve, 0 = Disallow
Operator alarm shelve.
Default is false.
Cfg_HasEqpFdbk BOOL Not Visible Not Required Input 1 = Controlled equipment provides run (dribble if
used) and stop feedback.
Default is false.
Cfg_UseEqpFdbk BOOL Not Visible Not Required Input 1 = Use run / dribble / stop feedback, 0 = Assume
equipment state.
Default is false.
Cfg_HasDribble BOOL Not Visible Not Required Input 1 = Slow to dribble before complete, 0 = Run full
flow until complete.
Default is false.
Cfg_HasRatePVNav BOOL Not Visible Not Required Input 1 = Tells HMI an analog object (pai, etc.) is used for
Inp_RatePV.
Default is false.
Cfg_HasMonitoring BOOL Not Visible Not Required Input 1 = Allows continuous monitoring without setpoint
requirement.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_HasQtyPVNav BOOL Not Visible Not Required Input 1 = Tells HMI an analog object (pai, etc.) is used for
Inp_QtyPV.
Default is false.
264 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_AutoAdjPreact BOOL Not Visible Not Required Input 1 = Enable automatic adjustment of preact after
each delivery.
Default is false.
Cfg_LossInQty BOOL Not Visible Not Required Input 1 = Flow reduces quantity (Transfer out), 0 = Flow
increases quantity (Transfer in).
Default is false.
Cfg_SetTrack BOOL Not Visible Not Required Input 1 = When the owner is Program the operator
settings track the program settings. When the
owner is Operator the program settings track the
operator settings; and the virtual inputs match the
output values (transitions are bumpless) 0 = No
tracking.
Default is true.
Cfg_ShedOnEqpFault BOOL Not Visible Not Required Input 1 = Stop delivery and alarm on equipment fault; 0 =
Alarm only on equipment fault.
Default is true.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance exists, can be selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Lock, 0
= Don't Override lock.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Lock, 0
= Don't Override lock.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program, 0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal source: 1 = Program if no requests; 0 =
Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority. 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Prog used as a level.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Lock used as a level (1 = Lock, 0 =
Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = XCmd_Acq used as level (1 = Acquire, 0 =
Release).
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 265
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_AutoAdjPercent REAL Not Visible Not Required Input Percentage of delivery error to auto-adjust preact.
Valid = 0.0 to 100.0 (%)
Default is 10.0.
Cfg_CountsPerEU REAL Not Visible Not Required Input Number of counts in Inp_QtyPV which equal 1.0
Engineering Units. Valid = 0.0 to maximum positive
float.
Default is 1.0.
Cfg_EUQtyMult REAL Not Visible Not Required Input Rate to quantity Engineering Units multiplier (e.g.,
gal to bbl.). Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_BumpTime REAL Not Visible Not Required Input Bump (manual top-off) time. Valid = 0.0 to
2147483.0 seconds.
Default is 0.0.
Cfg_ClearPulseTime REAL Not Visible Not Required Input Time to pulse Out_ClearTot to clear External
totalizer. Valid = 0.0 to 2147483.0 seconds.
Default is 1.0.
Cfg_FaultTime REAL Not Visible Not Required Input Time for equipment feedback to follow output
before fault. Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_HiFlowRateLim REAL Not Visible Not Required Input High flow rate alarm limit. Valid = 0.0 to maximum
positive float.
Default is 3.40E+38.
Cfg_LoFlowRateLim REAL Not Visible Not Required Input Low flow rate alarm limit. Valid = 0.0 to maximum
positive float.
Default is 0.0.
Cfg_LoRateCutoff REAL Not Visible Not Required Input Rate below which to report zero flow (Inp_RatePV
in engineering unit/time, see Cfg_RateTime). Valid
= 0.0 to maximum positive float.
Default is 0.0.
Cfg_MaxQty REAL Not Visible Not Required Input Maximum allowed quantity to deliver
(setpoint).Valid = 0.0 to maximum positive float.
Default is 1.50E+38.
Cfg_RateFiltTimeConst REAL Not Visible Not Required Input Filter time constant (sec) for calculated rate. Valid
= 0.0 to 2147483.0 seconds.
Default is 0.1.
Cfg_RateTime REAL Not Visible Not Required Input Rate of change time base (seconds), use 1.0 for
units/second, 60.0 for units/minute, 3600.0 for
units/hour, 86400.0 for units/day. Valid = any float
greater than zero.
Default is 1.0.
Cfg_Rollover REAL Not Visible Not Required Input Quantity rollover (e.g., max count for pulse input).
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_SettleTime REAL Not Visible Not Required Input Time to allow flow to stop before allowing
tolerance check.Valid = 0.0 to 2147483.0 seconds.
Default is 1.0.
Cfg_VirtualRate REAL Not Visible Not Required Input Rate at which to deliver when running in virtual
(Engineering Units/rate time). Valid = 0.0 to
maximum positive float.
Default is 1.0.
266 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_VirtualDribbleRate REAL Not Visible Not Required Input Rate at which to dribble when running in virtual
(Engineering Units/rate time). Valid = 0.0 to
maximum positive float.
Default is 0.1.
Cfg_eKeepSP SINT Not Visible Not Required Input Ownership of Setpoint (enumeration): 0 = follows
CmdSrc, 1 = Operator, 2 = Program, 3 = External.
Default is 0.
Cfg_eKeepStart SINT Not Visible Not Required Input Ownership of Start commands (enumeration): 0 =
follows CmdSrc, 1 = Operator, 2 = Program, 3 =
External.
Default is 0.
Cfg_eKeepTol SINT Not Visible Not Required Input Ownership of Tolerance commands (enumeration):
0 = follows CmdSrc, 1 = Operator, 3 = External.
Default is 0.
Cfg_eKeepDribblePreact SINT Not Visible Not Required Input Ownership of Dribble\Preact (enumeration): 0 =
follows CmdSrc, 1 = Operator, 2 = Program, 3 =
External.
Default is 0.
Cfg_HasHistTrend SINT Not Visible Not Required Input Has Historical Trend. This enables navigation to
the Device Historical Trend Faceplate from the
HMI. Value of 0 = No External historical trend, 1 =
Datalog historical trend, 2 = Historian histrical
trend.
Default is 0.
Cfg_QtyDecPlcs SINT Not Visible Not Required Input Number of decimal places for quantity display.
Valid = 0,1,2,3,4,5,6.
Default is 2.
Cfg_RateDecPlcs SINT Not Visible Not Required Input Number of decimal places for rate display. Valid =
0,1,2,3,4,5,6.
Default is 2.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator Command Confirmation Required.
Represents the type of command confirmation
required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PCmd_Bump BOOL Not Visible Not Required Input Program command to bump delivery for under
tolerance. The instruction clears this operand
automatically.
Default is false.
PCmd_ClearTot BOOL Not Visible Not Required Input Program command to clear totalizer quantity. The
instruction clears this operand automatically.
Default is false.
PCmd_StartTot BOOL Not Visible Not Required Input Program command to start totalizer. The
instruction clears this operand automatically.
Default is false.
PCmd_StopTot BOOL Not Visible Not Required Input Program command to stop totalizer. The
instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 267
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_StartFlow BOOL Not Visible Not Required Input Program command to start delivery. The
instruction clears this operand automatically.
Default is false.
PCmd_StopFlow BOOL Not Visible Not Required Input Program command to stop/pause delivery. The
instruction clears this operand automatically.
Default is false.
PCmd_CheckTol BOOL Not Visible Not Required Input Program command to check tolerances. The
instruction clears this operand automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program command to lock Program (disallow
Operator). The instruction clears this operand
automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program command to select normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Program command to select Operator (Program to
Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program command to select Program (Operator to
Program). The instruction clears this operand
automatically.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program command to unlock Program (allow
Operator to acquire). The instruction clears this
operand automatically.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms requiring
reset. The instruction clears this operand
automatically.
Default is false.
PCmd_Virtual BOOL Not Visible Not Required Input Program command to select Virtual (virtualized)
device operation. The instruction clears this
operand automatically.
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program command to select Physical device
operation (not virtualized). The instruction clears
this operand automatically.
Default is false.
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release
(zero).
Default is 0.
PSet_DribbleQty REAL Not Visible Not Required Input Program setting of quantity to dribble (Engineering
Units). Valid = 0.0 to maximum positive float.
Default is 0.0.
PSet_Preact REAL Not Visible Not Required Input Program setting of amount before total to stop
flow (Engineering Units). Valid = 0.0 to maximum
positive float.
Default is 0.0.
268 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PSet_SP REAL Not Visible Not Required Input Program setting of total quantity to deliver in
Engineering Units. Valid = 0.0 to maximum positive
float.
Default is 0.0.
PSet_TolHi REAL Not Visible Not Required Input Program setting of high tolerance limit (ok amount
> SP). Valid = 0.0 to maximum positive float.
Default is 0.0.
PSet_TolLo REAL Not Visible Not Required Input Program setting of low tolerance limit (ok amount
< SP). Valid = 0.0 to maximum positive float.
Default is 0.0.
XCmd_Bump BOOL Not Visible Not Required Input External command to bump delivery for under
tolerance.The instruction clears this operand
automatically.
Default is false.
XCmd_ClearTot BOOL Not Visible Not Required Input External command to clear totalizer Quantity. The
instruction clears this operand automatically.
Default is false.
XCmd_StartTot BOOL Not Visible Not Required Input External command to start totalizer.The
instruction clears this operand automatically.
Default is false.
XCmd_StopTot BOOL Not Visible Not Required Input External command to stop totalizer.The instruction
clears this operand automatically.
Default is false.
XCmd_StartFlow BOOL Not Visible Not Required Input External command to start deliver.The instruction
clears this operand automatically.
Default is false.
XCmd_StopFlow BOOL Not Visible Not Required Input External command to stop/pause delivery.The
instruction clears this operand automatically.
Default is false.
XCmd_CheckTol BOOL Not Visible Not Required Input External command to check tolerances.The
instruction clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to clear shed latches and
cleared alarms.
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input External command to Acquire ownership
(Operator/Program/Override/Maintenance to
External). The instruction clears this operand
automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External command to release ownership if
Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The
instruction clears this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all
alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
XSet_DribbleQty REAL Not Visible Not Required Input External setting of quantity to dribble (Engineering
Units).
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 269
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XSet_Preact REAL Not Visible Not Required Input External setting of amount before total to stop flow
(Engineering Units).
Default is 0.0.
XSet_SP REAL Not Visible Not Required Input External setting of total quantity to deliver
(Engineering Units).
Default is 0.0.
XSet_TolHi REAL Not Visible Not Required Input External setting of high tolerance limit (ok amount
> SP).
Default is 0.0.
XSet_TolLo REAL Not Visible Not Required Input External setting of low tolerance limit (ok amount <
SP).
Default is 0.0.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Out_ClearTot BOOL Visible Not Required Output 1 = Reset external totalizer (e.g. onboard
flowmeter).
Out_RunTot BOOL Visible Not Required Output 1 = Run External totalizer (e.g. onboard flowmeter).
Out_RunFlow BOOL Visible Not Required Output 1 = Deliver at full (fast) flow.
Out_StopFlow BOOL Visible Not Required Output 1 = Stop delivery equipment.
Out_DribbleFlow BOOL Visible Not Required Output 1 = Deliver at dribble (slow) flow.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status.
0 = None,
.10 = Operator lock,
.11 = Operator unlock,
.12 = Program lock,
.13 = Program unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Program,
.30 = Not ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. use Inp_InitializeReq
to reinitialize.
Sts_CalcQty BOOL Not Visible Not Required Output 1 = Integrate Inp_RatePV to get quantity, 0 = Use
Inp_QtyPV.
Sts_CalcRate BOOL Not Visible Not Required Output 1 = Differentiate Inp_QtyPV to get rate, 0 = Use
Inp_RatePV.
Sts_Cleared BOOL Visible Not Required Output 1 = Totalizer clear completed.
Sts_TotRunning BOOL Visible Not Required Output 1 = Totalizer running, 0 = Totalizer stopped.
Sts_FlowStarting BOOL Not Visible Not Required Output 1 = Flow is starting (Out_Run is on, feedback not
showing run).
270 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_FlowRunning BOOL Visible Not Required Output 1 = Flow is running (Out_Run is on, feedback shows
running).
Sts_FlowStopping BOOL Not Visible Not Required Output 1 = Flow is stopping (Out_Stop is on, feedback not
showing stopped).
Sts_FlowStopped BOOL Visible Not Required Output 1 = Flow is stopped (Out_Stop is on, feedback
shows stopped).
Sts_DribbleStarting BOOL Not Visible Not Required Output 1 = Dribble starting (Out_Dribble is on, feedback
not showing dribble).
Sts_FlowDribble BOOL Visible Not Required Output 1 = Flow is dribbling (Out_Dribble is on, feedback
shows dribble).
Sts_Bumping BOOL Not Visible Not Required Output 1 = Bump flow is active.
Sts_InTol BOOL Not Visible Not Required Output 1 = Total delivered is within tolerances.
Sts_Complete BOOL Visible Not Required Output 1 = Total delivered > (setpoint - preact).
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats the device as virtual.
The instruction acts as normal but the output is
kept de-energized (Out_(x)=0). 0 = The instruction
operates the device normally. Sts_Virtual is a copy
of Inp_Virtual.
Sts_bSrc INT Not Visible Not Required Output Active selection bitmap (for HMI totem pole with
command source request selection):
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed out of service (rung
false),
Sts_bSrc.2: Maintenance out of service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_eCmd SINT Not Visible Not Required Output Dosing command
0 = None,
1 = Clear Totalizer,
2 = Start Totalizer,
3 = Start Flow,
4 = Start Dribble,
5 = Bump,
6 = Stop Flow,
7 = Stop Totalizer.
Sts_eFdbk SINT Not Visible Not Required Output Equipment feedback
0 = None/transition,
1 = Flow stopped,
2 = Flow running,
3 = Flow dribbling,
4 = Virtualized.
Sts_eFault SINT Not Visible Not Required Output Object fault status 0 = None, 1 = Error: bad
configuration, 15 = Equipment fault.
Publication PROCES-RM215A-EN-P - November 2023 271
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyAll SINT Not Visible Not Required Output All alarm status enumerated values including
related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotify SINT Not Visible Not Required Output All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyEqpFault SINT Not Visible Not Required Output Equipment Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiFlowRate SINT Not Visible Not Required Output Hi Flow Rate alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
272 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyLoFlowRate SINT Not Visible Not Required Output Lo Flow Rate alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyOverTol SINT Not Visible Not Required Output Over Tolerance alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyUnderTol SINT Not Visible Not Required Output Under Tolerance alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyZeroFault SINT Not Visible Not Required Output Zero Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 273
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eSrc INT Not Visible Not Required Output The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_eSts SINT Not Visible Not Required Output Dosing status:
0 = Powerup/reset/unknown,
1 = Stopped,
2 = Totalizer running,
3 = Flow running,
4 = Dribble running,
5 = Bump flow,
6 = Flow starting,
7 = Dribble starting,
8 = Flow stopping,
15 = Out of service.
Sts_UnackAlmCount SINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_Available BOOL Not Visible Not Required Output 1 = Dosing available for control by automation
(Program).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = A Maintenance bypass is active, display icon.
Sts_NotRdy BOOL Not Visible Not Required Output 1 = Object not ready, see detail bits for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Object not ready: configuration error.
Sts_NrdyEqpFault BOOL Not Visible Not Required Output 1 = Object not ready: External equipment fault
(fault or shed requires reset).
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Object not ready: out of service.
Sts_NrdyPVBad BOOL Not Visible Not Required Output 1 = Object not ready: PV bad quality or comm
failure.
Sts_Err BOOL Not Visible Not Required Output 1 = Error in configuration: See detail bits
(Sts_Errxxx) for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in config: alarm minimum on time, shelf
time, severity.
Sts_ErrBumpTime BOOL Not Visible Not Required Output 1 = Error: Cfg_BumpTime invalid.
Sts_ErrClearPulseTime BOOL Not Visible Not Required Output 1 = Error: Cfg_ClearPulseTime invalid.
Sts_ErrCountsPerEU BOOL Not Visible Not Required Output 1 = Error: Cfg_CountsPerEU invalid.
Sts_ErrCutoff BOOL Not Visible Not Required Output 1 = Error: Cfg_Cutoff invalid.
Sts_ErrEUQtyMult BOOL Not Visible Not Required Output 1 = Error: Cfg_EUQtyMult invalid.
Sts_ErrFaultTime BOOL Not Visible Not Required Output 1 = Error: Cfg_FaultTime invalid.
Sts_ErrRateTime BOOL Not Visible Not Required Output 1 = Error: Cfg_RateTime invalid.
Sts_ErrLim BOOL Not Visible Not Required Output 1 = Error: Cfg_MaxQty invalid.
Sts_ErrRollover BOOL Not Visible Not Required Output 1 = Error: Cfg_Rollover invalid.
Sts_ErrRateFiltTimeConst BOOL Not Visible Not Required Output 1 = Error: Cfg_RateFiltTimeConst invalid.
274 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_ErrSettleTime BOOL Not Visible Not Required Output 1 = Error: Cfg_SettleTime invalid.
Sts_ErrVirtual BOOL Not Visible Not Required Output 1 = Error: Cfg_VirtualDribbleRate or
Cfg_VirtualRate invalid.
Sts_Hand BOOL Not Visible Not Required Output 1 = Hand is selected (supersedes Out of Service,
Maintenance, Override, External, Program,
Operator).
Sts_OoS BOOL Not Visible Not Required Output 1 = Out of service is selected (supersedes
Maintenance, Override, External, Program,
Operator).
Sts_Maint BOOL Not Visible Not Required Output 1 = Maintenance is selected (supersedes Override,
External, Program, Operator).
Sts_Ovrd BOOL Not Visible Not Required Output 1 = Override is selected (supersedes External,
Program, Operator).
Sts_Ext BOOL Not Visible Not Required Output 1 = External is selected (supersedes Program and
Operator).
Sts_Prog BOOL Not Visible Not Required Output 1 = Program is selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program is selected and locked.
Sts_Oper BOOL Not Visible Not Required Output 1 = Operator is selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator is selected and locked.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Not Visible Not Required Output Program/Operator lock (latch) state, 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selection equals the normal (Program or
Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External request inhibited, cannot get to
External from current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program request inhibited, cannot get to
Program from current state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Maintenance acquire command received this
scan.
Sts_Alm BOOL Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = One or more alarms shelved, disabled or
suppressed.
Sts_EqpFault BOOL Not Visible Not Required Output 1 = Equipment fault detected.
Sts_HiFlowRate BOOL Not Visible Not Required Output 1 = Hi flow rate alarm.
Sts_LoFlowRate BOOL Not Visible Not Required Output 1 = Lo flow rate alarm.
Sts_LoRateCutoff BOOL Not Visible Not Required Output 1 = Rate PV below low rate cutoff, flow assumed to
be zero.
Sts_OverTol BOOL Not Visible Not Required Output 1 = Delivery out of tolerance high.
Sts_UnderTol BOOL Not Visible Not Required Output 1 = Delivery out of tolerance low.
Sts_ZeroFault BOOL Not Visible Not Required Output 1 = Totalizer did not clear or unexpected flow.
Sts_QtyBad BOOL Not Visible Not Required Output 1 = Quantity value is Bad (PV Fail).
Sts_QtyUncertain BOOL Not Visible Not Required Output 1 = Quantity value is Uncertain.
Sts_RateBad BOOL Not Visible Not Required Output 1 = Rate value is Bad (PV Fail).
Sts_RateUncertain BOOL Not Visible Not Required Output 1 = Rate value is Uncertain.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
Val_SP REAL Visible Not Required Output Amount to be delivered (setpoint) (Engineering
Units). Valid = 0.0 to maximum positive float.
Publication PROCES-RM215A-EN-P - November 2023 275
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Val_Remain REAL Visible Not Required Output Amount yet to deliver to reach setpoint
(Engineering Units). Valid = 0.0 to maximum
positive float.
Val_PercentComplete REAL Visible Not Required Output Percent complete (for progress bar on HMI) Valid
= 0.0 to 100.0.
Val_QtyPV REAL Not Visible Not Required Output Quantity from weigh scale or flowmeter
(Engineering Units or pulse count). Valid = 0.0 to
maximum positive float.
Val_Qty REAL Visible Not Required Output Quantity actually delivered (totalizer output)
(Engineering Units). Valid = 0.0 to maximum
positive float.
Val_RatePV REAL Not Visible Not Required Output Flow rate from flowmeter (Engineering Units/time,
see Cfg_RateTime). Valid = 0.0 to maximum
positive float.
Val_Rate REAL Visible Not Required Output Current delivery rate (Engineering Units/time) (see
Cfg_RateTime). Valid = 0.0 to maximum positive
float.
Val_DribbleQty REAL Visible Not Required Output Amount to be delivered at slow rate (Engineering
Units). Valid = 0.0 to maximum positive float.
Val_Preact REAL Visible Not Required Output Amount before setpoit at which flow will be
stopped (Engineering Units). Valid = 0.0 to
maximum positive float.
Val_TolHi REAL Visible Not Required Output Allowed amount > Setpoint (Engineering Units).
Valid = 0.0 to maximum positive float.
Val_TolLo REAL Visible Not Required Output Allowed amount < Setpoint (Engineering Units).
Valid = 0.0 to maximum positive float.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = Not owned).
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
276 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable HMI
button.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOUR Control / Command Source Selection.
CE
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select in service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select out of service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance command to select Physical device operation (not virtualized)
Default is false.
MCmd_Rel BOOL Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (virtualized) device operation
Default is false.
OCmd_Bump BOOL Operator command to bump delivery for under tolerance. The instruction clears this
operand automatically.
Default is false.
OCmd_CheckTol BOOL Operator command to check tolerances. The instruction clears this operand automatically.
Default is false.
OCmd_ClearTot BOOL Operator command to clear totalizer quantity. The instruction clears this operand
automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 277
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Normal BOOL Operator command to select normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms requiring reset. The instruction clears this operand
automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset all alarms and latched shed conditions. The instruction clears
this operand automatically.
Default is false.
OCmd_StartFlow BOOL Operator command to start deliver. The instruction clears this operand automatically.
Default is false.
OCmd_StartTot BOOL Operator command to start totalizer. The instruction clears this operand automatically.
Default is false.
OCmd_StopFlow BOOL Operator command to stop/pause delivery. The instruction clears this operand
automatically.
Default is false.
OCmd_StopTot BOOL Operator command to stop totalizer. The instruction clears this operand automatically.
Default is false.
OCmd_Unlock BOOL Operator command to unlock / release (allow Program to acquire) ownership. The
instruction clears this operand automatically.
Default is false.
OSet_DribbleQty REAL Operator setting of quantity to dribble (Engineering Units). Valid = 0.0 to maximum positive
float.
Default is 0.0.
OSet_Preact REAL Operator setting of amount before total to stop flow (Engineering Units). Valid = 0.0 to
maximum positive float.
Default is 0.0.
OSet_SP REAL Operator setting of total quantity to deliver (Engineering Units). Valid = 0.0 to maximum
positive float.
Default is 0.0.
OSet_TolHi REAL Operator setting of high tolerance limit (ok amount > SP). Valid = 0.0 to maximum positive
float.
Default is 0.0.
OSet_TolLo REAL Operator setting of low tolerance limit (ok amount < SP). Valid = 0.0 to maximum positive
float.
Default is 0.0.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index
Default is 0.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
278 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Output Members Data Type Description
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Bump BOOL 1 = Ready for OCmd_Bump (enables HMI button).
ORdy_CheckTol BOOL 1 = Ready for OCmd_CheckTol (enables HMI button).
ORdy_ClearTot BOOL 1 = Ready for OCmd_ClearTot (enables HMI button).
ORdy_DribblePreact BOOL 1 = Ready for OSet_DribblePreact (enables HMI entry field).
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll (enables HMI button).
ORdy_SP BOOL 1 = Ready for OSet_SP (enables HMI entry field).
ORdy_StartFlow BOOL 1 = Ready for OCmd_StartFlow (enables HMI button).
ORdy_StartTot BOOL 1 = Ready for OCmd_StartTot (enables HMI button).
ORdy_StopFlow BOOL 1 = Ready for OCmd_StopFlow (enables HMI button).
ORdy_StopTot BOOL 1 = Ready for OCmd_StopTot (enables HMI button).
ORdy_Tol BOOL 1 = Ready for OSet_Tol (enables HMI entry field).
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Sts_ErrInpSrc BOOL 1 = Error: Input Source invalid. No Rate or Quantity PV connected
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_QtyPV REAL Visible Required InOut Quantity from weigh scale or flowmeter
(Engineering Units or pulse count). Valid = 0.0 to
maximum positive float.
Inp_RatePV REAL Visible Required InOut Flow rate from flowmeter (Engineering Units/time,
see Cfg_RateTime). Valid = 0.0 to 2147483.0
seconds.
BusObj BUS_OBJ Visible Required InOut Bus component
BUS_OBJ Structure
Use InOut parameters to link the Instruction to external tags that contain
necessary data for the instruction to operate. These external tags must be of
the data type shown, or NULL. All public InOut parameters for this instruction
may be NULL.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Publication PROCES-RM215A-EN-P - November 2023 279
Chapter 1 PlantPAx
Members Data Type Description
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete tag-based alarms are defined for these members.
Member Alarm Name Description
Sts_EqpFault Alm_EqpFault Equipment fault. Raised when the Inp_CtrldEqpFault input is true, or when equipment feedback
signals fail to track the commanded state of the equipment within the configured time. If an
equipment fault is configured as a shed fault, the flow is stopped and a reset is required to resume
flow.
Sts_HiFlowRate Alm_HiFlowRate Above high limit. Raised when the flow rate exceeds the High Flow Rate limit, for a configured period
of time.
Sts_LoFlowRate Alm_LoFlowRate Below low limit. Raised when the flow rate falls short of the Low Flow Rate limit, for a configured
period of time.
Sts_OverTol Alm_OverTol Above over tolerance limit. Raised when the tolerance check is performed and the quantity delivered
exceeds the setpoint by more than the High Tolerance threshold.
Sts_UnderTol Alm_UnderTol Below under tolerance limit. Raised when the tolerance check is performed and the quantity delivered
falls short of the setpoint by more than the Low Tolerance threshold.
Sts_ZeroFault Alm_ZeroFault Zero fault. Raised if the dosing fails to clear, or if the dosing is cleared but then registers flow before
flow is commanded to start.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected]
[email protected]
The PDOSE instruction handles alarm conditions described by these use cases
and conditions:
• Equipment fault - raised when the Inp_CtrldEqpFault input is true, or
when equipment feedback signals fail to track the commanded state of
the equipment within the configured time. If an equipment fault is
configured as a shed fault, the flow is stopped and a reset is required to
resume flow.
• Above high limit - raised when the flow rate exceeds the High Flow
Rate limit, for a configured period of time.
• Below low limit - raised when the flow rate falls short of the Low Flow
Rate limit, for a configured period of time.
• Above over tolerance limit - raised when the tolerance check is
performed and the quantity delivered exceeds the setpoint by more
than the High Tolerance threshold.
280 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Below under tolerance limit - raised when the tolerance check is
performed and the quantity delivered falls short of the setpoint by
more than the Low Tolerance threshold.
• Zero fault - raised if the dosing fails to clear, or if the dosing is cleared
but then registers flow before flow is commanded to start.
Publication PROCES-RM215A-EN-P - November 2023 281
Chapter 1 PlantPAx
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how the commands interact with the PDOSE
instruction.
282 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PDOSE instruction:
Operator command request confirmation
The PDOSE instruction enables these operator command requests:
• OCmd _Bump
• OCmd_CheckTol
• OCmd_ClearTot
Publication PROCES-RM215A-EN-P - November 2023 283
Chapter 1 PlantPAx
• OCmd_StartFlow
• OCmd_StartTot
• OCmd_StopFlow
• OCmd_StopTot
• OSet_DribbleQty
• OSet_Preact
• OSet_SP
• OSet_TolHi
• OSetTolLo
Enforced security might require the request to be confirmed or canceled
before the selected command executes. The instruction checks the security
rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0 no confirmation is
required and the request executes immediately. If Cfg_CnfrmReqd=1 the
instruction waits for confirmation OCmd_CmdCnfrm=1 and/or cancellation
For Cfg_CnfrmReqd=2 or 3 eSignature is needed before the confirmation and
cancellation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Use
PCmd_Virtual or MCmd_Virtual to enable virtualization. After finishing
virtualization, use PCmd_Physical or MCmd_Physical to return to normal
(physical device) operation.
When Virtualization is active, the instruction treats the object as virtual. The
instruction acts as normal but the output is kept de-energized. The
instruction can emulate a rate at which to dribble and a rate at which to
deliver when running in virtual.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FactoryTalk View) and for Logix
Designer configuration dialog. The strings are set to extended properties of
tag items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
284 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Instruction name
• Area name
• URL link
• More Information
• Input Quantity PV
• Input Rate PV
• Quantity PV Units
• Rate PV Units
• Alarm Equipment Fault Text
• Alarm Hi Flow Rate Text
• Alarm Lo Flow Rate Text
• Alarm Over Tolerance Text
• Alarm Under Tolerance Text
• Alarm Zero Fault Text
Command Source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled and has no owner.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (e.g. field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
Publication PROCES-RM215A-EN-P - November 2023 285
Chapter 1 PlantPAx
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enabling control sources as Configuration
The individual control sources may be enabled or disabled by the user. The
default configuration uses the entire base model; upon power-up of the
processing environment the control source will be the designated default.
Some combinations of enabled control sources are disallowed as they are
either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
286 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Automatic reset of commands
All commands are treated as one-shot-latched. This means that all commands
are automatically cleared when the instruction executes and processes them.
Changing Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Prog is disabled, the destination of the OCmd_Prog
command is directed to the ProgLocked state instead of the Prog state. This
maintains the intent of the OCmd_Prog command: the operator entity wishes
to place the function in control of the program. If the command was
eliminated there would be no way to accomplish this. This is only done in
configurations where it would cause no conflict or race condition, but serves
to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Monitor the PDOSE Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Publication PROCES-RM215A-EN-P - November 2023 287
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Any commands that are received before first scan are
discarded.
Instruction first run Any commands received before first scan are discarded.
Rung-condition-in is false Any commands that are received are discarded. All
alarms are cleared. The command source is reported as
Program Out of Service. The displayed rate is zeroed.
Outputs to controlled equipment are de-energized.
Other output parameters (values and status) hold their
last value.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Any commands that are received before first scan are
discarded.
Instruction first run Any commands received before first scan are discarded.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
Latched alarms are reset.
Command source selection processing proceeds except that Program and
Operators commands are ignored and cleared and all ownership status bits
(Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper) are cleared to 0. When
rung-condition-in becomes true, the Program/Operator selection is set
based on the configuration (Cfg_ProgPwrUp).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
288 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Postscan See Postscan in the Function Block Diagram table.
Example
This example shows an input from a flowmeter (I_PDT_2) connected to a
P_AInAdv block for the conversion of differential pressure to flow. The PV
representing flow (Val from P_AInAdv) is the input for the PDOSE instruction
(Inp_RatePV). The Sts_PVBad for the flow value is also used by the PDOSE
instruction (Inp_RatePVBad). The outputs of the PDOSE instruction
(Out_RunFlow and Out_DribbleFLow) are used as inputs to a two-speed
motor (P_Motor2Spd). RunFlow and DribbleFlow are connected to
PCmd_RunFast and PCmd_RunSlow, respectively. The status outputs of the
motor for stopped (Sts_Stopped), running slow (Sts_RunningSlow), and
running fast (Sts_RunningFast) are connected back to the PDOSE block as
inputs Inp_StopFdbk, Inp_DribbleFdbk, and Inp_RunFdbk.
Publication PROCES-RM215A-EN-P - November 2023 289
Chapter 1 PlantPAx
Ladder Diagram
290 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
FI_01.Inp_PVData:=I_PDT_2;
PAI(FI_01,0);
Publication PROCES-RM215A-EN-P - November 2023 291
Chapter 1 PlantPAx
FQIC_01.Inp_RatePVBad:=FI_01.Sts_PVBad;
PDOSE(FQIC_01, 0, FI_01.Val, 0);
PMTR_01.PCmd_Start1:=FQIC_01.Out_DribbleFlow;
PMTR_01.PCmd_Start2:=FQIC_01.Out_RunFlow;
PMTR_01.PCmd_Stop:=FQIC_01.Out_StopFlow;
PMTR(PMTR_01, 0, 0, 0, 0, 0);
FQIC_01.Inp_DribbleFdbk:=PMTR_01.Sts_Running1;
FQIC_01.Inp_RunFdbk:=PMTR_01.Sts_Running2;
FQIC_01.Inp_StopFdbk:=PMTR_01.Sts_Stopped;
Process Analog Fanout This information applies to the CompactLogix 5380P and ControlLogix 5580P
(PFO) controllers.
The Analog Fanout (PFO) instruction sends one primary analog output signal
to multiple secondary users or devices. Each secondary output has
configurable gain, offset, and clamping limits.
The Process Analog Fanout (PFO) instruction:
• Receives an input-controlled variable (CV) from a primary PID loop or
analog output.
• Applies rate-of-change limiting to the input signal.
• Calculates outputs for up to eight secondary devices. Each secondary
output has its own ratio (slope) and offset (intercept) from the
rate-limited primary input. The ratios and offsets are configured
values.
• Applies minimum and maximum clamping limits to each output
(secondary) CV.
• Provides for initialization of each of its secondary CV outputs based on
a request bit and a requested value from the secondary. When a
particular output CV comes out of initialization, it is ramped from the
initialization value to its calculated value using a configured takeup
rate.
• Provides for initialization of the primary when all secondaries have
requested initialization. The initialization value sent to the primary
can be a fixed, configured value or a calculated value based on the CV1
(Output 1) requested initialization value, accounting for the CV1 gain
and offset. Thus CV1 is the priority output.
292 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
Function Block Diagram
Structured Text
PFO (PFO tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_ANALOG_FANOUT tag Data structure required for proper operation of instruction.
Publication PROCES-RM215A-EN-P - November 2023 293
Chapter 1 PlantPAx
P_ANALOG_FANOUT Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_CV REAL Input CV from upstream block's output (engineering units).
Default is 0.0.
Inp_CV1InitializationVal REAL Initialization value from downstream block #1 (Out 1 engineering units). Valid = any float.
Default is 0.0.
Inp_CV2InitializationVal REAL Initialization value from downstream block #2 (Out 2 engineering units). Valid = any float.
Default is 0.0.
Inp_CV3InitializationVal REAL Initialization value from downstream block #3 (Out 3 engineering units). Valid = any float.
Default is 0.0.
Inp_CV4InitializationVal REAL Initialization value from downstream block #4 (Out 4 engineering units). Valid = any float.
Default is 0.0.
Inp_CV5InitializationVal REAL Initialization value from downstream block #5 (Out 5 engineering units). Valid = any float.
Default is 0.0.
Inp_CV6InitializationVal REAL Initialization value from downstream block #6 (Out 6 engineering units). Valid = any float.
Default is 0.0.
Inp_CV7InitializationVal REAL Initialization value from downstream block #7 (Out 7 engineering units). Valid = any float.
Default is 0.0.
Inp_CV8InitializationVal REAL Initialization value from downstream block #8 (Out 8 engineering units). Valid = any float.
Default is 0.0.
Inp_CV1InitializeReq BOOL Initialize request from downstream block #1 1 = set Out_CV1 to Inp_CV1InitializationVal.
Default is false.
Inp_CV2InitializeReq BOOL Initialize request from downstream block #2 1 = set Out_CV2 to Inp_CV2InitializationVal.
Default is false.
Inp_CV3InitializeReq BOOL Initialize request from downstream block #3 1 = set Out_CV3 to Inp_CV3InitializationVal.
Default is false.
Inp_CV4InitializeReq BOOL Initialize request from downstream block #4 1 = set Out_CV4 to Inp_CV4InitializationVal.
Default is false.
Inp_CV5InitializeReq BOOL Initialize request from downstream block #5 1 = set Out_CV5 to Inp_CV5InitializationVal.
Default is false.
Inp_CV6InitializeReq BOOL Initialize request from downstream block #6 1 = set Out_CV6 to Inp_CV6InitializationVal.
Default is false.
Inp_CV7InitializeReq BOOL Initialize request from downstream block #7 1 = set Out_CV7 to Inp_CV7InitializationVal.
Default is false.
Inp_CV8InitializeReq BOOL Initialize request from downstream block #8 1 = set Out_CV8 to Inp_CV8InitializationVal.
Default is false.
Cfg_HasCV2 BOOL 1 = Output CV #2 is connected.
Default is true.
Cfg_HasCV3 BOOL 1 = Output CV #3 is connected.
Default is false.
294 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_HasCV4 BOOL 1 = Output CV #4 is connected.
Default is false.
Cfg_HasCV5 BOOL 1 = Output CV #5 is connected.
Default is false.
Cfg_HasCV6 BOOL 1 = Output CV #6 is connected.
Default is false.
Cfg_HasCV7 BOOL 1 = Output CV #7 is connected.
Default is false.
Cfg_HasCV8 BOOL 1 = Output CV #8 is connected.
Default is false.
Cfg_FixedInitializationVal REAL Fixed initialization value (in Inp_CV engineering units), used if Cfg_UseFixedInitialization =
1. Valid = any float.
Default is 0.0.
Cfg_UseFixedInitialization BOOL 1 = Use Cfg_UseFixedInitialization to initialize primary, 0 = use Inp_CV1InitializationVal.
Default is false.
Cfg_ShedHold BOOL 1 = Hold output on Inf / NaN input, 0 = copy Inf / NaN through.
Default is false.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more information is available.
Default is false.
Cfg_HasCVNav BOOL 1 = Tells HMI to enable navigation to a connected CV object.
Default is false.
Cfg_HasNav SINT Set bits indicate which navigation buttons are enabled .0=CV1, .1=CV2, ... .7=CV8.
Default is 0.
Cfg_CVEUMin REAL Input CV minimum in engineering units (for scaling). Valid = any float not equal to
Cfg_CVEUMax.
Default is 0.0.
Cfg_CVEUMax REAL Input CV maximum in engineering units (for scaling). Valid = any float not equal to
Cfg_CVEUMin.
Default is 100.0.
Cfg_CVLoLim REAL Input CV minimum, Lo clamp (Inp engineering units). Valid = any float less than or equal
to Cfg_CVHiLim.
Default is 0.0.
Cfg_CVHiLim REAL Input CV maximum, Hi clamp (Inp engineering units). Valid = any float greater than or
equal to Cfg_CVLoLim.
Default is 100.0.
Cfg_CVRoCLim REAL Program setting for input CV rate of change limit, increase or decrease (Inp engineering
units/seconds). Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_CV1Ratio REAL Configuration for CV1 ratio (m in mx+b). Valid = any float.
Default is -2.0.
Cfg_CV1Offset REAL Configuration for CV1 offset (b in mx+b). Valid = any float.
Default is 100.0.
Cfg_CV1LoLim REAL Output CV #1 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV1LoLim<= Cfg_CV1HiLim.
Default is 0.0.
Cfg_CV1HiLim REAL Output CV #1 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV1HiLim>= Cfg_CV1LoLim.
Default is 100.0.
Cfg_CV1TakeupRate REAL Rate (engineering units/seconds) at which CV1 bias is taken up after Inp_CV1InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Publication PROCES-RM215A-EN-P - November 2023 295
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_CV2Ratio REAL Configuration for CV2 ratio (m in mx+b). Valid = any float.
Default is 2.0.
Cfg_CV2Offset REAL Configuration for CV2 offset (b in mx+b). Valid = any float.
Default is -100.0.
Cfg_CV2LoLim REAL Output CV #2 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV2LoLim<= Cfg_CV2HiLim.
Default is 0.0.
Cfg_CV2HiLim REAL Output CV #2 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV2HiLim>= Cfg_CV2LoLim.
Default is 100.0.
Cfg_CV2TakeupRate REAL Rate (engineering units/seconds) at which CV2 bias is taken up after Inp_CV2InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CV3Ratio REAL Configuration for CV3 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV3Offset REAL Configuration for CV3 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV3LoLim REAL Output CV #3 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV3LoLim<= Cfg_CV3HiLim.
Default is 0.0.
Cfg_CV3HiLim REAL Output CV #3 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV3HiLim>= Cfg_CV3LoLim.
Default is 100.0.
Cfg_CV3TakeupRate REAL Rate (engineering units/seconds) at which CV3 bias is taken up after Inp_CV3InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CV4Ratio REAL Configuration for CV4 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV4Offset REAL Configuration for CV4 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV4LoLim REAL Output CV #4 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV4LoLim<= Cfg_CV4HiLim.
Default is 0.0.
Cfg_CV4HiLim REAL Output CV #4 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV4HiLim>= Cfg_CV4LoLim.
Default is 100.0.
Cfg_CV4TakeupRate REAL Rate (engineering units/seconds) at which CV4 bias is taken up after Inp_CV4InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CV5Ratio REAL Configuration for CV5 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV5Offset REAL Configuration for CV5 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV5LoLim REAL Output CV #5 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV5LoLim<= Cfg_CV5HiLim.
Default is 0.0.
Cfg_CV5HiLim REAL Output CV #5 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV5HiLim>= Cfg_CV5LoLim.
Default is 100.0.
Cfg_CV5TakeupRate REAL Rate (engineering units/seconds) at which CV5 bias is taken up after Inp_CV5InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
296 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Cfg_CV6Ratio REAL Configuration for CV6 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV6Offset REAL Configuration for CV6 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV6LoLim REAL Output CV #6 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV6LoLim<= Cfg_CV6HiLim.
Default is 0.0.
Cfg_CV6HiLim REAL Output CV #6 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV6HiLim>= Cfg_CV6LoLim.
Default is 100.0.
Cfg_CV6TakeupRate REAL Rate (engineering units/seconds) at which CV6 bias is taken up after Inp_CV6InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CV7Ratio REAL Configuration for CV7 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV7Offset REAL Configuration for CV7 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV7LoLim REAL Output CV #7 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV7LoLim<= Cfg_CV7HiLim.
Default is 0.0.
Cfg_CV7HiLim REAL Output CV #7 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV7HiLim>= Cfg_CV7LoLim.
Default is 100.0.
Cfg_CV7TakeupRate REAL Rate (engineering units/seconds) at which CV7 bias is taken up after Inp_CV7InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CV8Ratio REAL Configuration for CV8 ratio (m in mx+b). Valid = any float.
Default is 1.0.
Cfg_CV8Offset REAL Configuration for CV8 offset (b in mx+b). Valid = any float.
Default is 0.0.
Cfg_CV8LoLim REAL Output CV #8 minimum in engineering units (for clamping). Valid = any float,
Cfg_CV8LoLim<= Cfg_CV8HiLim.
Default is 0.0.
Cfg_CV8HiLim REAL Output CV #8 maximum in engineering units (for clamping). Valid = any float,
Cfg_CV8HiLim>= Cfg_CV8LoLim.
Default is 100.0.
Cfg_CV8TakeupRate REAL Rate (engineering units/seconds) at which CV8 bias is taken up after Inp_CV8InitializeReq
= 0. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_CVDecPlcs SINT Number of decimal places for CV display (0...6).
Default is 0.
Public Output Members Data Type Description
EnableOut BOOL Enable output. This output state always reflects EnableIn input state.
Out_CV1 REAL Output to downstream block #1 (out 1 engineering units).
Out_CV2 REAL Output to downstream block #2 (out 2 engineering units).
Out_CV3 REAL Output to downstream block #3 (out 3 engineering units).
Out_CV4 REAL Output to downstream block #4 (out 4 engineering units).
Out_CV5 REAL Output to downstream block #5 (out 5 engineering units).
Out_CV6 REAL Output to downstream block #6 (out 6 engineering units).
Publication PROCES-RM215A-EN-P - November 2023 297
Chapter 1 PlantPAx
Public Output Members Data Type Description
Out_CV7 REAL Output to downstream block #7 (out 7 engineering units).
Out_CV8 REAL Output to downstream block #8 (out 8 engineering units).
Out_CVInitializationVal REAL Initialization value to upstream block (Inp_CV engineering units).
Out_CVInitializeReq BOOL Initialization request to upstream block (1 = initialize).
Val_CVEUMin REAL Minimum of scaled range = minimum (Cfg_CVEUMin, Cfg_CVEUMax).
Val_CVEUMax REAL Maximum of scaled range = maximum (Cfg_CVEUMin, Cfg_CVEUMax).
Val_InpCV REAL Value of Inp_CV, not clamped or ramped (engineering units).
Val_CV REAL Value of CV after clamping and ramping (engineering units).
Val_MinCVIn1 REAL Input CV at minimum of CV1 output (for HMI use).
Val_MaxCVIn1 REAL Input CV at maximum of CV1 output (for HMI use).
Val_MinCVIn2 REAL Input CV at minimum of CV2 output (for HMI use).
Val_MaxCVIn2 REAL Input CV at maximum of CV2 output (for HMI use).
Val_MinCVIn3 REAL Input CV at minimum of CV3 output (for HMI use).
Val_MaxCVIn3 REAL Input CV at maximum of CV3 output (for HMI use).
Val_MinCVIn4 REAL Input CV at minimum of CV4 output (for HMI use).
Val_MaxCVIn4 REAL Input CV at maximum of CV4 output (for HMI use).
Val_MinCVIn5 REAL Input CV at minimum of CV5 output (for HMI use).
Val_MaxCVIn5 REAL Input CV at maximum of CV5 output (for HMI use).
Val_MinCVIn6 REAL Input CV at minimum of CV6 output (for HMI use).
Val_MaxCVIn6 REAL Input CV at maximum of CV6 output (for HMI use).
Val_MinCVIn7 REAL Input CV at minimum of CV7 output (for HMI use).
Val_MaxCVIn7 REAL Input CV at maximum of CV7 output (for HMI use).
Val_MinCVIn8 REAL Input CV at minimum of CV8 output (for HMI use).
Val_MaxCVIn8 REAL Input CV at maximum of CV8 output (for HMI use).
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_CVInfNaN BOOL 1 = Inp_CV is infinite or not a number (1.$, 1.#NaN).
Sts_CVLimited BOOL 1 = Output CV clamped at configured maximum/minimum.
Sts_CV1InitializationInfNaN BOOL 1 = Inp_CV1InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV1Limited BOOL 1 = Output CV1 clamped at configured maximum/minimum.
Sts_CV2InitializationInfNaN BOOL 1 = Inp_CV2InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV2Limited BOOL 1 = Output CV2 clamped at configured maximum/minimum.
Sts_CV3InitializationInfNaN BOOL 1 = Inp_CV3InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV3Limited BOOL 1 = Output CV3 clamped at configured maximum/minimum.
Sts_CV4InitializationInfNaN BOOL 1 = Inp_CV4InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV4Limited BOOL 1 = Output CV4 clamped at configured maximum/minimum.
Sts_CV5InitializationInfNaN BOOL 1 = Inp_CV5InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV5Limited BOOL 1 = Output CV5 clamped at configured maximum/minimum.
Sts_CV6InitializationInfNaN BOOL 1 = Inp_CV6InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV6Limited BOOL 1 = Output CV6 clamped at configured maximum/minimum.
Sts_CV7InitializationInfNaN BOOL 1 = Inp_CV7InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV7Limited BOOL 1 = Output CV7 clamped at configured maximum/minimum.
Sts_CV8InitializationInfNaN BOOL 1 = Inp_CV8InitializationVal is infinite or not a number (1.$, 1.#NaN).
Sts_CV8Limited BOOL 1 = Output CV8 clamped at configured maximum/minimum.
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrLim BOOL 1 = Error in configuration: CV clamp limits crossed (maximum<minimum).
Sts_ErrEU BOOL 1 = Error in configuration: CV scale EU minimum = maximum.
Sts_ErrCV1Lim BOOL 1 = Error in configuration: CV1 clamp limits crossed (maximum<minimum).
Sts_ErrCV2Lim BOOL 1 = Error in configuration: CV2 clamp limits crossed (maximum<minimum).
Sts_ErrCV3Lim BOOL 1 = Error in configuration: CV3 clamp limits crossed (maximum<minimum).
Sts_ErrCV4Lim BOOL 1 = Error in configuration: CV4 clamp limits crossed (maximum<minimum).
298 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
Sts_ErrCV5Lim BOOL 1 = Error in configuration: CV5 clamp limits crossed (maximum<minimum).
Sts_ErrCV6Lim BOOL 1 = Error in configuration: CV6 clamp limits crossed (maximum<minimum).
Sts_ErrCV7Lim BOOL 1 = Error in configuration: CV7 clamp limits crossed (maximum<minimum).
Sts_ErrCV8Lim BOOL 1 = Error in configuration: CV8 clamp limits crossed (maximum<minimum).
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• CV Units
• Output CV Label CV1
• Output CV Label CV2
• Output CV Label CV3
• Output CV Label CV4
• Output CV Label CV5
• Output CV Label CV6
• Output CV Label CV7
• Output CV Label CV8
• CV1 EU (Engineering Units)
• CV2 EU
• CV3 EU
• CV4 EU
• CV5 EU
• CV6 EU
• CV7 EU
• CV8 EU
• Allow Navigation Object Tag Name Input CV
• Allow Navigation Object Tag Name CV1
• Allow Navigation Object Tag Name CV2
• Allow Navigation Object Tag Name CV3
Publication PROCES-RM215A-EN-P - November 2023 299
Chapter 1 PlantPAx
• Allow Navigation Object Tag Name CV4
• Allow Navigation Object Tag Name CV5
• Allow Navigation Object Tag Name CV6
• Allow Navigation Object Tag Name CV7
• Allow Navigation Object Tag Name CV8
Monitor the PFO Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
300 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, the PFO instruction to implement a split range PID control
strategy to control temperature of a processing vessel. The heat exchanger to
the vessel jacket is fed by a steam valve to heat or a glycol valve to cool. One
PID controls the temperature. The example assumes that the relative process
gain between each valve and the temperature is the same.
Publication PROCES-RM215A-EN-P - November 2023 301
Chapter 1 PlantPAx
Ladder Diagram
302 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
TI0921.Inp_PVData:=I_TE0921;
PAI(TI0921);
TIC0921.PV:= TI0921.Val;
TIC0921.PVFault:=TI0921.Sts_PVUncertain;
PIDE(TIC0921);
TY0921.Inp_CV:=TIC0921.CVEU;
TIC0921.CVInitReq:=TY0921.Out_CVInitializeReq;
TIC0921.CVInitValue:=TY0921.Out_CVInitializationVal;
O_TV0921A:=TY0921.Out_CV1;
O_TV0921B:=TY0921.Out_CV2;
PFO(TY0921);
Process High or Low This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Selector (PHLS)
The Process High or Low Selector (PHLS) instruction selects the highest or
the lowest of up to six incoming controlled variables (CVs). The instruction
sends the selected CV as output and flags the unselected CVs to track the
selected CV.
To avoid problems with ever-decreasing or ever-increasing output, offset the
tracking value by an amount equal to the upstream PID/PIDE gain time’s
error value.
Publication PROCES-RM215A-EN-P - November 2023 303
Chapter 1 PlantPAx
Use the PHLS instruction to implement an Override Select control strategy.
An Override Select strategy provides control of a primary process variable
while allowing other process variables to override the output on the final
control element, which avoids exceeding constraints.
Available Languages
Ladder Diagram
Function Block Diagram
Structured Text
PHLS(PHLSTag);
304 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PHLS P_HIGH_LOW_SELECT tag PHLS structure
PHLS Input Structure
Input Members Data Description
Type
EnableIn BOOL Enable input.
Ladder Diagram:
Corresponds to the rung-condition-in.
Default is true.
Inp_InitializeReq BOOL Use this request when reinitializing.
Default is false.
Inp_1 REAL Input #1. Valid = Any float.
Default is 0.0.
Inp_E1 REAL Loop error from primary #1 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain1 REAL Proportional gain from primary #1 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_2 REAL Input #2. Valid = Any float.
Default is 0.0.
Inp_E2 REAL Loop error from primary #2 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain2 REAL Proportional gain from primary #2 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_3 REAL Input #3. Valid = Any float.
Default is 0.0.
Inp_E3 REAL Loop error from primary #3 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain3 REAL Proportional gain from primary #3 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_4 REAL Input #4. Valid = Any float.
Default is 0.0.
Inp_E4 REAL Loop error from primary #4 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain4 REAL Proportional gain from primary #4 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_5 REAL Input #5. Valid = Any float.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 305
Chapter 1 PlantPAx
Input Members Data Description
Type
Inp_E5 REAL Loop error from primary #5 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain5 REAL Proportional gain from primary #5 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_6 REAL Input #6. Valid = Any float.
Default is 0.0.
Inp_E6 REAL Loop error from primary #6 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_PGain6 REAL Proportional gain from primary #6 (optional, used for offset calculation). Valid = Any float.
Default is 0.0.
Inp_InitializeVal REAL Initialization value from downstream block. Valid = Any float.
Default is 0.0.
Cfg_HiLoSel BOOL Selection: 1 = High - Select, 0 = Low - Select.
Default is false.
Cfg_HasInp1 BOOL 1 = Inp_1 is connected.
Default is true.
Cfg_UseInp1 BOOL 1 = Inp_1 is included in selection (for maintenance use).
Default is true.
Cfg_Inp1Offset BOOL 1 = Offset Inp_1, Offset = Val +/- Inp_PGain1 * Inp_E1.
Default is false.
Cfg_HasInp2 BOOL 1 = Inp_2 is connected.
Default is true.
Cfg_UseInp2 BOOL 1 = Inp_2 is included in selection (for maintenance use).
Default is true.
Cfg_Inp2Offset BOOL 1 = Offset Inp_2, Offset = Val +/- Inp_PGain2 * Inp_E2.
Default is false.
Cfg_HasInp3 BOOL 1 = Inp_3 is connected.
Default is false.
Cfg_UseInp3 BOOL 1 = Inp_3 is included in selection (for maintenance use).
Default is false.
Cfg_Inp3Offset BOOL 1 = Offset Inp_3, Offset = Val +/- Inp_PGain3 * Inp_E3.
Default is false.
Cfg_HasInp4 BOOL 1 = Inp_4 is connected.
Default is false.
Cfg_UseInp4 BOOL 1 = Inp_4 is included in selection (for maintenance use).
Default is false.
Cfg_Inp4Offset BOOL 1 = Offset Inp_4, Offset = Val +/- Inp_PGain4 * Inp_E4.
Default is false.
Cfg_HasInp5 BOOL 1 = Inp_5 is connected.
Default is false.
Cfg_UseInp5 BOOL 1 = Inp_5 is included in selection (for maintenance use).
Default is false.
Cfg_Inp5Offset BOOL 1 = Offset Inp_5, Offset = Val +/- Inp_PGain5 * Inp_E5.
Default is false.
Cfg_HasInp6 BOOL 1 = Inp_6 is connected.
Default is false.
Cfg_UseInp6 BOOL 1 = Inp_6 is included in selection (for maintenance use).
Default is false.
Cfg_Inp6Offset BOOL 1 = Offset Inp_6, Offset = Val +/- Inp_PGain6 * Inp_E6.
Default is false.
306 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Input Members Data Description
Type
Cfg_DecPlcs SINT Number of decimal places for display. Valid = 0 to 6.
Default is 2.
Cfg_HasOutNav BOOL 1 = Tells HMI to enable navigation to a connected output object.
Default is false.
Cfg_HasNav SINT Set bits to indicate which navigation buttons are enabled:
Cfg_HasNav.0 = Inp_1,
Cfg_HasNav.1 = Inp_2,
Cfg_HasNav.2 = Inp_3,
Cfg_HasNav.3 = Inp_4,
Cfg_HasNav.4 = Inp_5,
Cfg_HasNav.5 = Inp_6.
Default is 0.
Cfg_OutLoLim REAL Output low clamping limit. Valid = any float less than or equal to Cfg_OutHiLim.
Default is 0.0.
Cfg_OutHiLim REAL Output high clamping limit. Valid = any float greater than or equal to Cfg_OutLoLim.
Default is 100.0.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Output Members Data Description
Type
EnableOut BOOL This output state always reflects EnableIn input state.
Val REAL Output value (selected minimum or maximum) for downstream block.
Val_Inp1Prev REAL Previous (Feedback) input value for primary #1.
Sts_UseInp1Prev BOOL Request for primary #1 to use feedback Val_Inp1Prev.
Val_Inp2Prev REAL Previous (Feedback) input value for primary #2.
Sts_UseInp2Prev BOOL Request for primary #2 to use feedback Val_Inp2Prev.
Val_Inp3Prev REAL Previous (Feedback) input value for primary #3.
Sts_UseInp3Prev BOOL Request for primary #3 to use feedback Val_Inp3Prev.
Val_Inp4Prev REAL Previous (Feedback) input value for primary #4.
Sts_UseInp4Prev BOOL Request for primary #4 to use feedback Val_Inp4Prev.
Val_Inp5Prev REAL Previous (Feedback) input value for primary #5.
Sts_UseInp5Prev BOOL Request for primary #5 to use feedback Val_Inp5Prev.
Val_Inp6Prev REAL Previous (Feedback) input value for primary #6.
Sts_UseInp6Prev BOOL Request for primary #6 to use feedback Val_Inp6Prev.
Val_Out REAL Output value (selected minimum or maximum Input) for HMI.
Val_Sel DINT Selected input:
0 = Minimum,
1 = Inp_1,
2 = Inp_2,
3 = Inp_3,
4 = Inp_4,
5 = Inp_5,
6 = Inp_6,
7 = Maximum,
8 = Inp_InitializeVal.
Sts_Initialized BOOL 1 = Instruction is initialized.
Sts_MaintByp BOOL 1 = A maintenance bypass is active (display icon on HMI)
Sts_Err BOOL 1 = Error in configuration, check Sts_ErrHas or Sts_ErrLim for reason.
Publication PROCES-RM215A-EN-P - November 2023 307
Chapter 1 PlantPAx
Output Members Data Description
Type
Sts_ErrHas BOOL 1 = Configuration error: must HAVE at least one Input.
Sts_ErrLim BOOL 1 = Configuration error: Cfg_OutHiLim less than or equal to Cfg_OutLoLim.
Alarms
The PHLS instruction does not have any alarms.
Virtualization
The PHLS instruction does not have any virtualization capability.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description - Description of PHLS Tag
• Label for graphic symbol – Label metadata of PHLS tag
• Display Library for HMI Faceplate call-up - Library metadata of PHLS
tag
• Instruction name - Instruction metadata of PHLS tag
• Area name - Area metadata of PHLS tag
• URL link - URL metadata of PHLS tag
• Output Units – Engineering Unit metadata of PHLS member Val_Out
tag
• Input Label Input1 – Description metadata of PHLS member Inp_1 tag
• Input Label Input2 – Description metadata of PHLS member Inp_2 tag
• Input Label Input3 – Description metadata of PHLS member Inp_3 tag
• Input Label Input4 – Description metadata of PHLS member Inp_4 tag
• Input Label Input5 – Description metadata of PHLS member Inp_5 tag
• Input Label Input6 – Description metadata of PHLS member Inp_6 tag
• Input1 EU – Engineering Unit metadata of PHLS member Inp_1 tag
• Input2 EU – Engineering Unit metadata of PHLS member Inp_2 tag
• Input3 EU – Engineering Unit metadata of PHLS member Inp_3 tag
• Input4 EU – Engineering Unit metadata of PHLS member Inp_4 tag
• Input5 EU – Engineering Unit metadata of PHLS member Inp_5 tag
• Input6 EU – Engineering Unit metadata of PHLS member Inp_6 tag
• Allow Navigation Object Tag Name Output - Navigation metadata of
PHLS member Out_Val tag
• Allow Navigation Object Tag Name Input1 - Navigation metadata of
PHLS member Inp_1 tag
308 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Allow Navigation Object Tag Name Input2 - Navigation metadata of
PHLS member Inp_2 tag
• Allow Navigation Object Tag Name Input3 - Navigation metadata of
PHLS member Inp_3 tag
• Allow Navigation Object Tag Name Input4 - Navigation metadata of
PHLS member Inp_4 tag
• Allow Navigation Object Tag Name Input5 - Navigation metadata of
PHLS member Inp_5 tag
• Allow Navigation Object Tag Name Input6 - Navigation metadata of
PHLS member Inp_6 tag
Monitor the PHLS Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run All configurations has input, use input and input offset are cleared.
All previous feedback, loop error, gain values is set to 0.
The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
All configurations has input, use input and input offset are cleared.
All previous feedback, loop error, gain values is set to 0.
The instruction is kept in its last state.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 309
Chapter 1 PlantPAx
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run All configurations has input, use input and input offset are cleared.
All previous feedback, loop error, gain values is set to 0.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
The instruction will hold its last selection state and output value (Val) is not
updated (holds last value).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
The example uses the PHLS instruction to implements part of the pressure
control strategy. In this case, two PIDE instructions are used as inputs. The
PIDE instructions are for Suction Pressure Override Control and Discharge
Pressure Control. The PIDE output values CV (CV to final control element)
and E (Loop Error) are used as inputs to the PHLS instruction.
This example also shows PHLS inputs for Initial Value (Inp_InitializeVal) and
initialization request (Inp_InitializeReq). In this case, the Initial Value is
taken from the speed reference to the pump motor drive. The Initialization
In this example the instruction initialization request flag is set based on the
motor’s running and availability status.
310 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 311
Chapter 1 PlantPAx
Function Block Diagram
Structured text
PIDE(PIDE_01);
PIDE(PIDE_02);
PHLS.Inp_1 := PIDE_01.CV;
PHLS.Inp_E1 := PIDE_01.E;
PHLS.Inp_2 := PIDE_02.CV;
PHLS.Inp_E2 := PIDE_02.E;
PHLS.Inp_InitializeVal := P50_Motor.Val_SpeedRef;
PHLS.Inp_InitializeReq := NOT(P50_Motor.Sts_RunningFwd AND
P50_Motor.Sts_Available);
PHLS(PHLS);
312 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Process Interlocks (PINTLK) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Interlocks (PINTLK) instruction collects, or sums up, the
interlock conditions that stop or de-energize a running or energized piece of
equipment. This instruction can also help prevent equipment from starting or
being energized. Interlocks are always evaluated to de-energize equipment.
For permissive conditions that must be made to start the equipment, but are
ignored once the equipment is running, use the Process Permissive (PPERM)
instruction.
The PINTLK instruction provides:
• Interlock input OK check: Each input is compared with its configured
OK state. If the input is not in its OK state, it raises an interlock
condition unless bypassed.
• Interlock Condition Latching: If the input is configured as latched, the
interlock condition is latched until reset, unless the latch defeat input
is true. If the input is not configured as latched, the interlock condition
clears when the input returns to it’s OK state.
• Interlock Bypass: If the input is configured as able to be bypassed and
interlocks are bypassed, the input does not raise an interlock
condition, even if it is not in its OK state. If the input is configured as
not able to be bypassed or if interlocks are not bypassed, the input
raises an interlock condition. Engineering configures which interlocks
are allowed to be bypassed. Maintenance chooses which inputs to
bypass from the interlocks that are allowed by engineering.
• First Out: If no interlock conditions are raised (OK to run), the first
interlock condition to be raised is marked as the first out. If multiple
interlock conditions are raised in the same scan, they are all marked as
first out.
• Latch Defeat: A latch defeat function reduces the number of operator
actions that are required to start equipment. The latch defeat input is
set when the equipment is not running. When the latch defeat input is
true, the latched configuration of inputs is ignored, and all interlock
conditions clear when their corresponding inputs are in their OK
states. This action saves the operator from having to reset before
starting the equipment. When the equipment starts, the latch defeat
input is turned off. Then, if an interlock condition configured as
latched shuts down the equipment, it remains latched until reset.
• Summary Status: Summarizes its 32 interlock input conditions into
two primary status bits:
• Sts_IntlkOK. Indicates all interlock conditions are clear and ready to
run.
• Sts_NBIntlkOK. Indicates all interlock conditions that cannot be
bypassed are clear and ready to run if interlocks are bypassed.
Publication PROCES-RM215A-EN-P - November 2023 313
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
Function Block Diagram
Structured Text
PINTLK (PINTLK tag, Ref_IntlkBankSts);
314 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx P_INTERLOCK tag Data structure required for proper operation of instruction.
Ref_IntlkBankSts P_INTERLOCK_BANK_STATU tag Reference interlock bank status.
S
P_INTERLOCK Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
Enable Input - System Defined Parameter
BOOL
EnableIn Default is true.
1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
BOOL
clears this operand automatically.
Inp_InitializeReq Default is true.
Interlock condition 00, de-energize if not in configured OK state.
BOOL
Inp_Intlk00 Default is false.
Interlock condition 01, de-energize if not in configured OK state.
BOOL
Inp_Intlk01 Default is false.
Interlock condition 02, de-energize if not in configured OK state.
BOOL
Inp_Intlk02 Default is false.
Interlock condition 03, de-energize if not in configured OK state.
BOOL
Inp_Intlk03 Default is false.
Interlock condition 04, de-energize if not in configured OK state.
BOOL
Inp_Intlk04 Default is false.
Interlock condition 05, de-energize if not in configured OK state.
BOOL
Inp_Intlk05 Default is false.
Interlock condition 06, de-energize if not in configured OK state.
BOOL
Inp_Intlk06 Default is false.
Interlock condition 07, de-energize if not in configured OK state.
BOOL
Inp_Intlk07 Default is false.
Interlock condition 08, de-energize if not in configured OK state.
BOOL
Inp_Intlk08 Default is false.
Interlock condition 09, de-energize if not in configured OK state.
BOOL
Inp_Intlk09 Default is false.
Interlock condition 10, de-energize if not in configured OK state.
BOOL
Inp_Intlk10 Default is false.
Publication PROCES-RM215A-EN-P - November 2023 315
Chapter 1 PlantPAx
Public Input Members Data Type Description
Interlock condition 11, de-energize if not in configured OK state.
BOOL
Inp_Intlk11 Default is false.
Interlock condition 12, de-energize if not in configured OK state.
BOOL
Inp_Intlk12 Default is false.
Interlock condition 13, de-energize if not in configured OK state.
BOOL
Inp_Intlk13 Default is false.
Interlock condition 14, de-energize if not in configured OK state.
BOOL
Inp_Intlk14 Default is false.
Interlock condition 15, de-energize if not in configured OK state.
BOOL
Inp_Intlk15 Default is false.
Interlock condition 16 , de-energize if not in configured OK state.
BOOL
Inp_Intlk16 Default is false.
Interlock condition 17 , de-energize if not in configured OK state.
BOOL
Inp_Intlk17 Default is false.
Interlock condition 18 , de-energize if not in configured OK state.
BOOL
Inp_Intlk18 Default is false.
Interlock condition 19 , de-energize if not in configured OK state.
BOOL
Inp_Intlk19 Default is false.
Interlock condition 20 , de-energize if not in configured OK state.
BOOL
Inp_Intlk20 Default is false.
Interlock condition 21 , de-energize if not in configured OK state.
BOOL
Inp_Intlk21 Default is false.
Interlock condition 22 , de-energize if not in configured OK state.
BOOL
Inp_Intlk22 Default is false.
Interlock condition 23 , de-energize if not in configured OK state.
BOOL
Inp_Intlk23 Default is false.
Interlock condition 24 , de-energize if not in configured OK state.
BOOL
Inp_Intlk24 Default is false.
Interlock condition 25 , de-energize if not in configured OK state.
BOOL
Inp_Intlk25 Default is false.
Interlock condition 26 , de-energize if not in configured OK state.
BOOL
Inp_Intlk26 Default is false.
Interlock condition 27 , de-energize if not in configured OK state.
BOOL
Inp_Intlk27 Default is false.
Interlock condition 28 , de-energize if not in configured OK state.
BOOL
Inp_Intlk28 Default is false.
Interlock condition 29 , de-energize if not in configured OK state.
BOOL
Inp_Intlk29 Default is false.
Interlock condition 30 , de-energize if not in configured OK state.
BOOL
Inp_Intlk30 Default is false.
Interlock condition 31 , de-energize if not in configured OK state.
BOOL
Inp_Intlk31 Default is false.
Input register for IO fault logic.
DINT
Inp_IOFault Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
External availability input.
BOOL
Inp_Available Default is true.
1 = Interlock Bypassing is currently active.
BOOL
Inp_BypActive Default is false.
Set when device is de-energized. 1 =Do not latch inputs, even if configured for
BOOL latching, and do not capture a new first-out.
Inp_LatchDefeat Default is false.
1 = Reset latched interlocks and first-out.
BOOL
Inp_Reset Default is false.
316 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Bits indicate which state (0 or 1) of each input is OK to run.
DINT
Cfg_OKState Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Set bits indicate which conditions are latched (sealed in).
DINT
Cfg_Latched Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Set bits indicate which conditions cause a stop - do not trip.
DINT
Cfg_StopOnly Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Set bits indicate which conditions can be bypassed.
DINT
Cfg_Bypassable Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Set bits indicate which navigation buttons are enabled.
DINT
Cfg_HasNav Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Enumerated type of Interlock 0.
SINT
Cfg_eType00 Default is 6.
Enumerated type of Interlock 1.
SINT
Cfg_eType01 Default is 6.
Enumerated type of Interlock 2.
SINT
Cfg_eType02 Default is 6.
Enumerated type of Interlock 3.
SINT
Cfg_eType03 Default is 6.
Enumerated type of Interlock 4.
SINT
Cfg_eType04 Default is 6.
Enumerated type of Interlock 5.
SINT
Cfg_eType05 Default is 6.
Enumerated type of Interlock 6.
SINT
Cfg_eType06 Default is 6.
Enumerated type of Interlock 7.
SINT
Cfg_eType07 Default is 6.
Enumerated type of Interlock 8.
SINT
Cfg_eType08 Default is 6.
Enumerated type of Interlock 9.
SINT
Cfg_eType09 Default is 6.
Enumerated type of Interlock 10.
SINT
Cfg_eType10 Default is 6.
Enumerated type of Interlock 11.
SINT
Cfg_eType11 Default is 6.
Enumerated type of Interlock 12.
SINT
Cfg_eType12 Default is 6.
Enumerated type of Interlock 13.
SINT
Cfg_eType13 Default is 6.
Enumerated type of Interlock 14.
SINT
Cfg_eType14 Default is 6.
Enumerated type of Interlock 15.
SINT
Cfg_eType15 Default is 6.
Enumerated type of Interlock 16.
SINT
Cfg_eType16 Default is 6.
Enumerated type of Interlock 17.
SINT
Cfg_eType17 Default is 6.
Enumerated type of Interlock 18.
SINT
Cfg_eType18 Default is 6.
Enumerated type of Interlock 19.
SINT
Cfg_eType19 Default is 6.
Enumerated type of Interlock 20.
SINT
Cfg_eType20 Default is 6.
Publication PROCES-RM215A-EN-P - November 2023 317
Chapter 1 PlantPAx
Public Input Members Data Type Description
Enumerated type of Interlock 21.
SINT
Cfg_eType21 Default is 6.
Enumerated type of Interlock 22.
SINT
Cfg_eType22 Default is 6.
Enumerated type of Interlock 23.
SINT
Cfg_eType23 Default is 6.
Enumerated type of Interlock 24.
SINT
Cfg_eType24 Default is 6.
Enumerated type of Interlock 25.
SINT
Cfg_eType25 Default is 6.
Enumerated type of Interlock 26.
SINT
Cfg_eType26 Default is 6.
Enumerated type of Interlock 27.
SINT
Cfg_eType27 Default is 6.
Enumerated type of Interlock 28.
SINT
Cfg_eType28 Default is 6.
Enumerated type of Interlock 29.
SINT
Cfg_eType29 Default is 6.
Enumerated type of Interlock 30.
SINT
Cfg_eType30 Default is 6.
Enumerated type of Interlock 31.
SINT
Cfg_eType31 Default is 6.
Enable selection for types from HMI.
SINT
Cfg_HasType Default is 2#1111_1111.
Interlock type 00 description.
BOOL
Cfg_TypeDesc00 Default is false.
Interlock type 01 description.
BOOL
Cfg_TypeDesc01 Default is false.
Interlock type 02 description.
BOOL
Cfg_TypeDesc02 Default is false.
Interlock type 03 description.
BOOL
Cfg_TypeDesc03 Default is false.
Interlock type 04 description.
BOOL
Cfg_TypeDesc04 Default is false.
Interlock type 05 description.
BOOL
Cfg_TypeDesc05 Default is false.
Interlock type 06 description.
BOOL
Cfg_TypeDesc06 Default is false.
Interlock type 07description.
BOOL
Cfg_TypeDesc07 Default is false.
Bank ID for use with multiple banks (0 to 7).
INT
Cfg_BankID Default is 0.
1 = Tells HMI an object with more information is available.
BOOL
Cfg_HasMoreObj Default is false.
Operator command confirmation required. Represents the type of command
SINT
confirmation required. 0 = None, 1 = Command confirmation required, 2 = Performer
e-signature required, 3 = Performer and approver e-signature required.
Cfg_CnfrmReqd Default is 0.
Program command to reset latched interlocks.
BOOL
PCmd_Reset Default is false.
318 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type Description
EnableOut BOOL Enable Output - System Defined Parameter
Out_Reset BOOL 1 = Reset external devices.
Val_FirstUpBankID INT Bank ID number of first up interlock.
Val_FirstUpIndex INT Index number of first up interlock.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_IntlkOK BOOL 1 = OK to run, 0 = Stop.
Sts_NBIntlkOK BOOL 1 = All non-bypassable interlocks OK to run.
Sts_Available BOOL 1 = Available.
Sts_IntlkTripInh BOOL 1 = Interlock trip inhibit - stops equipment but does not trip.
Sts_BypActive BOOL 1 = Interlock bypassing is active (ignore bypassable interlocks).
Sts_FirstUpDetect BOOL 1 = First up interlock detected.
Sts_BankIDError BOOL 1 = Error in bank ID's, each bank ID must be unique.
Sts_LatchDefeat BOOL 1 = Do not latch inputs even if configured for latching.
Sts_RdyReset BOOL 1 = A latched interlock (returned to OK) is ready to be reset.
Sts_LatchMask DINT Latch mask- always latch based on type.
Sts_BypassMask DINT Bypass mask- bypass based on type.
Sts_Intlk DINT Individual interlock status (1 = stop, 0 = OK).
Sts_FirstOut DINT Interlock first out status (bit 1 is first not-OK condition).
Private Input Members Data Type Description
HMI_Tab SINT Tab to display (FTView ME).
Default is 0.
MSet_Bypass DINT Individual condition maintenance bypass toggles.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
OCmd_Reset BOOL Operator command to reset latched interlocks.
Default is false.
Private Output Members Data Type Description
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
Val_BankMap DINT Map of interlock banks detected.
Val_BankSts DINT Map of interlock banks statuses.
P_INTERLOCK_BANK_STATUS Structure
Members Data Type Description
Val_FirstUpIndex INT Index number of first up interlock.
Val_FirstUpBankID INT Bank ID number of first up interlock.
Val_BankMap DINT Map of interlock banks detected.
Val_BankSts DINT Map of interlock banks statuses.
Inp_Reset BOOL 1 = Reset trip and first up.
Inp_BypActive BOOL 1 = Interlock bypassing is currently active.
Inp_LatchDefeat BOOL 1 = Do not latch.
Inp_Available BOOL 1 = Available from preceding equipment.
Sts_BankIDError BOOL 1 = Duplicate or invalid bank ID.
Publication PROCES-RM215A-EN-P - November 2023 319
Chapter 1 PlantPAx
Members Data Type Description
Sts_IntlkOK BOOL Interlocks bypassable interlock status (1 = all interlocks OK to energize).
Sts_NBIntlkOK BOOL Interlocks non-bypassable interlock status (1=all non-bypassable interlocks OK to
energize).
Sts_IntlkTripInh BOOL 1 = Interlock trip inhibit – stops equipment but does not trip.
Sts_Available BOOL Availability status.(1 = Available).
Sts_FirstUpDetect BOOL 1=First up interlock detected.
Sts_RdyReset BOOL 1=A latched interlock (returned to OK) is ready to be reset.
Sts_PrevIntlkOK BOOL Previous interlocks bypassable interlock status (1 = all interlocks OK to energize).
Sts_PrevNBIntlkOK BOOL Previous interlocks non-bypassable interlock status (1 = all non-bypassable interlocks
OK to energize).
Operation
This diagram illustrates the functionality of the PINTLK instruction:
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Input Conditional Text
320 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Navigation Path
• Interlock Type
• More Information
Monitor the PINTLK Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
If this instruction is off-scan, then set the summary interlock OK status bits
to false.
Only set individual interlock bypasses for conditions that are configured for
bypassing. All the MSets for inputs that are NOT bypassable will be cleared.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 321
Chapter 1 PlantPAx
Condition/State Action Taken
EnableIn is false EnableOut is cleared to false.
If this instruction is off-scan, then set the summary interlock OK status bits
to false.
Only set individual interlock bypasses for conditions that are configured for
bypassing. All the MSets for inputs that are NOT bypassable will be cleared.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
This example uses the PINTLK instruction to concentrate the interlock
conditions that allow the functioning of the refiner plates that are used for
grinding wood as part of the pulp manufacturing process.
322 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 323
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
P182_Motor_INTLK.Inp_BypActive := P182_Motor.Sts_BypActive;
P182_Motor_INTLK.Inp_Intlk00 := Zone_1_Light_Curtain;
P182_Motor_INTLK.Inp_Intlk01 := Coolant_Pressure_OK;
PINTLK(P182_Motor_INTLK, 0);
P182_Motor.Inp_IntlkOK := P182_Motor_INTLK.Sts_IntlkOK;
P182_Motor.Inp_NBIntlkOK := P182_Motor_INTLK.Sts_NBIntlkOK;
PMTR(P182_Motor,P182_CtrlSet,P182_CtrlCmd,P182_CtrlSts, 0, 0);
Process Lead Lag Standby This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Motor Group (PLLS)
The Process Lead Lag Standby Motor Group (PLLS) instruction provides
control of a parallel group of motors, such as a set of pumps with a common
intake source and discharge destination. The number of motors to run
depends on the demand on the system. The group can be configured to
consist of as few as two or as many as 30 motors. The minimum demand can
be set as low as 0, so that all motors are stopped at minimum demand. The
maximum demand can be set as high as the number of pumps in the group.
324 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Use the PLLS instruction to:
• Control and monitor a group of 2 to 30 motors.
• Start and stop a group using Operator, Program, and Override
capability.
• Allow the Operator or Program to enter a demand (the number of
motors to run).
• Configure maximum demand (1 to number of motors in group).
• Configure minimum demand (0 to maximum demand).
• Configure stopping the last started motor or the first started motor
(first-on-last-off or last-on-last-off).
• Configure delay between starts and configure delay between stops.
• Use start and stop commands to start or stop the motors as a group.
The delay between starts or stops can be configured to sequence the
motors.
• Start or stop motors as required to meet the entered demand.
• Identify (and optionally alarm) when there are not enough motors
available to start (in Program Mode and ready to run) to meet the given
demand.
• Identify (and optionally alarm) when there are not enough motors
available to stop (in Program Mode and ready to stop) to meet the
given demand.
• Ability to rotate the list of motors (demote the lead, promote the
others).
• Monitor Permissive conditions to allow starting the motor group.
• Monitor Interlock conditions to stop or prevent starting the motor
group.
• Alarm if interlock conditions cause the group to be stopped.
• Use HMI breadcrumbs for Alarm Inhibited, Bad Configuration, Not
Ready, and Maintenance Bypass Active.
• Use Available status in automation logic to determine whether the
motor group can be controlled by other objects.
Publication PROCES-RM215A-EN-P - November 2023 325
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
Function Block Diagram
326 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
PLLS (PLLS tag, Ref_Motors tag, BusObj tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
This table describes the PLLS configuration operands.
Operand Type Format Description
PlantPAx Control P_LEAD_LAG_STANDBY tag Data structure required for proper operation of instruction.
Ref_Motors P_LEAD_LAG_STANDBY_MOTOR tag Motor interface array.
BusObj BUS_OBJ tag Bus component.
P_LEAD_LAG_STANDBY Structure
Use InOut parameters to link the instruction to external tags that contain
necessary data for the instruction to operate. These external tags must be of
the data type shown.
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input. Ladder Diagram. Corresponds to the
rung-condition-in.
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 327
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command. 0 = None,
Inp_OwnerCmd.10 = Operator Lock,
Inp_OwnerCmd.11 = Operator Unlock,
Inp_OwnerCmd.12 = Program Lock,
Inp_OwnerCmd.13 = Program Unlock,
Inp_OwnerCmd.14 = Acquire Maintenance,
Inp_OwnerCmd.15 = Release Maintenance,
Inp_OwnerCmd.16 = Acquire External,
Inp_OwnerCmd.17 = Release External.
Default is 0.
Inp_PermOK BOOL Visible Not Required Input 1 = Start permissives OK, group can start.
Default is true.
Inp_NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable start permissives OK, group
can start.
Default is true.
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks OK, group can start/run.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks OK, group can
start/run.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock availability OK.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit interlock trip status.
Default is false.
Inp_RdyReset BOOL Visible Not Required Input 1 = Related object, reset by this object, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Inp_OvrdDemand DINT Visible Not Required Input Override Mode setting for number of motors to run
(MinDemand..MaxDemand).
Default is 0.
Inp_OvrdCmd DINT Visible Not Required Input Override Mode Command: 0 = None, 1 = Stop Group,
2 = Start Group, 3 = Rotate Assignments.
Default is 0.
Inp_ExtInh BOOL Visible Not Required Input Control / command source selection.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset all fault conditions and latched alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow operator to shelve alarms.
Default is true.
Cfg_NumMotors DINT Not Visible Not Required Input Number of motors in this Lead / Lag / Standby
Group. Valid = 2 to 30.
Default is 3.
Cfg_MaxDemand DINT Not Visible Not Required Input Maximum number of motors to run. Valid = 1 to
Cfg_NumMotors.
Default is 2.
328 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_MinDemand DINT Not Visible Not Required Input Minimum number of motors to run. Valid = 0 to
Cfg_MaxDemand.
Default is 0.
Cfg_StartDly REAL Not Visible Not Required Input Time (seconds) after start or stop until next start is
allowed (0..2M seconds). Valid = 0.0 to 2147483.0.
Default is 10.0.
Cfg_StopDly REAL Not Visible Not Required Input Time (seconds) after start or stop until next stop is
allowed (0..2M seconds). Valid = 0.0 to 2147483.0.
Default is 10.0.
Cfg_FirstOnFirstOff BOOL Not Visible Not Required Input 1 = First started is first stopped, 0 = First started is
last stopped.
Default is false.
Cfg_AllowRotate BOOL Not Visible Not Required Input 1 = Allow rotate (cycle lead) command to rotate
motor assignments.
Default is true.
Cfg_RotateOnStop BOOL Not Visible Not Required Input 1 = Rotate (cycle lead to end of list) upon stopping
all motors.
Default is true.
Cfg_HasPermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to permissive
inputs.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to interlock
inputs.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available.
Default is false.
Cfg_HasNav01 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #1.
Default is false.
Cfg_HasNav02 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #2.
Default is false.
Cfg_HasNav03 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #3.
Default is false.
Cfg_HasNav04 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #4.
Default is false.
Cfg_HasNav05 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #5.
Default is false.
Cfg_HasNav06 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #6.
Default is false.
Cfg_HasNav07 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #7.
Default is false.
Cfg_HasNav08 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #8.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 329
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasNav09 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #9.
Default is false.
Cfg_HasNav10 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #10.
Default is false.
Cfg_HasNav11 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #11.
Default is false.
Cfg_HasNav12 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #12.
Default is false.
Cfg_HasNav13 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #13.
Default is false.
Cfg_HasNav14 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #14.
Default is false.
Cfg_HasNav15 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #15.
Default is false.
Cfg_HasNav16 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #16.
Default is false.
Cfg_HasNav17 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #17.
Default is false.
Cfg_HasNav18 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #18.
Default is false.
Cfg_HasNav19 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #19.
Default is false.
Cfg_HasNav20 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #20.
Default is false.
Cfg_HasNav21 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #21.
Default is false.
Cfg_HasNav22 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #22.
Default is false.
Cfg_HasNav23 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #23.
Default is false.
Cfg_HasNav24 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #24.
Default is false.
Cfg_HasNav25 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #25.
Default is false.
330 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasNav26 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #26.
Default is false.
Cfg_HasNav27 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #27.
Default is false.
Cfg_HasNav28 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #28.
Default is false.
Cfg_HasNav29 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #29.
Default is false.
Cfg_HasNav30 BOOL Not Visible Not Required Input 1 = enable a button on the HMI that is used to call
up the faceplate for motor #30.
Default is false.
Cfg_SetTrack BOOL Not Visible Not Required Input 1 = When the owner is program the operator
settings track the program settings. When the
owner is operator the program settings track the
operator settings, and the virtual inputs match the
output values (transitions are bumpless), 0 = No
tracking.
Default is false.
Cfg_SetTrackOvrdHand BOOL Not Visible Not Required Input 1 = program/operator settings track override/hand
speed reference.
Default is false.
Cfg_OperStopPrio BOOL Not Visible Not Required Input 1 = OCmd_Stop any time, 0 = OCmd_Stop only when
operator selected.
Default is false.
Cfg_ExtStopPrio BOOL Not Visible Not Required Input 1 = XCmd_Stop any time, 0 = XCmd_Stop only when
external selected.
Default is false.
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = New group OCmd resets shed latches and
cleared alarms, 0 = OCmdReset required.
Default is false.
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = New group XCmd resets shed latches and
cleared alarms, 0 = OCmdReset required.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores bypassable
permissives/interlocks, 0 = Always use
permissives/interlocks.
Default is false.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator command confirmation required.
Represents the type of command confirmation
required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PSet_Demand DINT Not Visible Not Required Input Program setting for number of motors to run
(MinDemand...MaxDemand).
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 331
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release
(zero).
Default is 0.
XSet_Demand DINT Not Visible Not Required Input External setting for number of motors to run
(MinDemand...MaxDemand).
Default is 0.
PCmd_Start BOOL Not Visible Not Required Input Program command to start motor group.
Default is false.
PCmd_Stop BOOL Not Visible Not Required Input Program command to stop motor group.
Default is false.
PCmd_Rotate BOOL Not Visible Not Required Input Program command to rotate assignments (cycle
lead to end of list).
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms requiring
reset.
Default is false.
XCmd_Start BOOL Not Visible Not Required Input External command to start motor group.
Default is false.
XCmd_Stop BOOL Not Visible Not Required Input External command to stop motor group.
Default is false.
XCmd_Rotate BOOL Not Visible Not Required Input External command to rotate assignments (cycle
lead to end of list).
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to reset all alarms requiring
reset. The instruction clears this operand
automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all
alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Cfg_HasOper BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
332 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasExt BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input Control / command source selection.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input Control / command source selection.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output. This output state always reflects
EnableIn input state.
Val_Demand DINT Visible Not Required Output Number of motors requested to run.
Val_RotateRank DINT Not Visible Not Required Output Motor rank (0 = Lead, etc.) which will be demoted
on rotate.
Val_RotateID DINT Not Visible Not Required Output Motor number which will be demoted on rotate.
Sts_eCmd SINT Not Visible Not Required Output Group command 0 = None, 1 = Stop, 2 = Start.
Sts_Fdbk SINT Not Visible Not Required Output Group Feedback 0...31 = Number of motors
actually running.
Sts_eSts INT Not Visible Not Required Output Group confirmed status: 0 = ?,
1 = Stopped,
2 = Running,
3 = Stopping,
4 = Decreasing,
5 = Increasing.
Sts_eFault INT Not Visible Not Required Output Group fault status:
0 = None,
1 = Configuration error,
12 = Fail to start,
13 = Fail to stop.
Publication PROCES-RM215A-EN-P - November 2023 333
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyAll SINT Not Visible Not Required Output Highest alarm priority and acknowledge status
this object + motors (enumeration).
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. Use Inp_InitializeReq
to reinitialize.
Sts_Stopped BOOL Visible Not Required Output 1 = Motor group requested to stop and all motors
confirmed stopped.
Sts_Running BOOL Visible Not Required Output 1 = Motor group requested to run.
Sts_Stopping BOOL Visible Not Required Output 1 = Motor group requested to stop and not all
motors confirmed stopped.
Sts_Incr BOOL Visible Not Required Output 1 = Group is starting motors in sequence to get up
to demand.
Sts_Decr BOOL Visible Not Required Output 1 = Group is stopping motors in sequence to get
down to demand.
Sts_Available BOOL Not Visible Not Required Output 1 = Group available for control by automation
(program).
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Device can be acquired by program and is
available for start/stop control when interlocks
are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks and permissives are
bypassed.
Sts_BypActive BOOL Not Visible Not Required Output 1 = Interlock bypassing active (bypassed or
maintenance).
Sts_NotRdy BOOL Not Visible Not Required Output 1 = Group is not ready, for HMI use hidden detail
bits (Sts_Nrdyxxx) for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Group is not ready: Configuration error.
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Group is not ready: Interlock not OK.
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Group is not ready: Group is out of service.
Sts_NrdyPrioStop BOOL Not Visible Not Required Output 1 = Group is not ready: Operator/external priority
stop requires reset.
Sts_NrdyPerm BOOL Not Visible Not Required Output 1 = Group is not ready: Permissive not OK.
Sts_MaintByp BOOL Not Visible Not Required Output 1 = A maintenance bypass function is active.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = One or more alarms shelved, disabled, or
suppressed.
Sts_Err BOOL Visible Not Required Output 1 = Error in configuration: See detail bits
(Sts_Errxxx) for reason.
Sts_ErrStartDly BOOL Not Visible Not Required Output 1 = Error in configuration: Start check timer preset
(use 0.0 to 2147483.0).
Sts_ErrStopDly BOOL Not Visible Not Required Output 1 = Error in configuration: Stop check timer preset
(use 0.0 to 2147483.0).
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in configuration: Alarm throttle time or
severity.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = not owned).
Sts_MotorAvailable DINT Not Visible Not Required Output Set bits indicate which motors are available for
program control.
Sts_MotorStopped DINT Not Visible Not Required Output Set bits indicate which motors are confirmed
stopped.
Sts_MotorStarting DINT Not Visible Not Required Output Set bits indicate which motors are starting.
Sts_MotorRunning DINT Not Visible Not Required Output Set bits indicate which motors are confirmed
running.
334 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_MotorStopping DINT Not Visible Not Required Output Set bits indicate which motors are confirmed
stopped.
Sts_Hand BOOL Visible Not Required Output Control / command source selection.
Sts_OoS BOOL Visible Not Required Output Control / command source selection.
Sts_Maint BOOL Visible Not Required Output Control / command source selection.
Sts_Ovrd BOOL Visible Not Required Output Control / command source selection.
Sts_Ext BOOL Visible Not Required Output Control / command source selection.
Sts_Prog BOOL Visible Not Required Output Control / command source selection.
Sts_ProgLocked BOOL Not Visible Not Required Output Control / command source selection.
Sts_Oper BOOL Visible Not Required Output Control / command source selection.
Sts_OperLocked BOOL Not Visible Not Required Output Control / command source selection.
Sts_Normal BOOL Not Visible Not Required Output Control / command source selection.
Sts_ExtReqInh BOOL Not Visible Not Required Output Control / command source selection.
Sts_ProgReqInh BOOL Not Visible Not Required Output Control / command source selection.
Sts_MAcqRcvd BOOL Not Visible Not Required Output Control / command source selection.
Sts_CantStart BOOL Not Visible Not Required Output 1 = Motor failed to start (one-shot).
Sts_CantStop BOOL Not Visible Not Required Output 1 = Motor failed to stop.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Group stopped by an interlock NOT OK
(one-shot).
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status. 0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Program,
.30 = Not Ready.
Publication PROCES-RM215A-EN-P - November 2023 335
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eSrc INT Not Visible Not Required Output The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_bSrc INT Not Visible Not Required Output Control / command source selection.
Sts_ProgOperSel BOOL Not Visible Not Required Output Control / command source selection.
Sts_ProgOperLock BOOL Visible Not Required Output Control / command source selection.
XRdy_Acq BOOL Not Visible Not Required Output Control / command source selection.
XRdy_Rel BOOL Not Visible Not Required Output Control / command source selection.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable HMI
button.
XRdy_Stop BOOL Not Visible Not Required Output 1 = Ready for XCmd_Stop, enable HMI button.
XRdy_Start BOOL Not Visible Not Required Output 1 = Ready for XCmd_Start, enable HMI button.
XRdy_Rotate BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rotate, enable HMI button.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOUR Control or Command Source Selection.
CE
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks and permissives.
Default is false.
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks and permissives.
Default is false.
MCmd_IS BOOL Maintenance command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Rel BOOL Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
MSet_MotorOoS DINT Set bits indicate which motors have been taken out of service by maintenance.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
OCmd_CmdCncl BOOL Operator command to cancel command request. The instruction clears this operand
automatically.
Default is false.
336 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Normal BOOL Operator command to select Normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms requiring reset.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset all alarms and latched shed conditions.
Default is false.
OCmd_ResetPrefs BOOL Operator command to reset all motor preferences to 0.
Default is false.
OCmd_Rotate BOOL Operator command to rotate assignments (cycle lead to end of list).
Default is false.
OCmd_SetPrefs BOOL Operator command to set motor preferences.
Default is false.
OCmd_Start BOOL Operator command to start motor group.
Default is false.
OCmd_Stop BOOL Operator command to stop motor group.
Default is false.
OCmd_Unlock BOOL Operator command to unlock / release (allow Program to acquire) ownership. The
instruction clears this operand automatically.
Default is false.
OSet_Demand DINT Operator setting for number of motors to run (MinDemand.. MaxDemand).
Default is 0.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index.
Default is 0.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass (enables HMI button).
MRdy_Check BOOL 1 = Ready for MCmd_Check (enables HMI button).
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
ORdy_Demand BOOL 1 = Ready for OSet_Demand (enables numeric entry).
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset (enables HMI button).
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll (enables HMI button).
ORdy_Rotate BOOL 1 = Ready for OCmd_Rotate (enables HMI button).
ORdy_Start BOOL 1 = Ready for OCmd_Start (enables HMI button).
ORdy_Stop BOOL 1 = Ready for OCmd_Stop (enables HMI button).
Publication PROCES-RM215A-EN-P - November 2023 337
Chapter 1 PlantPAx
Private Output Members Data Type Description
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Sts_bStsList SINT[32] Rank list of motor status:
[0]=lead,
[1]=lag, etc.;
.0 = Avaiable,
.1 = Stopped,
.2 = Starting,
.3 = Running,
.4 = Stopping,
.5 = Out of Service (Maint).
Sts_eNotify SINT Current alarm level and acknowledgement (enumeration).
Sts_eNotifyCantStart SINT Current alarm level and acknowledgement (enumeration).
Sts_eNotifyCantStop SINT Current alarm level and acknowledgement (enumeration).
Sts_eNotifyIntlkTrip SINT Current alarm level and acknowledgement (enumeration).
Val_PrefList SINT[32] Rank list of motor preferences: [0] = lead, [1] = lag, etc...
Val_PrioList SINT[32] Rank list of motor priorities: [0] = lead, [1] = lag, etc...
Val_RankList SINT[32] Rank list of motor numbers: [0] = lead, [1] = lag, etc...
Val_UsrList INT[32] Rank list of user sort criteria: [0] = lead, [1] = lag, etc...
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Ref_Motors P_LEAD_LAG_STAN Visible Required InOut Motor interface array (link to 2 to 30 motors).
DBY_MOTOR[30]
BusObj BUS_OBJ Visible Optional InOut Bus component.
Alarms
Discrete tag-based alarms are defined for these members.
Member Alarm Name Description
Sts_CantStart Alm_CantStart Motor can’t start alarm.
Raised when there are not enough motors available to start to satisfy the entered demand. Too many
motors are faulted or stopped in a mode other than program.
Sts_CantStop Alm_CantStop Motor can’t stop alarm.
Raised when there are not enough motors available to stop to satisfy the entered demand. Too many
motors are running in a mode other than program.
Sts_IntlkTrip Alm_IntlkTrip Interlock Trip alarm.
Raised when the motor is running and an interlock not-OK condition causes the motor to stop.
If interlocks are not bypassed, a bypassable interlock or a non-bypassable interlock not-OK
condition initiates an interlock trip. If interlocks are bypassed, only a non-bypassable interlock
not-OK condition initiates an interlock trip.
Mark an alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Use this format to access alarm elements:
[email protected] There are Program commands for each Alarm that are available to
Acknowledge, Suppress, Unsupress and Unshelve the Alarm. These
338 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
commands are propagated to corresponding commands (ProgAck,
ProgSuppress, ProgUnsupress, ProgUnshelve) of the tag-based alarm.
There are Program, Operator, and External commands available that
Acknowledge, Reset, Suppress and Unsuppress all alarms of the instruction
(Alarm Set) at the same time.
Publication PROCES-RM215A-EN-P - November 2023 339
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PLLS instruction:
Configuration of Strings for HMI
Configure strings for HMI faceplates (FactoryTalk View) and for the Logix
Designer configuration dialog box. The strings are set to extended properties
of tag items.
340 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
Implementation
An operator or other logic determines the demand for motors. The PLLS
instruction determines which motors to run to meet demand. For the PLLS
instruction to start and stop motors in the group, they must be available. A
motor is available when it has no faults and is in Program Mode.
The PLLS instruction uses a sorting algorithm to deal with motors that are not
available. If a motor is running and not available (perhaps running in
Operator Mode), the motor is forced to the top of the sort. If a motor is
stopped and not available (perhaps faulted), the motor is forced to the bottom
of the sort. The motors that are available to start and stop are controlled to
meet the demand. If the demand cannot be met because of unavailable
motors, a status/alarm is provided.
The PLLS instruction uses an array of structures of the type
P_LEAD_LAG_STANDBY_Motor to interface to the motors. Each interface
element in the array provides the signals that are required between the PLLS
instruction and one motor. Configuration data for the motor is also provided
in the array. This data includes Priority and Preference values that can be used
to affect the sorting of the motors. A Maintenance out of service flag that
removes a motor from consideration in the sort is also included. The interface
also includes a user sort value that can be used, for example, to push motors
up or down the sort based on accumulated runtime or other criteria.
P_LEAD_LAG_STANDBY_MOTOR Array Member Content
This table describes the array members.
Members Data Type Description
Inp_OtherSel DINT Other motor selection criteria (0...255) (input to PLLS).
Inp_Demote BOOL Demote this motor to bottom of list (for example, on high runtime) (input to
PLLS).
Cfg_Prio DINT Motor priority in list (0...31 -- if unused, set to 0).
OSet_Pref DINT Operator setting for motor preference in list (0 to 31), all else being equal.
PCmd_Start BOOL Program Command to start motor (output from PLLS).
PCmd_Stop BOOL Program Command to stop motor (output from PLLS).
PCmd_Lock BOOL Command to acquire and lock motor in Program (output from PLLS).
PCmd_Unlock BOOL Command to unlock motor from Program (output from PLLS).
Publication PROCES-RM215A-EN-P - November 2023 341
Chapter 1 PlantPAx
Members Data Type Description
Sts_Available BOOL Motor is in Program mode and ready to operate (input to PLLS).
Sts_Stopped BOOL Motor is currently confirmed stopped (input to PLLS).
Sts_Starting BOOL Motor is currently starting (input to PLLS).
Sts_Running BOOL Motor is currently confirmed running (input to PLLS).
Sts_Stopping BOOL Motor is currently stopping (input to PLLS).
Val_Pref DINT This motor’s current preference in list (1 = Lead, 2 = Lag, …).
Val_Rank DINT This motor’s current rank in list (1 = Lead, 2 = Lag, …)
This image shows the relationship between the PLLS instruction,
Ref_Motors(interface), and the PMTR instruction.
These images show an example of the ladder logic for transferring commands
and motor status for one motor.
The process for forwarding each of the commands (PCmd_Lock,
PCmd_Unlock, PCmd_Start, and PCmd_Stop) is:
• Test the appropriate bit in the interface to see if it is set.
342 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• If the bit is set, the bit is cleared and the corresponding program
command on the motor is set.
• Execute the PLLS to select which motors to run.
• Next, the motor logic is executed. The motor logic uses the program
commands to control the physical motor. The motor logic also receives
feedback from the motor.
Publication PROCES-RM215A-EN-P - November 2023 343
Chapter 1 PlantPAx
• The status (available, stopped, starting, running, and stopping) is read
from the motor and written to the interface.
Monitor the PLLS Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Rung-condition-in is false Handled the same as if the group is disabled by command. The motor
outputs are de-energized, and the group is shown as disabled on the HMI.
The mode is shown as No mode. All alarms are cleared.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
344 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the group is disabled by command. The motor
outputs are de-energized, and the group is shown as disabled on the HMI.
The mode is shown as No mode. All alarms are cleared.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Example
This example shows a PLLS instruction being used to control three process
motors.
Publication PROCES-RM215A-EN-P - November 2023 345
Chapter 1 PlantPAx
Ladder Diagram
346 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Publication PROCES-RM215A-EN-P - November 2023 347
Chapter 1 PlantPAx
348 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
The PLLS instruction requires four function block diagram routines to
execute properly:
• PLLS_FBD_1_Motors routine
• PLLS_FBD_2_PLLS
• PLLS_FBD_3_ForwardCmds
• PLLS_FBD_4_ClearCmds
Publication PROCES-RM215A-EN-P - November 2023 349
Chapter 1 PlantPAx
PLLS_FBD_1_Motors routine:
350 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PLLS_FBD_2_PLLS routine:
Publication PROCES-RM215A-EN-P - November 2023 351
Chapter 1 PlantPAx
PLLS_FBD_3_ForwardCmds routine:
352 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PLLS_FBD_4_ClearCmds routine:
Structured Text
/* First, execute the individual motors */
/* Execute the Motor 01 logic: get run feedback input, execute PMTR, send
output to starter */
MyNG_PLLS_Motor01.Inp_1RunFdbkData := Motor01_RunFdbk;
PMTR (MyNG_PLLS_Motor01, 0, 0, 0, 0, 0);
Motor01_Starter := MyNG_PLLS_Motor01.Out_Run1Data;
/* Execute the Motor 02 logic: get run feedback input, execute PMTR, send
output to starter */
MyNG_PLLS_Motor02.Inp_1RunFdbkData := Motor02_RunFdbk;
PMTR (MyNG_PLLS_Motor02, 0, 0, 0, 0, 0);
Publication PROCES-RM215A-EN-P - November 2023 353
Chapter 1 PlantPAx
Motor02_Starter := MyNG_PLLS_Motor02.Out_Run1Data;
/* Execute the Motor 03 logic: get run feedback input, execute PMTR, send
output to starter */
MyNG_PLLS_Motor03.Inp_1RunFdbkData := Motor03_RunFdbk;
PMTR (MyNG_PLLS_Motor03, 0, 0, 0, 0, 0);
Motor03_Starter := MyNG_PLLS_Motor03.Out_Run1Data;
/* Copy the Motor 01 Status to the PLLS array [0] */
MyNG_PLLS_Motors[0].Sts_Available := MyNG_PLLS_Motor01.Sts_Available;
MyNG_PLLS_Motors[0].Sts_Stopped := MyNG_PLLS_Motor01.Sts_Stopped;
MyNG_PLLS_Motors[0].Sts_Starting := MyNG_PLLS_Motor01.Sts_Starting1;
MyNG_PLLS_Motors[0].Sts_Running := MyNG_PLLS_Motor01.Sts_Running1;
MyNG_PLLS_Motors[0].Sts_Stopping := MyNG_PLLS_Motor01.Sts_Stopping;
/* Copy the Motor 02 Status to the PLLS array [1] */
MyNG_PLLS_Motors[1].Sts_Available := MyNG_PLLS_Motor02.Sts_Available;
MyNG_PLLS_Motors[1].Sts_Stopped := MyNG_PLLS_Motor02.Sts_Stopped;
MyNG_PLLS_Motors[1].Sts_Starting := MyNG_PLLS_Motor02.Sts_Starting1;
MyNG_PLLS_Motors[1].Sts_Running := MyNG_PLLS_Motor02.Sts_Running1;
MyNG_PLLS_Motors[1].Sts_Stopping := MyNG_PLLS_Motor02.Sts_Stopping;
/* Copy the Motor 03 Status to the PLLS array [2] */
MyNG_PLLS_Motors[2].Sts_Available := MyNG_PLLS_Motor03.Sts_Available;
MyNG_PLLS_Motors[2].Sts_Stopped := MyNG_PLLS_Motor03.Sts_Stopped;
MyNG_PLLS_Motors[2].Sts_Starting := MyNG_PLLS_Motor03.Sts_Starting1;
MyNG_PLLS_Motors[2].Sts_Running := MyNG_PLLS_Motor03.Sts_Running1;
MyNG_PLLS_Motors[2].Sts_Stopping := MyNG_PLLS_Motor03.Sts_Stopping;
/* Now execute the Lead / Lag / Standby instruction */
PLLS (MyNG_PLLS, MyNG_PLLS_Motors, 0);
354 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
/* Now take the commands coming out of PLLS and forward them to the
PMTR instances */
/* Program commands to Motor 01: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[0].PCmd_Lock)
then
MyNG_PLLS_Motors[0].PCmd_Lock := 0;
MyNG_PLLS_Motor01.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[0].PCmd_Unlock)
then
MyNG_PLLS_Motors[0].PCmd_Unlock := 0;
MyNG_PLLS_Motor01.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[0].PCmd_Start)
then
MyNG_PLLS_Motors[0].PCmd_Start := 0;
MyNG_PLLS_Motor01.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[0].PCmd_Stop)
then
MyNG_PLLS_Motors[0].PCmd_Stop := 0;
MyNG_PLLS_Motor01.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 02: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[1].PCmd_Lock)
Publication PROCES-RM215A-EN-P - November 2023 355
Chapter 1 PlantPAx
then
MyNG_PLLS_Motors[1].PCmd_Lock := 0;
MyNG_PLLS_Motor02.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[1].PCmd_Unlock)
then
MyNG_PLLS_Motors[1].PCmd_Unlock := 0;
MyNG_PLLS_Motor02.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[1].PCmd_Start)
then
MyNG_PLLS_Motors[1].PCmd_Start := 0;
MyNG_PLLS_Motor02.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[1].PCmd_Stop)
then
MyNG_PLLS_Motors[1].PCmd_Stop := 0;
MyNG_PLLS_Motor02.PCmd_Stop := 1;
end_if;
/* Program commands to Motor 03: */
/* Forward the Program Lock command: */
if (MyNG_PLLS_Motors[2].PCmd_Lock)
then
MyNG_PLLS_Motors[2].PCmd_Lock := 0;
MyNG_PLLS_Motor03.PCmd_Lock := 1;
end_if;
/* Forward the Program Unlock command: */
if (MyNG_PLLS_Motors[2].PCmd_Unlock)
356 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
then
MyNG_PLLS_Motors[2].PCmd_Unlock := 0;
MyNG_PLLS_Motor03.PCmd_Unlock := 1;
end_if;
/* Forward the Program Start command: */
if (MyNG_PLLS_Motors[2].PCmd_Start)
then
MyNG_PLLS_Motors[2].PCmd_Start := 0;
MyNG_PLLS_Motor03.PCmd_Start1 := 1;
end_if;
/* Forward the Program Stop command: */
if (MyNG_PLLS_Motors[2].PCmd_Stop)
then
MyNG_PLLS_Motors[2].PCmd_Stop := 0;
MyNG_PLLS_Motor03.PCmd_Stop := 1;
end_if;
See also
Motor Sort Algorithm for Process Lead Lag Standby Motor Group
(PLLS) instructions on page 357
PLLS Motor Sort Algorithm To determine the order in which the motors (pumps) are started when using a
Process Lead Lag Standby Motor Group (PLLS) instruction, signed integer bit
patterns for each motor are sorted by numeric value. During sorting, bit
patterns are evaluated in this order:
• Out of service bit
• Status value
• Priority value
• User-input value
• Preference value
• Current position value
Publication PROCES-RM215A-EN-P - November 2023 357
Chapter 1 PlantPAx
Out of Service (Bit 31)
This bit is used to flag the motor out of service (value = 1) and automatically
send it to the bottom of the list. If this bit = 0, the motor is free to operate and
bits 5…30 determine its start order.
If multiple motors are out of service, bits 5…30 determine their position at the
bottom of the list.
Out of service motors are not commanded and are not counted as running
even if actually running.
Status Value (Bits 30…28)
The status of the motor determines the value of these bits:
• 100 - The motor is in Hand and is not available to stop
• 010 - The motor is in Auto and is free to start or stop
• 001 - The motor is Off and is not available to start
If all motors have the same value, these bits do not affect the sort; the next set
of bits become the determining factor in the sort.
Priority Value (Bits 27…23)
These bits are next in the order of precedence for sorting the array list. The
value of these bits corresponds to the number entered in the Motor Priority
field in the Motor Configuration dialog box.
The highest priority value has a pattern of 11111 (31), the next highest priority
value is 11110 (30), and so forth.
If this priority is not to be used for the sort, set the priority value to zero for
every motor.
If all motors have the same value, these bits do not affect the sort; the next set
of bits become the determining factor in the sort.
User-input Values (Bits 22…15)
If the Status Values are equal and the Priority values are equal, enter values in
these bits to sort the motors in the array list to the desired order.
The highest user-input value has a pattern of 11111111 (255), the next highest
user-input value is 11111110 (254), and so forth.
If this value is not to be used for the sort, set the value to zero for every motor.
358 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
If all motors have the same value, these bits do not affect the sort; the next set
of bits become the determining factor in the sort.
Preference Value (Bits 14…10)
These bits are next in the order of precedence for determining the order of the
motors in the array list. The value of these bits corresponds to the number
entered in the Motor Preference box in the Motor Configuration dialog box.
The highest preference value has a pattern of 11111 (31), the next preference
value is 11110 (30), and so forth.
If this value is not to be used for the sort, set the value to zero for every motor.
If all motors have the same value, these bits do not affect the sort; the next set
of bits become the determining factor in the sort.
Current Position (Bits 9…5)
IMPORTANT The current position bits are the only set of bits that cannot be equal.
These bits are next in the order of precedence for determining the order of the
motors in the array list. The value of these bits corresponds to the value of the
current position of the motor in the list, and the value is established by the
PLLS instruction. There is no user entry for this field.
• Lead motor - 11111 (31)
• First Lag motor - 11110 (30)
• Second Lag motor - 11101 (29) and so on
The Status value, Priority value, User-input value, and Preference value must
be equal for all motors for the Current Position to be a determining factor in
the sort.
See also
Process Lead Lag Standby Motor Group (PLLS)
Process Motor (PMTR) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Motor (PMTR) instruction monitors and controls a fixed
single-speed, two-speed, or reversing motor using a full-voltage contactor or
intelligent motor controller (soft starter). The motor can be run or jogged,
including jogging reverse or jogging fast, as configured by the user. The
interface to the hardware motor controller can be through a Device Object
Publication PROCES-RM215A-EN-P - November 2023 359
Chapter 1 PlantPAx
Interface or through individual pins. The object is a configurable, built-in
combination of the existing PlantPAx P_Motor (single speed), P_Motor2Spd
(two speed), P_MotorRev (reversing), and P_MotorHO (hand-operated or
monitor-only) Add-on instructions in the Rockwell Automation Library of
Process Objects.
Use the PMTR instruction to:
• Monitor and control a single speed, two speed, or reversing motor
using a full voltage contactor (or contactor pair) or a smart motor
control (soft starter). This instruction is not used with variable speed
drives controlling velocity or position, and it does not use any motion
axes.
• Select Operator, Program, External, Override, Maintenance, Out of
Service, or Hand as the source of motor commands.
• Use the selected command source to start the motor forward.
• Use the selected command source to start the motor reverse, if
configured for reversing, or start the motor at high speed, if
configured for two-speed operation.
• Use the selected command source to jog the motor forward. Only
Operator, External and Maintenance command sources are permitted
to jog the motor.
• Use the selected command source to jog the motor reverse, if
configured for reversing, or jog the motor at high speed, if configured
for two-speed operation. Only Operator, External and Maintenance
command sources are permitted to jog the motor.
• Monitor actual motor status, including:
• Run feedback (including separate feedback for slow and fast for two
speed operation or forward and reverse for reversing operation)
• Motor controller ready
• Commanded direction / speed
• Actual direction / speed
• Motor controller warning
• Motor controller faulted (with fault code and description)
• Interface to a motor Device Object using a set of Power Discrete
interface tags. If the interface tags are not linked (optional InOut
parameters), a set of input and output parameters are used to interface
to the starter or motor controller signal-by-signal.
• Search a linked Fault Code Lookup Table to provide textual motor
controller fault information, or use text provided via the Power
Discrete interface fault record.
• Participate in a control strategy bus (BUS_OBJ) with other devices and
process instructions.
• Configure an output to pre-start warning audible (horn) with
configurable alert time before starting or jogging.
• Configure virtualization, providing simulated feedback of a working
motor while disabling outputs to the physical device.
360 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Monitor run feedback and status or alarms for failure to start in the
configured time and failure to stop in the configured time.
• Monitor Permissive conditions to allow starting or jogging the motor
forward / slow.
• Monitor Permissive conditions to allow starting or jogging the motor
reverse / fast.
• Monitor Interlock conditions to stop and prevent starting or jogging
the motor.
• Monitor I/O communication faults.
• Trigger an alarm if interlock conditions cause the motor to be stopped.
• Automatically clear latched alarms and motor controller faults when an
Operator Command (Start, Stop, Jog) is received.
• Automatically clear latched alarms and motor controller faults when an
External Command (Start, Stop, Jog) is received.
• Use HMI breadcrumbs for Alarm Inhibited, Bad Configuration, Not
Ready, and Maintenance Bypass Active.
• Use Available status for use by automation logic to indicate whether a
motor can be controlled by other objects.
• Use Alarms for Fail to Start, Fail to Stop, Interlock Trip, I/O Fault, and
Motor Fault.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 361
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PMTR (PMTRTag, Ref_Ctrl_Set tag, Ref_Ctrl_Cmd tag, Ref_Ctrl_Sts tag,
BusObj tag, Ref_FaultCodeList tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
362 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_MOTOR_DISCRETE tag Data structure required for proper operation of instruction.
Ref_Ctrl_Set RAC_ITF_DVC_PWRDISCRETE_S tag Power Discrete Device Object Settings Interface.
ET
Ref_Ctrl_Cmd RAC_ITF_DVC_PWRDISCRETE_C tag Power Discrete Device Object Command Interface.
MD
Ref_Ctrl_Sts RAC_ITF_DVC_PWRDISCRETE_S tag Power Discrete Device Object Status Interface.
TS
BusObj BUS_OBJ tag Bus component.
Ref_FaultCodeList RAC_CODE_DESCRIPTION[x] tag Fault Code to Fault Description lookup table for intelligent motor controller.
P_MOTOR_DISCRETE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The instruction is
normally initialized in instruction first run. Use this
request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.29 = Echo.
Default is 0.
Inp_LastFaultCodeData DINT Not Visible Not Required Input Most recent intelligent motor controller Fault Code
(enumeration).
Default is 0.
Inp_ReadyData BOOL Not Visible Not Required Input 1=Intelligent motor controller is ready to run.
Default is true.
Inp_1RunFdbkData BOOL Not Visible Not Required Input 1=Motor is Running Forward or Slow.
Default is false.
Inp_2RunFdbkData BOOL Not Visible Not Required Input 1=Motor is Running Reverse or Fast.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 363
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_AlarmData BOOL Not Visible Not Required Input 1=Intelligent motor controller has a Warning or Alarm. See
controller display or manual.
Default is false.
Inp_FaultedData BOOL Not Visible Not Required Input 1=Intelligent motor controller has Faulted. See controller
display or manual.
Default is false.
Inp_DvcNotify SINT Not Visible Not Required Input Related device object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Inp_IOFault BOOL Visible Not Required Input Indicates the IO data are inaccurate.
0 = The IO data are good,
1 = The IO data are bad, causing fault.
If the Motor is not virtual, this input sets Sts_IOFault,
which raises IOFault Alarm.
Default is false.
Inp_1PermOK BOOL Visible Not Required Input 1 = Permissives OK, motor can start or jog Forward /
Slow.
Default is true.
Inp_1NBPermOK BOOL Visible Not Required Input 1 = Non-Bypassable Permissives OK, motor can start or
jog Forward / Slow.
Default is true.
Inp_2PermOK BOOL Not Visible Not Required Input 1 = Permissives OK, motor can start or jog Reverse / Fast.
Default is true.
Inp_2NBPermOK BOOL Not Visible Not Required Input 1 = Non-Bypassable Permissives OK, motor can start or
jog Reverse / Fast.
Default is true.
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks OK, motor can start or jog and keep
running.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks OK, motor can start or jog
and keep running.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock Availibility OK.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit Interlock Trip Status
Default is false.
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this object, is ready to be
reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire Hand (typically hardwired local), 0 = Release
Hand.
Default is false.
364 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override (higher priority program logic), 0 =
Release Override.
Default is false.
Inp_OvrdCmd SINT Not Visible Not Required Input Override Command:
0 = None,
1 = Stop,
2 = Start 1 (Forward / Slow),
3 = Start2 (Reverse / Fast).
Default is 0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External acquisition, 0 = Allow External
acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Alllow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset Shed Latches and Cleared Alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_eObjType SINT Not Visible Not Required Input Type of Motor:
0 = single-speed,
1 = reversing,
2 = 2-speed (enumeration).
Default is 0.
Cfg_HasStart1 BOOL Not Visible Not Required Input 1 = Motor Start1 (Forward / Slow) Command enabled and
visible, 0 = Motor Start1 Command not allowed.
Default is false.
Cfg_HasStart2 BOOL Not Visible Not Required Input 1 = Motor Start2 (Reverse / Fast) Command enabled and
visible, 0 = Motor Start2 Command not allowed.
Default is false.
Cfg_HasJog1 BOOL Not Visible Not Required Input 1 = Motor Jog1 (Forward / Slow) Command enabled and
visible, 0 = Motor Jog1 Command not allowed.
Default is false.
Cfg_HasJog2 BOOL Not Visible Not Required Input 1 = Motor Jog2 (Reverse / Fast) Command enabled and
visible, 0 = Motor Jog2 Command not allowed.
Default is false.
Cfg_HasStop BOOL Not Visible Not Required Input 1 = Motor Stop Command enabled and visible, 0 =
Instruction has no control, only monitors Motor.
Default is true.
Cfg_AllowLocal BOOL Not Visible Not Required Input 1 = Allow Local Start/Stop without alarm, 0 = Start/Stop
by command only.
Default is false.
Cfg_HasRunFdbk BOOL Not Visible Not Required Input 1 = Motor provides feedback signal when running.
Default is false.
Cfg_UseRunFdbk BOOL Not Visible Not Required Input 1 = Motor run feedback should be used for failure
checking.
Default is false.
Cfg_HasDvcObj BOOL Not Visible Not Required Input 1 = Tells HMI a Device (e.g., overload relay) object is
connected.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 365
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_Has1PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_1Perm inputs.
Default is false.
Cfg_Has2PermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_2Perm inputs.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_Intlk inputs.
Default is false.
Cfg_HasResInhObj BOOL Not Visible Not Required Input 1 = Tells HMI a Restart Inhibit object is connected.
Default is false.
Cfg_HasRunTimeObj BOOL Not Visible Not Required Input 1 = Tells HMI a Run Time / Starts object is connected.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_OperStopPrio BOOL Not Visible Not Required Input 1 = OCmd_Stop accepted any time;
0 = OCmd_Stop accepted only when Oper is selected.
Default is false.
Cfg_ExtStopPrio BOOL Not Visible Not Required Input 1 = XCmd_Stop accepted any time; 0 = XCmd_Stop
accepted only when Ext is selected.
Default is false.
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = Any Motor OCmd resets shed latches and cleared
alarms; 0 = OCmdReset is required.
Default is false.
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = Any Motor XCmd resets shed latches and cleared
alarms; 0 = XCmdReset is required.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores Bypassable Perm/ Intlk; 0 = Override
uses all Perm/Intlk.
Default is false.
Cfg_ShedOnFailToStart BOOL Not Visible Not Required Input 1 = Stop Motor and Alarm on Fail to Start; 0 = Alarm only
on Fail to Start.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = Stop Motor and Alarm on I/O Fault; 0 = Alarm only on
I/O Fault.
Default is true.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator Locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program Locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance exists, can be selected.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input 1 = Maintenance Out of Service exists, can be selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Lock, 0 =
Don't override Lock.
Default is true.
366 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Lock, 0 =
Don't override Lock.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program, 0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal Source: 1 = Program if no requests; 0 = Operator
if no requests.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority. 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Prog used as Level (1 = Acquire, 0 = Release).
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Lock used as a Level (1 = Lock, 0 = Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = XCmd_Acq used as Level (1 = Acquire, 0 = Release).
Default is false.
Cfg_PauseTime REAL Not Visible Not Required Input Delay in seconds with contactors open when changing
speed or direction. Valid = 0.0 to 2147483.0 seconds.
Default is 3.0.
Cfg_StartHornTime REAL Not Visible Not Required Input Time in seconds to sound audible on commanded start.
Valid = 0.0 to 1000.0 seconds, 0.0 = disabled.
Default is 0.0.
Cfg_VirtualFdbkTime REAL Not Visible Not Required Input Time in seconds to echo run feedback when Virtualized.
Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_FailToStartTime REAL Not Visible Not Required Input Time in seconds after Start to receive Run Feedback
before Fault. Valid = 0.0 to 2147483.0 seconds.
Default is 15.0.
Cfg_FailToStopTime REAL Not Visible Not Required Input Time in seconds after Stop to drop Run Feedback before
Fault. Valid = 0.0 to 2147483,0 seconds.
Default is 15.0.
Cfg_ResetPulseTime REAL Not Visible Not Required Input Time in seconds to pulse Out_Reset to clear Motor fault.
Valid = 0.0 to 2147483.0 seconds.
Default is 2.0.
Cfg_MaxJogTime REAL Not Visible Not Required Input Maximum jog time in seconds. Valid = 0.0 to 2147483.0
seconds, 0.0 = unlimited).
Default is 0.0.
Cfg_eKeepStart SINT Not Visible Not Required Input Ownership of Start commands (enumeration):
0 = follows CmdSrc,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_eKeepJog SINT Not Visible Not Required Input Ownership of Jog commands (enumeration):
0 = follows CmdSrc,
1 = Operator,
3 = External.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 367
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator Command Confirmation Required. Represents
the type of command confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
Cfg_HasHistTrend SINT Not Visible Not Required Input Has Historical Trend. This enables navigation to the
Device Historical Trend Faceplate from the HMI.
0 = No external historical trend,
1 = Datalog historical trend,
2 = Historian historical trend.
Default is 0.
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release (zero).
Default is 0.
PCmd_Virtual BOOL Not Visible Not Required Input Program command to select Virtual (simulated) device
operation. The instruction clears this operand
automatically.
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program command to select Physical device operation
(not simulated). The instruction clears this operand
automatically.
Default is false.
PCmd_Start1 BOOL Not Visible Not Required Input Program command to Start Motor Forward / Slow. The
instruction clears this operand automatically.
Default is false.
PCmd_Start2 BOOL Not Visible Not Required Input Program command to Start Motor Reverse / Fast. The
instruction clears this operand automatically.
Default is false.
PCmd_Stop BOOL Not Visible Not Required Input Program command to Stop Motor. The instruction clears
this operand automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program command to select Program (Operator to
Program). The instruction clears this operand
automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Program command to select Operator (Program to
Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program command to lock Program (disallow Operator).
The instruction clears this operand automatically if
Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program command to unlock Program (allow Operator to
acquire). The instruction clears this operand
automatically.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program command to select Normal command source
(Operator or Program). The instruction clears this
operand automatically.
Default is false.
368 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms and latched shed
conditions requiring reset. The instruction clears this
operand automatically.
Default is false.
MCmd_Rel BOOL Not Visible Not Required Input Maintenance command to release ownership
(Maintenance to Operator/Program/External/Override).
The instruction clears this operand automatically.
Default is false.
OCmd_Unlock BOOL Not Visible Not Required Input Operator command to unlock / release (allow Program to
acquire) ownership. The instruction clears this operand
automatically.
Default is false.
XCmd_Start1 BOOL Not Visible Not Required Input External command to Start Motor Forward / Slow. The
instruction clears this operand automatically.
Default is false.
XCmd_Start2 BOOL Not Visible Not Required Input External command to Start Motor Reverse / Fast. The
instruction clears this operand automatically.
Default is false.
XCmd_Stop BOOL Not Visible Not Required Input External command to Stop Motor. The instruction clears
this operand automatically.
Default is false.
XCmd_Jog1 BOOL Not Visible Not Required Input External command to Jog Motor Forward / Slow. The
instruction clears this operand automatically if max jog
time is reached.
Default is false.
XCmd_Jog2 BOOL Not Visible Not Required Input External command to Jog Motor Reverse / Fast. The
instruction clears this operand automatically if max jog
time is reached.
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input External command to acquire ownership
(Operator/Program/Override/Maintenance to External).
The instruction clears this operand automatically if
Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External command to release ownership if
Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The
instruction clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to clear shed latches and cleared
alarms. The instruction clears this operand
automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all alarms
and latched shed conditions. The instruction clears this
operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Publication PROCES-RM215A-EN-P - November 2023 369
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Out_Run1Data BOOL Not Visible Not Required Output 1=Start/Run Motor Forward or Slow, 0=Stop Motor
(for held starter type).
Out_Run2Data BOOL Not Visible Not Required Output 1=Start/Run Motor Reverse or Fast, 0=Stop Motor
(for held starter type).
Out_Start1Data BOOL Not Visible Not Required Output 1=Start Motor Forward or Slow, 0=Motor left in
current state.
Out_Start2Data BOOL Not Visible Not Required Output 1=Start Motor Reverse or Fast, 0=Motor left in
current state.
Out_StopData BOOL Not Visible Not Required Output 1=Stop Motor, 0=Motor left in current state.
Out_ClearFaultData BOOL Not Visible Not Required Output 1=Attempt to clear Fault on intelligent motor
controller.
Out_HornData BOOL Not Visible Not Required Output 1 = Sound audible prior to commanded motor
start.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. Use Inp_InitializeReq
to reinitialize.
Sts_Stopped BOOL Visible Not Required Output 1 = Motor requested to stop and is confirmed
stopped.
Sts_Starting1 BOOL Visible Not Required Output 1 = Motor requested to run forward and awaiting
run feedback.
Sts_Starting2 BOOL Not Visible Not Required Output 1 = Motor requested to run reverse and awaiting
run feedback.
Sts_Running1 BOOL Visible Not Required Output 1 = Motor requested to run and is confirmed
running forward.
Sts_Running2 BOOL Not Visible Not Required Output 1 = Motor requested to run and is confirmed
running reverse.
Sts_Stopping BOOL Visible Not Required Output 1 = Motor running / jogging requested to stop and
awaiting stopped feedback.
Sts_Jogging1 BOOL Visible Not Required Output 1 = Motor requested to Jog Forward.
Sts_Jogging2 BOOL Not Visible Not Required Output 1 = Motor requested to Jog Reverse.
370 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Horn BOOL Not Visible Not Required Output 1 = Motor Audible Alert (Horn) is Active.
Sts_NotReady BOOL Not Visible Not Required Output 1 = Motor is Not Ready (cannot be started) Check
alarms, stops, faults.
Sts_Alarm BOOL Not Visible Not Required Output 1 = Intelligent motor controller has an Alarm (see
controller display or manual).
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats the Motor as virtual. The
instruction acts as normal but the output is kept
de-energized; 0 = The instruction operates the
Motor normally. Sts_Virtual is a copy of Sts_Virtual.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
Sts_eCmd SINT Not Visible Not Required Output Motor Command:
0 = None,
1 = Stop,
2 = Start 1,
3 = Start 2,
4 = Jog 1,
5 = Jog 2.
Publication PROCES-RM215A-EN-P - November 2023 371
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eFdbk SINT Not Visible Not Required Output Motor Feedback Status:
0 = Stopped,
1 = Running 1 (forward, slow),
2 = Running 2 (reverse, fast),
3 = Invalid (both feedbacks received)
Sts_eSts SINT Not Visible Not Required Output Motor Status:
0 = Unknown,
1 = Stopped,
2 = Running 1,
3 = Running 2,
4 = Starting 1,
5 = Starting 2,
6 = Jogging 1,
7 = Jogging 2,
8 = Stopping,
14 = Horn,
15 = Out of Service.
Sts_eFault SINT Not Visible Not Required Output Motor Fault Status:
0 = None,
15 = Interlock Trip,
16 = Fail to Start,
17 = Fail to Stop,
18 = Motor Fault,
32 = I/O Fault,
34 = Config Error.
Sts_eNotify SINT Not Visible Not Required Output All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT Not Visible Not Required Output All alarm status enumerated values including
related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
372 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyIOFault SINT Not Visible Not Required Output IOFault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFailToStart SINT Not Visible Not Required Output Fail to Start alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFailToStop SINT Not Visible Not Required Output Fail to Stop alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output IntlkTrip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 373
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyMotorFault SINT Not Visible Not Required Output Motor Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_eFaultCode DINT Not Visible Not Required Output First Trip Code after reset. See Motor manual or
Power Discrete Object for description.
Sts_eSrc INT Not Visible Not Required Output The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_bSrc INT Not Visible Not Required Output Active selection bitmap (for HMI totem pole with
command source request selection):
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung
false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Available BOOL Not Visible Not Required Output 1 = Motor has been acquired by Program and is
now available for start/stop control.
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Motor can be acquired by Program and is
available for start/stop control when interlocks
are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks are bypassed.
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock bypassing active (bypassed or
maintenance).
374 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_NotRdy BOOL Not Visible Not Required Output 1 = Device is not ready, see detail bits
(Sts_Nrdyxxx) for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Device is not ready: Configuration error.
Sts_NrdyDvcNotReady BOOL Not Visible Not Required Output 1 = Device is not ready: Intelligent motor controller
Not Ready.
Sts_NrdyFail BOOL Not Visible Not Required Output 1 = Device is not ready: Device failure (Shed
requires Reset).
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Device is not ready: Interlock not OK.
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Device is not ready: IO Fault (Shed requires
Reset).
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Device is not ready: Device disabled by
Maintenance.
Sts_Nrdy1Perm BOOL Not Visible Not Required Output 1 = Device is not ready: Permissive 1 not OK.
Sts_Nrdy2Perm BOOL Not Visible Not Required Output 1 = Device is not ready: Permissive 2 not OK.
Sts_NrdyPrioStop BOOL Not Visible Not Required Output 1 = Device is not ready: Operator or External
priority Stop command requires reset.
Sts_NrdyTrip BOOL Not Visible Not Required Output 1 = Device is not ready: Device Tripped, intelligent
motor controller fault requires Reset.
Sts_Err BOOL Visible Not Required Output 1 = Error in configuration: See detail bits
(Sts_Errxxx) for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in Logix tag-based alarm settings.
Sts_ErrPauseTime BOOL Not Visible Not Required Output 1 = Error in Config: Invalid Pause time: use 0 to
2147483.
Sts_ErrVirtualFdbkTime BOOL Not Visible Not Required Output 1 = Error in Config: Virtual feedback echo time:
use 0 to 2147483.
Sts_ErrFailToStartTime BOOL Not Visible Not Required Output 1 = Error in Config: Fail to Start timer preset: use 0
to 2147483.
Sts_ErrFailToStopTime BOOL Not Visible Not Required Output 1 = Error in Config: Fail to Stop timer preset: use 0
to 2147483.
Sts_ErrResetPulseTime BOOL Not Visible Not Required Output 1 = Error in Config: Reset Pulse timer preset: use 0
to 2147483.
Sts_ErrMaxJogTime BOOL Not Visible Not Required Output 1 = Error in Config: Maximum Jog Time timer
preset: use 0 to 2147483.
Sts_Hand BOOL Visible Not Required Output 1 = Hand is selected (supersedes OoS,
Maintenance, Override, External, Program,
Operator).
Sts_OoS BOOL Visible Not Required Output 1 = Out of Service is selected (supersedes
Maintenance, Override, External, Program,
Operator).
Sts_Maint BOOL Visible Not Required Output 1 = Maintenance is selected (supersedes Override,
External, Program, Operator).
Sts_Ovrd BOOL Visible Not Required Output 1 = Override is selected (supersedes External,
Program, Operator).
Sts_Ext BOOL Visible Not Required Output 1 = External is selected (supersedes Program and
Operator).
Sts_Prog BOOL Visible Not Required Output 1 = Program is selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program is selected and Locked.
Sts_Oper BOOL Visible Not Required Output 1 = Operator is selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator is selected and Locked.
Publication PROCES-RM215A-EN-P - November 2023 375
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Visible Not Required Output Program/Operator lock (latch) state, 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selection equals the Normal (Program or
Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External request inhibited, cannot get to
External from current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program request inhibited, cannot get to
Program from current state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Program request inhibited, cannot get to
Program from current state.
Sts_CmdConflict BOOL Not Visible Not Required Output 1 = Conflicting commands received this scan.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL Not Visible Not Required Output I/O Fault status: 1 = Bad, 0 = OK. There is a
predefined default discrete Logix tag-based alarm
for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IOFault.AlarmElement.
Sts_FailToStart BOOL Not Visible Not Required Output 1 = Motor failed to Start. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_FailToStart.AlarmElement.
Sts_FailToStop BOOL Not Visible Not Required Output 1 = Motor failed to Stop. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_FailToStop.AlarmElement.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Motor stopped by an interlock Not OK. There is
a predefined default discrete Logix tag-based
alarm for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IntlkTrip.AlarmElement.
Sts_MotorFault BOOL Not Visible Not Required Output 1 = Intelligent Motor Control Fault. See control
device display or user manual.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Start1 BOOL Not Visible Not Required Output 1 = Ready for XCmd_Start1, enable button.
XRdy_Start2 BOOL Not Visible Not Required Output 1 = Ready for XCmd_Start2, enable button.
XRdy_Jog1 BOOL Not Visible Not Required Output 1 = Ready for XCmd_Jog1, enable button.
XRdy_Jog2 BOOL Not Visible Not Required Output 1 = Ready for XCmd_Jog2, enable button.
XRdy_Stop BOOL Visible Not Required Output 1 = Ready for XCmd_Stop, enable button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable button.
376 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = not owned).
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOUR Control or Command Source Selection.
CE
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks and permissives. The instruction
clears this operand automatically.
Default is false.
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks and permissives. The instruction
clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance command to select Physical device operation (not simulated). The instruction
clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (simulated) device operation. The instruction clears
this operand automatically.
Default is false.
OCmd_Jog1 BOOL Operator command to Jog Motor Forward / Slow. The instruction clears this operand
automatically if max jog time is reached.
Default is false.
OCmd_Jog2 BOOL Operator command to Jog Motor Reverse / Fast. The instruction clears this operand
automatically if max jog time is reached.
Default is false.
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Normal BOOL Operator command to select Normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms and latched shed conditions. The instruction clears
this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 377
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_ResetAckAll BOOL Operator command to acknowledge and reset all alarms and latched shed conditions. The
use of OCmd_ResetAckAll is restricted to HMI. The instruction clears this operand
automatically.
Default is false.
OCmd_Start1 BOOL Operator command to Start Motor Forward / Slow. The instruction clears this operand
automatically.
Default is false.
OCmd_Start2 BOOL Operator command to Start Motor Reverse / Fast. The instruction clears this operand
automatically.
Default is false.
OCmd_Stop BOOL Operator command to Stop Motor. The instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
Default is 0.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Jog1 BOOL 1 = Ready for OCmd_Jog1, enable HMI button.
ORdy_Jog2 BOOL 1 = Ready for OCmd_Jog2, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = A latched alarm or shed condition is ready to be reset.
ORdy_ResetAckAll BOOL 1 = A latched alarm or shed condition is ready to be reset or acknowledged.
ORdy_Start1 BOOL 1 = Ready for OCmd_Start1, enable HMI button.
ORdy_Start2 BOOL 1 = Ready for OCmd_Start2, enable HMI button.
ORdy_Stop BOOL 1 = Ready for OCmd_Stop, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Sts_FaultDesc STRING Description of intelligent motor controller fault, lookup from last fault code.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Ref_Ctrl_Set RAC_ITF_DVC_PW Visible Required InOut Discrete Power Automation Device Object
RDISCRETE_SET Settings Interface.
Ref_Ctrl_Cmd RAC_ITF_DVC_PW Visible Required InOut Discrete Power Automation Device Object
RDISCRETE_CMD Command Interface.
Ref_Ctrl_Sts RAC_ITF_DVC_PW Visible Required InOut Discrete Power Automation Device Object Status
RDISCRETE_STS Interface.
BusObj BUS_OBJ Visible Required InOut Bus component
Ref_FaultCodeList RAC_CODE_DESCR Visible Required InOut Fault Code to Fault Description lookup table for
IPTION[1] intelligent motor controller.
378 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
RAC_ITF_DVC_PWRDISCRETE_SET Structure
The RAC_ITF_DVC_PWRDISCRETE_SET structure is the first of three
structures exchanged with the associated Power Discrete Device Object to
interface with the intelligent motor control device. This structure handles
settings, such as the Command Inhibit, sent to the motor controller.
This parameter is used to link the instruction to an external tag that contains
necessary data for the instruction to operate. The external tag must be of the
data type shown, or may be NULL. If NULL, other pins on the instruction are
used to link the necessary data.
Members Data Type Description
InhibitCmd BOOL 1=Inhibit user Commands from external sources; 0=AllowControl
InhibitSet BOOL 1=Inhibit user Settings from external sources; 0=Allow
RAC_ITF_DVC_PWRDISCRETE_CMD Structure
The RAC_ITF_DVC_PWRDISCRETE_CMD structure is the second of three
structures exchanged with the associated Power Discrete Device Object to
interface with the intelligent motor control device. This structure handles
commands, such as the start, stop, direction, and speed, sent to the motor
controller. It is an InOut parameter configured as optional (May Be Null).
This parameter is used to link the instruction to an external tag that contains
necessary data for the instruction to operate. The external tag must be of the
data type shown, or may be NULL. If NULL, other pins on the instruction are
used to link the necessary data.
Members Data Type Description
bCmd INT Commands (Bit Overlay)
Physical BOOL Operate as a physical device
Virtual BOOL Operate as a virtual device
ResetWarn BOOL Reset Warning Status
ResetFault BOOL Reset Fault Status
Activate BOOL Activate Output Power Structure
Deactivate BOOL DeActivate Output Power Structure
CmdDir BOOL Command Direction; 0=Forward, 1=Reverse
Jog BOOL Jog Command
Fast BOOL Fast speed of a two-speed device
Slow BOOL Slow Speed of a two-speed device
RAC_ITF_DVC_PWRDISCRETE_STS Structure
The RAC_ITF_DVC_PWRDISCRETE_STS structure is the third of three
structures exchanged with the associated Power Discrete Device Object to
Publication PROCES-RM215A-EN-P - November 2023 379
Chapter 1 PlantPAx
interface with the intelligent motor control device. This structure handles
status, such as the run feedback, connection status, commanded and actual
direction, received from the motor controller. It is an InOut parameter
configured as optional (May Be Null).
This parameter is used to link the instruction to an external tag that contains
necessary data for the instruction to operate. The external tag must be of the
data type shown, or may be NULL. If NULL, other pins on the instruction are
used to link the necessary data.
Members Data Type Description
Enumerated state value:
0=Unused
1=Initializing
2=Disconnected
3=Disconnecting,
4=Connecting,
5=Idle,
6=Configuring,
eState DINT 7=Available
FirstWarning RAC_UDT_EVENT First Warning
FirstFault RAC_UDT_EVENT First Fault
eCmdFail DINT Enumerated command failure code
bSts INT Status (Bit Overlay)
Physical BOOL 1=Operating as a physical device
Virtual BOOL 1=Operating as a virtual device
Connected BOOL Connected Status
Available BOOL Available Status
Warning BOOL Warning
Faulted BOOL Faulted
Ready BOOL 1=Device is active (Power Structure Active)
Active BOOL 1=Device is active (Power Structure Active)
CmdDir BOOL Command direction; 1=Reverse, 0=Forward
ActDir BOOL Actual direction; 1=Reverse, 0=Forward
CmdSpd BOOL 1 = Motor is Commanded to run fast 0 = slow
Fast BOOL Fast speed selected (two-speed device)
Slow BOOL Slow speed selected (two-speed device)
BUS_OBJ Structure
The BUS_OBJ structure is used to link the motor to other devices and
instructions in a complex control strategy, typically into a hierarchy. A Bus
Object rolls up status and alarm information from lower level devices to
higher level control and fans out commands from higher level control to lower
level devices, and items link to the bus by referencing a single member of the
BUS_OBJ array associated with the bus.
This parameter is used to link the instruction to an external tag that contains
necessary data for the instruction to operate. The external tag must be of the
380 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
data type shown, or may be NULL. If NULL, the Bus functions of this
instruction are not available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
RAC_CODE_DESCRIPTION[x] Structure
The RAC_CODE_DESCRIPTION[x] structure is an array of intelligent motor
controller fault code number and fault code description pairs, used as a
lookup table. The instruction searches the table for the fault code received
from the motor controller and displays the corresponding fault description
text.
This parameter is used to link the instruction to an external tag that contains
necessary data for the instruction to operate. The external tag must be of the
data type shown, or may be NULL. If NULL, the fault code lookup function is
not performed. Fault descriptions will only be shown if provided through the
Device Object Status interface.
Members Data Type Description
Code DINT Code for which to look up Description
Desc STRING Description for given Code
RAC_EVENTStructure
RAC_EVENTstructures are used by the FirstFault and FirstWarning members
in the RAC_ITF_DVC_PWRDISCRETE_STS structure. These items hold the
event data received from the intelligent motor controller for the first fault and
first warning records in the motor controller event history.
Publication PROCES-RM215A-EN-P - November 2023 381
Chapter 1 PlantPAx
Members Data Type Description
1 = Status
2 = Warning
3 = Fault
Type DINT 4 ...n = User
ID DINT User definable event ID
Category DINT User definable category (Electrical,Mechanical,Materials,Utility,etc.)
Action DINT User definable event action code
Value DINT User definable event value or fault code
Message STRING Event message text
EventTime_L LINT Timestamp
EventTime_D DINT[7] Timestamp (Y,M,D,h,m,s,us)
Alarms
Discrete Logix tag-based alarms are defined for these members.
Member Alarm Name Description
Sts_FailToStart Alm_FailToStart Motor failed to start within the allotted time when commanded to start
Sts_FailToStop Alm_FailToStop Motor failed to stop within the allotted time when commanded to stop
Sts_IntlkTrip Alm_IntlkTrip Motor stopped by an Interlock Not OK
Sts_IOFault Alm_IOFault Motor communication with controller failed
Sts_MotorFault Alm_MotorFault The motor controller is reporting it has a fault condition
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Use this format to access alarm elements:
[email protected]
The PMTR instruction uses these alarms:
• Raises the Fail to Start alarm when the motor is commanded to start
but run feedback is not received within the configured failure time.
• Raises the Fail to Stop alarm when the motor is commanded to stop
but run feedback does not drop within the configured failure time.
• Raises the Interlock Trip alarm when the motor is running and an
interlock not-OK condition causes the motor to stop. If interlocks are
not bypassed, a bypassable interlock or a non-bypassable interlock
not-OK condition initiates an interlock trip. If interlocks are bypassed,
only a non-bypassable interlock not-OK condition initiates an interlock
trip.
• Raises the I/O Fault alarm when I/O communication with the motor
controller or other I/O device is lost. For the Power Discrete Device
interface, this is detected when the Ref_Ctrl_Sts.Connected bit goes
false (to 0). For the discrete signal interface, used when Ref_Ctrl_Sts
is NULL, this is detected when Inp_IOFault goes true (to 1).
• Raises the Motor Fault alarm when the motor controller reports a
faulted condition. For the Power Discrete Device interface, this is
detected when the Ref_Ctrl_Sts.Faulted bit goes true (to 1). For the
382 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
discrete signal interface, which is used when Ref_Ctrl_Sts is NULL,
this is detected when Inp_Faulted goes true (to 1).
Program, Operator, and External commands enable the Reset of latched
alarms, and Reset & Acknowledge of all alarms of the instruction (Alarm Set)
at the same time. This diagram shows how the commands interact with the
PMTR instruction.
Publication PROCES-RM215A-EN-P - November 2023 383
Chapter 1 PlantPAx
Operation
This diagram illustrates functionality of the PMTR instruction:
Operator command request confirmation
The PMTR instruction enables these operator command requests:
• OCmd_Jog1
384 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• OCmd_Jog2
• OCmd_Start1
• OCmd_Start2
• OCmd_Stop
Enforced security might require the request to be confirmed or canceled
before the selected command executes. The instruction checks the security
rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0 no confirmation is
required and the request executes immediately. If Cfg_CnfrmReqd=1 the
instruction waits for confirmation OCmd_CmdCnfrm=1 and/or cancellation.
For Cfg_CnfrmReqd=2 or 3, eSignature is needed before the confirmation and
cancellation is enabled.
For more information on command sources, see Process Motor (PMTR)
Command Source.
Virtualization
Use virtualization for instruction testing and operator training. Command to
virtual operation using program command PCmd_Virtual or maintenance
command MCmd_Virtual. After finishing virtual operation, use program
command PCmd_Physical or maintenance command MCmd_Physical to
return to normal physical device operation.
When Virtualization is active, the outputs of the PMTR instruction hold at 0,
virtual feedback of a working device is provided, and I/O faults are ignored.
The setting of Cfg_VirtualFdbkTime operand determines the time delay
between a command to start or stop the device and the echo of the running or
stopped status. Manipulate the instruction to operate as if a working motor is
present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FactoryTalk View) and for the Logix
Designer configuration dialog box. The strings are set to extended properties
of tag items.
• Description
• Label for graphic symbol
Publication PROCES-RM215A-EN-P - November 2023 385
Chapter 1 PlantPAx
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
• Running 1 Text
• Running 2 Text
• Name of Fail to Start Alarm
• Name of Fail to Stop Alarm
• Name of Interlock Trip Alarm
• Name of I/O Fault Alarm
• Name of Motor Fault Alarm
Implementation
The PMTR instruction monitors and controls a discrete motor. The start, stop
and jog commands to the motor can come from a variety of sources,
determined by an embedded instance of PCMDSRC. Available command
sources are:
• Operator, through the HMI
• Program, through logic connected to the block
• External, through logic connected to the block
• Override, through logic connected to the block
• Maintenance, through the HMI
• Out of Service
• Hand (assumes the block has no control of the motor, so aligns with
the actual motor status in order to achieve bumpless transfer from
Hand back to one of the other command sources)
The PMTR instruction has two aspects, which can be kept by a particular
command source whenever the command source selection is Operator,
Program or External. Either or both of the aspects can be kept at any given
time, or can follow the selection of the PCMDSRC. The aspects are:
• Start1 and Start2 commands
• Jog1 and Jog2 commands
The Jog commands cannot be kept by the Program command source.
The PMTR instruction supports virtualization. When selected to Virtual, the
instruction provides status to the operator and other blocks as if a working
motor were connected while keeping the outputs to the physical motor
de-energized (zero). When selected to Physical, the instruction monitors and
controls the physical motor device. Use Virtualization to provide off-process
functional testing of higher-level control strategies or simulation for operator
training.
386 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The PMTR instruction supports interlocks, conditions that must be OK for the
motor to run and which stop the motor if not OK, and permissives, conditions
that must be OK for the motor to start but which are ignored once the motor
is running. Bypassable permissives and interlocks can be bypassed for
maintenance, while non-bypassble interlocks and permissives are always
evaluated.
The PMTR instruction supports a bus for forwarding commands (fanout) and
gathering status (rollup) in a hierarchy of objects. Refer to the Bus Object for
more information on the commands and status (including alarm status) sent
on the bus.
The PMTR instruction optionally supports the ability to look up the text to
display for the most recent intelligent motor controller fault code, given a
provided fault code lookup table. This table is an array of Code and
Description pairs and is searched whenever the last fault code from the motor
controller changes.
The PMTR instruction interface to the physical motor can be through a Power
Discrete Device Object interface or by connecting individual motor controller
signals to input and output pins of the instruction. Details on the Power
Discrete Device Object interface are given below. Three interface tags are
used, provided as InOut Parameters. These tags provide motor Settings,
motor Commands, such as start forward, jog reverse and stop, and retrieve
motor Status, such as connected, active (running), commanded direction and
speed, actual direction and speed, warning, faulted, and extended motor
controller warning and fault information.
PMTR Motor Settings: Ref_Ctrl_Set InOut Parameter
(RAC_ITF_DVC_PWRDISCRETE_SET) Structure
Private Input Members Data Type Description
InhibitCmd BOOL 1 = Inhibit user Commands from external sources; 0 = Allow control.
InhibitSet BOOL 1 = Inhibit user Settings from external source, 0 = Allow.
PMTR Motor Commands: Ref_Ctrl_Cmd InOut Parameter
(RAC_ITF_DVC_PWRDISCRETE_CMD) Structure
Private Input Members Data Type Description
bCmd INT Commands (bit overlay), consisting of:
Physical BOOL Operate as a Physical device
Virtual BOOL Operate as a Virtual device
ResetWarn BOOL Reset Warning status
ResetFault BOOL Reset Fault status
Activate BOOL Activate Output Power Structure (if speed reference is not zero, the motor will run)
Deactivate BOOL Deactivate Output Power Structure (motor will stop)
CmdDir BOOL Commanded Direction, 0 = Forward
Publication PROCES-RM215A-EN-P - November 2023 387
Chapter 1 PlantPAx
Private Input Members Data Type Description
Jog BOOL Jog Command
Fast BOOL Fast speed of a two-speed device
Slow BOOL Slow Speed of a two-speed device
PMTR Motor Status: Ref_Ctrl_Sts InOut Parameter
(RAC_ITF_DVC_PWRDISCRETE_STS) Structure
Private Input Members Data Type Description
eState DINT Enumerated state value:
0 = unused,
1 = Initializing,
2 = Disconnected,
3 = Disconnecting,
4 = Connecting,
5 = Idle,
6 = Configuring,
7 = Available
FirstWarning RAC_ITF_EVENT First Warning, consisting of:
Type DINT 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID DINT User definable event ID
Category DINT User definable category (electrical, mechanical, materials, utility, etc.)
Action DINT User definable event action code
Value DINT User definable event value or fault code
Message STRING Event message text
EventTime_L LINT Timestamp
EventTime_D DINT[7] Timestamp (Yr, Mo, Da, Hr, Min, Sec, Microsec)
FirstFault RAC_ITF_EVENT First Fault, consisting of:
Type DINT 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID DINT User definable event ID
Category DINT User definable category (electrical, mechanical, materials, utility, etc.)
Action DINT User definable event action code
Value DINT User definable event value or fault code
Message STRING Event message text
EventTime_L LINT Timestamp
EventTime_D DINT[7] Timestamp (Yr, Mo, Da, Hr, Min, Sec, Microsec)
eCmdFail DINT Enumerated command failure code
bSts INT Status, consisting of:
Physical BOOL 1 = Operating as a physical device
Virtual BOOL 1 = Operating as a virtual device
Connected BOOL Connected status
Available BOOL Available status
Warning BOOL Device Warning
Faulted BOOL Device Faulted
Ready BOOL 1 = Device is ready (can be activated)
Active BOOL 1 = Device is active (power structure active, running)
CmdDir BOOL Commanded direction: 1 = reverse, 0 = forward
ActDir BOOL Actual direction (of rotation): 1 = reverse, 0 = forward
CmdSpd BOOL 1 = Motor is Commanded to run fast 0 = slow
Fast BOOL Fast speed selected (two-speed device)
388 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
Slow BOOL Slow speed selected (two-speed device)
This illustration shows the relationship between a PMTR instance and its
associated Power Discrete Device Object.
Monitor the PMTR Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing
faults.
Publication PROCES-RM215A-EN-P - November 2023 389
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor state is
evaluated and the instruction aligns with the current state of the motor, as if
the Hand command source were selected.
Rung-condition-in is false Handled the same as if the motor is taken Out of Service by command. The
motor outputs are de-energized, and the motor Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor state is
evaluated and the instruction aligns with the current state of the motor, as
if the Hand command source were selected.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the motor is taken Out of Service by command. The
motor outputs are de-energized, and the motor Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. EnableOut is
set to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
390 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Example
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 391
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PMTR(MyNG_PMTR, MyNG_PMTR_Ref_Ctrl_Set,
MyNG_PMTR_Ref_Ctrl_Cmd, MyNG_PMTR_Ref_Ctrl_Sts, MyNG_Bus[23], 0)
See also
Process Motor (PMTR) Command Source on page 392
PMTR Command Source The Process Motor (PMTR) instruction uses these command sources. The
command sources are prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
392 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Command Source Description
Out-of-Service The instruction is disabled and accepts no device commands.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for exapmle, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
• XCmd_Acq used as a Level (1 = Acquire, 0 = release)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
Publication PROCES-RM215A-EN-P - November 2023 393
Chapter 1 PlantPAx
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
Unless specifically configured as Level, above, all commands are treated as
one-shot-latched (Edge). Commands are automatically cleared when the
instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
command was eliminated then there would be no way to accomplish this. This
is only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
394 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
See also
Process Motor (PMTR)
Process n-Position Device This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PNPOS)
The Process n-Position Device (PNPOS) instruction controls and monitors
feedback from a circular or linear discrete device with up to 30 positions. The
PNPOS instruction provides outputs to select an individual position and
outputs to move toward increasing positions (clockwise for a circular device)
or decreasing positions (counterclockwise for a circular device).
Basic functionality
These drawings illustrate the basic functionality of the PNPOS instruction.
Linear Device Outputs (7-position device):
Publication PROCES-RM215A-EN-P - November 2023 395
Chapter 1 PlantPAx
Circular Device Outputs (7-position device):
For linear devices, the PNPOS instruction can be configured to return to
Position 1 on every move, approaching the target position from the same side
on each move to improve position repeatability, or move directly to the new
position.
For circular devices, the PNPOS instruction can be configured to move only
clockwise to increase positions (for example, 28, 29, 30, 1, 2…) or both
directions by using the shortest move (for example, clockwise from 28 to 1: 28,
29, 30, 1; or counterclockwise from 2 to 29: 2, 1, 30, 29).
Use the PNPOS instruction to:
• Control and monitor a multi-position device (up to thirty positions),
such as rotary valves, and other devices with multiple fixed positions.
• Monitor limit switches or other position feedback and display actual
device position.
• Check for failure to reach the requested position within a configured
time. Provide Alarm on Position Failure.
• Monitor Permissive conditions to allow moving to a new position.
• Monitor Interlock conditions to de-energize the device, or to request
the device to return to Position 1. Provide an Interlock Trip Alarm if an
interlock condition causes the device to de-energize or return to
Position 1.
• Provide outputs to request each position and provide outputs for
increasing and decreasing position.
• Provide outputs to sequence indexing cylinders for devices that use
pneumatic or hydraulic devices to step through positions. The
cylinders work in an Extend, Shift, Retract, Shift sequence to engage
the device, and step it to the next position. The cylinder sequence
reverses the Shift directions when driving circular devices
counterclockwise (for devices that support bidirectional operation).
• Optionally provide handling of a position lock or seal that must be
driven to an unlocked or unsealed state before moving the device and
returned to a locked or sealed state after the move is completed.
• Provide capability for maintenance personnel to take the device out of
service.
396 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• If the optional lock or seal is used, provide position feedback for the
lock or seal to verify the locked or unlocked state at appropriate times.
Provide Alarm for Lock Failure.
• Provide a virtualization capability, responding as if a working device
were present while keeping outputs de-energized. The virtualization
capability can be used for activities such as system testing, operator
training, or as part of a full process virtualization.
• Monitor for I/O communication faults and provide an I/O Fault Alarm.
• Provide an Available status for use by automation logic so the logic
knows when it has control of the device.
• Provide maintenance capabilities, such as the ability to bypass any
bypassable interlocks or permissives or temporarily disable feedback
checking.
• Operate from Hand, Maintenance, Override, External, Program, and
Operator command sources.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 397
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PNPOS(PNPOSTag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx P_DISCRETE_N_POSITION tag Data structure required for proper operation of
ControlPlantPAx Control instruction.
BusObj BUS_OBJ tag Bus component.
398 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
P_DISCRETE_N_POSITION Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command (bitmapped): All bits off =
None, .10 = Operator Lock, .11 = Operator Unlock, .12
= Program Lock, .13 = Program Unlock, .14 =
Acquire Maintenance, .15 = Release Maintenance,
.16 = Acquire External, .17 = Release External, .29 =
Echo.
Default is 0.
Inp_Pos01FdbkData BOOL Visible Not Required Input Position 1 feedback: 1 = Device is confirmed at
Position 1.
Default is false.
Inp_Pos02FdbkData BOOL Visible Not Required Input Position 2 feedback: 1 = Device is confirmed at
Position 2.
Default is false.
Inp_Pos03FdbkData BOOL Visible Not Required Input Position 3 feedback: 1 = Device is confirmed at
Position 3.
Default is false.
Inp_Pos04FdbkData BOOL Not Visible Not Required Input Position 4 feedback: 1 = Device is confirmed at
Position 4.
Default is false.
Inp_Pos05FdbkData BOOL Not Visible Not Required Input Position 5 feedback: 1 = Device is confirmed at
Position 5.
Default is false.
Inp_Pos06FdbkData BOOL Not Visible Not Required Input Position 6 feedback: 1 = Device is confirmed at
Position 6.
Default is false.
Inp_Pos07FdbkData BOOL Not Visible Not Required Input Position 7 feedback: 1 = Device is confirmed at
Position 7.
Default is false.
Inp_Pos08FdbkData BOOL Not Visible Not Required Input Position 8 feedback: 1 = Device is confirmed at
Position 8.
Default is false.
Inp_Pos09FdbkData BOOL Not Visible Not Required Input Position 9 feedback: 1 = Device is confirmed at
Position 9.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 399
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_Pos10FdbkData BOOL Not Visible Not Required Input Position 10 feedback: 1 = Device is confirmed at
Position 10.
Default is false.
Inp_Pos11FdbkData BOOL Not Visible Not Required Input Position 11 feedback: 1 = Device is confirmed at
Position 11.
Default is false.
Inp_Pos12FdbkData BOOL Not Visible Not Required Input Position 12 feedback: 1 = Device is confirmed at
Position 12.
Default is false.
Inp_Pos13FdbkData BOOL Not Visible Not Required Input Position 13 feedback: 1 = Device is confirmed at
Position 13.
Default is false.
Inp_Pos14FdbkData BOOL Not Visible Not Required Input Position 14 feedback: 1 = Device is confirmed at
Position 14.
Default is false.
Inp_Pos15FdbkData BOOL Not Visible Not Required Input Position 15 feedback: 1 = Device is confirmed at
Position 15.
Default is false.
Inp_Pos16FdbkData BOOL Not Visible Not Required Input Position 16 feedback: 1 = Device is confirmed at
Position 16.
Default is false.
Inp_Pos17FdbkData BOOL Not Visible Not Required Input Position 17 feedback: 1 = Device is confirmed at
Position 17.
Default is false.
Inp_Pos18FdbkData BOOL Not Visible Not Required Input Position 18 feedback: 1 = Device is confirmed at
Position 18.
Default is false.
Inp_Pos19FdbkData BOOL Not Visible Not Required Input Position 19 feedback: 1 = Device is confirmed at
Position 19.
Default is false.
Inp_Pos20FdbkData BOOL Not Visible Not Required Input Position 20 feedback: 1 = Device is confirmed at
Position 20.
Default is false.
Inp_Pos21FdbkData BOOL Not Visible Not Required Input Position 21 feedback: 1 = Device is confirmed at
Position 21.
Default is false.
Inp_Pos22FdbkData BOOL Not Visible Not Required Input Position 22 feedback: 1 = Device is confirmed at
Position 22.
Default is false.
Inp_Pos23FdbkData BOOL Not Visible Not Required Input Position 23 feedback: 1 = Device is confirmed at
Position 23.
Default is false.
Inp_Pos24FdbkData BOOL Not Visible Not Required Input Position 24 feedback: 1 = Device is confirmed at
Position 24.
Default is false.
Inp_Pos25FdbkData BOOL Not Visible Not Required Input Position 25 feedback: 1 = Device is confirmed at
Position 25.
Default is false.
Inp_Pos26FdbkData BOOL Not Visible Not Required Input Position 26 feedback: 1 = Device is confirmed at
Position 26.
Default is false.
400 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_Pos27FdbkData BOOL Not Visible Not Required Input Position 27 feedback: 1 = Device is confirmed at
Position 27.
Default is false.
Inp_Pos28FdbkData BOOL Not Visible Not Required Input Position 28 feedback: 1 = Device is confirmed at
Position 28.
Default is false.
Inp_Pos29FdbkData BOOL Not Visible Not Required Input Position 29 feedback: 1 = Device is confirmed at
Position 29.
Default is false.
Inp_Pos30FdbkData BOOL Not Visible Not Required Input Position 30 feedback: 1 = Device is confirmed at
Position 30.
Default is false.
Inp_LockFdbkData BOOL Not Visible Not Required Input 1 = Device is confirmed locked/sealed in position.
Default is false.
Inp_UnlockFdbkData BOOL Not Visible Not Required Input 1 = Device is confirmed unlocked/unsealed and is
free to move.
Default is false.
Inp_CylExtFdbkData BOOL Not Visible Not Required Input 1 = Device indexing cylinder is confirmed extended.
Default is false.
Inp_CylRetrFdbkData BOOL Not Visible Not Required Input 1 = Device indexing cylinder is confirmed retracted.
Default is false.
Inp_CylLeftFdbkData BOOL Not Visible Not Required Input 1 = Device indexing cylinder is confirmed in left
(increasing) position.
Default is false.
Inp_CylRightFdbkData BOOL Not Visible Not Required Input 1 = Device indexing cylinder is confirmed in right
(decreasing) position.
Default is false.
Inp_IOFault BOOL Visible Not Required Input 1 = I/O communication is faulted, 0 = I/O
communication is OK.
Default is false.
Inp_PermOK BOOL Visible Not Required Input 1 = Permissives are OK, device can energize.
Default is true.
Inp_NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable permissives are OK, device can
energize.
Default is true.
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks are OK, device can energize, 0 =
Interlocks are not OK, device must de-energize or
drive to Position 1.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks OK, device can
energize, 0 = Interlocks are not OK, device must
de-energize or drive to Position 1.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock availability is OK, show
Sts_IntlkAvailable if device is ready except for
interlocks.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit reporting of Sts_IntlkTrip and interlock
trip alarm.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 401
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this object, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire Hand command source (typically
hardwired local), 0 = Release Hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override command source (higher
priority program logic), 0 = Release Override.
Default is false.
Inp_OvrdCmd SINT Not Visible Not Required Input Override device command: 0 = No command, 1 =
Position 1, 2 = Position 2, ..., 30 = Position 30.
Default is 0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External command source acquisition, 0
= Allow External acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Allow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_NumPos SINT Not Visible Not Required Input Number of device positions. Valid = 2 to 30.
Default is 3.
Cfg_Circ BOOL Not Visible Not Required Input 1 = Positions are circular (rotary device, after
Position n is Position 1), 0 = linear device (Position 1
and Position n are at ends of travel).
Default is false.
Cfg_CWOnly BOOL Not Visible Not Required Input 1 = Circular (rotary) device can only rotate
"clockwise", 0 = circular device is bidirectional, use
shortest path.
Default is false.
Cfg_ViaPos01 BOOL Not Visible Not Required Input 1 = Drive linear device to Position 1 on every move,
0 = move direct to set position.
Default is false.
Cfg_IntlkToPos01 BOOL Not Visible Not Required Input 1 = Drive to Position 1 on interlock not OK, 0 =
De-energize only on interlock not OK.
Default is false.
Cfg_OutPosLatch BOOL Not Visible Not Required Input 1 = Latch position output until a new target
position is set, 0 = clear position output upon
reaching target position.
Default is false.
Cfg_HasLock BOOL Not Visible Not Required Input 1 = Device has a lock or seal which must be
unlocked/unsealed before moving.
Default is false.
Cfg_HasPosFdbk BOOL Not Visible Not Required Input 1 = Device has position feedback for all positions.
Default is false.
Cfg_UsePosFdbk BOOL Not Visible Not Required Input 1 = Use position feedback to verify device reached
target position.
Default is false.
402 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasLockFdbk BOOL Not Visible Not Required Input 1 = Device has locked/unlocked feedback.
Default is false.
Cfg_UseLockFdbk BOOL Not Visible Not Required Input 1 = Use lock feedback to verify locking and
unlocking of device.
Default is false.
Cfg_HasCylFdbk BOOL Not Visible Not Required Input 1 = Device indexing cylinders have position
feedback.
Default is false.
Cfg_UseCylFdbk BOOL Not Visible Not Required Input 1 = Use indexing cylinder position feedback to
verify cylinder motion.
Default is false.
Cfg_HasPermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_Perm
inputs, enable navigation.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to Inp_Intlk
inputs, enable navigation.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available, enable navigation.
Default is false.
Cfg_OperPos01Prio BOOL Not Visible Not Required Input 1 = OSet_Pos setting to Position 1 is accepted any
time, 0 = OSet_Pos is accepted only when Operator
command source is selected.
Default is false.
Cfg_ExtPos01Prio BOOL Not Visible Not Required Input 1 = XSet_Pos setting to Position 1 is accepted any
time, 0 = XSet_Pos is accepted only when External
command source is selected.
Default is false.
Cfg_OSetResets BOOL Not Visible Not Required Input 1 = A new Operator state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
Cfg_XSetResets BOOL Not Visible Not Required Input 1 = A new External state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
Cfg_SetDuringMove BOOL Not Visible Not Required Input 1 = New position setting received during move is
accepted, 0 = Must wait for previous move to
complete.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores bypassable permissives and
interlocks, 0 = Override uses all permissives and
interlocks.
Default is false.
Cfg_ShedOnPosFail BOOL Not Visible Not Required Input 1 = De-energize device and alarm on position fail, 0
= Alarm only.
Default is true.
Cfg_ShedOnLockFail BOOL Not Visible Not Required Input 1 = De-energize device and alarm on lock fail, 0 =
Alarm only.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = De-energize device and alarm on I/O fault, 0 =
Alarm only.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 403
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HornOnChange BOOL Not Visible Not Required Input 1 = Sound horn on any position change, 0 = Sound
horn only on leaving Position 1.
Default is false.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator Locked command source exists, can
be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program Locked command source exists, can
be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External command source exists, can be
selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance command source exists, can be
selected.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input 1 = Maintenance Out of Service exists, can be
selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program command source, 0 =
Power up to Operator command source.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal command source: 1 = Program, 0 =
Operator.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority: 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = Program/Operator selection follows PCmd_Prog
as level (1 for Program, 0 for Operator), 0 =
PCmd_Prog is used as edge to select Program,
PCmd_Oper selects Operator.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = Program lock selection follows PCmd_Lock as
level (1 for locked, 0 for unlocked), 0 = PCmd_Lock
is used as edge to select Program Locked,
PCmd_Unlock selects Program (unlocked).
Default is false.
404 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = External selection follows XCmd_Acq as level (1
to acquire External, 0 to release External), 0 =
XCmd_Acq is used as edge to acquire External,
XCmd_Rel is used to release External.
Default is false.
Cfg_Retries SINT Not Visible Not Required Input Number of retries via Position 1 before declaring
failure, Valid = 0 to 3, 0 = Don't retry.
Default is 3.
Cfg_ExtendDelay REAL Not Visible Not Required Input Delay before extending cylinder to engage for
move (seconds). Valid = 0.0 to 2147483.0.
Default is 0.0.
Cfg_VerifyDelay REAL Not Visible Not Required Input Delay to verify device has settled in commanded
position (seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_PosCheckTime REAL Not Visible Not Required Input Time to receive position feedback before declaring
failure (seconds). Valid = 0.0 to 2147483.0.
Default is 30.0.
Cfg_LockCheckTime REAL Not Visible Not Required Input Time to receive locked/unlocked feedback before
declaring lock failure (seconds). Valid = 0.0 to
2147483.0.
Default is 5.0.
Cfg_VirtualPosTime REAL Not Visible Not Required Input Time to simulate reaching target position when
virtualized (seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_VirtualLockTime REAL Not Visible Not Required Input Time to simulate lock or unlock when virtualized
(seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_VirtualCylTime REAL Not Visible Not Required Input Time to simulate index cylinder feedback when
virtualized (seconds). Valid = 0.0 to 21474830.
Default is 0.5.
Cfg_StartHornTime REAL Not Visible Not Required Input Time to sound audible on device position change
(seconds). Valid = 0.0 to 1000.0, 0.0 = Disabled.
Default is 0.0.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator command confirmation or e-signature
type required: 0 = None, 1 = Command
confirmation required, 2 = Performer e-signature
required, 3 = Performer and approver e-signature
required.
Default is 0.
PSet_Owner DINT Not Visible Not Required Input Program ownership request: Non-zero Owner ID =
Acquire, 0 = Release.
Default is 0.
PSet_Pos SINT Not Visible Not Required Input Program Setting of commanded position 1 to 30, 0
= No command. The instruction clears this
operand automatically.
Default is 0.
PCmd_Virtual BOOL Not Visible Not Required Input Program Command to select Virtual (simulated)
device operation. The instruction clears this
operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 405
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Physical BOOL Not Visible Not Required Input Program Command to select Physical device
operation (not simulated). The instruction clears
this operand automatically.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program Command to select Program command
source. The instruction clears this operand
automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Program Command to select Operator command
source. The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program Command to lock Program command
source and disallow Operator. The instruction
clears this operand automatically if
Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program Command to unlock Program command
source and allow Operator to acquire. The
instruction clears this operand automatically.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program Command to select normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
XSet_Pos SINT Not Visible Not Required Input External Setting of commanded position 1 to 30, 0
= No command. The instruction clears this
operand automatically.
Default is 0.
XCmd_Acq BOOL Not Visible Not Required Input External Command to acquire command source.
The instruction clears this operand automatically if
Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External Command to release command source,
accepted if Cfg_ExtAcqAsLevel = 0. The instruction
clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External Command to acknowledge all alarms and
reset latched alarms and shed conditions. The
instruction clears this operand automatically.
Default is false.
406 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Out_Pos01Data BOOL Visible Not Required Output Output to go to Position 1.
Out_Pos02Data BOOL Visible Not Required Output Output to go to Position 2.
Out_Pos03Data BOOL Visible Not Required Output Output to go to Position 3.
Out_Pos04Data BOOL Not Visible Not Required Output Output to go to Position 4.
Out_Pos05Data BOOL Not Visible Not Required Output Output to go to Position 5.
Out_Pos06Data BOOL Not Visible Not Required Output Output to go to Position 6.
Out_Pos07Data BOOL Not Visible Not Required Output Output to go to Position 7.
Out_Pos08Data BOOL Not Visible Not Required Output Output to go to Position 8 .
Out_Pos09Data BOOL Not Visible Not Required Output Output to go to Position 9.
Out_Pos10Data BOOL Not Visible Not Required Output Output to go to Position 10.
Out_Pos11Data BOOL Not Visible Not Required Output Output to go to Position 11.
Out_Pos12Data BOOL Not Visible Not Required Output Output to go to Position 12.
Out_Pos13Data BOOL Not Visible Not Required Output Output to go to Position 13.
Out_Pos14Data BOOL Not Visible Not Required Output Output to go to Position 14.
Out_Pos15Data BOOL Not Visible Not Required Output Output to go to Position 15.
Out_Pos16Data BOOL Not Visible Not Required Output Output to go to Position 16.
Out_Pos17Data BOOL Not Visible Not Required Output Output to go to Position 17.
Out_Pos18Data BOOL Not Visible Not Required Output Output to go to Position 18 .
Out_Pos19Data BOOL Not Visible Not Required Output Output to go to Position 19.
Out_Pos20Data BOOL Not Visible Not Required Output Output to go to Position 20.
Out_Pos21Data BOOL Not Visible Not Required Output Output to go to Position 21.
Out_Pos22Data BOOL Not Visible Not Required Output Output to go to Position 22.
Out_Pos23Data BOOL Not Visible Not Required Output Output to go to Position 23.
Out_Pos24Data BOOL Not Visible Not Required Output Output to go to Position 24.
Out_Pos25Data BOOL Not Visible Not Required Output Output to go to Position 25.
Out_Pos26Data BOOL Not Visible Not Required Output Output to go to Position 26.
Out_Pos27Data BOOL Not Visible Not Required Output Output to go to Position 27.
Out_Pos28Data BOOL Not Visible Not Required Output Output to go to Position 28.
Out_Pos29Data BOOL Not Visible Not Required Output Output to go to Position 29.
Out_Pos30Data BOOL Not Visible Not Required Output Output to go to Position 30.
Out_IncData BOOL Visible Not Required Output Output to drive to increasing position (clockwise).
Out_DecData BOOL Visible Not Required Output Output to drive to decreasing position
(counter-clockwise).
Out_UnlockData BOOL Not Visible Not Required Output Output to unlock/unseal device.
Out_LockData BOOL Not Visible Not Required Output Output to lock/seal device.
Out_CylExtendData BOOL Not Visible Not Required Output Output to extend cylinder to engage position
indexing device.
Out_CylRetractData BOOL Not Visible Not Required Output Output to retract cylinder to disengage position
indexing device.
Out_CylLeftData BOOL Not Visible Not Required Output Output to index device to left (increase position).
Out_CylRightData BOOL Not Visible Not Required Output Output to index device to right (decrease position).
Out_HornData BOOL Not Visible Not Required Output Output to sound horn prior to commanded
position change.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Publication PROCES-RM215A-EN-P - November 2023 407
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status (bitmapped): All bits
off = None, .10 = Operator Lock, .11 = Operator
Unlock, .12 = Program Lock, .13 = Program Unlock,
.14 = Acquire Maintenance, .15 = Release
Maintenance, .16 = Acquire External, .17 = Release
External, .18 = Has Maintenance, .19 = External
Override Lock, .20 = Has External, .21 = Has
Operator, .22 = Has Operator Locked, .23 = Has
Program, .24 = Has Program Locked, .29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. 0 = Use
Inp_InitializeReq to reinitialize.
Sts_Pos01 BOOL Visible Not Required Output 1 = Device confirmed in Position 1.
Sts_Pos02 BOOL Visible Not Required Output 1 = Device confirmed in Position 2.
Sts_Pos03 BOOL Visible Not Required Output 1 = Device confirmed in Position 3.
Sts_Pos04 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 4.
Sts_Pos05 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 5.
Sts_Pos06 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 6.
Sts_Pos07 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 7.
Sts_Pos08 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 8.
Sts_Pos09 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 9.
Sts_Pos10 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 10.
Sts_Pos11 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 11.
Sts_Pos12 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 12.
Sts_Pos13 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 13.
Sts_Pos14 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 14.
Sts_Pos15 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 15.
Sts_Pos16 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 16.
Sts_Pos17 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 17.
Sts_Pos18 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 18.
Sts_Pos19 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 19.
Sts_Pos20 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 20.
Sts_Pos21 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 21.
Sts_Pos22 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 22.
Sts_Pos23 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 23.
Sts_Pos24 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 24.
Sts_Pos25 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 25.
Sts_Pos26 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 26.
Sts_Pos27 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 27.
Sts_Pos28 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 28.
Sts_Pos29 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 29.
Sts_Pos30 BOOL Not Visible Not Required Output 1 = Device confirmed in Position 30.
Sts_Moving BOOL Visible Not Required Output 1 = Device moving to target position, not yet
confirmed in position.
Sts_Horn BOOL Not Visible Not Required Output 1 = Sounding horn prior to commanded
energize/position change.
408 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats device as virtual, acting
as if controlling a working device, but the outputs
are kept de-energized, 0 = The instruction
operates the physical device normally.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
Sts_eCmd SINT Not Visible Not Required Output Device command: 0 = None, 1 = Position 1, 2 =
Position 2, ..., 30 = Position 30.
Sts_eFdbk SINT Not Visible Not Required Output Device feedback: 0 = Moving or unknown position,
1 = Position 1, 2 = Position 2, ..., 30 = Position 30, 31
= Multiple positions or invalid feedback.
Sts_eSts SINT Not Visible Not Required Output Device status: 0 = Powerup/Reset, 1 = Position 1, 2
= Position 2, ..., 30 = Position 30, 31 = Moving, 32 =
Horn, 33 = Out of service.
Sts_eFault SINT Not Visible Not Required Output Device fault status: 0 = None, 16 = Position fail, 17
= Lock/Unlock fail, 32 = I/O fault, 34 =
Configuration error.
Sts_eState SINT Not Visible Not Required Output Internal state: 0 = De-energized on
powerup/interlock/shed, 1 = In position, 2 =
Unlocking, 3 = Moving to Position 1, 4 = Moving to
requested position, 5 = Locking, 6 = Faulted.
Sts_eOutPos SINT Not Visible Not Required Output State of position outputs to physical device: 0 =
De-energized, 1 = Position 1, 2 = Position 2, ..., 30 =
Position 30.
Sts_eOutState SINT Not Visible Not Required Output State of motion outputs to physical device: 0 =
Maintain position, 1 = Unlock, 2 = Decrease
position, 3 = Increase position, 4 = Lock, 5 = Horn.
Publication PROCES-RM215A-EN-P - November 2023 409
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotify SINT Not Visible Not Required Output Summary alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyAll SINT Not Visible Not Required Output Summary alarm status including related objects: 0
= Not in alarm, acknowledged, 1 = Not in alarm,
unacknowledged or reset required, 2 = Low
severity alarm, acknowledged, 3 = Low severity
alarm, unacknowledged, 4 = Medium severity
alarm, acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyIOFault SINT Not Visible Not Required Output I/O fault alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyPosFail SINT Not Visible Not Required Output Device position fail alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
410 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyLockFail SINT Not Visible Not Required Output Device lock/seal fail alarm status: 0 = Not in
alarm, acknowledged, 1 = Not in alarm,
unacknowledged or reset required, 2 = Low
severity alarm, acknowledged, 3 = Low severity
alarm, unacknowledged, 4 = Medium severity
alarm, acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output Interlock trip alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_eSrc INT Not Visible Not Required Output Current command source: 0 = Logic not in use, 4 =
Hand, 8 = Maintenance, 16 = Override, 32 =
Program, 33 = Program Locked, 34 = Program
default (Normal), 64 = Operator, 65 = Operator
Locked, 66 = Operator default (Normal), 128 =
Maintenance Out of Service, 129 = Programmed
Out of Service (EnableIn false), 256 = External.
Sts_bSrc INT Not Visible Not Required Output Active command source selections (bitmapped,
for HMI): .0 = Hand, .1 = Programmed Out of
Service (EnableIn false), .2= Maintenance Out of
Service, .3 = Maintenance, .4 = Override, .5 =
External, .6 = Program Locked, .7 = Program
(unlocked), .8 = Operator Locked, .9 = Operator
(unlocked).
Sts_Available BOOL Not Visible Not Required Output 1 = Device has been acquired by Program and is
ready and available for control.
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Device can be acquired by Program and is
available for control when interlocks are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks and permissives are
bypassed.
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock/permissive bypassing is active
(bypassed by command or in Maintenance
command source).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_NotRdy BOOL Visible Not Required Output 1 = Device not ready, see Sts_NrdyXxx detail bits
for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Device not ready, configuration error.
Sts_NrdyPosFail BOOL Not Visible Not Required Output 1 = Device not ready, device position failure, shed
requires reset.
Publication PROCES-RM215A-EN-P - November 2023 411
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_NrdyLockFail BOOL Not Visible Not Required Output 1 = Device not ready, device lock/seal failure, shed
requires reset.
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Device not ready, interlock not OK.
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Device not ready, I/O fault, shed requires reset.
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Device not ready, device is Out of Service.
Sts_NrdyPerm BOOL Not Visible Not Required Output 1 = Device not ready, permissives not OK, device
cannot be commanded to a new position.
Sts_NrdyPrioPos01 BOOL Not Visible Not Required Output 1 = Device not ready, Operator or External issued
priority Position 1 Command, shed requires reset.
Sts_Err BOOL Not Visible Not Required Output 1 = Error in configuration, see Sts_ErrXxx detail
bits for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in configuration, Logix tag-based alarm
settings invalid.
Sts_ErrExtendDelay BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_ExtendDelay invalid.
Valid = 0.0 to 2147483.0.
Sts_ErrVerifyDelay BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_VerifyDelay invalid.
Valid = 0.0 to 2147483.0.
Sts_ErrPosCheckTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_PosCheckTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrLockCheckTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_LockCheckTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualPosTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_VirtualPosTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualLockTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_VirtualLockTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualCylTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_VirtualCylTime
invalid. Valid = 0.0 to 2147483.0.
Sts_Hand BOOL Visible Not Required Output 1 = Hand command source is selected.
Sts_OoS BOOL Visible Not Required Output 1 = Out of Service command source is selected.
Sts_Maint BOOL Visible Not Required Output 1 = Maintenance command source is selected.
Sts_Ovrd BOOL Visible Not Required Output 1 = Override command source is selected.
Sts_Ext BOOL Visible Not Required Output 1 = External command source is selected.
Sts_Prog BOOL Visible Not Required Output 1 = Program (unlocked) command source is
selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program Locked command source is selected.
Sts_Oper BOOL Visible Not Required Output 1 = Operator (unlocked) command source is
selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator Locked command source is selected.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Visible Not Required Output Program/Operator lock (latch) state: 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selected command source is the normal
source (Program or Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External command source selection is
inhibited, External is not available in current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program command source selection is
inhibited, Program is not available in current
state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Command to acquire Maintenance command
source was received this scan.
412 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL Not Visible Not Required Output 1 = I/O communication fault. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_IOFault.AlarmElement.
Sts_PosFail BOOL Visible Not Required Output 1 = Device position failure. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_PosFail.AlarmElement.
Sts_LockFail BOOL Not Visible Not Required Output 1 = Device lock/seal failure. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_LockFail.AlarmElement.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Interlock trip, device was de-energized or set
to Position 1 by an interlock not OK. There is a
predefined default discrete Logix tag-based alarm
for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IntlkTrip.AlarmElement.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable button.
XRdy_Pos BOOL Not Visible Not Required Output 1 = Ready for XSet_Pos, enable entry.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner DINT Not Visible Not Required Output Current object Owner ID, 0=not owned.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOURCE Command source selection.
MCmd_Acq BOOL Maintenance Command to acquire Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance Command to bypass all bypassable interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
MCmd_Check BOOL Maintenance Command to remove bypass and check all interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance Command to select In Service. The instruction clears this operand
automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 413
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_OoS BOOL Maintenance Command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance Command to select Physical device operation. The instruction clears this
operand automatically.
Default is false.
MCmd_Rel BOOL Maintenance Command to release Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance Command to select Virtual device operation. The instruction clears this
operand automatically.
Default is false.
OCmd_Lock BOOL Operator Command to select Operator Locked command source and disallow Program.
The instruction clears this operand automatically.
Default is false.
OCmd_Normal BOOL Operator Command to select configured normal command source (Operator or Program).
The instruction clears this operand automatically.
Default is false.
OCmd_Oper BOOL Operator Command to select Operator (unlocked) command source. The instruction
clears this operand automatically.
Default is false.
OCmd_Prog BOOL Operator Command to select Program (unlocked) command source. The instruction clears
this operand automatically.
Default is false.
OCmd_Reset BOOL Operator Command to reset shed latches and returned-to-normal latched alarms. The
instruction clears this operand automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator Command to acknowledge all alarms and reset latched alarms and shed
conditions. The instruction clears this operand automatically.
Default is false.
OCmd_Unlock BOOL Operator Command to unlock Operator command source and allow Program to acquire.
The instruction clears this operand automatically.
Default is false.
OSet_Pos SINT Operator Setting of commanded position 1 to 30, 0 = No command. The instruction clears
this operand automatically.
Default is 0.
Wrk_bInp DINT Buffer for device position feedback input bits, bit .1 thru .30.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
HMI_eCmdPos SINT Last commanded position: 0 = None, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
414 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Output Members Data Type Description
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Pos BOOL 1 = Ready for OSet_Pos, enable HMI data entry field or command buttons.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset, enable HMI button.
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Wrk_bOut DINT Buffer for position request output bits, bit .1 thru .30.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
BusObj BUS_OBJ Visible Required InOut Bus component
BUS_OBJ Structure
The BUS_OBJ structure links the device to other devices and instructions in a
complex control strategy, typically into a hierarchy. A Bus Object rolls up
status and alarm information from lower level devices to higher level control
and fans out commands from higher level control to lower level devices, and
items link to the bus by referencing a single member of the BUS_OBJ array
associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete Logix tag-based alarms are defined for these members:
Publication PROCES-RM215A-EN-P - November 2023 415
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_IntlkTrip Alm_IntlkTrip Device de-energized or set to Position 1 by an interlock Not OK.
Sts_IOFault Alm_IOFault I/O fault.
Sts_PosFail Alm_PosFail Device position failure.
Sts_LockFail Alm_LockFail Device lock/seal failure.
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix Tag based alarm. Use this format to access alarm elements:
[email protected]
The PNPOS instruction uses the following alarms:
• Raises the Interlock Trip alarm when an interlock 'not OK' condition
causes the device to perform its configured interlock action. The device
can be configured to be driven to position 1 on interlock, and the alarm
will be raised if the device is not already in position 1. Or the device can
be configured to de-energize on interlock, and the alarm will be raised
if outputs that are energized become de-energized.
• Raises the I/O Fault alarm when the Inp_IOFault input is true. This
input is usually used to indicate to the instruction that a
communication failure has occurred for its I/O. The device transitions
to the Faulted state and cannot be commanded to a new state until
reset.
• Raises the Lock Fail alarm when a device with a locking or sealing
feature is commanded to a new position, but the lock/seal feedback
failed to confirm the device unlocking before moving or failed to
confirm the device locking after moving, within the time allowed. The
device transitions to the Faulted state and cannot be commanded to a
new state until reset.
• Raises the Position Fail alarm when the device is commanded to a new
position, but the device feedback does not confirm that the device
actually reached the target position within the configured failure time
(Cfg_PosCheckTime). The device transitions to the Faulted state and
cannot be commanded to a new position until reset.
416 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Program, Operator, and External commands reset latched alarms, and reset
and acknowledge all alarms of the instruction (Alarm Set) at the same time.
This diagram shows how the commands interact with the PNPOS instruction.
Publication PROCES-RM215A-EN-P - November 2023 417
Chapter 1 PlantPAx
Operation
This diagram illustrates functionality of the PNPOS instruction:
418 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operator command request confirmation
The PNPOS instruction enables these operator commands and settings:
• OSet_Pos
Enforced security might require the request to be confirmed or canceled
before the selected command executes or setting is accepted. The instruction
checks the security rules, inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd = 0,
no confirmation is required and the request executes immediately. If
Cfg_CnfrmReqd = 1, the instruction waits for operator confirmation or
cancelation of the command. If Cfg_CnfrmReqd = 2 or 3, eSignature is needed
before command confirmation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Command
virtual operation using program command PCmd_Virtual or maintenance
command MCmd_Virtual. After finishing virtual operation, use program
command PCmd_Physical or maintenance command MCmd_Physical to
return to normal physical device operation.
When Virtualization is active, the outputs of the PNPOS instruction hold at 0,
virtual feedback of a working device is provided, and I/O faults are ignored.
The value of the following parameters determines the time it takes the virtual
device to reach various states:
• Cfg_VirtualPosTime - time to reach target position in virtual (seconds)
• Cfg_VirtualLockTime - time to lock or unlock in virtual (seconds)
• Cfg_VirtualCylTime - time to simulate index cylinder feedback in
virtual (seconds)
Manipulate the instruction to operate as if a working device is present.
Configuration of Strings for HMI
Configure strings for HMI faceplates, displayed in FactoryTalk View, and for
the Logix Designer configuration dialog box. The strings are set to extended
properties of tag items.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Navigation to an object with more information
• Labels for Positions 1 through 30
Publication PROCES-RM215A-EN-P - November 2023 419
Chapter 1 PlantPAx
• Name of Interlock Trip Alarm
• Name of I/O Fault Alarm
• Name of Position Fail Alarm
• Name of Lock Fail Alarm
Command Source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled. Device commands and settings from any source are not accepted.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
420 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically
cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
Publication PROCES-RM215A-EN-P - November 2023 421
Chapter 1 PlantPAx
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
command was eliminated there would be no way to accomplish this. This is
only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Monitor the PNPOS Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
422 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Instruction first run Any commands received before first scan are discarded. The device is
treated as if it were returning from Hand mode: the instruction state is set
based on the position feedback received from the device. If the feedback is
valid for one position, the device is set to that position, and, if the device
has the lock/seal capability enabled, the device is locked in that position. If
the device does not have position feedback or the position feedback is
invalid, the device is set to the unknown/powerup state.
Rung-condition-in is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
Instruction first run Any commands received before first scan are discarded. The device is
treated as if it were returning from Hand mode: the instruction state is set
based on the position feedback received from the device. If the feedback is
valid for one position, the device is set to that position, and, if the device
has the lock/seal capability enabled, the device is locked in that position. If
the device does not have position feedback or the position feedback is
invalid, the device is set to the unknown/powerup state.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. EnableOut is
set to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic, it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 423
Chapter 1 PlantPAx
Example
In this example, the PNPOS instruction is used to control a rotating selector
valve with four fixed positions.
424 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
NPO100.Inp_Pos01FdbkData:=NPO100_ZS100A
NPO100.Inp_Pos02FdbkData:=NPO100_ZS100B
NPO100.Inp_Pos03FdbkData:=NPO100_ZS100C
NPO100.Inp_Pos04FdbkData:=NPO100_ZS100D
PNPOS(NPO100, 0);
NPO100_ZV100A:=NPO100.Out_Pos01Data;
NPO100_ZV100B:=NPO100.Out_Pos02Data;
NPO100_ZV100C:=NPO100.Out_Pos03Data;
NPO100_ZV100D:=NPO100.Out_Pos04Data;
Publication PROCES-RM215A-EN-P - November 2023 425
Chapter 1 PlantPAx
Process Permissives This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PPERM)
The Process Permissives (PPERM) instruction collects, or sums up, the
permissive conditions that allow a piece of equipment to energize. In most
cases, permissive conditions must be true to energize equipment. Once the
equipment is energized, permissives are ignored.
The PPERM instruction provides:
• Permissive input OK Check. Evaluates the inputs. If all inputs are in
the configured OK state, the instruction sets the All Permissives OK
status to true.
• Permissive bypass. Evaluates the non-permissive inputs to bypass. If
all inputs are in their configured OK state, the instruction sets the All
Non-Bypassable Permissives OK status to true.
• Summary status. Summarizes its 32 permissive input conditions into
two primary status bits:
• Sts_PermOK. Indicates all permissive conditions are clear, or ready
to energize.
• Sts_NBPermOK. Indicates all permissive conditions that cannot be
bypassed are clear, or ready to energize after bypassing permissive
conditions.
Available Languages
Ladder Diagram
426 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PPERM (PPERM tag);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_PERMISSIVE tag Data structure required for proper operation of instruction.
P_PERMISSIVE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable Input - System Defined Parameter
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 427
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitializing. The instruction clears this
operand automatically.
Default is true.
Inp_Perm00 BOOL Permissive condition 00, OK to energize if in configured OK state.
Default is true.
Inp_Perm01 BOOL Permissive condition 01, OK to energize if in configured OK state.
Default is true.
Inp_Perm02 BOOL Permissive condition 02, OK to energize if in configured OK state.
Default is true.
Inp_Perm03 BOOL Permissive condition 03, OK to energize if in configured OK state.
Default is true.
Inp_Perm04 BOOL Permissive condition 04, OK to energize if in configured OK state.
Default is true.
Inp_Perm05 BOOL Permissive condition 05, OK to energize if in configured OK state.
Default is true.
Inp_Perm06 BOOL Permissive condition 06, OK to energize if in configured OK state.
Default is true.
Inp_Perm07 BOOL Permissive condition 07, OK to energize if in configured OK state.
Default is true.
Inp_Perm08 BOOL Permissive condition 08, OK to energize if in configured OK state.
Default is true.
Inp_Perm09 BOOL Permissive condition 09, OK to energize if in configured OK state.
Default is true.
Inp_Perm10 BOOL Permissive condition 10, OK to energize if in configured OK state.
Default is true.
Inp_Perm11 BOOL Permissive condition 11, OK to energize if in configured OK state.
Default is true.
Inp_Perm12 BOOL Permissive condition 12, OK to energize if in configured OK state.
Default is true.
Inp_Perm13 BOOL Permissive condition 13, OK to energize if in configured OK state.
Default is true.
Inp_Perm14 BOOL Permissive condition 14, OK to energize if in configured OK state.
Default is true.
Inp_Perm15 BOOL Permissive condition 15, OK to energize if in configured OK state.
Default is true.
Inp_Perm16 BOOL Permissive condition 16, OK to energize if in configured OK state.
Default is true.
Inp_Perm17 BOOL Permissive condition 17, OK to energize if in configured OK state.
Default is true.
Inp_Perm18 BOOL Permissive condition 18, OK to energize if in configured OK state.
Default is true.
Inp_Perm19 BOOL Permissive condition 19, OK to energize if in configured OK state.
Default is true.
Inp_Perm20 BOOL Permissive condition 20, OK to energize if in configured OK state.
Default is true.
Inp_Perm21 BOOL Permissive condition 21, OK to energize if in configured OK state.
Default is true.
Inp_Perm22 BOOL Permissive condition 22, OK to energize if in configured OK state.
Default is true.
428 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_Perm23 BOOL Permissive condition 23, OK to energize if in configured OK state.
Default is true.
Inp_Perm24 BOOL Permissive condition 24, OK to energize if in configured OK state.
Default is true.
Inp_Perm25 BOOL Permissive condition 25, OK to energize if in configured OK state.
Default is true.
Inp_Perm26 BOOL Permissive condition 26, OK to energize if in configured OK state.
Default is true.
Inp_Perm27 BOOL Permissive condition 27, OK to energize if in configured OK state.
Default is true.
Inp_Perm28 BOOL Permissive condition 28, OK to energize if in configured OK state.
Default is true.
Inp_Perm29 BOOL Permissive condition 29, OK to energize if in configured OK state.
Default is true.
Inp_Perm30 BOOL Permissive condition 30, OK to energize if in configured OK state.
Default is true.
Inp_Perm31 BOOL Permissive condition 31, OK to energize if in configured OK state.
Default is true.
Inp_BypassActive BOOL 1 = Permissive bypassing is currently active.
Default is false.
Cfg_OKState DINT Bits indicate which state (0 or 1) of each input is OK to energize.
Default is 2#1111_1111_1111_1111_1111_1111_1111_1111.
Cfg_Bypassable DINT Set bits indicate which conditions can be bypassed.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more information is available.
Default is false.
Cfg_HasNav DINT Set bits indicate which navigation buttons are enabled.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Public Output Members Data Type Description
EnableOut BOOL Enable Output - System Defined Parameter
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_PermOK BOOL Overall permissive status (1 = OK to energize).
Sts_NBPermOK BOOL Non-Bypassable permissive status (1 = all non-bypassable permissives OK to energize).
Sts_BypActive BOOL 1 = Permissive bypassing is active (ignore bypassable permissives).
Sts_Perm DINT Individual permissive status (1 = OK, 0 = don't energize).
Private Input Members Data Type Description
MSet_Bypass DINT Individual condition maintenance bypass toggles.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Private Output Members Data Type Description
N/A N/A N/A
Publication PROCES-RM215A-EN-P - November 2023 429
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PPERM instruction:
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Input Conditional Text
• Navigation Path
• More Information
Monitor the PPERM Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
430 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
If this instruction is off-scan, then set the summary Permissive OK status
bits to false.
Only set individual permissive bypasses for conditions that are configured
for bypassing. All the MSets for inputs that are NOT bypassable will be
cleared.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
If this instruction is off-scan, then set the summary Permissive OK status bits
to false.
Only set individual permissive bypasses for conditions that are configured for
bypassing. All the MSets for inputs that are NOT bypassable will be cleared.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Publication PROCES-RM215A-EN-P - November 2023 431
Chapter 1 PlantPAx
Condition/State Action Taken
Postscan See Postscan in the Function Block Diagram table.
Example
Ladder Diagram
432 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
P182_Motor_1Perm.Inp_BypActive := P182_Motor.Sts_BypActive;
PPERM(P182_Motor_1Perm);
P182_Motor.Inp_1PermOK := P182_Motor_1Perm.Sts_PermOK;
P182_Motor.Inp_1NBPermOK := P182_Motor_1Perm.Sts_NBPermOK;
P182_Motor.Inp_Hand := E300_P182:I.OperatorStationLocalLEDReadback;
P182_Motor.XCmd_Start1 := E300_P182:I.Pt03Data;
P182_Motor.XCmd_Start2 := E300_P182:I.Pt04Data;
P182_Motor.XCmd_Stop := NOT(E300_P182:I.Pt05Data);
P182_Motor.XCmd_Acq := E300_P182:I.Pt02Data;
PMTR_ci(P182_Motor,P182_CtrlSet,P182_CtrlCmd,P182_CtrlSts);
Publication PROCES-RM215A-EN-P - November 2023 433
Chapter 1 PlantPAx
Process Proportional + This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Integral + Derivative (PPID)
Use the Process Proportional + Integral + Derivative (PPID) instruction to
manipulate the Control Variable (CV) in regulatory control loops in response
to Process Variable (PV) readings and Setpoint (SP, the target PV) settings.
The CV is typically used as a cascade setpoint for a secondary, or inner, control
loop or is sent to an Analog Output channel on an IO card.
The PPID instruction integrates functions of the existing PID, PIDE, and
P_PIDE AOI into a single built-in instruction and adds additional features.
The PPID instruction:
• Calculates CV with velocity PID algorithm. Velocity algorithm is also
known as incremental algorithm. Velocity algorithm computes the CV
value by summing ∆PTerm, ∆ITerm, ∆DTerm, ∆FF, and CV from the
previous execution of the instruction. When Inp_UseCVPrev is set, CV
previous is set equal to Inp_CVPrev. When Inp_UseFFPrev is set,
previous FF is set equal to Inp_FFPrev. This lets you preset CV to a
specified value before output CV value is computed, CV = CV previous
+ ∆PTerm + ∆ITerm + ∆DTerm + ∆FF. Velocity form of the PID
algorithm supports bumpless transfer in parameter change.
• Provides an option to suppress bumpless transfer in gain change.
When this option is selected the PID calculation behaves as a position
PID algorithm where control action changes with loop error and not
error change.
• Uses a two degrees of freedom PID formula for calculating CV with
proportional PTerm action derived from weighted SP and PV
difference (b*SP-PV), integral ITerm action derived from control error
(SP-PV), and derivative DTerm action derived from change in
weighted SP and PV difference (c*SP-PV). The change in weight
setting in run-time is bumpless.
• Uses an error-squared (option) algorithm with CV more aggressive
when error rises. The use of error square is restricted to PTerm.
• Provides Direct/Reverse action (option). The action is Direct when CV
rises with PV increase (Cfg_CtrlAction=1). The action is Reverse if CV
decreases with PV increase (Cfg_CtrlAction=0).
• Allows deviation deadband. CV is not sensitive to loop error variation
when within the band around zero error. Configured band levels allow
for additional hysteresis. The deadband level for PV approaching SP
(Cfg_DevDBEnter) may be set lower than deadband level for PV going
away from SP (Cfg_DevDB). The active deadband status is set for PV
within deadband. Provides an option to stop CV moves or just stop the
434 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
integration while leaving proportional and derivative action live when
in deadband (Cfg_UseIntegDevDB).
• Displays engineering units on the Logix Designer application
interface. SP and PV values are displayed and entered in PV
engineering units. Val_CVSet for CV target and Val_CVOut for CV
output are displayed and entered in CV engineering units. The PID
algorithm uses all variables scaled to percent of span internally and
these values are also available as outputs Val_PVPercent,
Val_SPPercent, Val_EPercent, and Val_CVPercent.
• Is configurable for Independent and Dependent gains. Interpretation
of values stored in PGain, IGain and DGain tags depends on the
instruction configuration.
• Independent gains configuration: PGain = Kp … proportional gain,
IGain = Ki … integral gain [1/minute], DGain = Kd … derivative gain
[minutes].
• Dependent gains configuration: PGain = K … controller gain, IGain
= Ti … reset time [minutes], DGain = Td … rate time [minutes].
Use independent gains when you want the three gains for the
proportional, integral, and derivative terms to operate independently.
Use dependent gains when you want an overall controller gain that
affects all three terms (P, I, and D).
• Provides optional derivative smoothing (derivative limit at high
frequencies). A pure derivative gives a very large amplification of
measurement noise. Both dependent and independent PID algorithms
can be configured for limiting the derivative term gain at high
frequencies.
• Guarantees anti-windup. The PID algorithm is equipped with integral
(reset) windup prevention (reset feedback). Internal windup when CV
saturates is treated automatically. External windup of the inner loop
indicated by Inp_WindupHi or Inp_WindupLo is also treated if the
inputs are in use.
• Allows external CV tracking (option). When Cfg_UseCVTrack is set or
the inner loop is not available for the PPID instruction
(Inp_InnerAvailable is false), the CV tracks Inp_CVTrack value. The
option is useful when the inner (secondary) loop in cascade is not able
to follow CV value calculated by this outer (primary) loop PID, and
Inp_WindupHi or Inp_WindupLo is either not used or not true.
Tracking is allowed with configured dynamics specified in
Cfg_CVTrackGain. CVTrackGain is treated as tracking gain Kt
(1/minute) for independent or tracking time constant Tt (minutes) for
dependent gains.
• Provides configured SP clamping and ramping: clamping (in PVEU)
and ramping (in PVEU/second) of the setpoint at specified limits
(separate increase and decrease rate of change limits).
Publication PROCES-RM215A-EN-P - November 2023 435
Chapter 1 PlantPAx
• Provides configured CV clamping and ramping: clamping (in CVEU)
and ramping (in CVEU/second) of CV at specified limits (separate
increase and decrease rate of change limits).
• Enables CV Hand feedback.
• Supports operation from these command sources: Hand,
Maintenance, Override, and full loop control (Cascade, Auto with
Setpoint, Manual with CV) from External, Program, and Operator.
• Supports three automatic (Auto, Cascade, Cascade/Ratio) loop modes
and one manual (Manual) loop mode.
• In Auto loop mode, setpoint (SP) in engineering units (PVEU) is read
from the Program, Operator, Override or External entry. You can also
enter a setpoint target in PV engineering units (PVEU) and ramp time
(seconds) and use a command to trigger a built-in setpoint ramp.
• In Manual loop mode the control variable (CV) in engineering units is
read from the Program, Operator, Override, or External entry.
• Monitors interlock conditions which cause output CV and SP to shed.
CV shed can be configured to hold the last good CV value or to use the
configured safe value. SP is shed to current PV.
• Monitors I/O communication faults.
• Supports Power-up and Initialize operations. In Power-up, the SP, CV,
and Loop modes are set to configured values.
• Monitors alarm conditions for Interlock Trip, Loop Failure, High-High
Deviation, High Deviation, Low Deviation, and Low-Low Deviation
from the setpoint.
• High-High Deviation status is raised when the difference between
the setpoint and the process variable calculated as PV-SP exceeds
configured thresholds.
• High Deviation status is raised when the difference between the
setpoint and the process variable calculated as PV-SP exceeds
configured thresholds.
• Low Deviation status is raised when the difference between the
setpoint and the process variable calculated as PV-SP exceeds
configured thresholds.
• Low-Low Deviation status is raised when the difference between the
setpoint and the process variable calculated as PV-SP exceeds
configured thresholds.
• Loop Failure status is raised when the PPID indicates a severe
configuration error, such as invalid clamping limits, scaling limits,
and deadbands. This status is also raised when PV quality is not
good enough for the PID loop to work with, and when the I/O Fault
input/status is true. This status is also raised when the hand
feedback input is reported bad in hand.
• Interlock Trip status is raised when an interlock not-OK condition
causes the output CV to be changed to the configured Interlock CV
value or held at its last value. If interlocks are not bypassed, a
bypassable interlock or a non-bypassable interlock not-OK
436 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
condition initiates an interlock trip. If interlocks are bypassed, only
a non-bypassable interlock not-OK condition initiates an interlock
trip.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 437
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PPID(PPID tag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_PID tag Data structure required for proper operation of instruction.
BusObj BUS_OBJ tag Bus component. May be null.
438 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
P_PID Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, or hidden, members are used in HMI faceplates and are
not programmatically accessible. Private members are listed in separate tables
after public members.
Public input member Data Default Value Description
Type
EnableIn BOOL True Enable input.
Ladder Diagram:
Corresponds to the rung condition.
Default is true.
Inp_InitializeReq BOOL True 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request to re-initialize. When Inp_InitializeReq = 1, power
up configuration values are used. The instruction clears this operand automatically.
Default is true.
Inp_OwnerCmd DINT 0 Owner device command:
0 = None,
Inp_OwnerCmd.10 = Operator Lock,
Inp_OwnerCmd.11 = Operator Unlock,
Inp_OwnerCmd.12 = Program Lock,
Inp_OwnerCmd.13 = Program Unlock,
Inp_OwnerCmd.14 = Acquire Maintenance,
Inp_OwnerCmd.15 = Release Maintenance,
Inp_OwnerCmd.16 = Acquire External,
Inp_OwnerCmd.17 = Release External,
Inp_OwnerCmd.29 = Echo.
Default is 0.
Inp_PV REAL 0.0 Process Variable (PVEU).
Valid any float.
Default is 0.0.
Inp_CascSP REAL 0.0 SP in Cascade loop mode, independent PV in Ratio loop mode (PVEU).
Valid any float.
Default is 0.0.
Inp_FF REAL 0.0 FeedForward term (CVEU).
Valid any float between -(Cfg_CVEUMax-Cfg_CVEUMin) and
(Cfg_CVEUMax-Cfg_CVEUMin).
Default is 0.0.
Inp_FFPrev REAL 0.0 Previous scan FeedForward (CVEU) when Inp_UseFFPrev = 1.
Valid any float between -(Cfg_CVEUMax-Cfg_CVEUMin) and
(Cfg_CVEUMax-Cfg_CVEUMin).
Default is 0.0.
Inp_CVTrack REAL 0.0 CV to track if Cfg_UseCVTrack = 1 or if Inp_InnerAvailable = 0 (CVEU).
Valid any float.
Default is 0.0.
Inp_CVInitialVal PVREAL 0.0 Value to initialize the CV to per request Inp_UseCVInitialVal=1 (CVEU).
Valid any float.
Default is 0.0.
Inp_CVPrev REAL 0.0 Previous scan CV, Val_CVOut (CVEU).
Valid any float between Cfg_CVEUMin and Cfg_CVEUMax.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 439
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Inp_UseFFPrev BOOL False 1 = Use Inp_FFPrev as previous FF value,
0 = Use last scan Inp_FF value as previous FF value.
Default is false.
Inp_UseCVInitialVal BOOL False 1 = Initialize CV to Inp_CVInitialVal.
Default is false.
Inp_UseCVPrev BOOL False 1 = Use Inp_CVPrev as previous CV value,
0 = Use last scan value.
Default is false.
Inp_WindupHi BOOL False Windup high signal. When true, the CV cannot integrate in a positive direction. The
signal is typically obtained from the Windup hi output from a inner loop.
Default is false.
Inp_WindupLo BOOL False Windup low signal. When true, the CV cannot integrate in a negative direction. The
signal is typically obtained from the Windup low output from a inner loop.
Default is false.
Inp_InnerAvailable BOOL True 1 = Inner loop is available.
0 = Inner loop is not available, PPID tracks Inp_CVTrack, typically inner loop SP or
actuator position.
Default is true.
Inp_IntlkOK BOOL True 1 = Bypassable interlocks OK, CV can be set.
Default is true.
Inp_NBIntlkOK BOOL True 1 = Non-Bypassable interlocks OK, CV can be set.
Default is true.
Inp_IntlkAvailable BOOL False 1 = Interlock availability OK.
Default is false.
Inp_IntlkTripInh BOOL False 1 = Inhibit interlock trip status.
Default is false.
Inp_RdyReset BOOL False 1 = Related object, reset by this object, is ready to be reset. Ready for ORdy_Reset,
enables HMI button.
Default is false.
Inp_CVIOFault BOOL False 1 = CV I/O communications status bad,
0 = OK.
Default is false.
Inp_PVBad BOOL False 1 = PV quality or PV I/O communications status bad,
0 = OK.
Default is false.
Inp_PVUncertain BOOL False 1 = PV value not reliable,
0 = OK.
Default is false.
440 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Inp_PVSrcQ SINT 0 Inp_PV source status and quality:
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, simulated,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module/communications fault,
35 = Bad, invalid configuration.
Default is 0.
Inp_PVNotify SINT 0 Related PV object alarm priority and acknowledgement status:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_CVNotify SINT 0 Related CV object alarm priority and acknowledgement status:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Inp_CascSPNotify SINT 0 Related Cascade SP object alarm priority and acknowledgement status:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 441
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Inp_HiHiDevGate BOOL True The gate input used for HiHi deviation status detection:
1 = The corresponding analog input threshold monitoring is enabled,
0 = Detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_HiDevGate BOOL True The gate input used for Hi deviation status detection:
1 = The corresponding analog input threshold monitoring is enabled,
0 = Detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_LoDevGate BOOL True The gate input used for Lo deviation status detection:
1 = The corresponding analog input threshold monitoring is enabled,
0 = Detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_LoLoDevGate BOOL True The gate input used for LoLo deviation status detection:
1 = The corresponding analog input threshold monitoring is enabled,
0 = Detection is disabled and the corresponding status output is forced off.
Default is true.
Inp_Hand BOOL False 1 = Acquire Hand,
0 = Release Hand.
Default is false.
Inp_HandFdbk REAL 0.0 CV feedback used when owner is Hand (CVEU).
Valid any float.
Default is 0.0.
Default is false.
Inp_HandFdbkBad BOOL False 1 = CV hand feedback quality or CV hand feedback I/O communications status bad,
0 = OK.
Default is false.
Inp_Ovrd BOOL False 1 = Acquire Override (higher priority program logic),
0 = Release Override.
Default is false.
Inp_OvrdCmd SINT 0 Loop mode command in Override:
0 = None,
1 = Manual,
2 = Auto,
3 = Cascade,
4 = Normal,
5 = Start SP ramp,
6 = Stop SP ramp.
Default is 0.
Inp_OvrdSP REAL 0.0 Loop Auto SP in Override (PVEU).
Valid any float.
Default is 0.0.
Inp_OvrdSPTarget REAL 0.0 Override setting for SP target in ramp wizard (PVEU).
Valid any float.
Default is 0.0.
Inp_OvrdSPRampTime REAL 0.0 Override setting for time to reach SP target in ramp wizard (seconds).
Valid = 0.0 to 28800.0 seconds.
Default is 0.0.
Inp_OvrdRatio REAL 1.0 Loop Ratio in Override (unitless).
Valid = 0.0 to maximum positive float.
Default is 1.0.
442 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Inp_OvrdCV REAL 0.0 Loop Manual CV in Override (CVEU).
Valid any float.
Default is 0.0.
Inp_ExtInh BOOL False 1 = Inhibit External acquisition,
0 = Allow External acquisition.
Default is false.
Inp_Reset BOOL False 1 = Reset shed latches and latched alarms whose conditions have returned to normal.
Default is false.
Cfg_AllowDisable BOOL True 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL True 1 = Allow Operator to shelve alarms.
Cfg_HasRatio BOOL False 1 = Cascade loop mode is Ratio,
0 = Cascade loop mode is Cascade.
Default is false.
Cfg_HasCasc BOOL False 1 = Enable the loop to be placed into Cascade/Ratio mode.
Default is false.
Cfg_HasAuto BOOL True 1 = Enable the loop to be placed into Auto mode.
Default is true.
Cfg_HasMan BOOL True 1 = Enable the loop to be placed into Manual mode.
Default is true.
Cfg_HasSPRamp BOOL False 1 = Enable the SP ramp wizard function.
Default is false.
Cfg_ExecTime REAL 0.0 Execution period for PID algorithm (second).
Configuring the instruction for execution period = 0.0 (default) or period shorter than
instruction scan time has no effect and the PID algorithm executes every scan. For the
real execution period check Val_ExecTime.
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_PGain REAL 0.0 Proportional gain Kp for independent gains or loop gain Kc for dependent gains
(unitless).
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_IGain REAL 0.0 Integral gain Ki (1/minute) for independent or reset time Ti (minutes/repeat) for
dependent gains.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_DGain REAL 0.0 Derivative gain Kd (minute) for independent or rate time Td (minute) for dependent
gains.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_CVTrackGain REAL 0.0 Tracking gain Kt (1/minute) for independent or tracking time constant Tt (minutes) for
dependent gains for CV to track Inp_CVTrack if Cfg_UseCVTrack = 1.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_UseCVTrack BOOL False 1 = Use Inp_CVTrack reset feedback in tracking, e.g. if PPID output is significantly
faster than actuator or inner loop or in override select control.
Cfg_PSPWeight REAL 1.0 Weight on SP in proportional term in 2DOF PID, beta gain.
Valid = 0.0 to 1.5.
Default is 1.0.
Publication PROCES-RM215A-EN-P - November 2023 443
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_DSPWeight REAL 0.0 Weight on SP in derivative term in 2DOF PID, gamma gain.
Valid = 0.0 to 1.5.
Default is 0.0.
Cfg_PVTrack BOOL False 1 = SP tracks PV in Manual,
0 = No PV tracking.
Default is false.
Cfg_GainBumpless BOOL True 1 = CV response to PGain and DGain change is bumpless,
0 = CV response to PGain and DGain change is not bumpless (like in position
algorithm).
Default is true.
Cfg_PositionBump BOOL False 1 = Position form of PD algorithm without bumpless transfer from Manual to Auto or
Cascade. Enabled only when Cfg_IGain = 0. Change of proportional gain is not
bumpless.
0 = Velocity form of PID algorithm with bumpless transfer from Manual to Auto or
Cascade.
Default is false.
Cfg_UseESquared BOOL False 1 = Use error squared for proportional action.
Default is false.
Cfg_CtrlAction BOOL False 1 = Control action on E = PV-SP, direct action
0 = Control action on E = SP-PV, reverse action.
Default is false.
Cfg_Dependent BOOL False 1 = Dependent gains equation,
0 = Independent gains equation.
Default is false.
Cfg_UseDSmoothing BOOL False 1 = Use derivative smoothing.
Default is false.
Cfg_DevDB REAL 0.0 PV deviation deadband for PV going away from SP (PVEU).
Valid = 0.0 to maximum positive float.
Cfg_DevDBEnter REAL 0.0 PV deviation deadband for PV approaching SP (PVEU).
Valid = 0.0 to Cfg_DevDB.
Cfg_UseIntegDevDB BOOL False 1 = Only integral term is suspended when PV deviation deadband status is active,
proportional and derivative terms remain operational,
0 = All PID terms are suspended and CV does not move when PV deviation deadband
status is active.
Default is false.
Cfg_SkipCVManLim BOOL True 1 = Skip CV clamping in Manual loop mode and for CV from shed,
0 = Always apply CV clamping.
Cfg_SkipCVManRoC BOOL True 1 = Skip CV rate-of-change limiting in Manual loop mode and for CV from shed,
0 = Always apply CV rate-of-change limiting.
Cfg_InitializeToMan BOOL False 1 = Go to Manual loop mode when initialization is requested (Inp_UseCVInitialVal=1).
Default is false.
Cfg_SetTrack BOOL True 1 = Program/Operator/External settings tracking,
0 = No settings tracking.
Default is true.
Cfg_SetTrackOvrdHand BOOL False 1 = Program/Operator/External settings track Override/Hand inputs (CV, SP, Ratio).
Default is false.
Cfg_HasIntlkObj BOOL False 1 = Tells HMI an interlock object (PINTLK) is connected to Inp_IntlkOK, InpNBIntlkOK,
Inp_IntlkAvailable, Inp_IntlkTripInh and Inp_RdyReset.
Default is false.
Cfg_HasMoreObj BOOL False 1 = Tells HMI an object with more info is available.
Default is false.
444 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_HasHistTrend SINT 0 Has historical trend. This enables navigation to the device historical trend faceplate
from the HMI.
0 = No external historical trend,
1 = Datalog historical trend,
2 = Historian historical trend.
Default is 0.
Cfg_HasCascSPNav BOOL False 1 = Tells HMI to enable navigation to a connected cascade SP object.
Default is false.
Cfg_HasPVNav BOOL False 1 = Tells HMI to enable navigation to a connected PV object.
Default is false.
Cfg_HasCVNav BOOL False 1 = Tells HMI to enable navigation to a connected CV object.
Default is false.
Cfg_HasOper BOOL True 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL True 1 = Operator Locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL True 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL True 1 = Program Locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL False 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL True 1 = Maintenance exists, can be selected.
Default is true.
Cfg_HasMaintOoS BOOL True 1 = Maintenance Out of Service exists, can be selected.
Default is true.
Cfg_OvrdOverLock BOOL True 1 = Override supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is true.
Cfg_ExtOverLock BOOL False 1 = External supersedes Program/Operator Lock,
0 = Do not override Lock.
Default is false.
Cfg_eKeepLM SINT 0 Loop mode ownership:
0 = Follows command source,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_eKeepCV SINT 0 CV ownership:
0 = Follows command source,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_eKeepSP SINT 0 SP ownership:
0 = Follows command source,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 445
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_eKeepRatio SINT 0 Ratio ownership:
0 = Follows command source,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_ProgPwrUp BOOL False 1 = Power up to Program,
0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL False Normal source:
1 = Program if no requests,
0 = Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL False Command priority:
1 = Program commands win,
0 = Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL False 1 = PCmd_Prog used as Level (1 = Prog, 0 = Oper).
Default is false.
Cfg_PCmdLockAsLevel BOOL False 1 = PCmd_Lock used as Level (1 = Lock, 0 = Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL False 1 = XCmd_Acq used as Level (XCmd_Acq = 1 acquire external command, XCmd_Acq = 0
release external command).
Default is false.
Cfg_OvrdIntlk BOOL False 1 = Override bypasses (ignores) bypassable interlocks.
0 = Override abides by all interlock conditions.
Default is false.
Cfg_SPFailLatch BOOL False 1 = Latch in SP fail shed action until Reset,
0 = Return when SP is good.
Default is false.
Cfg_PVFailLatch BOOL False 1 = Latch in PV fail shed action until Reset,
0 = Return when PV is good.
Default is false.
Cfg_CVFailLatch BOOL False 1 = Latch in CV fail shed action until Reset,
0 = Return when CV is good.
Default is false.
Cfg_LockLM BOOL False Lock loop mode:
1 = Locked in loop mode configured as Normal (see Cfg_NormLM),
0 = Not locked.
Default is false.
Cfg_NormLM SINT 1 Loop mode defined as Normal:
0 = Disable Normal selection,
1 = Manual,
2 = Auto,
3 = Cascade.
Default is 1.
446 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_PwrUpLM SINT 4 Loop mode defined for Powerup:
0 = No change - loop mode, CV and SP are initialized using last (powerdown) values,
1 = Manual,
2 = Auto,
3 = Cascade,
4 = Normal.
Default is 4.
Cfg_PVFailTrigger SINT 1 PV fail status response on PV quality:
0 = PV fail response on Inp_PVBad OR Inp_PVSrcQ >= 32 (PV bad),
1 = PV fail response on Inp_PVBad OR Inp_PVSrcQ >= 17 AND Inp_PVSrcQ <> 18,
2 = PV fail response on Inp_PVBad OR Inp_PVUncertain OR Inp_PVSrcQ >= 16 AND
Inp_PVSrcQ <> 18.
Default is 1.
Cfg_IntlkTripSPAction SINT 0 Interlock Trip SP action:
0 = None,
1 = Hold last good,
2 = Use Cfg_SPIntlk,
3 = Set SP to current PV.
Default is 0.
Cfg_SPFailSPAction SINT 1 SP Fail SP action:
1 = Hold last good,
2 = Use Cfg_SPIntlk,
3 = Set SP to current PV.
Default is 1.
Cfg_PVFailSPAction SINT 0 PV Fail SP action:
0 = None,
1 = Hold last good,
2 = Use Cfg_SPIntlk.
Default is 0.
Cfg_CVFailSPAction SINT 0 CV Fail SP action:
0 = None,
1 = Hold last good,
2 = Use Cfg_SPIntlk,
3 = Set SP to current PV.
Default is 0.
Cfg_IntlkTripCVAction SINT 2 Interlock trip CV action:
0 = None,
1 = Hold last good,
2 = Use Cfg_CVIntlk.
Default is 2.
Cfg_SPFailCVAction SINT 1 SP Fail CV action:
0 = None,
1 = Hold last good,
2 = Use Cfg_CVIntlk.
Default is 1.
Cfg_PVFailCVAction SINT 1 PV Fail CV action:
1 = Hold last CV,
2 = Use Cfg_CVIntlk.
Default is 1.
Cfg_CVFailCVAction SINT 1 CV Fail CV action:
1 = Hold last good,
2 = Use Cfg_CVIntlk.
Default is 1.
Publication PROCES-RM215A-EN-P - November 2023 447
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_IntlkTripLMAction SINT 0 Interlock trip loop mode action:
0 = None,
1 = Manual only,
2 = Auto or Manual only.
Default is 0.
Cfg_SPFailLMAction SINT 0 SP Fail loop mode action:
0 = None,
1 = Manual only,
2 = Auto or Manual only.
Default is 0.
Cfg_PVFailLMAction SINT 0 PV Fail loop mode action:
0 = none,
1 = Manual only,
2 =Auto or Manual only.
Default is 0.
Cfg_CVFailLMAction SINT 0 CV Fail loop mode action:
0 = None,
1 = Manual only,
2 = Auto or Manual only.
Default is 0.
Cfg_PVDecPlcs SINT 2 Number of decimal places for display of PV / SP (up to six).
Default is 2.
Cfg_CVDecPlcs SINT 2 Number of decimal places for display of CV (up to six).
Default is 2.
Cfg_RatioDecPlcs SINT 2 Number of decimal places for display of Ratio (up to six).
Default is 2.
Cfg_RatioLoLim REAL 0.0 Minimum allowed Ratio value (unitless).
Valid any float less than or equal to Cfg_RatioHiLim.
Default is 0.0.
Cfg_RatioHiLim REAL 1.0 Maximum allowed Ratio value (unitless).
Valid any float greater than or equal to Cfg_RatioLoLim.
Default is 1.0.
Cfg_SPLoLim REAL 0.0 Minimum allowed SP value (PVEU).
Valid any float less than or equal to Cfg_SPHiLim and greater than or equal to
Cfg_PVEUMin.
Default is 0.0.
Cfg_SPHiLim REAL 100.0 Maximum allowed SP value (PVEU).
Valid any float greater than or equal to Cfg_SPLoLim and less than or equal to
Cfg_PVEUMax.
Default is 100.0.
Cfg_SPRoCIncrLim REAL 0.0 Maximum allowed SP rate of change increasing value (PVEU/second). The SP rate of
change is unlimited when increasing if Cfg_SPRoCIncrLim = 0.0.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_SPRoCDecrLim REAL 0.0 Maximum allowed SP rate of change decreasing value (PVEU/second). The SP rate of
change is unlimited when decreasing if Cfg_SPRoCDecrLim = 0.0.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_SkipSPRoCLim BOOL False 1 = Skip setpoint RoC limiting in interlock, maintenance and override.
Default is false.
448 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_SPRampMaxDev REAL 100.0 If absolute value of deviation exceeds this value, pause SP ramp, 0.0 = Never pause
(PVEU).
Valid any float from zero to (Cfg_SPHiLim - Cfg_SPLoLim).
Default is 100.0.
Cfg_PVEUMin REAL 0.0 PV minimum value for scaling from engineering units to %, PV at 0% (PVEU).
Valid any float less than Cfg_PVEUMax.
Default is 0.0.
Cfg_PVEUMax REAL 100.0 PV maximum value for scaling from engineering units to %, PV at 100% (PVEU).
Valid any float greater than Cfg_PVEUMin.
Default is 100.0.
Cfg_CVEUMin REAL 0.0 CV minimum value for scaling from % to engineering units (CVEU).
Valid any float less than Cfg_CVEUMax.
Default is 0.0.
Cfg_CVEUMax REAL 100.0 CV maximum value for scaling from % to engineering units (CVEU).
Valid any float greater than Cfg_CVEUMin.
Cfg_CVLoLim REAL 0.0 Minimum allowed CV value (CVEU).
Valid any float less than or equal to Cfg_CVHiLim and greater than or equal to
Cfg_CVEUMin.
Default is 0.0.
Cfg_CVHiLim REAL 100.0 Maximum allowed CV value (CVEU).
Valid any float greater than or equal to Cfg_CVLoLim and less than or equal to
Cfg_CVEUMax.
Default is 100.0.
Cfg_CVRoCIncrLim REAL 0.0 Maximum allowed CV rate of change increasing value (CVEU/second). The CV rate of
change is unlimited when increasing if Cfg_CVRoCIncrLim = 0.0
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_CVRoCDecrLim REAL 0.0 Maximum allowed CV rate of change decreasing value (CVEU/second). The CV rate of
change is unlimited when decreasing if Cfg_CVRoCDecrLim = 0.0.
Valid = 0.0 to maximum positive float.
Default is 0.0.
Cfg_MaxInactiveCV REAL 0.0 When Val_CVOut is greater than this value, set Sts_Active for HMI (CVEU).
Valid any float.
Default is 0.0.
Cfg_SPIntlk REAL 0.0 SP value to use with interlock / bad value SP action (PVEU). Valid any float between
Cfg_PVEUMin and Cfg_PVEUMax.
Cfg_CVIntlk REAL 0.0 CV value to use with interlock / bad value CV action (CVEU). Valid any float between
Cfg_CVEUMin and Cfg_CVEUMax.
Cfg_SPPwrUp REAL 0.0 Loop SP on Powerup (PVEU) used when Cfg_PwrUpLM is not 0. The value is clamped to
the SP range (Cfg_SPLoLim, Cfg_SPHiLim).
Valid any float between Cfg_PVEUMin and Cfg_PVEUMax.
Cfg_CVPwrUp REAL 0.0 Loop CV on Powerup (CVEU) used when Cfg_PwrUpLM is not 0. Value may be clamped
to the configured limits (Cfg_CVLoLim, CfgHiLim) in cascade or auto, and in manual if
so configured.
Valid any float between Cfg_CVEUMin and Cfg_CVEUMax.
Cfg_CVPwrUpSel SINT 0 Selection of Powerup (first run) CV in Auto or Cascade.
0 = Ignore Inp_InnerAvailable and always use Cfg_CVPwrUp or last (Powerdown) CV (if
Cfg_PwrpUpLM = 0),
1 = Process Inp_InnerAvailable.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 449
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
Cfg_HiHiDevLim REAL 1.5e+38 High-High PV deviation status threshold (PVEU).
Valid = 0.0 to maximum positive float.
Default is 1.5e+38.
Cfg_HiHiDevDB REAL 0.0 High-High PV deviation status deadband (PVEU).
Valid = 0.0 to Cfg_HiHiDevLim.
Default is 0.0.
Cfg_HiHiDevGateDly REAL 0.0 High-High PV deviation status gate delay (second).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_HiDevLim REAL 1.5e+38 High PV deviation status threshold (PVEU).
Valid = 0.0 to maximum positive float.
Default is 1.5e+38.
Cfg_HiDevDB REAL 0.0 High PV deviation status deadband (PVEU).
Valid = 0.0 to Cfg_HiDevLim.
Default is 0.0.
Cfg_HiDevGateDly REAL 0.0 High PV deviation status gate delay (second).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_LoDevLim REAL -1.5e+38 Low PV deviation status threshold (PVEU).
Valid = -maximum positive float to 0.0.
Default is -1.5e+38.
Cfg_LoDevDB REAL 0.0 Low PV deviation status deadband (PVEU).
Valid = 0.0 to abs(Cfg_LoDevLim).
Default is 0.0.
Cfg_LoDevGateDly REAL 0.0 Low PV deviation status gate delay (second).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_LoLoDevLim REAL -1.5e+38 Low-Low PV deviation status threshold (PVEU).
Valid = -maximum positive float to 0.0.
Default is -1.5e+38.
Cfg_LoLoDevDB REAL 0.0 Low-Low PV deviation status deadband (PVEU).
Valid = 0.0 to abs(Cfg_LoLoDevLim).
Default is 0.0.
Cfg_LoLoDevGateDly REAL 0.0 Low-Low PV deviation status gate delay (second).
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_CnfrmReqd SINT 0 Operator command confirmation required. Represents the type of command
confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PSet_Ratio REAL 1.0 Program setting for Ratio, loop mode Cascade/Ratio and Ratio enabled (unitless).
Valid = 0.0 to maximum positive float.
Default is 1.0.
PSet_SP REAL 0.0 Program setting for SP, loop mode Auto (PVEU).
Valid any float.
Default is 0.0.
450 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
PSet_SPTarget REAL 0.0 Program setting for SP target in ramp wizard (PVEU).
Valid any float.
Default is 0.0.
PSet_SPRampTime REAL 0.0 Program setting for time to reach SP target in ramp wizard (seconds).
Valid = 0.0 to 28800.0 seconds.
Default is 0.0.
PSet_CV REAL 0.0 Program setting for CV when loop mode is Manual (CVEU).
Valid any float.
Default is 0.0.
PSet_Owner DINT 0 Program owner request ID (non-zero) or release (zero).
Default is 0.
XSet_Ratio REAL 1.0 External setting for Ratio, loop mode Cascade/Ratio and Ratio enabled (unitless).
Valid = 0.0 to maximum positive float.
Default is 1.0.
XSet_SP REAL 0.0 External setting for SP, loop mode Auto (PVEU).
Valid any float.
Default is 0.0.
XSet_SPTarget REAL 0.0 External setting for SP target in ramp wizard (PVEU).
Valid any float.
Default is 0.0.
XSet_SPRampTime REAL 0.0 External setting for time to reach SP target in ramp wizard (seconds).
Valid = 0.0 to 28800.0 seconds.
Default is 0.0.
XSet_CV REAL 0.0 External setting for CV, loop mode Manual (CVEU).
Valid any float.
Default is 0.0.
PCmd_Casc BOOL False Program command to select Cascade/Ratio loop mode. The instruction clears this
operand automatically.
Default is false.
PCmd_Auto BOOL False Program command to select Auto loop mode. The instruction clears this operand
automatically.
Default is false.
PCmd_Man BOOL False Program command to select Manual loop mode. The instruction clears this operand
automatically.
Default is false.
PCmd_NormLM BOOL False Program command to select loop mode defined as Normal, see Cfg_NormLM. The
instruction clears this operand automatically.
Default is false.
PCmd_SPRampStart BOOL False Program command to initiate SP ramping. The instruction clears this operand
automatically.
Default is false.
PCmd_SPRampStop BOOL False Program command to stop SP ramping. The instruction clears this operand
automatically.
Default is false.
PCmd_Oper BOOL False Program command to select Operator (Program to Operator). The instruction clears
this operand automatically.
Default is false.
PCmd_Prog BOOL False Program command to select Program (Operator to Program). The instruction clears
this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 451
Chapter 1 PlantPAx
Public input member Data Default Value Description
Type
PCmd_Lock BOOL False Program command to lock Program (disallow Operator). The instruction clears this
operand automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL False Program command to unlock Program (allow Operator to acquire). The instruction
clears this operand automatically.
Default is false.
PCmd_Normal BOOL False Program command to select Normal command source (Operator or Program). The
instruction clears this operand automatically.
Default is false.
PCmd_Reset BOOL False Program command to reset all alarms and latched shed conditions requiring reset.
The instruction clears this operand automatically.
Default is false.
XCmd_Casc BOOL False External command to select Cascade/Ratio loop mode. The instruction clears this
operand automatically.
Default is false.
XCmd_Auto BOOL False External command to select Auto loop mode. The instruction clears this operand
automatically.
Default is false.
XCmd_Man BOOL False External command to select Manual loop mode. The instruction clears this operand
automatically.
Default is false.
XCmd_NormLM BOOL False External command to select loop mode defined as Normal, see Cfg_NormLM. The
instruction clears this operand automatically.
Default is false.
XCmd_SPRampStart BOOL False External command to initiate SP ramping. The instruction clears this operand
automatically.
Default is false.
XCmd_SPRampStop BOOL False External command to stop SP ramping. The instruction clears this operand
automatically.
Default is false.
XCmd_Acq BOOL False External command to acquire ownership (Operator/Program/Override/Maintenance to
External). The instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL False External command to release ownership if Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The instruction clears this operand
automatically.
Default is false.
XCmd_Reset BOOL False External command to reset all alarms and latched shed conditions. The instruction
clears this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL False External command to acknowledge and reset all alarms and latched shed conditions.
The instruction clears this operand automatically.
Default is false.
Public output member Data Type Description
EnableOut BOOL Enable output. This output state always reflects EnableIn input state.
Val_PV REAL Value of loop PV (PVEU).
Val_Ratio REAL Value of loop Ratio (unitless).
Val_SPSet REAL Value of selected SP after clamping and before ramping (PVEU).
Val_SP REAL Value of SP being used after clamping and ramping (PVEU).
452 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public output member Data Type Description
Val_SPTarget REAL Accepted setting for SP ramp target, endpoint for ramp wizard (PVEU).
Val_SPRampTime REAL Accepted setting for SP ramp time, time to reach target for ramp wizard (second).
Val_SPRampRoC REAL Calculated value of SP rate of change for ramping, from ramp wizard (PVEU/second).
Val_SPRoCIncr REAL Current value of SP rate of change limit increasing (PVEU/second). 0.0 = rate of change not limited.
Val_SPRoCDecr REAL Current value of SP rate of change limit decreasing (PVEU/second). 0.0 = rate of change not limited.
Val_E REAL Loop error, SP-PV for reverse action Cfg_CtrlAction = 0, PV-SP for direct action Cfg_CtrlAction = 1
(PVEU).
Val_CVSet REAL Loop CV after clamping and before ramping (CVEU).
Val_CVOut REAL Loop CV after clamping and ramping (CVEU).
Val_PVPercent REAL Loop PV (percent of span).
Val_SPPercent REAL Loop SP (percent of span).
Val_EPercent REAL Loop error, SP-PV for reverse action Cfg_CtrlAction = 0, PV-SP for direct action Cfg_CtrlAction = 1
(percent of span).
Val_CVOutPercent REAL Loop CV after ramping and clamping (percent of span).
Val_ExecTime REAL Actual PID algorithm execution period (second).
Out_Reset BOOL 1 = Reset command has been received and accepted.
Out_OwnerSts DINT Status of command source, owner command handshake and ready status:
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
SrcQ_IO SINT Source and quality of primary I/O PV quality (enumerated):
0 = Good, live, confirmed good,
1 = Good, live, assumed good,
2 = Good, no feedback, assumed good,
8 = Test, virtualized,
9 = Test, loopback,
10 = Test, manually entered,
16 = Uncertain, live, off-spec,
17 = Uncertain, substituted at device or bus,
18 = Uncertain, substituted at instruction,
19 = Uncertain, using last known good,
20 = Uncertain, using replacement value,
32 = Bad, signal failure,
33 = Bad, channel fault,
34 = Bad, module or communication fault,
35 = Bad, invalid configuration.
Publication PROCES-RM215A-EN-P - November 2023 453
Chapter 1 PlantPAx
Public output member Data Type Description
SrcQ SINT Source and quality of primary PV and CV value or status (enumerated):
0 = Good, live, confirmed good
1 = Good, live, assumed good
2 = Good, no feedback, assumed good
8 = Test, virtualized
9 = Test, loopback
10 = Test, manually entered
16 = Uncertain, live, off-spec
17 = Uncertain, substituted at device or bus
18 = Uncertain, substituted at instruction
19 = Uncertain, using last known good
20 = Uncertain, using replacement value
32 = Bad, signal failure
33 = Bad, channel fault
34 = Bad, module or communication fault
35 = Bad, invalid configuration
Sts_eSts SINT Loop mode:
0 = Unknown,
1 = Manual,
2 = Auto,
3 = Cascade (no Ratio),
4 = Ratio.
Sts_eFault SINT Loop fault:
0 = none,
1 = PV uncertain,
2 = Low PV deviation,
3 = High PV deviation,
4 = Low-Low PV deviation,
5 = High-High PV deviation,
6 = PV substituted,
7 = Interlock trip,
8 = SP fail,
9 = PV fail,
10 = CV fail,
11 = Configuration error.
Sts_eState SINT Internal logic state for animating state diagram on faceplate.
0 = Manual,
1 = PV deviation in deadband,
2 = PV deviation not in deadband,
3 = SP ramping,
4 = CV ramping,
5 = Ratio clamped,
6 = SP clamped,
7 = CV clamped,
8 = Windup Lo,
9 = Windup Hi,
10 = SP held,
11 = SP set to IntlkSP,
12 = CV held,
13 = CV set to IntlkCV,
14 = Hand,
15 = Initializing.
454 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_eNotify SINT Highest severity alarm status. All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT Highest severity alarm status. All alarm status enumerated values including related objects for CV, PV,
SP, CascSP:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiHiDev SINT High-High PV deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyHiDev SINT High PV deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 455
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_eNotifyLoDev SINT Low PV deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLoLoDev SINT Low-Low PV deviation alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFail SINT Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT Interlock trip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount DINT Count of unacknowledged alarms.
Sts_Casc BOOL 1 = Loop is in Cascade/Ratio mode.
Sts_Auto BOOL 1 = Loop is in Auto mode.
Sts_Man BOOL 1 = Loop is in Manual mode.
Sts_NormLM BOOL 1 = Loop is in Normal loop mode configured in Cfg_NormLM.
Sts_Initializing BOOL 1 = CV is initializing because of request Inp_UseCVInitialVal or when Inp_InnerAvailable=0.
Sts_WindupHi BOOL 1 = This loop winding up High, usually connects to Inp_WindupHi of outer loop.
Sts_WindupLo BOOL 1 = This loop winding up Low, usually connects to Inp_WindupLo of outer loop.
Sts_RatioClamped BOOL 1 = Selected Ratio is being clamped, used in faceplate animation.
Sts_IntlkSP BOOL 1 = SP value is being set by shed to Interlock SP.
456 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_SPHeld BOOL 1 = SP value is being set by shed to hold last good SP.
Sts_SPShedPV BOOL 1 = SP value is being set by shed to current PV.
Sts_SPShed BOOL 1 = SP value from Shed, 0 = SP from Program, Operator, Override (Auto), Casc SP Input (Cascade) or PV
Track (Manual).
Sts_SPTrackPV BOOL 1 = SP value is being set by PV tracking in Manual loop mode.
Sts_SPHiClamped BOOL 1 = Selected SP is being clamped at high limit.
Sts_SPLoClamped BOOL 1 = Selected SP is being clamped at low limit.
Sts_SPClamped BOOL 1 = Selected SP is being clamped, for faceplate animation.
Sts_SPRampingUp BOOL 1 = SP is ramping up toward Val_SPSet.
Sts_SPRampingDown BOOL 1 = SP is ramping down toward Val_SPSet.
Sts_SPRamping BOOL 1 = SP is ramping toward Val_SPSet, 0 = Ramp complete.
Sts_SPRampWizardInProgress BOOL 1 = SP is ramping toward SP target set by the owner in ramp wizard, 0 = Ramp complete.
Sts_SkipSPRoCLim BOOL 1 = SP rate limiting is being skipped, for faceplate animation.
Sts_DevDBAct BOOL 1 = PV deviation deadband active.
Sts_PVUncertain BOOL 1 = PV input value quality is uncertain.
Sts_PVBad BOOL 1 = PV input value, communications, quality or EU limit is bad.
Sts_SPBad BOOL 1 = Cascade SP input value quality is bad.
Sts_FFBad BOOL 1 = Feedforward term Inp_FF value is invalid.
Sts_FFPrevBad BOOL 1 = Feedforward term Inp_FFPrev value is invalid.
Sts_CVInfNaN BOOL 1 = CV value equal to +/- infinity or NaN detected.
Sts_CVBad BOOL 1 = CV value quality is bad or invalid or CV comms fault.
Sts_CVPrevBad BOOL 1 = Inp_CVPrev value is invalid.
Sts_HandFdbkBad BOOL 1 = Hand FB (Tieback) value quality is bad or invalid or communication fault.
Sts_IntlkCV BOOL 1 = CV value is being set by shed to Interlock CV.
Sts_CVHeld BOOL 1 = CV value is being set by shed to hold last good CV.
Sts_CVShed BOOL 1 = CV from shed, 0 = CV from Program, Operator, Override (Manual), or PID (Auto, Cascade).
Sts_CVHiClamped BOOL 1 = CV is being clamped at high limit.
Sts_CVLoClamped BOOL 1 = CV is being clamped at low limit.
Sts_CVClamped BOOL 1 = Selected CV is being clamped, used in faceplate animation.
Sts_CVRampingUp BOOL 1 = CV is ramping up toward Val_CVSet.
Sts_CVRampingDown BOOL 1 = CV is ramping down toward Val_CVSet.
Sts_CVRamping BOOL 1 = CV is ramping toward Val_CVSet, 0 = Ramp complete.
Sts_Active BOOL 1 = CV is greater than Cfg_MaxInactiveCV, show graphic symbol as active.
Sts_Available BOOL 1 = PID loop can be acquired by Program and is available for control.
Sts_CascAvailable BOOL 1 = PID inner loop is available for cascade control with an outer loop. 0 = PID inner loop is not
available, initialize outer loop to Val_SP.
Sts_ExtAvailable BOOL 1 = PID is available for external control. 0 = PID is not available, initialize outer loop to Val_SP.
Sts_IntlkAvailable BOOL 1 = Interlock availability OK. Device can be acquired by program and is available for control when
interlocks are OK.
Sts_Bypass BOOL 1 = Bypassable interlocks are bypassed.
Sts_BypActive BOOL 1 = Interlock bypassing is active (bypassed or Maintenance).
Sts_NotRdy BOOL 1 = PPID is not ready, see detail bits for reason.
Sts_NrdyCfgErr BOOL 1 = PPID is not ready: Configuration error.
Sts_NrdyInit BOOL 1 = PPID is not ready while CV is initialized (Inp_UseCVInitVal = 1).
Sts_NrdyIntlk BOOL 1 = PPID is not ready: Interlock Not OK (Shed requires reset).
Sts_NrdyFail BOOL 1 = PPID is not ready: Fail status is on (Shed requires reset).
Sts_NrdyCVFail BOOL 1 = PPID is not ready: CV Fail (Shed requires reset).
Sts_NrdyPVFail BOOL 1 = PPID is not ready: PV Fail (Shed requires reset).
Sts_NrdySPFail BOOL 1 = PPID is not ready: SP Fail (Shed requires reset).
Sts_NrdyOoS BOOL 1 = PPID is not ready: Out of Service.
Publication PROCES-RM215A-EN-P - November 2023 457
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_MaintByp BOOL 1 = Device has a Maintenance bypass function active.
Sts_NrdyInner BOOL 1 = Inner loop object is not available (Inp_InnerAvailable = 0) for this PPID.
Sts_Err BOOL 1 = Error in PPID configuration: see detail Err bits for reason.
Sts_ErrRatioLim BOOL 1 = Error in PPID configuration: Ratio clamping limits invalid.
Cfg_RatioLoLim > Cfg_RatioHiLim.
Sts_ErrSPLim BOOL 1 = Error in PPID configuration: SP clamping limits invalid.
Cfg_SPLoLim < Cfg_PVEUMin or
Cfg_SPHiLim > Cfg_PVEUMax or
Cfg_SPLoLim > Cfg_SPHiLim.
Sts_ErrCVLim BOOL 1 = Error in PPID configuration: CV clamping limits invalid.
Cfg_CVLoLim < Cfg_CVEUMin or
Cfg_CVHiLim > Cfg_CVEUMax or
Cfg_CVLoLim > Cfg_CVHiLim.
Sts_ErrPVEU BOOL 1 = Error in PPID configuration: PV scaling limits invalid. Cfg_PVEUMin >= Cfg_PVEUMax or
Cfg_PVEUMin is +-Inf.
Sts_ErrCVEU BOOL 1 = Error in PPID configuration: CV scaling limits invalid. Cfg_CVEUMin >= Cfg_CVEUMax or
Cfg_CVEUMin is +-Inf.
Sts_ErrDevDB BOOL 1 = Error in PPID configuration: PV deviation deadband invalid. Cfg_DevDBEnter > Cfg_DevDB, or
Cfg_DevDB < 0, or Cfg_DevDBEnter < 0.
Sts_ErrExecTime BOOL 1 = Error in PPID configuration: Execution time invalid, Cfg_ExecTime < 0.0 or Cfg_ExecTime >
2147483.0 seconds.
Sts_ErrPGain BOOL 1 = Error in PPID configuration: PGain invalid, Cfg_PGain < 0.
Sts_ErrIGain BOOL 1 = Error in PPID configuration: IGain invalid, Cfg_IGain < 0.
Sts_ErrDGain BOOL 1 = Error in PPID configuration: DGain invalid, Cfg_DGain < 0.
Sts_ErrCVTrackGain BOOL 1 = Error in PPID configuration: CV TrackGain invalid, Cfg_CVTrackGain < 0.
Sts_ErrPSPWeight BOOL 1 = Error in PPID configuration: SP weight in proportional term invalid, Cfg_PSPWeight < 0 or
Cfg_PSPWeight > 1.5.
Sts_ErrDSPWeight BOOL 1 = Error in PPID configuration: SP weight in derivative term invalid, Cfg_DSPWeight < 0 or
Cfg_DSPWeight > 1.5.
Sts_ErrSPRoCIncrLim BOOL 1 = Error in PPID configuration: Maximum allowed SP rate of change increasing value invalid,
Cfg_SPRoCIncrLim < 0.
Sts_ErrSPRoCDecrLim BOOL 1 = Error in PPID configuration: Maximum allowed SP rate of change decreasing value invalid,
Cfg_SPRoCDecrLim < 0.
Sts_ErrCVRoCIncrLim BOOL 1 = Error in PPID configuration: Maximum allowed CV rate of change increasing value invalid,
Cfg_CVRoCIncrLim < 0.
Sts_ErrCVRoCDecrLim BOOL 1 = Error in PPID configuration: Maximum allowed CV rate of change decreasing value invalid,
Cfg_CVRoCDecrLim < 0.
Sts_ErrSPIntlk BOOL 1 = Error in PPID configuration: SP value to use with Interlock or bad value SP action invalid, value out
of scale, Cfg_SPIntlk > Cfg_PVEUMax or < Cfg_PVEUMin.
Sts_ErrCVIntlk BOOL 1 = Error in PPID configuration: CV value to use with Interlock or bad value CV action invalid, value out
of scale, Cfg_CVIntlk > Cfg_CVEUMax or < Cfg_CVEUMin.
Sts_ErrSPPwrUp BOOL 1 = Error in PPID configuration: SP value to use in Powerup invalid, value out of scale, Cfg_SPPwrUp >
Cfg_PVEUMax or < Cfg_PVEUMin.
Sts_ErrCVPwrUp BOOL 1 = Error in PPID configuration: CV value to use in Powerup invalid, value out of scale, Cfg_CVIntlk >
Cfg_CVEUMax or < Cfg_CVEUMin.
Sts_ErrAlm BOOL 1 = Error in PPID configuration: At least one Logix tag-based alarm has invalid settings.
Sts_ErrHiHiDevLim BOOL 1 = Error in PPID configuration: High-High PV deviation threshold invalid, Cfg_HiHiDevLim < 0.
Sts_ErrHiHiDevGateDly BOOL 1 = Error in PPID configuration: Invalid High-High PV deviation gate delay timer preset (use 0.0 to
2147483.0).
Sts_ErrHiHiDevDB BOOL 1 = Error in PPID configuration: High-High PV deviation deadband invalid, Cfg_HiHiDevDB < 0 or
Cfg_HiHiDevDB > Cfg_HiHiDevLim.
Sts_ErrHiDevLim BOOL 1 = Error in PPID configuration: High PV deviation threshold invalid, Cfg_HiDevLim < 0.0.
458 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_ErrHiDevGateDly BOOL 1 = Error in PPID configuration: Invalid High PV deviation gate delay timer preset (use 0.0 to
2147483.0).
Sts_ErrHiDevDB BOOL 1 = Error in PPID configuration: High PV deviation deadband invalid, Cfg_HiDevDB < 0 or Cfg_HiDevDB
> Cfg_HiDevLim.
Sts_ErrLoDevLim BOOL 1 = Error in PPID configuration: Low PV deviation threshold invalid, Cfg_LoDevLim > 0.
Sts_ErrLoDevGateDly BOOL 1 = Error in PPID configuration: Invalid Low PV deviation gate delay timer preset (use 0.0 to 2147483.0).
Sts_ErrLoDevDB BOOL 1 = Error in PPID configuration: Low PV deviation deadband invalid, Cfg_LoDevDB < 0, or >
-Cfg_LoDevLim.
Sts_ErrLoLoDevLim BOOL 1 = Error in PPID configuration: Low-Low PV deviation threshold invalid, Cfg_LoLoDevLim > 0.0.
Sts_ErrLoLoDevGateDly BOOL 1 = Error in PPID configuration: Invalid Low-Low PV deviation gate delay timer preset (use 0.0 to
2147483.0).
Sts_ErrLoLoDevDB BOOL 1 = Error in PPID configuration: Low-Low PV deviation deadband invalid, Cfg_LoLoDevDB < 0, or >
-Cfg_LoLoDevLim.
Sts_eSrc INT The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_bSrc INT Active selection bitmap (for HMI totem pole with command source request selection):
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Hand BOOL 1 = Hand is selected, supersedes OoS, Maint, Ovrd, Ext, Prog, Oper.
Sts_OoS BOOL 1 = Out of Service is selected, supersedes Maint, Ovrd, Ext, Prog, Oper.
Sts_Maint BOOL 1 = Maintenance is selected, supersedes Ovrd, Ext, Prog, Oper.
Sts_Ovrd BOOL 1 = Override is selected, supersedes Ext, Prog, Oper.
Sts_Ext BOOL 1 = External is selected, supersedes Prog, Oper.
Sts_Prog BOOL 1 = Program is selected.
Sts_ProgLocked BOOL 1 = Program is selected and locked.
Sts_Oper BOOL 1 = Operator is selected.
Sts_OperLocked BOOL 1 = Operator is selected and locked.
Sts_ProgOperSel BOOL Program/Operator selection (latch) state: 1 = Program, 0 = Operator.
Sts_ProgOperLock BOOL Program/Operator lock (latch) state: 1 = Locked, 0 = Unlocked.
Sts_Normal BOOL 1 = Owner selection equals what is configured as Normal (Prog or Oper).
Sts_ExtReqInh BOOL 1 = External request inhibited.
Sts_ProgReqInh BOOL 1 = Program request inhibited, cannot get to Program from current owner.
Sts_MAcqRcvd BOOL 1 = Maintenance acquire command received this scan.
Publication PROCES-RM215A-EN-P - November 2023 459
Chapter 1 PlantPAx
Public output member Data Type Description
Sts_Alm BOOL 1 = An alarm is active.
Sts_AlmInh BOOL 1 = An alarm is shelved or disabled.
Sts_HiHiDevCmp BOOL 1 = PV deviation is above High-High limit, (Val_PV-Val_SP)>Cfg_HiHiDevLim.
Sts_HiHiDevGate BOOL 1 = PV deviation High-High gate is open.
Sts_HiHiDev BOOL 1 = PV deviation is above High-High limit, (Val_PV-Val_SP)>Cfg_HiHiDevLim, for gate open.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_HiHiDev.AlarmElement
Sts_HiDevCmp BOOL 1 = PV deviation is above High limit, (Val_PV-Val_SP)>Cfg_HiDevLim.
Sts_HiDevGate BOOL 1 = PV deviation High gate is open.
Sts_HiDev BOOL 1 = PV deviation is above High limit, (Val_PV-Val_SP)>Cfg_HiDevLim, for gate open.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_HiDev.AlarmElement
Sts_LoDevCmp BOOL 1 = PV deviation is below Low limit, (Val_PV-Val_SP)<Cfg_LoDevLim.
Sts_LoDevGate BOOL 1 = PV deviation Low gate is open.
Sts_LoDev BOOL 1 = PV deviation (loop error) is below Low limit, (Val_PV-Val_SP)<Cfg_LoDevLim, for gate open.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_LoDev.AlarmElement
Sts_LoLoDevCmp BOOL 1 = PV deviation is below Low-Low limit, (Val_PV-Val_SP)<Cfg_LoLoDevLim.
Sts_LoLoDevGate BOOL 1 = PV deviation Low-Low gate is open.
Sts_LoLoDev BOOL 1 = PV deviation (loop error) is below Low-Low limit, (Val_PV-Val_SP)<Cfg_LoLoDevLim, for gate open.
There is a predefined default discrete tag-based alarm for the status. Set standard configuration
members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_LoLoDev.AlarmElement
Sts_Fail BOOL 1 = Loop failure: PV bad, SP bad, CV bad or Hand feedback bad statuses are on or are latched on
without reset. There is a predefined default discrete tag-based alarm for the status. Set standard
configuration members of the discrete tag-based alarm. Access alarm elements using this format:
[email protected]_Fail.AlarmElement
Sts_IntlkTrip BOOL 1 = Interlock Not OK caused loop output to hold or change. There is a predefined default discrete
tag-based alarm for the status. Set standard configuration members of the discrete tag-based alarm.
Access alarm elements using this format:
[email protected]_IntlkTrip.AlarmElement
Sts_RdyReset BOOL 1 = A latched alarm or shed condition is ready to be reset.
Sts_RdyAck BOOL 1 = An alarm is ready to be acknowledged.
XRdy_Acq BOOL 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Casc BOOL 1 = Ready for XCmd_Casc, enable HMI button.
XRdy_Auto BOOL 1 = Ready for XCmd_Auto, enable HMI button.
XRdy_Man BOOL 1 = Ready for XCmd_Man, enable HMI button.
XRdy_NormLM BOOL 1 = Ready for XCmd_NormLM, enable HMI button.
XRdy_SPRampStart BOOL 1 = Ready for XCmd_SPRampStart, enable HMI button.
XRdy_SPRampStop BOOL 1 = Ready for XCmd_SPRampStop, enable HMI button.
XRdy_Reset BOOL 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL 1 = Ready for XCmd_ResetAckAll, enable HMI button.
Val_Owner DINT Current object owner ID, 0 = Not owned.
460 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private input member Data Type Default Description
Value
CmdSrc P_COMMAND_SOU Control or Command Source Selection.
RCE
OCmd_SPRampStart BOOL 0 Operator command to initiate SP ramping. The instruction clears this operand
automatically.
Default is 0.
OCmd_SPRampStop BOOL 0 Operator command to stop SP ramping. The instruction clears this operand
automatically.
Default is 0.
OSet_Ratio REAL 1.0 Operator setting for Ratio, loop mode Cascade/Ratio and Ratio enabled (unitless).
Valid = 0.0 to maximum positive float.
Default is 1.0.
OSet_SP REAL 0.0 Operator setting for Setpoint, loop mode Auto (PVEU).
Valid any float.
Default is 0.0.
OSet_SPTarget REAL 0.0 Operator setting for Setpoint ramp target, endpoint for ramp wizard (PVEU).
Valid any float.
Default is 0.0.
OSet_SPRampTime REAL 0.0 Operator setting for Setpoint ramp time, time to reach target for ramp wizard
(seconds).
Valid = 0.0 to 28800.0 seconds.
Default is 0.0.
OSet_CV REAL 0.0 Operator setting for CV, loop mode Manual (CVEU).
Valid any float.
Default is 0.0.
MCmd_Bypass BOOL 0 Maintenance command to bypass all bypassable interlocks. The instruction clears
this operand automatically.
Default is 0.
MCmd_Check BOOL 0 Maintenance command to check, not bypass, all interlocks. The instruction clears
this operand automatically.
Default is 0.
MCmd_OoS BOOL 0 Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is 0.
MCmd_IS BOOL 0 Maintenance command to select In Service. The instruction clears this operand
automatically.
Default is 0.
MCmd_Acq BOOL 0 Maintenance command to acquire ownership (Operator/Program/External/Override
to Maintenance). The instruction clears this operand automatically.
Default is 0.
MCmd_Rel BOOL 0 Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand
automatically.
Default is 0.
OCmd_Oper BOOL 0 Operator command to select Operator (Program to Operator). The instruction clears
this operand automatically.
Default is 0.
OCmd_Prog BOOL 0 Operator command to select Program (Operator to Program). The instruction clears
this operand automatically.
Default is 0.
Publication PROCES-RM215A-EN-P - November 2023 461
Chapter 1 PlantPAx
Private input member Data Type Default Description
Value
OCmd_Lock BOOL 0 Operator command to lock Operator (disallow Program). The instruction clears this
operand automatically.
Default is 0.
OCmd_Unlock BOOL 0 Operator command to unlock or release (allow Program to acquire) ownership. The
instruction clears this operand automatically.
Default is 0.
OCmd_Normal BOOL 0 Operator command to select Normal (Operator or Program). The instruction clears
this operand automatically.
Default is 0.
OCmd_Auto BOOL 0 Operator command to select Automatic loop mode. The instruction clears this
operand automatically.
Default is 0.
OCmd_Casc BOOL 0 Operator command to select Cascade/Ratio loop mode. The instruction clears this
operand automatically.
Default is 0.
OCmd_Man BOOL 0 Operator command to select Manual loop mode. The instruction clears this operand
automatically.
Default is 0.
OCmd_NormLM BOOL 0 Operator command to select loop mode configured as Normal (see Cfg_NormLM).
The instruction clears this operand automatically.
Default is 0.
OCmd_Reset BOOL 0 Operator command to reset all alarms and latched shed conditions. The instruction
clears this operand automatically.
Default is 0.
OCmd_ResetAckAll BOOL 0 Operator command to acknowledge and reset all alarms and latched shed
conditions. The use of OCmd_ResetAckAll is restricted to HMI. The instruction clears
this operand automatically.
Default is 0.
Private output member Data Type Description
HMI_BusObjIndex HMI bus object index.
DINT Default is 0.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Auto BOOL 1 = Ready for OCmd_Auto, enables HMI button.
ORdy_Casc BOOL 1 = Ready for OCmd_Casc, enables HMI button.
ORdy_CV BOOL 1 = Ready for OSet_CV, enables data entry field.
ORdy_Man BOOL 1 = Ready for OCmd_Man, enables HMI button.
ORdy_NormLM BOOL 1 = Ready for OCmd_NormLM, enables HMI button.
ORdy_Ratio BOOL 1 = Ready for OSet_Ratio, enables data entry field.
462 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private output member Data Type Description
ORdy_SP BOOL 1 = Ready for OSet_SP, enables data entry field.
ORdy_SPRampStart BOOL 1 = Ready for OCmd_SPRampStart, enables HMI button.
ORdy_SPRampStop BOOL 1 = Ready for OCmd_SPRampStop, enables HMI button.
ORdy_SPTarget BOOL 1 = Ready for OSet_SPTarget, enables data entry field.
ORdy_SPRampTime BOOL 1 = Ready for OSet_SPRampTime, enables data entry field.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset, enables HMI button.
ORdy_ResetAckAll BOOL 1 = At least one alarm or latched shed condition requires Reset or Acknowledgement.
Public InOut member Data Type Description
BusObj BUS_OBJ Bus component
BUS_OBJ Structure
The BUS_OBJ structure links the process PID instruction to other instructions
in a complex control strategy, typically into a hierarchy. A Bus Object rolls up
status and alarm information from lower-level devices to higher-level control
and fans out commands from higher-level control to lower-level instructions.
Items link to the bus by referencing a single member of the BUS_OBJ array
associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete tag-based alarms are defined for these members.
Publication PROCES-RM215A-EN-P - November 2023 463
Chapter 1 PlantPAx
Member Alarm Name Description
Sts_Fail Alm_Fail Instruction Failure.
Raised when the PPID instruction reports an Instruction Fault. The Fault is reported under any of these
conditions:
• Setpoint (SP) bad quality, Sts_SPBad = 1,
• Process variable (PV) bad quality, Sts_PVBad = 1,
• Control variable (CV) bad quality, Sts_CVBad = 1,
• Hand feedback (HandFdbk) bad quality, Sts_HandFdbkBad = 1.
Sts_IntlkTrip Alm_IntlkTrip Interlock Trip alarm.
Raised when non-bypassable interlocks are not OK or bypassable interlocks are not OK when not bypassed.
NAND(Inp_NBIntlkOK,(OR(Inp_IntlkOK,Stst_BypActive))).
Sts_HiHiDev Alm_HiHiDev High-High Deviation.
Raised when the amount by which the PV exceeds the setpoint or reference is above the High-High Deviation
threshold. The threshold, deadband, gating, and timing are set in configuration.
Sts_HiDev Alm_HiDev High Deviation.
Raised when the amount by which the PV exceeds the setpoint or reference is above the High Deviation
threshold. The threshold, deadband, gating, and timing are set in configuration.
Sts_LoDev Alm_LoDev Low Deviation.
Raised when the amount by which the PV exceeds the setpoint or reference is below the Low Deviation
threshold. (Since the threshold is a negative number, this reading is the amount the PV falls below the
setpoint or reference.) The threshold, deadband, gating, and timing are set in configuration.
Sts_LoLoDev Alm_LoLoDev Low-Low Deviation.
Raised when the amount by which the PV exceeds the setpoint or reference is below the Low-Low Deviation
threshold. (Since the threshold is a negative number, this reading is the amount the PV falls below the
setpoint or reference.) The threshold, deadband, gating, and timing are set in configuration.
Mark the alarm as used or unused and set standard configuration members of
the discrete tag-based alarm. Access alarm elements using this format:
[email protected].
464 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
There are Program, Operator, and External commands that enable the Reset
and Reset & Acknowledge of all alarms of the instruction (Alarm Set) at the
same time. This diagram shows how alarm condition interact with alarm
command.
Publication PROCES-RM215A-EN-P - November 2023 465
Chapter 1 PlantPAx
These diagrams explain how alarm condition high-high deviation, high
deviation, low deviation, low-low deviation, interlock trip and fail are derived.
466 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Publication PROCES-RM215A-EN-P - November 2023 467
Chapter 1 PlantPAx
Operation
In principle the PID core algorithm calculates CV with a formula configured
for dependent gains,
where K is controller gain [-], Ti is reset time [minutes], Td is rate time
[minutes]. Alternatively the instruction is configured for independent gains,
where KP is proportional gain [-], KI is integral gain [1/minute], and KD is
derivative gain [minutes]. Use independent gains when you want the three
gains for the proportional, integral and derivative terms to operate
independently.
This principle diagram illustrates additional configuration options with
derivative smoothing and weighted setpoint used in error calculations
entering proportional and derivative term, and error squared in proportional
term and CV tracking:
The following section uses exact tag names from P_PID structure. Variables
without a prefix, such as SP, PV, CVPrev, CVTrack, FF, FFPrev, and CtrlAction,
are internal variables used in calculation. Variables with prefix Inp_, Val_, of
468 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
data type REAL are in engineering units. Variables without prefix of data type
REAL are in % of span.
Ts [second] is a current period of PID algorithm execution, i.e. time elapsing
from the previous scan of the PPID instruction.
d is a one-scan delay operator. For example:
Variables entering the PID formula must be in percent of span so the PID
gains do not depend on engineering units used for PV and CV. Scaling of
these parameters is calculated as
Perc=min(100,max(0,(EU-EUMin)/(EUMax-EUMin)*100)).
• Val_SP,
• Inp_PV,
• Inp_CVPrev,
• Inp_CVTrack,
• Cfg_CVHiLim,
• Cfg_LoLim,
• Cfg_CVRoCIncrLim,
• Cfg_CVRoCDecrLim
Scaling of Inp_FF and Inp_FFPrev is calculated as
Perc=min(100,max(-100,(EU-EUMin)/(EUMax-EUMin)*100)).
Reverse/Direct control action affects loop error sign that will be used in
further calculations:
Loop error calculations:
Publication PROCES-RM215A-EN-P - November 2023 469
Chapter 1 PlantPAx
Velocity PID algorithm
This diagram of the velocity PID algorithm describes the CV calculation.
Additional detailed diagrams in this section describe all PPID configuration
options.
470 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Calculation of derivative term:
Modified error calculation:
Ec(k) = Cfg_DSPCoef(k) * SP(k) – PV(k)
Ec(k) = Cfg_DSPCoef(k) * SP(k–1) – PV(k–1)
∆Ec (k) = Ec(k) – Ec(k–1)
= (Cfg_DSPCoef(k) * SP(k) – PV(k)) – (Cfg_DSPCoef(k) * SP(k–1) – PV(k–
1))
∆Ec (k–1) = Ec(k–1) – Ec(k–2)
= (Cfg_DSPCoef(k) * SP(k–1) – PV(k–1)) – (Cfg_DSPCoef(k) * SP(k–2) –
PV(k–2))
Contribution of derivative term if Cfg_UseDSmooting=0, Cfg_Dependent=1
and Cfg_GainBumpless=1.
dD(k) = Cfg_PGain(k) * Cfg_DGain(k) * (∆Ec(k) – ∆Ec(k–1))
Contribution of derivative term if Cfg_UseDSmooting=0, Cfg_Dependent=1
and Cfg_GainBumpless=0.
dD(k) = Cfg_PGain(k) * Cfg_DGain(k) * ∆Ec(k) – Cfg_PGain(k–1) *
Cfg_DGain(k–1) * ∆Ec(k–1)
Contribution of derivative term if Cfg_UseDSmooting=0, Cfg_Dependent=0
and Cfg_GainBumpless=1.
dD(k) = Cfg_DGain(k) * (∆Ec(k) – ∆Ec(k–1))
–
Contribution of derivative term if Cfg_UseDSmooting=0, Cfg_Dependent=0
and Cfg_GainBumpless=0.
dD(k) = Cfg_DGain(k) * ∆Ec(k) – Cfg_DGain(k–1) * ∆Ec(k–1)
If derivative filter is enabled (Cfg_UseDSmooting=1), the calculation is as
follows.
Publication PROCES-RM215A-EN-P - November 2023 471
Chapter 1 PlantPAx
DCoef parameter for dependent gains Cfg_Dependent=1.
For independent gains Cfg_Dependent=0.
Contribution of derivative term if Cfg_UseDSmooting=1 and
Cfg_GainBumpless=1.
Contribution of derivative term if Cfg_UseDSmooting=1 and
Cfg_GainBumpless=0.
472 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Feedforward term.
Publication PROCES-RM215A-EN-P - November 2023 473
Chapter 1 PlantPAx
The windup prevention mechanism monitors the internal CV value and drives
the integral term. The windup prevention mechanism uses these rules:
• If the internal CV is above the currently applied upper limit, do not
integrate upward.
• If the internal CV is within the currently applied limits, integrate but
do not violate limits.
474 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• If the internal CV is below the currently applied lower limit, do not
integrate downward.
Publication PROCES-RM215A-EN-P - November 2023 475
Chapter 1 PlantPAx
Position PID algorithm
The PPID instruction is configured for the position form of the PD algorithm
without bumpless transfer from Manual to Auto or Cascade if
Cfg_PositionBump = 1. This option is selected when Cfg_PositionBump = 1
and Cfg_IGain = 0 and change of proportional gain is not bumpless even if
Cfg_GainBumpless =1. This feature can also be applied to the velocity PID
algorithm to behave as it would work on error and not error change.
Note: The feedforward is relative to CVEUMin, though if Cfg_PositionBump = 1 the control action is
calculated internally as Val_CVOutPercent =
Cfg_PGain*Val_EPercent+Inp_FF/(Cfg_CVEUMax-Cfg_CVEUMin)*100 plus optional derivative term.
Deviation deadband
CV is not sensitive to loop error variation when within the band around zero
error. Configured band levels allow for additional hysteresis. Deadband level
for PV approaching SP (Cfg_DevDBEnter) may be set lower than deadband
level for PV going away from SP (Cfg_DevDB). Active deadband status
(Sts_DevDBAct) is set for PV within deadband. An option to stop CV moves or
just stop the integration while leaving proportional and derivative action live
when in deadband is provided (Cfg_UseIntegDevDB).
476 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
SP handling
The PPID instruction checks the setpoint for validity before the SP value is
provided to the PID algorithm for processing. SP fails if:
• SP clamping limits are invalid (Sts_ErrSPLim=1), or
• PV scaling limits are invalid (Sts_ErrPVEU=1), or
• The loop mode is Cascade and cascade SP is NaN or Inf, or
• Cascade is Ratio (Cfg_HasRatio=1) and ratio clamping limits are
invalid.
SP value (Val_SPSet) is shed to the configured setpoint value Cfg_SPIntlk and
the status flag is set (Sts_IntlkSP=1) if:
• Interlock trips and the follow up action is to use Cfg_SPIntlk as the
setpoint value(Cfg_IntlkTripSPAction=2), or
• SP fails and the instruction is configured to follow with using
Cfg_SPIntlk as the setpoint (Cfg_SPFailSPAction=2), or
• PV fails and the instruction is configured to use Cfg_SPIntlk as the
setpoint value (Cfg_PVFailSPAction=2), or
• CV fails and the instruction is configured to use Cfg_SPIntlk as the
setpoint value (Cfg_CVFailSPAction=2).
SP value holds, shed to the current SP value and the status flag is set
(Sts_SPHeld=1), if:
• Interlock trips and the follow up action is to leave the value unchanged
(Cfg_IntlkTripSPAction=1), or
• SP fails and the instruction is configured to follow with the setpoint
not changed (Cfg_SPFailSPAction=1), or
• PV fails and the instruction is configured to follow with the setpoint
not changed (Cfg_PVFailSPAction=1), or
Publication PROCES-RM215A-EN-P - November 2023 477
Chapter 1 PlantPAx
• CV fails and the instruction is configured to follow with the setpoint
not changed (Cfg_CVFailSPAction=1) and higher shed priority is not
applied (Sts_IntlkSP=0).
SP value sets to the current PV value (Val_SPSet=Val_PV) and the status flag is
set (Sts_SPShedPV=1) if:
• Interlock trips and the follow up action is to leave the value unchanged
(Cfg_IntlkTripSPAction=3), or
• SP fails and the instruction is configured to follow with the setpoint
not changed (Cfg_SPFailSPAction=3), or
• CV fails and the instruction is configured to follow with the setpoint
not changed (Cfg_CVFailSPAction=3) and higher shed priority is not
applied (Sts_IntlkSP=0 & Sts_SPHeld=0) and PV is good
(Sts_PVBad=0).
Shed conditions win over other SP selections, in Auto from Program,
Operator, Override SP, in Cascade from CascSP, in Manual from PV to track.
If SP is not from shed and SP clamping limits are valid, other sources for SP
value are checked.
478 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
If the loop is not Cascade and Operator has SP, OSet_SP is used.
If the loop is not Cascade and Program has SP, PSet_SP is used.
If the loop is not Cascade and External has SP, XSet_SP is used.
If the loop is not Cascade and Override is selected, Inp_OvrdSP is used.
For the loop in Cascade Inp_CascSP × Val_Ratio is used. If Cascade is not
Ratio Val_Ratio=1.
The instruction is ready to receive a new SP from the operator (ORdy_SP) if:
• Tracking is not enabled (Cfg_SetTrack=0), or
• Operator has loop mode in Auto, or Operator has loop mode in Manual
and SP does not track PV in Manual (Cfg_PVTrack=0), or
• Command source is Hand in Auto, or command source is Hand in
Manual and SP does not track PV in Manual (Cfg_PVTrack=0), or
• Command source is Override and SP is not configured for tracking in
Override (Cfg_SetTrackOvrdHand=0).
SP tracks PV value (Val_PV) and sets tracking status Sts_SPTrackPV=1 if loop
mode is Manual, and instruction is configured for tracking in Manual
(Cfg_PVTrack=1), and no SP shed condition is active (Sts_SPShed=0), and PV
is not bad (Sts_PVBad=0).
SP is clamped at Cfg_SPHiLim and Cfg_SPLoLim and clamping status is set
when clamped (Sts_SPClamped=1) if SP is not held by shed (Sts_SPHeld=0),
and SP is not set to interlock SP by shed (Sts_IntlkSP=0), and SP clamping
limits are valid (Sts_ErrSPLim=0).
SP ramp wizard
SP ramp wizard allows Operator/Program/External/Override to enter the SP
target and time to reach target (ramp time) and calculate SP moves to reach
entered target in entered time when starting from current SP when the
wizard is commanded to start. Ramping characteristic is defined by the SP
ramp target (SPTarget) and SP ramp time (SPRampTime) as described below.
SP target and ramp time entry is permitted (ORdy_SPTarget=1,
ORdy_SPRampTime=1) and Val_SPTarget copied to Val_SPSet if:
• Setpoint ramp wizard is permitted (Cfg_HasSPRamp=1), and
Program/Operator/External setting is not tracked (Cfg_SetTrack=0),
or
Publication PROCES-RM215A-EN-P - November 2023 479
Chapter 1 PlantPAx
• Operator has SP in Auto, or command source is Hand in Auto loop
mode.
SP ramping
Setpoint ramping prevents both CV spikes and bumps by eliminating sudden
setpoint changes. Although setpoint ramping can be an advantage for single
loop control or for the primary (outer) controller of a cascade configuration,
neither setpoint ramping nor proportional-on-PV should be used on the
secondary (inner) controller of a cascade loop, as that would degrade the
responsiveness of the secondary loop.
480 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
SP ramping is skipped, SP target (Val_SPSet) is used directly for final setpoint
(Val_SP), skip status is set Sts_SkipSPRoCLim=1, and ramp reported complete
Sts_SPRamping=0 under these conditions:
• Setpoint clamping limits are invalid, Sts_ErrSPLim=1, or
• PPID is Out of Service, or
• PPID is configured to skip RoC limiting Cfg_SkipSPRoCLim=1 and the
PPID is in Interlock/Maintenance/Override, or
• SP value tracks PV value in Manual loop mode (Sts_SPTrackPV=1), or
• Current value of SP rate of change limit increasing is zero
(Val_SPRoCIncr=0) and current SP target (Val_SPSet) is above current
SP, or
• Current value of SP rate of change limit decreasing is zero
(Val_SPRoCDecr=0) and current SP target (Val_SPSet) is below current
SP.
SP ramping executes if these bullets are all true:
• not skipped (Sts_SkipSPRoCLim=0),
• the setpoint has not reached its target Val_SPSet,
• absolute value of loop deviation (|Val_E|) does not exceed configured
maximum ramp deviation, |Val_E|≤ Cfg_SPRampMaxDev.
If |Val_E|> Cfg_SPRampMaxDev, then actual RoC limits Val_SPRoCDecr and
Val_SPRoCIncr are set to zero and the SP does not change.
Publication PROCES-RM215A-EN-P - November 2023 481
Chapter 1 PlantPAx
SP scaling
If PV scaling limits are valid (Sts_ErrPVEU=0) SP in PVEU is scaled to percent
used in PID calculation, SP =
(SPEU-Cfg_PVEUMin)/(Cfg_PVEUMax-Cfg_PVEUMin)×100.
Ratio selection and clamping
The PPID instruction is ready for the Operator to enter a Ratio if the Cascade
loop mode is Ratio (Cfg_HasRatio=1), ratio clamping limits are not invalid,
and the PPID instruction is not configured for tracking, or Operator has
Ratio, or in Hand.
If the PPID instruction allows Cascade-Ratio (Cfg_HasRatio=1) and ratio
clamping limits are not invalid, then the source for Ratio is selected based on
the command source:
• PSet_Ratio if Program has Ratio,
• OSet_Ratio if Operator has Ratio,
• XSet_Ratio if External has Ratio,
• Inp_OvrdRatio if Override is selected.
If the PPID instruction allows Cascade-Ratio (Cfg_HasRatio=1) and ratio
clamping limits are not invalid, Ratio is clamped at Cfg_RatioHiLim and
Cfg_RatioLoLim. If clamping is active Sts_RatioClamped is set.
If the loop does not have Ratio or Ratio clamping limits are invalid, the Ratio
is set to 1.0 (Val_Ratio = 1.0).
SP and Ratio tracking for bumpless transfer
Val_SPSet is copied back to all inactive SP settings to allow bumpless transfer
when the SP owner changes.
SP tracking is applied if PPID is configured for it (Cfg_SetTrack=1) and:
• Loop mode is not in Override nor Hand, or
• Loop mode is in Override or Hand and PPID is configured to track in
Override and Hand loop mode (Cfg_SetTrackOvrdHand=1), or
• Loop mode is in Cascade, or
• Loop mode is in Manual and Cfg_PVTrack=1.
482 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram shows the main steps in SP processing before the SP value
enters the PID formula for calculating CV.
Publication PROCES-RM215A-EN-P - November 2023 483
Chapter 1 PlantPAx
CV handling
CV selection in Manual
In Manual loop mode, if CV clamping limits are valid, the CV is selected from
the active source (Program/ Operator/ External/ Override). If Program has
CV, PSet_CV is selected, and so on. The PPID instruction is ready for OSet_CV
(ORdy_CV=1) under the following conditions: operator entry is not configured
for tracking in Program/Operator/External (Cfg_SetTrack=0), or command
source is Hand or Override and operator entry is not configured for tracking
in Hand or Override (Cfg_SetTrackOvrdHand=0).
CV shed
Val_CVSet holds the last good CV value and the CV value replacement status is
set (Sts_CVHeld=1) when
• Interlock trips and CV action is configured for last good CV value
(Cfg_IntlkTripCVAction=1), or
• SP fails and follow up action on CV is configured for last good CV value
(Cfg_SPFailCVAction=1) and the loop mode is Auto or Cascade or SP
did not fail in previous scan (SP fail rising edge), or
• PV fails and follow up action on CV is configured for last good CV
value (Cfg_PVFailCVAction=1) and the loop mode is Auto or Cascade or
PV did not fail in previous scan (PV fail rising edge), or
• PV substituted at PAI (Inp_PVSrcQ=18) and the loop mode is Auto or
Cascade, or
• CV fails and follow up action on CV is configured for last good CV
value (Cfg_CVFailCVAction=1) and the loop mode is Auto or Cascade or
CV did not fail in previous scan (CV fail rising edge).
For Sts_CVHeld=1 the CV is not updated.
Note: When PV, CV, or SP fails, the last good CV value stays at output, but it can be still overwritten in
Manual loop mode.
484 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Val_CVSet sets to Cfg_CVIntlk and the CV value replacement status is set
(Sts_IntlkCV=1) when:
• Interlock trips and CV action is configured for Cfg_CVIntlk
(Cfg_IntlkTripCVAction=2), or
• SP fails and follow up action on CV is configured for Cfg_CVIntlk
(Cfg_SPFailCVAction=2) and loop mode is Auto or Cascade or SP did
not fail in previous scan (SP fail rising edge), or
• PV fails and follow up action on CV is configured for Cfg_CVIntlk
(Cfg_PVFailCVAction=2) and loop mode is Auto or Cascade or PV did
not fail in previous scan (PV fail rising edge), or
• CV fails and follow up action on CV is configured for Cfg_CVIntlk
(Cfg_CVFailCVAction=2), and loop mode is Auto or Cascade or CV did
not fail in previous scan (CV fail rising edge), or
• PPID is out of service.
Publication PROCES-RM215A-EN-P - November 2023 485
Chapter 1 PlantPAx
Note: When PV, CV, or SP fails, the Cfg_CVIntlk value stays at output, but it can be still
overwritten in Manual loop mode.
If CV value is being set by shed, to interlock CV or hold last good CV value,
Sts_CVShed=1.
CV clamping
If CV clamping limits are valid (Sts_ErrCVLim=0) and the loop mode is not
Manual, or is Manual but the configuration is set not to skip CV clamping
(Cfg_SkipCVManLim=0), the calculated or set value of CV (CVSet) is clamped
at Cfg_CVHiLim and Cfg_CVLoLim. The corresponding status bits
(Sts_CVHiClamped, Sts_CVLoClamped, and Sts_CVClamped) are set if the CV
is clamped.
486 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
CV rate of change limiting
If the PPID instruction is not configured to skip CV RoC limiting in Manual
(Cfg_SkipCVManRoC=0) and the loop mode is Manual and PPID is
configured for RoC limiting (Cfg_CVRoCIncrLim>0, Cfg_CVRoCDecrLim>0)
and the target value of CV is greater than
CVOut_previous+Cfg_CVRoCIncrLim*Ts (Ts is current PPID scan time), the
CVOut is calculated as CVOut= CVOut_previous+Cfg_CVRoCIncrLim*Ts. If
the target value of CV is lower than CVOut_previous-Cfg_CVRoCDecrLim*Ts
(Ts is current PPID scan time) then CVOut=
CVOut_previous-Cfg_CVRoCDecrLim*Ts. If ramping is active, status bits are
set (Sts_CVRampingUp/Sts_CVRampingDown=1, Sts_CVRamping=1). The
status bits are cleared if CVOut reaches the target. If ramping is not active the
CV target is copied to CVOut.
CV output in percent
CVOut, which is calculated in Auto/Cascade or entered from various sources
in Manual, is scaled to percent and made available as Val_CVOutPercent.
Val_CVOutPercent=0 if CV scaling limits are invalid.
Publication PROCES-RM215A-EN-P - November 2023 487
Chapter 1 PlantPAx
This diagram shows the main steps in CV processing.
488 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Interlock handling
Maintenance commands to bypass or check bypassable interlocks are
processed. Interlock bypassing is active if requested (MCmd_Bypass=1). The
bypassing request remains active (Sts_Bypass=1) until a maintenance
command to check bypassable alarms (MCmd_Check=1) is received.
Bypassing is active (Sts_BypActive=1) if requested (Sts_Bypass=1), or in
Maintenance (Sts_Maint=1), or in Override (Sts_Ovrd) if the instruction is
configured for bypassing interlocks in Override (Cfg_OvrdIntlk). If an
Interlock is NOT OK (bypassable or not), and if any action is configured on the
Interlock, the Interlock NOT OK latch is shed.
Initialization and Powerup
The instruction must be initialized to execute properly. The instruction is
normally initialized automatically in the instruction first run (for example,
after power up). Re-initialization can be requested any time by setting
Inp_InitializeReq = 1. This operand is cleared in the instruction automatically.
For proper initialization, when adding the instruction while performing an
online edit of the code, make sure that Inp_InitializeReq = 1 (default value).
Action performed in initialization:
• Owner command set to None,
• Override command set to None,
• Maintenance commands to bypass and check interlocks are cleared,
• Operator, Program and External commands are cleared,
• latched shed faults are cleared,
• all timers are reset.
This section defines PPID actions on Loop mode, SP and CV in initialization
(Power up).
Loop mode handling in Power up Normal:
• Normal loop mode is disabled (Cfg_NormLM=0) if loop mode defined
as normal is invalid (Cfg_NormLM<0 | >3), or normal loop mode is set
Cascade but the instruction does not allow Cascade in configuration
(Cfg_HasCasc ≠ 1 & Cfg_NormLM = 3),
• Loop mode is set to Manual if loop mode for Power up (Cfg_PwrUpLM)
is Normal and normal loop mode is Manual, or loop mode for Power up
in Manual,
• Loop mode is set to Auto if normal loop mode for Power up is Normal
and normal loop mode is Auto, or loop mode for Power up in Auto,
• Loop mode is set to Cascade if normal loop mode for Power up is
Normal and normal loop mode is Cascade, or loop mode for Power up
in Cascade.
Cascade SP handling in Power up:
Publication PROCES-RM215A-EN-P - November 2023 489
Chapter 1 PlantPAx
• Inp_CascSP = Cfg_SPPwrUp if loop mode in Powerup (Cfg_PwrUpLM)
is explicitly provided as Manual/ Auto/ Cascade/ Normal and the
Cascade loop mode is not Ratio, or Val_Ratio = 0,
• Inp_CascSP = Cfg_SPPwrUp × Val_Ratio if loop mode in Powerup is
explicitly provided as Manual/ Auto/ Cascade/ Normal and the Cascade
loop mode is Ratio and Val_Ratio ≠ 0.
SP handling in Power up. All SP inputs, interval SP values, and output SP
values are overwritten by SP value configured for Power up:
• Cfg_SPPwrUp → PSet_SP, OSet_SP, XSet_SP, Inp_OvrdSP,
• Cfg_SPPwrUp → PSet_SPTarget, OSet_SPTarget, XSet_SPTarget,
Inp_OvrdSPTarget,
• Cfg_SPPwrUp → Val_SPTarget, Val_SPSet, Val_SP.
CV handling in Power up. All CV inputs, internal CV values, and output CV
values are overwritten by CV value configured for Power up:
• Cfg_CVPwrUp → PSet_CV, OSet_CV, XSet_CV, Inp_OvrdCV,
Inp_CVPrev,
490 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Cfg_CVPwrUp → Val_CVSet, Val_CVOut.
When in Auto or Cascade, CV can be initialized by inner loop CV set in
Inp_CVTrack if Inp_InnerAvailable=0 and Cfg_CVPwrupSel=1. If
Cfg_CVPwrupSel=0 then Inp_InnerAvailable is ignored in first run and
Cfg_CVPwrup is used as initial CV.
If the loop mode was not zero for Power up (Cfg_PwrUpLM) and multiple loop
modes were set internally, the instruction makes sure only one loop mode is
set at a time, using this order of priority: Manual, then Auto, then Cascade. If
the Powerup loop mode is 0, the loop mode, CV, and SP are left in their last
(powerdown) states. Once initialization is complete the initialization request
is cleared and the instruction is reported initialized (Sts_Initialized = 1).
Publication PROCES-RM215A-EN-P - November 2023 491
Chapter 1 PlantPAx
Configuration error report
Selected parameters with Cfg_ prefix and data type REAL are examined in a
validity check to prevent false actions. An error bit specific to a particular
parameter is set if the value is not valid. If an error bit is set, the global error
(Sts_Err) is reported and a Fail alarm is raised.
The PPID instruction ensures a valid number of decimal places for PV and CV
display in the HMI. Cfg_xxDecPlcs =2 if an invalid number is entered. The
PPID instruction ensures valid action on SP/PV/CV fail. Cfg_SPFailSPAction =
1, Cfg_PVFailPVAction = 1, and Cfg_CVFailCVAction = 1 for any invalid
number entered. The PPID instruction ensures valid Keep configuration on
eKeepLM, CV, Ratio and SP. Cfg_eKeepxx = 0 (follows command source) if an
invalid value is entered.
CV, SP, Ratio, Loop Mode ownership
Owned by Operator
The CV is owned by Operator if:
492 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• The current command source is Operator (Sts_Oper=1) and the
configuration is set to follow the command source (Cfg_eKeepCV=0),
or
• the command source is Operator/Program/External and the
configuration keeps the CV for Operator (Cfg_eKeepCV=1),
• or the command source is Maintenance (Sts_Maint=1).
The loop mode is owned by Operator if:
• The current owner is Operator (Sts_Oper=1) and the configuration is
set to follow the command source (Cfg_eKeepLM=0), or
• the owner is Operator/Program/External and the configuration keepd
the loop mode for Operator (Cfg_eKeepLM=1), or
• the owner is Maintenance (Sts_Maint=1).
The Ratio is owned by Operator if:
• The current owner is Operator (Sts_Oper=1) and the configuration is
set to follow the command source (Cfg_eKeepRatio=0), or
• the owner is Operator/Program/External and the configuration keeps
the Ratio for Operator (Cfg_eKeepRatio=1), or
• the owner is Maintenance (Sts_Maint=1).
The SP is owned by Operator if:
• The current owner is Operator (Sts_Oper=1) and the configuration is
set to follow the command source (Cfg_eKeepSP=0), or
• the owner is Operator/Program/External and the configuration keeps
the SP for Operator (Cfg_eKeepSP=1), or
• the owner is Maintenance (Sts_Maint=1).
Owned by Program
The CV is owned by Program if:
• The current owner is Program (Sts_Prog=1) and the configuration is
set to follow the command source (Cfg_eKeepCV=0), or
• the owner is Operator/Program/External and the configuration keeps
the CV for Program (Cfg_eKeepCV=2).
The loop mode is owned by Program if:
• The current owner is Program (Sts_Prog=1) and the configuration is
set to follow the command source (Cfg_eKeepLM=0), or
• the owner is Operator/Program/External and the configuration keeps
the loop mode for Program (Cfg_eKeepLM=2).
The Ratio is owned by Program if:
• The current owner is Program (Sts_Prog=1) and the configuration is
set to follow the command source (Cfg_eKeepRatio=0), or
Publication PROCES-RM215A-EN-P - November 2023 493
Chapter 1 PlantPAx
• the owner is Operator/Program/External and the configuration keeps
the Ratio for Program (Cfg_eKeepRatio=2).
The SP is owned by Program if:
• The current owner is Program (Sts_Prog=1) and the configuration is
set to follow the command source (Cfg_eKeepSP=0), or
• the owner is Operator/Program/External and the configuration keeps
the SP for Program (Cfg_eKeepSP=2).
Owned by External
The CV is owned by External if:
• The current owner is External (Sts_Ext=1) and the configuration is set
to follow the command source (Cfg_eKeepCV=0), or
• the owner is Operator/Program/External and the configuration keeps
the CV for External (Cfg_eKeepCV=3).
The Loop mode is owned by External if:
• The current owner is External (Sts_Ext=1) and the configuration is set
to follow the command source (Cfg_eKeepLM=0), or
• the owner is Operator/Program/External and the configuration keeps
the loop mode for External (Cfg_eKeepLM=3).
The Ratio is owned by External if:
• The current owner is External (Sts_Ext=1) and the configuration is set
to follow the command source (Cfg_eKeepRatio=0), or
• the owner is Operator/Program/External and the configuration keeps
the Ratio for External (Cfg_eKeepRatio=3).
The SP is owned by External if:
• The current owner is Program (Sts_Prog=1) and the configuration is
set to follow the command source (Cfg_eKeepSP=0), or
• the owner is Operator/Program/External and the configuration keeps
the SP for External (Cfg_eKeepSP=3).
PPID statuses
PV bad status
The Process variable fails in case of invalid PV scaling limits, and the PV is
reported bad at source via Inp_PVBad input or quality index Inp_PVSrcQ. The
PV cannot be used in PID calculations if the source quality is bad. The PV is
also treated as failing if the PV is live but reported uncertain or just off-spec
494 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
and the PPID is configured for treating this situation as unacceptable
(Cfg_PVFailTrigger=1 or 2).
SP bad status
Setpoint fails if:
• SP clamping limits are invalid (Sts_ErrSPLim=1), or
• PV limits used in scaling are invalid (Sts_ErrPVEU=1, Max<=Min).
The failure occurs because SP is derived from PV if the loop mode is Ratio, or
ratio clamping limits are invalid when the loop mode is Ratio
(Sts_ErrRatioLim=1 & Cfg_HasRatio=1 & loop mode is Cascade).
CV bad status
CV is bad if:
• Inp_CVIOFault=1, or
• CV clamping limits are invalid (Sts_ErrCVLim=1), or
• CV scaling limits are invalid (Sts_ErrCVEU=1),or
Publication PROCES-RM215A-EN-P - November 2023 495
Chapter 1 PlantPAx
• Hand feedback is bad and the PPID is in Hand mode.
Loop failure status
Loop failure (Sts_Fail) is set if SP, PV, or CV fails and failure shed is latched. If
Sts_Fail is set the loop cannot operate normally.
Windup status
Windup status High (Sts_WindupHi) is set if:
• Selected SP is clamped at high limit (Sts_SPHiClamped=1), or
• CV is clamped at high limit (Sts_CVHiClamped=1) if the PPID is
configured for reverse control action (Cfg_CtrlAction=0), or
• CV is clamped at low limit (Sts_CVLoClamped=1) if the PPID is
configured for direct control action (Cfg_CtrlAction=1).
Windup status Low (Sts_WindupLo) is set if:
• Selected SP is clamped at low limit (Sts_SPLoClamped=1), or
• CV is clamped at low limit (Sts_CVLoClamped=1) if the PPID is
configured for reverse control action (Cfg_CtrlAction=0), or
496 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• CV is clamped at high limit (Sts_CVHiClamped=1) if the PPID is
configured for direct control action (Cfg_CtrlAction=1).
Active status
Status CV active (Sts_Active) is set if Val_CVOut is greater than
Cfg_MaxInactiveCV. The HMI graphic symbol, for example, valve open, is
shown for Sts_Active=1, and the inactive HMI graphic symbol, for example,
valve closed, is shown when Sts_Active=0.
Not ready status
The PPID instruction is not ready (Sts_NotRdy=1) under these conditions:
• PPID is out of service (Sts_NrdyOoS=1), or
• PPID goes to Manual loop mode when initialized and Inp_CVInitialVal
is used to initialize CV (Sts_NrdyInit=1), or
• PPID configuration error (Sts_NRdyCfgErr=1), or Interlock not
OK (Sts_NrdyIntlk=1), or
• Inner object to this PPID, typically PID of the secondary loop, is not
available (Inp_InnerAvailable=0) for Auto or Cascade mode of the
PPID (Sts_Auto=1 | Sts_Casc=1), or
• Loop fails (Sts_Fail=1) because of PV/SP/CV bad value or
communication failure, or Hand feedback value is invalid.
Publication PROCES-RM215A-EN-P - November 2023 497
Chapter 1 PlantPAx
Available statuses
The PPID instruction is available (Sts_Available=1) to other objects when in
Program mode, not in the first scan, and generally ready for control.
Inner loop is available for cascade control (Sts_CascAvailable=1) when in
Cascade mode, not in the first scan, and generally ready for control.
Inner loop is available for external control (Sts_ExtAvailable=1) when in
External mode, not in the first scan, and generally ready for control.
This diagram shows the conditions required for the instruction to be generally
ready for control.
498 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration of strings for HMI
Configure strings for HMI faceplates, as seen in FactoryTalk View, and for the
Logix Designer configuration dialog box. The strings are set to extended
properties of tag items. Configure strings in the Logix Designer application
only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Path to an object with more information
• Path to an object providing Cascade SP
• Path to an object providing PV
• Path to an object consuming CV
• PV/SP engineering units
• CV engineering units
Command source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command source Description
Hand Hardwired logic or other logic outside the instruction owns control of the device. The instruction tracks the state of the device
for bumpless transfer back to one of the other command sources.
While in Hand mode the PID algorithm does not compute the change in CV.
Val_CVOut = Inp_HandFdbk (Inp_Tieback), regardless of the control mode. Hand mode is typically used to indicate that control
of the final control element was taken over by a field hand/auto station.
Set Inp_Hand to request hand mode. This value is usually read as a digital input from a hand/auto station.
(Highest Priority command source)
Out-of-Service The instruction is disabled and has no owner.
Maintenance Maintenance owns control of the device and supersedes Operator, Program, External and Override control. Operator
commands and settings from the HMI are accepted. Bypassable interlocks are bypassed, and device timeout checks are not
processed.
Override Priority logic owns control of the device and supersedes Operator, Program and External control. Override Input (Inp_OvrdCmd)
is accepted. If so configured, bypassable interlocks are bypassed.
External External logic owns control of the device. External commands (XCmd_) are accepted.
Program locked Program logic owns control of the device. Program commands (PCmd_) are accepted. Operator cannot take from Program.
Override cannot take from Program unless Cfg_OvrdOverLock = 1.
Program Program logic owns control of the device. Program commands (PCmd_) are accepted.
Operator locked The Operator owns control of the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take from
Operator. Override cannot take from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator owns control of the device. Operator commands (OCmd_) from the HMI are accepted.
(Lowest Priority command source)
The instruction enables or disables these operations:
Publication PROCES-RM215A-EN-P - November 2023 499
Chapter 1 PlantPAx
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
• XCmd_Acq used as a Level (1 = Acquire External, 0 = Release External)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core command source model
The core command source model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enabling control sources in configuration
The individual control sources may be enabled or disabled by the user. The
default configuration uses the entire base model; upon power-up of the
processing environment the control source will be the designated default.
Some combinations of enabled control sources are disallowed as they are
either unnecessary or could create unintended changes.
500 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ownership default and priority
Configuration allows a user to specify whether Operator or Program will be
the power-up default and specify whether Operator or Program commands
will win when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. This means that all commands
are automatically cleared when the instruction executes and processes them.
Changing destination states
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Prog is disabled, the destination of the OCmd_Prog
command is directed to the ProgLocked state instead of the Prog state. This
maintains the intent of the OCmd_Prog command: the operator entity wishes
to place the function in control of the program. If the command was
eliminated then there would be no way to accomplish this. This is only done in
configurations where it would cause no conflict or race condition, but serves
to preserve as much user functionality as is practical.
Higher priority command sources
These higher priority command sources operate independently within the
model: External, Override, Maintenance, Out-of-Service, In-Service, and
Hand.
Command source processing and ownership arbitration
Maintenance and operator commands (MCmd_OoS, MCmd_IS, MCmd_Acq,
MCmd_Rel, OCmd_Oper, OCmd_Prog, Ocmd_Lock, OCmd_Unlock,
OCmd_Normal) are forwarded to the contained PCmdSrc instruction.
Maintenance and ready bits (MRdy_OoS, MRdy_IS, MRdy_Acq, MRdy_Rel,
ORdy_Oper, ORdy_Prog, ORdy_Lock, ORdy_Unlock, ORdy_Normal) are
copied from the contained PCmdSrc instruction in response.
The instruction sets ownership (Val_Owner) according to the order in which
requests are received. If the requestor supplies a non-zero owner ID
(PSet_Owner) and the current owner is none (Val_Owner = 0), the instruction
assigns ownership to the requesting ID.
Publication PROCES-RM215A-EN-P - November 2023 501
Chapter 1 PlantPAx
Monitor the PPID Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
The PID algorithm is only scanned at the configured execution rate
Cfg_ExecTime. Configuring the instruction for execution period = 0.0
(default) or for a period shorter than the instruction scan time has no effect
and the PID algorithm executes every scan. For the real execution period
check Val_ExecTime.
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Sts_eSrc is set to 0. Sts_bSrc is set to 0.
Instruction first run All commands that are automatically cleared each execution are cleared and
ignored.
The Program/Operator selection is set based on the configuration
(Cfg_ProgPwrUp).
The Program or Operator lock selection is set to unlocked.
Loop mode is set according to configuration (Cfg_PwrUpLM). Initial value pf
SP and CV are set according to Cfg_SPPwrUp and Cfg_CVPwrUp and selected
loop mode. If Cfg_PwrUpLM=0 (no change), SP and CV initial values are equal
to values from last scan (e.g. before power down).
PSet_Owner and Sts_Owner are set to 0.
Rung-condition-in is false The instruction is put Out of Service if Inp_Hand=0. The output is
de-energized. All alarms are cleared.
Command source selection processing proceeds as normal except that all
ownership status bits (Sts_Maint, Sts_Ovrd, Sts_Ext, Sts_Prog and Sts_Oper)
are cleared to 0. When rung-condition-in becomes true, the instruction
takes into account the commands received and sets the active command
source accordingly.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
502 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false See Rung-condition-in is false in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Examples
Example 1: PID feedback control
This example demonstrates wiring analog input and analog output
instructions with a PPID instruction.
Pressure system tank level control is considered as an example of wiring
analog input and analog output instruction(s) with a PPID instruction.
Consider a section of water distribution system with a station pumping water
from a collector tank to a tank maintaining system pressure at distribution
nodes. Due to demand variation water level fluctuates so the system pressure
varies. The PPID instruction helps stabilize the pressure by measuring and
processing the water level as a process variable. PPID calculates the reference
speed for a motor driving a pump to compensate for demand variations. The
actual motor rpm is measured and fed back to the controller. This feedback
enables the control scheme to read the actual motor speed when the service
personnel takes over the control and manipulates with pump directly from the
control panel (motor is in Hand). Components of the PID loop should track
the actual rpm and be ready to take over control without any bump.
Publication PROCES-RM215A-EN-P - November 2023 503
Chapter 1 PlantPAx
Analog input module provides level in raw units and fault signals processed by
the PAI instruction (LI_30). Level in engineering units (LI_30.Val), level signal
quality (LI_30.SrcQ) and alarm notification (LI_30.Sts_eNotifyAll) are wired to
corresponding inputs of a PPID (LIC_31.Inp_PV, LIC_31.Inp_PVSrcQ,
LIC_31.Inp_PVNotify). PPID is configured so the proper response occurs
when the level signal is not reliable and should not enter PID formula for CV
calculation. Set Cfg_PVFailTrigger to properly classify PV source quality. Use
Cfg_PVFailSPAction, Cfg_PVFailCVAction, and Cfg_PVFailLMAction to
specify the setpoint value, the value of the control variable, and the loop mode
the PPID instruction uses if the PV source quality is reported as bad.
The PPID instruction should receive a signal indicating whether the
downstream object driven by the PPID (the analog output instruction SZ_31
driving a motor) is active and is responding properly to the PPID instruction
CV. In other words, the PPID instruction should receive a signal if the control
loop is not open.
If the CV output of SZ_31 saturates (SZ_31.Sts_WindupHi=1 or
SZ_31.Sts_WindupLo=1), the PPID instruction is out of control. To prevent
windup, SZ_31.Sts_WindupHi and SZ_31.Sts_WindupLo are wired to
LIC_31.Inp_WindupHi and LIC_31.Inp_WindupLo.
If the pump motor, the device driven by SZ_31, is in failure (M31_Fail=1), the
loop is also open and both SZ_31 and LIC_31 should follow the actual device
status to avoid any bump when put back in control. Actual motor rpm is
measured, the rpm raw signal is scaled to engineering units by analog input
instruction SI_31, and scaled value of rpm (SI_31.Val) is wired as a feedback
signal to SZ_31.Inp_PosFdbk.
If service personnel have the pump motor in hand mode (M31_Hand=1), actual
speed is provided separately in the M31_Fdbk tag, wired to
SZ_31.Inp_HandFdbk.
Device status is collected in analog output instruction SZ_31 and
communicated upstream to the PPID instruction. The PPID instruction
should be informed that the control loop is open somewhere downstream and
thus the SZ_31 is not available for LIC_31. Wire SZ_31.Sts_Available to
LIC_31.Inp_InnerAvailable to pass the information to the PPID. Actual speed
reference should be provided to PPID for tracking purposes when control loop
opens. Wire SZ_31.Val_CVOut to LIC_31.Inp_CVTrack. Other downstream
problems like communication or device fault should also be fed back to the
PPID so the instruction takes a configured action in response. Merge
SZ_31.Sts_IOFault with SZ_31.Sts_DeviceFault, wire the result to
LIC_31.Inp_CVIOFault and use LIC_31.Cfg_CVFailSPAction and
LIC_31.Cfg_CVFailCVAction to configure the PPID for the follow up action.
504 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Finally update the alarm notification for the PPID and propagate the highest
severity notification from SZ_31 upstream. Wire SZ_31.Sts_eNotifyAll to
LIC_31.Inp_CVNotify.
The example is shown in all three language editors.
Publication PROCES-RM215A-EN-P - November 2023 505
Chapter 1 PlantPAx
Ladder Diagram
506 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Publication PROCES-RM215A-EN-P - November 2023 507
Chapter 1 PlantPAx
508 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 509
Chapter 1 PlantPAx
Structured Text
LI_30.Inp_PVData := LI_30_raw;
LI_30.Inp_ModFault := LevelAnalogModuleFault;
LI_30.Inp_OutOfSpec := LevelOutOfSpec;
PAI(LI_30,0);
LIC_31.Inp_PV := LI_30.Val;
LIC_31.Inp_CVTrack := SZ_31.Val_CVOut;
LIC_31.Inp_PVSrcQ := LIC_31.Inp_PVSrcQ;
LIC_31.Inp_PVNotify := LI_30.Sts_eNotifyAll;
LIC_31.Inp_CVNotify := SZ_31.Sts_eNotifyAll;
LIC_31.PSet_SP := LIC_31_SP;
LIC_31.Inp_WindupHi := SZ_31.Sts_WindupHi;
LIC_31.Inp_WindupLo := SZ_31.Sts_WindupLo;
LIC_31.Inp_CVIOFault := SZ_31.Sts_IOFault OR SZ_31.Sts_DeviceFault;
PPID(LIC_31,0);
SI_31.Inp_PVData := SI_31_raw;
PAI(SI_31,0);
SZ_31.PSet_CV := LIC_31.Val_CVOut;
SZ_31.Inp_PosFdbk := SI_31.Val;
SZ_31.Inp_HandFdbk := M31_Fdbk;
SZ_31.Inp_DeviceFault := M31_Fail;
SZ_31.Inp_Hand := M31_Hand;
PAO(SZ_31,0);
SZ_31_raw := SZ_31.Out_CVData;
Example 2: Cascade control
Cascade control is useful when externally-caused upsets to the controlled
variable occur often, which then cause upsets to the process variable you are
trying to control. For example, try to control the temperature of liquid in a
tank by varying the amount of steam fed into a heating jacket around the
tank. If the steam flow suddenly drops because of an upstream process, the
temperature of the liquid in the tank eventually drops and the PPID
510 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
instruction then opens the steam valve to compensate for the drop in
temperature.
In this example, a cascaded loop provides better control by opening the steam
valve when the steam flow drops before the liquid temperature in the tank
drops. To implement a cascaded loop, use a PPID instruction to control the
steam valve opening based on a process variable signal from a steam flow
transmitter. This is the inner loop of the cascaded pair. A second PPID
instruction (called the outer or primary loop) uses the liquid temperature as a
process variable and sends its CV output into the setpoint of the inner loop. In
this manner, the outer temperature loop asks for a certain amount of steam
flow from the inner steam flow loop. The steam flow loop is then responsible
for providing the amount of steam requested by the temperature loop in order
to maintain a constant liquid temperature.
For a cascaded pair of loops to work correctly, the inner loop must have a
faster process response than the primary loop. This is because the inner loop’s
process must be able to compensate for any upsets before these upsets affect
the outer loop’s process. In this example, if steam flow drops, the steam flow
must be able to increase as a result of the inner controller’s action before the
liquid temperature is affected.
To set up a pair of cascaded PPID instructions, set the Cfg_HasCasc input
parameter in the inner loop. This allows the inner loop to be placed into
Cascade/Ratio mode. Next, wire the Val_CVOut from the outer loop into the
Inp_CascSP parameter on the inner loop. The Inp_CascSP value is used as the
SP on the inner loop when the inner loop is placed into Cascade/Ratio mode.
The engineering unit range of the Val_CVOut on the outer loop should match
the engineering unit range of the PV on the inner loop. This lets the outer loop
scale its 0-100% value of CV into the matching engineering units used for the
setpoint on the inner loop.
The PPID instruction has several other features to more effectively support
cascade control. Wire the Sts_CascAvailable output on the inner loop PPID
into the Inp_InnerAvailable input on the outer loop PPID and wire the Val_SP
Publication PROCES-RM215A-EN-P - November 2023 511
Chapter 1 PlantPAx
output of the inner into the Inp_CVTrack input on the outer. This sets the
Val_CVOut value of the outer loop to track the SP of the inner loop when the
inner loop is not in Cascade/Ratio mode. This allows a bumpless transfer
when you place the inner loop back into Cascade/Ratio mode. Also, wire the
Sts_WindupHi and Sts_WindupLo outputs on the inner loop into the
Inp_WindupHi and Inp_WindupLo inputs on the outer loop. This causes the
outer loop to stop increasing or decreasing, as appropriate, its Val_CVOut
value if the inner loop hits a SP limit or CV limit and eliminates any windup
on the outer loop if these conditions occur.
The example is shown in FBD in two versions, with minimum wiring and
extended wiring. The extended wiring shows passing alarm notification
between outer and inner PID and makes signal quality input pins visible for
immediate use in the application.
512 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 513
Chapter 1 PlantPAx
514 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Example 3: Ratio control
Ratio control is typically used to add a fluid in a set proportion to another
fluid. For example, if you want to add two reactants (say A and B) to a tank in a
constant ratio, and the flow rate of reactant A may change over time because
of some upstream process upsets, you can use a ratio controller to
automatically adjust the rate of reactant B addition. In this example, reactant
A is often called the uncontrolled or wild flow since it is not controlled by the
PPID instruction. The flow of reactant B is then called the controlled flow.
To perform ratio control with a PPID instruction, set the Cfg_HasCasc and
Cfg_HasRatio input parameters. Wire the uncontrolled flow into the
Inp_CascSP input parameter. When in Cascade/Ratio mode, the uncontrolled
flow is multiplied by either the OSet_Ratio, when in Operator control, or the
PSet_Ratio, when in Program control, and the resulting value is used by the
PPID instruction as the setpoint.
The example is shown in FBD.
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 515
Chapter 1 PlantPAx
Example 4: Feedforward control
Feedforward control is a disturbance rejection strategy to deal with load
change. Rather than rely on feedback to make corrective changes to a process
only after some load change has driven the process variable away from
setpoint, control schemes with feedforward monitor the relevant load(s) and
use that information to preemptively make stabilizing changes to the final
control element such that the process variable will not be affected.
Consider a control system manipulating steam flow to the heat exchanger to
maintain the discharge temperature of the oil at a constant setpoint value.
The outlet temperature will suffer temporary deviations from setpoint if load
conditions change. The feedback control system may be able to eventually
bring the exiting oil’s temperature back to setpoint, but it cannot begin
corrective action until after a load has driven the oil temperature off setpoint.
To improve control, build feedforward action and feedback action into the
design. The feedforward action allows the control system to take corrective
action in response to load changes before the process variable is affected.
In this example, the dominant load in the system is oil flow rate, caused by
changes in demand at the combustion furnace where the oil is being used as
fuel. Adapting this control system to include feedforward requires installing
an oil flow transmitter and a gain/bias function providing feedforward action
to the PID controller maintaining temperature. With feedforward control
action in place, the steam flow rate immediately changes with oil flow rate,
preemptively compensating for the increased or decreased heat demand of
the oil. The time constant of the process with regard to steam flow changes is
greater than the time constant of the process with regard to oil flow changes.
Oil flow is a wild variable. The feedforward control system can only
manipulate the steam valve position in response to oil flow. The best method
to help control it is to speed up the time constant of the steam flow variable,
which the system can influence. The solution is to wire the output of the
user-specified lead function FY_32 to Inp_FF of the PPID.
Now, when the oil flow rate to this heat exchanger suddenly increases, the
lead function will add a surge to the feedforward signal, quickly opening the
516 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
steam valve and sending a surge of steam to the exchanger to help overcome
the naturally sluggish response of the oil temperature to changes in steam
flow. The feedforward action won’t be perfect with this lead function added,
but it will be substantially better than if there was no dynamic compensation
added to the feedforward signal.
The example is shown in FBD.
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 517
Chapter 1 PlantPAx
Example 5: Split-range control
Split-range control allows using a single PID Control Variable to drive more
than one final control element. An application example is shown in the
following figure.
At CV=0 (Val_CVOut=0), both valves are closed. When the CV is positive, the
pressurizing valve is open and the vent valve is kept closed. If the PPID
instruction is configured with CV scaling limits Cfg_CVEUMax=100 and
Cfg_CVEUMin=-100, then at CV=100 the pressurizing valve is wide open.
When the CV is negative, the vent valve is open and the pressurizing valve is
closed. At CV=-100, vent is wide open. CV splitting is done with the Process
Analog Fanout (PFO) instruction.
Configure PPID with Cfg_CVEUMin=-100, Cfg_CVEUMax=100 and PFO with
Cfg_CVEUMin=-100, Cfg_CVEUMax=100, Cfg_CV1Ratio=1, Cfg_CV1Offset=0,
Cfg_CV1HiLim=100, Cfg_CV1LoLim=0, Cfg_CV2Ratio=-1, Cfg_CV2Offset=0,
Cfg_CV2HiLim=100, Cfg_CV2LoLim=0.
The PPID instruction must receive an indication whether its downstream
object can be controlled. If the downstream object is not ready for the PPID
instruction, the instruction should track what the downstream block defines
for the situation. Wire the negation of the initialization request
(Out_CVInitializeReq) received by the PFO instruction from its downstream
object to Inp_InnerAvailable of the PPID instruction. In addition, wire the
PFO instruction’s Out_CVInitializationVal to Inp_CVTrack of the PPID
instruction. The PPID instruction will track this value when the downstream
block is not ready for PPID control. The PPID instruction goes back to control
without any bump if the downstream object becomes available again.
The example is shown in FBD.
518 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Example 6: Override-select control
Consider the oil pipeline pump station in the figure below. In this example,
the system measures suction pressure (41) and discharges pressure (73) and
motor current (60). To control discharge pressure, use the variable-speed
drive on the pump. The challenge is that if the suction pressure goes low, the
pump cavitates. If the motor current goes too high, the drive trips and
pressure upset is sent down the line. Both constraints act in the same
direction. If the suction pressure goes low, the pump needs to slow down until
Publication PROCES-RM215A-EN-P - November 2023 519
Chapter 1 PlantPAx
it recovers. If the motor current goes high, slowing down the pump reduces
the power, and so reduces the motor current.
The Primary loop is the station discharge pressure. Suction pressure and
motor current are Override loops. The low-select picks the lowest CV to send
to the drive speed reference. Suction pressure and motor current loops’
setpoints are set to the constraint threshold (where to start acting). When a
constraint is approached, that loop’s error gets small, its output drops, and it
is selected. The selected CV is fed back to all three loops. The control scheme
takes the advantage of using Inp_CVTrack for tracking final CV.
Recommended setting of the tracking parameter:
• Dependent gains (Cfg_Dependent = 1). Set Cfg_CVTrackGain =
Cfg_IGain.
• Independent gains (Cfg_Dependent = 0). Set Cfg_CVTrackGain =
Cfg_IGain/Cfg_PGain.
This setting leads to a steady state difference between selected (active) CV and
unselected (tracking) CV equal to Cfg_PGain x Error which keeps proper
leeway for the selected controller to control without unnecessarily frequent
switching to another controller.
The example is shown in FBD.
520 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Example 7: PID gain scheduling
Consider the oil pipeline pump station in the figure below. In this example,
the system measures suction pressure (41) and discharges pressure (73) and
motor current (60). To control discharge pressure, use the variable-speed
drive on the pump. The challenge is that if the suction pressure goes low, the
pump cavitates. If the motor current goes too high, the drive trips and
pressure upset is sent down the line. Both constraints act in the same
direction. If the suction pressure goes low, the pump needs to slow down until
Publication PROCES-RM215A-EN-P - November 2023 521
Chapter 1 PlantPAx
it recovers. If the motor current goes high, slowing down the pump reduces
the power, and so reduces the motor current.
In this example the gain scheduling technique is used to compensate for
changes in process dynamics on-the-fly. Standard temperature controller
TIC_41 reads outlet temperature TT_41 (PV) and calculates reference for steam
flow control loop (CV) to keep product temperature at the setpoint. PPID is
configured with dependent gains (TIC_41.Cfg_Dependent=1) and the overall
gain TIC_41.Cfg_PGain changes with product flow FT_40. Formula for PGain
calculation is application specific. In this example PGain is calculated in
PIDGainScheduler AOI as a linear function of product flowrate with bias.
The example is shown in FBD.
522 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Process This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Pressure/Temperature
Compensated Flow (PPTC) The Pressure/Temperature Compensated Flow (PPTC) instruction calculates a
flow at standard temperature and pressure, essentially a mass flow rate, given
a volumetric flow rate or differential pressure measurement. This instruction
requires measurements of the actual temperature and pressure of the flowing
gas.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 523
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PPTC(PPTC_01);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_PRESS_TEMP_COMPENSAT tag Data structure required for proper operation of the instruction.
ED
P_PRESS_TEMP_COMPENSATED Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung-condition-in.
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_TAct REAL Actual (measured) temperature, can be absolute or common units. Valid = any float.
Default is 0.0.
Inp_PAct REAL Actual (measured) pressure, can be absolute or common units. Valid = any float.
Default is 0.0.
524 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_DPAct REAL Actual (measured) differential pressure. Valid = any float.
Default is 0.0.
Inp_FAct REAL Actual (measured) uncompensated flow in volumetric units. Valid = any float.
Default is 0.0.
Cfg_LoFlowCutoff REAL If Out_Flow is less than this cutoff value, it is shown as 0.0. Valid = 0.0 to maximum
positive float.
Default is 0.0.
Cfg_TStd REAL Standard temperature in Inp_TAct units. Valid = any float.
Default is 0.0.
Cfg_PStd REAL Standard pressure in Inp_PAct units. Valid = any float.
Default is 0.0.
Cfg_TOffset REAL Zero input-units temperature in absolute units. Typically 273.15 Kelvins or 459.67 Rankine.
Valid = 0.0 to maximum positive float.
Default is 273.15.
Cfg_POffset REAL Zero input-units pressure in absolute units. Typically 14.696 PSIA. Valid = 0.0 to maximum
positive float.
Default is 14.696.
Cfg_DPRef REAL Reference (full-scale) differential pressure. Common value 100.0 inches WC. Valid = 0.0 to
maximum positive float.
Default is 100.0.
Cfg_FRef REAL Reference flow in volumetric units at reference dp. Valid = 0.0 to maximum positive float.
Default is 1.0.
Cfg_UseDP BOOL 1 = Use Inp_DPAct (square root curve) to calculate flow. 0 = use Inp_FAct (linear).
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output. This output state always reflects EnableIn input state.
Out_Flow REAL Compensated flow (at standard temperature and pressure: mass flow).
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_Err BOOL 1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrTStd BOOL 1 = Invalid standard temperature (Cfg_TStd + Cfg_TOffset must be > 0.0).
Sts_ErrPStd BOOL 1 = Invalid standard pressure (Cfg_PStd + Cfg_PStd must be > 0.0).
Sts_ErrDPRef BOOL 1 = Invalid reference differential pressure (must be > 0.0 if DP used).
Sts_ErrFRef BOOL 1 = Invalid reference flow (at reference DP) (must be > 0.0).
Operation
The PPTC instruction is intended as a calculation function only, between
other blocks. If a faceplate or alarms are needed, the calculated output from
the instruction can be sent to a PAI (analog input) instruction for alarming
and display.
The PPTC instruction:
• Takes as its primary input either a volumetric flow rate or a differential
pressure across a flow element, such as an orifice plate or pitot tube.
When a differential pressure is used, the PPTC instruction allows
Publication PROCES-RM215A-EN-P - November 2023 525
Chapter 1 PlantPAx
configuration of the volumetric flow rate for a given differential
pressure.
• Accepts a temperature in common units (Fahrenheit or Celsius
degrees) or in absolute units (Rankine degrees or Kelvins).
• Accepts a pressure in common units (PSIG, kPa Gauge, or MPa Gauge)
or in absolute units (PSIA, kPa Absolute, MPa Absolute).
• Has user-configurable standard conditions, such as 14.696 PSIA and 60
°F, or 101.325 kPa and 0 °C.
• Determines flow at the specified standard conditions by using the
Ideal Gas Law (PV = nRT) to adjust from the given temperature and
pressure to the standard temperature and pressure.
Virtualization
Virtualization is not applicable to the PPTC instruction.
Initialization
The instruction is normally initialized in the instruction first run.
Re-initialization can be requested any time by setting Inp_InitializeReq = 1.
For proper initialization, when adding the instruction while performing an
online edit of the code, make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box.
• Description – Description of PPTC tag
• Label for graphic symbol – Label metadata of PPTC tag
• Display Library for HMI Faceplate call-up – Library metadata of PPTC
tag
• Instruction name – Instruction metadata of PPTC tag
• Area name – Area metadata of PPTC tag
• URL link – URL metadata of PPTC tag
• Actual differential pressure units – Engineering Unit metadata of
.Inp_DPAct
• Actual uncompensated flow in volumetric units – Engineering Unit
metadata of .Inp_FAct
• Actual pressure, can be abs or common units – Engineering Unit
metadata of .Inp_PAct
• Actual temperature, can be abs. or common units – Engineering Unit
metadata of .Inp_TAct
526 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Compensated flow (at standard temperature and pressure: mass Flow)
units – Engineering Unit metadata of .Out_Flow
Monitor the PPTC Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run The instruction executes normally.
Rung-condition-in is false Set rung-condition-out to rung-condition-in.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 527
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, the PPTC instruction to determine the flow rate of
compressed nitrogen at a standard pressure and flow. This can provide a
more accurate measurement for custody transfer or control calculations
where there is variability in environmental conditions and the flow
transmitter is not capable of performing the compensation.
In this case, the PPTC instruction measures flow from a dp-transmitter. The
transmitter provides the controller with a value that has been scaled to
volumetric flow but not compensated for environmental temperature and
pressure. We also have temperature and pressure measurements from where
the flow is measured. In this example, the desired standard pressure and flow
is 0 psig and 15 °C.
528 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 529
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
TI101.Inp_PVData:=I_TE101;
TI101.Inp_PVUncertain:=I_TE101_Flt;
PAI(TI101);
530 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
PI101.Inp_PVData:=I_PE101;
PI101.Inp_PVUncertain:=I_PE101_Flt;
PAI(PI101);
FI101.Inp_PVData:=I_FE101;
FI101.Inp_PVUncertain:=I_FE101_Flt;
PAI(FI101);
FY101A.Inp_Tact:=TI101.Val;
FY101A.Inp_Pact:=PI101.Val;
FY101A.Inp_Fact:=FI101.Val;
PPTC(FY101A);
FI101.Inp_PVData:=FY101A.Out_Flow;
FI101.Inp_PVUncertain:=FY101A.Sts_Err;
PAI(FI101);
Process Restart Inhibit This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PRI)
Use the Process Restart Inhibit instruction for Large Motor (PRI) instruction
to prevent large motors from starting repeatedly. The high starting current
for a large motor causes heating. Continual starts or start attempts in a short
period overheat the motor windings and damage the motor.
The PRI instruction provides a rule-based state model for restarts. Do not use
the instruction to model or monitor heating and replace sensor-based motor
monitoring devices. Use the instruction to avoid overstressing a motor.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 531
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PRI (PRI tag);
Operands
IMPORTANT Unexpected operation may occur if one of the Cold or Hot timers are set to 0.
Configuration Operands
Operand Type Format Description
PlantPAx Control P_RESTART_INHIBIT tag PRI structure
P_RESTART_INHIBIT_INPUT Structure
Public members are standard (visible) Tag members that are
programmatically accessible. Private (hidden) members are used in HMI
faceplates and are not programmatically accessible. Private members are
listed in separate tables after public members.
Public Input Members Data Type Description
Enable Input - System Defined Parameter
EnableIn BOOL Default is true.
1 = Equipment is confirmed stopped.
Inp_Stopped BOOL Default is false.
1 = Equipment is confirmed starting, indicating a start attempt.
Inp_Starting BOOL Default is false.
1 = Equipment is confirmed running.
Inp_Running BOOL Default is true.
Time within which three starts are allowed if cold (hr)
Cfg_ThreeColdStarts REAL Default is 0.5.
Time for cold motor to wait after 1st start failure before ready to start (hr)
Cfg_FirstFailCold REAL Default is 0.5.
Time for cold motor to wait after 2nd and subsequent start failure before ready (hr)
Cfg_SubseqFailCold REAL Default is 4.0.
532 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Time for hot motor to wait after 1st start failure before ready to start (hr)
Cfg_FirstFailHot REAL Default is 0.5.
Time for hot motor to wait after 2nd and subsequent start failure before ready (hr)
Cfg_SubseqFailHot REAL Default is 4.0.
Time for hot motor to run so it can immediately restart after stop (hr)
Cfg_HotRestartOK REAL Default is 1.0.
Time for hot motor to wait after stop if stopped before Hot Restart OK time (hr)
Cfg_RestartHot REAL Default is 1.0.
Time for a stopped hot motor to become cold (hr)
Cfg_HotToCold REAL Default is 16.0.
1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Inp_InitializeReq BOOL Default is true.
Public Output Members Data Type Description
EnableOut BOOL Enable Output - System Defined Parameter
Val_MinToReady DINT Minutes yet inhibited before ready to start (for display as countdown mmm:ss).
Val_SecToReady DINT Seconds yet inhibited before ready to start (for display as countdown mmm:ss).
Sts_bFdbk SINT Device feedback: 0 = None/Multiple/Unknown, 1 = Stopped, 2 = Starting, 3 = Running.
State number for highlighting state diagram on HMI. See Instruction Help or state diagram
Sts_State SINT in reference manual.
Sts_Ready BOOL Permissive for equipment to start: 1 = ready to start, 0 = not ready, inhibit starting.
Sts_Err BOOL 1 = Error in configuration: invalid time. Valid = 0.0 to 596.52 hours.
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Operation
The PRI instruction provides these capabilities:
• Provides a rule-based state model for restarts and is not intended to
model or monitor the motor heating.
• Display of the time before ready state; the time is displayed in minutes
and seconds and is configurable. The ready state is also displayed
independently of the time.
• Ready status is determent by the cold ready to start time (First start)
and the hot ready to start time.
• The cold ready to start time will be determent by the cold first fail time
and the cold subsequent fail time.
Publication PROCES-RM215A-EN-P - November 2023 533
Chapter 1 PlantPAx
• The hot ready to start time will be determent by the hot first fail time,
the cold subsequent fail time and the hot restart delay time.
Configuration of Strings for HMI
Configure strings for HMI faceplates and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in the Logix Designer application only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
534 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Implementation
This illustration shows normal implementation with the input condition
mapped to Inp_Running, Inp_Starting, and Inp_Stopped on a separate
branch.
This illustration shows the implementation with the input condition mapped
to the PRI instruction using the rung-condition-in. When the
rung-condition-in is false (EnableIn is false) the instruction executes
normally. To use the rung-condition-in mapping method, set Inp_Running to
1, its default value.
Monitor the PRI Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Publication PROCES-RM215A-EN-P - November 2023 535
Chapter 1 PlantPAx
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run The instruction executes normally.
Rung-condition-in is false Set rung-condition-out to rung-condition-in.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
536 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Example
In this example, tag A100_MR_001 is the motor value monitored by the PRI
instruction.
Inp_Running is connected to the Motor Running status tag
(A100_MR_001.Sts_Running) that comes from the Sts_Running output of the
P_Motor instruction instance for this motor (A100_MR_001). Inp_Starting is
connected to the Motor Starting status tag (A100_MR_001.Sts_Starting) that
comes from the Sts_Starting output of the P_Motor instruction instance for
this motor (A100_MR_001). Inp_Stopped is connected to the Motor Stopped
status tag (A100_MR_001.Sts_Stopped) that comes from the Sts_Stopped
output of the P_Motor instruction instance for this motor (A100_MR_001).
Finally, PRI_01 is the output tag that will indicate the status of A100_MR_001
with appropriate delays and number of running and starts/attempts based on
whether the motor is allowed to start again.
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 537
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PRI_01.Inp_Stopped := A100_MR_001.Sts_Stopped;
PRI_01.Inp_Starting := A100_MR_001.Sts_Stopped;
PRI_01.Inp_Running := A100_MR_001.Sts_Running;
PRI(PRI_01);
Process Run Time and Start This information applies to the CompactLogix 5380P and ControlLogix 5580P
Counter (PRT) controllers.
The Process Run Time and Start Counter (PRT) instruction records the total
run time and number of instances the motor or other equipment starts. The
PRT is a software implementation of the mechanical hour meter that displays
the total motor runtime. Maintenance personnel use the run time and
equipment start variables to create a maintenance schedule for the applicable
equipment.
Available Languages
Ladder Diagram
538 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PRT(PRT_01);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PRT P_RUN_TIME tag PRT structure
P_RUN_TIME Structure
Public Input Members Data Description
Type
EnableIn BOOL Enable Input – System Defined Parameter.
Inp_Starting BOOL 1 = Equipment is starting.
Default = false.
Inp_Running BOOL 1 = Equipment is confirmed running.
Default = true.
PCmd_ClearStarts BOOL Program Command to clear count of starts. The instruction clears this operand automatically.
Default = false.
PCmd_ClearMaxHrs BOOL Program Command to clear the maximum, continuous runtime for any start. The instruction clears
this operand automatically.
Default = false.
PCmd_ClearTotHrs BOOL Program Command to clear the total run time. The instruction clears this operand automatically.
Default = false.
Publication PROCES-RM215A-EN-P - November 2023 539
Chapter 1 PlantPAx
Public Output Members Data Description
Type
EnableOut BOOL Enable Output – System Defined Parameter.
Val_Starts DINT Total number of equipment starts or attempts.
Val_CurRunHrs REAL Current running time this start (hours).
Val_MaxRunHrs REAL Maximum continuous running time for a given start (hours).
Val_TotRunHrs REAL Total accumulated running time (hours).
Private Input Members Data Description
Type
MCmd_ClearStarts BOOL Maintenance Command to clear count of starts. The instruction clears this operand
automatically.
Default = false.
MCmd_ClearMaxHrs BOOL Maintenance Command to clear the maximum, continuous runtime for any start. The
instruction clears this operand automatically.
Default = false.
MCmd_ClearTotHrs BOOL Maintenance Command to clear the total run time. The instruction clears this operand
automatically.
Default = false.
Operation
The PRT instruction:
• Accumulates and displays the total running time for the associated
equipment.
• Accumulates and displays the count of starts or start attempts for the
associated equipment.
• Shows the amount of run time since the last start, or the length of the
current run. This total is held after the equipment is stopped, until the
next start, when it is reset to zero.
• Shows the maximum amount of time for any single run; this is the
highest value achieved by the previous total.
• Allows maintenance personnel, but not operators, to clear individually
the total run time, starts count, or maximum single run time. This lets
the times be reset when the motor or other equipment is serviced,
rebuilt or replaced.
540 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram illustrates the functionality of the PRT instruction:
Configuration of Strings for HMI
Configure strings for HMI faceplates (FactoryTalk View) and for the Logix
Designer configuration dialog box. The strings are set to extended properties
of tag items. Configure the strings in the Logix Designer application only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
Implementation
This illustration shows normal implementation with the input condition
mapped to Inp_Running and Inp_Starting on a separate branch.
Publication PROCES-RM215A-EN-P - November 2023 541
Chapter 1 PlantPAx
This illustration shows the implementation with the input condition mapped
to the PRT instruction by using the rung-condition-in.
When the rung-condition-in is false (EnableIn is false) the instruction
executes normally. To use the rung-condition-in mapping method, set
Inp_Running to 1, its default value.
Monitor the PRT instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Total run time, Maximum run time and starts count are retained through a
power cycle. Current run time is reset (internally only, Val_CurHours is
maintained for display).
All Prog, Maint, commands that are automatically cleared each execution are
cleared.
542 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Instruction first run Total run time, Maximum run time and starts count are retained through a
power cycle. Current run time is reset (internally only, Val_CurHours is
maintained for display).
All Prog, Maint, commands that are automatically cleared each execution are
cleared.
Rung-condition-in is false EnableIn False is treated the same as Motor Stopped: Commands are still
processed, total run time is held (RTO), the Starts counter is prepared for the
next start (.CU clears on CTU with AFI), and the Current Run Time is cleared
(TON false).
Command Processing:
• This object has no Command Source and
• Commands are accepted regardless of Source. Commands should be
restricted to authorized personnel (typically at a maintenance level).
• PCmd_ClearTotHrs: Program Command to Clear Total Runtime Hours
• MCmd_ClearTotHrs: Maintenance Command to Clear Total Runtime Hours
• PCmd_ClearStarts: Program Command to Clear Count of Starts
• MCmd_ClearStarts: Maintenance Command to Clear Count of Starts
• PCmd_ClearMaxHrs: Program Command to Clear Maximum Single Run
Hours
• MCmd_ClearMaxHrs: Maintenance Command to Clear Maximum Single Run
Hours
• The number of starts is directly reported as an integer Value.
• The current hours working register is cleared, but the Value is left in place
for display until the next run begins.
• The Total Running Time is reported as a REAL number of Hours. (This will
always be in completed tenths of an hour, like a mechanical hours
counter.)
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Function Block Diagram
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Ladder Diagram table.
EnableIn is false See Rung-condition-in is false in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic, it will execute.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 543
Chapter 1 PlantPAx
Example
In the following example, tag A100_MR_001 is the motor value monitored by
the PRT instruction. This tag provides a Boolean indication of motor run time
value.
Inp_Runnung is connected to the Motor Running status tag
(A100_MR_001.Sts_Running) that comes from the Sts_Running output of the
P_Motor instruction instance for this motor (A100_MR_001). Inp_Starting is
connected to the Motor Starting status tag (A100_MR_001.Sts_Starting) that
comes from the Sts_Starting output of the P_Motor instruction instance for
this motor (A100_MR_001).
Finally, A100_MR_001_RT.Val_TotRunHrs is the output tag that will indicate
the total running hours of A100_MR_001. There is also current running hours
(A100_MR_001_RT.Val_CurRunHrs) of the motor and maximum running
hours (A100_MR_001_RT.Val_MaxRunHrs) of the motor available.
Ladder Diagram
Function Block Diagram
544 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
PRT_01.Inp_Starting:=A100_MR_001.Sts_Starting;
PRT_01.Inp_Running:=A100_MR_001.Sts_Running;
PRT(PRT_01);
Process Tank Strapping This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
Table (PTST)
The Process Tank Strapping Table (PTST) instruction calculates the volume of
product in an upright cylindrical tank, given the level of the product and the
tank calibration table. The instruction can compensate for:
• Free water at the bottom of the tank, given a product/water interface
level.
• Thermal expansion of the tank shell, given the coefficient of linear
expansion of the shell material and product and ambient
temperatures.
• A floating tank roof, given the product density is provided.
The Process Tank Strapping Table (PTST) instruction is a calculation function,
between blocks.
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 545
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PTST(PTST_tag, Cfg_CalTbl);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx P_TANK_STRAPPING_TABLE tag Data structure required for proper operation of instruction.
Control
Cfg_CalTbl P_STRAPPING_TABLE_ROW tag Tank calibration table, level to volume.
P_TANK_STRAPPING_TABLE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable input. Ladder Diagram: Corresponds to the rung-condition-in.
Default is true.
546 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type Description
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Default is true.
Inp_Level REAL Tank innage level, in feet or meters. Valid = any float.
Default is 0.0.
Inp_FreeWaterLevel REAL Tank innage free water interface level, in major level units (feet or meters). Valid = any
float.
Default is 0.0.
Inp_ObsAPI REAL Observed density, or degrees API, at product temperature. This is used for floating roof
compensation to calculate displacement based on weight of roof. Valid = any float.
Default is 30.5.
Inp_AvgProdTemp REAL Average product temperature input in degrees Fahrenheit or Celsius. Valid = any float.
Default is 60.0.
Inp_AmbTemp REAL Ambient temperature input in degrees Fahrenheit or Celsius. Valid = any float.
Default is 60.0.
Cfg_MinorPerMajor REAL Table minor units, in inches, centimeters, millimeters, per major unit, in feet or meters.
Type 0.0 if minor units not used. Valid = any float.
Default is 12.0.
Cfg_HasCorrTempShell BOOL 0 = No correction for temperature of tank shell. 1 = Include correction for temperature of
tank shell.
Default is false.
Cfg_HasFloatRoofAdj BOOL 0 = Do not use floating roof adjustment. 1 = Include floating roof adjustment to account
for displacement of fluid level.
Default is false.
Cfg_HasMoreObj BOOL 1 = Tells HMI an object with more info is available.
Default is false.
Cfg_CalTemp REAL Temperature of tank calibration (typically 60 °F or 15 °C). Valid = any float.
Default is 60.0.
Cfg_ShellCoefOfExp REAL Tank shell linear coefficient of thermal expansion (1 per degree Fahrenheit or 1 per
Celsius). Valid = any float.
Default is 0.0000062.
Cfg_K REAL Temperature weighting (type 0.0 for insulated tank). See API MPMS 2.2A Appendix D. Valid
= any float.
Default is 7.0.
Cfg_FloatRoofLevel REAL Lowest level at which to add or subtract floating roof compensation (feet). Valid = any
float.
Default is 0.0.
Cfg_FloatRoofCalAPI REAL Degrees API for which table includes floating roof data. Valid = any float.
Default is 30.5.
Cfg_FloatRoofVolPerAPI REAL Adjustment to table values for API <> CalAPI (volume/degrees API, typically a negative
number). Valid = any float.
Default is -2.5.
Public Output Members Data Type Description
EnableOut BOOL Enable Output. This output state always reflects EnableIn input state.
Val_TotObsVol REAL Raw total observed volume from Calibration Table (barrels, gallons, liters).
Val_FreeWater REAL Free water volume (barrels, gallons, liters).
Val_TempShell REAL Calculated tank shell temperature in degrees Fahrenheit or Celsius.
Val_CorrTempShell REAL Correction for temperature of tank shell (multiplier).
Publication PROCES-RM215A-EN-P - November 2023 547
Chapter 1 PlantPAx
Public Output Members Data Type Description
Val_FloatRoofAdj REAL Floating roof adjustment volume (barrels, gallons, liters).
Val_GrossObsVol REAL Primary value: Gross observed volume (see API MPMS 12.1.1).
Sts_Initialized BOOL 1 = Instruction is initialized. Use Inp_InitializeReq to reinitialize.
Sts_UnderMin BOOL Inp_Level is below lowest level in strapping table.
Sts_OverMax BOOL Inp_Level is above highest level in strapping table.
Public InOut Members Data Type Description
Cfg_CalTbl P_STRAPPING_TABLE_ Tank calibration table (level to volume).
ROW[2]
P_STRAPPING_TABLE_ROW Structure
Members Data Description
Type
Major REAL Number of major units (feet, meters). Valid = 0.0 to maximum positive float.
Minor REAL Number of minor units (inches, centimeters, or millimeters). Valid = 0.0 to maximum positive float.
Volume REAL Tank volume (oil barrels, gallons, liters) at given level (feet, inches). Valid = 0.0 to maximum
positive float.
Operation
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• More Information
• Gross volume units
• Free water volume units
• Raw volume units
• Calculated tank temperature units
• Correction for tank temperature units
• Floating roof adjustments volume units
• Temperature for tank calibration units
• Temperature for API units
• Level units
• Volume units
548 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Temperature for tank shell linear coefficient units
Monitor the PTST Instruction
Monitor from within Logix Designer. The PTST does not have an associated
operator faceplate.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Instruction first run All internal statuses and calculations are reset.
The instruction executes normally.
Rung-condition-in is false Rung-condition-out is cleared to false.
Calculation values is not updated (holds last value).
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan EnableOut is cleared to false.
Instruction first run All internal statuses and calculations are reset.
The instruction executes normally.
Instruction first scan See Instruction first run in the Function Block Diagram table.
EnableIn is false EnableOut is cleared to false.
Calculation values is not updated (holds last value).
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Publication PROCES-RM215A-EN-P - November 2023 549
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. The
instruction executes when it is in the control path activated by the logic.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, the PTST instruction calculates the volume of product in a
storage tank based on the measured storage tank level and storage tank
strapping table information. There is no floating roof and no compensation
for displacement. There are no adjustments based on temperature to account
for thermal expansion of the tank.
550 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 551
Chapter 1 PlantPAx
Function Block Diagram
The measured storage tank level connects to the PTST instruction by using the
input Inp_Level. The level is in units of feet. The storage tank is four feet tall.
In this example, data is in six-inch increments. The strapping table has nine
rows:
Level (ft-in.) Volume (barrels)
0-00 3.1
0-06 136.6
1-00 264.2
1-06 402.7
2-00 541.4
2-06 692.7
3-00 844.1
3-06 990.8
4-00 1137.5
To store the strapping table information in the controller, the tag
MyP_StrapTbl_CalTable is created as type P_STRAPPING_TABLE_ROW [9], a
nine-element array.
.Major .Minor .Volume
MyP_StrapTbl_CalTable[0] 0 0 3.1
MyP_StrapTbl_CalTable[1] 0 6 136.6
MyP_StrapTbl_CalTable[2] 1 0 264.2
MyP_StrapTbl_CalTable[3] 1 6 402.7
MyP_StrapTbl_CalTable[4] 2 0 541.4
MyP_StrapTbl_CalTable[5] 2 6 692.7
MyP_StrapTbl_CalTable[6] 3 0 844.1
MyP_StrapTbl_CalTable[7] 3 6 990.8
MyP_StrapTbl_CalTable[8] 4 0 1137.5
552 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The InOut tag Cfg_CalTbl of the PTST instruction is modified to point to the
new array MyP_StrapTbl_CalTable to provide the instruction with the
strapping table information. The output of PTST is then connected to another
PAI instruction. The output is the calculated volume of the storage tank.
Structured Text
MyPTST.Inp_Level := MyLevel.Val;
MyVolume.Inp_PVUncertain := MyLevel.Sts_PVUncertain;
MyVolume.Inp_PVData := MyPTST.Val_TotObsVol;
PAI(MyLevel);
PTST(MyPTST,MyP_StrapTbl_CalTable);
PAI(MyVolume);
Process Valve (PVLV) This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
The Process Valve (PVLV) instruction operates a two-position, single-solenoid
operated valve, a dual-solenoid operated valve, or a motor-operated valve in
various modes, monitoring for fault conditions. It also monitors
hand-operated two-position valves. It is a built-in analogy of the existing
PlantPAx P_ValveSO, P_ValveMO, and P_ValveHO add-on instructions in the
Rockwell Automation Library of Process Objects.
The PVLV instruction:
• Allows ownership of the valve through the PCMDSRC instruction.
• Provides for configuration of the de-energized state of the valve: Fail
Position 2 (energize to Position 1), Fail Position 1 (energize to Position
2) or Fail Last Position.
• Allows a valve to be set to Position 2 or Position 1. If the valve is so
equipped, monitor Position 2/Position 1 limit switch feedback to verify
that the valve is Position 2 or Position 1. Whether the valve has each of
the feedback limit switches can be configured at the engineer level.
Whether to use each of the feedback limit switches can be configured
at the Maintenance level.
• Stops the motion of a Motor-operated Valve. Also provides a Stop
Output, which is typically used to break the valve motor seal-in circuit
and stop the actuating motor. If the option to allow stopping the valve
is enabled, the instruction lets the operator reverse travel. For example,
an operator can select Position 2 while closing, which stops the valve,
then moves it in the opposite direction.
Publication PROCES-RM215A-EN-P - November 2023 553
Chapter 1 PlantPAx
• Provides an alarm for Full Stall if the valve feedback indicates it did not
move off the original position within a configured amount of time
when commanded to the other position. Provides an alarm for Transit
Stall if the valve feedback indicates the valve moved from the original
position but did not reach the target position within a configured
amount of time. The Transit Stall or Full Stall condition can optionally
de-energize the output to the valve, requiring a reset.
• Provides a limit switch Failure indication if the limit switches indicate
the valve is not Position 1, not Position 2, and not moving. Provides a
configuration for the failure state: whether both switches are ON or
both switches are OFF to indicate limit switch failure.
• Provide for Permissives (those that can be bypassed and those that
cannot be bypassed) which are conditions that allow the valve to
energize.
• Permissive to energize (solenoid-operated valve)
• Position 2 permissives (motor-operated valve)
• Position 1 permissives (motor-operated valve)
• Provides for Interlocks (those that can be bypassed and those that
cannot be bypassed) which are conditions that de-energize the valve
and prevent energizing. Provides an alarm when an interlock
de-energizes the valve. Allows maintenance personnel to bypass the
Permissives and Interlocks.
• Allows maintenance personnel to disable, or force to remain
de-energized, the solenoid valve.
• Monitors an I/O Fault input and alarm on an I/O Fault. The I/O Fault
condition can de-energize the output to the valve, requiring a reset.
• In Override mode, provides an Override State input that determines
whether the Override is to set the valve to Position 2 or Position 1
(default = Position 1).
• Provides a Simulation capability, where the output to the valve
remains de-energized, but the instruction can be manipulated as if a
working valve were present. The response delay is configurable
between a command to Position 2 or Position 1 and the simulated
Position 2 or Position 1 response. This same delay is used if the valve is
configured with no Position 2/Position 1 feedback. This capability is
often used for activities such as instruction testing and operator
training.
• Provides an output for holding the valve coil energized (to Position 2 or
Position 1, based on the configured fail state).
• Provides an actuator fault input for use by valves that generate a fault
contact, such as actuator motor overload trip. The actuator fault
condition can de-energize the outputs to the valve, requiring a reset.
• Provides the ability to trip the valve (de-energize it or drive it to a
default trip position). The program (through program commands) or
the operator (through the HMI faceplate) can trip the valve any time.
554 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The trip function provides these capabilities:
• Detect failure to reach the configured trip position when tripped
and generate an appropriate alarm.
• Monitor interlock conditions to trip the valve and alarm when an
interlock initiates moving the valve to its trip position.
• Provide for simulation of a working valve while disabling the trip
output, for use in off-process training, testing, or simulation.
• Monitor I/O communication, and alarm and trip if the shed on I/O
fault function is enabled on a communication fault.
Available Languages
Ladder Diagram
Function Block Diagram
Publication PROCES-RM215A-EN-P - November 2023 555
Chapter 1 PlantPAx
Structured Text
PVLV(PVLVTag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Configuration Operands
Operand Type Format Description
PlantPAx P_VALVE_DISCRETE tag Data structure required for proper operation of instruction.
ControlPlantPAx Control
BusObj BUS_OBJ tag Bus component
P_VALVE_DISCRETE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable input. Ladder Diagram: Corresponds to the
rung-condition-in.
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OvrdCmd SINT Not Visible Not Required Input Override valve command:
0 = None,
1 = Position 1,
2 = Position 2,
3 = Stop,
4 = Pulse Position 1,
5 = Pulse Position 2,
6 = Pulse continuously.
Default is 0.
556 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_Pos1FdbkData BOOL Visible Not Required Input Feedback from Position 1 limit switch of the
device. 1 = Device confirmed Position 1.
Default is false.
Inp_Pos2FdbkData BOOL Visible Not Required Input Feedback from Position 2 limit switch of the
device. 1 = Device confirmed Position 2.
Default is false.
Inp_ActuatorFault BOOL Not Visible Not Required Input Valve actuator fault (overload, etc.), 0 = Ok, 1 =
Fault).
Default is false.
Inp_IOFault BOOL Visible Not Required Input Indicates the IO data are inaccurate.
0 = The IO data are good,
1 = The IO data are bad, causing fault. If the Valve
is not virtual, this input sets Sts_IOFault, which
raises IOFault Alarm.
Default is false.
Inp_Pos1PermOK BOOL Not Visible Not Required Input 1 = Position 1 Permissives OK, valve can move to
Position 1.
Default is true.
Inp_Pos1NBPermOK BOOL Not Visible Not Required Input 1 = Non-bypassable Position 1 Permissives OK,
valve can move to Position 1.
Default is true.
Inp_Pos2PermOK BOOL Visible Not Required Input 1 = Position 2 Permissives OK, valve can move to
Position 2.
Default is true.
Inp_Pos2NBPermOK BOOL Visible Not Required Input 1 = Non-bypassable Position 2 Permissives OK,
valve can move to Position 2.
Default is true.
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks ok, valve can energize outputs.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks ok, valve can
energize outputs.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock availibility ok.
Default is true.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit Interlock Trip Status.
Default is false.
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this valve, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire hand (typically hardwired local), 0 =
Release hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override (higher priority Program logic),
0 = Release Override.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 557
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.29 = Echo.
Default is 0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External acquisition, 0 = Allow External
acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Alllow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset Shed Latches and Cleared Alarms.
Default is false.
Inp_VirtualPos1HO BOOL Not Visible Not Required Input 1 = Sets virtualized valve HO state to Position 1, 0 =
No change.
Default is false.
Inp_VirtualPos2HO BOOL Not Visible Not Required Input 1 = Sets virtualized valve HO state to Position 2, 0 =
No change.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Operator alarm disable, 0 = Disallow
Operator alarm disable.
Default is false.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator alarm shelve, 0 = Disallow
Operator alarm shelve.
Default is false.
Cfg_eObjType SINT Not Visible Not Required Input Valve object type
0 = Solenoid Operated
1 = Motor Operated
2 = Hand Operated.
Default is 0.
Cfg_HasPos1Fdbk BOOL Not Visible Not Required Input 1 = Device provides Position 1 feedback signal.
Default is false.
Cfg_HasPos2Fdbk BOOL Not Visible Not Required Input 1 = Device provides Position 2 feedback signal.
Default is false.
Cfg_UsePos1Fdbk BOOL Not Visible Not Required Input 1 = Use device Position 1 feedback for failure
checking.
Default is false.
Cfg_UsePos2Fdbk BOOL Not Visible Not Required Input 1 = Use device Position 2 feedback for failure
checking.
Default is false.
Cfg_HasPos1PermObj BOOL Not Visible Not Required Input 1 = Tells HMI a valve is connected to Inp_Pos1Perm
inputs.
Default is false.
558 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasPos2PermObj BOOL Not Visible Not Required Input 1 = Tells HMI a valve is connected to Inp_Pos2Perm
inputs.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI a valve is connected to Inp_Intlk
inputs.
Default is false.
Cfg_FailPos2 BOOL Not Visible Not Required Input 1 = Fail Position 2 (energize to Position 1), 0 = Fail
Position 1 (energize to Position 2).
Default is false.
Cfg_FdbkFail BOOL Not Visible Not Required Input 1 = Both feedbacks Position 1/2 are ON is invalid, 0
= Both feedbacks Position 1/2 are OFF is invalid.
Default is true.
Cfg_HasStop BOOL Not Visible Not Required Input 1 = Stop output can be used to break local seal-in
and stop valve motion.
Default is false.
Cfg_MntnOut BOOL Not Visible Not Required Input 1 = Maintain Output when commanded state
reached.
Default is false.
Cfg_MntnOutAlm BOOL Not Visible Not Required Input 1 = Maintain Output when commanded state
reached is true and when alarm active.
Default is false.
Cfg_MntnStop BOOL Not Visible Not Required Input 1 = Maintain Stop Output when stopped state
reached.
Default is false.
Cfg_HasTrip BOOL Not Visible Not Required Input 1 = Trip output is connected to valve, 0 = Monitor
only.
Default is false.
Cfg_TripPos2 BOOL Not Visible Not Required Input 1 = Trip moves valve to Position 2, 0 = Trip moves
valve to Position 1.
Default is false.
Cfg_HasPulse BOOL Not Visible Not Required Input 1 = Enable pulsing functions, 0 = Position 1/2 only.
Default is false.
Cfg_CompletePulse BOOL Not Visible Not Required Input 1 = Finish pulse in progress when Commanded to
Position 2 or Position 1, 0 = Switch immediately to
Position 2 or Position 1 state when Commanded to.
Default is false.
Cfg_HasPulseToState BOOL Not Visible Not Required Input 1 = Enable pulsing functions to state, 0 = Enable
pulsing functions to time.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI a valve with more info is available.
Default is false.
Cfg_HasStatsObj BOOL Not Visible Not Required Input 1 = Enable stats valve function, 0 = Position 1/2
only.
Default is false.
Cfg_CoastToLS BOOL Not Visible Not Required Input 1 = Coasting into Limit Switch when stopped
changes state, 0 = Stop is independent.
Default is true.
Cfg_OperPos1Prio BOOL Not Visible Not Required Input 1 = OCmd_Pos1 has priority, accepted any time, 0 =
OCmd_Pos1 openly in Operator and Maintenance
command sources.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 559
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = New Operator state command resets fault, 0 =
Reset required to clear fault.
Default is false.
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = New valve XCmd resets shed latches and
cleared alarms, 0 = XCmd_Reset req'd.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores bypassable
permissives/interlocks, 0 = Always use
permissives/interlocks.
Default is false.
Cfg_PCmdPos2AsLevel BOOL Not Visible Not Required Input 1 = PCmd_Pos2 used as a level (1 = Position 2, 0 =
Position 1), 0 = The instruction clears PCmd_Pos2
operand automatically.
Default is false.
Cfg_ShedOnActuatorFault BOOL Not Visible Not Required Input 1 = Stop valve and alarm on Actuator fault; 0 =
alarm only on Actuator fault.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = Stop Valve and Alarm on I/O Fault; 0 = Alarm
only on I/O Fault.
Default is true.
Cfg_ShedOnFailToTrip BOOL Not Visible Not Required Input 1 = Continue trip and alarm on Fail to Trip; 0 =
Alarm only on Fail to Trip.
Default is true.
Cfg_ShedOnFullStall BOOL Not Visible Not Required Input 1 = Stop valve and alarm on Full Stall; 0 = Alarm
only on Full Stall.
Default is true.
Cfg_ShedOnLossPos1 BOOL Not Visible Not Required Input 1 = Stop valve and alarm on Loss Position 1; 0 =
Alarm only on Loss Position 1 feedback.
Default is false.
Cfg_ShedOnLossPos2 BOOL Not Visible Not Required Input 1 = Stop valve and alarm on Loss Position 2; 0 =
Alarm only on Loss Position 2 feedback.
Default is false.
Cfg_ShedOnTransitStall BOOL Not Visible Not Required Input 1 = Stop valve and alarm on Transit stall; 0 = Alarm
only on Transit stall.
Default is true.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance exists, can be selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator lock, 0
= Don't Override lock.
Default is true.
560 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator lock, 0
= Don't Override lock.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program, 0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal source: 1 = Program if no requests; 0 =
Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority. 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Prog used as a level.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Lock used as a level (1 = Lock, 0 =
Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = XCmd_Acq used as level (1 = Acquire, 0 =
Release).
Default is false.
Cfg_Pos1Dly REAL Not Visible Not Required Input Delay before initially activating output Position 1.
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_Pos2Dly REAL Not Visible Not Required Input Delay before initially activating output Position 2.
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_Pos1PulseTime REAL Not Visible Not Required Input Output Position 1 time for pulse Position 1 or pulse
continuous. Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_Pos2PulseTime REAL Not Visible Not Required Input Output Position 2 time for pulse Position 2 or pulse
continuous. Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_OutPulseTime REAL Not Visible Not Required Input Time to pulse valve outputs (0 = Outputs
maintained on). Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_StartHornTime REAL Not Visible Not Required Input Time to sound audible after command request. (0
= Disabled). Valid = 0.0 to 1000.0 seconds.
Default is 0.0.
Cfg_FullStallTime REAL Not Visible Not Required Input Time after output Position 1 to get Position 1
feedback before fault. Valid = 0.0 to 2147483.0
seconds.
Default is 15.0.
Cfg_TransitStallTime REAL Not Visible Not Required Input Time after output Position 1/2 to get Position 1/2
feedback before fault. Valid = 0.0 to 2147483.0
seconds.
Default is 60.0.
Cfg_TripFailTime REAL Not Visible Not Required Input After tripped, time to reach trip position before
alarm. Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_VirtualFdbkTime REAL Not Visible Not Required Input Delay to echo back of Position 1/2 status when the
valve is treated as virtual (seconds).
Default is 3.0.
Publication PROCES-RM215A-EN-P - November 2023 561
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator Command Confirmation Required.
Represents the type of command confirmation
required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PCmd_Pos1 BOOL Not Visible Not Required Input Program command to move valve to Position 1. The
Position 1 command is ignored when
Cfg_PCmdPosition 2 as level is 1. The instruction
clears this operand automatically.
Default is false.
PCmd_Pos2 BOOL Not Visible Not Required Input Program command to move valve to Position 2.
The Position 2 command is ignored when
Cfg_PCmdPosition 2 as level is 1. The instruction
clears this operand automatically.
Default is false.
PCmd_Pos1Pulse BOOL Not Visible Not Required Input Program command to pulse valve that is in
Position 2, to Position 1 once. The instruction
clears this operand automatically.
Default is false.
PCmd_Pos2Pulse BOOL Not Visible Not Required Input Program command to pulse valve that is in
Position 1, to Position 2 once. The instruction
clears this operand automatically.
Default is false.
PCmd_ContPulse BOOL Not Visible Not Required Input Program command to pulse valve continuously.
The instruction clears this operand automatically.
Default is false.
PCmd_Trip BOOL Not Visible Not Required Input Program command to trip valve.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms requiring
reset. The instruction clears this operand
automatically.
Default is false.
PCmd_Stop BOOL Not Visible Not Required Input Program command to stop valve. The instruction
clears this operand automatically.
Default is false.
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release
(zero).
Default is 0.
PCmd_Lock BOOL Not Visible Not Required Input Program command to lock Program (disallow
Operator). The instruction clears this operand
automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program command to select normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
562 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Oper BOOL Not Visible Not Required Input Program command to select Operator (Program to
Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program command to select Program (Operator to
Program). The instruction clears this operand
automatically.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program command to unlock Program (allow
Operator to acquire). The instruction clears this
operand automatically.
Default is false.
PCmd_Virtual BOOL Not Visible Not Required Input Program Command to select Virtual (simulated)
device operation
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program Command to select Physical device
operation (not simulated)
Default is false.
XCmd_Pos1 BOOL Not Visible Not Required Input External command to turn object Position 1. The
instruction clears this operand automatically.
Default is false.
XCmd_Pos2 BOOL Not Visible Not Required Input External command to turn object Position 2. The
instruction clears this operand automatically.
Default is false.
XCmd_Pos1Pulse BOOL Not Visible Not Required Input External command to pulse valve that is in Position
2, to Position 1 once. The instruction clears this
operand automatically.
Default is false.
XCmd_Pos2Pulse BOOL Not Visible Not Required Input External command to pulse valve that is in Position
1, to Position 2 once. The instruction clears this
operand automatically.
Default is false.
XCmd_ContPulse BOOL Not Visible Not Required Input External command to pulse object continuously
(blink). The instruction clears this operand
automatically.
Default is false.
XCmd_Trip BOOL Not Visible Not Required Input External command to trip valve.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to clear shed latches and
cleared alarms.
Default is false.
XCmd_Stop BOOL Not Visible Not Required Input External command to stop valve motion.the
instruction clears this operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all
alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 563
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XCmd_Acq BOOL Not Visible Not Required Input External command to acquire ownership
(Operator/Program/Override/Maintenance to
External). The instruction clears this operand
automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External command to release ownership if
Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable output. This output state always reflects
EnableIn input state.
Out_Pos1Data BOOL Not Visible Not Required Output 1 = Activate to move valve to Position 1.
Out_Pos2Data BOOL Visible Not Required Output 1 = Activate to move valve to Position 2.
Out_StopData BOOL Not Visible Not Required Output 1 = Break seal-in circuit in actuator to stop valve
motion.
Out_TripData BOOL Not Visible Not Required Output 1 = Trip valve to safe/fail state.
Out_HornData BOOL Not Visible Not Required Output 1 = Sound audible prior to commanded valve start.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status. 0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. use Inp_initializereq
to reinitialize.
Sts_Available BOOL Not Visible Not Required Output 1 = Valve available for control by automation
(Program).
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Valve can be acquired by Program and is
available for start/stop control when interlocks
are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks are bypassed.
564 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock bypassing active (bypassed or
Maintenance).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Valve has a Maintenance bypass function
active.
Sts_NotRdy BOOL Not Visible Not Required Output 1 = Valve is not ready, for HMI use hidden detail
bits (Sts_nrdyxxx) for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Valve is not ready: configuration error.
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Valve is not ready: interlock not ok.
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Valve is not ready: object disabled by
Maintenance.
Sts_NrdyPos1Perm BOOL Not Visible Not Required Output 1 = Valve is not ready: Position 1 permissive not ok.
Sts_NrdyPos2Perm BOOL Not Visible Not Required Output 1 = Valve is not ready: Position 2 permissive not
ok.
Sts_NrdyPerm BOOL Not Visible Not Required Output 1 = Valve is not ready: permissive not ok.
Sts_NrdyStopPerm BOOL Not Visible Not Required Output 1 = Valve is not ready: stop permissive not ok.
Sts_Err BOOL Not Visible Not Required Output 1 = Error in configuration: See detail bits
(Sts_Errxxx) for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in logix tag-based alarm settings.
Sts_ErrFullStallTime BOOL Not Visible Not Required Output 1 = Invalid Position 1 fail timer preset (use 0.0 to
2147483.0).
Sts_ErrHas BOOL Not Visible Not Required Output 1 = Error in Config: must have at least one Limit
Switch
Sts_ErrOutPulseTime BOOL Not Visible Not Required Output 1 = Invalid outpulse timer preset (use 0.0 to
2147483.0).
Sts_ErrPos1Dly BOOL Not Visible Not Required Output 1 = Invalid Position 1 delay timer preset (use 0 to
2147483.0).
Sts_ErrPos1PulseTime BOOL Not Visible Not Required Output 1 = Invalid Position 1 pulse timer preset (use 0.0 to
2147483.0).
Sts_ErrPos2Dly BOOL Not Visible Not Required Output 1 = Invalid Position 2 delay timer preset (use 0 to
2147483.0).
Sts_ErrPos2PulseTime BOOL Not Visible Not Required Output 1 = Invalid Position 2 pulse timer preset (use 0.0 to
2147483.0).
Sts_ErrTransitStallTime BOOL Not Visible Not Required Output 1 = Invalid Position 2 fail timer preset (use 0.0 to
2147483.0).
Sts_ErrTripFailTime BOOL Not Visible Not Required Output 1 = Invalid virtual feedback timer (use 0.0 to
2147483.0).
Sts_Hand BOOL Not Visible Not Required Output 1 = Hand is selected (supersedes OoS,
Maintenance, Override, External, Program,
Operator).
Sts_OoS BOOL Not Visible Not Required Output 1 = Out of service is selected (supersedes
Maintenance, Override, External, Program,
Operator).
Sts_Maint BOOL Not Visible Not Required Output 1 = Maintenance is selected (supersedes Override,
External, Program, Operator).
Sts_Ovrd BOOL Not Visible Not Required Output 1 = Override is selected (supersedes External,
Program, Operator).
Sts_Ext BOOL Not Visible Not Required Output 1 = External is selected (supersedes Program and
Operator).
Sts_Prog BOOL Visible Not Required Output 1 = Program is selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program is selected and locked.
Sts_Oper BOOL Not Visible Not Required Output 1 = Operator is selected.
Publication PROCES-RM215A-EN-P - November 2023 565
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator is selected and locked.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Not Visible Not Required Output Program/Operator lock (latch) state, 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selection equals the normal (Program or
Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External request inhibited, cannot get to
External from current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program request inhibited, cannot get to
Program from current state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Maintenance acquire command received this
scan.
Sts_CmdConflict BOOL Not Visible Not Required Output 1 = Conflicting commands received this scan.
Sts_Alm BOOL Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = One or more alarms shelved, disabled or
suppressed.
Sts_ActuatorFault BOOL Not Visible Not Required Output 1 = Actuator fault detected (input).
Sts_CmdToPos1 BOOL Not Visible Not Required Output 1 = Valve commanded to Position 1, has not yet
moved off Position 1 Limit Switch.
Sts_CmdToPos2 BOOL Not Visible Not Required Output 1 = Valve commanded to Position 2, has not yet
moved off Position 2 Limit Switch.
Sts_ErrUse BOOL Not Visible Not Required Output 1 = Error in Config: must use at least one Limit
Switch
Sts_ErrVirtualFdbkTime BOOL Not Visible Not Required Output 1 = Invalid virtual feedback timer (use 0.0 to
2147483.0).
Sts_FdbkPos1 BOOL Not Visible Not Required Output 1 = Valve feedback shows valve in Position 1 state.
Sts_FdbkPos2 BOOL Not Visible Not Required Output 1 = Valve feedback shows valve in Position 2 state.
Sts_FdbkFail BOOL Not Visible Not Required Output 1 = Feedbacks are in an invalid state (not Position
1, Position 2, or transition).
Sts_FullStall BOOL Not Visible Not Required Output 1 = Valve full stall (failed to move at all) (one-shot).
Sts_Horn BOOL Not Visible Not Required Output 1 = Valve horn active.
Sts_LossPos1 BOOL Not Visible Not Required Output 1 = Loss of Position 1 position alarm.
Sts_LossPos2 BOOL Not Visible Not Required Output 1 = Loss of Position 2 position alarm.
Sts_IOFault BOOL Not Visible Not Required Output I/O comm fault status (0 = Ok, 1 = Bad).
Sts_Moving BOOL Not Visible Not Required Output 1 = Valve not commanded to trip and is not
confirmed Position 1 or Position 2.
Sts_MovingToPos1 BOOL Not Visible Not Required Output 1 = Valve commanded to Position 1 and awaiting
Position 1 feedback.
Sts_MovingToPos2 BOOL Not Visible Not Required Output 1 = Valve commanded to Position 2 and awaiting
Position 2 feedback.
Sts_Pos1 BOOL Visible Not Required Output 1 = Valve commanded to Position 1 and is
confirmed Position 1.
Sts_Pos2 BOOL Visible Not Required Output 1 = Valve commanded to Position 2 and is
confirmed Position 2.
Sts_Pulsing BOOL Not Visible Not Required Output 1 = Output is in a pulsing sequence.
Sts_Stopped BOOL Not Visible Not Required Output 1 = Valve commanded to stop and is not at either
end of travel.
Sts_TransitStall BOOL Not Visible Not Required Output 1 = Valve transit stall (did not reach target
position) (one-shot).
Sts_TripFail BOOL Not Visible Not Required Output 1 = Valve failed to trip (did not reach trip position).
566 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Tripping BOOL Not Visible Not Required Output 1 = Valve commanded to trip and has not reached
trip position.
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_NrdyTrip BOOL Not Visible Not Required Output 1 = Valve not ready: tripped (at object or by
command).
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Valve is not ready: io fault (shed requires
reset).
Sts_NrdyActuatorFault BOOL Not Visible Not Required Output 1 = Valve not ready:actuator fault (fault or shed
requires reset).
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Valve tripped by an interlock not ok.
Sts_NrdyFail BOOL Not Visible Not Required Output 1 = Valve is not ready: object failure (shed requires
reset).
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats the object as virtual. The
instruction acts as normal but the output is kept
de-energized (Out_ = 0). 0 = the instruction
operates the object normally.
Sts_bSrc INT Not Visible Not Required Output Active selection bitmap (for HMI totem pole with
command source request selection):
Sts_bSrc.0: hand,
Sts_bSrc.1: Programmed out of service (rung
false),
Sts_bSrc.2: Maintenance out of service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_eSrc INT Not Visible Not Required Output The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Publication PROCES-RM215A-EN-P - November 2023 567
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eCmd SINT Not Visible Not Required Output Valve command: 0=None,
1=Position 1,
2=Position 2,
4=Stop,
8=Pulse Position 1,
16=Pulse Position 2,
32=Pulse continuously,
64=Trip
Sts_eFdbk SINT Not Visible Not Required Output Valve feedback:
0 = transition,
1 = Position 1,
2 = Position 2,
3 = invalid.
Sts_eFault SINT Not Visible Not Required Output Valve fault status:
0 =None,
2 = Feedback fault,
7 = Transit stall,
8 = Full stall,
11 = Loss Position 1,
12 = Loss Position 2,
13 = Actuator fault,
14 = Trip fail,
15 = Interlock trip,
16 = Not ready fail,
18 = Not ready trip,
32 = I/O Fault,
34 = Config Error.
Sts_eNotify SINT Not Visible Not Required Output All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
568 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyAll SINT Not Visible Not Required Output All alarm status enumerated values including
related valves:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eState DINT Not Visible Not Required Output Internal logic state
1 = Position 1
2 = Position 2
9 = Position 2 command ON-DELAY
10 = Position 1 command OFF-DELAY 17 = PULSE
Position 2 command ON-DELAY
18 = PULSE Position 1 command OFF-DELAY
33 = PULSE Position 2 command ON PULSE time
34 = PULSE Position 1 command OFF PULSE time
65 = PULSE CONTINUOUS command ON-DELAY
66 = PULSE CONTINUOUS command OFF-DELAY
129 = PULSE CONTINUOUS command OFF PULSE
time
130 = PULSE CONTINUOUS command ON PULSE
time
257 = Position 1 PULSE completion time
Sts_eSts SINT Not Visible Not Required Output Valve status:
0 = ?,
1 = Position 1,
2 = Position 2,
3 = cmd to Position 1,
4 = cmd to Position 2,
5 = moving to Position 1,
6 = moving to Position 2,
7 = stopped,
8 = tripping,
9 = pulse Position 1,
10 = pulse Position 2,
11 = pulse continuously, 12 = moving, 14 = Horn, 15
= out of service.
Publication PROCES-RM215A-EN-P - November 2023 569
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyActuatorFault SINT Not Visible Not Required Output Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFullStall SINT Not Visible Not Required Output Full Stall alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output Interlock Trip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault SINT Not Visible Not Required Output IO Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
570 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyLossPos1 SINT Not Visible Not Required Output Loss Position 1 alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLossPos2 SINT Not Visible Not Required Output Loss Position 2 alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyTransitStall SINT Not Visible Not Required Output Transit Stall alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyTripFail SINT Not Visible Not Required Output Trip Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 571
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status
(enumerated):
0=Good, live, confirmed good,
1=Good, live, assumed good,
2=Good, no feedback, assumed good,
8=Test, virtualized,
9=Test, loopback,
10=Test, manually entered,
16=Uncertain, live, off-spec,
17=Uncertain, substituted at device or bus,
18=Uncertain, substituted at instruction,
19=Uncertain, using last known good,
20=Uncertain, using replacement value,
32=Bad, signal failure,
33=Bad, channel fault,
34=Bad, module or communication fault,
35=Bad, invalid configuration.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output
(enumerated):
0=Good, live, confirmed good,
1=Good, live, assumed good,
2=Good, no feedback, assumed good,
8=Test, virtualized,
9=Test, loopback,
10=Test, manually entered,
16=Uncertain, live, off-spec,
17=Uncertain, substituted at device or bus,
18=Uncertain, substituted at instruction,
19=Uncertain, using last known good,
20=Uncertain, using replacement value,
32=Bad, signal failure,
33=Bad, channel fault,
34=Bad, module or communication fault,
35=Bad, invalid configuration.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = Not owned).
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_Resetackall, enable HMI
button.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOUR Control or Command Source Selection.
CE
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks. The instruction clears this
operand automatically.
Default is false.
572 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks. The instruction clears this
operand automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select in service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select out of service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance Command to select Physical device operation (not simulated)
Default is false.
MCmd_Rel BOOL Maintenance command to release ownership (Maintenance to
Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance Command to select Virtual (simulated) device operation
Default is false.
OCmd_ContPulse BOOL Operator command to pulse valve continuously. The instruction clears this operand
automatically.
Default is false.
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Normal BOOL Operator command to select normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Pos1 BOOL Operator command to move valve to Position 1. The instruction clears this operand
automatically.
Default is false.
OCmd_Pos1Pulse BOOL Operator command to pulse valve that is in Position 2, to Position 1 once. The instruction
clears this operand automatically.
Default is false.
OCmd_Pos2 BOOL Operator command to move valve to Position 2. The instruction clears this operand
automatically.
Default is false.
OCmd_Pos2Pulse BOOL Operator command to pulse valve that is in Position 1, to Position 2 once. The instruction
clears this operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms requiring reset. The instruction clears this operand
automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to reset all alarms and latched shed conditions. The use of
OCmd_Resetackall is restricted to HMI. The instruction clears this operand automatically.
Default is false.
OCmd_Stop BOOL Operator command to stop valve motion. The instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 573
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_Trip BOOL Operator command to trip valve.
Default is false.
OCmd_Unlock BOOL Operator command to unlock / release (allow Program to acquire) ownership. The
instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT HMI bus object index
Default is 0.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready to receive OCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready to receive OCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_ContPulse BOOL 1 = Ready to receive OCmd_Contpulse, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Pos1 BOOL 1 = Ready to receive OCmd_Pos1, enable HMI button.
ORdy_Pos1Pulse BOOL 1 = Ready to receive OCmd_Pos1pulse, enable HMI button.
ORdy_Pos2 BOOL 1 = Ready to receive OCmd_Pos2, enable HMI button.
ORdy_Pos2Pulse BOOL 1 = Ready to receive OCmd_Pos2pulse, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = At least one alarm or shed condition requires reset.
ORdy_ResetAckAll BOOL 1 = At least one alarm or latched shed condition requires reset or acknowledgement.
ORdy_Stop BOOL 1 = Ready for OCmd_Stop (enables HMI button).
ORdy_Trip BOOL 1 = Ready for OCmd_trip (enables HMI button).
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
BusObj BUS_OBJ Visible Required InOut Bus component
BUS_OBJ Structure
The BUS_OBJ structure is used to link the valve to other devices and
instructions in a complex control strategy, typically into a hierarchy. A Bus
Object rolls up status and alarm information from lower level devices to
higher level control and fans out commands from higher level control to lower
level devices. Items link to the bus by referencing a single member of the
BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
574 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete Logix tag-based alarms are defined for these members:
Member Alarm Name Description
Sts_AcuatorFault Alm_AcuatorFault Raised if the Inp_ActuatorFault input is true. This alarm is provided for use by
valves that generate a fault contact, such as actuator motor overload trip.
Sts_FullStall Alm_FullStall Raised when the valve has and is using Position 2 and/or Position 1 limit
switches, an attempt is made to Position 2 or Position 1 the valve, and the limit
switches indicate that the valve did not move from its original position at all
within the configured time.
Sts_IOFault Alm_IOFault Raised when the Inp_IOFault input is true. This input is usually used to indicate
to the instruction that a communication failure has occurred for its I/O. If the
I/O Fault is configured as a shed fault, the valve is commanded to Stop motion
and cannot be commanded to either position until reset.
Sts_IntlkTrip Alm_IntlkTrip Raised when the valve is energized and an interlock Not-OK condition causes
the valve to be de-energized. If interlocks are not bypassed, a bypassable
interlock or a non-bypassable interlock Not-OK condition initiates an interlock
trip. If interlocks are bypassed, only a non-bypassable interlock Not-OK
condition initiates an interlock trip.
Sts_LossPos1 Alm_LossPos1 Raised when the valve has reached the confirmed Position 1 state and the
Position 1 confirmation feedback is lost.
Sts_LossPos2 Alm_LossPos2 Raised when the valve has reached the confirmed Position 2 state and the
Position 2 confirmation feedback is lost.
Sts_TransitStall Alm_TransitStall Raised when the valve has and is using both Position 2 and Position 1 position
feedback, an attempt is made to Position 2 or Position 1 the valve, and the
position feedback indicates that the valve moved off the original position but
did not reach the target position within the configured transit stall time.
Sts_TripFail Alm_TripFail Raised when the valve has and is using the optional trip feature, an attempt is
made to trip the valve, and the limit switch feedbacks show that the valve did
not reach the configured tripped position (Position 2 or Position 1) within the
configured fail to trip time.
Publication PROCES-RM215A-EN-P - November 2023 575
Chapter 1 PlantPAx
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix tag-based alarm. Use this format to access alarm elements:
[email protected] Program, Operator, and External commands reset latched alarms, and reset
and acknowledge all alarms of the instruction (Alarm Set) at the same time.
This diagram shows how the commands interact with the PVLV instruction.
576 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
This diagram illustrates the functionality of the PVLV instruction:
Operator command request confirmation
The PVLV instruction enables these operator commands and settings:
Publication PROCES-RM215A-EN-P - November 2023 577
Chapter 1 PlantPAx
• OCmd_ContPulse
• OCmd_Pos1
• OCmd_Pos1Pulse
• OCmd_Pos2
• OCmd_Pos2Pulse
• OCmd_Stop
• OCmd_Trip
Enforced security might require the request to be confirmed or canceled
before the selected command executes or setting is accepted. The instruction
checks the security rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0 no
confirmation is required and the request executes immediately. If
Cfg_CnfrmReqd=1 the instruction waits for confirmation
OCmd_CmdCnfrm=1 and/or cancellation. For Cfg_CnfrmReqd=2 or 3
eSignature is needed before the confirmation and cancellation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Use
PCmd_Virtual or MCmd_Virtual to enable virtualization. After finishing
virtualization, use PCmd_Physical or MCmd_Physical to return to normal
(physical device) operation.
When Virtualization is active, the outputs of the PVLV instruction hold at 0,
virtual feedback of a working device is provided and I/O faults are ignored.
Manipulate the instruction to operate as if a working valve is present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
578 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• More Information
• Position 2 Command button
• Position 1 Command button
• Stop Command button
• Pulse Position 2 Command button
• Pulse Position 1 button
• Pulse button
• Position 2 Target state
• Position 1 Target state
• Stop Target state
• Pulse Position 2 Target state
• Pulse Position 1 Target state
• Position 2 Transition state
• Position 1 Transition state
• Stop Transition state
• Pulse Position 2 Transition state
• Pulse Position 1 Transition state
• Actuator Alarm
• IO Fault Alarm
• Full Stall Alarm
• Transit Stall Alarm
• Interlock Trip Alarm
• Loss of Position 1 Alarm
• Loss of Position 2 Alarm
• Trip Fail Alarm
Monitor the PVLV Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Publication PROCES-RM215A-EN-P - November 2023 579
Chapter 1 PlantPAx
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The valve is
de-energized and treated as if it were commanded to safe position.
Instruction first run Any commands received before first scan are discarded. The valve state is
evaluated and the instruction aligns with the current state of the valve, as if
the Hand command source were selected.
Rung-condition-in is false Handled the same as if the valve is taken Out of Service by command. The
valve outputs are de-energized, and the valve Command Source is shown as
Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The valve is
de-energized and treated as if it were commanded to safe position.
Instruction first run Any commands received before first scan are discarded. The valve state is
evaluated and the instruction aligns with the current state of the valve, as if
the Hand command source were selected.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the valve is taken Out of Service by command. The
valve outputs are de-energized, and the valve Command Source is shown as
Program Out of Service on the HMI. All alarms are cleared. EnableOut is set
to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
580 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Example
Ladder Diagram
Function Block Diagram
Structured Text
MyPVLV.Inp_Pos1FdbkData:=MyPVLV_ZSC;
MyPVLV.Inp_Pos2FdbkData:=MyPVLV_ZSO;
Publication PROCES-RM215A-EN-P - November 2023 581
Chapter 1 PlantPAx
PVLV(MyPVLV, 0);
MyPVLV_Coil:=MyPVLV.Out_Pos2Data;
See also
Process Valve (PVLV) Command Source on page 582
PVLV Command Source The Process Valve (PVLV) instruction uses these command sources. The
command sources are prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled. Drive commands and settings from any source are not accepted.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
582 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically
cleared when the instruction executes and processes them.
Publication PROCES-RM215A-EN-P - November 2023 583
Chapter 1 PlantPAx
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
command was eliminated then there would be no way to accomplish this. This
is only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
See also
Process Valve (PVLV)
Process Mix Proof Valve This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PVLVMP)
The Process Mix Proof Valve (PVLVMP) instruction controls and monitors
feedback from a mix-proof valve in various modes and states, monitoring for
fault conditions. This instruction supports mix-proof valves with or without
additional connections for cleaning (CIP, clean-in-place) or steaming (SIP,
sanitize in place).
Use the PVLVMP instruction to:
• Operate a mix-proof valve with these positions:
• Closed
• Opened
• CIP/SIP leakage cavity (optional)
• Operate a mix-proof valve with these positions, which can pulse the
seat being cleaned, or lifted opened and closed, to provide enhanced
584 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
cleaning. (As the seat is popped open and closed, the flow velocity
across the seat is increased compared to the fully open seat position.)
Pulse times are configurable.
• Lift upper seat (optional)
• Lift lower seat (optional)
• CIP/SIP upper seat (optional)
• CIP/SIP lower seat (optional)eve
• Operate using a state model that makes sure that valve seats are
sequenced properly to avoid cross-contamination.
• Provide six outputs and six inputs. The outputs in each valve state
(including intermediate states) are configurable for on and off states.
The inputs that verify each valve state are configurable for their
required on, required off, and don't care states. Provides feedback
checking to make sure that the valve reaches each position, including
intermediate positions before moving to the next position. The time
for feedback inputs to confirm each state is configurable.
• Display graphic symbols for mix-proof valves in 2-D layouts and 3-D
(isometric) layouts for ease in building valve array and routing
manifold displays.
• Allow maintenance personnel to take the valve out of service. Note that
this capability is not a substitute for hard lockout/tagout (LOTO)
procedures.
• Provide inputs for Interlock conditions to drive the valve to the closed
state.
• Monitor for I/O communication faults, and close the valve and raise an
alarm on a fault.
• Provide an available status for Program command source logic so
automation code can determine whether a valve can be controlled.
• Provide a valve virtualization capability. When the mix-proof valve is
set to virtual, outputs are left de-energized, and the instruction
behaves as if a fully functioning valve were providing feedback.
• Operate from Hand, Maintenance, Override, External, Program, and
Operator command sources.
• Provide a maintenance command to toggle a locator or beacon output.
Publication PROCES-RM215A-EN-P - November 2023 585
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
586 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PVLVMP(PVLVMPTag, BusObj);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Publication PROCES-RM215A-EN-P - November 2023 587
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_DISCRETE_MIX_PROOF tag Data structure required for proper operation of
instruction.
BusObj BUS_OBJ tag Bus component.
P_DISCRETE_MIX_PROOF Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command (bitmapped): All bits off =
None, .10 = Operator Lock, .11 = Operator Unlock, .12
= Program Lock, .13 = Program Unlock, .14 =
Acquire Maintenance, .15 = Release Maintenance,
.16 = Acquire External, .17 = Release External, .29 =
Echo.
Default is 0.
Inp_OpenLSData BOOL Visible Not Required Input Valve open limit switch: 1 = Confirmed opened.
Default is false.
Inp_ClosedLSData BOOL Visible Not Required Input Valve closed limit switch: 1 = Confirmed fully
closed.
Default is false.
Inp_LowerSeatLSData BOOL Visible Not Required Input Valve lower seat lift limit switch: 1 = Confirmed
lower seat lifted.
Default is false.
Inp_UpperSeatLSData BOOL Visible Not Required Input Valve upper seat lift limit switch: 1 = Confirmed
upper seat lifted.
Default is false.
Inp_CavityInletLSData BOOL Visible Not Required Input Valve cavity inlet limit switch: 1 = Confirmed cavity
inlet opened.
Default is false.
Inp_CavityOutletLSData BOOL Visible Not Required Input Valve cavity outlet limit switch: 1 = Confirmed
cavity output closed.
Default is false.
588 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_IOFault BOOL Visible Not Required Input 1 = I/O communication is faulted, 0 = I/O
communication is OK.
Default is false.
Inp_OpenIntlkOK BOOL Visible Not Required Input 1 = Open interlocks OK, valve can open, 0 =
Interlocks not OK, close valve if target/actual state
is opened.
Default is true.
Inp_OpenNBIntlkOK BOOL Visible Not Required Input 1 = Open non-bypassable interlocks OK, valve can
open, 0 = Interlocks not OK, close valve if
target/actual state is open.
Default is true.
Inp_OpenIntlkAvailable BOOL Visible Not Required Input 1 = Open interlock availability is OK, show
Sts_OpenIntlkAvailable if device is ready except for
open interlocks.
Default is false.
Inp_LowerSeatIntlkOK BOOL Visible Not Required Input 1 = Lower seat interlocks OK, valve can lift or clean
lower seat, 0 = Interlocks not OK, close valve if
target/actual state has lower seat lifted.
Default is true.
Inp_LowerSeatNBIntlkOK BOOL Visible Not Required Input 1 = Lower seat non-bypassable interlocks OK, valve
can lift or clean lower seat, 0 = Interlocks not OK,
close valve if target/actual state has lower seat
lifted.
Default is true.
Inp_LowerSeatIntlkAvailable BOOL Visible Not Required Input 1 = Lower seat interlock availability is OK, show
Sts_LowerSeatIntlkAvailable if device is ready
except for lower seat interlocks.
Default is false.
Inp_UpperSeatIntlkOK BOOL Visible Not Required Input 1 = Upper seat interlocks OK, valve can lift or clean
upper seat, 0 = Interlocks not OK, close valve if
target/actual state has upper seat lifted.
Default is true.
Inp_UpperSeatNBIntlkOK BOOL Visible Not Required Input 1 = Upper seat non-bypassable interlocks OK, valve
can lift or clean upper seat, 0 = Interlocks not OK,
close valve if target/actual state has upper seat
lifted.
Default is true.
Inp_UpperSeatIntlkAvailable BOOL Visible Not Required Input 1 = Upper seat interlock availability is OK, show
Sts_UpperSeatIntlkAvailable if device is ready
except for upper seat interlocks.
Default is false.
Inp_CavityIntlkOK BOOL Not Visible Not Required Input 1 = Cavity interlocks OK, valve can clean cavity or
seat, 0 = Interlocks not OK, close valve if
target/actual state has cleaning via cavity.
Default is true.
Inp_CavityNBIntlkOK BOOL Not Visible Not Required Input 1 = Cavity non-bypassable interlocks OK, valve can
clean cavity or seat, 0 = Interlocks not OK, close
valve if target/actual state has cleaning via cavity.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 589
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_CavityIntlkAvailable BOOL Not Visible Not Required Input 1 = Cavity interlock availability is OK, show
Sts_CavityIntlkAvailable if device is ready except
for cavity interlocks.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit reporting of Sts_IntlkTrip and interlock
trip alarm.
Default is false.
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this object, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire Hand command source (typically
hardwired local), 0 = Release Hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override command source (higher
priority program logic), 0 = Release Override.
Default is false.
Inp_OvrdCmd SINT Not Visible Not Required Input Override device command: 0 = None, 1 = Close, 2 =
Open, 3 = Lift lower seat, 4 = Lift upper seat, 5 =
Clean cavity, 6 = Clean lower seat, 7 = Clean upper
seat.
Default is 0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External command source acquisition, 0
= Allow External acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Allow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_HasLiftLower BOOL Not Visible Not Required Input 1 = Valve supports lift lower seat state.
Default is false.
Cfg_HasLiftUpper BOOL Not Visible Not Required Input 1 = Valve supports lift upper seat state.
Default is false.
Cfg_HasCleanCavity BOOL Not Visible Not Required Input 1 = Valve supports clean cavity state.
Default is false.
Cfg_HasCleanLower BOOL Not Visible Not Required Input 1 = Valve supports clean lower seat state.
Default is false.
Cfg_HasCleanUpper BOOL Not Visible Not Required Input 1 = Valve supports clean upper seat state.
Default is false.
Cfg_bOutStateSt0 SINT Not Visible Not Required Input Outputs to valve in De-energized state (state 0).
Default is 2#0000_0000.
Cfg_bOutStateSt1 SINT Not Visible Not Required Input Outputs to valve in Closed state (state 1).
Default is 2#0000_0001.
Cfg_bOutStateSt2 SINT Not Visible Not Required Input Outputs to valve in Close cavity outlet state (state
2).
Default is 2#0010_0000.
Cfg_bOutStateSt3 SINT Not Visible Not Required Input Outputs to valve in Open state (state 3).
Default is 2#0010_0010.
590 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_bOutStateSt4 SINT Not Visible Not Required Input Outputs to valve in Lift lower seat state (state 4).
Default is 2#0000_0100.
Cfg_bOutStateSt5 SINT Not Visible Not Required Input Outputs to valve in Lift upper seat state (state 5).
Default is 2#0000_1000.
Cfg_bOutStateSt6 SINT Not Visible Not Required Input Outputs to valve in Clean cavity state (state 6).
Default is 2#0001_0000.
Cfg_bOutStateSt7 SINT Not Visible Not Required Input Outputs to valve in Lift lower seat for cleaning
state (state 7).
Default is 2#0001_0100.
Cfg_bOutStateSt8 SINT Not Visible Not Required Input Outputs to valve in Clean lower seat state (state 8).
Default is 2#0011_0100.
Cfg_bOutStateSt9 SINT Not Visible Not Required Input Outputs to valve in Lift upper seat for cleaning
state (state 9).
Default is 2#0001_1000.
Cfg_bOutStateSt10 SINT Not Visible Not Required Input Outputs to valve in Clean upper seat state (state
10).
Default is 2#0011_1000.
Cfg_bFdbkStateSt0 SINT Not Visible Not Required Input Feedback input states when valve is in
De-energized state (state 0).
Default is 2#0000_0000.
Cfg_bFdbkStateSt1 SINT Not Visible Not Required Input Feedback input states when valve is in Closed
state (state 1).
Default is 2#0000_0001.
Cfg_bFdbkStateSt2 SINT Not Visible Not Required Input Feedback input states when valve is in Close cavity
outlet state (state 2).
Default is 2#0010_0000.
Cfg_bFdbkStateSt3 SINT Not Visible Not Required Input Feedback input states when valve is in Open state
(state 3).
Default is 2#0010_0010.
Cfg_bFdbkStateSt4 SINT Not Visible Not Required Input Feedback input states when valve is in Lift lower
seat state (state 4).
Default is 2#0000_0100.
Cfg_bFdbkStateSt5 SINT Not Visible Not Required Input Feedback input states when valve is in Lift upper
seat state (state 5).
Default is 2#0000_1000.
Cfg_bFdbkStateSt6 SINT Not Visible Not Required Input Feedback input states when valve is in Clean cavity
state (state 6).
Default is 2#0001_0000.
Cfg_bFdbkStateSt7 SINT Not Visible Not Required Input Feedback input states when valve is in Lift lower
seat for cleaning state (state 7).
Default is 2#0001_0100.
Cfg_bFdbkStateSt8 SINT Not Visible Not Required Input Feedback input states when valve is in Clean lower
seat state (state 8).
Default is 2#0011_0100.
Cfg_bFdbkStateSt9 SINT Not Visible Not Required Input Feedback input states when valve is in Lift upper
seat for cleaning state (state 9).
Default is 2#0001_1000.
Cfg_bFdbkStateSt10 SINT Not Visible Not Required Input Feedback input states when valve is in Clean upper
seat state (state 10).
Default is 2#0011_1000.
Publication PROCES-RM215A-EN-P - November 2023 591
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_bFdbkReqdSt0 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in De-energized state (state 0).
Default is 2#0000_1111.
Cfg_bFdbkReqdSt1 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Closed state (state 1).
Default is 2#0000_1111.
Cfg_bFdbkReqdSt2 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Close cavity outlet state (state 2).
Default is 2#0000_1111.
Cfg_bFdbkReqdSt3 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Open state (state 3).
Default is 2#0000_1111.
Cfg_bFdbkReqdSt4 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Lift lower seat state (state 4).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt5 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Lift upper seat state (state 5).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt6 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Clean cavity state (state 6).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt7 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Lift lower seat for cleaning state (state 7).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt8 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Clean lower seat state (state 8).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt9 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Lift upper seat for cleaning state (state 9).
Default is 2#0000_0000.
Cfg_bFdbkReqdSt10 SINT Not Visible Not Required Input Feedback inputs required (checked) to verify valve
is in Clean upper seat state (state 10).
Default is 2#0000_0000.
Cfg_FdbkTimeSt0 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached De-energized state
(state 0) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt1 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Closed state (state 1)
(seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt2 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Close cavity outlet state
(state 2) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt3 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Opened state (state 3)
(seconds). Valid = 0.0 to 60.0.
Default is 1.0.
592 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_FdbkTimeSt4 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Lift lower seat state
(state 4) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt5 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Lift upper seat state
(state 5) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt6 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Clean cavity state (state
6) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt7 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Lift lower seat for
cleaning state (state 7) (seconds). Valid = 0.0 to
60.0.
Default is 1.0.
Cfg_FdbkTimeSt8 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Clean lower seat state
(state 8) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_FdbkTimeSt9 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Lift upper seat for
cleaning state (state 9) (seconds). Valid = 0.0 to
60.0.
Default is 1.0.
Cfg_FdbkTimeSt10 REAL Not Visible Not Required Input Time feedbacks must match required pattern to
confirm valve has reached Clean upper seat state
(state 10) (seconds). Valid = 0.0 to 60.0.
Default is 1.0.
Cfg_PulseLiftLower BOOL Not Visible Not Required Input 1 = Pulse seat lift output when lifting lower seat, 0
= Do not pulse, lift seat continuously.
Default is false.
Cfg_PulseLiftUpper BOOL Not Visible Not Required Input 1 = Pulse seat lift output when lifting upper seat, 0
= Do not pulse, lift seat continuously.
Default is false.
Cfg_PulseCleanLower BOOL Not Visible Not Required Input 1 = Pulse seat lift output when cleaning lower seat,
0 = Do not pulse, clean continuously.
Default is false.
Cfg_PulseCleanUpper BOOL Not Visible Not Required Input 1 = Pulse seat lift output when cleaning upper seat,
0 = Do not pulse, clean continuously.
Default is false.
Cfg_HasOpenIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to
Inp_OpenIntlkOK, Inp_OpenNBIntlkOK inputs,
enable navigation.
Default is false.
Cfg_HasLowerSeatIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to
Inp_LowerSeatIntlkOK, Inp_LowerSeatNBIntlkOK
inputs, enable navigation.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 593
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasUpperSeatIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to
Inp_UpperSeatIntlkOK, Inp_UpperSeatNBIntlkOK
inputs, enable navigation.
Default is false.
Cfg_HasCavityIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to
Inp_CavityIntlkOK, Inp_CavityNBIntlkOK inputs,
enable navigation.
Default is false.
Cfg_HasStatsObj BOOL Not Visible Not Required Input 1 = Tells HMI a PVLVS object is monitoring this
valve, enable navigation.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available, enable navigation.
Default is false.
Cfg_OperClosePrio BOOL Not Visible Not Required Input 1 = OCmd_Close is accepted any time, 0 =
OCmd_Close is accepted only when Operator
command source is selected.
Default is false.
Cfg_ExtClosePrio BOOL Not Visible Not Required Input 1 = XCmd_Close is accepted any time, 0 =
XCmd_Close is accepted only when External
command source is selected.
Default is false.
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = A new Operator state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = A new External state command resets fault, 0 =
A reset command is required to clear fault.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores bypassable permissives and
interlocks, 0 = Override uses all permissives and
interlocks.
Default is false.
Cfg_ShedOnFail BOOL Not Visible Not Required Input 1 = Close valve and alarm on position fail, 0 = Alarm
only.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = Close valve and alarm on I/O fault, 0 = Alarm
only.
Default is true.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator Locked command source exists, can
be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) command source exists,
can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program Locked command source exists, can
be selected.
Default is true.
594 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External command source exists, can be
selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance command source exists, can be
selected.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input 1 = Maintenance Out of Service exists, can be
selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Locked,
0 = Don't supersede Program/Operator Locked.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program command source, 0 =
Power up to Operator command source.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal command source: 1 = Program, 0 =
Operator.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority: 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = Program/Operator selection follows PCmd_Prog
as level (1 for Program, 0 for Operator), 0 =
PCmd_Prog is used as edge to select Program,
PCmd_Oper selects Operator.
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = Program lock selection follows PCmd_Lock as
level (1 for locked, 0 for unlocked), 0 = PCmd_Lock
is used as edge to select Program Locked,
PCmd_Unlock selects Program (unlocked).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = External selection follows XCmd_Acq as level (1
to acquire External, 0 to release External), 0 =
XCmd_Acq is used as edge to acquire External,
XCmd_Rel is used to release External.
Default is false.
Cfg_OpenPulseTime REAL Not Visible Not Required Input Time to lift seat when pulsing for cleaning
(seconds). Valid = 0.0 to 2147483.0, 0.0 = do not
pulse.
Default is 10.0.
Cfg_ClosePulseTime REAL Not Visible Not Required Input Time to close seat when pulsing for cleaning
(seconds). Valid = 0.0 to 2147483.0, 0.0 = do not
pulse.
Default is 5.0.
Cfg_StartHornTime REAL Not Visible Not Required Input Time to sound audible on command to move from
the closed position (seconds). Valid = 0.0 to 1000.0,
0.0 = Disabled.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 595
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_FailTime REAL Not Visible Not Required Input Time to receive state feedback before declaring
failure (seconds). Valid = 0.0 to 2147483.0.
Default is 3.0.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator command confirmation or e-signature
type required: 0 = None, 1 = Command
confirmation required, 2 = Performer e-signature
required, 3 = Performer and approver e-signature
required.
Default is 0.
PSet_Owner DINT Not Visible Not Required Input Program ownership request: Non-zero Owner ID =
acquire, 0 = release.
Default is 0.
PCmd_Virtual BOOL Not Visible Not Required Input Program Command to select Virtual (simulated)
device operation. The instruction clears this
operand automatically.
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program Command to select Physical device
operation (not simulated). The instruction clears
this operand automatically.
Default is false.
PCmd_Close BOOL Not Visible Not Required Input Program Command to close valve. The instruction
clears this operand automatically.
Default is false.
PCmd_Open BOOL Not Visible Not Required Input Program Command to cpen valve. The instruction
clears this operand automatically.
Default is false.
PCmd_LiftLower BOOL Not Visible Not Required Input Program Command to lift lower seat. The
instruction clears this operand automatically.
Default is false.
PCmd_LiftUpper BOOL Not Visible Not Required Input Program Command to lift upper seat. The
instruction clears this operand automatically.
Default is false.
PCmd_CleanCavity BOOL Not Visible Not Required Input Program Command to clean valve leakage cavity.
The instruction clears this operand automatically.
Default is false.
PCmd_CleanLower BOOL Not Visible Not Required Input Program Command to clean lower seat. The
instruction clears this operand automatically.
Default is false.
PCmd_CleanUpper BOOL Not Visible Not Required Input Program Command to clean upper seat. The
instruction clears this operand automatically.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program Command to select Program command
source. The instruction clears this operand
automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
596 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Oper BOOL Not Visible Not Required Input Program Command to select Operator command
source. The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program Command to lock Program command
source and disallow Operator. The instruction
clears this operand automatically if
Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program Command to unlock Program command
source and allow Operator to acquire. The
instruction clears this operand automatically.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program Command to select normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
XCmd_Close BOOL Not Visible Not Required Input External Command to close valve. The instruction
clears this operand automatically.
Default is false.
XCmd_Open BOOL Not Visible Not Required Input External Command to cpen valve. The instruction
clears this operand automatically.
Default is false.
XCmd_LiftLower BOOL Not Visible Not Required Input External Command to lift lower seat. The
instruction clears this operand automatically.
Default is false.
XCmd_LiftUpper BOOL Not Visible Not Required Input External Command to lift upper seat. The
instruction clears this operand automatically.
Default is false.
XCmd_CleanCavity BOOL Not Visible Not Required Input External Command to clean valve leakage cavity.
The instruction clears this operand automatically.
Default is false.
XCmd_CleanLower BOOL Not Visible Not Required Input External Command to clean lower seat. The
instruction clears this operand automatically.
Default is false.
XCmd_CleanUpper BOOL Not Visible Not Required Input External Command to clean upper seat. The
instruction clears this operand automatically.
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input External Command to acquire command source.
The instruction clears this operand automatically if
Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External Command to release command source,
accepted if Cfg_ExtAcqAsLevel = 0. The instruction
clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External Command to reset shed latches and
returned-to-normal latched alarms. The instruction
clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 597
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XCmd_ResetAckAll BOOL Not Visible Not Required Input External Command to acknowledge all alarms and
reset latched alarms and shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Out_OpenData BOOL Visible Not Required Output Output to open valve: 1 = Open.
Out_CloseData BOOL Visible Not Required Output Output to close valve: 1 = Close.
Out_LiftLowerData BOOL Visible Not Required Output Output to lift lower valve seat: 1 = Lift.
Out_LiftUpperData BOOL Visible Not Required Output Output to lift upper valve seat: 1 = Lift.
Out_CavityInletData BOOL Visible Not Required Output Output to open leakage cavity cleaning inlet: 1 =
Open.
Out_CavityOutletData BOOL Visible Not Required Output Output to close leakage cavity drain/cleaning
outlet: 1 = Close.
Out_LocatorData BOOL Not Visible Not Required Output Output to valve locator lamp/beacon: 1 =
Illuminated.
Out_HornData BOOL Not Visible Not Required Output Output to sound horn prior to commanded state
change.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status (bitmapped): All bits
off = None, .10 = Operator Lock, .11 = Operator
Unlock, .12 = Program Lock, .13 = Program Unlock,
.14 = Acquire Maintenance, .15 = Release
Maintenance, .16 = Acquire External, .17 = Release
External, .18 = Has Maintenance, .19 = External
Override Lock, .20 = Has External, .21 = Has
Operator, .22 = Has Operator Locked, .23 = Has
Program, .24 = Has Program Locked, .29 = Echo,
.30 = Not Ready.
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. 0 = Use
Inp_InitializeReq to reinitialize.
Sts_Closed BOOL Visible Not Required Output 1 = Valve closed position achieved.
Sts_Opened BOOL Visible Not Required Output 1 = Valve opened position achieved.
Sts_LiftLower BOOL Visible Not Required Output 1 = Lift valve lower seat position achieved.
Sts_LiftUpper BOOL Visible Not Required Output 1 = Lift valve upper seat position achieved.
Sts_CleanCavity BOOL Not Visible Not Required Output 1 = Clean valve leakage cavity position achieved.
Sts_CleanLower BOOL Not Visible Not Required Output 1 = Clean valve lower seat position achieved.
Sts_CleanUpper BOOL Not Visible Not Required Output 1 = Clean valve upper seat position achieved.
Sts_Moving BOOL Visible Not Required Output 1 = Valve not yet confirmed in commanded
position.
Sts_Pulsing BOOL Visible Not Required Output 1 = Pulsing valve seat for cleaning.
Sts_Locator BOOL Not Visible Not Required Output 1 = Locator/beacon for identifying valve is active.
Sts_Horn BOOL Not Visible Not Required Output 1 = Sounding horn prior to commanded state
change.
598 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_Physical BOOL Not Visible Not Required Output 1 = The instruction is available to control the
physical valve, 0 = Instruction is not controlling
the physical valve, outputs are holding the valve
closed.
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction is available to control a virtual
model of the valve, 0 = Instruction is not
controlling the virtual model of the valve.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status:
0=Good, live, confirmed good 1=Good, live,
assumed good 2=Good, no feedback, assumed
good 8=Test, virtualized 9=Test, loopback 10=Test,
manually entered 16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value 32=Bad,
signal failure 33=Bad, channel fault 34=Bad,
module or communication fault 35=Bad, invalid
configuration
Sts_eFdbk SINT Not Visible Not Required Output Device feedback: 0 = None/Moving/Unknown, 1 =
Closed, 3 = Opened, 4 = Lift lower seat, 5 = Lift
upper seat, 6 = Clean cavity, 8 = Clean lower seat,
10 = Clean upper seat.
Sts_eCmd SINT Not Visible Not Required Output Device command: 0 = None, 1 = Close, 3 = Open, 4
= Lift lower seat, 5 = Lift upper seat, 6 = Clean
cavity, 8 = Clean lower seat, 10 = Clean upper seat.
Sts_eSts SINT Not Visible Not Required Output Device status: 0 = Unknown, 1 = Closed, 3 =
Opened, 4 = Lift lower seat, 5 = Lift upper seat, 6 =
Clean cavity, 8 = Clean lower seat, 10 = Clean
upper seat, 11 = Moving, 12 = Pulse lower seat, 13 =
Pulse upper seat, 14 = Horn, 15 = Out of service.
Sts_eState SINT Not Visible Not Required Output Device state for HMI state diagram: 0 =
De-energized, 1 = Closed, 2 = Closed cavity outlet,
3 = Opened, 4 = Lift lower seat, 5 = Lift upper seat,
6 = Clean cavity, 7 = Lift lower seat for cleaning, 8
= Clean lower seat, 9 = Lift upper seat for
cleaning, 10 = Clean upper seat.
Sts_eFault SINT Not Visible Not Required Output Device fault status: 0 = None, 16 = Position fail, 32
= I/O fault, 34 = Configuration error.
Publication PROCES-RM215A-EN-P - November 2023 599
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eOutState SINT Not Visible Not Required Output State of outputs to physical device: 0 =
De-energized, 1 = Close, 2 = Close cavity outlet, 3 =
Open, 4 = Lift lower seat, 5 = Lift upper seat, 6 =
Clean cavity, 7 = Lift lower seat for cleaning, 8 =
Clean lower seat, 9 = Lift upper seat for cleaning,
10 = Clean upper seat, 11 = Horn.
Sts_eNotify SINT Not Visible Not Required Output Summary alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyAll SINT Not Visible Not Required Output Summary alarm status including related objects: 0
= Not in alarm, acknowledged, 1 = Not in alarm,
unacknowledged or reset required, 2 = Low
severity alarm, acknowledged, 3 = Low severity
alarm, unacknowledged, 4 = Medium severity
alarm, acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyIOFault SINT Not Visible Not Required Output I/O fault alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_eNotifyFail SINT Not Visible Not Required Output Position fail alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
600 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output Interlock trip alarm status: 0 = Not in alarm,
acknowledged, 1 = Not in alarm, unacknowledged
or reset required, 2 = Low severity alarm,
acknowledged, 3 = Low severity alarm,
unacknowledged, 4 = Medium severity alarm,
acknowledged, 5 = Medium severity alarm,
unacknowledged, 6 = High severity alarm,
acknowledged, 7 = High severity alarm,
unacknowledged, 8 = Urgent severity alarm,
acknowledged, 9 = Urgent severity alarm,
unacknowledged.
Sts_UnackAlmCount SINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_eSrc INT Not Visible Not Required Output Current command source: 0 = Logic not in use, 4 =
Hand, 8 = Maintenance, 16 = Override, 32 =
Program, 33 = Program Locked, 34 = Program
default (Normal), 64 = Operator, 65 = Operator
Locked, 66 = Operator default (Normal), 128 =
Maintenance Out of Service, 129 = Programmed
Out of Service (EnableIn false), 256 = External.
Sts_bSrc INT Not Visible Not Required Output Active command source selections (bitmapped,
for HMI): .0 = Hand, .1 = Programmed Out of
Service (EnableIn false), .2= Maintenance Out of
Service, .3 = Maintenance, .4 = Override, .5 =
External, .6 = Program Locked, .7 = Program
(unlocked), .8 = Operator Locked, .9 = Operator
(unlocked).
Sts_Available BOOL Not Visible Not Required Output 1 = Valve has been acquired by Program and is
ready and available for control.
Sts_OpenIntlkAvailable BOOL Not Visible Not Required Output 1 = Valve can be acquired by Program and is
available to open when open interlocks are OK.
Sts_LowerSeatIntlkAvailable BOOL Not Visible Not Required Output 1 = Valve can be acquired by Program and is
available to lift lower seat when lower seat
interlocks are OK.
Sts_UpperSeatIntlkAvailable BOOL Not Visible Not Required Output 1 = Valve can be acquired by Program and is
available to lift upper seat when upper seat
interlocks are OK.
Sts_CavityIntlkAvailable BOOL Not Visible Not Required Output 1 = Valve can be acquired by Program and is
available to clean seat or cavity when cavity
interlocks are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks and permissives are
bypassed.
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock/permissive bypassing is active
(bypassed by command or in Maintenance
command source).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_NotRdy BOOL Visible Not Required Output 1 = Device not ready, see Sts_NrdyXxx detail bits
for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Device not ready, configuration error.
Sts_NrdyFail BOOL Not Visible Not Required Output 1 = Device not ready, position fail, shed requires
reset.
Sts_NrdyOpenIntlk BOOL Not Visible Not Required Output 1 = Device not ready, open interlock not OK, valve
cannot open, and if opened, valve will close.
Publication PROCES-RM215A-EN-P - November 2023 601
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_NrdyLowerSeatIntlk BOOL Not Visible Not Required Output 1 = Device not ready, lower seat interlock not OK,
valve cannot lift or clean lower seat, and if seat
lifted, valve will close.
Sts_NrdyUpperSeatIntlk BOOL Not Visible Not Required Output 1 = Device not ready, upper seat interlock not OK,
valve cannot lift or clean upper seat, and if seat
lifted, valve will close.
Sts_NrdyCavityIntlk BOOL Not Visible Not Required Output 1 = Device not ready, cavity Interlock not OK, valve
cannot clean cavity or seats, and if cleaning, valve
will close.
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Device not ready, I/O fault, shed requires reset.
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Device not ready, device is Out of Service.
Sts_NrdyPrioClose BOOL Not Visible Not Required Output 1 = Device not ready, Operator or External priority
Close Command, shed requires reset.
Sts_NrdyVirtualPhysical BOOL Not Visible Not Required Output 1 = Device not ready, valve is transitioning
between physical and virtual operation.
Sts_Err BOOL Not Visible Not Required Output 1 = Error in configuration, see Sts_ErrXxx detail
bits for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in configuration, Logix tag-based alarm
settings invalid.
Sts_bErrFdbkTime INT Not Visible Not Required Output Error in configuration, bit = 1 indicates which
state’s Cfg_FdbkTimeStX is invalid. Valid = 0.0 to
60.0.
Sts_ErrOpenPulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_OpenPulseTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrClosePulseTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_ClosePulseTime
invalid. Valid = 0.0 to 2147483.0.
Sts_ErrFailTime BOOL Not Visible Not Required Output 1 = Error in configuration, Cfg_FailTime invalid.
Valid = 0.0 to 2147483.0.
Sts_Hand BOOL Visible Not Required Output 1 = Hand command source is selected.
Sts_OoS BOOL Visible Not Required Output 1 = Out of Service command source is selected.
Sts_Maint BOOL Visible Not Required Output 1 = Maintenance command source is selected.
Sts_Ovrd BOOL Visible Not Required Output 1 = Override command source is selected.
Sts_Ext BOOL Visible Not Required Output 1 = External command source is selected.
Sts_Prog BOOL Visible Not Required Output 1 = Program (unlocked) command source is
selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program Locked command source is selected.
Sts_Oper BOOL Visible Not Required Output 1 = Operator (unlocked) command source is
selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator Locked command source is selected.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Visible Not Required Output Program/Operator lock (latch) state: 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selected command source is the normal
source (Program or Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External command source selection is
inhibited, External is not available in current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program command source selection is
inhibited, Program is not available in current
state.
602 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Command to acquire Maintenance command
source was received this scan.
Sts_CmdConflict BOOL Not Visible Not Required Output 1 = Conflicting commands received this scan.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved or disabled.
Sts_IOFault BOOL Not Visible Not Required Output 1 = I/O communication fault. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_IOFault.AlarmElement.
Sts_Fail BOOL Visible Not Required Output 1 = Valve position failure. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_Fail.AlarmElement.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Valve closed by an interlock not OK. There is a
predefined default discrete Logix tag-based alarm
for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IntlkTrip.AlarmElement
.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Close BOOL Not Visible Not Required Output 1 = Ready for XCmd_Close, enable button.
XRdy_Open BOOL Not Visible Not Required Output 1 = Ready for XCmd_Open, enable button.
XRdy_LiftLower BOOL Not Visible Not Required Output 1 = Ready for XCmd_LiftLower, enable button.
XRdy_LiftUpper BOOL Not Visible Not Required Output 1 = Ready for XCmd_LiftUpper, enable button.
XRdy_CleanCavity BOOL Not Visible Not Required Output 1 = Ready for XCmd_CleanCavity, enable button.
XRdy_CleanLower BOOL Not Visible Not Required Output 1 = Ready for XCmd_CleanLower, enable button.
XRdy_CleanUpper BOOL Not Visible Not Required Output 1 = Ready for XCmd_CleanUpper, enable button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner DINT Not Visible Not Required Output Current object Owner ID, 0 = not owned.
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOURCE Command source selection.
MCmd_Acq BOOL Maintenance Command to acquire Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance Command to bypass all bypassable interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 603
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_Check BOOL Maintenance Command to remove bypass and check all interlocks and permissives. The
instruction clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance Command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance Command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance Command to select Physical device operation. The instruction clears this
operand automatically.
Default is false.
MCmd_Rel BOOL Maintenance Command to release Maintenance command source. The instruction clears
this operand automatically.
Default is false.
MCmd_ToggleLocator BOOL Maintenance Command to toggle on/off valve locator/beacon.
Default is false.
MCmd_Virtual BOOL Maintenance Command to select Virtual device operation. The instruction clears this
operand automatically.
Default is false.
OCmd_CleanCavity BOOL Operator Command to clean valve leakage cavity. The instruction clears this operand
automatically.
Default is false.
OCmd_CleanLower BOOL Operator Command to clean valve lower seat. The instruction clears this operand
automatically.
Default is false.
OCmd_CleanUpper BOOL Operator Command to clean valve upper seat. The instruction clears this operand
automatically.
Default is false.
OCmd_Close BOOL Operator Command to close valve. The instruction clears this operand automatically.
Default is false.
OCmd_LiftLower BOOL Operator Command to lift lower valve seat. The instruction clears this operand
automatically.
Default is false.
OCmd_LiftUpper BOOL Operator Command to lift upper valve seat. The instruction clears this operand
automatically.
Default is false.
OCmd_Lock BOOL Operator Command to select Operator Locked command source and disallow Program.
The instruction clears this operand automatically.
Default is false.
OCmd_Normal BOOL Operator Command to select configured normal command source (Operator or Program).
The instruction clears this operand automatically.
Default is false.
OCmd_Open BOOL Operator Command to open valve. The instruction clears this operand automatically.
Default is false.
OCmd_Oper BOOL Operator Command to select Operator (unlocked) command source. The instruction
clears this operand automatically.
Default is false.
OCmd_Prog BOOL Operator Command to select Program (unlocked) command source. The instruction clears
this operand automatically.
Default is false.
604 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
OCmd_Reset BOOL Operator Command to reset shed latches and returned-to-normal latched alarms. The
instruction clears this operand automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator Command to acknowledge all alarms and reset latched alarms and shed
conditions. The instruction clears this operand automatically.
Default is false.
OCmd_Unlock BOOL Operator Command to unlock Operator command source and allow Program to acquire.
The instruction clears this operand automatically.
Default is false.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
HMI_eCmdState SINT Command to valve, for use on HMI/dialog: 0 = None, 1 = Close, 3 = Open, 4 = Lift lower
seat, 5 = Lift upper seat, 6 = Clean cavity, 8 = Clean lower seat, 10 = Clean upper seat.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_ToggleLocator BOOL 1 = Ready for MCmd_ToggleLocator, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_CleanCavity BOOL 1 = Ready for OCmd_CleanCavity, enable HMI button.
ORdy_CleanLower BOOL 1 = Ready for OCmd_CleanLower, enable HMI button.
ORdy_CleanUpper BOOL 1 = Ready for OCmd_CleanUpper, enables HMI button.
ORdy_Close BOOL 1 = Ready for OCmd_Close, enable HMI button.
ORdy_LiftLower BOOL 1 = Ready for OCmd_LiftLower, enable HMI button.
ORdy_LiftUpper BOOL 1 = Ready for OCmd_LiftUpper, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Open BOOL 1 = Ready for OCmd_Open, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = Ready for OCmd_Reset, enable HMI button.
ORdy_ResetAckAll BOOL 1 = Ready for OCmd_ResetAckAll, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
BusObj BUS_OBJ Visible Required InOut Bus component
Publication PROCES-RM215A-EN-P - November 2023 605
Chapter 1 PlantPAx
BUS_OBJ Structure
The BUS_OBJ structure links the device to other devices and instructions in a
complex control strategy, typically into a hierarchy. A Bus Object rolls up
status and alarm information from lower level devices to higher level control
and fans out commands from higher level control to lower level devices, and
items link to the bus by referencing a single member of the BUS_OBJ array
associated with the bus.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
Alarms
Discrete Logix Designer tag-based alarms are defined for these members:
Member Alarm Name Description
Sts_IntlkTrip Alm_IntlkTrip Device de-energized or set to Position 1 by an interlock Not OK.
Sts_IOFault Alm_IOFault I/O fault.
Sts_Fail Alm_Fail Device failure.
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix Tag based alarm. Use this format to access alarm elements:
[email protected]
The PVLVMP instruction uses these alarms:
• Raises the Interlock Trip alarm when an interlock not-OK condition
occurs for a particular state and the device is currently commanded to
606 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
that state. The device will be commanded to close when an interlock
trip occurs. If interlocks are not bypassed, a bypassable interlock or a
non-bypassable interlock not-OK condition initiates an interlock trip.
If interlocks are bypassed, only a non-bypassable interlock not-OK
condition initiates an interlock trip.
• Raises the I/O Fault alarm when the Inp_IOFault input is true. This
input is usually used to indicate to the instruction that a
communication failure has occurred for its I/O. If the I/O Fault is
configured as a shed fault, the device will be commanded to close and
will remain closed until reset.
• Raises the Fail alarm when the valve is commanded to a new position
and the device feedbacks fail to confirm that the valve reached each
required position within the configured failure time. If the Failure is
configured as a shed fault, the valve will be commanded closed and
cannot be opened until reset.
Program, Operator, and External commands reset latched alarms, and reset
and acknowledge all alarms of the instruction (Alarm Set) at the same time.
This diagram shows how the commands interact with the PVLVMP
instruction.
Publication PROCES-RM215A-EN-P - November 2023 607
Chapter 1 PlantPAx
Operation
The PVLVMP instruction operates by using a state model, as shown in this
diagram.
608 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
This diagram illustrates functionality of the PVLVMP instruction.
Publication PROCES-RM215A-EN-P - November 2023 609
Chapter 1 PlantPAx
This diagram shows logic of interlocks associated with commands of the
PVLVMP instruction.
Operator command request confirmation
The PVLVMP instruction enables these operator commands and settings:
• OCmd_CleanCavity
• OCmd_CleanLower
• OCmd_CleanUpper
• OCmd_Close
• OCmd_LiftLower
610 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• OCmd_LiftUpper
• OCmd_Open
Enforced security might require the request to be confirmed or canceled
before the selected command executes or setting is accepted. The instruction
checks the security rules by inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd =
0, no confirmation is required and the request executes immediately. If
Cfg_CnfrmReqd = 1, the instruction waits for operator confirmation or
cancelation of the command. If Cfg_CnfrmReqd = 2 or 3, eSignature is needed
before command confirmation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Command
virtual operation using program command PCmd_Virtual or maintenance
command MCmd_Virtual. After finishing virtual operation, use program
command PCmd_Physical or maintenance command MCmd_Physical to
return to normal physical device operation.
When Virtualization is active, the device outputs of the PVLVMP instruction
hold at 0, virtual feedback of a working device is provided, and I/O faults are
ignored. Manipulate the instruction to operate as if a working valve is present.
Initialization
The instruction is normally initialized in the instruction first run. Request
re-initialization by setting Inp_InitializeReq = 1. For proper initialization,
when adding the instruction while performing an online edit of the code,
make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates, displayed in FactoryTalk View, and for
the Logix Designer configuration dialog box. The strings are set to extended
properties of tag items.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
• Navigation to an object with more information
• Name of Interlock Trip Alarm
• Name of I/O Fault Alarm
• Name of Fail Alarm
Publication PROCES-RM215A-EN-P - November 2023 611
Chapter 1 PlantPAx
Command Source
The instruction uses these command sources. The command sources are
prioritized in order from highest to lowest in this table.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled. Outputs are de-energized. Valve commands from any source are discarded. On return to In
Service, the valve is commanded closed.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
612 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically
cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
Publication PROCES-RM215A-EN-P - November 2023 613
Chapter 1 PlantPAx
command was eliminated there would be no way to accomplish this. This is
only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Monitor the PVLVMP Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
Instruction first run Any commands received before first scan are discarded. The device is
commanded to the closed state.
Rung-condition-in is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
614 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The device is
de-energized.
Instruction first run Any commands received before first scan are discarded. The device is
commanded to the closed state.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the device is taken Out of Service by command. The
device outputs are de-energized, and the device Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. EnableOut is
set to false.
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic, it executes.
Condition/State Action taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In this example, the PVLVMP instruction is used to implement a mix-proof
valve feeding bulk material from a storage silo into a mixer. For this example,
the mix-proof valve connects to the control system by using two inputs and
three outputs. The valve state configurations are shown in these tables
State 0 (De-energized). Note: Close output is set for display purposes only:
Output Feedback
State Required State
Close 1 0 0
Open 0 0 0
Lift lower seat 0 1 0
Publication PROCES-RM215A-EN-P - November 2023 615
Chapter 1 PlantPAx
Output Feedback
State Required State
Lift upper seat 0 1 0
Cavity in 0 0 0
Cavity out 0 0 0
State 1 (Close):
Output Feedback
State Required State
Close 0 0 0
Open 0 0 0
Lift lower seat 0 1 0
Lift upper seat 0 1 0
Cavity in 0 0 0
Cavity out 0 0 0
State 2 (Close cavity out):
Output Feedback
State Required State
Close 0 0 0
Open 1 0 0
Lift lower seat 0 1 1
Lift upper seat 0 1 1
Cavity in 0 0 0
Cavity out 0 0 0
State 3 (Open):
Output Feedback
State Required State
Close 0 0 0
Open 1 0 0
Lift lower seat 0 1 1
Lift upper seat 0 1 1
Cavity in 0 0 0
Cavity out 0 0 0
State 4 (Lift lower seat):
Output Feedback
State Required State
Close 0 0 0
Open 0 0 0
Lift lower seat 1 1 1
Lift upper seat 0 1 0
Cavity in 0 0 0
616 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Output Feedback
State Required State
Cavity out 0 0 0
State 5 (Lift upper seat):
Output Feedback
State Required State
Close 0 0 0
Open 0 0 0
Lift lower seat 0 1 0
Lift upper seat 1 1 1
Cavity in 0 0 0
Cavity out 0 0 0
Publication PROCES-RM215A-EN-P - November 2023 617
Chapter 1 PlantPAx
Ladder Diagram
618 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
XV5047.Inp_LowerSeatLSData:=XV5047_ZSL
XV5047.Inp_UpperSeatLSData:=XV5047_ZSU
PVLVMP(XV5047, 0);
XV5047_OP:=XV5047.Out_OpenData;
XV5047_LL:=XV5047.Out_LiftLowerData;
XV5047_LU:=XV5047.Out_LiftUpperData;
Publication PROCES-RM215A-EN-P - November 2023 619
Chapter 1 PlantPAx
Process Valve Statistics This information applies to the CompactLogix 5380P and ControlLogix 5580P
controllers.
(PVLVS)
The Process Valve Statistics Object (PVLVS) instruction monitors a two-state
(open and close) valve and records statistics for stroke times and stroke
counts to aid in planning maintenance or diagnosing valve and actuator
problems. The PVLVS instruction is designed to work with the PVLV
(solenoid, motor, and hand operated) valve instruction.
The PVLVS instruction records these statistics:
• Amount of time in the current state (closed, opening, opened, closing,
stopped/other)
• Amount of time the valve was in each state the last time it was in that
state (closed, opening, opened, closing, stopped/other)
• Maximum amount of time spent in each state (closed, opening,
opened, closing, and stopped/other); these are the highest values
achieved by the previous statistics
• Total amount of time spent in each state (closed, opening, opened,
closing, stopped/other)
• Moving average of the last 10 closing (close stroke) times
• Moving average of the last 10 opening (open stroke) times
• Number of completed open strokes (from closed to opened)
• Number of completed close strokes (from opened to closed)
• Number of incomplete open strokes (from closed to opening and back
to closed)
• Number of incomplete close strokes (from opened to closing and back
to opened)
• Number of times the valve was in the stopped/other state
• Number of open strokes that took longer than the configured Slow
Open Time
• Number of close strokes that took longer than the configured Slow
Close Time
620 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
Publication PROCES-RM215A-EN-P - November 2023 621
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PVLVS (PVLVS_01);
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
622 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_VALVE_STATISTICS tag Data structure required for proper
operation of the instruction.
P_VALVE_STATISTICS Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type Description
EnableIn BOOL Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL 1 = Request to initialize the instruction. The instruction is normally initialized in
instruction first run. Use this request when reinitialization is needed. The instruction
clears this operand automatically.
Inp_Closed BOOL 1 = Device is confirmed Closed.
Default is false.
Inp_Opened BOOL 1 = Device is confirmed Opened.
Default is false.
Inp_StopOther BOOL 1 = Device is confirmed Stopped / Other.
Default is false.
Cfg_HasStopOther BOOL 1 = Device has Stopped or other state(s) to be monitored.
Default is false.
Cfg_SlowOpenTime REAL Maximum time Opening (seconds) before raising Sts_SlowOpen. Valid = 0.0 to 2147483.0
seconds.
Default is 10.0.
Cfg_SlowCloseTime REAL Maximum time Closing (seconds) before raising Sts_SlowClose. Valid = 0.0 to 2147483.0
seconds.
Default is 10.0.
PCmd_ClearTotTimes BOOL Program command to clear total time statistics.
Default is false.
PCmd_ClearMaxTimes BOOL Program command to clear maximum time statistics.
Default is false.
PCmd_ClearStrokeCounts BOOL Program command to clear stroke count statistics.
Default is false.
PCmd_ClearSlowCounts BOOL Program command to clear device slow count statistics.
Default is false.
PCmd_ClearMAvgs BOOL Program command to clear moving average stroke times.
Default is false.
Public Output Members Data Type Description
EnableOut BOOL Enable Output - System Defined Parameter
Val_CurrClosedTime REAL Current time in Closed state (seconds).
Val_LastClosedTime REAL Time in Closed state (seconds) last time device was closed.
Val_TotClosedTime REAL Accumulated time in Closed state (hours).
Val_MaxClosedTime REAL Maximum time in Closed state (hours) of any occurrence.
Publication PROCES-RM215A-EN-P - November 2023 623
Chapter 1 PlantPAx
Public Output Members Data Type Description
Val_CurrOpeningTime REAL Current time in Opening state (seconds).
Val_LastOpeningTime REAL Time in Opening state (seconds) last time device was opening.
Val_TotOpeningTime REAL Accumulated time in Opening state (hours).
Val_MaxOpeningTime REAL Maximum time in Opening state (hours) of any occurrence.
Val_MAvgOpeningTime REAL Moving average Open stroke time, last 10 complete open strokes (seconds).
Val_CurrOpenedTime REAL Current time in Opened state (seconds).
Val_LastOpenedTime REAL Time in Opened state (seconds) last time device was opened.
Val_TotOpenedTime REAL Accumulated time in Opened state (hours).
Val_MaxOpenedTime REAL Maximum time in Opened state (hours) of any occurrence.
Val_CurrClosingTime REAL Current time in Closing state (seconds).
Val_LastClosingTime REAL Time in Closing state (seconds) last time device was closing.
Val_TotClosingTime REAL Accumulated time in Closing state (hours).
Val_MaxClosingTime REAL Maximum time in Closing state (hours) of any occurrence.
Val_MAvgClosingTime REAL Maximum time in Closing state (seconds) of any occurrence.
Val_CurrStopOtherTime REAL Current time in Stopped / Other state (seconds).
Val_LastStopOtherTime REAL Time in Stopped / Other state (seconds) last time device was stopped (or other).
Val_TotStopOtherTime REAL Accumulated time in Stopped / Other state (hours).
Val_MaxStopOtherTime REAL Maximum time in Stopped / Other state (hours) of any occurrence.
Val_CpltOpenCount DINT Count of complete device Open strokes (Closed to Opened).
Val_CpltCloseCount DINT Count of complete device Close strokes (Opened to Closed).
Val_IncpltOpenCount DINT Count of incomplete device Open strokes (Closed - Moving - Closed).
Val_IncpltCloseCount DINT Count of incomplete device Close strokes (Opened - Moving - Opened).
Val_StopOtherCount DINT Count of device Stopped / Other occurrences.
Val_SlowOpenCount DINT Count of device Slow to Open occurrences.
Val_SlowCloseCount DINT Count of device Slow to Close occurrences.
Sts_SlowOpen BOOL 1 = Last Closed to Opened stroke exceeded configured time threshold.
Sts_SlowClose BOOL 1 = Last Opened to Closed stroke exceeded configured time threshold.
Sts_Err BOOL 1 = Configuration Error: invalid Slow Open Time or Slow Close Time.
Sts_ErrSlowCloseTime BOOL 1 = Error in configuration: Invalid SlowCloseTime timer preset (use 0.0 to 2147483.0).
Sts_ErrSlowOpenTime BOOL 1 = Error in configuration: Invalid SlowOpenTime timer preset (use 0.0 to 2147483.0).
Private Input Members Data Type Description
MCmd_ClearMAvgs BOOL Maintenance command to clear moving average stroke times.
Default is false.
MCmd_ClearMaxTimes BOOL Maintenance command to clear maximum time statistics.
Default is false.
MCmd_ClearSlowCounts BOOL Maintenance command to clear device slow count statistics.
Default is false.
MCmd_ClearStrokeCounts BOOL Maintenance command to clear stroke count statistics.
Default is false.
MCmd_ClearTotTimes BOOL Maintenance command to clear total time statistics.
Default is false.
624 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
These diagrams illustrate the functionality of the PVLVS instruction:
Publication PROCES-RM215A-EN-P - November 2023 625
Chapter 1 PlantPAx
626 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer
configuration dialog box. The strings are set to extended properties of tag
items. Configure the strings in Logix Designer only.
• Valve is confirmed Stopped / Other (in Logix Designer dialog box) –
Description of Inp_StopOther item.
• Description
• Label for graphic symbol
• Display Library for HMI Faceplate call-up
• Instruction name
• Area name
• URL link
Monitor the PVLVS instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Publication PROCES-RM215A-EN-P - November 2023 627
Chapter 1 PlantPAx
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Rung-condition-out is cleared to false.
Total times, stroke counts and slow counts are maintained
through a power cycle. Current times are cleared.
The internal state is set to unknown. When an input shows the
valve in a known condition, the main logic transitions to the
corresponding state.
Instruction first run All commands that are automatically cleared each execution are
cleared and ignored.
The instruction executes normally.
Rung-condition-in is false Set rung-condition-out to rung-condition-in.
If this instruction is on a false rung, or if EnableIn is false in FBD,
Total times, stroke counts, and slow counts are maintained, but
Current times are cleared.
The internal state is set to unknown.
Copies the current time of the previous state to its last time and
resets the current time (and accumulated 10ths of hours, if
applicable).
The internal state is set to unknown (disabled).
When normal execution (Logic routine) is resumed, when an input
shows the valve in a known condition, a transition to the
corresponding state occurs.
Should scan all the retentive timers FALSE to stop them.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
Instruction first scan See Instruction first run in the Ladder Diagram table.
EnableIn is false See Rung-condition-in is false in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
628 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Ladder Diagram table.
Instruction first run See Instruction first run in the Ladder Diagram table.
EnableIn is true See Rung-condition-in is true in the Ladder Diagram table.
Postscan EnableIn and EnableOut bits are cleared to false.
Example
This section shows how the PVLVS instruction collects statistics on a
motor-operated valve. In this example, the motor-operated valve is controlled
by using the PVLVS instruction. By naming the PVLVS instance tag the same
as the PVLV tag plus ValveStats, the PVLVS instance tag is automatically
linked at the HMI to the valve instance. In this example, the motor-operated
valve is opened, closed, or the motor could stop moving while in travel before
reaching either position. Statistics for all of these three states can be tracked
by using the PVLVS instruction. In this example, the parameters Inp_Closed,
Inp_Opened, and Inp_StopOther are connected to the parameters Sts_Closed,
Sts_Opened, and Sts_Stopped of the PVLV instruction. The PVLVS instruction
keeps track of completed strokes, plus open and close strokes that are slower
than expected. The parameters Cfg_SlowOpenTime and Cfg_SlowCloseTime
are set to 10, to indicate that any transition longer than 10 seconds is
considered slow.
Publication PROCES-RM215A-EN-P - November 2023 629
Chapter 1 PlantPAx
Ladder Diagram
630 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PVLVMO_ValveStat.Inp_Closed := PVLVMO.Sts_Closed;
PVLVMO_ValveStat.Inp_Opened := PVLVMO.Sts_Opened;
PVLVMO_ValveStat.Inp_StopOther := PVLVMO.Sts_Stopped;
PVLVS (PVLVMO_ValveStat);
Publication PROCES-RM215A-EN-P - November 2023 631
Chapter 1 PlantPAx
Process Variable Speed This information applies to the ControlLogix 5380P and 5580P controllers.
Drive (PVSD) The Process Variable Speed Drive (PVSD) instruction monitors and controls a
variable speed motor using an AC (variable frequency) or DC drive. Use the
instruction to run or jog the motor, forward or reverse. The drive interface can
be through a Device Object Interface or through individual pins. The object is
a built-in version of the existing P_VSD add-on instruction in the Rockwell
Automation Library of Process Objects.
Use the PVSD instruction to:
• Control and monitor a variable speed motor using an AC or DC drive.
This instruction is used with drives controlling velocity, not position,
and it does not use any motion axes.
• Select Operator, Program, External, Override, Maintenance, Out of
Service, or Hand as the source of drive commands and settings.
• Use the selected command source to enter a speed reference (setpoint).
• Use the selected command source to start the drive forward.
• Use the selected command source to start the drive reverse, if
configured for reversing.
• Use the selected command source to jog the drive forward, if
configured for jogging forward. Only Operator, External and
Maintenance command sources are permitted to jog the drive forward.
• Use the selected command source to jog the drive reverse, if
configured for jogging reverse. Only Operator, External and
Maintenance command sources are permitted to jog the drive reverse.
• Monitor actual drive status, including:
• Speed feedback
• Drive ready
• Drive active (run feedback)
• Commanded direction
• Actual direction
• Accelerating
• Decelerating
• At speed
• Drive warning
• Drive faulted (with fault code and description)
• Interface to a drive Device Object using a set of Power Velocity
interface tags. If the interface tags are not linked (optional InOut
parameters), a set of input and output parameters are used to interface
to the drive signal-by-signal.
• Search a linked Fault Code Lookup Table to provide textual drive fault
information, or use text provided through the Power Velocity interface
fault record.
632 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
• Participate in a control strategy bus (BUS_OBJ) with other devices and
process instructions.
• Configure an output to provide a pre-start audible warning (horn). The
time the alert sounds before starting or jogging is configurable.
• Configure virtualization, providing simulated feedback of a working
drive while disabling outputs to the physical device.
• Configure scaling of the speed reference from application engineering
units to drive interface units.
• Configure scaling of the speed feedback from drive interface units to
application engineering units.
• Configure limiting (clamping) of the speed reference.
• Monitor run feedback and provide status and alarms for failure to start
in the configured time and failure to stop in the configured time.
• Monitor permissive conditions to allow starting or jogging the motor
forward.
• Monitor permissive conditions to allow starting or jogging the motor
reverse.
• Monitor interlock conditions to stop and prevent starting or jogging
the motor. Trigger an alarm if interlock conditions cause the motor to
stop.
• Monitor I/O communication faults.
• Automatically clear latched alarms and drive faults when an Operator
Command (Start, Stop, Jog) is received.
• Automatically clear latched alarms and drive faults when an External
Command (Start, Stop, Jog) is received.
• Use HMI breadcrumbs for Alarm Inhibited, Bad Configuration, Not
Ready, and Maintenance Bypass Active.
• Use Available status for use by automation logic to indicate whether
the motor can be controlled by other objects.
• Use Alarms for Fail to Start, Fail to Stop, Interlock Trip, I/O Fault and
Drive Fault conditions.
Publication PROCES-RM215A-EN-P - November 2023 633
Chapter 1 PlantPAx
Available Languages
Ladder Diagram
634 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PVSD(PlantPAx Control, Ref_Ctrl_Set, Ref_Ctrl_Cmd, Ref_Ctrl_Sts, BusObj,
Ref_FaultCodeList)
Operands
IMPORTANT Unexpected operation may occur if:
• Output tag operands are overwritten.
• Members of a structure operand are overwritten.
• Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an
instruction. See Data Conversions.
Publication PROCES-RM215A-EN-P - November 2023 635
Chapter 1 PlantPAx
Configuration Operands
Operand Type Format Description
PlantPAx Control P_VARIABLE_SPEED_DRIVE tag Data structure required for proper operation of
instruction.
Ref_Ctrl_Set RAC_ITF_DVC_PWRVELOCITY_SET tag Velocity Automation Device Object Settings Interface.
Ref_Ctrl_Cmd RAC_ITF_DVC_PWRVELOCITY_CMD tag Velocity Automation Device Object Command Interface.
Ref_Ctrl_Sts RAC_ITF_DVC_PWRVELOCITY_STS tag Velocity Automation Device Object Status Interface.
BusObj BUS_OBJ tag Bus component.
Ref_FaultCodeList RAC_CODE_DESCRIPTION[x] tag Fault Code to Fault Description lookup table for
intelligent motor controller.
P_VARIABLE_SPEED_DRIVE Structure
Public members are standard, visible tag members that are programmatically
accessible. Private, hidden members are used in HMI faceplates and are not
programmatically accessible. Private members are listed in separate tables
after public members.
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableIn BOOL Not Visible Not Required Input Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq BOOL Not Visible Not Required Input 1 = Request to initialize the instruction. The
instruction is normally initialized in instruction
first run. Use this request when reinitialization is
needed. The instruction clears this operand
automatically.
Default is true.
Inp_OwnerCmd DINT Not Visible Not Required Input Owner device command.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.29 = Echo.
Default is 0.
Inp_SpeedFdbkData REAL Not Visible Not Required Input Speed feedback in drive (raw) units (example: 0 to
32767 in drive units represents 0 to max
frequency).
Default is 0.0.
Inp_DatalinkData REAL Not Visible Not Required Input Auxiliary signal (datalink) input in drive (raw) units.
Default is 0.0.
Inp_LastFaultCodeData DINT Not Visible Not Required Input Most recent drive fault code (enumeration).
Default is 0.
636 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_ReadyData BOOL Not Visible Not Required Input 1 = Drive is ready to run.
Default is true.
Inp_RunningData BOOL Not Visible Not Required Input 1 = Drive is running (active).
Default is false.
Inp_CommandDirData BOOL Not Visible Not Required Input 1 = Drive is commanded forward, 0 = drive is
commanded reverse.
Default is true.
Inp_ActualDirData BOOL Not Visible Not Required Input 1 = Drive is running forward, 0 = drive is running
reverse.
Default is true.
Inp_AcceleratingData BOOL Not Visible Not Required Input 1 = Drive is accelerating.
Default is false.
Inp_DeceleratingData BOOL Not Visible Not Required Input 1 = Drive is decelerating.
Default is false.
Inp_AtSpeedData BOOL Not Visible Not Required Input 1 = Drive is at commanded speed.
Default is false.
Inp_AlarmData BOOL Not Visible Not Required Input 1 = Drive has an alarm (warning) condition. See
drive display or manual for detail.
Default is false.
Inp_FaultedData BOOL Not Visible Not Required Input 1 = Drive has faulted. See drive display or manual
for detail.
Default is false.
Inp_DvcNotify SINT Not Visible Not Required Input Related device object alarm priority and
acknowledgement status.
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Inp_IOFault BOOL Visible Not Required Input Indicates the IO data are inaccurate.
0 = The IO data are good, 1 = The IO data are bad,
causing fault. If the drive is not virtual, this input
sets Sts_IOFault, which raises IOFault Alarm.
Default is false.
Inp_FwdPermOK BOOL Visible Not Required Input 1 = Permissives OK, drive can start or jog forward.
Default is true.
Inp_FwdNBPermOK BOOL Visible Not Required Input 1 = Non-Bypassable Permissives OK, drive can start
or jog forward.
Default is true.
Inp_RevPermOK BOOL Visible Not Required Input 1 = Permissives OK, drive can start or jog reverse.
Default is true.
Inp_RevNBPermOK BOOL Visible Not Required Input 1 = Non-Bypassable Permissives OK, drive can start
or jog reverse.
Default is true.
Publication PROCES-RM215A-EN-P - November 2023 637
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Inp_IntlkOK BOOL Visible Not Required Input 1 = Interlocks OK, drive can start or jog and keep
running.
Default is true.
Inp_NBIntlkOK BOOL Visible Not Required Input 1 = Non-bypassable interlocks OK, drive can start
or jog and keep running.
Default is true.
Inp_IntlkAvailable BOOL Visible Not Required Input 1 = Interlock Availibility OK.
Default is false.
Inp_IntlkTripInh BOOL Visible Not Required Input 1 = Inhibit Interlock Trip Status.
Default is false.
Inp_RdyReset BOOL Not Visible Not Required Input 1 = Related object, reset by this object, is ready to
be reset.
Default is false.
Inp_Hand BOOL Not Visible Not Required Input 1 = Acquire Hand (typically hardwired local), 0 =
Release Hand.
Default is false.
Inp_Ovrd BOOL Not Visible Not Required Input 1 = Acquire Override (higher priority program logic),
0 = Release Override.
Default is false.
Inp_OvrdCmd SINT Not Visible Not Required Input Override Command:
0 = None,
1 = Stop,
2 = Start Forward,
3 = Start Reverse.
Default is 0.
Inp_OvrdSpeed REAL Not Visible Not Required Input Value to set Speed Reference in Override, in speed
reference engineering units.
Default is 0.0.
Inp_OvrdOutDatalink REAL Not Visible Not Required Input Value to set Output Datalink in Override, in output
datalink engineering units.
Default is 0.0.
Inp_ExtInh BOOL Not Visible Not Required Input 1 = Inhibit External acquisition, 0 = Allow External
acquisition.
Default is false.
Inp_HornInh BOOL Not Visible Not Required Input 1 = Inhibit audible alert, 0 = Alllow audible alert.
Default is false.
Inp_Reset BOOL Not Visible Not Required Input 1 = Reset Shed Latches and Cleared Alarms.
Default is false.
Cfg_AllowDisable BOOL Not Visible Not Required Input 1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve BOOL Not Visible Not Required Input 1 = Allow Operator to shelve alarms.
Default is true.
Cfg_HasReverse BOOL Not Visible Not Required Input 1 = Drive can run or jog reverse, 0 = only allow
forward operation.
Default is false.
Cfg_HasJog BOOL Not Visible Not Required Input 1 = Drive jog command enabled and visible, 0 =
drive jog command not allowed.
Default is false.
Cfg_AllowLocal BOOL Not Visible Not Required Input 1 = Allow Local Start and Stop without alarm, 0 =
Start or Stop by command only.
Default is false.
638 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_HasRunFdbk BOOL Not Visible Not Required Input 1 = Drive provides feedback signal when running.
Default is false.
Cfg_UseRunFdbk BOOL Not Visible Not Required Input 1 = Drive run feedback should be used for failure
checking.
Default is false.
Cfg_HasSpeedFdbk BOOL Not Visible Not Required Input 1 = Drive provides speed feedback.
Default is false.
Cfg_UseSpeedFdbk BOOL Not Visible Not Required Input 1 = Drive speed determines running state, 0 = state
determined by drive active feedback.
Default is false.
Cfg_HasInpDatalink BOOL Not Visible Not Required Input 1 = A signal is connected to Inp_DatalinkData.
Default is false.
Cfg_HasOutDatalink BOOL Not Visible Not Required Input 1 = A signal is connected to Out_DatalinkData.
Default is false.
Cfg_HasDvcObj BOOL Not Visible Not Required Input 1 = Tells HMI a device (e.g., drive) object is
connected.
Default is false.
Cfg_HasFwdPermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to forward
permissive inputs.
Default is false.
Cfg_HasRevPermObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to reverse
permissive inputs.
Default is false.
Cfg_HasIntlkObj BOOL Not Visible Not Required Input 1 = Tells HMI an object is connected to interlock
inputs.
Default is false.
Cfg_HasResInhObj BOOL Not Visible Not Required Input 1 = Tells HMI a Restart Inhibit object is connected.
Default is false.
Cfg_HasRunTimeObj BOOL Not Visible Not Required Input 1 = Tells HMI a Run Time / Starts object is
connected.
Default is false.
Cfg_HasMoreObj BOOL Not Visible Not Required Input 1 = Tells HMI an object with more information is
available.
Default is false.
Cfg_SetTrack BOOL Not Visible Not Required Input 1 = Settings track for unselected sources, 0 = no
tracking of settings.
Default is true.
Cfg_SetTrackOvrdHand BOOL Not Visible Not Required Input 1 = Program, Operator and External settings track
when Override or Hand is selected.
Default is false.
Cfg_OperStopPrio BOOL Not Visible Not Required Input 1 = OCmd_Stop accepted any time;
0 = OCmd_Stop accepted only when Oper is
selected.
Default is false.
Cfg_ExtStopPrio BOOL Not Visible Not Required Input 1 = XCmd_Stop accepted any time;
0 = XCmd_Stop accepted only when Ext is selected.
Default is false.
Cfg_OCmdResets BOOL Not Visible Not Required Input 1 = Any drive OCmd resets shed latches and cleared
alarms;
0 = OCmdReset is required.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 639
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_XCmdResets BOOL Not Visible Not Required Input 1 = Any drive XCmd resets shed latches and cleared
alarms;
0 = XCmdReset is required.
Default is false.
Cfg_OvrdPermIntlk BOOL Not Visible Not Required Input 1 = Override ignores Bypassable Perm/ Intlk; 0 =
Override uses all Perm/Intlk.
Default is false.
Cfg_ShedOnFailToStart BOOL Not Visible Not Required Input 1 = Stop Motor and Alarm on Fail to Start; 0 = Alarm
only on Fail to Start.
Default is true.
Cfg_ShedOnIOFault BOOL Not Visible Not Required Input 1 = Stop Motor and Alarm on I/O Fault; 0 = Alarm
only on I/O Fault.
Default is true.
Cfg_HasOper BOOL Not Visible Not Required Input 1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked BOOL Not Visible Not Required Input 1 = Operator Locked exists, can be selected.
Default is true.
Cfg_HasProg BOOL Not Visible Not Required Input 1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked BOOL Not Visible Not Required Input 1 = Program Locked exists, can be selected.
Default is true.
Cfg_HasExt BOOL Not Visible Not Required Input 1 = External exists, can be selected.
Default is false.
Cfg_HasMaint BOOL Not Visible Not Required Input 1 = Maintenance exists, can be selected.
Default is true.
Cfg_HasMaintOoS BOOL Not Visible Not Required Input 1 = Maintenance Out of Service exists, can be
selected.
Default is true.
Cfg_OvrdOverLock BOOL Not Visible Not Required Input 1 = Override supersedes Program/Operator Lock, 0
= Don't override Lock.
Default is true.
Cfg_ExtOverLock BOOL Not Visible Not Required Input 1 = External supersedes Program/Operator Lock, 0
= Don't override Lock.
Default is false.
Cfg_ProgPwrUp BOOL Not Visible Not Required Input 1 = Power up to Program, 0 = Power up to Operator.
Default is false.
Cfg_ProgNormal BOOL Not Visible Not Required Input Normal Source: 1 = Program if no requests; 0 =
Operator if no requests.
Default is false.
Cfg_PCmdPriority BOOL Not Visible Not Required Input Command priority. 1 = Program commands win, 0 =
Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Prog used as a Level (1 = Prog, 0 = Oper).
Default is false.
Cfg_PCmdLockAsLevel BOOL Not Visible Not Required Input 1 = PCmd_Lock used as a Level (1 = Lock, 0 =
Unlock).
Default is false.
Cfg_ExtAcqAsLevel BOOL Not Visible Not Required Input 1 = XCmd_Acq used as Level (1 = Acquire, 0 =
Release).
Default is false.
640 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_DecPlcs SINT Not Visible Not Required Input Number of decimal places for speed ref/fdbk
display (0 to 6).
Default is 2.
Cfg_InpDatalinkDecPlcs SINT Not Visible Not Required Input Number of decimal places for Input Datalink
display (0 to 6).
Default is 2.
Cfg_OutDatalinkDecPlcs SINT Not Visible Not Required Input Number of decimal places for Output Datalink
display (0 to 6).
Default is 2.
Cfg_MinSpeedRef REAL Not Visible Not Required Input Minimum Speed Reference in EU (for limiting).
Valid = any float less than or equal to Max.
Default is 0.0.
Cfg_MaxSpeedRef REAL Not Visible Not Required Input Maximum Speed Reference in EU (for limiting).
Valid = any float greater than or equal to Min.
Default is 60.0.
Cfg_JogSpeedRef REAL Not Visible Not Required Input Speed Reference to use when Jogging (EU). Valid =
any float (will be clamped).
Default is 10.0.
Cfg_SpeedRefRawMin REAL Not Visible Not Required Input Speed Reference Minimum in Drive (raw) Units (for
scaling). Valid = any float not equal to Max.
Default is 0.0.
Cfg_SpeedRefRawMax REAL Not Visible Not Required Input Speed Reference Maximum in Drive (raw) Units (for
scaling). Valid = any float not equal to Min.
Default is 60.0.
Cfg_SpeedRefEUMin REAL Not Visible Not Required Input Speed Reference Minimum in Engineering Units
(for scaling). Valid = any float less than Max.
Default is 0.0.
Cfg_SpeedRefEUMax REAL Not Visible Not Required Input Speed Reference Maximum in Engineering Units
(for scaling). Valid = any float greater than Min.
Default is 60.0.
Cfg_SpeedFdbkRawMin REAL Not Visible Not Required Input Speed Feedback Minimum in Drive (raw) Units (for
scaling). Valid = any float not equal to Max.
Default is 0.0.
Cfg_SpeedFdbkRawMax REAL Not Visible Not Required Input Speed Feedback Maximum in Drive (raw) Units (for
scaling). Valid = any float not equal to Min.
Default is 60.0.
Cfg_SpeedFdbkEUMin REAL Not Visible Not Required Input Speed Feedback Minimum in Engineering Units (for
scaling). Valid = any float less than Max.
Default is 0.0.
Cfg_SpeedFdbkEUMax REAL Not Visible Not Required Input Speed Feedback Maximum in Engineering Units
(for scaling). Valid = any float greater than Min.
Default is 60.0.
Cfg_InpDatalinkRawMin REAL Not Visible Not Required Input Input Datalink Minimum in Drive (raw) Units (for
scaling). Valid = any float not equal to Max.
Default is 0.0.
Cfg_InpDatalinkRawMax REAL Not Visible Not Required Input Input Datalink Maximum in Drive (raw) Units (for
scaling). Valid = any float not equal to Min.
Default is 100.0.
Cfg_InpDatalinkEUMin REAL Not Visible Not Required Input Input Datalink Minimum in Engineering Units (for
scaling). Valid = any float less than Max.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 641
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_InpDatalinkEUMax REAL Not Visible Not Required Input Input Datalink Maximum in Engineering Units (for
scaling). Valid = any float greater than Min.
Default is 100.0.
Cfg_OutDatalinkMin REAL Not Visible Not Required Input Minimum Output Datalink in EU (for limiting). Valid
= any float less than or equal to Max.
Default is 0.0.
Cfg_OutDatalinkMax REAL Not Visible Not Required Input Maximum Output Datalink in EU (for limiting). Valid
= any float greater than or equal to Min.
Default is 100.0.
Cfg_OutDatalinkRawMin REAL Not Visible Not Required Input Output Datalink Minimum in Drive (raw) Units (for
scaling). Valid = any float not equal to Max.
Default is 0.0.
Cfg_OutDatalinkRawMax REAL Not Visible Not Required Input Output Datalink Maximum in Drive (raw) Units (for
scaling). Valid = any float not equal to Min.
Default is 100.0.
Cfg_OutDatalinkEUMin REAL Not Visible Not Required Input Output Datalink Minimum in Engineering Units (for
scaling). Valid = any float less than Max.
Default is 0.0.
Cfg_OutDatalinkEUMax REAL Not Visible Not Required Input Output Datalink Maximum in Engineering Units (for
scaling). Valid = any float greater than Min.
Default is 100.0.
Cfg_StartHornTime REAL Not Visible Not Required Input Time in seconds to sound audible on commanded
start. Valid = 0.0 to 1000.0 seconds, 0.0 = disabled.
Default is 0.0.
Cfg_VirtualRampTime REAL Not Visible Not Required Input Time in seconds to ramp speed feedback when
Virtualized. Valid = 0.0 to max float.
Default is 10.0.
Cfg_FailToStartTime REAL Not Visible Not Required Input Time in seconds after Start to receive Run
Feedback before Fault. Valid = 0.0 to 2147483.0
seconds.
Default is 15.0.
Cfg_FailToStopTime REAL Not Visible Not Required Input Time in seconds after Stop to drop Run Feedback
before Fault. Valid = 0.0 to 2147483,0 seconds.
Default is 15.0.
Cfg_ResetPulseTime REAL Not Visible Not Required Input Time in seconds to pulse Out_Reset to clear Motor
fault. Valid = 0.0 to 2147483.0 seconds.
Default is 2.0.
Cfg_MaxJogTime REAL Not Visible Not Required Input Maximum jog time in seconds. Valid = 0.0 to
2147483.0 seconds, 0.0 = unlimited).
Default is 0.0.
Cfg_eKeepRef SINT Not Visible Not Required Input Ownership of Speed Reference (enumeration):
0 = follows CmdSrc,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
642 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Cfg_eKeepStart SINT Not Visible Not Required Input Ownership of Start commands (enumeration):
0 = follows CmdSrc,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_eKeepJog SINT Not Visible Not Required Input Ownership of Jog commands (enumeration):
0 = follows CmdSrc,
1 = Operator,
3 = External.
Default is 0.
Cfg_eKeepOutDatalink SINT Not Visible Not Required Input Ownership of Output Datalink (enumeration):
0 = follows CmdSrc,
1 = Operator,
2 = Program,
3 = External.
Default is 0.
Cfg_CnfrmReqd SINT Not Visible Not Required Input Operator Command Confirmation Required.
Represents the type of command confirmation
required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
Cfg_HasHistTrend SINT Not Visible Not Required Input Has Historical Trend. This enables navigation to
the Device Historical Trend Faceplate from the
HMI.
0 = No external historical trend,
1 = Datalog historical trend,
2 = Historian historical trend.
Default is 0.
PSet_SpeedRef REAL Not Visible Not Required Input Program Setting of Run Speed Reference (speed
reference engineering units). Valid = any real, will
be clamped.
Default is 0.0.
PSet_OutDatalink REAL Not Visible Not Required Input Program Setting of Output Datalink (output
datalink engineering units). Valid = any real, will be
clamped.
Default is 0.0.
PSet_Owner DINT Not Visible Not Required Input Program owner request ID (non-zero) or release
(zero).
Default is 0.
XSet_SpeedRef REAL Not Visible Not Required Input External setting of Run Speed Reference (speed
reference engineering units). Valid = any real, will
be clamped.
Default is 0.0.
XSet_OutDatalink REAL Not Visible Not Required Input External setting of Output Datalink (output datalink
engineering units). Valid = any real, will be
clamped.
Default is 0.0.
Publication PROCES-RM215A-EN-P - November 2023 643
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
PCmd_Virtual BOOL Not Visible Not Required Input Program command to select Virtual (simulated)
device operation. The instruction clears this
operand automatically.
Default is false.
PCmd_Physical BOOL Not Visible Not Required Input Program command to select Physical device
operation (not simulated). The instruction clears
this operand automatically.
Default is false.
PCmd_StartFwd BOOL Not Visible Not Required Input Program command to Start Drive Forward. The
instruction clears this operand automatically.
Default is false.
PCmd_StartRev BOOL Not Visible Not Required Input Program command to Start Drive Reverse. The
instruction clears this operand automatically.
Default is false.
PCmd_Stop BOOL Not Visible Not Required Input Program command to Stop Drive. The instruction
clears this operand automatically.
Default is false.
PCmd_Prog BOOL Not Visible Not Required Input Program command to select Program (Operator to
Program). The instruction clears this operand
automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
PCmd_Oper BOOL Not Visible Not Required Input Program command to select Operator (Program to
Operator). The instruction clears this operand
automatically.
Default is false.
PCmd_Lock BOOL Not Visible Not Required Input Program command to lock Program (disallow
Operator). The instruction clears this operand
automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock BOOL Not Visible Not Required Input Program command to unlock Program (allow
Operator to acquire). The instruction clears this
operand automatically.
Default is false.
PCmd_Normal BOOL Not Visible Not Required Input Program command to select Normal command
source (Operator or Program). The instruction
clears this operand automatically.
Default is false.
PCmd_Reset BOOL Not Visible Not Required Input Program command to reset all alarms and latched
shed conditions requiring reset. The instruction
clears this operand automatically.
Default is false.
MCmd_Rel BOOL Not Visible Not Required Input Maintenance command to release ownership
(Maintenance to
Operator/Program/External/Override). The
instruction clears this operand automatically.
Default is false.
OCmd_Unlock BOOL Not Visible Not Required Input Operator command to unlock / release (allow
Program to acquire) ownership. The instruction
clears this operand automatically.
Default is false.
644 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Input Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
XCmd_StartFwd BOOL Not Visible Not Required Input External command to Start Drive Forward. The
instruction clears this operand automatically.
Default is false.
XCmd_StartRev BOOL Not Visible Not Required Input External command to Start Drive Reverse. The
instruction clears this operand automatically.
Default is false.
XCmd_Stop BOOL Not Visible Not Required Input External command to Stop Drive. The instruction
clears this operand automatically.
Default is false.
XCmd_JogFwd BOOL Not Visible Not Required Input External command to Jog Drive Forward. The
instruction clears this operand automatically if
max jog time is reached.
Default is false.
XCmd_JogRev BOOL Not Visible Not Required Input External command to Jog Drive Reverse. The
instruction clears this operand automatically if
max jog time is reached..
Default is false.
XCmd_Acq BOOL Not Visible Not Required Input External command to acquire ownership
(Operator/Program/Override/Maintenance to
External). The instruction clears this operand
automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel BOOL Not Visible Not Required Input External command to release ownership if
Cfg_ExtAcqAsLevel = 0 (External to
Operator/Program/Override/Maintenance). The
instruction clears this operand automatically.
Default is false.
XCmd_Reset BOOL Not Visible Not Required Input External command to clear shed latches and
cleared alarms. The instruction clears this
operand automatically.
Default is false.
XCmd_ResetAckAll BOOL Not Visible Not Required Input External command to acknowledge and reset all
alarms and latched shed conditions. The
instruction clears this operand automatically.
Default is false.
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
EnableOut BOOL Not Visible Not Required Output Enable Output - System Defined Parameter
Out_SpeedRefData REAL Not Visible Not Required Output Speed reference in drive (raw) units (example: 0 to
32767 in drive units represents 0 to max
frequency).
Out_DatalinkData REAL Not Visible Not Required Output Auxiliary signal (datalink) output in drive (raw)
units.
Out_RunData BOOL Not Visible Not Required Output 1 = Start/Run Drive, 0 = Stop Drive (for held starter
type).
Out_StopData BOOL Not Visible Not Required Output 1 = Stop Drive, 0 = drive left in current state.
Out_StartData BOOL Not Visible Not Required Output 1 = Start Drive, 0 = drive left in current state.
Out_ClearFaultData BOOL Not Visible Not Required Output 1 = Attempt to clear Drive Fault.
Out_FwdData BOOL Not Visible Not Required Output 1 = Set drive direction to Forward.
Publication PROCES-RM215A-EN-P - November 2023 645
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Out_RevData BOOL Not Visible Not Required Output 1 = Set drive direction to Reverse.
Out_HornData BOOL Not Visible Not Required Output 1 = Sound audible prior to commanded motor
start.
Out_Reset BOOL Not Visible Not Required Output 1 = Reset command has been received and
accepted.
Out_OwnerSts DINT Not Visible Not Required Output Status of command source, owner command
handshake and ready status.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready.
Val_SpeedRef REAL Visible Not Required Output Speed Reference (target) to drive.
Val_SpeedFdbk REAL Visible Not Required Output Speed Feedback (actual) from drive.
Val_InpDatalink REAL Not Visible Not Required Output Input Datalink value from drive.
Val_OutDatalink REAL Not Visible Not Required Output Output Datalink value to drive.
Val_SpeedRefEUMin REAL Not Visible Not Required Output Minimum of Speed Reference = MIN
(Cfg_SpeedFdbkEUMin, Cfg_SpeedFdbkEUMax).
Val_SpeedRefEUMax REAL Not Visible Not Required Output Maximum of Speed Reference = MAX
(Cfg_SpeedFdbkEUMin, Cfg_SpeedFdbkEUMax).
Val_SpeedFdbkEUMin REAL Not Visible Not Required Output Minimum of Speed Feedback = MIN
(Cfg_SpeedFdbkEUMin, Cfg_SpeedFdbkEUMax).
Val_SpeedFdbkEUMax REAL Not Visible Not Required Output Maximum of Speed Feedback = MAX
(Cfg_SpeedFdbkEUMin, Cfg_SpeedFdbkEUMax).
Sts_Initialized BOOL Not Visible Not Required Output 1 = Instruction is initialized. Use Inp_InitializeReq
to reinitialize.
Sts_Stopped BOOL Visible Not Required Output 1 = Drive requested to stop and is confirmed
stopped.
Sts_StartingFwd BOOL Visible Not Required Output 1 = Drive requested to run forward and awaiting
run feedback.
Sts_StartingRev BOOL Not Visible Not Required Output 1 = Drive requested to run reverse and awaiting
run feedback.
Sts_RunningFwd BOOL Visible Not Required Output 1 = Drive requested to run and is confirmed
running forward.
Sts_RunningRev BOOL Not Visible Not Required Output 1 = Drive requested to run and is confirmed
running reverse.
Sts_StoppingFwd BOOL Visible Not Required Output 1 = Drive running forward requested to stop and
awaiting stopped feedback.
646 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_StoppingRev BOOL Not Visible Not Required Output 1 = Drive running reverse requested to stop and
awaiting stopped feedback.
Sts_JoggingFwd BOOL Visible Not Required Output 1 = Drive requested to Jog Forward.
Sts_JoggingRev BOOL Not Visible Not Required Output 1 = Drive requested to Jog Reverse.
Sts_Horn BOOL Not Visible Not Required Output 1 = Motor Audible Alert (Horn) is Active.
Sts_CommandDir BOOL Not Visible Not Required Output 1 = Drive commanded to Forward, 0 = Reverse.
Sts_ActualDir BOOL Not Visible Not Required Output 1 = Motor rotation (actual direction) is Forward, 0 =
Reverse.
Sts_Accel BOOL Not Visible Not Required Output 1 = Drive is Accelerating.
Sts_Decel BOOL Not Visible Not Required Output 1 = Drive is Decelerating.
Sts_NotReady BOOL Not Visible Not Required Output 1 = Drive is Not Ready (cannot be started) Check
alarms, stops, faults.
Sts_Alarm BOOL Not Visible Not Required Output 1 = Drive has an Alarm (see drive display or
manual).
Sts_AtSpeed BOOL Not Visible Not Required Output 1 = Drive is running at reference speed.
Sts_SpeedLimited BOOL Not Visible Not Required Output 1 = Speed Reference Setting exceeds configured
Max/Min limit.
Sts_Virtual BOOL Not Visible Not Required Output 1 = The instruction treats the drive as virtual. The
instruction acts as normal but the output is kept
de-energized; 0 = The instruction operates the
drive normally. Sts_Virtual is a copy of Sts_Virtual.
SrcQ_IO SINT Not Visible Not Required Output Source and quality of primary input or output
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
Publication PROCES-RM215A-EN-P - November 2023 647
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
SrcQ SINT Not Visible Not Required Output Source and quality of primary value or status
(enumerated):
0=Good, live, confirmed good
1=Good, live, assumed good
2=Good, no feedback, assumed good
8=Test, virtualized
9=Test, loopback
10=Test, manually entered
16=Uncertain, live, off-spec
17=Uncertain, substituted at device or bus
18=Uncertain, substituted at instruction
19=Uncertain, using last known good
20=Uncertain, using replacement value
32=Bad, signal failure
33=Bad, channel fault
34=Bad, module or communication fault
35=Bad, invalid configuration
Sts_eCmd SINT Not Visible Not Required Output Drive Command:
0 = None,
1 = Stop,
2 = Start Forward,
3 = Start Reverse,
4 = Jog Forward,
5 = Jog Reverse.
Sts_eFdbk SINT Not Visible Not Required Output Drive Feedback:
0 = Stopped,
1 = Running Forward,
2 = Running Reverse,
3 = Accelerating,
4 = Decelerating.
Sts_eSts SINT Not Visible Not Required Output Drive Status:
0 = Powerup / Unknown,
1 = Stopped,
2 = Running Forward,
3 = Running Reverse,
4 = Starting Forward,
5 = Starting Reverse,
6 = Jogging Forward,
7 = Jogging Reverse,
8 = Stopping,
14 = Horn,
15 = Out Of Service.
Sts_eFault SINT Not Visible Not Required Output Drive Fault Status:
0 = None,
15 = Interlock Trip,
16 = Fail to Start,
17 = Fail to Stop,
18 = Drive Fault,
32 = I/O Fault,
34 = Config Error.
648 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotify SINT Not Visible Not Required Output All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll SINT Not Visible Not Required Output All alarm status enumerated values including
related objects:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault SINT Not Visible Not Required Output IOFault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFailToStart SINT Not Visible Not Required Output Fail to Start alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Publication PROCES-RM215A-EN-P - November 2023 649
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_eNotifyFailToStop SINT Not Visible Not Required Output Fail to Stop alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip SINT Not Visible Not Required Output IntlkTrip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyDriveFault SINT Not Visible Not Required Output Drive Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset
required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowl
Sts_UnackAlmCount DINT Not Visible Not Required Output Count of unacknowledged alarms.
Sts_eFaultCode DINT Not Visible Not Required Output First Drive Fault Code after reset. See drive
manual or Drive Object for description.
Sts_eSrc INT Not Visible Not Required Output The current command source is shown with
status bits:
Sts_eSrc.0: Lock,
Sts_eSrc.1: Normal,
Sts_eSrc.2: Hand,
Sts_eSrc.3: Maintenance,
Sts_eSrc.4: Override,
Sts_eSrc.5: Program,
Sts_eSrc.6: Operator,
Sts_eSrc.7: Out of Service,
Sts_eSrc.8: External.
650 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_bSrc INT Not Visible Not Required Output Active selection bitmap (for HMI totem pole with
command source request selection):
Sts_bSrc.0: Hand,
Sts_bSrc.1: Programmed Out of Service (rung
false),
Sts_bSrc.2: Maintenance Out of Service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_Available BOOL Not Visible Not Required Output 1 = Device has been acquired by Program and is
now available for start/stop control.
Sts_IntlkAvailable BOOL Not Visible Not Required Output 1 = Device can be acquired by Program and is
available for start/stop control when interlocks
are OK.
Sts_Bypass BOOL Not Visible Not Required Output 1 = Bypassable interlocks are bypassed.
Sts_BypActive BOOL Visible Not Required Output 1 = Interlock bypassing active (bypassed or
maintenance).
Sts_MaintByp BOOL Not Visible Not Required Output 1 = Device has a maintenance bypass function
active.
Sts_NotRdy BOOL Not Visible Not Required Output 1 = Device is not ready, see detail bits
(Sts_Nrdyxxx) for reason.
Sts_NrdyCfgErr BOOL Not Visible Not Required Output 1 = Device is not ready: Configuration error.
Sts_NrdyDriveNotReady BOOL Not Visible Not Required Output 1 = Device is not ready: Drive Not Ready.
Sts_NrdyFail BOOL Not Visible Not Required Output 1 = Device is not ready: Device failure (Shed
requires Reset).
Sts_NrdyIntlk BOOL Not Visible Not Required Output 1 = Device is not ready: Interlock not OK.
Sts_NrdyIOFault BOOL Not Visible Not Required Output 1 = Device is not ready: IO Fault (Shed requires
Reset).
Sts_NrdyOoS BOOL Not Visible Not Required Output 1 = Device is not ready: Device disabled by
Maintenance.
Sts_NrdyFwdPerm BOOL Not Visible Not Required Output 1 = Device is not ready: Forward permissive not
OK.
Sts_NrdyRevPerm BOOL Not Visible Not Required Output 1 = Device is not ready: Reverse permissive not
OK.
Sts_NrdyPrioStop BOOL Not Visible Not Required Output 1 = Device is not ready: Operator or External
priority Stop command requires reset.
Sts_NrdyTrip BOOL Not Visible Not Required Output 1 = Device is not ready: Device Tripped (Drive Fault
requires Reset).
Sts_Err BOOL Visible Not Required Output 1 = Error in configuration: See detail bits
(Sts_ErrXxx) for reason.
Sts_ErrAlm BOOL Not Visible Not Required Output 1 = Error in Logix tag-based alarm settings.
Sts_ErrSpeedFdbkRaw BOOL Not Visible Not Required Output 1 = Error in Config: Speed Fdbk Raw Min = Max.
Sts_ErrSpeedFdbkEU BOOL Not Visible Not Required Output 1 = Error in Config: Speed Fdbk EU Min = Max.
Sts_ErrSpeedRefLim BOOL Not Visible Not Required Output 1 = Error in Config: Speed Ref Limit Min > Max.
Sts_ErrSpeedRefEU BOOL Not Visible Not Required Output 1 = Error in Config: Speed Ref EU Min = Max.
Sts_ErrSpeedRefRaw BOOL Not Visible Not Required Output 1 = Error in Config: Speed Ref Raw Min = Max.
Publication PROCES-RM215A-EN-P - November 2023 651
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_ErrInpDatalinkRaw BOOL Not Visible Not Required Output 1 = Error in Config: Input Datalink Raw Min = Max.
Sts_ErrInpDatalinkEU BOOL Not Visible Not Required Output 1 = Error in Config: Input Datalink EU Min = Max.
Sts_ErrOutDatalinkLim BOOL Not Visible Not Required Output 1 = Error in Config: Output Datalink Limits Min >
Max.
Sts_ErrOutDatalinkEU BOOL Not Visible Not Required Output 1 = Error in Config: Output Datalink EU Min = Max.
Sts_ErrOutDatalinkRaw BOOL Not Visible Not Required Output 1 = Error in Config: Output Datalink Raw Min = Max.
Sts_ErrVirtualRampTime BOOL Not Visible Not Required Output 1 = Error in Config: Virtual speed accel / decel
time: use 0 to 2147483.
Sts_ErrFailToStartTime BOOL Not Visible Not Required Output 1 = Error in Config: Fail to Start timer preset: use 0
to 2147483.
Sts_ErrFailToStopTime BOOL Not Visible Not Required Output 1 = Error in Config: Fail to Stop timer preset: use 0
to 2147483.
Sts_ErrResetPulseTime BOOL Not Visible Not Required Output 1 = Error in Config: Reset Pulse timer preset: use 0
to 2147483.
Sts_ErrMaxJogTime BOOL Not Visible Not Required Output 1 = Error in Config: Maximum Jog Time timer
preset: use 0 to 2147483.
Sts_Hand BOOL Visible Not Required Output 1 = Hand is selected (supersedes OoS,
Maintenance, Override, External, Program,
Operator).
Sts_OoS BOOL Visible Not Required Output 1 = Out of Service is selected (supersedes
Maintenance, Override, External, Program,
Operator).
Sts_Maint BOOL Visible Not Required Output 1 = Maintenance is selected (supersedes Override,
External, Program, Operator).
Sts_Ovrd BOOL Visible Not Required Output 1 = Override is selected (supersedes External,
Program, Operator).
Sts_Ext BOOL Visible Not Required Output 1 = External is selected (supersedes Program and
Operator).
Sts_Prog BOOL Visible Not Required Output 1 = Program is selected.
Sts_ProgLocked BOOL Not Visible Not Required Output 1 = Program is selected and Locked.
Sts_Oper BOOL Visible Not Required Output 1 = Operator is selected.
Sts_OperLocked BOOL Not Visible Not Required Output 1 = Operator is selected and Locked.
Sts_ProgOperSel BOOL Not Visible Not Required Output Program/Operator selection (latch) state: 1 =
Program, 0 = Operator.
Sts_ProgOperLock BOOL Visible Not Required Output Program/Operator lock (latch) state, 1 = Locked, 0
= Unlocked.
Sts_Normal BOOL Not Visible Not Required Output 1 = Selection equals the Normal (Program or
Operator).
Sts_ExtReqInh BOOL Not Visible Not Required Output 1 = External request inhibited, cannot get to
External from current state.
Sts_ProgReqInh BOOL Not Visible Not Required Output 1 = Program request inhibited, cannot get to
Program from current state.
Sts_MAcqRcvd BOOL Not Visible Not Required Output 1 = Maintenance Acquire command received this
scan.
Sts_CmdConflict BOOL Not Visible Not Required Output 1 = Conflicting commands received this scan.
Sts_Alm BOOL Not Visible Not Required Output 1 = An alarm is active.
Sts_AlmInh BOOL Not Visible Not Required Output 1 = An alarm is shelved or disabled.
652 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Public Output Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Sts_IOFault BOOL Not Visible Not Required Output IO Fault status: 1 = Bad, 0 = OK. There is a
predefined default discrete Logix tag-based alarm
for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IOFault.AlarmElement.
Sts_FailToStart BOOL Not Visible Not Required Output 1 = Drive failed to Start. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_FailToStart.AlarmElement.
Sts_FailToStop BOOL Not Visible Not Required Output 1 = Drive failed to Stop. There is a predefined
default discrete Logix tag-based alarm for the
status. Set standard configuration members of
the discrete Logix tag-based alarm. Alarm
elements can be accessed as follows:
[email protected]_FailToStop.AlarmElement.
Sts_IntlkTrip BOOL Not Visible Not Required Output 1 = Drive stopped by an interlock Not OK. There is
a predefined default discrete Logix tag-based
alarm for the status. Set standard configuration
members of the discrete Logix tag-based alarm.
Alarm elements can be accessed as follows:
[email protected]_IntlkTrip.AlarmElement.
Sts_DriveFault BOOL Not Visible Not Required Output 1 = Drive Fault, see drive display or manual for
detail.
Sts_RdyAck BOOL Not Visible Not Required Output 1 = An alarm is ready to be acknowledged.
Sts_RdyReset BOOL Not Visible Not Required Output 1 = A latched alarm or shed condition is ready to
be reset.
XRdy_Acq BOOL Not Visible Not Required Output 1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel BOOL Not Visible Not Required Output 1 = Ready for XCmd_Rel, enable HMI button.
XRdy_StartFwd BOOL Not Visible Not Required Output 1 = Ready for XCmd_StartFwd, enable button.
XRdy_StartRev BOOL Not Visible Not Required Output 1 = Ready for XCmd_StartRev, enable button.
XRdy_JogFwd BOOL Not Visible Not Required Output 1 = Ready for XCmd_JogFwd, enable button.
XRdy_JogRev BOOL Not Visible Not Required Output 1 = Ready for XCmd_JogRev, enable button.
XRdy_Stop BOOL Not Visible Not Required Output 1 = Ready for XCmd_Stop, enable button.
XRdy_Reset BOOL Not Visible Not Required Output 1 = Ready for XCmd_Reset, enable button.
XRdy_ResetAckAll BOOL Not Visible Not Required Output 1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner DINT Not Visible Not Required Output Current object owner ID (0 = not owned).
Private Input Members Data Type Description
CmdSrc P_COMMAND_SOUR Control or Command Source Selection.
CE
MCmd_Acq BOOL Maintenance command to acquire ownership (Operator/Program/External/Override to
Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Bypass BOOL Maintenance command to bypass all bypassable interlocks and permissives. The instruction
clears this operand automatically.
Default is false.
Publication PROCES-RM215A-EN-P - November 2023 653
Chapter 1 PlantPAx
Private Input Members Data Type Description
MCmd_Check BOOL Maintenance command to check (not bypass) all interlocks and permissives. The instruction
clears this operand automatically.
Default is false.
MCmd_IS BOOL Maintenance command to select In Service. The instruction clears this operand
automatically.
Default is false.
MCmd_OoS BOOL Maintenance command to select Out of Service. The instruction clears this operand
automatically.
Default is false.
MCmd_Physical BOOL Maintenance command to select Physical device operation (not simulated). The instruction
clears this operand automatically.
Default is false.
MCmd_Virtual BOOL Maintenance command to select Virtual (simulated) device operation. The instruction clears
this operand automatically.
Default is false.
OCmd_JogFwd BOOL Operator command to Jog Drive Forward. The instruction clears this operand
automatically if max jog time is reached.
Default is false.
OCmd_JogRev BOOL Operator command to Jog Drive Reverse. The instruction clears this operand automatically
if max jog time is reached.
Default is false.
OCmd_Lock BOOL Operator command to lock Operator (disallow Program). The instruction clears this operand
automatically.
Default is false.
OCmd_Normal BOOL Operator command to select Normal (Operator or Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Oper BOOL Operator command to select Operator (Program to Operator). The instruction clears this
operand automatically.
Default is false.
OCmd_Prog BOOL Operator command to select Program (Operator to Program). The instruction clears this
operand automatically.
Default is false.
OCmd_Reset BOOL Operator command to reset all alarms and latched shed conditions. The instruction clears
this operand automatically.
Default is false.
OCmd_ResetAckAll BOOL Operator command to acknowledge and reset all alarms and latched shed conditions. The
use of OCmd_ResetAckAll is restricted to HMI. The instruction clears this operand
automatically.
Default is false.
OCmd_StartFwd BOOL Operator command to Start Drive Forward. The instruction clears this operand
automatically.
Default is false.
OCmd_StartRev BOOL Operator command to Start Drive Reverse. The instruction clears this operand automatically.
Default is false.
OCmd_Stop BOOL Operator command to Stop Drive. The instruction clears this operand automatically.
Default is false.
OSet_OutDatalink REAL Operator Setting of Output Datalink, in output datalink engineering units. Valid = any float
(clamped)
Default is 0.0.
654 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
OSet_SpeedRef REAL Operator Setting of Speed Reference, in speed reference engineering units. Valid = any float
(clamped)
Default is 0.0.
Private Output Members Data Type Description
HMI_BusObjIndex DINT This object's index in the bus array, for use by HMI display.
Default is 0.
MRdy_Acq BOOL 1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass BOOL 1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check BOOL 1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS BOOL 1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS BOOL 1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical BOOL 1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel BOOL 1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual BOOL 1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_JogFwd BOOL 1 = Ready for OCmd_JogFwd, enable HMI button.
ORdy_JogRev BOOL 1 = Ready for OCmd_JogRev, enable HMI button.
ORdy_Lock BOOL 1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal BOOL 1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper BOOL 1 = Ready for OCmd_Oper, enable HMI button.
ORdy_OutDatalink BOOL 1 = Ready for OSet_OutDatalink, enable data entry field.
ORdy_Prog BOOL 1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset BOOL 1 = A latched alarm or shed condition is ready to be reset.
ORdy_ResetAckAll BOOL 1 = A latched alarm or shed condition is ready to be reset or acknowledged.
ORdy_SpeedRef BOOL 1 = Ready for OSet_SpeedRef, enable data entry field.
ORdy_StartFwd BOOL 1 = Ready for OCmd_StartFwd, enable HMI button.
ORdy_StartRev BOOL 1 = Ready for OCmd_StartRev, enable HMI button.
ORdy_Stop BOOL 1 = Ready for OCmd_Stop, enable HMI button.
ORdy_Unlock BOOL 1 = Ready for OCmd_Unlock, enable HMI button.
Sts_FaultDesc STRING Description of motor controller fault, lookup from last fault code.
Public InOut Members Data Type FBD Default FBD Wiring Usage Description
Visibility required
Ref_Ctrl_Set RAC_ITF_DVC_ Visible Required InOut Velocity Automation Device Object Settings
PWRVELOCITY_ Interface.
SET
Ref_Ctrl_Cmd RAC_ITF_DVC_ Visible Required InOut Velocity Automation Device Object Command
PWRVELOCITY_ Interface.
CMD
Ref_Ctrl_Sts RAC_ITF_DVC_ Visible Required InOut Velocity Automation Device Object Status
PWRVELOCITY_ Interface.
STS
BusObj BUS_OBJ Visible Required InOut Bus component.
Ref_FaultCodeList RAC_CODE_DE Visible Required InOut Fault Code to Fault Description lookup table for
SCRIPTION[1] intelligent motor controller.
Publication PROCES-RM215A-EN-P - November 2023 655
Chapter 1 PlantPAx
RAC_ITF_DVC_PWRVELOCITY_SET Structure
The RAC_ITF_DVC_PWRVELOCITY_SET structure is the first of three
structures exchanged with the associated Power Velocity Device Object to
interface with the variable speed drive device. This structure handles
settings, such as the speed reference, sent to the drive.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, other pins on the instruction are used to
link the necessary data.
Members Data Type Description
InhibitCmd BOOL 1 = Inhibit user Commands from external sources, 0 = Allow Commands.
InhibitSet BOOL 1 = Inhibit user Settings from external sources, 0 = Allow Settings.
Speed REAL Speed reference (Hz). Valid = 0.0 to maximum drive frequency.
RAC_ITF_DVC_PWRVELOCITY_CMD Structure
The RAC_ITF_DVC_PWRVELOCITY_CMD structure is the second of three
structures exchanged with the associated Power Velocity Device Object to
interface with the variable speed drive device. This structure handles
commands, such as start, stop and jog, sent to the drive. It is an InOut
parameter configured as optional (May Be Null).
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, other pins on the instruction are used to
link the necessary data.
Members Data Type Description
bCmd INT Commands (Bit Overlay):
Physical BOOL Operate as a physical device.
Virtual BOOL Operate as a virtual device.
ResetWarn BOOL Reset warning status.
ResetFault BOOL Reset fault status.
Activate BOOL Activate output power structure.
Deactivate BOOL Deactivate output power structure.
CmdDir BOOL Select direction: 0 = Forward, 1 = Reverse.
RAC_ITF_DVC_PWRVELOCITY_STS Structure
The RAC_ITF_DVC_PWRVELOCITY_STS structure is the third of three
structures exchanged with the associated Power Velocity Device Object to
interface with the variable speed drive device. This structure handles status,
such as the speed feedback, active status, commanded and actual direction,
656 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
received from the drive. It is an InOut parameter configured as optional
(May Be Null).
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, other pins on the instruction are used to
link the necessary data.
Members Data Type Description
eState DINT Enumerated state of the device object:
0 = Unused,
1 = Initializing,
2 = Disconnected,
3 = Disconnecting,
4 = Connecting,
5 = Idle,
6 = Configuring,
7 = Available.
FirstWarning RAC_ITF_EVENT First warning.
FirstFault RAC_ITF_EVENT First fault.
eCmdFail DINT Enumerated command failure code.
Speed REAL Actual Speed (Hz).
bSts INT Status (Bit Overlay):
Physical BOOL 1 = Operating as a physical device.
Virtual BOOL 1 = Operating as a virtual device.
Connected BOOL 1 = Connected and communicating.
Available BOOL 1 = Device is configured and can be operated.
Warning BOOL 1 = Device has a warning.
Faulted BOOL 1 = Device is faulted.
Ready BOOL 1 = Device is ready to be activated.
Active BOOL 1 = Device is active (power structure active, drive running).
ZeroSpeed BOOL 1 = Motor is at zero speed (not rotating).
ObjCtrl BOOL 0 = Object has control of this device, 1 = Object does not have control of this device
(for example, local HIM or I/O has control).
CmdDir BOOL Commanded direction: 1 = Reverse, 0 = Forward
ActDir BOOL Actual (rotation) direction: 1 = Reverse, 0 = Forward
Accelerating BOOL 1 = Motor is accelerating.
Decelerating BOOL 1 = Motor is decelerating.
AtSpeed BOOL 1 = Motor actual speed has reached speed reference.
BUS_OBJ Structure
The BUS_OBJ structure links the variable speed drive to other devices and
instructions in a complex control strategy, typically into a hierarchy. A Bus
Object rolls up status and alarm information from lower level devices to
higher level control and fans out commands from higher level control to lower
level devices, and items link to the bus by referencing a single member of the
BUS_OBJ array associated with the bus.
Publication PROCES-RM215A-EN-P - November 2023 657
Chapter 1 PlantPAx
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the Bus functions of this instruction are not
available.
Members Data Type Description
Inp_Cmd DINT Input to assert commands
Out_Cmd DINT Resultant commands
Inp_CmdLLH DINT Input for level normally high commands
Out_CmdLLH DINT Resultant line level high commands
Inp_Sts DINT Input to assert status
Out_Sts DINT Resultant status
Inp_CmdAck DINT Input to assert a command acknowledgement
Out_CmdAck DINT Resultant command acknowledgements
Inp_SeverityMax DINT Input: maximum alarm severity
Out_SeverityMax DINT Resultant of maximum alarm severity
Cfg_CmdMask DINT Propagation mask for commands
Cfg_CmdLLHMask DINT Propagation mask for line level high commands
Cfg_StsMask DINT Propagation mask for status
Ref_Index DINT Bus array index
RAC_CODE_DESCRIPTION[x] Structure
The RAC_CODE_DESCRIPTION[x] structure is an array of drive fault code
number and fault code description pairs, used as a lookup table. The
instruction searches the table for the fault code received from the drive and
displays the corresponding fault description text.
This parameter links the instruction to an external tag that contains necessary
data for the instruction to operate. The external tag must be of the data type
shown, or may be NULL. If NULL, the fault code lookup function is not
performed. Fault descriptions will only be shown if provided through the
Device Object Status interface.
Members Data Type Description
Code DINT Code for which to look up Description.
Desc STRING Description for given Code.
RAC_EVENTStructure
RAC_EVENTstructures are used by the FirstFault and FirstWarning members
in the RAC_ITF_DVC_PWRVELOCITY_STS structure. These items hold the
658 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
event data received from the drive for the first drive fault and first drive
warning records in the drive event history.
Members Data Type Description
Type DINT Event type:
1 = Status,
2 = Warning,
3 = Fault,
4 ...n = User.
ID DINT User-definable event ID.
Category DINT User-definable category (Electrical, Mechanical, Materials, Utility, etc.).
Action DINT User-definable event action code.
Value DINT User-definable event value or fault code.
Message STRING Event message text.
EventTime_L LINT Event timestamp (64-bit microseconds format).
EventTime_D DINT[7] Event timestamp (year, month, day, hour, minute, second, microsecond format).
Alarms
Discrete Logix tag-based alarms are defined for these members:
Member Alarm Name Description
Sts_FailToStart Alm_FailToStart Drive failed to start within the allotted time when commanded to start.
Sts_FailToStop Alm_FailToStop Drive failed to stop within the allotted time when commanded to stop.
Sts_IntlkTrip Alm_IntlkTrip Drive stopped by an Interlock Not OK.
Sts_IOFault Alm_IOFault Drive communication with controller failed.
Sts_DriveFault Alm_DriveFault The variable speed drive is reporting it has a fault condition.
Mark the alarm as used or unused and set standard configuration members of
the discrete Logix Tag based alarm. Use this format to access alarm elements:
[email protected]
The PVSD instruction uses these alarms:
• Raises the Fail to Start alarm when the drive is commanded to start but
run feedback is not received within the configured failure time.
• Raises the Fail to Stop alarm when the drive is commanded to stop but
run feedback does not drop within the configured failure time.
• Raises the Interlock Trip alarm when the motor is running and an
interlock not-OK condition causes the motor to stop. If interlocks are
not bypassed, a bypassable interlock or a non-bypassable interlock
not-OK condition initiates an interlock trip. If interlocks are bypassed,
only a non-bypassable interlock not-OK condition initiates an interlock
trip.
• Raises the I/O Fault alarm when I/O communication with the variable
speed drive is lost. For the Power Velocity Device interface, this is
detected when the Ref_Ctrl_Sts.Connected bit goes false (to 0). For
the discrete signal interface, used when Ref_Ctrl_Sts is NULL, this is
detected when Inp_IOFault goes true (to 1).
Publication PROCES-RM215A-EN-P - November 2023 659
Chapter 1 PlantPAx
• Raises the Drive Fault alarm when the drive reports a drive faulted
condition. For the Power Velocity Device interface, this is detected
when the Ref_Ctrl_Sts.Faulted bit goes true (to 1). For the discrete
signal interface, which is used when Ref_Ctrl_Sts is NULL, this is
detected when Inp_Faulted goes true (to 1).
Program, Operator, and External commands reset latched alarms, and reset
and acknowledge all alarms of the instruction (Alarm Set) at the same time.
This diagram shows how the commands interact with the PVSD instruction.
660 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Operation
This diagram illustrates functionality of the PVSD instruction:
Publication PROCES-RM215A-EN-P - November 2023 661
Chapter 1 PlantPAx
The second diagram illustrates the handling of the drive speed reference
(setpoint) and drive speed feedback:
662 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
The third diagram illustrates the handling of the optional input datalink and
output datalink functions:
Publication PROCES-RM215A-EN-P - November 2023 663
Chapter 1 PlantPAx
Monitor the PVSD Instruction
Use the operator faceplate from the PlantPAx library of Process objects for
monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for
array-indexing faults.
Execution
Ladder Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor state is
evaluated and the instruction aligns with the current state of the motor, as if
the Hand command source were selected.
Rung-condition-in is false Handled the same as if the motor is taken Out of Service by command. The
motor outputs are de-energized, and the motor Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. The
rung-condition-out continues as false.
Rung-condition-in is true Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State Action Taken
Prescan Any commands received before first scan are discarded. The motor is
de-energized and treated as if it were commanded to stop.
Instruction first run Any commands received before first scan are discarded. The motor state is
evaluated and the instruction aligns with the current state of the motor, as
if the Hand command source were selected.
Instruction first scan See instruction first run in the function block diagram table.
EnableIn is false Handled the same as if the motor is taken Out of Service by command. The
motor outputs are de-energized, and the motor Command Source is shown
as Program Out of Service on the HMI. All alarms are cleared. EnableOut is
set to false.
664 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Condition/State Action Taken
EnableIn is true EnableOut is set to true.
The instruction executes.
Postscan EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if
the instruction is in the control path activated by the logic it will execute.
Condition/State Action Taken
Prescan See Prescan in the Function Block Diagram table.
Instruction first run See Instruction first run in the Function Block Diagram table.
EnableIn is true See EnableIn is true in the Function Block Diagram table.
Postscan See Postscan in the Function Block Diagram table.
Example
In the following example, the first three reference (InOut parameter) tags are
used to interface to a Power Velocity Device object, provided by Commercial
Engineering. These tags provide the Speed Reference setting to the drive,
the various activate (start), deactivate (stop), and clear fault commands to the
drive, and drive status from the drive, including status such as active
(running), actual speed, commanded and actual direction, and fault and
warning information and test. The next InOut parameter links this drive to
a bus of related devices, control modules, equipment modules and unit(s) in a
hierarchy used to fan out commands and roll up status and alarm information
for use in complex control strategies and sequences.
In this example, the Fault Code List parameter is not used because the textual
fault information is received from the Power Velocity Device object, and no
lookup from a fault code is required in this instance.
Publication PROCES-RM215A-EN-P - November 2023 665
Chapter 1 PlantPAx
Ladder Diagram
666 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Function Block Diagram
Structured Text
PVSD(MyNG_PVSD, MyNG_PVSD_Ctrl_Set, MyNG_PVSD_Ctrl_Cmd,
MyNG_PVSD_Ctrl_Sts, MyNG_Bus[19], 0)
See also
Process Variable Speed Drive (PVSD) Command Source on page 668
Publication PROCES-RM215A-EN-P - November 2023 667
Chapter 1 PlantPAx
PVSD Command Source The Process Variable Speed Drive (PVSD) instruction uses these command
sources. The command sources are prioritized in order from highest to
lowest.
Command Source Description
Hand Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for
bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service The instruction is disabled. Drive commands and settings from any source are not accepted.
Maintenance Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and
settings from the HMI are accepted.
Override Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is
accepted.
External External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are
accepted.
Program locked Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program.
Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from
Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
• Maintenance Out-of-Service exists
• Maintenance exists
• External exists
• Program (unlocked) exists
• Program locked exists
• Operator (unlocked) exists
• Operator locked exists
• PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the
nearest valid configuration.
The core control model arbitrates the source of the commands and
parameters that the receiving function accepts. The core control model
determines if the source is:
• A programmatic entity which resides entirely within the processing
environment, or
• An external interface entity which issues commands and parameters
external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring
privilege.
668 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Core Command Source Model
The core control model consists of these control sources:
• Oper
• OperLocked
• Prog
• ProgLocked
The control model defaults to this configuration. Other control sources may
be present in the model but act as overriding control sources, acting
independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default
configuration uses the entire base model; upon power-up of the processing
environment the control source will be the designated default. Some
combinations of enabled control sources are disallowed as they are either
unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the
power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program
commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically
cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some
commands may change. This is in keeping with the intent of the command.
For example, if the Program state is disabled, the destination of the
OCmd_Prog command becomes the Program Locked state instead of the
Program state. This maintains the intent of the OCmd_Prog command: the
operator entity wishes to place the function in control of the program. If the
Publication PROCES-RM215A-EN-P - November 2023 669
Chapter 1 PlantPAx
command was eliminated then there would be no way to accomplish this. This
is only done in configurations where it would cause no conflict or race
condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the
model:
• External
• Override
• Maintenance
• Out-of-Service
• In-Service
• Hand
Implementation
The PVSD instruction monitors and controls a variable speed drive. The
speed reference and the start, stop and jog commands to the drive can come
from a variety of sources, determined by an embedded instance of PCMDSRC.
Available command sources are:
• Operator, through the HMI
• Program, through logic connected to the block
• External, through logic connected to the block
• Override, through logic connected to the block
• Maintenance, through the HMI
• Out of Service
• Hand (assumes the block has no control of the drive, so aligns with the
actual drive status in order to achieve bumpless transfer from Hand
back to one of the other command sources)
The PVSD instruction has four aspects, which can be kept by a particular
command source whenever the command source selection is Operator,
Program or External. Any or all of the aspects can be kept at any given time,
or can follow the selection of the PCMDSRC. The aspects are:
• The Speed Reference setting
• Start (forward and reverse) commands
• Jog (forward and reverse) commands
• The Output Datalink setting
The Jog commands cannot be kept by the Program command source.
The PVSD instruction supports virtualization. When selected to Virtual, the
instruction provides status to the operator and other blocks as if a working
drive were connected while keeping the outputs to the physical drive
670 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
de-energized (zero). When selected to Physical, the instruction monitors and
controls the physical variable speed drive device. Use Virtualization to provide
off-process functional testing of higher-level control strategies or simulation
for operator training.
The PVSD instruction supports interlocks, conditions that must be OK for the
motor to run and which stop the motor if not OK, and permissives, conditions
that must be OK for the motor to start but which are ignored once the motor
is running. Bypassable permissives and interlocks can be bypassed for
maintenance, while non-bypassble interlocks and permissives are always
evalutated.
Analog values (speed reference, speed feedback, input datalink, output
datalink) associated with the drive are displayed and entered in engineering
units, and linear scaling is used to provide these values in raw (drive) units at
the drive interface. The speed reference to the drive has rate limiting and
clamping limits; the output datalink to the drive has clamping limits.
The PVSD instruction supports a bus for forwarding commands (fanout) and
gathering status (rollup) in a hierarchy of objects. Refer to the Bus Object for
more information on the commands and status (including alarm status) sent
on the bus.
The PVSD instruction optionally supports the ability to look up the text to
display for the most recent drive fault code, given a provided fault code lookup
table. This table is an array of Code and Description pairs and is searched
whenever the last fault code from the drive changes.
The PVSD instruction’s interface to the physical drive can be through a Power
Velocity Device Object interface or by connecting individual drive signals to
input and output pins of the instruction. Details on the Power Velocity Device
Object interface are given below. Three interface tags are used, provided as
InOut Parameters. These tags provide drive Settings, such as the Speed
Reference, drive Commands, such as start forward, jog reverse and stop, and
retrieve drive Status, such as connected, active (running), commanded
direction, actual direction, accelerating, decelerating, at speed, warning,
faulted, and extended drive warning and fault information.
PVSD Drive Settings: Ref_Ctrl_Set InOut Parameter
(RAC_ITF_DVC_PWRVELOCITY_SET) Structure
Private Input Members Data Type Description
InhibitCmd BOOL 1 = Inhibit user Commands from external sources, 0 = allow Commands.
InhibitSet BOOL 1 = Inhibit user Settings from external sources, 0 = Allow Settings.
Speed REAL Speed reference (Hz). Valid = 0.0 to maximum drive frequency.
Publication PROCES-RM215A-EN-P - November 2023 671
Chapter 1 PlantPAx
PVSD Drive Commands: Ref_Ctrl_Cmd InOut Parameter
(RAC_ITF_DVC_PWRVELOCITY_CMD) Structure
Private Input Members Data Type Description
bCmd INT Commands (bit overlay), consisting of:
Physical BOOL Operate as a physical device
Virtual BOOL Operate as a virtual device
ResetWarn BOOL Reset warning status
ResetFault BOOL Reset fault status
Activate BOOL Activate output power structure (if speed reference is not zero, the motor will run)
Deactivate BOOL Deactivate output power structure (motor will stop)
CmdDir BOOL Select direction: 0 = Forward, 1 = Reverse
PVSD Drive Status: Ref_Ctrl_Sts InOut Parameter
(RAC_ITF_DVC_PWRVELOCITY_STS) Structure
Private Input Members Data Type Description
eState DINT Enumerated state of the device object:
0 = Unused
1 = Initializing
2 = Disconnected
3 = Disconnecting
4 = Connecting
5 = Idle
6 = Configuring
7 = Available
FirstWarning RAC_ITF_EVENT First Warning, consisting of:
Type DINT Event type: 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID DINT User-definable event ID
Category DINT User-definable category (electrical, mechanical, materials, utility, etc.)
Action DINT User-definable event action code
Value DINT User-definable event value or fault code
Message STRING Event message text
EventTime_L LINT Event timestamp (64-bit microseconds format)
EventTime_D DINT[7] Event timestamp (year, month, day, hour, minute, second, microsecond format)
FirstFault RAC_ITF_EVENT First Fault, consisting of:
Type DINT Event type: 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID DINT User-definable event ID
Category DINT User-definable category (electrical, mechanical, materials, utility, etc.)
Action DINT User-definable event action code
Value DINT User-definable event value or fault code
Message STRING Event message text
EventTime_L LINT Event timestamp (64-bit microseconds format)
EventTime_D DINT[7] Event timestamp (year, month, day, hour, minute, second, microsecond format)
eCmdFail DINT Enumerated command failure code
Speed REAL Actual speed (Hz)
bSts INT Status, consisting of:
Physical BOOL 1 = Operating as a physical device
Virtual BOOL 1 = Operating as a virtual device
672 Publication PROCES-RM215A-EN-P - November 2023
Chapter 1 PlantPAx
Private Input Members Data Type Description
Connected BOOL 1 = Connected and communicating
Available BOOL 1 = Device is configured and can be operated
Warning BOOL 1 = Device has a warning
Faulted BOOL 1 = Device is faulted
Ready BOOL 1 = Device is ready to be activated
Active BOOL 1 = Device is active (power structure active, drive running)
ZeroSpeed BOOL 1 = Motor is at zero speed (not rotating)
ObjCtrl BOOL 0 = Object has control of this device, 1 = Object does not have control of this device (for
example, local HIM or I/O has control)
CmdDir BOOL Commanded direction: 1 = reverse, 0 = forward
ActDir BOOL Actual direction (of rotation): 1 = reverse, 0 = forward
Accelerating BOOL 1 = Motor is accelerating
Decelerating BOOL 1 = Motor is decelerating
AtSpeed BOOL 1 = Motor is at commanded speed
This illustration shows the relationship between a PVSD instance and its
associated Power Velocity Device Object.
See also
Process Variable Speed Drive (PVSD)
Publication PROCES-RM215A-EN-P - November 2023 673
Rockwell Automation support
Use these resources to access support information.
Technical Support Center Find help with how-to videos, FAQs, chat, user forums, and product notification rok.auto/support
updates.
Knowledgebase Access Knowledgebase articles. rok.auto/knowledgebase
Local Technical Support Phone Numbers Locate the telephone number for your country. rok.auto/phonesupport
Literature Library Find installation instructions, manuals, brochures, and technical data publications. rok.auto/literature
Product Compatibility and Download Center Get help determining how products interact, check features and capabilities, and rok.auto/pcdc
(PCDC) find associated firmware.
Documentation feedback
Your comments help us serve your documentation needs better. If you have any suggestions on how to improve our content, complete the form at
rok.auto/docfeedback.
Waste Electrical and Electronic Equipment (WEEE)
Note: At the end of life, this equipment should be collected separately from any unsorted municipal
waste.
Rockwell Automation maintains current environmental information on its website at rok.auto/pec.
Allen-Bradley, expanding human possibility, Logix, Rockwell Automation, and Rockwell Software are trademarks of Rockwell Automation, Inc.
EtherNet/IP is a trademark of ODVA, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomayson Ticaret A.Ş. Kar Plaza İş Merkezi E Blok Kat:6 34752, İçerenkÖy, İstanbul, Tel: +90 (216) 5698400 EEE YÖnetmeliğine Uygundur
Publication PROCES-RM215A-EN-P - November 2023
Copyright © 2024 Rockwell Automation Technologies, Inc. All Rights Reserved. Printed in the U.S.A.