PlantPAX Logic Instruction Manual
PlantPAX Logic Instruction Manual
Original Instructions
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.
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).
Table of Contents
Preface
Summary of Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Access the Attachments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Open Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
How to Use Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Chapter 1
I/O Processing Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Basic Analog Input (P_AIn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Analog Input Channel (P_AIChan) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Advanced Analog Input (P_AInAdv) . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Dual Sensor Analog Input (P_AInDual) . . . . . . . . . . . . . . . . . . . . . . . . 32
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Multiple Analog Input (P_AInMulti). . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Discrete Input Object (P_DIn). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Discrete Input Object Advanced (P_DInAdv). . . . . . . . . . . . . . . . . . . 49
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Discrete Output (P_DOut) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Analog Output (P_AOut) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Pressure/Temp. Compensated Flow (P_PTComp) . . . . . . . . . . . . . . 64
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Tank Strapping Table (P_StrapTbl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
HART Analog Input (P_AInHART) . . . . . . . . . . . . . . . . . . . . . . . . . . 72
HART Analog Output (P_AOutHART) . . . . . . . . . . . . . . . . . . . . . . . 72
Chapter 2
Regulatory and Procedural Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Control Proportional + Integral +Derivative Enhanced (P_PIDE) . . . . . . . . 75
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Autotune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Analog Fanout (P_Fanout) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
High or Low Selector (P_HiLoSel) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Deadband Controller (P_DBC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Sequencer Object (P_Seq) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Step User-defined Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Operator Prompt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Dosing (P_Dose). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Lead/Lag/Standby Motor Group (P_LLS) . . . . . . . . . . . . . . . . . . . . . 101
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Motor Sort Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Chapter 3
Motors Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Single-speed Motor (P_Motor). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Two-speed Motor (P_Motor2Spd) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Reversing Motor (P_MotorRev). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Hand-operated Motor (P_MotorHO) . . . . . . . . . . . . . . . . . . . . . . . . . 132
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
PowerFlex 523/525 Drives (P_PF52x) . . . . . . . . . . . . . . . . . . . . . . . . . 135
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Required Drive Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
InOut Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
PowerFlex 753 Drive (P_PF753) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
InOut Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Chapter 4
Valves Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Analog/Pulsed Control Valve (P_ValveC) . . . . . . . . . . . . . . . . . . . . . 270
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Example 1: Manual Loading Station . . . . . . . . . . . . . . . . . . . . . . . 274
Example 2: Ratcheting Control Valve . . . . . . . . . . . . . . . . . . . . . . 275
Hand-operated Valve (P_ValveHO) . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Required Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Motor-operated Valve (P_ValveMO) . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Mix-proof Valve (P_ValveMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Solenoid-operated Valve (P_ValveSO) . . . . . . . . . . . . . . . . . . . . . . . . . 292
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
2-state Valve Statistics (P_ValveStats). . . . . . . . . . . . . . . . . . . . . . . . . . 297
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
n-Position Device (P_nPos) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Chapter 5
Cross Functional Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Condition Gate Delay (P_Gate). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Interlocks with First Out and Bypass (P_Intlk) . . . . . . . . . . . . . . . . . 317
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Interlocks with First Out and Bypass - Advanced (P_IntlkAdv) . . 323
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Permissives with Bypass
(P_Perm). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Discrete 2-, 3-, or 4-state Device (P_D4SD) . . . . . . . . . . . . . . . . . . . . 335
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Programming Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Central Reset (P_Reset) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Appendix A
Command Source, Simulation Command Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Types Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Appendix B
Additional Add-on Instructions Long Integer and Time Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Time and Date Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Appendix C
Process Strategies Process Strategies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
Notes:
This document helps you select the logic that is contained in Add-On
Instructions that comprise the volume of Rockwell Automation® Library of
Process Objects. Sections are divided into classifications that are based on what
criteria the Add-On Instructions control and monitor, such as motors. Each
section features a table with a brief description of each Add-On Instruction and
when to use and when not to use the instruction for your project.
This document is for the operation of the Add-on Instructions. For your
reference, the lists of AOI parameters and local tags for each instruction family
are attached to this PDF in the form of a Microsoft Excel spreadsheet. See Access
the Attachments on page 12 for how to access the attachments.
The visualization files, display elements, global objects, and HMI information are
contained in publication PROCES-RM014.
Define and
Install Prep Develop Operate
Procure
• Selection Guide • Virtualization User Manual • Infrastructure User Manual • Application User Manual • Verify and Troubleshoot User Manual
PROCES-SG001 9528-UM001 PROCES-UM001 PROCES-UM003 PROCES-UM004
• Reference Manual • Reference Manual • Reference Manual
PROCES-RM001 PROCES-RM001 PROCES-RM001
• Library of Process Objects
PROCES-RM013
PROCES-RM014
Access the Attachments The Microsoft Excel spreadsheets that are attached to this PDF file contain
input/output parameters and local configuration tags for Add-On Instructions.
To use a Microsoft Excel file, click the Attachments link (the paper clip) and
double-click the desired file..
Open Content
As a precaution when you open programs or files, select one of the choices and
click OK.
Each Microsoft Excel spreadsheet has three tabs: Input parameters, Output
parameters, Local configuration tags. Click the respective tab and use the search
functionality to locate a parameter.
Additional Resources These documents contain additional information that concerns related products
from Rockwell Automation.
Resource Description
PlantPAx Distributed Control System Selection Guide, Provides basic definitions of system elements and sizing
publication PROCES-SG001 guidelines for procuring a PlantPAx system.
PlantPAx Distributed Control System Infrastructure Describes procedures for how to configure system
Configuration User Manual, publication PROCES-UM001 components that comprise a PlantPAx modern DCS.
PlantPAx Distributed Control System Application Describes procedures to start development of your
Configuration User Manual, publication PROCES-UM003 PlantPAx distributed control system.
PlantPAx Distributed Control System Reference Manual, Provides characterized recommendations for
publication PROCES-RM001 implementing your PlantPAx system.
Rockwell Automation Library of Process Objects Reference Provides an overview of the code objects, display
Manuals: elements, and faceplates that comprise the Rockwell
publication PROCES-RM013 Automation Library of Process Objects.
Publication PROCES-RM014
Rockwell Automation Library of Logix Diagnostic Objects Provides information on Add-On Instructions that
Reference Manual, publication PROCES-RM003 monitor Logix controllers to diagnose issues that
include memory usage, communication, and control.
Rockwell Automation Library of Steam Table Instructions, Provides Add-On Instructions for to calculate
publication PROCES-RM004 temperature and pressure steam tables.
Redundant I/O System User Manual, Explains how to install and configure the 1715
publication 1715-UM001 Redundant
I/O system.
Product Compatibility and Download Center at Website helps you find product-related downloads
http://www.rocZkwellautomation.com/ including firmware, release notes, associated software,
rockwellautomation/support/pcdc.page drivers, tools, and utilities.
Rockwell Automation Sample Code website at Accesses a Rockwell Automation webpage to search for
http://samplecode.rockwellautomation.com sample code.
I/O Processing
Purpose This chapter is for the operation of the Add-on Instructions. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The Process Objects in this group provide analog and discrete input/output
signal processing. Pressure/temperature compensated flow calculations and
cylindrical tank level interpolations are also provided.
Table 1 describes the objects in this group, including when to use and not to use
each one.
Table 1 - I/O Processing Objects
Process Object Description When to Use When Not to Use
Basic Analog Input This instruction monitors one analog value, • Display a temperature, flow, pressure, level, • Analog input signal is handled by another
(P_AIn) typically from a channel of an analog input or other signal from one field instrument on instruction. For example, the Speed Feedback
module, and provides alarms when the analog your HMI. for a variable speed drive is handled by the
value exceeds user-specified thresholds (high • To scale, alarm, or use HMI features for a P_VSD instruction. It is not necessary to use
and low). single analog Input, or any analog (quantity) the P_AIn Add-On Instruction first. Wire or
The instruction also provides capabilities for value. map the input directly to P_VSD.
linear scaling of an analog input value from raw – Linear scaling from raw to engineering • To display only a number on a screen and do
(input) units to engineering (output) units. units not need any of the scaling or alarming
The logic also provides entries of a substitute – High, Low, High-High, Low-Low, and Out features. Use a numeric display
Process Variable, providing handling of an of Range alarms (with deadband, field instead.
out-of-range or faulted input. on-delay and off-delay per alarm) • Need advanced capabilities, such as square
– Indicator graphic object with label and root extraction (for example, orifice
To keep the instruction memory and execution engineering units flowmeters), rate-of-change alarming or
footprint small, certain capabilities, used less – Faceplate with status threshold entry, and limiting, or alarming for deviation from a
frequently, are reserved for the P_AInAdv maintenance capability for substitute PV reference value. Use the P_AInAdv
Add-On Instruction. instruction.
• There are dual sensors for one process
variable, such as dual PH meters, and one or
the other sensor (or their average) is
selected. Use the P_AInDual instruction.
• There are more than two sensors for one
process variable and need to use the average
or median sensor value. Use the P_AInMulti
instruction.
Basic Analog Input (P_AIn) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_AIn (Basic Analog Input) Add-On Instruction monitors one analog
value, typically from a channel of an analog input module, and provides alarms
when the analog value exceeds user-specified thresholds (high and low). The
Analog Input instruction also provides capabilities for linear scaling of an analog
input value from raw (input) units to engineering (output) units, and entry of a
substitute Process Variable, providing handling of an out-of-range or faulted
input.
The functional diagram for the Basic Analog Add-On Instruction shows the
primary functions of scaling to engineering units and providing input alarms.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_AIn_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Table 2 - P_AIn Alarms
Alarm Name P_Alarm Name P_Gate Name Description
Fail Fail FailGate Raised when any of the following is true:
• The PV quality is bad
• The Inp_PVBad input is true
• 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 is invalid
High PV Hi HiGate Raised when the PV is above the configured High
threshold. The threshold deadband, gating, and
timing are set in configuration.
High-High PV HiHi HiHiGate Raised when the PV is above the configured High-
High threshold. The threshold deadband, gating,
and timing are set in configuration.
Low PV Lo LoGate Raised when the PV is below the configured Low
threshold. The threshold deadband, gating, and
timing are set in configuration.
Low-Low PV LoLo LoLoGate Raised when the PV is below the configured Low-
Low threshold. The threshold deadband, gating,
and timing are set in configuration.
Execution
Condition Description
EnableIn False (false rung) The P_AIn Instruction shows a status of bad quality (Sts_PVBad)
and an indication on the HMI. All alarms are cleared. Calculation
of the scaled 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).
Powerup (prescan, first scan) Any commands that are received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the Reference Manual
for the P_Alarm Instruction for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Simulation
Simulation in P_AIn disables the normal input (Inp_PV) and provides an input
on the Operator faceplate for you to enter your own input value.
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
Programming Example
This example uses the P_AIn instruction to read a temperature sensor that is also
used elsewhere in logic to control the heating element of a chamber.
The Inp_PV parameter must be connected to the value coming from the
temperature transmitter. The fault status for the associated I/O channel in the
I/O module must be connected to the bad status input, Inp_PVBad.
The output parameters Val and Sts_PVBad can then be connected to the PV and
PVFault parameters of a PIDE instruction for control.
In addition, the following strings are configured to drive the display and
faceplate:
• Cfg_Desc: Oven Temperature
• Cfg_EU: Deg C
• Cfg_Label: Oven Temp
• Cfg_Tag: TI910
The strings that are listed above are local tags that can be configured through the
HMI faceplates or in Logix Designer application by opening the Instruction
Logic of the Add-On Instruction instance and then opening the Data Monitor
on a local tag.
Analog Input Channel This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_AIChan) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_AIChan Add-On Instruction monitors one analog input channel for the
following conditions:
• Invalid configuration
• I/O module fault
• Input out of range
• Instrument reports the following conditions:
– Out of specification (uncertain)
– Function check (substitute PV entered manually)
– Maintenance required
• Channel fault
• Input not-a-number (floating point exception)
• Input stuck (unchanging)
For each condition, the Process Variable (PV) quality to report can be configured
as follows:
• Good
• Uncertain
• Bad (raises Fail alarm)
This instruction is usually associated with other instructions, with one instance
being used for each analog input of the associated instruction.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Fail Fail FailGate Raised when any of the following is true:
• The PV quality is bad
• The Inp_PVBad input is true
• 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 is invalid
None Raised when the PV is flagged as Bad, or when the
PV is flagged as Uncertain and
Cfg_FailOnUncertain is 1.
The PV can be configured to be flagged as Bad or
Uncertain for the following reasons:
• Its value has not changed for more than the
configured Stuck PV time
• It is outside the configured failure range
thresholds for more than the Out of Range on-
delay time
• It is infinite or not a number (floating point
exception)
• Module Fault input is true
• Channel Fault input is true
• Out of Specification (measurement uncertain)
input is true
• Function Check (PV substituted at device) input
is true
• Maintenance Required input is true
• There is a Configuration Error (see Sts_Err and
the Err_ bits)
TIP In P_AIChan, the ‘Fail’ alarm is set not to exist by default. If you set this
alarm to exist, be aware the P_AIChan object does not have its own display
elements. Thus, you do not have a graphic symbol with flashing border to
show and click to call up the P_AIChan faceplate. However, you can still get
to the P_AIChan faceplate easily when it raises a failure alarm in two
different ways:
• Tie the SrcQ output parameter of the P_AIChan instance to the Inp_PV
SrcQ input parameter of the downstream object and enable the
I/O failure alarm for that object. Enable navigation from the object to its
upstream Channel object. When the P_AIChan raises its Fail alarm, the
border for the downstream object blinks. Call up the faceplate for the
downstream object, then navigate from there to the P_AIChan
faceplate.
• In the FactoryTalk® Alarms and Events alarm setup, create a command
string for the P_AIChan ‘Fail’ alarm that opens the P_AIChan faceplate
with that instance's tag. Instructions for how to create the command
string are included in publication PROCES-RM002. When the
alarm occurs, open the Alarm Summary screen. Double-click the alarm
in the summary list and the P_AIChan faceplate is displayed.
Simulation
The Analog Input Channel Add-On Instruction does not have a Simulation
capability.
Execution
Condition Description
EnableIn False (false rung) Clear any received commands. Reset internal timers. Clear the Fail
alarm. Flag input quality as ‘bad’. Show alarm inhibited status. Other
parameters are left in their last state.
Powerup (prescan, first scan) Reset internal timers. Clear any received commands.
Postscan (SFC Transition) No SFC postscan logic is provided.
Programming Example
The following example provides shows the connection from raw analog input
through process value by using the P_AIChan block.
The raw input value (Local:1:I.Ch0Data) from the analog input card is used as
the raw input value (Inp_Raw) for the P_AIChan block. The output value (Val)
and quality (SrcQ) from the P_AIChan block are used as inputs for the P_AIn
block. In this configuration, the P_AIn block uses the Cfg_HasChanObj
configuration parameter. The final output process value (Feedwater_Flow) is the
fully converted, scaled, and filtered analog value that is propagated through the
system.
The P_AIChan block also uses the Channel Fault and Module Fault parameters
taken from the same analog input module as the process value. Inp_ChanFault is
simply the tag value for the channel (Local:1:I.Ch0Fault). The Inp_ModFault
parameter (Rack1Slot4ModFault) is generated by using a GSV to the module
object (with the instance for the appropriate card and then the EntryStatus
parameter). The top four bits of the EntryStatus parameter are checked to make
sure that they do not equal 2#0100_xxxx_xxxx_xxxx. The 0100 pattern indicates
that the connection is “Running”. All other values are considered faulted.
Advanced Analog Input This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_AInAdv) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Each of the advanced features can be individually selected on or off for a given PV
(instruction instance).
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_AInAdv_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Table 3 - P_AInAdv Alarms
Alarm Name P_Alarm Name P_Gate Name Description
Fail Fail FailGate Raised when the PV is outside the configured
failure limits.
None Raised when any of the following is true:
• The PV quality is bad
• The Inp_PVBad input is true
• The PV is infinite or not a number
(floating point exception)
• The raw or engineering unit range
configuration is invalid
High Deviation HiDev HiDevGate 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.
High PV Hi HiGate Raised when the PV is above the High threshold.
The threshold deadband, gating, and timing are
set in configuration.
High Rate of HiRoC HiRoCGate Absolute value of PV rate of change exceeds High
Change Rate of Change limit. Limit set by Operator.
Deadband and severity are set in configuration.
High-High PV HiHi HiHiGate Raised when the PV is above the High-High
threshold. The threshold deadband, gating, and
timing are set in configuration.
High Rate of HiRoC HiRoCGate Raised when the rate at which the PV is increasing
Change or decreasing exceeds the High-Rate of Change
threshold. The threshold deadband, gating, and
timing are set in configuration.
Low PV Lo LoGate Raised when the PV is below the Low threshold.
The threshold deadband, gating, and timing are
set in configuration.
Low Deviation LoDev LoDevGate 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 value is the amount the PV
falls below the setpoint or reference.) The
threshold deadband, gating, and timing are set in
configuration.
Low-Low PV LoLo LoLoGate Raised when the PV is below the Low-Low
threshold. The threshold deadband, gating, and
timing are set in configuration.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) The P_AInAdv instruction shows a status of bad quality
(Sts_PVBad) on the HMI. All alarms are cleared.
Calculation of the scaled input PV value is executed to
indicate to the operator the actual input value, even
though the primary PV (Val) is not updated (holds last
value).
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded.
Embedded P_Alarm instructions are handled in
accordance with their standard power-up procedure. See
the reference manuals for the P_Alarm instructions for
more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
For a generic programming example, see the Basic Analog Input (P_AIn) section.
The P_AInAdv Add-On Instruction has the following advanced features that are
not included in the generic programming example.
• Square root characterization
• Deviation display/alarms
• Rate of change display/alarms
Dual Sensor Analog Input This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_AInDual) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_AInDual (Dual Analog Input) Add-On Instruction monitors one analog
Process Variable (PV) by using two analog input signals (dual sensors, dual
transmitters, and dual-input channels).
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_AInDual_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Table 4 - P_AInDual Alarms
Alarm Name P_Alarm Name P_Gate Name Description
Difference Diff DiffGate Raised when the difference between the two input
signals exceed the configured high difference
threshold.
Fail Fail FailGate Raised when any of the following is true:
• Both PV input values are outside the configured
failure range thresholds
• Both PV input values have bad quality or are
infinite or not a number
• Selected PV is infinite or not a number (floating
point exception)
• Raw or engineering unit range configuration is
invalid
High PV Hi HiGate Raised when the PV is above the High threshold.
The threshold deadband, gating, and timing are
set in configuration.
High-High PV HiHi HiHiGate Raised when the PV is above the High-High
threshold. The threshold deadband, gating, and
timing are set in configuration.
Low PV Lo LoGate Raised when the PV is below the Low threshold.
The threshold deadband, gating, and timing are
set in configuration.
Low-Low PV LoLo LoLoGate Raised when the PV is below the Low-Low
threshold. The threshold deadband, gating, and
timing are set in configuration.
NoneGoodPV NoneGood None Raised when neither PV input has good quality.
This alarm is an indication that both PV inputs have
degraded or bad signal quality, and so the
resulting PV does not have good quality.
Only One Good OneGood None Raised when either of the two PV inputs has
PV degraded or bad quality.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) The P_AInDual instruction shows a status of bad quality
(Sts_PVBad) on the HMI. All alarms are cleared.
Calculation of the scaled input PV value is executed to
indicate to the operator the actual input value, even
though the primary PV (Val) is not updated (holds last
value).
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded.
Embedded P_Alarm instructions are handled in
accordance with their standard power-up procedure.
See the reference manuals for the P_Alarm instructions
for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
For a generic programming example, see the Basic Analog Input (P_AIn) section.
The P_AInDual Add-On Instruction has the following advanced features that
are not included in the generic programming example.
• Dual-inputs
• Alarm if difference between the two input PVs exceeds a configured limit
Multiple Analog Input This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_AInMulti) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_AInMulti_4.10.00_AOI.L5X Add-On Instruction must be imported
into the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Any Reject AnyReject None Raised when at least one input signal has been
rejected because of any of the following:
• It is outside the configured failure range.
• It is a statistical outlier per the Modified
Thompson Tau test.
• It is outside of a user-defined deviation from
the mean.
• It has its Bad quality input bit set or its Source
and Quality input indicates it has Bad quality.
• It has a floating point value that is infinite or
not a number (floating point exception).
Fail Fail FailGate Raised when any of the following is true:
• Number of unrejected PVs is less than the
configured required number of good PVs
• Calculated PV is infinite or not a number
(floating-point exception)
• Raw or engineering unit range configuration is
invalid
A PV can be rejected if:
• It is set to not be used (by Maintenance)
• It is outside the configured failure range
thresholds
• It is infinite or not a number (floating point
exception)
• It has Bad quality
• It has Uncertain quality and
Cfg_RejectUncertain is true
• It is an outlier, either because its deviation is
outside the configured threshold from the
mean or its deviation from the mean exceeds
the Modified Thompson Tau statistical test
High PV Hi HiGate Raised when the PV is above the High threshold.
The threshold deadband, gating, and timing are
set in configuration.
High-High PV HiHi HiHiGate Raised when the PV is above the High-High
threshold. The threshold deadband, gating, and
timing are set in configuration.
Low PV Lo LoGate Raised when the PV is below the Low threshold.
The threshold deadband, gating, and timing are
set in configuration.
Low-Low PV LoLo LoLoGate Raised when the PV is below the Low-Low
threshold. The threshold deadband, gating, and
timing are set in configuration.
Minimum Good MinGood None Raised when at least one input signal has been
rejected, and the remaining unrejected signals are
the minimum number configured as required for a
good PV. This status/alarm is to warn you that the
next input failure results in a Bad PV quality.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) The P_AInMulti instruction shows a status of Bad
Quality (Sts_PVBad) on the HMI. All alarms are cleared.
Calculation of the scaled input PV value is executed to
indicate to the operator the actual input value, even
though the primary PV (value) is not updated (holds last
value).
Powerup (prescan, first scan) Any commands received before first scan are discarded.
Embedded P_Alarm instructions are handled in
accordance with their standard power-up procedure.
See the reference manuals for the P_Alarm instructions
for more information.
Postscan No SFC postscan logic is provided.
Programming Example
This example uses the P_AInMulti instruction to average multiple sensors for a
single PV.
In this example, there is an oven with four temperature sensors (A, B, C, D). The
average of these temperature sensors is used elsewhere in logic to control the
heating element of the chamber.
The Inp_PVA, Inp_PVB, Inp_PVC, and Inp_PVD parameters (in the Function
Block example above) are connected to the values that is coming from the four
temperature transmitters. The fault status of each of these sensors is tied to the
bad status input of P_AInMulti (for example, Inp_PVABad).
The output parameters Val and Sts_PVBad could then be connected to the PV
and PVFault parameters of a PIDE instruction for control.
This Ladder Logic diagram shows the P_AInMulti instruction in the same
example with multiple temperature sensors (inputs A, B, C, D).
Discrete Input Object This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_DIn) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_DIn (Discrete Input) Add-On Instruction is used to receive and process a
single discrete condition (the Process Variable or PV), typically for a channel of a
discrete input card. It can be used with any discrete (BOOL) signal.
Functional Description
• Target Disagree status and optional alarm based on comparing the input
state against a target (good) state. The Target Disagree status is enabled by
a gating input signal with a configurable gate delay. The Target Disagree
status and Alarm On-Delay and Off-Delay are configurable.
• Handle an I/O fault input by displaying the communication fault to
the operator and raising an I/O fault alarm.
• Selection and entry of a manual (substitute) PV. This manual override is
made clearly visible to the operator.
• Support for a simulated PV for use in instruction testing, demonstration,
or operator training.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_DIn_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Target Disagree TgtDisagree TgtDisagreeGate Raised when the Input PV is not in the same state
as the Target (Inp_Target). Gating, and timing are
set in configuration.
I/O Fault IOFault - Raised when the I/O Fault input (Inp_IOFault) is
true.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as the main logic routine except that the state of
Inp_PV is inverted. This process allows the P_DIn Add-
On Instruction in a ladder diagram instance to have its
input mapped by using an XIC of the input on the rung
with the P_DIn instruction instead of using a separate
branch or rung to map the input. Inp_PV is set to 1 (or 0
as appropriate) when using the on-rung mapping.
Powerup (prescan, first scan) The P_DIn Add-On Instruction uses standard TON timers
for status On-delay, Off-delay, and Gate Timing, which
reset on Powerup or prescan. As a result, the status
initiates as if the Gate input had been changed from 0 to
1.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
Finally, P50_HighVibr is the output tag that will indicate the status of
I_VHS_P50 with appropriate gate delays based on whether the motor is running.
The P_DIn instruction can be used in a ladder diagram routine with the input
condition carried by the Rung-In condition instead of being mapped on a
separate branch.
The Rung-In condition determines whether the normal code ('Logic' Routine)
for the Add-On Instruction is executed or its EnableIn False code
('EnableInFalse' Routine) is executed.
In the P_DIn instruction, the EnableIn False code is identical to the Logic code,
except it uses the inverse of the Inp_PV signal for processing. To use the Rung-In
mapping, method, set Inp_PV to 1 (its default value). When the rung is TRUE,
Inp_PV (= 1) is treated as TRUE (not inverted), and when the rung is FALSE,
Inp_PV (= 1) is treated as FALSE (inverted).
Discrete Input Object This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Advanced (P_DInAdv) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_DInAdv_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Speed Switch
The speed switch setting allows the use of static or dynamic (pulsed) IO to
achieve the Speed Switch functionality. For static IO, a selector button allows the
use of a transition from 0 to 1 or a transition from 1 to 0 to be used for detection
of the "at speed" state of the motor.
A dynamic input may be selected as the signal type to be used for detecting the "at
speed" state of the motor. The duty cycle of the pulses does not have to be equal,
satisfactory results have been obtained with a duty cycle of 10 / 90 % for a time
period of 200ms on a L7 or later CPU.
P_DInAdv has two TargetDisagree indications which may be used for a Warning
and Failure indication. The Warning is triggered first and is always followed by
the Fail indication. Both the Warning and Fail indications are independently
configured with delay timers and also configured with or without alarming
according to individual alarm severity. This feature is useful in cases where the
operator is granted a period to react following a warming before an outright
failure is reported.
P_DInAdv can display the state of the equipment being monitored. Time in
seconds for the various states are configured on the faceplate. The state is
determined by monitoring the IO transitions. It is important to note that the
state will be reported for the entire duration of the set time. State of
"Accelerating" and "Decelerating" will be active for the selected time. During
normal operation the state will change from Stop to "Accelerating" to "Run" to
"Decelerating" and back to "Stop". The set times are only applicable to
"Accelerating" and "Decelerating".
Speed Feedback
If the Warning & Fail indication is selected with the Speed Switch functionality,
and the equipment is observed for an at speed condition which is powered by a
VSD, the delay times may be adjusted according the VSD speed feedback. A
slower speed will have a longer delay before the Warning and Failure is indicated.
A higher speed will have delay times closer to the base times entered for the
Warning and Fail indication. To adjust the threshold between the low speed and
higher speed, the drive low speed threshold may be used as a percentage of
maximum speed out of a 100%.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Target Disagree TgtDisagreeW TgtDisagreeWarnGate Raised when any of the following is true:
• The Input PV is not in the same state as
the Target (Inp_Target)
Target Disagree TgtDisagree TgtDisagreeGate Raised when the Input PV is not in the same state
as the Target (Inp_Target). Gating, and timing are
set in configuration.
I/O Fault IOFault - Raised when the I/O Fault input (Inp_IOFault) is
true.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Programming Example
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as the main logic routine except that the state of
Inp_PV is inverted. This process allows the P_DIn Add-
On Instruction in a ladder diagram instance to have its
input mapped by using an XIC of the input on the rung
with the P_DIn instruction instead of using a separate
branch or rung to map the input. Inp_PV is set to 1 (or 0
as appropriate) when using the on-rung mapping.
Powerup (prescan, first scan) The P_DIn Add-On Instruction uses standard TON timers
for status On-delay, Off-delay, and Gate Timing, on
Powerup or prescan. As a result, the status initiates as if
the Gate input had been changed from 0 to 1.
Postscan (SFC transition) No SFC postscan logic is provided.
Discrete Output (P_DOut) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_DOut_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Table 5 - P_PDOut Alarms
Alarm Name P_Alarm Name P_Gate Name Description
Interlock Trip IntlkTrip None 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This
input is 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 is commanded Off and cannot be
commanded to another state until reset.
Off Fail OffFail None 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_OffFailT).
On Fail OnFail None 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_OnFailT). If the failure is configured as a shed
fault, the device is commanded Off and cannot be
commanded On until reset.
Simulation
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
You can use Cfg_SimFdbkT to delay the echo of the On/Off status of the device.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the device were taken out of service by
Command. The device outputs are de-energized and the
device is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) On Prescan, any Commands received before First Scan is
discarded. The device is de-energized. On first scan, the
device is treated as if it were returning from Hand
command source: the instruction state is set based on
the feedback received from the device.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the P_CmdSrc and P-Alarm reference
manuals for details.
Postscan No SFC Postscan logic is provided.
Programming Example
This example uses the P_DOut 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.
In this example, 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. If the
operating status of the sequence is not OK, always command the vent filter off.
In this example, the controlling sequence issues commands to set the desired state
of the vent filter heater. The parameter PCmd_On is triggered to command the
vent filter heater on, and the parameter PCmd_Off is triggered to command the
vent filter heater off.
Lastly, configure the following local configuration tags to drive the text on the
HMI faceplate. In this example, the vent filter P&ID tag is JV9010. In this
example, they are set as follows:
Cfg_Tag: ‘JV9010’
Cfg_Label: ‘Vent Filter Heater’
Cfg_Desc: ‘Vent Filter Heater Jacket’
Cfg_St0Text: ‘Off ’
Cfg_St1Text: ‘On’
Local tags can be configured through the HMI faceplates or in Logix Designer
application by opening the Instruction Logic of the Add-On Instruction instance
and then selecting the string on the displayed rung.
The strings in local tags are shown on the first rung of the Add-On Instruction's
Logic routine for your convenience.
Analog Output (P_AOut) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware software. An Add-On
Instruction is defined once in each controller project, and can be instantiated
multiple times in your application code as needed.
Controller File
The P_AOut_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Interlock Trip IntlkTrip None 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’ condition
initiates an interlock trip. If interlocks are bypassed,
only a non-bypassable interlock ’not OK’ condition
initiates an interlock trip.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input
is 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 output CV
is set to the configured Interlock CV or held at its last
value until reset.
Simulation
Simulation in P_AOut simulates the requested CV, sets the Out_CV output to 0,
and ignores any I/O Faults.
You must set the Inp_Sim parameter in the controller to ‘1’ to enable simulation.
The Simulation icon is displayed at the top left of the Operator faceplate
indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (False Rung) is handled the same as if the Analog
Output were taken out of service by command. The CV output is de-energized
(zeroed) and the Analog Output instruction is shown as Program Out of Service on
the HMI.
Powerup (prescan, first scan) Processing of modes and alarms on prescan and powerup is handled by the
embedded P_CmdSrc and P_Alarm instructions. See their manuals
for details.
On powerup, the analog output control is cleared; otherwise, all data remains in
the state it was in at power down.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
This example also includes interlock conditions using a P_Intlk block. The
interlock conditions include upstream Group (G40) interlocks, plus low-low
level and high-high temperature. The outputs of the interlock block are used as
inputs by P_AOut to set the valve (Out_CV=O_HV_55) to an interlock
position (for example, closed). This is done by setting the P_AOut configuration
parameter Cfg_IntlkCV to 0.
Pressure/Temp. This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Compensated Flow to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
(P_PTComp) Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware software. An Add-On
Instruction is defined once in each controller project, and can be instantiated
multiple times in your application code as needed.
Controller File
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
To provide High-High, High, Low, and/or Low-Low threshold alarms for any of
the variables, use a P_AIn Analog Input instruction for each such variable. These
variables include volumetric flow or differential pressure, temperature, pressure,
or the calculated Flow at Standard Conditions.
Simulation
Execution
Condition Description
EnableIn False (false rung) No EnableInFalse logic is provided. The Instruction
maintains its last state when EnableIn is false.
Powerup (prescan, first scan) No Pre-scan or First Scan logic is provided. The
P_PTComp instruction simply performs its calculation
every scan when EnableIn is true.
Postscan No SFC Postscan logic is provided.
Programming Example
This example uses the P_PTComp 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.
flow is measured. In this example, the desired standard pressure and flow is
0 psig and 15 °C.
The measured temperature, pressure, and flow are connected into the
P_PTComp instruction to the inputs Inp_T_Act, Inp_P_Act, and Inp_F_Act.
In this example, these values are in units of degrees C, psig, and m3/hr.
Set Cfg_T_Std and Cfg_P_Std to 15 and 0, respectively, for the desired standard
temperature and pressure. Cfg_T_Offset is left at its default of 273.15 to
represent 0 °C in absolute units K (if using Fahrenheit, set this to 459.67 °F).
Cfg_P_Offset is left at its default of 14.696 defining the value of 0 psi gauge
pressure in absolute pressure. Cfg_UseDP is left at its default of 0, indicating we
are using Inp_F_Act as the flow input as the flow transmitter is providing flow in
volumetric units.
The local configuration tags Cfg_Desc, Cfg_Label, and Cfg_Tag are not
required to be set. The P_PTComp instruction does not include visualization
elements (global objects or faceplates). However, these string parameters are
provided for use in custom visualization elements if desired.
Tank Strapping Table This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_StrapTbl) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
This instruction also can optionally compensate for a floating tank roof if the
product density is provided.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware software. An Add-On
Instruction is defined once in each controller project, and can be instantiated
multiple times in your application code as needed.
Controller File
Operations
The P_StrapTbl Add-On Instruction uses tank calibration data and a tank level
measurement to calculate tank volume. Tank calibration data can be obtained
from the tank manufacturer or design firm, or determined through calibration.
Example calibration methods are provided by the American Petroleum Institute's
This instruction performs its calculations by using the same methods described in
API MPMS Section 12.1 Part 1. The instruction calculates the following items:
• Total Observed Volume (TOV)
• Free Water Volume (FW)
• Correction for Temperature of Tank Shell (CTSh)
• Floating Roof Adjustment (FRA)
• Gross Observed Volume (GOV, the primary output of this instruction)
All calculations require the overall level input and the tank calibration table
(‘strapping table’). The FW calculation is a specific requirement when calculating
petroleum storage to adjust for free water content and requires an additional level
signal for the product/water interface.
The CTSh calculation compensates for thermal expansion of the storage tank. If
used, this calculation requires these measurements and configuration settings:
• Product temperature and the ambient temperature
• Configuration of the tank shell coefficient of linear expansion (fraction
per degree)
• Calibration temperature for the tank calibration table
• Configuration constant for weighting the two measured temperatures
(a reasonable default is provided)
The final GOV calculation is provided without correction for product density
and temperature (other than the shell temperature above) or included sediment
and water. Those calculations depend on the product,
not just the tank calibration table, and are beyond the scope of this instruction.
Alarms
The P_StrapTbl Add-On Instruction only performs calculations and does not
have any alarms. The instruction does not contain an embedded
P_Alarm instruction.
To provide High-High, High, Low, and/or Low-Low threshold alarms for the
input or output of P_StrapTbl, use the P_AIn Analog Input instruction.
Simulation
Execution
Condition Description
EnableIn False (false rung) No EnableInFalse logic is provided. The instruction
maintains its last state when EnableIn is false.
Powerup (prescan, first scan) No Pre-scan or First Scan logic is provided. The
P_StrapTbl instruction simply performs its calculation
every scan when EnableIn is true.
Postscan No SFC Postscan logic is provided.
Programming Example
This example uses the P_StrapTbl instruction to calculate the volume of product
in a storage tank based on the measured storage tank level and storage tank
strapping table information. In this example, there is no floating roof so there is
no compensation for displacement. There are no adjustments based on
temperature to account for thermal expansion of the tank.
The measured storage tank level is connected into the P_StrapTbl instruction by
using the input Inp_Level. In this example, the level is reported in units of feet.
The storage tank is a 4 ft tall tank, and strapping table information has been
provided by the tank vendor. Strapping tables often list data in terms of major
and minor units. In this example, data has been provided at 6-in increments. The
vendor-provided strapping table has nine rows and looks like the following table.
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
The local configuration tags Cfg_Desc, Cfg_Label, and Cfg_Tag are not
required to be set. The P_StrapTbl instruction does not include visualization
elements (global objects or faceplates). However, these string parameters are
provided for use in custom visualization elements, if desired.
HART Analog Input All relevant information has been place in publication PROCES-RM010,
Rockwell Automation Library of Process Objects: HART Modules for PlantPAx
(P_AInHART) DCS.
HART Analog Output All relevant information has been place in publication PROCES-RM010,
Rockwell Automation Library of Process Objects: HART Modules for PlantPAx
(P_AOutHART) DCS.
Purpose This chapter is for the operation of the Add-on Instructions. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Table 7 describes the objects in this group, including when to use and not to use
each one.
Table 7 - Regulatory Control
Process Object Description When to Use When Not to Use
Proportional + This instruction provides the functionality of the • Provides additional context for display,
Integral +Derivative PIDE built-in instruction for PID loop control and including a description, label, tag, and
Enhanced (P_PIDE) additional alarm status information. engineering units.
Use this instruction when you plan to use the • Provides P_CmdSrc (command source) object
PIDE for loop control and provide visualization to for control.
the operator. • Links for the P_Intlk (interlocks) instruction
for interlocking.
• Power-up Setpoint, Output, and Loop mode
settings.
Analog Fanout This instruction fans one 'primary' analog output • To fan the output of a PID loop, or a P_AOut • Have only one output device. Use the P_AOut
(P_Fanout) signal out to multiple 'secondary' users or (Analog Output) Add-On Instruction used as instruction or other output instruction
devices. Each secondary output has configurable a manual loading station, to multiple valves, instead. The P_Fanout capabilities are
gain, offset, and clamping limits. drives, or other devices. targeted to control strategies where there is a
The instruction applies minimum and maximum • You have 2…8 devices that are driven by the need to have one loop or station drive
clamping limits to each output (secondary) CV. loop or output. multiple devices.
• You have valves, drives, or other output • Have multiple PID loops and one output
devices that react over different ranges of the device that uses the highest or lowest of the
PID or P_AOut output, such as a 'Split-Range' PID loop outputs (high-select or low-select
control strategy. strategy). Use the ESEL built-in instruction,
• You want to initialize the primary output the P_HiLoSel instruction, or other
signal when all secondaries are requesting high-select/low-select logic.
initialization.
Proportional + Integral This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
+Derivative Enhanced to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
(P_PIDE) Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The primary operations of the P_PIDE Add-On Instructions and its faceplate
include the following:
• All the functions of the PIDE built-in instruction for PID loop control
• Process Library alarm objects for deviation alarms, and additional alarm
status information and functionality, including limits, deadbands,
and severities
• Additional context for display, including a description, label, tag, and
engineering units
• P_CmdSrc (command source) object for control
• Links for the P_Intlk (interlocks) instruction for interlocking
• Power-up Setpoint, Output, and Loop mode settings
• Setpoint ramping over a specified time.
Autotune
You must have a license to edit the autotune tag entry field on the PIDE
instruction. Complete these steps to enable the functionality.
Once this change has been made, the outer P_PIDE instruction automatically
checks on power-up for response from the Autotune function. The Autotune
button is automatically enabled on the faceplate.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_PIDE_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Simulation
Execution
Condition Description
EnableIn False (false rung) The instruction command source is shown as Program Out of Service.
The loop status is shown as disabled. The loop CV is set to the configured
interlock CV value.
Powerup (prescan, first scan) Received commands are cleared. The loop is initialized with the powerup
Loop mode, CV, and SP.
Postscan (SFC Transition) No SFC postscan logic is provided.
Programming Example
The output of the P_PIDE block (Out_CV) is used as the input to the P_VSD
block (PSet_SpeedRef ). The P_VSD output Sts_Available is True when the
drive is available to be controlled by the program. When this value is False (the
drive is not in program mode), the P_PIDE input Inp_UseCVInitVal is set to
True, forcing the P_PIDE block to initialize its CV value to Inp_CVInitVal.
Analog Fanout (P_Fanout) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The Analog Fanout (P_Fanout) Add-On Instruction fans one 'primary' analog
output signal out to multiple 'secondary' users or devices. Each secondary output
has configurable gain, offset, and clamping limits.
Functional Description
The Analog Fanout instruction provides the following capabilities:
• Receives an input CV (controlled variable) 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 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 by using a configured
‘Takeup’ Rate.
TIP If you are using the P_Fanout Add-On Instruction in a split-range strategy
(its default configuration), use CV1 for the 'safe' part of the range (for
example, a chilled water valve) and CV2 for the 'unsafe' part of the range
(for example, a steam valve). If both CV1 and CV2 request initialization, the
loop (primary) is initialized based on the requested value from CV1 and set
to a value in the cooling range.
For example, a P_Fanout Add-On Instruction is configured to use input
range 0…50% as 100…0% open on the cooling valve on CV1, and input
range 50…100% as 0…100% on the heating valve on CV2. If both valves
request initialization, the P_Fanout Add-On Instruction uses the CV1
initialization value and requests the primary to initialize in the 0…50%
range, the cooling side.
If the heating valve is used as CV1, the initialization is always in the heating
range of the primary CV. In many split-range applications, it is a
requirement to initialize or fail in the cooling range (for example, 0…50%
output, for 100…0% cooling and always 0% heating).
The default configuration of the P_Fanout instruction provides this cooling
(CV1) and heating (CV2) setup, with CV3…CV8 not used.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Fanout_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_Fanout instruction does not provide any alarms. The instruction does
provide Status bits that identify if the input CV or any particular output CV is
being limited. The instruction also prides Status bits if any input value (input CV
or any of the individual CV initialization values) is Infinite (Inf ) or Not a
Number (NaN).
Simulation
Execution
Condition Description
EnableIn False (false rung) The instruction is kept in its last state.
Powerup (prescan, first scan) The CV Rate limiter is set to initialize at the first valid CV
received.
Postscan No SFC Postscan logic is provided.
Programming Example
This example uses the P_Fanout instruction to implement a split range PID
control strategy to control temperature of a processing vessel. In this example, the
heat exchanger to the vessel jacket is fed by either a steam valve to heat or a glycol
valve to cool. A single PID controller is used to control temperature. It is assumed
that the relative process gain between each valve and the temperature is the same.
To connect the PIDE instruction to the P_Fanout instruction, the PIDE output
(CVEU) is connected to the input (Inp_CV) of P_Fanout. P_Fanout outputs
Out_CVInitVal and Out_CVInitReq are connected to PIDE inputs CVInitReq
and CVInitValue to be sure of proper initialization of the PIDE loop if there are
issues with either valve.
To properly scale the two outputs, the scaling configuration values are set as
follows:
Cfg_CV1Ratio: -2.04
Cfg_CV1Offset: 100
Cfg_CV1Min: 0
Cfg_CV1Max: 100
Cfg_CV2Ratio: 2.04
Cfg_CV2Offset: -103
Cfg_CV2Min: 0
Cfg_CV2Max: 100
These values cause a 50% output on the vessel temperature controller to
command both the glycol and the steam valve closed (0%). As the PIDE output
approaches 0%, the glycol valve opens (approach 100%). As the PIDE output
approaches 100%, the steam valve opens (approach 100%). These settings create
a little deadband around 50% where neither valve opens to prevent chattering
between glycol and steam to prevent excessive wear on the heat exchanger.
P_Fanout outputs Out_CV1 and Out_CV2 are connected to the outputs to the
glycol and steam valves. Valve status information is brought in through inputs
Inp_CV1InitReq and Inp_CV2InitReq to be sure that the control loop
initializes if there is a problem with a valve. Based on the settings above,
initialization commands both valves closed.
Lastly, the following local configuration tags are configured to drive the text on
the HMI global object and faceplate. In this example, they are set as follows:
Cfg_Tag: TY0921
Cfg_Label: Vessel 0900 Split Range
Cfg_Desc: Vessel Split Range Calculation
Cfg_CV1_Label: Glycol Valve
Cfg_CV2_Label: Steam Valve
Cfg_CV1_EU: %
Cfg_CV2_EU: %
High or Low Selector This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_HiLoSel) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
This instruction sets its output to the lowest or highest of the incoming CVs. For
example, three PID controls feed a P_HiLoSel instruction that is configured to
select the lowest of the three PID outputs as the speed reference for a drive. In
normal operation, the discharge pressure PID has control, and the other PIDs
track the output of the discharge pressure loop. When motor current exceeds its
setpoint, or if suction pressure falls below its setpoint, the constraint being
exceeded takes control to help prevent motor overcurrent or pump cavitation.
The P_HiLoSel (High or Low Selector Add-On Instruction) selects the lowest
of the (up to 6) incoming CVs (if Cfg_HiLoSel = 0), or the highest of the
incoming CVs (if Cfg_HiLoSel =1) and outputs it (Out_CV).
The tracking value can optionally be offset by an amount equal to the upstream
PID/PIDE Gain * Error to avoid problems with ever-decreasing (if Low-Select)
or ever-increasing (if High-Select) output.
IMPORTANT Each CV input must come from the PIDE 'CV' (in percent); each proportional
gain input must come from the PIDE 'PGain' parameter; and each error input
must come from the PIDE 'EPercent' parameter.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_HiLoSel_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction does not generate any alarms. Alarms are provided by upstream
(P_PIDE) and downstream (P_ValveC, P_VSD, P_AOut) instructions as
necessary.
Simulation
Execution
Condition Description
EnableIn False (false rung) No enableInfalse logic is provided. If scanned in a Ladder or
Function Block routine with the EnableIn input false, all values
are held in their last states.
Powerup (prescan, first scan) No prescan logic is provided.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
The following example shows the P_HiLoSel in function block context and
implements part of a pressure control strategy. In this case, two P_PIDE
instructions are used as inputs for P_HiLoSel. The PIDE instructions are for
Suction Pressure Override Control and Discharge Pressure Control. The
P_PIDE output values Out_CV (CV to final control element) and Val_E (Loop
Error) are used as inputs to P_HiLoSel.
This example also shows P_HiLoSel inputs for Initial Value (Inp_CVInitVal)
and Initialization Required (Inp_CVInitReq). In this case, the Initial Value is
taken from the speed reference to the pump motor drive. The Initialization
Required flag is set based on the motor’s running and availability status.
Deadband Controller This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_DBC) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_DBC instruction provides the following capabilities:
• A Raise output, which is activated when the PV is less than the entered
Raise threshold.
• 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.
• 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 control algorithm triggers the outputs to keep the PV within
limits. In Manual Loop Mode, the operator directly manipulates the Raise
and Lower outputs from the HMI.
• Operation from Operator, Program, External, Override, and Maintenance
command sources.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. The objects let you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_DBC_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
The image shows the reactions of the instruction to the value of PV as it increases
or decreases.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
High Deviation HiDev HiDevGate 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.
High Rate of HiRoCDec HiRoCDesGate PV rate of change that exceeds the High Rate of
Change Change limit decreasing. Threshold, deadband,
(Decreasing) and severity are set in configuration.
High Rate of HiRoCInc HiRoCIncGate PV rate of change that exceeds the High Rate of
Change Change limit increasing. Threshold, deadband, and
(Increasing) severity are set in configuration.
Low Deviation LoDev LoDevGate 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.
Simulation
Execution
Condition Description
EnableIn False (false rung) The loop outputs are de-energized. The command
source is shown as Program Out of Service. All alarms are
cleared.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded. The loop outputs are de-energized.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the Reference Manuals for the
P_CmdSrc and P_Alarm instructions for details.
Postscan (SFC transition) No SFC postscan logic is provided.
Sequencer Object (P_Seq) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The 32 Boolean outputs are used to assert commands to devices. The 32 Real
outputs are used to set setpoints or references. Each output (Boolean or Real) can
be used optionally in each step, and each output is explicitly defined even if it’s
not used in a step.
The 32 inputs are used to monitor Boolean signals from devices or logic to
determine when a desired state or combination of states have been achieved.
When the desired state or combination of states has been achieved, this signals
the end of the step.
In operation, when a step is executed, the output values are presented at the
Sequencer instruction outputs before the first check of the input conditions. In
this way, the output values for each step are present for at least one scan of the
Sequencer.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Seq_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operator Prompt
The P_Prompt instruction can be used with the Sequencer to perform manual
prompt operations, such as operator messaging, entering values, or decision-
making in the flow of steps.
IMPORTANT See Operator Prompt (P_Prompt) on page 363 for the P_Prompt
instruction.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
Alarm Name P_Alarm Name P_Gate Name Description
Interlock Trip IntlkTrip None Raised when an interlock 'not OK' condition causes
the sequence to perform its configured interlock
action. The sequence can:
• Command the sequence to Stop
• Hold at the current step
• Transfer control back to the last step configured
as an Interlock Fallback Step
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.
Sequence SeqTO None Raised when the amount of time in the current
Timeout sequence exceeds the step timeout configuration
for that step (Cfg_SeqTO).
Step Timeout StepTO None Raised when the amount of time in the current
step of the sequence exceeds the step timeout
configuration for that step
(Ref_Steps[stepnumber].Cfg_FaultT).
Simulation
Execution
Condition Description
EnableIn False (false rung) Command source is set to Program Out of Service. Outputs are left in
their last state, and are not being written. Received commands are
ignored and cleared.
Powerup (prescan, first scan) Sequencer is flagged to initialize on first scan. On first scan, the
sequence is set to the Idle state and the edit pointer (for online sequence
editing HMI displays) is set to step 1 of the sequence.
Postscan (SFC Transition) No SFC postscan logic is provided.
Dosing (P_Dose) This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Dose_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Equipment Fault EqpFault None 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.
Over Tolerance OverTol None Raised when the tolerance check is performed and
the quantity that is delivered exceeds the setpoint
by more than the High Tolerance threshold.
Simulation
Set the Inp_Sim parameter in the controller to ‘1’ to enable simulation. The
Simulation icon is displayed at the top left of the Operator faceplate, and
indicates that the device is in simulation.
While in simulation, you can use the following parameters to control how the
flow is simulated:
• Cfg_SimRate – the full rate to be used for delivery (in flow units/rate
time)
• Cfg_SimDribbleRate – the rate to be used for dribble (in flow units/rate
time)
When you have finished simulation, clear the Inp_Sim parameter to 0 to return
to normal operation.
Execution
Condition Description
EnableIn False (false rung) 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.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded.
Embedded P_Alarm instructions are handled in
accordance with their standard powerup procedures. See
the reference manual for the P_Alarm instructions for
more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
This example uses a flow measuring element, such as an orifice plate, that
provides a differential pressure (DP) based on flow. A basic differential pressure
transmitter provides the DP signal to the controller.
• The P_AInAdv instruction is configured to convert the DP signal to a
flow, using the advanced analog input's square root characterization feature
(Cfg_UseSqRt = 1).
• The flow signal is tied to the Inp_RatePV input of the P_Dose block. The
dosing block is configured to integrate the flow rate signal to accumulate
the quantity transferred (Cfg_CalcQty = 1).
• Configure the analog input to filter the signal slightly
(Cfg_FiltTC = 0.1 sec) to account for signal noise.
• The dosing block low flow cutoff is set to 0.05 GPM
(Cfg_LoRateCutoff = 0.05) to alleviate any calibration anomalies.
Lead/Lag/Standby Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Group (P_LLS) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_LLS (Lead Lag Standby motor group) Add-On Instruction provides
control of a parallel group of motors. Such groups are commonly used for a group
of pumps that maintain pressure on a header despite wide changes in demand,
such as in municipal-scale or plant-scale water distribution.
Functional Description
This instruction controls a group of motors, such as a set of pumps with common
intake source and discharge destination. The number of motors to run depends
on the demand on the system. The P_LLS group can be configured to consist of
2...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. (In this case, if the demand were as high as the number of
pumps in the group, there would be no 'standby' pumps.)
The P_LLS 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
command source), the motor is forced to the top of the sort. If a motor is stopped
and not available (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.
EXAMPLE Two motors in a group of four are stopped and not available. The P_LLS
instruction raises a 'can’t start' alarm when the demand reaches three
because there are only two motors available to run.
Configuration data for the motor are also provided in the array. This data
includes Priority and Preference values that can be used to affect the sorting of
the motors.
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_LLS_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
The following images show an example of the ladder logic for transferring
commands and motor status for one motor. Three steps are shown:
• Forward commands to the motor from P_LLS.
• Execute the motor logic.
• Return motor status back to P_LLS.
Each of the three steps is shown on its own rung, if desired, all three steps can be
in one branched rung.
In the following diagram, the process for forwarding each of the commands
(PCmd_Acq, PCmd_Rel, PCmd_Start, and PCmd_Stop) is:
• The appropriate bit in the interface is tested to see if it set.
If the bit is set, the bit is cleared and the corresponding program command on the
motor is set.
TIP The interface for the first motor in the group is element [0] of the interface
array tag.
The motor logic uses the program commands to control the physical motor. The
motor logic also receives feedback from the motor.
The status (available, stopped, starting, running, and stopping) is read from the
motor and written to the interface.
Operations
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Can’t Start CantStart None Raised when there are not enough motors
available to start to satisfy the entered Demand.
Too many motors are faulted or stopped in a
command source other than Program.
Can’t Stop CantStop None Raised when there are not enough motors
available to stop to satisfy the entered Demand.
Too many motors are running in a command source
other than Program.
Interlock Trip IntlkTrip None Raised when the motor group is running and an
interlock 'not OK' condition causes the group 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.
Simulation
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the group were taken out of service by
Command. The group outputs are de-energized and the
group is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) Any commands received before first scan are discarded.
The motor is de-energized and treated as if it were
commanded to stop.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the Reference Manuals for the
P_CmdSrc and P_Alarm instructions for details.
Postscan (SFC transition) No SFC postscan logic is provided.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UP TO 31 PUMP VALUES! ... equals ... 1 1 1 1 0
Status Value Configured Pump Priority User-Input Select Value (e.g., function of run time) Configured Pump Preference Current Position value Pump Pointer
1 1 0 1 0 1 1 0 1 0 1 1 0 1 0
1 1 0 0 0 1 1 0 0 0 1 1 0 0 0
. . .
To allow lower bits to come into sort, set . To allow lower bits to come into sort, set . . These bits give pumps a tendency
all priorities to the same valve (zero) all preferences to the same valve (zero) to stay in their current positions
. . .
KEY CONCEPT: The list of pumps is sorted (by descending numeric value, based on
signed integer bit pattern) to determine Lead / Lag / 2nd Lag ... order.
Regulatory and Procedural Control
109
Chapter 2
Chapter 2 Regulatory and Procedural Control
To determine the order in which the motors (pumps) are started, signed integer
bit patterns for each motor are sorted by numeric value. The following list is the
order in which the bit patterns are evaluated when sorting:
• Out-of-service bit
• Status value
• Priority value
• User-input value
• Preference value
• Current position value
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 more than one motor is 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.
If all motors have the same value, these bits do not affect the sort; the next set of
bits becomes the determining factor in the sort.
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 becomes the determining factor in the sort.
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.
If all motors have the same value, these bits do not affect the sort; the next set of
bits becomes the determining factor in the sort.
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 field 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 becomes the determining factor in the sort.
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
P_LLS 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.
Notes:
Motors
Purpose This chapter is for the operation of the Add-on Instructions. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The Process Objects in this group provide control and monitoring for smart
motor controllers, drives, and overload relays. Table 10 describes the objects in
this group, including when to use and not to use each one.
Table 10 - Motors
Process Object Description When to Use When Not to Use
Single-speed Motor This instruction controls a non-reversing, • Want to control a single-speed (running or • Want to control a two-speed (fast/slow/
(P_Motor) single-speed motor and monitors for fault stopped) motor. stopped) motor. Use the P_Motor2Spd
conditions. • Motor can use a full voltage starter (FVNR), a Two-speed Motor instruction instead.
The motor can use a full voltage starter (FVNR), soft starter, or other motor protective • Want to control a reversing (forward/
a soft starter, or other motor protective equipment. stopped/reverse) motor. Use the P_MotorRev
equipment, and can optionally provide run • Can optionally provide run feedback. Reversing Motor instruction instead.
feedback. The P_Motor instruction includes • Want to control a motor with continuously
faceplates and graphic symbols for operator variable speed. Use the P_VSD
display and manipulation. The instruction Variable-speed Drive instruction instead.
provides alarms for several fault conditions. • Want to control a motor that is part of a valve
The instruction also provides run feedback and a actuator. Use the P_ValveMO
display of actual motor status. Motor-operated Valve instruction instead.
• Monitor, and optionally trip, a locally
operated (hand-operated) motor. The motor
can be single-speed, two speed, or reversing.
Use the P_MotorHO Hand-operated Motor
instruction instead.
Two-speed Motor This instruction controls a non-reversing, • Use this instruction when you operate a two- • Operating a single-speed motor (running/
(P_Motor2Spd) two-speed motor (fast/slow/stopped) and speed motor that runs in one direction. stopped only). Use the P_Motor
monitors for fault conditions. • Supports motors that have three controlled Single-Speed Motor instruction instead.
The motor can optionally have run feedback states: running fast, running slow, and • Operating a continuously variable speed
that, if available, is used to confirm that the stopped. motor, such as one wired to a variable-
motor is running at the commanded speed, and • Motor can optionally have run feedback that frequency AC drive or variable-speed DC
alarm if not. is used to confirm that the motor is running drive. Use the P_VSD Variable Speed Drive
The instruction also does the following: at the commanded speed. Prompts an alarm instruction instead.
• Detects failure of the motor to start or stop if not at the commanded speed. • Operating a simple reversing motor (forward,
and generates appropriate alarms. reverse, and stopped only). Use the
• Provides for simulation of a working motor P_MotorRev Reversing Motor instruction
that disables outputs, for use in off-process instead.
training, testing, or simulation. • Monitoring, and optionally tripping, a locally
operated (hand-operated) motor. The motor
can be single-speed, two speed, or reversing.
Use the P_MotorHO Hand-operated Motor
instruction instead.
Table 10 - Motors
Process Object Description When to Use When Not to Use
Reversing Motor This instruction controls a reversing motor • Use this instruction when you operate a • Operating a single-speed non-reversing
(P_MotorRev) (forward/reverse/stopped) and monitors for simple reversing motor. motor (running/stopped only). Use the
fault conditions. • Supports motors that have three controlled P_Motor instruction instead.
The motor can optionally have run feedback, states: running forward, running reverse, and • Operating a continuously variable speed
that, if available, is used to confirm that the stopped. motor, such as one wired to a variable-
motor is running in the commanded direction, • Motor can optionally have run feedback that frequency AC drive or variable-speed DC
and alarm if not. is used to confirm that the motor is running drive. Use the P_VSD instruction instead.
The instruction also does the following: in the commanded direction. Prompts an • Operating a two-speed motor that runs in
• Monitors permissive and interlock conditions alarm if not at the commanded direction. one direction (fast, slow, stopped only). Use
• Detects failure of the motor to start or stop the P_Motor2Spd instruction instead.
and generates appropriate alarms. • Monitoring, and optionally tripping, a locally
operated (hand-operated) motor. The motor
can be single-speed, two speed, or reversing.
Use the P_MotorHO instruction instead.
Hand-operated Motor This instruction monitors a locally controlled • The optional trip function provides the • Need to do more than monitor or trip the
(P_MotorHO) (hand-operated) motor. following capabilities: motor.
The instruction supports single-speed motors – Detects failure to stop when tripped and • Need to operate a single-speed motor
(running or stopped), two-speed motors generate an appropriate alarm. (running/stopped). Use the P_Motor
(running fast, running slow, or stopped), and – Monitors interlock conditions to trip the Single-Speed Motor instruction instead.
reversing motors (running forward, running motor, and alarm when an interlock stops • Need to operate a continuously variable
reverse, and stopped). The motor must provide a running motor. speed motor, such as one wired to a
run feedback. – Provides for simulation of a working variable-frequency AC drive or
The instruction also supports an optional trip motor while disabling the trip output, for variable-speed DC drive. Use the P_VSD
function and output that is used to stop the use in off-process training, testing, or Variable Speed Drive instruction instead.
motor. simulation. • Need to operate a two-speed motor that runs
– Monitors I/O communication, and alarm in one direction (fast, slow, or stopped). Use
(and trip if the Shed On I/O Fault function the P_Motor2Spd Two Speed Motor
is enabled) on a communication fault. instruction instead.
• Need to operate a simple reversing motor
(forward/reverse/stopped). Use the
P_MotorRev Reversing Motor instruction
instead.
PowerFlex 523/525 This instruction is used to control and monitor a • Controls and monitors a PowerFlex 525 • Do not use this instruction with other
Drives (P_PF52x) PowerFlex® 523 or PowerFlex 525 variable- variable-frequency drive with embedded or Allen-Bradley® drive families.
frequency drive with optional EtherNet/IP optional add-on EtherNet/IP Interface. • There is a dedicated instruction for the
Interface. • Collects and displays diagnostic information PowerFlex 753 variable-frequency drive that
The P_PF52x instruction includes the following from the drive by using data links on the uses the 20-COMM-E EtherNet/IP interface
capabilities: EtherNet/IP interface. (P_PF753). There is also a dedicated
• Starting, stopping, jogging of the drive, and instruction for the PowerFlex 753 or 755
setting speed reference and direction variable-frequency drive that uses the built-
• Supports HMI 'breadcrumbs' for Alarm in or add-on 20-750-series EtherNet/IP
Inhibited, Bad Configuration, Not Ready, and interfaces.
Maintenance Bypass Active. • Using a PowerFlex 6000 or PowerFlex 7000
This instruction is provided as a rung import for drive.
installation. • It is highly recommended that other
Allen-Bradley® (or non-Allen-Bradley) drive
families use the P_VSD generic Variable
Speed Drive instruction.
Table 10 - Motors
Process Object Description When to Use When Not to Use
PowerFlex 753 Drive This instruction is used to operate one • Need to operate a motor that is connected to • Need to operate a single-speed motor
(P_PF753) variable-speed motor using a PowerFlex 753 AC a PowerFlex 753 variable frequency AC drive (running and stopped only). Use the
variable-frequency drive and monitoring for that is communicating with the controller P_Motor instruction instead.
fault conditions. over an EtherNet/IP network. • Need to operate a two-speed motor (fast,
This instruction is designed to work with the • Need the ability to start and stop the drive slow, and stopped only). Use the
PowerFlex 753 drive and a 20-COMM-E Ethernet and motor, control the drive speed (via speed P_Motor2Spd instruction instead.
communication module. reference), and monitor the drive run status • Need to operate a simple reversing motor
The P_PF753 instruction includes the following and speed feedback to verify that the drive is (forward, reverse, and stopped only). Use the
capabilities: running or stopped. P_MotorRev instruction instead.
• Maintenance personnel can disable (soft lock • Need to operate a motor with multiple
out) the drive. This capability is not a discrete speeds. You need specific logic for
• Provides alarms and drive shutdown for Fail substitute for hard lockout/tagout (LOTO) this motor. The P_PF753 instruction is
to Start and Fail to Stop if the feedback does procedures. designed for motors with continuously
not follow the commanded state within a variable (analog) speed, not multiple discrete
configured amount of time. speed selections. You can use the P_D4SD or
This instruction is provided as a rung import for P_nPos instruction for motors with multiple
installation. discrete speeds.
• If you are operating a PowerFlex 753 with an
enhanced Ethernet card (20-750-series
EtherNet/IP.) In this case use the P_PF755
instruction.
PowerFlex 755, This instruction is used to operate one • Need the ability to start and stop the drive • Operating a single-speed motor (running and
PowerFlex 755TL/TR variable-speed motor using a PowerFlex 755 AC and motor, control the drive speed (via speed stopped only). Use the P_Motor instruction
Drives (P_PF755) variable-frequency drive and monitoring for reference), and monitor the drive run status instead.
fault conditions. and speed feedback to verify whether the • Operating a two-speed motor (fast, slow, and
This instruction is designed to work with a drive is running or stopped. stopped only). Use the P_Motor2Spd
PowerFlex 755, PowerFlex 755TL, or PowerFlex • Need alarms and drive shut down for Fail to instruction instead.
755TR variable frequency AC drive that is Start and Fail to Stop if the feedback does not • Operating a simple reversing motor (forward,
communicating with the controller over an follow the commanded state within a reverse, and stopped only). Use the
EtherNet/IP network. The instruction also works configured amount of time. P_MotorRev instruction instead.
with a PowerFlex 753 drive with an enhanced • Need the ability to read a fault code from the • Operating a motor with multiple discrete
Ethernet card. drive and provide descriptive text of fault speeds. You need specific logic for this motor.
This instruction is provided as a rung import for codes. The P_PF755 instruction is designed for
installation. • Need an optional capability to support motors with continuously variable (analog)
reversing drives, with commands for forward speed, not multiple discrete speed selections.
and reverse rotation, and display of actual You can use the P_D4SD or P_nPos
rotation direction. instruction for motors with multiple discrete
speeds.
PowerFlex 6000 Drive This instruction operates one variable-speed • Need ability to start and stop the drive and • Need to operate a single-speed motor
(P_PF6000) motor using a PowerFlex 6000 medium voltage motor, control the drive speed (via speed (running and stopped only). Use the
variable frequency AC drive. The drive operates reference). Also, monitor the drive run status P_Motor instruction instead.
via an add-on EtherNet/IP interface. and speed feedback to verify whether the • Need to operate a two-speed motor (fast,
The instruction controls the drive and monitors drive is running or stopped. slow, and stopped only). Use the
fault conditions. • Need alarms and drive shut down for Fail to P_Motor2Spd instruction instead.
This instruction is provided as a rung import for Start and Fail to Stop if the feedback does not • Need to operate a simple reversing motor
installation. follow the commanded state within a (forward, reverse, and stopped only). Use the
configured amount of time. P_MotorRev instruction instead.
• Need ability to read fault data from the drive • Need to operate a motor with multiple
and provide descriptive text with fault codes. discrete speeds. You need specific logic for
this motor. The P_PF6000 instruction is
designed for motors with continuously
variable (analog) speed, not multiple discrete
speed selections. You can use the P_D4SD or
P_nPos instruction for motors with multiple
discrete speeds.
Table 10 - Motors
Process Object Description When to Use When Not to Use
PowerFlex 7000 Drive This instruction operates one variable-speed • Must operate a motor that is connected to a • Operating a single-speed motor (running and
(P_PF7000) motor by using a PowerFlex 7000 medium PowerFlex 7000 variable frequency AC drive stopped only). Use the P_Motor instruction
voltage variable frequency AC drive. The and communicates with the controller over instead.
instruction controls the drive in various modes an EtherNet/IP network. • Operating a two-speed motor (fast, slow, and
and monitors fault conditions. • Instruction is designed to work with the stopped only). Use the P_Motor2Spd
Instruction is designed for motors with Studio 5000 Logix Designer® application, instruction instead.
continuously variable (analog) speed, not Version 18 and later. • Operating a simple reversing motor (forward,
discrete speed selections. reverse, and stopped only). Use the
This instruction is provided as a rung import for P_MotorRev instruction instead.
installation. • Operating a motor with multiple discrete
speeds. You need specific logic for this motor.
You can use the P_D4SD or P_nPos
instruction for motors with multiple discrete
speeds.
SMC-50 Smart Motor This instruction controls and monitors a motor • Use this instruction to monitor and control a • Do not use this instruction with other Smart
Controller (P_SMC50) via an SMC™-50 Smart Starter. motor using an Allen-Bradley® SMC-50 series Motor Controllers, variable speed drives,
This instruction communicates with the motor Smart Motor Controller (soft starter) by using across-the-line starters, and so on.
controller to start, stop, and jog the motor. The its built-in EtherNet/IP interface. • For the SMC Flex series of Smart Motor
instruction also monitors the status of the motor, • Other capabilities include: Controllers, use the P_SMCFlex Add-On
detects motor failure to start or stop, and – Simulation, providing feedback of a Instruction instead.
displays motor runtime information. The working motor and starter while • For variable speed drives, use the Add-On
runtime data includes power, power factor, disabling outputs Instruction for that drive family (P_PF753 for
motor thermal usage, time to trip, time until – Monitoring of I/O communication faults PowerFlex 753, P_PF755 for PowerFlex 755,
reset, and motor controller fault codes (with text – Alarms for Fail to Start, Fail to Stop, and P_PF52x for PowerFlex 523 and
display of fault cause). Interlock Trip, Motor/Starter Fault, PowerFlex 525 families) or the P_VSD
This instruction is provided as a rung import for and I/O Fault generic Variable Speed Drive Add-On
installation. – Option to reset faults and alarms Instruction.
automatically when an operator • For across-the-line starters, use the P_Motor
commands a motor to start or stop (single-speed motor), P_MotorRev
(reversing motor), P_Motor2Spd (two-speed
motor), or use the P_D4SD (Discrete 2-, 3-, or
4-State Device) Add-On Instruction.
SMC Flex Smart Motor This instruction controls and monitors a motor • The SMC Flex Smart Motor Controller also • Do not use this instruction with other Smart
Controller (P_SMCFlex) via an SMC Flex series Smart Motor controller provides: Motor Controllers, variable speed drives,
(soft starter). – Monitoring of Permissive conditions to across-the-line starters, and so forth.
This instruction communicates with the motor allow starting – For the SMC 50 series of Smart Motor
controller to start and stop the motor. The – Monitoring of Interlock conditions to Controllers, use the P_SMC50 Add-On
instruction also monitors the status of the motor, stop/prevent starting Instruction instead.
detects motor failure to start, stop, or motor – Simulation, which provides feedback of a – For variable speed drives, use the Add-On
controller faults, and displays motor runtime working motor and starter while Instruction for that drive family:
information. The runtime data includes phase disabling outputs (P_PF753 for PowerFlex 753, P_PF755 for
currents, motor power and power factor, and – Monitoring of I/O communication faults PowerFlex 755, P_PF52x for PowerFlex
motor controller fault codes. – Option to reset faults and alarms 523 and PowerFlex 525 families, P_VSD
This instruction is provided as a rung import for automatically when operator commands Add-On Instruction.
installation. motor to start or stop – For across-the-line starters, use P_Motor
(single speed motor), P_Motor (single
speed motor), P_MotorRev (reversing
motor), P_Motor2Spd (two-speed motor)
Add-On Instruction. For three-speed
motors, use the P_D4SD (discrete 2-, 3-,
or 4-state device) Add-On Instruction.
Table 10 - Motors
Process Object Description When to Use When Not to Use
Variable-speed Drive This instruction operates one variable speed Use the instruction for the following: • Using a PowerFlex 753 or PowerFlex 755
(P_VSD) motor by using a drive (AC variable frequency or • Control of the drive through the standard drive. The P_PF52x, P_PF753, and P_PF755
DC) in various modes, monitoring for fault P_CmdSrc Add-On Instruction. Add-On Instructions provide enhanced
conditions. • Scaling of the speed reference from user diagnostics and monitoring for these drive
This instruction is designed to work with all (engineering) units, such as RPM, to drive families.
currently available and many legacy Allen- units, such as 32,767 = maximum frequency. • Using a PowerFlex 523 or PowerFlex 525
Bradley® drives, including: • Scaling of the speed feedback from drive drive. The P_PF52x Add-On Instruction
• Bulletin 1336 PLUS™ II units to user (engineering) units and display provides enhanced diagnostics and
• Bulletin 1395 with suitable units of measure text. monitoring for these drive families.
• PowerFlex 4/40/70/700 • Optional reading of an input datalink and • Using PowerFlex 6000 or PowerFlex 7000
• PowerFlex DC Drives scaling of this value from drive raw units to drives.
This instruction also works with drives and other engineering units (such as amperes) for • Need to operate the following motors:
variable-speed motor control products via display on the HMI. – Single-speed motor (running/stopped
digital I/O for the start/stop/running signals. You • Reading from the drive and displaying a fault only) - use the P_Motor instruction.
can also use analog I/O for the speed reference code, and displaying a text fault description – Two-speed motor (fast/slow/stopped
and speed feedback signals. based on the fault code. only) - use the P_Motor2Spd instruction.
– Simple reversing motor (forward/reverse/
stopped only). - use the P_MotorRev
instruction.
– Motor with multiple discrete speeds - use
the P_D4SD instruction. The P_VSD
instruction is designed for motors with
continuously variable (analog) speed, not
multiple discrete speed selections.
E1 Plus Electronic This instruction controls and monitors an • Use the 193-ETN EtherNet/IP interface to • Do not use this instruction for other
Overload Relay E1 Plus™ Electronic Overload Relay by using an monitor an E1Plus overload relay. Allen-Bradley motor overload relays, such as
(P_E1PlusE) EtherNet/IP interface module. • Allow for a limited capability for remote reset the E3, E3 Plus, E300™, or 857 series.
The instruction monitors the overload relay for of overload trips. • For the E3 and E3Plus series of motor
warning and trip conditions, displays motor • Provides alarms for trip warning, relay trip, overload relays, use the P_E3Ovld
current as a percentage of Full Load amps and I/O communication failure. Add-On Instruction.
(% FLA) and percentage motor thermal • For the E300 series of motor overload relays,
utilization (% MTU). The instruction also displays use the P_E300Ovld Add-On Instruction.
a list of the causes of the last five overload trips • Other overload relays can be monitored by
(trip history). specific logic or are supported by future Add-
This instruction is provided as a rung import for On Instructions.
installation.
E3/E3Plus Overload This instruction controls and monitors the • Use this instruction for the following • Do not use this instruction if you have other
Relay (P_E3Ovld) following overload relays: capabilities: Allen-Bradley motor overload relays, such as
• 193/592-EC1 – Countdown of time until overload trip can the E1 Plus, E300, or 857 series:
• 193/592-EC2 be reset – For the E1 Plus series of motor overload
• 193/592-EC3 – Configurable command to initiate a relays using the 193-ETN EtherNet/IP
• 193/592-EC5 Remote Test trip and a command to interface, use the P_E1PlusE Add-On
The instruction monitors the relay by using a initiate a trip reset Instruction instead.
built-in DeviceNet interface or by using a – Monitors input quality and – For the E300 series of motor overload
2100-ENET EtherNet/IP interface. The instruction communication status and provides value relays, use the P_E300Ovld Add-On
reports warning and trip conditions, displays and indication of source and quality for Instruction instead.
motor current as a percentage of Full Load amps the input – Other overload relays can be monitored by
(% FLA), and provides commands to initiate a specific logic or are supported by future
remote trip and a remote trip reset. Add-On Instructions.
This instruction is provided as a rung import for
installation.
E300 Electronic This instruction controls and monitors an E300 • Supports add-on options for the overload • Do not use this instruction for other
Overload Relay overload relay via a 193-ECM-ETR EtherNet/IP relay, including its operator interface, sensors Allen-Bradley motor overload relays, such as
(P_E300Ovld) communication module. for voltages and ground fault current, and the E1 Plus, E3, E3 Plus, or 857 series.
This instruction monitors the overload relay for optional digital I/O and analog I/O modules. • For the E1 Plus series of motor overload relays
warning and trip conditions. The instruction also • Provides alarms for trip warning, relay trip, that use the 193-ETN EtherNet/IP interface,
displays motor average current and phase and I/O communication failure. use the P_E1PlusE Add-On Instruction.
currents.
• For the E3 and E3 Plus series of motor
The instruction is provided as a rung import for overload relays, use the P_E3Ovld
installation. Add-On Instruction.
• Other overload relays can be monitored by
specific logic or supported by future Add-On
Instructions.
Table 10 - Motors
Process Object Description When to Use When Not to Use
Runtime and Start This instruction accumulates the total runtime • Need the functionality of a runtime meter or • You have advanced software for monitoring
Counter (P_RunTime) and count of starts for a motor or other start counter without having one in your equipment runtime that uses the equipment
equipment. It is a software implementation of MCC. running status as its input.
the mechanical hour meter that is often • Need the total runtime, current runtime,
mounted in the door of a motor control center maximum runtime, or start count
(MCC) bucket to show total motor runtime. information for a piece of equipment on the
The runtime and number of starts are variables operator display, and you do not have
that are used by maintenance personnel to monitoring software that provides the
determine when to perform maintenance information.
activities on the motor or other equipment. • Equipment monitoring software expects the
controller to provide equipment runtime and
start values rather than just a running status.
Restart Inhibit for This instruction helps prevent damage to a large • Have a large motor or other piece of • Have more advanced motor monitoring
Large Motor motor through repeated starts. The high starting equipment where repeated start/stop equipment or motor heating models
(P_ResInh) current for a large motor causes considerable cycles or failures to start can damage the available. Use the advanced equipment to
heating. The thermal mass of a large motor is equipment. provide a start permissive instead.
much smaller relative to its horsepower and • State model of the P_ResInh instruction is • Have a small motor that can repeatedly start
starting current compared to smaller motors. appropriate for limiting the restarts of the and stop without damage, or a simple
Repeated starts (or start attempts) over a short equipment (three starts rule, hot/cold model, thermal cutout that is provided with the
time overheat the motor windings, potentially and so on). motor is sufficient to help protect it.
damaging the motor permanently. • Do not have the sensors or equipment for
This instruction provides a rule-based state more advanced motor monitoring or
model for restarts and is not intended to model modeling.
or monitor the motor heating. It cannot replace Note: You can also use the P_Perm
sensor-based motor monitoring devices. It can, instruction, especially if the equipment has
however, be a simple solution to avoid an additional permissive conditions.
overstressed motor without the cost (money or
controller resources) of more extensive modeling
and monitoring.
Single-speed Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Motor) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_Motor instruction provides the following capabilities:
• Operator and Maintenance commands to start and stop the motor and outputs
to drive both held and latching starter circuits
• Run feedback and display of actual motor status
• Detection of failure to start and failure to stop
• Permissive conditions to allow starting
• Interlock conditions to stop the motor or prevent starting
• Simulation of a working motor while disabling outputs for use in off-process
training or simulation
• Capability for maintenance personnel to take the drive out of service.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Motor_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Fail to Start FailToStart None Raised when the motor has and is using run
feedback, an attempt is made to start the motor,
and the run feedback does not indicate that the
motor is running within the configured time. If Fail
to Start is configured as a shed fault, the motor is
stopped and a reset is required to start the motor.
Fail to Stop FailToStop None Raised when the motor has and is using run
feedback, an attempt is made to stop the motor,
and the run feedback does not indicate that the
motor stopped within the configured time.
Interlock Trip IntlkTrip None 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This
input is 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
motor is stopped and not permitted to start until
reset.
The Fail to Start and Fail to Stop status and alarms have a configurable delay to
allow the run feedback time to align with the commanded output. This delay
provides time for the motor to start or stop.
The Fail to Start and I/O fault conditions can be configured to alarm only, or to
de-energize the motor (shed). If one of these conditions stops the motor, a reset is
required to run.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon Is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands as if a
working motor were being controlled. The configuration parameter
Cfg_SimFdbkT sets the number of seconds for the simulation to echo back the
running or stopped status. For example, if Cfg_SimFdbkT is set to 2.0 seconds
and you stop the motor, the simulation will show a "Stopping" status for 2
seconds before showing “Stopped.”
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the motor were taken out of service by
Command. The motor outputs are de-energized and the
motor is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded. The motor is de-energized and treated as if it
were commanded to stop.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the Reference Manuals for the
P_CmdSrc and P_Alarm instructions for details.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000™ Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
Two-speed Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Motor2Spd) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_Motor2Spd instruction provides the following capabilities:
• Controls outputs to start a two-speed motor fast or slow and stop the
motor.
• Motors run feedback (optional) and display actual motor status
• Detects failure to start or stop and generates appropriate alarms
• Monitors permissive conditions to allow starting. Separate permissives are
provided to allow running fast and running slow
• Monitors interlock conditions to stop the motor or prevent starting, and
alarms when an interlock trips the motor
• Provides alarms for Failure to Start, Failure to Stop, Interlock Trip, and I/O
fault
• Capability for maintenance personnel to take the drive out of service.
• Provides for simulation of a working motor while disabling outputs, for use
in off-process training, testing, or simulation
• Monitors I/O communication, and alarms and shuts down on a
communication fault
• Operates from Operator, Program, External, Override, Maintenance, and
Hand command sources.
• Provides an available status for use by automation logic to determine if
other program logic can start and stop the motor
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
• The P_Motor2Spd_4.10.00_AOI.L5X Add-On Instruction must be
imported into the controller project to be used in the controller
configuration. The service release number (boldfaced) can change as
service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Fail to Start FailToStart None Raised when the motor has and is using run feedback,
an attempt is made to start the motor, and the run
feedback does not indicate that the motor is running at
the correct speed within the configured time. If Fail to
Start is configured as a shed fault, the motor is stopped
and a reset is required to start the motor.
Fail to Stop FailToStop None Raised when the motor has and is using run feedback,
an attempt is made to stop the motor, and the run
feedback does not indicate that the motor stopped
within the configured time.
Interlock Trip IntlkTrip None 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 motor is
stopped and not permitted to start until reset.
The Fail to Start and Fail to Stop status and alarms have a configurable delay to
allow the run feedback time to align with the commanded output. This delay
provides time for the motor to start or stop.
The Fail to Start and I/O fault conditions can be configured to alarm only, or to
de-energize the motor (shed). If one of these conditions stops the motor, a reset is
required to run.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon Is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands as if a
working motor were being controlled. The configuration parameter
Cfg_SimFdbkT sets the number of seconds for the simulation to echo back the
running or stopped status. For example, if Cfg_SimFdbkT is set to 2.0 seconds
and you stop the motor, the simulation will show a "Stopping" status for 2
seconds before showing “Stopped.”
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the motor were taken out of service by
Command. The motor outputs are de-energized and the
motor is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded. The motor is de-energized and treated as if it
were commanded to stop.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the Reference Manuals for the
P_CmdSrc and P_Alarm instructions for details.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
Reversing Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_MotorRev) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_MotorRev instruction provides the following capabilities:
• Controls outputs to start a reversing motor in the forward or reverse
direction or stop the motor.
• run feedback (optional) and display actual motor status.
• Detects failure to start or stop and generates appropriate alarms.
• Monitors permissive conditions to allow starting. Separate permissives are
provided to allow running forward and running reverse.
• Monitors interlock conditions to stop the motor or prevent starting, and
alarms when an interlock trips the motor.
• Provides alarms for Failure to Start, Failure to Stop, Interlock Trip,
and I/O fault.
• Capability for maintenance personnel to take the drive out of service.
• Provides for simulation of a working motor while disabling outputs, for use
in off-process training, testing, or simulation.
• Monitors I/O communication, and alarms and shuts down on a
communication fault.
• Operates from Operator, Program, External, Override, Maintenance, and
Hand command sources.
• Provides an available status for use by automation logic to determine if
other program logic can start and stop the motor.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
• The P_MotorRev_4.10.00_AOI.L5X Add-On Instruction must be
imported into the controller project to be used in the controller
configuration. The service release number (boldfaced) can change as
service revisions are created.
Operations
This section describes the primary operations for Add-On Instructions.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Fail to Start FailToStart None Raised when the motor has and is using run feedback,
an attempt is made to start the motor, and the run
feedback does not indicate that the motor is running in
the correct direction within the configured time. If Fail
to Start is configured as a shed fault, the motor is
stopped and a reset is required to start the motor.
Fail to Stop FailToStop None Raised when the motor has and is using run feedback,
an attempt is made to stop the motor, and the run
feedback does not indicate that the motor stopped
within the configured time.
Interlock Trip IntlkTrip None 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 motor is
stopped and not permitted to start until reset.
The Fail to Start and Fail to Stop status and alarms have a configurable delay to
allow the run feedback time to align with the commanded output. This delay
provides time for the motor to start or stop.
The Fail to Start and I/O fault conditions can be configured to alarm only, or to
de-energize the motor (shed). If one of these conditions stops the motor, a reset is
required to run.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon Is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands as if a
working motor were being controlled. The configuration parameter
Cfg_SimFdbkT sets the number of seconds for the simulation to echo back the
running or stopped status. For example, if Cfg_SimFdbkT is set to 2.0 seconds
and you stop the motor, the simulation will show a "Stopping" status for 2
seconds before showing “Stopped.”
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the motor were taken out of service by
Command. The motor outputs are de-energized and the
motor is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded. The motor is de-energized and treated as if it
were commanded to stop.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the reference manuals for the
P_CmdSrc and P_Alarm instructions for details.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
Hand-operated Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_MotorHO) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_MotorHO_4.10.00_AOI.L5X Add-On Instruction must be imported
into the controller project be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Interlock Trip IntlkTrip None Raised when the motor is running, the optional trip
function is used, and an interlock 'not OK' condition
triggers the trip function to stop the motor.
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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 and the optional
trip function is used, the trip output is triggered until
reset.
Trip Failure TripFail None Raised is the motor has and is using the optional trip
feature, an attempt is made to trip (stop) the motor, and
the run feedbacks show that the motor did not stop
within the configured fail to trip time.
The trip fail alarm has a configurable delay to allow the run feedback time to
show that the motor actually stopped (when tripped) before raising an alarm.
Simulation
When P_MotorHO is in simulation, the instruction keeps the its output de-
energized and simulates monitoring a working motor.
Set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to ‘0’ to return the motor to normal operation.
Execution
Condition Description
EnableIn false (false rung) Handled the same as if the trip function option were
disabled. The trip output (Out_Trip) is de-energized. The
instruction reverts to monitoring only the current state
of the motor. All alarms are cleared.
Powerup (pre-scan, first scan) Any commands that are received before first scan are
discarded. The Trip output is de-energized to prevent a
nuisance trip on first scan.
Embedded P_Alarm instructions are handled in
accordance with their standard powerup procedures.
See the reference manual for the P_Alarm instructions
for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
PowerFlex 523/525 Drives This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_PF52x) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
Controller File
The P_PF52x_4.10.00_RUNG.L5X rung import must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
IMPORTANT 'User Choice' Datalinks are not used by this Add-On Instruction and can be
left unused or configured for your application.
• Input Assembly
– Drive Status (standard)
– Output Frequency (standard)
– Datalinks:
1. Fault 1 Code (Par 007)
2. Output Current (Par 003)
3. Output Power (Par 017)
4. User choice
• Output Assembly
– Drive Logic Command (standard)
– Frequency Command (Speed Reference) (standard)
– Datalinks:
All four output datalinks are user choice
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
When the P_PF52x instruction is instantiated using the RUNG import, the
“PF525_FaultCodeList” tag shown in the following image, is included in the
import and created if it does not exist. This tag is also included in the Template
applications that are included in the Library download.
To display fault code messages in P_PF52x, enter the name of the Fault Code List
tag (first column) in the P_PF52x Ref_FaultCodeList parameter.
Each fault code list has preset codes and descriptions for translating fault code
numbers that are received from the drive to human-readable drive fault
descriptions.
For a list of fault codes, see the PowerFlex 520-series Adjustable Frequency AC
Drives User Manual, publication 520-UM001.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Fail to Stop FailToStop None Raised when the drive has and is using run feedback, an
attempt is made to stop the drive, and the run feedback
does not indicate that the drive stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the drive is running and an interlock ’not
OK’ condition causes the drive 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 drive is
stopped and not permitted to start until reset.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of modes and alarms on prescan and
Powerup is handled by the embedded P_CmdSrc and
P_Alarm Add-On Instructions. See their specifications
for details.
On Powerup, the drive is treated as if it had been
Commanded to Stop.
Postscan (SFC transition) No SFC Postscan logic is provided.
Programming Example
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
Add the Device to the I/O Tree and Configure the Device
3. Change the device name and IP address to match the specifications of your
project.
5. Change the information for Drive Rating, Revision, and Electronic Keying
to match the specifications of your project.
6. In the Input Data column, click the pull-down menu, choose the
parameter for each Datalink and click OK. You will return to the Module
Definition dialog box after each Datalink.
8. Click YES in the confirmation dialog box to accept the changes to the
datalinks.
4. On the Import Rungs dialog box, select the device RUNG instruction and
click Open.
5. During the import process, you can name the tags for the routine in the
Import Configuration dialog box. In the Import Content tree, click Tags
and type the names of the variables that match your process and the drive
name in the Final Name column. Click OK when finished.
Your ladder logic routine now looks like the example. Observe that the tag
names and the drive name are automatically placed in the instruction.
PowerFlex 753 Drive This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_PF753) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
IMPORTANT If your PowerFlex 753 drive uses the 20-750-ENETR Ethernet interface, use
the P_PF755 instruction instead. The PowerFlex 753 drive with the
20-750-ENETR interface uses the same interface data structures as the
PowerFlex 755 drive, giving you more data.
If you are using a drive other than the PowerFlex 523, 525, 753, 755, 6000, or
7000 drive, use the P_VSD (generic variable-speed drive) instruction
instead.
Functional Description
• Monitor an I/O fault input, and alarm on an I/O fault. The I/O fault
condition can optionally de-energize the outputs to the drive, requiring a
reset.
• In Override command source, provides an override state input that
determines if the override is to run or stop the drive (default = stop), and,
if the drive is to run, an override speed reference and direction.
• Provides simulation capability. Outputs to the drive are kept de-energized,
but the object can be manipulated as if a working drive were present,
including a basic ramp-up of speed feedback value on starting and ramp-
down on stopping. The simulated ramp-up-to-speed time is configurable.
This capability is often used for activities such as system testing and
operator training.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_PF753_4.10.00_RUNG.L5X rung import must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
IMPORTANT The preceding user-defined data types (UDTs) are included in the RUNG
import that brings in the P_PF753 Add-On Instruction.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of modes and alarms on Prescan and
Powerup is handled by the embedded P_CmdSrc and
P_Alarm Add-On Instructions. See their specifications
for details.
On Powerup, the drive is treated as if it had been
Commanded to Stop.
Postscan (SFC Transition) No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This example will explain how to add the device instruction into your project.
Ensure your project is open. For this example we will use P_PF753.
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
Add the Device to the I/O Tree and Configure the Device
3. Change the device name and IP address to match the specifications of your
project.
7. In the Input Data column, click Browse (…). The Parameter Properties
dialog box appears.
8. From the pull-down menu, choose the port and parameter for each
Datalink and click OK. You will return to the Module Definition dialog
box after each Datalink.
9. Repeat steps 7 and 8 for each Datalink
These are the required DataLinks to add to your project:
• Predictive Maintenance Status (Port 0, Parameter 469)
• Start Inhibits (Port 0, Parameter 933)
• Drive Status 1 (Port 0, Parameter 935)
11. Click YES in the confirmation dialog box to accept the changes to the
datalinks.
4. On the Import Rungs dialog box, select the device RUNG instruction and
click OK.
5. During the import process, you can name the tags for the routine in the
Import Configuration dialog box. In the Import Content tree, click Tags
and type the names of the variables that match your process and the drive
name in the Final Name column.
Your ladder logic routine now looks like the example. Observe that the tag
names and the drive name are automatically placed in the instruction.
6. Click Browse (…) next to the GetFaultMSG tag to view the configuration.
PowerFlex 755, PowerFlex This section is for the operation of the Add-On Instruction. For your reference,
755TL/TR Drives (P_PF755) the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
IMPORTANT If you use a drive other than a PowerFlex 755 TL/TR drive or PowerFlex 753
drive with a 20-750-ENETR adapter, use these Add-On Instructions instead:
• P_PF753 for the PowerFlex 753 Drive with 20-COMM-E EtherNet/IP
Interface
• P_PF52x for the PowerFlex 523 or PowerFlex 525 Drive on an
EtherNet/IP network
• P_VSD for third-party drives, drives on other networks, or via hardwired
I/O
Functional Description
• Monitor an I/O fault input and alarm on an I/O fault. The I/O fault
condition can optionally de-energize the outputs to the drive,
requiring a reset.
• In Override command source, provide an override state input that
determines if the override is to run or stop the drive (default = stop), and,
if the drive is to run, an override speed reference and direction.
• The instruction provides simulation capability. Outputs to the drive are
kept de-energized, but the object can be manipulated as if a working drive
were present, including a basic ramp-up of speed feedback value on
starting and ramp-down on stopping. The simulated ramp-up-to-speed
time is configurable. This capability is often used for activities such as
system testing and operator training.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
• The P_PF755_4.10.00_RUNG.L5X rung import must be imported into
the controller project to be used in the controller configuration. The
service release number (boldfaced) can change as service revisions are
created.
In order for the faceplate to properly display the status of the drive, you must set
the Cfg_PF755T parameter to match the drive type. When this bit is 0, the
faceplate pages show the status for the basic PowerFlex 755 drive. When this bit is
1, the faceplate shows the status for the PowerFlex 755TL or PowerFlex 755TR
drive.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
IMPORTANT The preceding user-defined data types (UDTs) are included in the RUNG
import that brings in the P_PF755 Add-On Instruction.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Fail to Stop FailToStop None Raised when the drive has and is using run feedback, an
attempt is made to stop the drive, and the run feedback
does not indicate that the drive stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the drive is running and an interlock ’not
OK’ condition causes the drive 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 drive is
stopped and not permitted to start until reset.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of modes and alarms on Prescan and
Powerup is handled by the embedded P_CmdSrc and
P_AlarmAdd-On Instructions. See their specifications
for details.
On Powerup, the drive is treated as if it had been
Commanded to Stop.
Postscan (SFC Transition) No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This example will explain how to add the device instruction into your project.
Ensure your project is open. For this example we will use P_PF755.
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
Add the Device to the I/O Tree and Configure the Device
3. Change the device name and IP address to match the specifications of your
project.
6. In the Input Data column, click Browse (…). The Parameter Properties
dialog box appears.
7. From the pull-down menu, choose the port and parameter for each
Datalink and click OK. You will return to the Module Definition dialog
box after each Datalink.
Repeat steps 6 and 7 for each Datalink.
The required DataLinks to add to your project are:
• Torque Current Feedback (Par 5)
• Output Current (Par 7)
• Output Power (Par 9)
• Elapsed MWH (Par 13)
• Elapsed Run time (Par 15)
• Speed Units (Par 300)
• Predictive Maintenance Status (Par 469)
• Start Inhibits (Par 933)
• Drive Status 2 (Par 936)
• Drive Overload Count (Par 940)
• Drive Temperature (C) (Par 944)
• Last Fault Code (Par 951)
• Fault Status A (Par 952)
• Fault Status B (Par 953)
The last two datalinks are not used by this instruction and are available for
your application.
9. Click YES in the confirmation dialog box to accept the changes to the
datalinks.
4. On the Import Rungs dialog box, select the device RUNG instruction and
click Open.
5. During the import process, you can name the tags for the routine in the
Import Configuration dialog box. In the Import Content tree, click Tags
and type the names of the variables that match your process and the drive
name in the Final Name column.
Your ladder logic routine now looks like the example. Observe that the tag
names and the drive name are automatically placed in the instruction.
6. Click Browse (…) next to the GetFaultMSG tag to view the configuration.
PowerFlex 6000 Drive This section is for the operation of the Add-On Instruction. For your reference,
(P_PF6000) the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
IMPORTANT The drive interface is designed to work with the Studio 5000 Logix Designer
application, Version 20 and later.
Functional Description
IMPORTANT If you use a drive other than the PowerFlex 6000 drive, use these
Add-On Instructions instead:
• P_PF52x for the PowerFlex 523 or PowerFlex 525 drive on an
EtherNet/IP network
• P_PF753 for the PowerFlex drive with 20-COMM-E EtherNet/IP Interface
• P_PF755 for the PowerFlex AC variable-frequency drive
• P_PF7000 for the PowerFlex 7000 medium voltage AC variable-
frequency drive with 20-COMM-E EtherNet/IP interface.
• P_VSD for third-party drives, drives on other networks, or via hardwired
I/O
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
IMPORTANT The user-defined data types (UDTs) and the Array tag containing the list of
PowerFlex 6000 fault codes and descriptions are included in the RUNG
import that brings in the P_PF6000 Add-On Instruction.
The figure shows the drive fault table tags that are in each template.
Each fault code list provides pre-configured fault codes and descriptions for a
given drive family.
For a list of fault codes, refer to the PowerFlex 6000 Medium Voltage
Variable-frequency drive Firmware, Parameters, and Troubleshooting Manual,
publication 6000-TD004.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of modes and alarms on Prescan and
Powerup is handled by the embedded P_CmdSrc and
P_AlarmAdd-On Instructions. See their specifications
for details.
On Powerup, the drive is treated as if it had been
Commanded to Stop.
Postscan (SFC Transition) No SFC Postscan logic is provided.
Programming Example
It is required to import the Anybus EDS file in order to include the Anybus
interface module within the drive in project I/O configuration. See publication
6000-SR007C, PowerFlex 6000 Medium Voltage Variable Frequency Drive
Communications Specifications, for instructions on loading the EDS file.
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
3. Click OK in the Import Configuration window.
4. The Add-On Instruction is then added to the Controller Organizer.
Add the Device to the I/O Tree and Configure the Device
2. In the module selection screen, clear all the vendor checkboxes, then check
"HMS Industrial Networks AB.” Select the AB7007 from the list of HMS
modules and click Create.
3. Change the device name and IP address to match the specifications of your
project. Click Change in the Module Definition section.
4. Select "INT" (16-bit signed integer) as the data type. Set the input size to
80 (eighty) INTs, and the output size to 8 (eight) INTs. Click “OK” and
“OK.”
5. Click YES in the confirmation dialog box to accept the changes to the
connection properties.
IMPORTANT The “Data[ ]“ arrays are now 16-bit (signed) integers (INT). The offsets should
now match the documentation. For example, the watchdog value going to the
drive is now "Exhaust_Fan_Drive:O.Data[4]" - any logic in the controller that
talks to the input and output assembly tags will need to have the offsets (array
indexes) checked. Use the default drive scaling for speed reference and
feedback. This is one-after-the-decimal, for a speed reference of 60.0 Hz, send
a value of 600 (which fits in an INT, but not in a SINT, which is a SHORT signed
integer, a single byte from -128 to 127).
For the P_PF6000 Add-On Instruction, the rung needs branches which:
• Copy the Input assembly tag data coming FROM the drive into a
structured (User-Defined Type) input buffer tag
• Execute the add-on instruction;
• Move the output buffer tag (another User-Defined Type) data to the
Output assembly tag data going TO the drive.
The add-on instruction needs to have the correct lookup table for the drive.
PowerFlex 7000 Drive This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_PF7000) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
IMPORTANT If you use a drive other than the PowerFlex 7000 drive, use these Add-On
Instructions instead:
• P_PF755 for the PowerFlex 755 Drive, or for the PowerFlex 753 with the
20-750-ENETR EtherNet/IP interface
• P_PF753 for the PowerFlex 753 Drive with the 20-COMM-E
EtherNet/IP interface
• P_PF52x for the PowerFlex 523 or PowerFlex 525 Drive on an EtherNet/
IP network
• P_VSD for third-party drives, drives on other networks, or via hardwired
I/O
Functional Description
• Monitor an I/O fault input and alarm on an I/O fault. The I/O fault
condition can optionally de-energize the outputs to the drive, requiring a
reset.
• In Override command source, provide an override state input that
determines if the override is to run or stop the drive (default = stop), and,
if the drive is to run, an override speed reference and direction.
• The instruction provides simulation capability. Outputs to the drive are
kept de-energized, but the object can be manipulated as if a working drive
were present, including a basic ramp-up of speed feedback value on
starting and ramp-down on stopping. The simulated ramp-up-to-speed
time is configurable. This capability is often used for activities such as
system testing and operator training.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
6. User choice #1
7. User choice #2
8. User choice #3
• Output Assembly
– Drive Logic Command (standard)
– Speed Reference (standard)
– Datalinks:
Drive Logic Command (standard)
Speed Reference (standard)
All output datalinks are user choice.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
IMPORTANT The user-defined data types (UDTs) are included in the RUNG import that
brings in the P_PF7000 Add-On Instruction.
Get PowerFlex 7000 Parameter Values Message (Tags are configured as follows):
• Ref_GetParMSG (control structure for the MSG to get parameter values
from the drive)
– Name the tag “<drive_tag>_GetParMSG”
– Data Type: MESSAGE
• Ref_GetParSrc (source data for the message: the list of parameters to
retrieve)
– Name the tag “<drive_tag>_GetParSrc”
– Data Type: INT[36]
• Ref_GetParDest (destination for the parameter data retrieved from the
drive)
– Name this tag “<drive_tag>_GetParDest”
– Data type: INT[36]
Get PowerFlex 7000 Drive Fault Message (Tags are configured as follows):
• Ref_DriveFaultMSG (control structure for the MSG to get fault data from
the drive)
– Name this tag “<drive_tag>_DriveFaultMSG”
– Data type: MESSAGE
• Ref_FaultAlarmDest (destination for the fault / alarm data retrieved from
the drive)
– Name this tag “<drive_tag>_FaultAlarmDest”
– Data type: P_PFComm_FltAlmRec
Get PowerFlex 7000 Drive Alarm Message (Tags are configured as follows):
• Ref_DriveAlarmMSG (control structure for the MSG to get fault data
from the drive)
– Name this tag “<drive_tag>_DriveAlarmMSG”
– Data type: MESSAGE
• Ref_FaultAlarmDest (destination for the fault / alarm data retrieved from
the drive, same tag as previous message)
– Name this tag “<drive_tag>_FaultAlarmDest”
– Data type: P_PFComm_FltAlmRec
Get PowerFlex 7000 Elapsed Run Time Message (Tags are configured as
follows):
• Ref_RunTimeMSG (control structure for the MSG to get elapsed runtime
data from the drive)
– Name this tag “<drive_tag>_DriveFaultMSG”
– Data type: MESSAGE
• Ref_RunTimeDest (destination for the fault / alarm data retrieved from
the drive)
– Name this tag “<drive_tag>_RunTimeDest”
– Data type: LINT
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Fail to Stop FailToStop None Raised when the drive has and is using run feedback, an
attempt is made to stop the drive, and the run feedback
does not indicate that the drive stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the drive is running and an interlock ’not
OK’ condition causes the drive 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 drive is stopped and not
permitted to start until reset.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of modes and alarms on Prescan and
Powerup is handled by the embedded P_CmdSrc and
P_Alarm Add-On Instructions. See the specifications for
details.
On Powerup, the drive is treated as if it had been
Commanded to Stop.
Postscan (SFC Transition) No SFC Postscan logic is provided.
Programming Example
This example will explain how to add the device instruction into your project.
Ensure your project is open. For this example we will use P_PF7000.
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
Add the Device to the I/O Tree and Configure the Device
3. Change the device name and IP address to match the specifications of your
project.
5. Change the information for Revision, Electronic Keying, and Drive Rating
to match the specifications of your project.
7. From the pull-down menu, choose the port and parameter for each
Datalink and click OK. You will return to the Module Definition dialog
box after each Datalink.
9. Click YES in the confirmation dialog box to accept the changes to the
datalinks.
4. On the Import Rungs dialog box, select the device RUNG instruction and
click Open.
5. During the import process, name the tags for the routine in the Import
Configuration dialog box. In the Import Content tree, click Tags and type
the names of the variables that match your process and the drive name in
the Final Name column. Click OK when finished.
Your ladder logic routine now looks like the example. Observe that the tag
names and the drive name are automatically placed in the instruction.
6. Click Browse (…) next to the GetFaultMSG tag to view the configuration.
SMC-50 Smart Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Controller (P_SMC50) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
• Alarms for Fail to Start, Fail to Stop, Interlock Trip, Motor/Starter Fault,
and I/O Fault
• Option to reset faults and alarms automatically when an operator
commands a motor to start or stop
• Supports HMI 'breadcrumbs' for Alarm Inhibited, Bad Configuration,
Not Ready, and Maintenance Bypass Active
• 'Available' status for use by automation logic to know whether motor can
be controlled by other objects
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
IMPORTANT 'User Choice' Datalinks are not used by this Add-On Instruction and can be
left unused or configured for your application.
• Input Assembly:
– Logic Status (standard)
– Feedback (Current-Average) (standard)
– A1. Real Power (Par 10)
– A2. Power Factor (Par 17)
– B1. Motor Thermal Usage (Par 18)
– B2. Time to Trip (Par 19)
– C1. Time to Reset (Par 20)
– C2. Fault Code 1 (latest) (Par 138)
– D1. User choice #1
– D2. User choice #2
• Output Assembly:
– Starter Logic Command (standard)
– Reference (not used) (standard)
– All output datalinks are user choice.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
Tag Name Data Type Description
Inp P_SMC50_Inp Common part of the SMC-50 Input assembly.
Out P_SMC50_Out Common part of the SMC-50 Output assembly.
Ref_FaultCodeList P_DescList [1] Array tag containing list of fault codes (DINT) and their
descriptions (STRING_40).
IMPORTANT The user-defined data types (UDTs), the I/O assembly tags, and the Array tag
containing the list of SMC-50 Smart Motor Controller fault codes and
descriptions are included in the rung import. The rung import brings in the
P_SMC50 Add-On Instruction.
The following figure shows the drive fault table tags that are in each template.
To display full descriptions for the SMC-50 starter, you must enter the name of
the Fault Code List (first column) in the P_SMC50 Ref_FaultCodeList
parameter.
Each fault code list has preset codes and descriptions that provide
human-readable descriptions of starter fault conditions.
For a list of fault codes for the SMC-50 Smart Motor Controller, see the SMC-
50 Solid-state Smart Motor Controller User Manual,
publication 150-UM011.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Fail to Start FailToStart None Raised when the SMC has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Fail to Stop FailToStop None Raised when the SMC has and is using run feedback, an
attempt is made to stop the drive, and the run feedback
does not indicate that the drive stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the SMC is running and an interlock ’not
OK’ condition causes the drive 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 drive is stopped and not
permitted to start until reset.
Motor Fault MotorFault None Raised when the Smart Motor Controller detects a fault
and sets its Faulted status bit. Check the Fault Code and
description to determine the cause. Issuing a Reset of
this object causes a Clear Fault command to be sent to
the Smart Motor Controller in an attempt to clear the
fault.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands as if a
working motor were being controlled. The configuration parameter
Cfg_SimFdbkT sets the number of seconds for the simulation to echo back the
running or stopped status. For example, if Cfg_SimFdbkT is set to 2.0 seconds
and you stop the motor, the simulation will show a “Stopping” status for 2
seconds before showing “Stopped.”
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the same as
if the motor were taken out of service by Command. The motor
outputs are de-energized and the motor is shown as Program
Out of Service on the HMI. All alarms are cleared.
Powerup (prescan, first scan) Any commands received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the P_Alarm Reference
Manual for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
The following example shows the P_SMC50 in a ladder context. Here, ladder
logic is used to copy the Module Defined Data Type for the SMC-50 Smart
Starter (AB:SMC_B67CD85C:I:2) to the User Defined Type for the SMC-50
Smart Starter Input Assembly (P_SMC50_Inp).
SMC Flex Smart Motor This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Controller (P_SMCFlex) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
This instruction controls and monitors a motor via an SMC™ Flex Smart Starter.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
IMPORTANT 'User Choice' Datalinks are not used by this Add-On Instruction and can be
left unused or configured for your application.
• Input Assembly
– Logic Status (standard)
– Feedback (Current in Phase A) (standard)
– A1. Current in Phase B (Par 5)
– A2. Current in Phase C (Par 6)
– B1. Watt Meter (Par 7)
– B2. Power Factor (Par 11)
– C1. Motor Thermal Usage (Par 12)
– C2. Fault Code 1 (latest) (Par 124)
– D1. Motor Full Load Amperes (Par 46)
– D2. User choice
• Output Assembly
– Starter Logic Command (standard)
– Reference (not used) (standard)
– All output datalinks are user choice.
IMPORTANT The user-defined data types (UDTs), the I/O assembly tags, and the Array tag
containing the list of SMC Flex Smart Motor Controller fault codes and
descriptions are included in the Rung import that brings in the
P_SMCFlex Add-On Instruction.
The following figure shows the drive fault table tags that are in each template.
To display fault descriptions for the SMC Flex Starter, you must enter the name
of the Fault Code list (first column) in the P_SMCFlex Ref_FaultCodeList
parameter.
Each fault code list has preset codes and descriptions that provide
human-readable descriptions of starter fault conditions.
For a list of fault codes for the SMC Flex Smart Motor Controller, see the SMC
Flex User Manual, publication 150-UM008.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Fail to Start FailToStart None Raised when the SMC has and is using run feedback, an
attempt is made to start the motor, and the run
feedback does not indicate that the motor is running
within the configured time. If Fail to Start is configured
as a shed fault, the motor is stopped and a reset is
required to start the motor.
Fail to Stop FailToStop None Raised when the SMC has and is using run feedback, an
attempt is made to stop the motor, and the run feedback
does not indicate that the motor stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the SMC 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 motor is
stopped and not permitted to start until reset.
Motor Fault MotorFault None Raised when the Smart Motor Controller detects a fault
and sets its Faulted status bit. Check the Fault Code and
description to determine the cause. Issuing a Reset of
this object causes a Clear Fault command to be sent to
the Smart Motor Controller in an attempt to clear the
fault.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the motor is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands as if a
working motor were being controlled. The configuration parameter
Cfg_SimFdbkT sets the number of seconds for the simulation to echo back the
running or stopped status. For example, if Cfg_SimFdbkT is set to 2.0 seconds
and you stop the motor, the simulation will show a “Stopping” status for 2
seconds before showing “Stopped.”
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the same as
if the motor were taken out of service by Command. The motor
outputs are de-energized and the motor is shown as Program
Out of Service on the HMI. All alarms are cleared.
Powerup (prescan, first scan) Any commands received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the Reference Manual
for the P_Alarm Instruction for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
Programming Example
The following example shows the P_SMCFlex in a ladder context. Here, ladder
logic is used to copy the Module Defined Data Type for the SMCFlex Smart
Starter (AB:150SMCFlex_BBC3E0FE:I:0) to the User Defined Type for the
SMCFlex Smart Starter Input Assembly (P_SMCFlex_Inp).
Variable-speed Drive This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_VSD) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_VSD (Variable Speed Drive) Add-On Instruction is used to operate one
variable speed motor by using a drive (AC variable frequency or DC) in a variety
of modes, monitoring for fault conditions.
Functional Description
The P_VSD instruction provides the following capabilities:
• Control of the drive through the standard P_CmdSrc Add-On
Instruction.
• Ability to start and stop the drive and motor, control the drive speed
(via speed reference), and monitor the drive run status and speed feedback
to verify that the drive is running or stopped.
• Alarms and drive shut down for Fail to Start and Fail to Stop if the
feedback does not follow the commanded state within a configured
amount of time. This shut down happens whether the drive has run
feedback can be configured at the engineer level or whether to use the run
feedback can be configured at the maintenance level.
• Scaling of the speed reference from user (engineering) units, such as RPM,
to drive units, such as 32,767 = maximum frequency.
• Scaling of the speed feedback from drive units to user (engineering) units
and display with suitable units of measure text.
• Optional setting (by Program or Operator) of an output datalink and
scaling of this setting from engineering units (such as ramp time in
seconds) to drive raw units.
• Optional reading of an input datalink and scaling of this value from drive
raw units to engineering units (such as amperes) for display on the HMI.
• Reading from the drive and displaying a fault code, and displaying a text
fault description based on the fault code.
• Indication of Accelerating, Decelerating, At Speed, and Warning or Alarm
status as received from the drive.
• Optional capability to support reversing drives, with commands for
forward and reverse rotation and display of actual rotation direction.
• Input and alarm for drive fault condition and an output to send a drive
fault reset to the drive.
• Configurable time to pulse the drive fault reset output when a reset
command is received.
• Inputs and outputs formatted to work with any drives commonly used in
the Process industries, including, but not limited to, 1336 Plus II, 1395,
PowerFlex 4/40/70/700 and PowerFlex DC, in a form that still allows use
with non-Allen-Bradley drives via hard-wired I/O.
• Permissives (bypassable and non-bypassable) that are conditions that allow
the drive to start, and interlocks (bypassable and non-bypassable) that are
conditions that stop the drive and prevent starting.
• Alarm when an interlock stops the drive.
• Capability for maintenance personnel to bypass the bypassable permissives
and interlocks.
• Capability for maintenance personnel to take the drive out of service.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
Table 11 shows the minimum set of connections to make the P_VSD instruction
work with an Allen-Bradley or third-party drive, assuming the drive is
non-reversing.
The P_VSD instruction is written around the typical command and status words,
speed reference, and speed feedback used with Allen-Bradley PowerFlex drives.
Pins are individually available to connect to whatever drive you have,
1336 PLUS II, PowerFlex 4, PowerFlex 40, PowerFlex 70EC, PowerFlex 700, and
so on. These can connect over the EtherNet/IP network (in which case the
signals have similar, but not identical names), or over DeviceNet, ControlNet,
any other network, or over hardwired I/O.
Table 12 shows the additional connections to make the P_VSD instruction work
with an Allen-Bradley or a third-party drive, assuming the drive is reversing.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
This figure shows the drive fault table tags that are in each template.
To have fault codes in P_VSD, you must enter the name of the Fault Code List
(first column) in the P_VSD Ref_FaultCodeList parameter.
Each fault code list has preset codes and descriptions. You can use one of the fault
codes provided by copying the tag from a template application. You can also
create your own by using the provided P_DescList data type.
For a list of fault codes for a drive, click the Publication number associated with
the drive in the following table.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Drive Fault DriveFault None Raised when the drive detects a fault and sets its Faulted
status bit. Check the Fault Code and description to
determine the cause. Issuing a Reset of this object
causes a Clear Fault command to be sent to the drive in
an attempt to clear the fault.
Fail to Start FailToStart None Raised when the drive has and is using run feedback, an
attempt is made to start the drive, and the run feedback
does not indicate that the drive is running within the
configured time. If Fail to Start is configured as a shed
fault, the drive is stopped and a reset is required to start
the drive.
Fail to Stop FailToStop None Raised when the drive has and is using run feedback, an
attempt is made to stop the drive, and the run feedback
does not indicate that the drive stopped within the
configured time.
Interlock Trip IntlkTrip None Raised when the drive is running and an interlock ’not
OK’ condition causes the drive 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
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 drive is
stopped and not permitted to start until reset.
The Fail to Start and Fail to Stop status and alarms have a configurable delay to
allow the run feedback time to align with the commanded output. This delay
provides time for the motor to start or stop.
The Fail to Start and I/O fault conditions can be configured to alarm only, or to
de-energize the motor (shed). If one of these conditions stops the motor, a reset is
required to run.
Simulation
Set the Inp_Sim parameter in the Controller to '1' to enable simulation. When
the drive is in simulation, the Simulation or Loopback Test icon is displayed
at the top left of the Operator faceplate.
When in simulation, the object responds to start, stop and jog commands and
speed reference changes as if a working drive were being controlled. The
configuration parameter Cfg_SimRampT sets the amount of time the simulation
takes to ramp from zero speed to maximum and vice versa. The stopped status is
asserted when the simulated speed feedback is zero, and running/jogging status is
asserted when the simulated speed is greater than zero. There are also
configuration bits to determine how speed feedback is calculated based on the
speed reference. See the faceplate to see how these configuration bits perform the
scaling.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to '0' to return the motor to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the drive were taken out of service by
Command. The drive outputs are de-energized and the
drive is shown as Program Out of Service on the HMI. All
alarms are cleared.
Powerup (prescan, first scan) Processing of command sources and alarms on prescan
and powerup is handled by the embedded P_CmdSrc
and P_Alarm Add-On Instructions - refer to their
specifications for details.
On powerup, the drive is treated as if it had been
commanded to stop.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This procedure imports the definitions for the device Add-On Instruction. It is
only necessary to import the definitions once per controller.
2. Navigate to the folder that contains the device Add-On Instructions, select
the appropriate instruction, and click open.
3. Click OK in the Import Configuration window.
4. The Add-On Instruction is then added to the Controller Organizer.
Add the Device to the I/O Tree and Configure the Device
8. From the pull-down menu, choose the port and parameter for each
Datalink and click OK. You will return to the Module Definition dialog
box after each Datalink.
Repeat steps 7 and 8 for each Datalink.
The required DataLink to add to your project are:
Input:
Fault1Code - 243
10. Click YES in the confirmation dialog box to accept the changes to the
datalinks.
4. On the Import Rungs dialog box, select the device RUNG instruction and
click Open.
5. During the import process, you can name the tags for the routine in the
Import Configuration dialog box. In the Import Content tree, click Tags
and type the names of the variables that match your process and the drive
name in the Final Name column. Click OK when finished.
6. Click Browse (…) next to the GetFaultMSG tag to view the configuration.
7. Click the Communication tab and then Click Browse.
8. Set the message path to the device and Click OK.
9. Click OK in the Message Configuration dialog box.
10. Map the Inputs of the P_VSD instruction to the device. These inputs are
required:
• Inp_Ready
• Inp_Running
• Inp_CommandDir
• Inp_ActualDir
• Inp_Accelerating
• Inp_Decelerating
• Inp_Alarm
• Inp_Faulted
• Inp_AtSpeed
11. Map the outputs of the P_VSD instruction to the device. These outputs
are required:
• Out_Stop
• Out_Start
• Out_Jog
• Out_ClearFault
• Out_Fwd
• Out_Rev
E1 Plus Electronic Overload This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Relay (P_E1PlusE) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The E1 Plus Electronic Overload Relay (EtherNet/IP) instruction provides the
following capabilities:
• Warning of impending overloads
• Identification of overload trip conditions
• Monitoring motor current as a percentage of full load amperes
• Monitoring percentage of thermal utilization (trip at 100%)
• Listing of last five trip causes (trip log)
• Configurable command to initiate a trip reset
• Monitoring of the states of the discrete inputs and discrete output of the
relay.
• Monitoring of I/O communication faults
• Alarms for Trip Warning, Overload Trip, and I/O Fault
• Supports HMI 'breadcrumbs' for Alarm Inhibited, Bad Configuration,
Not Ready
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
Tag Name Data Type Description
Inp P_E1PlusE_Inp E1PlusE Overload Parameter-based Input Assembly (100)
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
used to indicate to the instruction that communication
with the overload relay has failed. The device faceplate
shows the I/O Source and Quality as communication
failure flag a “Not Ready”diagnostic.
Overload Trip Trip None Raised when the overload relay has tripped, helping
prevent the motor from running. The overload relay
must be reset before the motor can be started.
Pending Trip Warn None Raised when a motor overload condition is occurring
(Warning) and a trip of the overload relay is imminent. Immediate
action must be taken to reduce the load on the motor.
Simulation
Execution
Condition Description
EnableIn False (false rung) No EnableIn False logic is provided. Instruction parameters hold
their last values.
Powerup (prescan, first scan) Any commands received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the Reference Manual
for the P_Alarm Instruction for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
In both cases, ladder logic is used to copy the Module Defined Data Type for the
E1 Plus module (AB:E1_Plus_Diag:I:0) to the User Defined Type for the E
1Plus overload relay (catalog number 193-ETN) Diagnostic Input Structure
(P_E1PlusE_Inp).
An extended example using Function Blocks is also shown. In this case, the same
COP instruction is used in ladder logic, followed by a Jump to Subroutine ( JSR)
to a Function Block routine.
The Function Block Routine shows a typical configuration with the P_E1PlusE
Connected to an Interlock (P_Intlk) block followed by a Motor (P_Motor).
E3/E3Plus Overload Relay This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_E3Ovld) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_E3Ovld (E3™/E3 Plus™ overload relay) Add-On Instruction controls and
monitors a 193/592-EC1, -EC2, -EC3, or -EC5 overload relay.
Functional Description
The E3/E3 Plus overload relay instruction provides the following capabilities:
• Warning of impending overloads
• Identification of overload trip conditions
• Countdown of time until overload trip can be reset
• Configurable command to initiate a remote test trip
• Configurable command to initiate a trip reset
TIP Three trips within a configurable time require resetting the trip locally (at
the relay).
• Monitoring of the states of the discrete inputs and discrete outputs of the
relay.
• Monitors input quality and communication status and provides value and
indication of source and quality for the input
• Alarms for Trip Warning, Overload Trip, and I/O Fault
• Supports HMI 'breadcrumbs' for Alarm Inhibited, Bad Configuration,
Not Ready
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
Tag Name Data Type Description
Inp P_E3Ovld_Inp E3 Overload Parameter-based Input Assembly (100)
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
used to indicate to the instruction that communication
with the overload relay has failed. The device faceplate
shows the I/O Source and Quality as communication
failure flag a ‘Not Ready’ diagnostic.
Overload Trip Trip None Raised when the overload relay has tripped, helping
prevent the motor from running. The overload relay
must be reset before the motor can be started.
Pending Trip Warn None Raised when a motor overload condition is occurring
(warning) and a trip of the overload relay is imminent. Immediate
action must be taken to reduce the load on the motor.
Simulation
Execution
Condition Description
EnableIn False (false rung) No EnableIn False logic is provided. Instruction parameters hold
their last values.
Powerup (prescan, first scan) Any commands received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the Reference Manual
for the P_Alarm Instruction for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
The following example shows the P_E3Ovld in both a strictly ladder and a
combined ladder/function block context.
In both cases, ladder logic is used to copy the Module Defined Data Type for the
E3 Overload Module (AB:E3 Plus_ParamBased_Generic:I:0) to the User
Defined Type for the E3 Overload Parameter-based Input Assembly (100)
(P_E3Ovld_Inp).
An extended example using Function Blocks is also shown. In this case, the same
COP instruction is used in ladder logic, followed by a Jump to Subroutine ( JSR)
to a Function Block routine.
The Function Block Routine shows a typical configuration with the P_E3Ovld
Connected to an Interlock (P_Intlk) block followed by a Motor (P_Motor).
E300 Electronic Overload This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Relay (P_E300Ovld) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
IMPORTANT Three trips within a configurable time require a reset of the trip
locally (at the relay).
• Monitoring of states of the discrete inputs and discrete outputs of the relay
• Monitoring of various current, voltage, and ground fault values
(if available)
• Monitoring of I/O communication faults
• Alarms for Trip Warning, Overload Trip, and I/O Fault
• Supports HMI 'breadcrumbs' for Alarm Inhibited, Bad Configuration,
and Not Ready
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
IMPORTANT 'User Choice' Datalinks are not used by this Add-On Instruction and can be
left unused or configured for your application.
• Input Assembly:
– Datalinks:
0. Time to Reset (Par 3)
1. Time to Start (Par 31)
2. Trip History #0 (Par 127)
3. Warning History #0 (Par 133)
4. Invalid Configuration Parameter Number (Par 38)
5. User choice #1
6. User choice #2
7. User choice #3
• Output Assembly
The P_E300Ovld Add-On Instruction only uses the Remote Trip and
Remote Trip Reset command bits in the output assembly.
InOut Structure
InOut parameters are used to link the Add-On Instruction to external tags that
contain necessary data for the instruction to operate. These external tags must be
of the data type shown.
Tag Name Data Type Description
Inp P_E300Ovld_Inp E300 Overload (193-ECM-ETR) Input Structure.
Ref_TripCodeList P_DescList [*] Tag containing List of Trip History Codes and Descriptions.
Ref_WarningCodeList P_DescList [*] Tag containing List of Warning History Codes and
Descriptions.
The illustrations show the trip codes and warning codes list tags that are in each
template.
These tags are pre-populated if you load the Add-On Instruction definition using
the RUNG import or use a template or sample application that is included with
the Library distribution.
Enter the tag name of the Trip Code list (E300_TripCodeList) in the
Ref_TripCodeList parameter in each P_E300Ovld instruction instance.
The Trip Code list has preset codes and descriptions. You can use Trip Code list
by copying the tag from a template application. You can also create your own by
using the provided P_DescList data type.
The Warning Code list has preset codes and descriptions. You can use Warning
Code list by copying the tag from a template application. You can also create your
own by using the provided P_DescList data type.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input is
used to indicate to the instruction that communication
with the overload relay has failed. The device faceplate
shows the I/O Source and Quality as communication
failure flag a “Not Ready”diagnostic.
Overload Trip Trip None Raised when the overload relay has tripped, helping
prevent the motor from running. The overload relay
must be reset before the motor can be started.
Pending Trip Warn None Raised when a motor overload condition is occurring
(Warning) and a trip of the overload relay is imminent. Immediate
action must be taken to reduce the load on the motor.
Simulation
Execution
Condition Description
EnableIn False (false rung) No EnableIn False logic is provided. Instruction parameters hold
their last values.
Powerup (prescan, first scan) Any commands that are received before first scan are discarded.
Embedded P_Alarm instructions are handled in accordance with
their standard power-up procedures. See the Reference Manual
for the P_Alarm Instruction for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
The following example shows the P_E300Ovld in strictly a ladder logic and a
combined ladder/function block context.
In both cases, ladder logic is used to copy the Module Defined Data Type for the
E300 Overload Module (AB:E300:I:0) to the user-defined data type for the
E300 Overload (193-ECM-ETR) Input Structure (P_E300Ovld_Inp).
An extended example using Function Blocks is also shown. In this case, the same
COP instruction is used in ladder logic, followed by a Jump to Subroutine ( JSR)
to a Function Block routine.
Runtime and Start Counter This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_RunTime) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_RunTime (Run Time and Start Counter) Add-On Instruction is used to
accumulate the total runtime and count of starts for a motor or other equipment.
It is a software implementation of the mechanical hour meter that is often
mounted in the door of a motor control center (MCC) bucket to show total
motor runtime. The runtime and number of starts are variables used by
maintenance personnel to determine when to perform maintenance activities on
the motor or other equipment.
Functional Description
• Show the amount of runtime since the last start (current run). This total is
held after the equipment is stopped, until the next start, when it is reset to
zero.
• Show the maximum amount of time for any single run; this is the highest
value achieved by the previous total.
• Let maintenance personnel (but not operators) clear (individually) the
total runtime, starts count, or maximum single runtime. This lets the times
be reset when the motor or other equipment is serviced, rebuilt
or replaced.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
Operations
Alarms
Simulation
Execution
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
The following illustration shows EnableIn false implementation with the input
condition mapped to the P_ResInh instruction using the Rung-In state.
The Rung-In condition determines whether the normal code ('Logic' Routine)
for the Add-On Instruction is performed or its EnableIn False code
('EnableInFalse' Routine) is performed. In the P_RunTime instruction, the
EnableIn False code performs the logic for a stopped motor. To use the
Rung-In mapping method, Inp_Running must be set to 1 (its default value).
When the rung is true, the logic executes for a running motor and runtime
accumulates. When the rung is false, the logic executes for a stopped motor and
runtime is not accumulated.
Restart Inhibit for Large This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Motor (P_ResInh) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_ResInh (Restart Inhibit for Large Motor) Add-On Instruction is used to
prevent damage to a large motor through repeated starts. The high starting
current for a large motor causes considerable heating. Because the thermal mass of
a large motor is much smaller relative to its horsepower and starting current
compared to smaller motors, repeated starts (or start attempts) over a short time
overheat the motor windings, potentially damaging the motor permanently.
The P_ResInh instruction provides a rule-based state model for restarts and is
not intended to model or monitor the motor heating. It cannot replace sensor-
based motor monitoring devices. It can, however, be a simple solution to avoid
overstressing a motor without the cost (money or controller resources) of more
extensive modeling and monitoring.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix® firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ResInh_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
Simulation
The P_ResInh Add-On Instruction does not have a Simulation capability. It uses
the status of a related motor or drive object, which may be using its Simulation
capability.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled as if
the inputs indicate that the motor is stopped
(Inp_Starting=0, Inp_Running =0, Inp_Stopped =1).
This action lets the P_ResInh Add-On Instruction be
coded on a ladder rung with an XIC of the motor running
status. Inp_Running must be set to 1 and Inp_Starting
must be set to 0 (their default values) for the instruction
to be used in this fashion.
Powerup (prescan, first scan) On prescan (Program to Run or Powerup), all timers are
reset and the P_ResInh instruction reverts to the Cold
Motor Stopped state if the motor is stopped, or the Cold
Motor Running state if the motor is running.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
The following illustration shows the EnableIn False implementation with the
input condition mapped to the P_ResInh instruction when the Rung-In state is
used.
The Rung-In condition determines whether the normal code (logic routine) of
the Add-On Instruction is executed or its EnableIn False code (EnableInFalse
Routine) is executed. In the P_ResInh instruction, the EnableIn False code
executes the logic for a stopped motor. Use the Rung-In mapping method,
Inp_Running must be set to 1 (its default value). Then when the rung is true, the
logic executes for a running motor. When the rung is false, the logic executes for a
stopped motor.
The Starting Input (Inp_Starting) is not used, so the Fail to Start states are never
reached. Effectively, the instruction uses the following state diagram when
EnableIn False implementation is used.
Notes:
Valves
Purpose This chapter is for the operation of the Add-on Instructions. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The Process Objects in this group provide an interface to a wide range of process
valve types and valve statistical calculations.
Table 17 describes the objects in this group, including when to use and not to use
each one.
Table 17 - Valves
Process Object Description When to Use When Not to Use
Analog/Pulsed Control This instruction manipulates a control valve by • Want to use a control (modulating) valve • You use one analog output control valve with
Valve (P_ValveC) using an analog signal or discrete signals, where 0…100% is mapped to the no position feedback, with a PID loop (the
and monitors the valve by using an analog percentage open. P_PIDE Add-On Instruction or the PIDE built-
position feedback. • Discrete outputs can be held (for a motor- in instruction). The CVEU signal from the PID
The valve requires an analog output (or analog operated control valve) or pulsed (for a block can be used directly to drive the valve.
value over a network) for the target position. Or, ratcheting control valve). • You are using a two-state valve, such as a
the valve requires a pair of discrete outputs (or • Optionally, the valve provides, and you want motor-operated or solenoid-operated valve
discrete signals over a network). The outputs to display, an actual position feedback signal. that is driven only fully open or fully closed
command the valve to move toward fully closed and not used to control flow or pressure. Use
and when to move toward fully open. the appropriate two-state valve instruction.
• Use P_ValveMO for motor operated valve
(also for a dual solenoid-operated valve).
• Use P_ValveSO for a single solenoid operated
valve.
Hand-operated Valve This instruction monitors a hand (locally) • You monitor a valve (open/close) that is • Need to open and close a valve remotely. This
(P_ValveHO) operated valve and displays its current state. The primarily operated by hand. The valve must instruction monitors (and optionally trips)
valve can have any type of actuator – have at least one limit switch for position only a locally operated valve.
handwheel, lever, motor, solenoid, pneumatic, sensing. • Need to operate a single-solenoid spring-
hydraulic, and so on. But, the actuator is • The valve can use, but does not require, an return valve (fail closed or fail open), use the
normally operated at the valve and only output to remotely trip the valve to a ‘safe’ P_ValveSO instruction.
monitored by the control system via open and (default) position. On a trip, this instruction • Need to operate a motor-operated valve or
closed limit switches. checks that the valve reaches the configured other valve that requires separate open and
The instruction cannot control the valve to both trip position and alarms if it does not within a close outputs, use the P_ValveMO
open and closed positions, but provides an configured time. instruction.
optional Trip output to command the valve to its • Need to operate a multi-solenoid valve such
default (fail) position. If the trip function is used, as a mix-proof valve, use the P_ValveMP
the P_ValveHO instruction checks to make sure instruction.
that the valve reaches the configured trip • Need to operate a throttling valve
position (open or closed) if a trip command is (continuously variable), use the P_AOut or
executed. P_ValveC instruction.
• Need to operate other types of valves, try the
P_DOut, P_D4SD, or P_nPos instructions.
Table 17 - Valves
Process Object Description When to Use When Not to Use
Motor-operated Valve This instruction operates (opens and closes) a • Need to operate a motor-operated valve or • Need to operate a single-solenoid spring-
(P_ValveMO) motor-operated valve, monitoring for fault other valve that requires separate open and return valve (fail closed or fail open). Use the
conditions. close outputs. Solenoid-operated Valve (P_ValveSO)
The valve can have, but does not require, a limit Add-On Instruction.
switch feedback for the ends of travel. The valve • Need to operate a multi-solenoid valve that
cannot require an output to trigger a ‘valve stop’ has positions (such as CIP™) other than
function. For example: breaking a seal-in circuit ‘opened’ and ‘closed’. Use the Mix-Proof Valve
on the valve operator to stop travel or switch the (P_ValveMP) Add-On Instruction.
direction of travel. • Need to monitor a valve that is primarily
operated by hand. The valve could support a
‘trip’ output to drive it to a ‘safe’ position. Use
the Hand-operated Valve (P_ValveHO)
Add-On Instruction.
• Need a throttling (continuously variable)
valve. Use the P_AOut instruction, the
P_ValveC instruction, or operate the valve
directly from a PIDE or PID built-in
instruction.
• For some valves, you can also use the
P_DOut, P_D4SD, or P_nPos instructions.
Mix-proof Valve This instruction controls one mix-proof valve in • Instruction supports mix-proof valves with or • Need some other type of open-close valve:
(P_ValveMP) various states. The instruction checks position without additional connections for cleaning – Use the P_Valve SO instruction for one
feedback inputs to verify that the valve reaches (CIP, clean-in-place) or steaming (SIP, sanitize solenoid-operated valve (single output
the commanded position. An alarm can be in place). with spring return to fail position).
provided on failure to reach a target position. – Use the P_ValveMO instruction for a
Use this instruction if you want to operate a motor-operated valve, or for a dual
discrete mix-proof valve. solenoid valve (separate open and close
outputs).
– Use the P_ValveHO instruction for a hand-
operated valve, which is a valve that is
monitored only, or that has one output for
tripping the valve to its failure position.
• Need a throttling (continuously variable)
valve. Use the P_AOut (analog output) or
P_ValveC (control valve) instruction.
Solenoid-operated This instruction operates (opens and closes) one • Need to operate a single-solenoid spring- • Need to operate a motor-operated valve or
Valve (P_ValveSO) solenoid-operated valve, monitoring for fault return valve, either energize-to-open (fail other valve that requires separate Open and
conditions. closed) or energize-to-close (fail open). The Close outputs. Use the P_ValveMO
If the valve is so equipped, monitor open/close valve can have, but does not require, limit instruction. The P_ValveMO instruction can
limit switch feedback to verify that the Solenoid switch feedback for either or both ends of also be used for some dual-solenoid valves.
valve is opened or closed. travel. • Need to operate a multi-solenoid valve that
Whether the Solenoid valve has each of the • Provides alarm for Full Stall if the valve has positions (such as for SIP/CIP) other than
feedback limit switches can be configured at the feedback indicates it did not move off the ‘opened’ and ‘closed’. Use the P_ValveMP
engineer level. Whether to use each of the original position within a configured amount Mix-proof Valve Add-On Instruction.
feedback limit switches can be configured at the of time when commanded to the other • Need to monitor a valve that is primarily
Maintenance level. position. Provide an alarm for Transit Stall if operated by hand. The valve could support a
the valve feedback indicates that the valve ‘trip’ output to drive it to a ‘safe’ position. Use
moved from the original position but did not the P_ValveHO instruction.
reach the target position within a configured • Need a throttling (continuously variable)
amount of time. valve. Use the P_AOut instruction, the
P_ValveC instruction, or operate the valve
directly from a PIDE or PID built-in
instruction.
• For some valves, the P_DOut, P_D4SD, or the
P_nPos instructions can be used.
Table 17 - Valves
Process Object Description When to Use When Not to Use
2-state Valve Statistics This instruction monitors a 2-state (open and • Want to maintain stroke time and stroke • Need a continuously variable valve (control
(P_ValveStats) close) valve and records various statistics that are count data on a 2-state valve to aid in valve, throttling valve). The P_ValveStats
related to stroke times and stroke counts. planning maintenance or diagnosing valve instruction works only with valves that have
The instruction is designed to work with the and actuator problems. full open and full close actions. The
P_ValveSO, P_ValveMO, and P_ValveHO • Want an indication when a valve takes longer P_ValveStats instruction is not suitable for
instructions. This instruction can also be used to stroke than a configured threshold time. use with the P_AOut or P_ValveC
with the P_ValveMP instruction. • Valve is not an ‘intelligent’ valve that instructions.
maintains its own valve stroke time and • Need an intelligent valve or valve monitoring
count data. and maintenance software that provides the
• You do not have a more specialized valve same or more functionality than the
monitoring software, which provides P_ValveStats instruction. The valve or
functionality above and beyond what the software provides more data than the
P_ValveStats instruction provides. P_ValveStats instruction, including
specialized algorithms that predict
impending valve failure or schedule
maintenance.
n-Position Device This instruction controls a circular or linear • Want to control the position of a device with • Want to control a simple two-state valve or
(P_nPos) discrete device with 2…8 positions. The 2…8 discrete positions. two-state or three-state motor. The
instruction provides outputs to select an • Accepts commands for the individual P_ValveMO, P_ValveSO, P_ValveMP,
individual position and outputs to move toward positions, increase and decrease position P_Motor, P_Motor2Spd, or P_MotorRev
increasing positions (‘clockwise’ for a circular commands, or indexing cylinder commands. instruction provides a better interface and
device) or decreasing positions • Supports devices with a locking or sealing better ‘model’ for such a device.
(‘counterclockwise’ for a circular device). capability. It can unlock or unseal the device, • Need a continuously variable position device.
For linear devices, the P_nPos instruction can be move to the new position, then lock or seal in The P_nPos instruction works only with
configured for the following: position. devices that have 2…8 discrete positions.
• Return to Position 1 on every move • Accepts position feedback (usually proximity For most final control elements that are used
• Approach the target position from the ‘same or limit switches) and can alarm on failure to in process control, a P_AOut or P_ValveC
side’ on each move to improve position reach a target position in a configured time. instruction is a better choice. For high-speed
repeatability When the locking/sealing capability is used, motion control, such as with servo drives, use
• Move directly to the new position. a lock/seal feedback can be provided and the Motion Control instruction set provided
For circular devices, the P_nPos instruction can lock/unlock checking can also be performed. within the Logix controller firmware.
be configured for the following:
• Move only ‘clockwise’ to increase positions.
For example, 6, 7, 8, 1, 2…
• Move both directions by using the shortest
move. For example, ‘clockwise’ from 6…1: 6
7, 8, 1, or ‘Counterclockwise’ from 2…7: 2, 1,
8, 7
Analog/Pulsed Control This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Valve (P_ValveC) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ValveC_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Actuator Fault ActuatorFault None 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.
I/O Fault IOFault None Raised when an Interlock 'not OK' condition causes
the valve to move to the configured interlock
position.
Interlock Trip IntlkTrip None Raised when the Inp_IOFault input is true. This input
is 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 output is
set to the configure interlock CV or held at its last
value until reset.
Simulation
Simulation in P_ValveC holds the analog output at zero and holds the discrete
pulse outputs off while simulating a working valve. The I/O fault input is
ignored.
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the Control Valve were taken out of service by
Command. The Control Valve outputs are de-energized
and the Control Valve is shown as Program Out of
Service on the HMI. All alarms are cleared.
Powerup (prescan, first scan) The embedded P_CmdSrc and P_Alarm instructions
handle the Processing of modes and alarms on pre-Scan
and Powerup - refer to their specifications for details. On
Power-up, the Control Valve command source is cleared
and any commands that are received while the
controller was in PROG command source are discarded.
Otherwise, all data remains in the state it was in at
power down.
Postscan No SFC Postscan logic is provided.
For more information, see the Logix 5000™ Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Examples
This section shows two examples for using the P_Valve C instruction.
The field inputs for position feedback, open limit switch, and closed limit switch
(as shown in the illustration) are connected to the instruction inputs
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 feedback signal is also provided in units of 4…20 mA, so the parameters
Cfg_FdbkRawMin and Cfg_FdbkRawMax are set to 4 and 20, respectively.
We want to limit the operator entry of the desired valve position to 80% open by
setting Cfg_MaxCV to 80.
Lastly, configure the following local configuration tags to drive the text on the
HMI faceplate. In this example, they are set as follows:
Cfg_Tag: PV110812
Cfg_Label: Gas Supply Valve
Cfg_Desc: Gas Supply Valve Manual Loading Station
Cfg_EU: %
This example uses the P_ValveC 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_Open and Out_Close are connected to
the field outputs going to the valve. The input to the instruction to set valve
position is wired to PSet_CV. Cfg_ProgDefault is set to 1 so the instruction
defaults to Program mode.
The analog output is not used; 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: 0 - default
Cfg_CVRawMax: 100 - default
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_CycleT 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_OpenCloseRate are both set to 1, which means the required valve output is
energized 1 second for every 1% difference between the desired position and the
feedback position.
Lastly, configure the following local configuration tags to drive the text on the
HMI faceplate. In this example, they are set as follows:
Cfg_Tag: FV110813
Cfg_Label: Flow Control Valve
Cfg_Desc: Flow Ratcheting Control Valve
Cfg_EU: %
Hand-operated Valve This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_ValveHO) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
Required Files Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix® firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ValveHO_4.10.00_AOI.L5X Add-On instruction must be imported
into the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Interlock Trip IntlkTrip None Raised when the optional trip function is used and
an interlock 'not OK' condition triggers the trip
output to the valve.
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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input
is 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 and the
optional trip function is used, the trip output is
triggered until reset.
Transit Stall TransitStall None Raised when the valve is using both open and closed
limit switches and neither position is confirmed (the
valve position is in transit) for the configured transit
stall time.
Trip Failure TripFail None Raised is 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 (opened or
closed) within the configured fail to trip time.
Simulation
Simulation in P_ValveHO disables the normal input and lets you select a
simulated input to see the reaction of the Hand-operated Valve.
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
You can set the following parameters to simulate the corresponding input to the
hand-operated valve:
• Inp_SimOpen - sets simulated valve state to open
• Inp_SimClose - sets simulated valve state to closed
• Cfg_SimFdbkT - number of seconds to wait for echo back of
Open/Closed status when in Simulation
When you have finished in simulation, set the Inp_Sim parameter in the
Controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn false (false rung) Handled the same as if the trip function option were
disabled. The trip output (Out_Trip) is de-energized if
Cfg_HasTrip is 0, and is energized if Cfg_HasTrip = 1. All
alarms are cleared.
Powerup (prescan, first scan) Any commands that are received before first scan are
discarded. The valve trip output is de-energized to help
prevent a nuisance trip on first scan.
Embedded P_Alarm instructions are handled in
accordance with their standard powerup procedures.
See the reference manual for the P_Alarm Instructions
for more information.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
Motor-operated Valve This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_ValveMO) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_ValveMO instruction provides the following capabilities:
• Control of the Motor-operated Valve through the standard P_CmdSrc
Add-On Instruction and modes.
• Ability to open or close a Motor-operated Valve, and if the valve is so
equipped, monitor open/close limit switch feedback to verify the
Motor-operated Valve is opened or closed. Whether the Motor-operated
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.
• Optional ability to stop the motion of the Motor-operated Valve via 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, select
‘Open’ while closing, which stops the valve, then moves it in the opposite
direction.
• Alarm for Full Stall if the valve feedback indicates that it did not move off
the original position within a configured amount of time when
commanded to the other position. Also, an alarm for Transit Stall if the
valve feedback indicates that 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
outputs to the valve, requiring a reset.
• Limit switch failure indication if the limit switches indicate that the valve
is not closed, not opened, and not moving (invalid state). The fail state,
whether both switches are ON or both switches are OFF to indicate limit
switch failure, is configurable.
• Open Permissives (those permissives that can be bypassed and those
permissives that cannot be bypassed), which are conditions that allow the
Motor-operated Valve to open. Close Permissives (those permissives that
can be bypassed and those permissives that cannot be bypassed), which are
conditions that allow the Motor-operated Valve to close. Maintenance
personnel can bypass those permissives that can be bypassed.
• Monitor an I/O fault input and alarm on an I/O fault. The I/O fault
condition can optionally de-energize the outputs to the valve, requiring a
reset.
• In Override command source, provide override inputs that determine
whether the override is to open, close, or stop the motor-operated valve.
• A simulation capability, in which the outputs to the motor-operated valve
are kept de-energized, but the object can be manipulated as if a working
motor-operated valve were present. The delay between a command to
open or close and the simulated opened or closed response is configurable.
(This same delay is used if the motor-operated valve is configured with no
open/close feedback.) This capability is often used for activities such as
system testing and operator training.
• Actuator fault input for use by valves that generate a fault contact, such as
actuator motor overload trip. The Actuator fault condition can optionally
de-energize the outputs to the valve, requiring a reset.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ValveMO_4.10.00_AOI.L5X Add-On Instruction must be imported
into the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Actuator Fault ActuatorFault None 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.
If the actuator fault is configured as a shed fault, the
Stop output to the valve is triggered and a reset is
required to command the valve open or closed.
Full Stall FullStall None Raised when the valve has and is using Open and/or
Closed limit switches, an attempt is made to open or
close the valve, and the limit switches indicate that
the valve did not move from its original position at
all within the configured time.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input
is 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.
Transit Stall TransitStall None Raised when the valve has and is using both open
and closed position feedback, an attempt is made to
open or close 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.
The Full Stall and Transit Stall Alarms have a configurable delay to allow the
open and/or closed feedback time to align with the commanded output. This
delay also provides time for the Motor-operated Valve to open or close.
Simulation
Simulation in P_ValveMO disables the outputs of the valve and simulates the
feedback of a working valve.
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
While in simulation, you can set the number of seconds to wait (Cfg_SimFdbkT)
before echoing back the Open/Closed status.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
Mix-proof Valve This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_ValveMP) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The asterisk (*) indicates that the position can pulse the seat being cleaned
or lifted opened and closed to provide enhanced 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.
• Operated by using a state model that makes sure that valve seats are
sequenced properly to avoid cross-contamination
• Provides 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 that each state is configurable
• Graphic symbols are provided for mix-proof valves in 2-D layouts and
3-D (isometric) layouts for ease in building valve array and routing
manifold displays
• Capability for maintenance personnel to take the drive out of service.
• Provides inputs for Permissive conditions to enable moving the valve from
the closed state
• Provides inputs for Interlock conditions to drive the valve to the closed
state
• Monitors for I/O communication faults and closes the valve and alarms on
a fault
• Provides an ‘available’ status for Program command source logic so
automation code can know whether the valve can be controlled
• Provides a valve simulation capability. When the mix-proof valve is being
simulated, outputs are left de-energized, and the instruction behaves as if a
fully functioning valve were providing feedback
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ValveMP_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Fail Fail None Raised when the valve is commanded to a new
position and the device feedbacks fail to confirm
that the valve reached each required position (see
state diagram) within the configured time
(Cfg_FailT). If the Failure is configured as a shed
fault, the valve is commanded closed and cannot be
opened until reset.
Simulation
Simulation in P_ValveMP disables the normal outputs and provides the feedback
of a working valve.
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the device were taken out of service by
Command. The device outputs are de-energized and the
device is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) On prescan, any commands that are received before first
scan are discarded. The device is de-energized. On first
scan, the device is commanded to the closed state.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures.
Programming Example
For this example, the mix-proof valve connects to the control system by using two
inputs and three outputs. The manufacturer's data sheet for the valve shows the
following information.
In the closed position (all outputs off ), flow is not directed anywhere and the
valve cavity is vented to waste recovery. In the open state, flow is directed from
the upper line to the lower line. In the Lower Lift position, flow is directed from
the lower line through the valve cavity to waste recovery. In the Upper Lift
position, flow is directed from the upper line through the valve cavity to waste
recovery.
The P_ValveMP instruction for this valve is configured as shown in the following
diagram.
The two limit switches from the field are connected into inputs Inp_LowerLS
and Inp_UpperLS. The three outputs to the field are connected to Out_Open,
Out_LiftLower, and Out_LiftUpper.
The state configuration can be accessed and modified. For this example, we have
to configure six states. There are three outputs only, so for each state, the outputs
for Close, Cavity In, and Cavity Out can be ignored. We’ll also ignore feedback
states for feedback that is not required. The example uses parameters for all
ignored values set to 0.
From the faceplate, you can open the state configuration for all of the valve states
simultaneously to compare and configure the states. On this message box, you set
the states of the outputs, as well as the states of required feedback inputs, for the
given valve state.
TIP You can open the state configuration message boxes for multiple states
simultaneously. This can make it easier for you to check your selections against
the documentation for your particular valve and actuator.
Solenoid-operated Valve This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_ValveSO) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_ValveSO instruction provides the following capabilities:
• Provide for control of the solenoid valve through the standard P_CmdSrc
Add-On Instruction and modes.
• Provide for configuration of the de-energized state of the valve, Fail Open
or Fail Closed (default), at the engineer level.
• Can open or close a solenoid valve. If the valve is so equipped, monitor
open/close limit switch feedback to verify that the solenoid valve is opened
or closed. Whether the solenoid 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.
• 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. Provide an alarm for Transit Stall if the
valve feedback indicates that 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.
• Provide a limit switch Failure indication if the limit switches indicate that
the valve is not closed, not opened, and not moving. Provide 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 permissives that can be bypassed and those
permissives that cannot be bypassed) which are conditions that allow the
solenoid valve to energize. Also provide for Interlocks (those interlocks
that can be bypassed and those interlocks that cannot be bypassed) which
are conditions that de-energize the solenoid valve. Provide an Alarm when
an Interlock de-energizes the solenoid valve. Provide Maintenance the
capability to bypass the Permissives and Interlocks that can be bypassed.
• Capability for maintenance personnel to take the drive out of service.
• Monitor an I/O Fault input and alarm on an I/O Fault. The I/O Fault
condition can optionally de-energize the output to the valve, requiring a
reset.
• In Override command source, provide an Override State input that
determines whether the Override is to Open or Close the solenoid valve.
• Provide a Simulation capability, where the output to the solenoid valve is
kept de-energized, but the instruction can be manipulated as if a working
solenoid valve were present. The delay between a command to Open or
Close and the simulated opened or closed response is configurable. (This
same delay is used if the solenoid valve is configured with no Open/Close
feedback.) This capability is often used for activities such as instruction
testing and operator training.
• Provide an output suitable for holding the solenoid valve coil energized (to
open or close, based on the configured fail state).
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Full Stall FullStall None Raised when the valve has and is using Open and/or
Closed limit switches, an attempt is made to open or
close the valve, and the limit switches indicate that
the valve did not move from its original position at
all within the configured time.
If Full Stall is configured as a shed fault, the valve is
de-energized and a reset is required to command
the valve to its energized position.
Interlock Trip IntlkTrip None 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input
is 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 Faulted state and remains de-
energized until reset.
Transit Stall TransitStall None Raised when the valve has and is using both open
and closed position feedback, an attempt is made to
open or close 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.
The Full Stall and Transit Stall Alarms have a configurable delay to allow the
open and/or closed feedback time to align with the commanded output. This
delay also provides time for the Solenoid-operated valve to open or close.
Simulation
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
The delay between a command to Open or Close and the simulated opened or
closed response is configurable (Cfg_SimFdbkT). (This same delay is used if the
Solenoid Valve is configured with no Open/Close feedback.)
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the Solenoid Valve were taken out of service
by Command. The Solenoid Valve outputs are de-
energized and the Solenoid Valve is shown as Program
Out of Service on the HMI. All alarms are cleared.
Powerup (prescan, first scan) The embedded P_CmdSrc and P_Alarm Add-On
Instructions handle the processing of Modes and Alarms
on prescan and powerup - refer to their specifications for
details.
On Powerup, the Solenoid Valve is treated as if it had
been commanded to its de-energized position.
Postscan (SFC transition) No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
2-state Valve Statistics This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_ValveStats) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The P_ValveStats instruction monitors a 2-state valve and provides the following
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 that is spent in each state (closed, opening,
opened, closing, and stopped/other).
• Total amount of time that is 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 open)
• 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 ‘slow’ open strokes, the number of open strokes that took
longer than the configured Slow Open Time
• Number of ‘slow’ close strokes, the number of close strokes that took
longer than the configured Slow Close Time
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_ValveStats_4.10.00_AOI.L5X Add-On Instruction must be imported
into the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_ValveStats instruction does not provide any alarms and does not have any
embedded P_Alarm Add-On Instructions. Slow Open and Slow Close Status bits
are provided if you want to alarm on every slow open stoke or slow close stroke.
External P_Alarm instances can be tied to these status outputs.
Simulation
The 2-state Valve Statistics Add-On Instruction does not have a Simulation
capability.
Execution
Condition Description
EnableIn False (false rung) Total times, total valve stroke counts, and slow stroke
counts are maintained. Current position times are
cleared. The internal instruction state for the valve is set
to ‘unknown’.
Powerup (prescan, first scan) Total times, total valve stroke counts, and slow stroke
counts are maintained. Current position times are
cleared. The internal instruction state for the valve is set
to ‘unknown’. Any commands that are received while the
controller was in Program command source are cleared.
Postscan No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This section shows how the P_ValveStats instruction can collect statistics on a
motor-operated valve. In this example, the motor-operated valve is controlled by
using the P_ValveMO instruction. By naming the P_ValveStats instance tag the
same as the P_ValveMO tag plus 'ValveStats', it is automatically linked at the
HMI to the valve instance.
In this example, the motor-operated valve is either 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 P_ValveStats instruction.
The P_ValveStats instruction keeps track of completed strokes, plus open and
close strokes that are slower than expected. The parameters Cfg_SlowOpenT and
Cfg_SlowCloseT are set to 10, to indicate that any transition longer than 10
seconds is considered slow.
The following local configuration tags are configured to drive the text on the
HMI faceplate:
Cfg_Tag: ‘MyValveMO_Stats’
Cfg_Label: ‘MyValveMO Stats’
Cfg_Desc: ‘MyValveMO Statistics’
Cfg_StopOtherDesc: ‘Stopped’
Local tags can be configured through the HMI faceplates or in the Logix
Designer application by opening the Instruction Logic of the Add-On
Instruction instance and then selecting the string on the displayed rung.
All of the strings in local tags are shown on the first rung of the
Add-On Instruction's ‘Logic’ routine for your convenience.
To access the valve statistics from the faceplate for the valve, you must configure
MyValveMO. Set the Cfg_HasStatsObj parameter to 1. There is no need to set a
global object parameter, but the P_ValveStats backing tag must be named the
same as the Valve tag plus '_ValveStats'.
n-Position Device (P_nPos) This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
For linear devices, the P_nPos 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 P_nPos instruction can be configured to move only
‘clockwise’ to increase positions (for example, 6, 7, 8, 1, 2…) or both directions by
using the shortest move (for example, ‘clockwise’ from 6…1: 6, 7, 8, 1; or
‘counterclockwise’ from 2…7: 2, 1, 8, 7).
Functional Description
• If the optional lock or seal is used, provides position feedback for the lock
or seal to verify the locked or unlocked state at appropriate times. Provides
Alarm for Lock Failure
• Provides a simulation capability, responding as if a working device were
present while keeping outputs de-energized. The simulation capability can
be used for activities such as system testing, operator training, or as part of
a full process simulation
• Monitors for I/O communication faults and provides an I/O
Fault Alarm
• Provides an ‘Available’ status for use by automation logic so the logic
knows when it has control of the device
• Provides maintenance capabilities, such as the ability to bypass any
bypassable interlocks or permissives or temporarily disable feedback
checking
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_nPos_4.10.00.AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P_Gate Name Description
Interlock Trip IntlkTrip None Raised when an interlock 'not OK' condition occurs
and the device is not in Position 1. The device can be
configured to be commanded to Position 1 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.
I/O Fault IOFault None Raised when the Inp_IOFault input is true. This input
is 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 Faulted state and remains
de-energized until reset.
Lock Fail LockFail None Raised 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. If the Lock Failure is configured as a shed
fault, the device transitions to the Faulted state and
remains de-energized until reset.
Position Fail PosFail None Raised when the device is commanded to a new
position, but the device feedback does not confirm
that the device reached that position within the
configured failure time (Cfg_PosChkT). If the Failure
is configured as a shed fault, the device is
commanded Off and cannot be commanded On until
reset.
Simulation
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
When you have finished in simulation, set the Inp_Sim parameter in the
controller to ‘0’ to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the device were taken out of service by
Command. The device outputs are de-energized and the
device is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) On prescan, any commands that are received before first
scan are discarded. The device is de-energized. On first
scan, the device is treated as if it were returning from
Hand command source: the instruction state is set based
on the position feedback that is 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.
Embedded P_CmdSrc and P_Alarm Instructions are
handled in accordance with their standard
power-up procedures.
Postscan No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This example uses the P_nPos instruction to control a rotating selector valve with
four fixed positions. Each position directs a sample air from one of four sampling
locations to an air quality monitor. The rotating selector valve directs all
non-selected streams to flow to a common outlet to vent. In this example, the
device handles transitions from one position to another. The instruction does not
have to enforce a progression of positions to get to the desired state.
First, the instruction is configured to recognize the inputs coming from the
selector valve. For this example, the parameter Cfg_NumPos is set to 4, indicating
this is a four-position device. The parameter Cfg_HasPosFdbk and
Cfg_UsePosFdbk are both set to 1 to indicate that the selector valve provides
position feedback, and must be used. The input parameters for positions 1…4
(Inp_Pos1Fdbk, Inp_Pos2Fdbk, Inp_Pos3Fdbk, and Inp_Pos4Fdbk) are
connected to the digital inputs representing the status of the selector valve.
Once the I/O has been configured, the instruction can be configured to
recognize commands from the analyzer control sequence. In this example, the
program command parameters for position (PCmd_Pos1, PCmd_Pos2,
PCmd_Pos3, and PCmd_Pos4) are connected to the commands from the
analyzer control sequence to command the selector valve to the desired position
in the sequence. The parameter Cfg_ProgDefault is set to 1 to indicate that the
normal operating state of the controller is Program, meaning it is normally
commanded by the control sequence.
The valve does not have a locking or sealing device, so Cfg_HasLock is set to 0.
The status output parameters (Sts_Pos1, Sts_Pos2, Sts_Pos3, and Sts_Pos4) can
be connected to external tags to be used by the analyzer control sequence,
if desired.
Lastly, the following local configuration tags must be configured to drive the text
on the operations faceplate. In this example, the selector valve P&ID tag is
ZY1128. In this example, the strings are set as follows:
Cfg_Tag: ZY1128
Cfg_Label: Air Sample Selector
Cfg_Desc: Air Quality Analyzer Sample Selector
Cfg_Pos1Name: Position A
Cfg_Pos2Name: Position B
Cfg_Pos3Name: Position C
Cfg_Pos4Name: Position D
Notes:
Cross Functional
Purpose This chapter is for the operation of the Add-on Instructions. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The process objects in this group are often used to extend the functionality of
other objects. However, they can also be used as standalone objects when
necessary to implement a desired control scheme.
Table 19 describes the objects in this group, including when to use and not to use
each one.
Table 19 - Cross Functional Objects
Process Object Description When to Use When Not to Use
Condition Gate Delay This instruction provides a ‘gate’ for a discrete • This instruction is integrated with the —
(P_Gate) signal and provides on-delay and off-delay timing following Rockwell Automation® Library
for the gated signal. P_Gate is used within P_DIn, Objects:
all analog inputs, and P_PIDE for threshold and – Basic Analog Input (P_AIn)
target disagree status processing. – Advanced Analog Input (P_AInAdv)
When the gate input is true, the input is passed – Dual Sensor Analog Input (P_AInDual)
through to the output with on-delay and off- – Multiple Analog Input (P_AInMulti)
delay timing applied. – Discrete Input Object (P_DIn)
When the gate input is false, the output is kept off – Enhanced PID (P_PIDE)
(the off-delay still applies).
Interlocks with First This instruction collects the interlock conditions • Have multiple interlock conditions or • Have conditions that help prevent the
Out and Bypass that stop or de-energize a running or energized cascaded interlock conditions (an interlock equipment from starting, but are ignored
(P_Intlk) piece of equipment. The instruction helps prevent hierarchy) that stop some equipment (motor, once the equipment is running. These
the equipment from starting or being energized. valve, drive) or keep it from starting. Link the conditions are permissive, not interlock
Interlocks are always evaluated to de-energize conditions to P_Intlk inputs, and link the conditions. Use the P_Perm instruction.
equipment. Configurable text descriptions of P_Intlk status bits to the Inp_IntlkOK and • Have one interlock condition only for the
shutdown conditions are available. Inp_NBIntlkOK inputs of the equipment. equipment. Connect the condition directly
For permissive conditions that must be made to • Need a first-out indication of the interlock to the interlock input on the device.
start the equipment, but are ignored once the condition that shuts down the equipment.
equipment is running, use the Permissives • Need configurable text descriptions of
(P_Perm) instruction. shutdown conditions or other features of the
P_Intlk faceplate.
Condition Gate Delay This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Gate) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_Gate (Condition Gate Delay) Add-On Instruction provides a ‘gate’ for a
discrete signal and provides on-delay and off-delay timing for the gated signal.
P_Gate is used within P_DIn, all Analog inputs, and P_PIDE for threshold and
target disagree status processing.
When the gate input is true, the input is passed through to the output with
on-delay and off-delay timing applied. When the gate input is false, the output is
kept off (the off-delay still applies).
Functional Description
The primary operations of the P_Gate Add-On Instruction and the faceplates
are:
• Provides gate input to turn on and off input monitoring
• Provides Gate delay to define the time the gate input must be on for status
outputs to be enabled
• Provides on and off delays for the status output
• Provides configurable strings for gate and status condition descriptions
• Provides faceplate for setup of gate delay, on delay, off delay, and strings
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Gate_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_Gate Add-On Instruction does not generate any alarms. In many
applications, status bits from P_AIn Analog Input or P_DIn Discrete Input
instructions are sent to the P_Gate inputs. The output of P_Gate is the input to a
P_Alarm instruction.
Simulation
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False is handled the same as the main logic
routine except that the state of Inp is inverted. This inversion allows the
P_Gate Add-On Instruction in a ladder diagram instance to have its
condition input mapped by using the rung condition instead of separate
mapping logic. Be sure that the Inp parameter is set to 1 (its default
value) when using rung condition mapping. See Implementation by
Using the EnableIn False Feature on page 315 for details.
IMPORTANT: Only the condition input ‘Inp’ is inverted when EnableIn is
false. The gate input ‘Inp_Gate’ must still be mapped.
Powerup (prescan, first scan) During Prescan, the Inp_Gate input is set to 1. This setting makes sure
that the condition input Inp is processed with on-delay and off-delay
timing if the Inp_Gate pin becomes unconnected or unreferenced.
Postscan (SFC Transition) No SFC postscan logic is provided.
For more information, see the Logix 5000™ Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
The P_Gate instruction can be used in a Ladder Diagram routine with the input
condition carried by the Rung-In state instead of being mapped by separate logic,
such as an XIC/OTE branch.
The following illustration shows the EnableIn False implementation, with the
condition input mapped by using the Rung-In state. (It also shows Rung-In
mapping for the P_Alarm instruction.)
Note that whether or not you map the P_Gate instruction's condition input by
using the Rung-In state, the Inp_Gate signal must still be mapped by logic. Only
the condition input Inp follows the Rung-In state.
When using the Rung-In mapping method, be sure to set Inp to 1 (its default
value). Then, when the rung is TRUE, Inp (which is 1) is treated as TRUE.
When the rung is FALSE, Inp (which is still 1) is treated as FALSE (inverted).
Interlocks with First Out This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
and Bypass (P_Intlk) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_Intlk (Interlocks with First Out and Bypass) Add-On Instruction is used
to collect (sum up) the interlock conditions that stop or de-energize a running or
energized piece of equipment and prevent it 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 Permissives (P_Perm) Add-On Instruction.
The following diagram shows the functional characteristics of the P_Intlk Add-
On Instruction.
Functional Description
The following are the primary operations of this instruction and faceplate:
• 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 by Maintenance.
• Interlock Condition Latching: If the input is configured as latched, the
interlock condition is latched in until reset unless the latch defeat input is
true. If the input is not configured as latched, the interlock condition
clears when the input is again in its 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 then picks the ones 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 such
interlock conditions are raised in the same scan, they are all marked as first
out.
• Latch Defeat: A latch defeat function is provided to reduce 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.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Intlk_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_Intlk Add-On Instruction does not generate any alarms. The individual
input conditions can be alarmed, if necessary, in other logic before they are sent
to the inputs of the P_Intlk instruction. In many applications, status bits from
P_AIn Analog Input or P_DIn Discrete Input instructions are sent to the P_Intlk
inputs, and those instructions provide alarms.
Simulation
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled by setting the
summary All interlocks OK and All interlocks (cannot be bypassed) OK
status outputs to false (0). The individual interlock bit status and first out
outputs are left in their last state.
Powerup (prescan, first scan) The latch and first out states of the P_Intlk Add-On Instruction are
maintained through a power-down/power-up or Run/Program/Run
cycle.
Any commands that are received before the first scan are discarded.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
This example uses the P_Intlk 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.
The following image is what the instruction looks like when connected
correctly.
On the P_Motor faceplate, click the HMI configuration tab and go to page 2.
13. Check “Enable navigation to interlock object”.
The Interlock button is enabled.
14. On the P_Motor faceplate, click the Interlock button to open the P_Intlk
faceplate. On the P_Intlk faceplate, click the Engineering tab, and perform
the following:
a. Name the interlocks accordingly.
b. Select the appropriate state under 'OK State'.
c. Indicate which interlocks can be bypassed.
d. Indicate which interlocks must be reset.
TIP Specific inputs can be bypassed on the maintenance tab based on the
selections.
When bypass is enabled, it bypasses only those set on the Maintenance tab.
Interlocks with First Out This section is for the operation of the Add-On Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
and Bypass - Advanced to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
(P_IntlkAdv) Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Functional Description
The following are the primary operations of this instruction and faceplate:
• 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 by Maintenance.
• Interlock Condition Latching: If the input is configured as latched, the
interlock condition is latched in until reset unless the latch defeat input is
true. If the input is not configured as latched, the interlock condition
clears when the input is again in its 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 then picks the ones 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 such
interlock conditions are raised in the same scan, they are all marked as first
out.
• Latch Defeat: A latch defeat function is provided to reduce 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.
• Interlock Types: There are 8 configurable interlock Types. Each Type has
a description; by default, the description is a 3-letter abbreviation (for
HMI use) followed by a colon and the full description. Each Type affects
bypassability, latching and availability. Types 0, 2, 4 and 6 affect
availability; Types 0, 1, 2 and 3 force latching and require reset; Types 0, 1,
4 and 5 force not allowing bypass.
• Input Available Field: An input Available field allows for cascading of
interlock banks and working with equipment that is ready to run but not
available at certain points in a sequence (for example, a pump with an
automated block valve that is currently closed).
• Summary Status: The instruction summarizes its 16-interlock input
conditions into three primary status bits: Sts_IntlkOK, Sts_NBIntlkOK
and Sts_Avail. Sts_IntlkOK indicates that all interlock conditions are clear
(ready to run). Sts_NBIntlkOK indicates that all interlock conditions that
cannot be bypassed are clear (ready to run if interlocks are bypassed).
Sts_Avail indicates to equipment that it is still available to be energized
although an interlock is currently active..
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_IntlkAdv_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_IntlkAdv Add-On Instruction does not generate any alarms. The
individual input conditions can be alarmed, if necessary, in other logic before
they are sent to the inputs of the P_IntlkAdv instruction. In many applications,
status bits from P_AIn Analog Input or P_DIn Discrete Input instructions are
sent to the P_IntlkAdv inputs, and those instructions provide alarms.
Simulation
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled by setting the
summary All interlocks OK and All interlocks (cannot be bypassed) OK
status outputs to false (0). The individual interlock bit status and first out
outputs are left in their last state.
Powerup (prescan, first scan) The latch and first out states of the P_Intlk Add-On Instruction are
maintained through a power-down/power-up or Run/Program/Run
cycle.
Any commands that are received before the first scan are discarded.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Each Type has a description- by default it’s a 3 letter abbreviation (for use on the
HMI to show a short version), followed by a colon and then the full type
description
Each type serves a slightly different function in terms of the following aspects:
1. Affects Availability
– Types 0,2,4,6 affect availability, Types 1,3,5,7 do not
2. Must Reset (i.e. is/isn’t always latched)
– Types 0, 1, 2, 3 Must Reset, Types 4, 5, 6, 7 are configurable as to
whether or not this is required
3. Bypassable (i.e. can or can’t be bypassed)
– Types 0, 1, 4, 5 are not Bypassable, Types 2, 3, 5, 6 are configurable as to
whether or not this is required
Each Type has a Cfg_HasType bit. When no types are enabled from these bits, set
all types to 6- the default type(general) which has all options available
Availability
Programming Example
This example uses the P_Intlk 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.
The following image is what the instruction looks like when connected
correctly.
On the P_Motor faceplate, click the HMI configuration tab and go to page 2.
13. Check “Enable navigation to interlock object”.
The Interlock button is enabled.
14. On the P_Motor faceplate, click the Interlock button to open the P_Intlk
faceplate. On the P_Intlk faceplate, click the Engineering tab, and perform
the following:
a. Name the interlocks accordingly.
b. Configure interlock Type 0 - 7 accordingly.
c. Select the appropriate state under 'OK State'.
d. Select the appropriate Intlk Type.
e. If Intlk Type 6 or 7 selected:
Indicate which interlocks can be bypassed.
Indicate which interlocks must be reset.
TIP Specific inputs can be bypassed on the maintenance tab based on the
selections.
When bypass is enabled, it bypasses only those set on the Maintenance tab.
Permissives with Bypass This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Perm) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The following diagram shows the functional characteristics of the P_Perm Add-
On Instruction.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Perm_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
The P_Perm Add-On Instruction does not generate any alarms. The individual
input conditions can be alarmed, if necessary, in other logic before they are sent
to the inputs of the P_Perm instruction. In many applications, status bits from
P_AIn Analog Input or P_DIn Discrete Input instructions are sent to the
P_Perm inputs.
Simulation
Execution
Condition Description
EnableIn False (false rung) Handling Processing for EnableIn False (false rung) is handled by
setting the summary All Permissives OK and All Permissives
(that cannot be bypassed) OK status outputs to false (0).
Powerup/Prescan Handling (initial modes) No prescan logic is provided.
Postscan (SFC transition) Handling No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming Example
13. On the P_Motor faceplate, click the permissives button to open the
P_Perm faceplate. On the P_Perm faceplate, select the Engineering tab,
and perform the following:
a. Name the permissives accordingly.
b. Select the appropriate state under 'OK State'.
c. Indicate which permissives can be bypassed.
d. Indicate which permissives must be reset.
Discrete 2-, 3-, or 4-state This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Device (P_D4SD) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_D4SD (Discrete 2-, 3-, 4-state Device) Add-On 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 global objects and
faceplate shown below are examples of the graphical interface tools that are used
with this instruction.
Functional Description
The Discrete 2-, 3-, or 4-state Device Add-On Instruction provides the following
capabilities:
• Provides configuration to have two, three, or four selectable states for the
device.
• Provides Operator and Program 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.
• 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.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_D4SD_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
This instruction uses the following alarms, which are implemented by using
embedded P_Alarm and P_Gate Add-On Instructions.
Alarm Name P_Alarm Name P-Gate Name Description
Device Fault DeviceFault None Raised when the Inp_DeviceFault input is true. This
alarm is provided for use by devices that generate their
own fault signal. If the device fault is configured as a
shed fault, the device is commanded to State 0 and a
reset is required to command the device to any other
state.
Fail Fail None Raised when the device is commanded to a new state
and the device feedbacks fail to confirm that the device
reached the new state within the configured time
(Cfg_FailT). If the Failure is configured as a shed fault,
the device is commanded to State 0 and cannot be
commanded to another state until reset.
Interlock Trip IntlkTrip None Raised when an interlock 'not OK' condition causes the
device to transition from some other state to State 0.
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.
I/O Fault IOFault None 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 device is
commanded to State 0 and cannot be commanded to
another state until reset.
Simulation
You must set the Inp_Sim parameter in the Controller to ‘1’ to enable simulation.
The Simulation or Loopback Test icon is displayed at the top left of the
Operator faceplate, indicating the device is in simulation.
While in simulation, you can set the delay (in seconds) for echoing back that the
device has reached a state (Cfg_SimFdbkT).
When you have finished in simulation, set the Inp_Sim parameter in the
controller to '0' to return to normal operation.
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (false rung) is handled the
same as if the device were taken out of service by
Command. The device outputs are de-energized and the
device is shown as Program Out of Service on the HMI.
All alarms are cleared.
Powerup (prescan, first scan) On Prescan, any commands that are received before First
Scan are discarded. The device is de-energized. On first
scan, the device is treated as if it were returning from
Hand command source: the instruction state is set based
on the position feedback that is received from the
device.
Embedded P_CmdSrc and P_Alarm instructions are
handled in accordance with their standard powerup
procedures. See the P_CmdSrc and P-Alarm reference
manuals for details.
Postscan No SFC Postscan logic is provided.
Programming Example
This example uses the P_D4SD Add-On Instruction to control a cooling fan that
has three fixed speeds (‘low’, ‘medium’, ‘high’) and an ‘off ’ state. This is considered
a 4-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 of the actual fan state (when all three are off, the fan is off ).
In this example, the four cooling fan states are being mapped to the device as
follows:
• State 0 = Off
• State 1 = Low
• State 2 = Medium
• State 3 = High
Based on the wiring of the I/O, we can now configure the P_D4SD instruction
how we want to process the outputs to get to the desired state. We can do this via
the following table.
We are setting Output A so it can be used for display purposes even though
Output A is not used by the cooling fan device. The parameter
Cfg_OutSt[x]Write determines which outputs get written for each state. The
parameter Cfg_OutSt[x]State determines the state that gets written. These
parameters are single integers where bit 0 represents output A and bit 3 represents
output D.
These parameters are displayed in binary format as indicated by the prefix 2#. By
using Table 20, we can set the settings as follows:
Cfg_OutSt0Write: 2#0000_1111
Cfg_OutSt0State: 2#0000_0001
Cfg_OutSt1Write: 2#0000_1111
Cfg_OutSt1State: 2#0000_0010
Cfg_OutSt2Write: 2#0000_1111
Cfg_OutSt2State: 2#0000_0100
Cfg_OutSt3Write: 2#0000_1111
Cfg_OutSt3State: 2#0000_1000
We can now repeat this same effort to configure how the P_D4SD instruction
determines actual state based on the field inputs via the following table.
Table 21 - P_D4SD Example Inputs
Input A Input B Input C Input D
State 0 x 0 0 0
State 1 x 1 0 0
State 2 x 0 1 0
State 3 x 0 0 1
x = status not checked, 1 = status checked on, 0 = status checked off
Cfg_FdbkSt0Check: 2#0000_1110
Cfg_FdbkSt0State: 2#0000_0000
Cfg_FdbkSt1Check: 2#0000_1110
Cfg_FdbkSt1State: 2#0000_0010
Cfg_FdbkSt2Check: 2#0000_1110
Cfg_FdbkSt2State: 2#0000_0100
Cfg_FdbkSt3Check: 2#0000_1110
Cfg_FdbkSt3State: 2#0000_1000
As this is a cooling fan, if there is a device mismatch or fault, we still want the
logic to command to the desired state. Therefore, Cfg_ShedOnFail and
Cfg_ShedOnDeviceFault are both set to 0.
Lastly, configure the following local configuration tags to drive the text on the
operations faceplate. In this example, the cooling fan P&ID tag is M401. In this
example, they are set as follows:
Cfg_Tag: ‘M401’
Cfg_Label: ‘Line 4 Rectifier Fan’
Cfg_Desc: ‘Line 4 Rectifier Cooling Fan’
Cfg_St0Text: ‘Stopped’
Cfg_St1Text: ‘Slow’
Cfg_St2Text: ‘Medium’
Cfg_St3Text: ‘Fast’
Local tags can be configured through the HMI faceplates or in Logix Designer
application by opening the Instruction Logic of the Add-On Instruction instance
and then selecting the string on the displayed rung.
All of the strings in local tags are shown on the first rung of the Add-On
Instruction's ‘Logic’ routine for your convenience.
Central Reset (P_Reset) This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The P_Reset (Central Reset) Add-On Instruction provides a central point for
resetting equipment faults. Latched alarms can be reset for a control strategy.
The P_Reset instruction also includes a Reset Required input for collecting the
Ready to Reset outputs of the various instructions it resets and providing a Ready
to Reset (Reset Required) status that can illuminate a push button or make an
HMI Reset button visible.
The P_Reset instruction includes a timer function that causes its output to be
held on for at least a minimum time. This lets the reset signal be sent via physical
output cards to field devices that require it (for example, motor drives) and gives
time for the cleared status from the device to propagate back to Interlock or
Permissive inputs.
Functional Description
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
Controller File
The P_Reset_4.10.00_AOI.L5X Add-On Instruction must be imported into the
controller project to be used in the controller configuration. The service release
number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
Simulation
Execution
Condition Description
EnableIn False (false rung) Handling Creates a low-to-high transition detection scheme. When the instruction is
again scanned as True, the transition is detected and the reset output
pulses for the required time. Otherwise, EnableIn False processing is
identical to normal true rung processing: the Operator Reset command,
Program Reset command, and Reset Input function as in normal
processing.
This scheme lets the Reset instruction participate in a control hierarchy by
using the Inp_Reset input, yet be tied to a reset push button using the
rung state.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
The following illustration shows EnableIn False implementation with the input
condition mapped to the P_Reset instruction by using the Rung-In state.
Common Alarm Block This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Alarm) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The state diagram shows how a P_Alarm instruction instance behaves as an alarm
occurs, is acknowledged, clears, and is reset, depending on the instruction
configuration.
Functional Description
IMPORTANT The P_Alarm object has output parameters that are directly written
by the HMI or alarm server to be compatible with FactoryTalk
Alarms and Events (tag-based) alarms and FactoryTalk View ME
alarms. Output parameters that are directly written by the HMI are
the following:
• Ack (Acknowledgment, set by the HMI when the Alarm is
Acknowledged)
• Disabled (set by the HMI) to disable the Alarm, cleared to enable
the Alarm
• Shelved (set by the HMI) when it is not displaying the Alarm,
cleared when unshelved
For FactoryTalk Alarms and Events Tag alarms, set the HMI options
to Acknowledge Required and Not Latched. (FactoryTalk View ME
alarms are not configurable with those options.) The P_Alarm
instruction handles automatic acknowledgement
(Cfg_AckReqd = 0) and latching (Cfg_ResetReqd = 1).
FactoryTalk View ME alarms are not configurable for
Acknowledgment Not Required, so the P_Alarm instruction
handles automatic acknowledgement when configured with
Cfg_AckReqd = 0.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This code lets you create your
own instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Alarm_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
Alarms
P_Alarm objects are often embedded within another Process Object, for example
P_AIn. When embedded, the Parameters of the P_Alarm objects can be accessed
by using [P_Alarm Name].[P_Alarm Parameter].
Simulation
Execution
Condition Description
EnableIn False (false rung) Processing for EnableIn False (False Rung) is handled the
same as the main Logic Routine except that the state of
Inp (the Input) is inverted. This inversion lets the
P_Alarm Add-On Instruction in a ladder diagram
instance have its input mapped by using the rung
condition instead of using a separate branch or rung. Set
the input to 1 when using the on-rung mapping.
Powerup (prescan, first scan) No powerup, prescan, or first scan handling is required
or provided. The internal timers reset on powerup, but
the outputs are retained through a power cycle or run -
program - run cycle.
Postscan (SFC transition) No SFC postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
The following output parameters need to be wired out or aliased to status bits of
the containing object to make the signals available for other logic:
• Alm: Alarm status
• Ack: Acknowledgement status
• Disabled: Alarm Disabled status
• Shelved: Alarm Shelved status
• Suppressed: Alarm Suppressed status
IMPORTANT All of the above parameters are the targets of Alias Parameters in the
containing Add-On Instruction. Acknowledge, disabled, shelved, and
suppressed must be configured as read/write in RSLogix 5000 software, version
18 or later, for proper operation of alarms with the FactoryTalk Alarms and
Events server tag-based alarms.
The following illustration shows the EnableIn False implementation with the
input condition mapped to the P_Alarm instruction by using the Rung-In state.
Command Source This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_CmdSrc) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
Indicators on the HMI faceplate show the current states of selections for
Operator, Program, External, Override, Maintenance, Hand, and Out of Service.
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_CmdSrc_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be used in the controller configuration. The service
release number (boldfaced) can change as service revisions are created.
Operations
This section describes the primary operations for this Add-On Instruction.
• External
• Operator and Program (lowest)
TIP Lesser priority requests are still processed and retained by the instruction,
but the resultant state is that of the highest priority request.
Command Sources
The P_CmdSrc instruction uses the following standard types. The descriptions
identify how types are typically used in a device whose Add-On Instruction uses
P_CmdSrc.
The following table shows how to request, verify, and release a command source.
It also shows the input trigger style.
Associated Tags
The following tables show associated tags for each command source.
Parameter Description
Inp_Hand 1 = Hand request.
Sts_Hand 1 = Command Source is Hand.
Parameter Description
MCmd_Acq Maintenance command to acquire.
MCmd_Rel Maintenance command to release.
Sts_Maint 1 = Command Source is Maintenance.
Sts_MAcqRcvd 1 = MCmd_Acq received this scan.
Parameter Description
Inp_Ovrd 1 = Override request.
Cfg_OvrdOverLock 1 = Override request takes control even if
Program/Operator command source is locked.
0 = Override cannot take control if Program/Operator
command source is locked.
Sts_Ovrd 1 = Command Source is Override.
Parameter Description
XCmd_Acq 1 =External Command to Acquire (Oper/Prog to Ext)
XCmd_Rel 1 = External Command to Release (Ext to Oper/Prog)
Sts_Ext 1=Command Source is External
IMPORTANT The external acquire and release commands can be configured as level or edge.
When CmdSrc.Cfg_ExtAcqAsLevel = 0, the commands work on EDGE.
• write 1 to XCmd_Acq to acquire
• write 1 to XCmd_Rel to release
• the commands are cleared by the instruction.
When CmdSrc.Cfg_ExtAcqAsLevel = 1, the commands work as LEVEL.
• write 1 to XCmd_Acq to acquire
• write 0 to XCmd_Acq to release
• XCmd_Rel is not used.
Parameter Description
OCmd_Oper Operator command to acquire from Program
OCmd_Prog Operator command to release to Program
OCmd_Lock Operator command to lock command source into
Operator.
OCmd_Unlock Operator command to unlock command source from
Operator Locked state.
Sts_ProgOperLock 1 = Program or Operator command source is locked.
If Locked, Operator cannot take from Program, Program
cannot take from Operator, and Override cannot take
from Program / Operator unless Cfg_OvrdOverLock = 1.
Sts_ProgOperSel 1 = Program selected.
0 = Operator selected.
Sts_Oper 1 = Command Source is Operator.
Parameter Description
PCmd_Prog Program command to acquire from Operator.
PCmd_Oper Program command to release to Operator.
PCmd_Lock Program command to lock command source into
Program.
PCmd_Unlock Program command to unlock command source from
Program locked state.
Sts_ProgOperLock 1 = Program or Operator command source is locked.
If locked, Operator cannot take from Program, Program
cannot take from Operator, and Override cannot take
from Program/Operator unless Cfg_OvrdOverLock = 1.
Sts_ProgOperSel 1 = Program selected.
0 = Operator selected.
Sts_Prog 1 = Command Source is Program.
IMPORTANT The Program commands to acquire and release can be configured as LEVEL or
EDGE.
When Cfg_PCmdProgAsLevel is 0, the commands work on EDGE.
• Set PCmd_Prog to 1 to acquire Program command source.
• Set PCmd_Oper to 1 to release to Operator command source.
• The instruction clears these parameters to 0.
When Cfg_PCmdProgAsLevel is 1, the commands work as LEVEL:
• Set PCmd_Prog to 1 to acquire Program command source.
• Clear PCmd_Prog to 0 to release to Operator command source.
• PCmd_Oper is not used.
IMPORTANT The Program commands to lock and unlock can be configured as LEVEL or EDGE.
When Cfg_PCmdLockAsLevel is 0, the commands work on EDGE:
• Set PCmd_Lock to 1 to acquire and lock Program command source.
• Set PCmd_Unlock to 1 to unlock Program command source.
• The instruction clears these parameters to 0.
Hand Command Source is used when a device has hardwired or other local
control and the process object cannot control the object. A common example is
when a hardwired Hand/Off/Auto or Local/Remote circuit is used. See Figure 8.
When the switch is in the Local position, CmdSrc.Inp_Hand is asserted to tell
the process object it has no control of the motor. The object monitors the run
feedback from the device and displays the actual state. The object also tracks the
state of the device for bumpless transfer back to another Command Source (such
as Operator).
External Command Source is used when a device has another location for control
(local or remote), other than the HMI, and the process object must still control
the object. A common example is when a local pushbutton operator station is
used. See Figure 9. The difference here is that when the switch is in the Local
position, the process object is placed in External Command Source, and the
process object DOES have control of the motor.
When XCmd_Acq is true, the faceplate shows the Command Source as External
and the object starts and stops the motor normally, with commands XCmd_Start
and XCmd_Stop coming from the local pushbuttons. The object obeys the
normal software interlocks and permissives (and bypassing) attached to the
block, because the process object is in control of the motor. Transfer to Operator,
Program or another Command Source occurs when XCmd_Acq clears and is
bumpless.
Alarms
The P_CmdSrc Add-On Instruction does not generate any alarms. The
individual input conditions can be alarmed, if necessary, in other logic before
they are sent to the inputs of the P_CmdSrc instruction.
Simulation
Execution
Condition Description
EnableIn False (false rung) If the P_CmdSrc instruction is placed on a false rung or if the EnableIn pin is set
to 0, processing proceeds as normal except that these command source status
bits (Sts_Hand, 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. The HMI shows the
underlying requests so the Operator knows what command source is active
when the instruction is again enabled.
Powerup (prescan, first scan) On prescan, the Program/Operator command source selection is set based on
the Default source configuration (Cfg_ProgDefault):
• Cfg_ProgDefault = 1 Set Program/Operator selection to Program
• Cfg_ProgDefault = 0 Set Program/Operator selection to Operator
The Program or Operator lock selection is set to unlocked.
The Maintenance command source acquired/released state is not modified and
persists through a controller powerup or PROG-to-RUN transition.
Hand and Override command source selections are based on their Input states
in the normal Logic scan; they are not modified in prescan.
Postscan (SFC transition) No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Operator Prompt This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
(P_Prompt) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The RespData tag at the bottom of the P_Prompt function block lets you define
where to store operator responses. This tag stores any operator response as a string
in the application.
Functional Description
Use a prompt to request input from an operator. The input can be any of the
following:
• Acknowledging the prompt
• Viewing and confirming data
• Making a selection
• Entering numeric data
• Entering text data
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
instruction set for programming logic as a supplement to the instruction set
provided natively in the ControlLogix® firmware. An Add-On Instruction is
defined once in each controller project, and can be instantiated multiple times in
your application code as needed.
Controller File
The P_Prompt_4.10.00_AOI.L5X Add-On Instruction must be imported into
the controller project to be able to be used in the controller configuration. The
service release number (boldfaced) can change as service revisions are created.
Operations
The P_Prompt Add-On Instruction does not use modes, alarms, or simulation.
IMPORTANT See Chapter 2 for the P_Seq instruction. The Sequencer can be used with the
Prompt instruction for manual prompt operations.
Boolean Logic with This section is for the operation of the Add-on Instruction. For your reference,
the lists of AOI parameters and local tags for each instruction family are attached
Snapshot (P_Logic) to this PDF in the form of a Microsoft Excel spreadsheet. See Access the
Attachments on page 12 for how to access the attachments. The visualization
files, display elements, global objects, and HMI information are contained in
publication PROCES-RM014.
The following screen capture shows the functional characteristics of the P_Logic
Add-On Instruction.
Functional Description
– Logical OR: The output of the gate is true if any of the enabled gate
inputs (after configured inversions) are true. An OR gate can have
1…4 inputs enabled.
– Logical XOR (Exclusive OR): The output of the gate is true if an odd
number of the enabled gate inputs (after configured inversions) is true.
An XOR gate can have 1…4 inputs enabled.
– Set-Reset: The output of the gate is set true if one of its Set inputs is
true, and is cleared to false if one of its Reset inputs is true. Dominant
inputs have priority over non-dominant inputs.
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 output of the gate is
set true if most of its inputs (after configured inversions) are true (2 out
of 2, 2 out of 3, or 3 out of 4). A Majority gate can have 2…4 inputs
enabled.
• Provides configurable on-delay time and off-delay time for the output of
the instruction.
• Provides a snapshot capability, which captures the state of the instruction
(all input states, gate states, and output state) for use later (until reset). The
snapshot capability can be used to capture 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 (year, month, day, hour, minute, second, microsecond).
• Provides options to enable the 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 the state of the scan when a loopback input
becomes true. This last capability enables the snapshot to be captured
in a case where the P_Logic output condition was the first-out
condition in a downstream P_Intlk block. The first-out indication
from the P_Intlk instruction can be looped back to the Inp_Hold input
of the P_Logic Instruction to hold the last-scan state in the snapshot
(including time stamp of the last scan).
Required Files
Add-On Instructions are reusable code objects that contain encapsulated logic
that can streamline implementing your system. This lets you create your own
Controller File
Operations
Alarms
The P_Logic Add-On Instruction does not provide any alarms. If an alarm is
required, use P_Din or use the interlock alarm of the device, such as P_Motor.
Simulation
The Boolean Logic Add-On Instruction does not have a Simulation capability.
Execution
Condition Description
Prescan Resets the output on-delay and off-delay timers; clears
the snapshot time stamp and data; clears any
commands that are received while controller was in
Program command source.
EnableIn False Clears output to false (off) and resets the output on-
delay and off-delay timers.
Postscan No SFC Postscan logic is provided.
For more information, see the Logix 5000 Controllers Add-On Instructions
Programming Manual, publication 1756-PM010.
Programming 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 three windings are above the high-high temperature limit, or if the
majority of the windings are above the high temperature limit. P_Logic is being
used to perform this function. The output of this logic feeds the interlock of the
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 P_Logic 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
P_Logic.
To configure the gate functions (Gates 1 and 6 as OR and Gate 5 as Majority), use
the following settings:
• Cfg_GateFunc[1] = 2
• Cfg_GateFunc[5] = 6
• Cfg_GateFunc[6] = 2
Gate 1 is configured to look at the three high-high status inputs (Inp_0, Inp_2,
and Inp_4) by using the following 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 configured to look at the three high status inputs (Inp_1, Inp_4, and
Inp_5) by using the following 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 configured to look at the outputs of gates 1 and 5 by using the
following 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 P_Logic block.
The on-delay time is then set to 5 seconds to prevent spurious trips of the output
(Cfg_OnDelay = 5).
Lastly, the string descriptions are used to provide documentation for you on the
faceplate. In this example, they are set as follows:
• Cfg_0StText = OK
• Cfg_1StText = Tripped
• Cfg_Desc = Winding High Temperature Logic
• Cfg_Label = Configurable Logic
• Cfg_Tag = P_Logic
• Cfg_InpTxt[0] = Winding A Hi-Hi Temp
• Cfg_InpTxt[1] = Winding A Hi Temp
• Cfg_InpTxt[2] = Winding B Hi-Hi Temp
• Cfg_InpTxt[3] = Winding B Hi Temp
• Cfg_InpTxt[4] = Winding C Hi-Hi Temp
• Cfg_InpTxt[5] = Winding C Hi Temp
This appendix describes Command Sources, Simulation, and the specific types
that apply to each object.
IMPORTANT Simulation types for Add-On Instructions are not to be confused with
VMWare-style virtualization, which offers PlantPAx® system element
templates.
Command Sources The Command Source selection determines the source of Commands and
Settings for the object. For example, when the Command Source is Operator, the
object processes Commands and Settings from the Operator. The available
Command Sources are listed in Table 21.
Not all Command Sources are used in every object. Table 22 provides a list of
which Command Sources are used for each object.
Highlighted indicators on the object faceplate display show which sources have
requested control. If more than one source is requesting control, multiple
indicators are highlighted. The sources are shown in priority order, and the
highlighted source furthest to the left has control. If that source relinquishes
control, the next source in priority order assumes control of the object.
A triangle in the upper left corner (as seen in the following screen capture on the
icon in the far right) indicates the “Normal” command source.
Program Program logic controls the object. Program Commands, such as PCmd_Start
and PCmd_Stop, and Program Settings, such as PSet_SP and PSet_CV, are
accepted.
External An external system or other external devices control the object via logic.
External Commands, such as XCmd_Start and XCmd_Stop, and External
Settings, such as XSet_SP, XSet_CV, from Logic are accepted. Examples of
external devices and systems that may control an object include a SCADA
master system or local pilot devices (push buttons, switches, pilot lights).
Override Priority logic controls the object and supersedes Operator, Program, and
External control. The Override Command Input (Inp_OvrdCmd) and other
Override settings are accepted. If so configured (for example,
Cfg_OvrdPermIntlk=1), bypassable interlocks and permissives are
bypassed.
Maintenance Maintenance controls the object and supersedes Operator, Program,
External, and Override control. Operator Commands and Settings from the
HMI are accepted. Bypassable interlocks and permissives are bypassed, and
feedback timeout checks are not processed.
Out of Service The object may be placed Out of Service by Maintenance from the HMI
(Maintenance Out of Service). The object may also be placed Out of Service
by scanning the instruction false (in a ladder diagram implementation) or by
exposing and wiring the EnableIn input pin and setting it false (in a Function
Block Diagram implementation). When the object is Out of Service, outputs
are held de-energized / at zero, and alarms are inhibited.
Hand Hardwired circuits or other logic outside the instruction controls the object,
ignoring outputs of the instruction. The instruction tracks the state of the
object via inputs for bumpless transfer back to another command source.
Notes:
Long Integer and Time The Rockwell Automation Library of Process Objects provides additional sets of
Add-On Instructions. The Logix firmware does not provide operations on Long
Instructions Integers (LINT, 64-bit signed integers) used as time stamps. The instructions in
Table 23 provide 64-bit integer math functionality for the Library objects.
The long integer instructions are calculation functions only, and no HMI
components are provided.
Table 23 - Long Integer Instructions
Name Short Description Long Description File Name
L_ABS Absolute Value (64 bit) This instruction returns the absolute value (positive magnitude) of an input 64-bit L_ABS_1_0-00_AOI.L5X
integer (LINT) value.
L_ADD Add (64 bit) Adds two LINT (signed 64 bit) values and returns a LINT (signed 64 bit) sum. L_ADD_1_0-00_AOI.L5X
Also provides math status bits for Carry, Negative, Overflow, and Zero result (equivalent
to built-in S:C, S:N, S:V, S:Z).
L_AND Bitwise AND (64 bit) This instruction returns the bitwise Logical AND (output bit true if both corresponding L_AND_1_0-00_AOI.L5X
input bits true) of two input 64-bit integers (LINTs), into an output 64-bit integer.
L_DEC Decrement (64 bit) This instruction decrements the input 64-bit integer, to return its value minus 1. L_DEC_1_0-00_AOI.L5X
L_DIV Divide (64 bit by 32 bit) This instruction implements an elementary-school shift/subtract (looping) method of L_DIV_1_0-00_AOI.L5X
dividing a 64-bit integer (LINT) dividend by a 32-bit integer (DINT) divisor. The
resulting quotient is a 64-bit integer (LINT), and the remainder (32-bit integer DINT) is
also returned.
L_EQU Equal (64 bit) This instruction compares two LINT (64-bit signed integer) variables. L_EQU_1_0-01_AOI.L5X
If Inp_A is equal to Inp_B, EnableOut and Out are set to true (1). Otherwise EnableOut
and Out are cleared to false (0).
L_FtoH Float to Half-Precision This instruction converts a 32-bit single-precision floating point number (REAL) to the L_FtoH_1_0-00_AOI.L5X
best equivalent 16 bit ‘half-precision’ floating point number (stored in an INT, because
Logix does not have a SREAL type).
If Inp_A is greater than or equal to Inp_B, EnableOut and Out are set to true (1).
Otherwise EnableOut and Out are cleared to false (0).
L_GRT Greater Than (64 bit) This instruction compares two LINT (64 -bit signed integer) variables. L_GRT_1_0-01_AOI.L5X
If Inp_A is greater than Inp_B, EnableOut and Out are set to true (1). Otherwise
EnableOut and Out are cleared to false (0).
L_HtoF Half-Precision to Float This instruction converts a 16 bit (‘half-precision’) floating point number (contained in L_HtoF_1_0-00_AOI.L5X
an INT, as Logix doesn't have an SREAL type) to the equivalent 32-bit single-precision
floating point number (REAL).
If Inp_A is less than or equal to Inp_B, EnableOut and Out are set to true (1).
Otherwise EnableOut and Out are cleared to false (0).
L_LES Less Than (64 bit) This instruction compares two LINT (64-bit signed integer) variables. L_LES_1_0-01_AOI.L5X
If Inp_A is less than Inp_B, EnableOut and Out are set to true (1). Otherwise EnableOut
and Out are cleared to false (0).
L_LIM Limit Test (Circular) (64 bit) This instruction compares a 64-bit Input with a 64-bit High Limit and a 64-bit Low L_LIM_1_0-01_AOI.L5X
Limit.
There are two cases: a ‘normal case’ (Low Limit <= High Limit) and a ‘circular case’
(Low Limit > High Limit) In the normal case, EnableOut, and Out are set if: Low Limit
<= Input <= High Limit In the circular case, EnableOut, and Out are set if: Input >=
Low Limit OR Input <= HighLimit (remember, High Limit < Low Limit)
This instruction can be used in ladder diagram, structured text, or function block
Routines just like the LIM instruction is used for 32-bit integers and floating point
numbers. However, because it has InOut Parameters (references to tags of LINT type), it
is not left justified on ladder rungs.
In other words, Output = (Output AND NOT Mask) OR (Source AND Mask).
L_NEG Negate (64 bit) This instruction returns the negative (2's complement) of an input 64-bit integer L_NEG_1_0-00_AOI.L5X
(LINT) value.
L_NEQ Not Equal (64 bit) This instruction compares two LINT (64-bit signed integer) variables. L_NEQ_1_0-01_AOI.L5X
If Inp_A is not equal to Inp_B, EnableOut and Out are set to true (1). Otherwise
EnableOut and Out are cleared to false (0).
L_NOT Bitwise NOT (64 bit) This instruction returns the bitwise Logical NOT (inverse or 1's complement) of an input L_NOT_1_0-00_AOI.L5X
64-bit integer (LINT) value. (It flips all bits.)
L_OR Bitwise OR (64 bit) This instruction returns the bitwise Logical OR (output bit true if either of the L_OR_1_0-00_AOI.L5X
corresponding input bits are true) of two input 64-bit integers (LINTs), into an output
64-bit integer.
L_OTE Output Energize (64 bit) This instruction energizes the given bit of the referenced LINT (64-bit integer) tag, that L_OTE_1_0-00_AOI.L5X
is, it sets the given bit (true, 1) if the EnableIn condition is true, or clears the given bit
(false, 0) if the EnableIn condition is false.
If the given bit number is outside the range 0…63, the controller major faults on an
invalid array index (bad bit number.) There is no validity check of the given bit number.
If the given bit number is outside the range 0…63, the controller major faults on an
invalid array index (bad bit number). There is no validity check of the given bit number.
L_OTU Output Unlatch (64 bit) This instruction unlatches the given Bit of the referenced LINT (64-bit integer) tag, that L_OTU_1_0-00_AOI.L5X
is, it clears the given bit (false, 0) if the EnableIn condition is true, or leaves the given
bit (and the referenced LINT) unmodified if the EnableIn condition is false.
If the given Bit number is outside the range 0…63, the controller major faults on an
invalid array index (bad bit number). There is no validity check of the given bit number.
L_SEL Select (64 bit) This instruction returns Input A if the input selector bit is false, Input B if the selector L_SEL_1_0-00_AOI.L5X
bit is true.
IMPORTANT: When EnableIn is false, the input selector bit sense is reversed. With the
selector bit default value of 1, the rung state in an LD instance controls the selector in a
straightforward manner. If the rung is true, select Inp_B; if the rung is false, select
Inp_A.
L_SUB Subtract (64 bit) Subtracts two LINT (signed 64 bit) values and returns a LINT (signed 64 bit) difference. L_SUB_1_0-00_AOI.L5X
Also provides math status bits for Carry (borrow), Negative, Overflow, and Zero result
(equivalent to built-in S:C, S:N, S:V, S:Z).
L_XIC Examine On (64 bit) This instruction examines the given Bit of the input LINT (64-bit integer) and outputs L_XIC_1_0-00_AOI.L5X
true (1) if the bit is 1, false (0) if the bit is 0.
IMPORTANT: Use the output rung state or EnableOut to feed downstream logic. The
output bit ‘Out’ reflects only the state of the given bit, for ladder animation, and not
the rung state.
If the given bit number is outside the range 0…63, the controller major faults on an
invalid array index (bad bit number). There is no validity check of the given bit number.
L_XIO Examine Off (64 bit) This instruction examines the given Bit of the input LINT (64-bit integer) and outputs L_XIO_1_0-00_AOI.L5X
true (1) if the bit is 0, false (0) if the bit is 1.
IMPORTANT: Use the output rung state or EnableOut to feed downstream logic. The
output bit ‘Out’ reflects only the state of the given bit, for ladder animation, and not
the rung state.
If the given bit number is outside the range 0…63, the controller major faults on an
invalid array index (bad bit number). There is no validity check of the given bit number.
L_XOR Bitwise XOR (64 bit) This instruction returns the bitwise Logical XOR (exclusive OR, output bit true if either L_XOR_1_0-00_AOI.L5X
but NOT both of the corresponding input bits are true) of two input 64-bit integers
(LINTs), into an output 64-bit integer.
T_LtoT LTIME to DateTime This instruction converts an LTIME (64-bit integer time stamp, for example, from an T_LtoT_1_0-00_AOI.L5X
ALMD or ALMA instruction or the WallClockTime object) to a DateTime (Year, Month,
Day, Hour, Minute, Second, Microsecond as DINTs) in Coordinated Universal Time (UTC
offset = 0).
The output LTIME is the 64 bit (LINT) number of microseconds since DT#1970-01-
01_00:00:00.000000 UTC.
Time and Date Instructions The Rockwell Automation Library of Process Objects also includes instructions
for time and date functions.
The time and date instructions are calculation functions only, and no HMI
components are provided.
Table 24 - Time and Date Instructions
Name Short Description Long Description File Name
T_ADD DateTime:= DateTime + T_Add; Add Date/Time plus time to get new Date/Time T_ADD_1_0-01_AOI.L5X
Time
This instruction adds a given amount of Time to a Date/Time to arrive at a new
Date/Time. The new Date/Time is ‘normalized’, that is, given as a valid (if possible)
Gregorian Date and Time:
• Accepts downloaded date and time from HMI or other sync source and sets the clock
• Reads the clock and provides the local date and time to other logic
– IMPORTANT: Current date/time is provided as individual DINTs and as a Date
Time type for use with Date/Time math instructions (T_ADD, T_SUB, T_GRT, and
so forth)
• Calculates and provides the day of the week for the current date
– IMPORTANT: Use T_DoW to calculate the day of the week for any given date
• Optionally sets a flag once a day to request a clock sync update
• Based on configured shift start times, determines the current production shift (for
up to three shifts). The controller clock can be synchronized by writing a valid year,
month, day, hour, minute, and second into the appropriate settings. When the clock
has been set, the settings are returned to ‘-1’ and the time is reflected in the
corresponding values and status.
T_DIFF Time:= DateTime - DateTime T_DIFF: Date/Time minus Date/Time gives time difference T_DIFF_1_0-00_AOI.L5X
This instruction is given two Date/Time points and determines the amount of time
between them. The result is given in days, hours, minutes, seconds, and microseconds.
(Years and months are returned as zero, as the number of months is not used.) The
Date/Time parameters must be valid Gregorian Dates and valid clock times:
This instruction takes a given Date/Time, and, for the date part, returns the day of the
week:
(0 = Sun, 1 = Mon, 2 = Tue, 3 = Wed, 4 =T hu, 5 = Fri, 6 = Sat)
If the given date is invalid, a flag is set (but the calculated day of the week is returned
anyway.)
For use with HMI, it also provides values for display of the Month/Day and Hour/Minute
of the points in time when DST starts and ends. Plus, for logging logic, it provides bits
to indicate when time stamps have an overlap (1:30 a.m. happens twice) or there is a
gap (one-shot).
The clock is switched to DST based on the rules that are entered if DST is in effect for
your location.
Configuration:
• Cfg_FwdMo -- Month that is specified in rule for date to spring forward (1…12)
• Cfg_FwdOccur -- Occurrence of day of week to spring forward
1 = first, 2 = second…5 = last
• Cfg_FwdDoW -- Day of the week to spring forward
(0 = Sun…6 = Sat)
• Cfg_FwdDoM -- Day of month for spring forward if on a fixed date (1…31)
• Cfg_FwdDoWBefore -- Day of the week BEFORE the first…last day of week or date
(0 = Sun…6 = Sat)
• Cfg_FwdHr --Hour (LOCAL) to spring forward (0…23)
• Cfg_FwdMin -- Minute (LOCAL) to spring forward (0…59)
• Cfg_FwdFixedDate --1 = Spring forward on fixed date, 0 = on occurrence of day of
week
• Cfg_FwdUseBefore --1 = Spring forward on day of week before date or day of
week
• Cfg_BackMo -- Month that is specified in rule for date to fall back (1…12)
• Cfg_BackOccur -- Occurrence of day of week to fall back 1 = first,
2 = second…5 = last
• Cfg_BackDoW -- Day of the week to fall back
(0 = Sun…6 = Sat)
• Cfg_BackDoM -- Day of month for fall-back if on a fixed date (1…31)
• Cfg_BackDoWBefore -- Day of the week BEFORE the first…last day of week or date
(0 =S un…6 = Sat)
• Cfg_BackHr --Hour (LOCAL) to fall back (0…23)
• Cfg_BackMin -- Minute (LOCAL) to fall back (0…59)
• Cfg_BackFixedDate -- 1 = Fall-back on fixed date, 0=on occurrence of day of week
• Cfg_BackUseBefore: --1 = Fall-back on day of week before date or day of week
• Cfg_Offset --Number of minutes to spring forward or fall back
(0…1439, default = 60)
• Cfg_EnableDST --1 = Automatically adjust clock for DST,
0 = Always Standard Time, no DST
First Sunday in Last Sunday in Saturday before For 2014: Sunday between
November at October at 01:00 Last Sunday in June 28 at Rosh Hashanah
"Fall Back" Rule
02:00 Local UTC October at 23:00 02:00 Local and Yom Kippur
UTC (varies)
Cfg_BackMo 11 10 10 6 varies
Cfg_BackOccur 1 5 5 --- varies
Cfg_BackDoW 0 0 0 --- 0
Cfg_BackDoM - - - 28 -
Cfg_BackDoWBefore - - 6 - -
Cfg_BackHr 2 varies by zone varies by zone 2 2
Cfg_BackMin 0 0 0 0 0
Cfg_BackFixedDate 0 (false) 0 (false) 0 (false) 1 (true) 0 (false)
Cfg_BackUseBefore 0 (false) 0 (false) 1 (true) 0 (false) 0 (false)
Cfg_Offset 60 60 60 60 60
Cfg_EnableDST 1 1 1 1 1
If DT1 is equal to DT2, EnableOut and Out are set to true (1).
Otherwise EnableOut and Out are cleared to false (0).
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the EQU instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the GEQ instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
T_GRT DateTime > DateTime? This instruction compares two Date-and-Time-of-Day (DateTime) variables. T_GRT_1_0-01_AOI.L5X
If DT1 is greater than (after) DT2, EnableOut and Out are set to true (1).
Otherwise EnableOut and Out are cleared to false (0).
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the GRT instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the LEQ instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
T_LES DateTime < DateTime? This instruction compares two Date-and-Time-of-Day (DateTime) variables. T_LES_1_0-01_AOI.L5X
If DT1 is less than (before) DT2, EnableOut and Out are set to true (1).
Otherwise EnableOut and Out are cleared to false (0).
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the LES instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the LIM instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
T_LtoT LTIME to DateTime This instruction converts an LTIME (64-bit integer time stamp, for example, from an ALMD T_LtoT_1_0-01_AOI.L5X
or ALMA instruction or the WallClockTime object) to a DateTime (year, month, day, hour,
minute, second, microsecond as DINTs) in Coordinated Universal Time (UTC offset = 0).
This instruction can be used in ladder diagram, structured text, or function block Routines
just like the NEQ instruction is used for integers and floating point numbers. However,
because it has InOut Parameters (tag references to user-defined data types), it is not left
justified on ladder rungs.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
T_Now Current DateTime Returns the current local date and time from the controller clock as a DateTime T_Now_1_0-00_AOI.L5X
In/Out Parameter.
• Yr -- DINT (year)
• Mo -- DINT (month)
• Da -- DINT day)
• Hr -- DINT (hour)
• Min -- DINT (minute)
• Sec -- DINT (second)
• uSec -- DINT (microsecond)
T_Scan Time Since Previous Returns the time between the previous scan of the instance and the current scan of the T_Scan_1_0-01_AOI.L5X
Scan same instance as a REAL number of Seconds.
T_SEL DateTime Select This instruction uses an Input bit signal to select one of two Date/Time values. T_SEL_1_0-00_AOI.L5X
IMPORTANT: The selected Date/Time is only ‘moved through’ as-is; it is not ‘normalized’
to a valid Gregorian Date and Time:
Inp_Sel is defaulted to 1 so this instruction can be used on a ladder diagram routine rung
with the rung condition as the selector: Rung True selects DT1, Rung False selects DT0. The
Inp_Sel is inverted when EnableIn is False (false rung). This inversion can be useful
beyond this ladder diagram function.
T_SUB DateTime:= DateTime - T_Sub: Subtract Date/Time minus time to get new Date/Time. T_SUB_1_0-01_AOI.L5X
Time
This instruction subtracts a given amount of time from a Date/Time to arrive at a new
Date/Time. The new Date/Time is ‘normalized’, that is, given as a valid (if possible)
Gregorian Date and Time:
Solar Azimuth (heading, clockwise in degrees from true north) and Elevation (degrees
above horizon) are calculated and accurate to within about half a degree when the sun is
above the horizon. Azimuth bearing is not necessarily accurate when elevation is more
than a degree or two negative.
The given date is assumed valid. If necessary, check by using T_Valid first.
IMPORTANT: This instruction uses only the month and day to estimate the sunrise and
sunset times to within a couple minutes. It does not deal with detailed astronomical
calculations that are based on planetary models. It is based on the current Gregorian
calendar and does not deal with Julian dates for dates before 1582.
Cfg_PollT: The Poll Time (default = 1440 min = 1 day) is the number of minutes between
polls of the NTP server for excellent time reliability after a successful get of the time.
Cfg_RetryT: The Retry Time (default = 60 min = 1 hour) is the number of minutes
between polls of the NTP server for excellent time reliability after a failure to get the
time.
Cfg_ENSlotNumber: Enter the chassis slot number of the EtherNet/IP module (for
example, 1756-EN2T) that can communicate with the time server. This module must
support ‘socket services’. For more information, see the EtherNet/IP Socket Interface
Application Technique, publication ENET-AT002.
TIP: For CompactLogix™ controllers with built-in Ethernet interface (for example, the
1769-L36ERM), use a value of 1.
IMPORTANT: The Cfg_ENSlotNumber value is used to build the Path for the MSG
instructions that are used in T_Sync. If you change Cfg_ENSlotNumber while the
controller is running, you can cycle the controller to PROG and back to RUN for the Path
change to take effect.
Cfg_AllowClockUpdate:
1 = Allow Add-On Instruction to update controller clock.
0 = Get the time (UTC) and display it.
Cfg_AllowMCmdSync:
1 = Permit manual sync request via MCmd_Sync.
0 = No manual sync request allowed.
Cfg_AllowPeriodicSync:
1 = Permit enabling periodic clock sync via MCmd_Enable.
0 = Periodic sync is kept disabled.
Cfg_SyncOnPwrup:
1 = Request time sync on controller first scan.
0 = Do not initiate sync on controller first scan.
This object calculates the ISO Year, ISO Week, and ISO Day (day of the week). The ISO Day is
specified as 1=Monday …7=Sunday. This object also determines the number of weeks
(52 or 53) in the calculated ISO Year.
The Date to convert is given in the Year, Month, and Day of the Ref_DT reference tag, of
type DateTime (Year, Month, Day, Hour, Minute, Second, Microsecond).
The Week-Numbered Year does not necessarily start on January 1. It can start from
December 29 through January 4. The first week of an ISO Week-Numbered Year is the
week, beginning with Monday and ending on Sunday, which contains the first THURSDAY
of the calendar year. See Wikipedia, ‘ISO Week Date’, for more information.
T_TtoL DateTime to LTIME This instruction converts a DateTime (year, month, day, hour, minute, second, microsecond T_TtoL_1_0-00_AOI.L5X
as DINTs) in Coordinated Universal Time (UTC offset = 0) to an
LTIME (64-bit integer time stamp, for example, from an ALMD or ALMA instruction or the
WallClockTime object).
This instruction checks for a valid (Gregorian) date and time and returns ‘Invalid Date’ and/
or ‘Invalid Time’ as appropriate in the output STRING. The following are valid
dates/times:
• 0 <= Microseconds < 1,000,000
• 0 <= Seconds < 60
• 0 <= Minutes < 60
• 0 <= Hours < 24
• 1<= Days <= 31 and a valid Gregorian Date (Feb = 28 or 29 days)
• 1 <= Month <= 12
• Year in the range +/- 5879600
The names of the days of the week and the months of the year, and the AM and PM
indicator text can be changed by using the Local Tags Monitor for the instance.
IMPORTANT: This instruction does not switch to Julian dates for dates before 1582 (or
1753). This instruction assumes that the Gregorian Calendar extends ‘indefinitely’ (at least
5.8 million years) either side of ‘zero’. It does handle the Gregorian 4-, 100-, 400-year
rules, so Feb. 29, 2000 is a valid date, but Feb. 29, 2100 is not.
Process Strategies
Process Strategies Process strategies incorporate the Rockwell Automation Library of Process
Objects. To meet control system needs, process strategies provide pre-connected
functionality. These sets of connected Process Library objects help reduce
implementation time and improve control objectives for process devices.
The strategies can be imported as Function Block routines and Ladder Logic
rung imports. For more information, see the PlantPAx System Application
Configuration User Manual, publication PROCES-UM003.
Notes:
D execution
deadband controller (P_DBC) 74 2-state valve statistics 298
advanced analog input 31
alarms 89 analog fanout 81
execution 89 analog input 22
functional diagram 88 analog input channel 26
diagram analog output 62
lead/lag/standby 105 analog/pulsed control valve 274
discrete 2-, 3-, or 4-state device (P_D4SD) 310 boolean logic with snapshot 368
alarms 337 central reset 343
execution 337 common alarm block 350
discrete input (P_DIn) common mode block 362
enablin false implementation 48 condition gate delay 314
discrete input object (P_DIn) 17 deadband controller 89
discrete 2-, 3-, o4 4-state device 337
alarms 45, 52 discrete input 45, 52
execution 45, 52
discrete output 56
functional diagram 42, 54, 59, 64, 68, 72, 75,
dual sensor analog input 35
79, 84, 87, 90, 93, 101, 119, 124, e1 plus electronic overload relay 243
128, 132, 135, 150, 166, 184, flowmeter dosing 98
196, 215, 221, 227, 242, 246,
hand-operated motor 134
251, 258, 262, 270, 278, 282,
hand-operated valve 280
286, 292, 297, 301, 313, 317, high or low selector 85
330, 335, 342, 346, 353, 363, 365
interlocks with first out and bypass 320, 326
discrete output (P_DOut) 18
lead/lag/standby motor group 108
alarms 55 mix-proof valve 288
execution 56 motor-operated valve 285
dual sensor analog input (P_AInDual) 16 multiple analog input 39
alarms 34 n-position device 305
execution 35 permissives with bypass 332
functional diagram 32 PIDE 77
powerflex 523/525 drive 139
powerflex 6000 drive 189
E powerflex 7000 drive 204
e1 plus electronic overload relay (P_E1PlusE) powerflex 753 drive 155
powerflex 755 drive 172
117
pressure/temperature flow 65
alarms 243 restart inhibit for large motor 264
execution 243 reversing motor 130
e3/e3 plus overload relay (P_E3Ovld) 117 sequencer 92
alarms 248 single-speed motor 122
execution 248 smc flex smart motor controller 225
required overload setup 247 smc-50 smart motor controller 219
e300 overload relay (P_E300Ovld) 117 solenoid-operated valve 296
required overload setup 252 tank strapping table 70
two-speed motor 126
variable-speed drive 233
F
fanout
alarms 81
execution 81
flowmeter dosing (P_DoseFM) 74
alarms 96
execution 98
functional diagram 93
functional diagram M
advanced analog input 28 mix-proof valve (P_ValveMP) 268
analog input 20
analog output 59 alarms 287
analog/pulsed vontrol valve 272 execution 288
boolean logic with snapshot 365 modes
common mode block 353 common mode block 355
discrete input 42, 54, 59, 64, 68, 72, 75, 79, library objects 372
84, 87, 90, 93, 101, 119, 124, motor-operated valve (P_ValveMO) 268
128, 132, 135, 150, 166, 184, alarms 284
196, 215, 221, 227, 242, 246, execution 285
251, 258, 262, 270, 278, 282, multiple analog input (P_AInMulti) 17
286, 292, 297, 301, 313, 317, alarms 38
330, 335, 342, 346, 353, 363, 365 execution 39
dual sensor analog input 32
flowmeter dosing 93
interlocks with first out and bypass 317 N
n-position device 301
restart inhibit 262 n-position device (P_nPos) 269
runtime and start counter 258 alarms 304
execution 305
functional diagram 301
H
hand-operated motor (P_MotorHO) 114 O
alarms 133
execution 134 operation
hand-operated valve (P_ValveHO) 267 deadband controller 88
alarms 279 interlocks 318
execution 280 prompt 364
HART analog input (P_AInHART) 19 operator
HART analog output (P_AOutHART) 19 common mode block 357
operator prompt (P_Prompt) 311
high or low selector (P_HiLoSel) 74
alarms 85 operation 364
execution 85
P
I permissives with bypass (P_Perm) 310
I/O processing alarms 331
execution 332
purpose 15 functional diagram 330
when not to use 15
PIDE 73
when to use 15
instruction alarms 76
execution 77
long integer 375
powerflex 523/525 drives (P_PF52x) 114
time and date 378
interlocks with first out and bypass (P_Intlk) alarms 138
execution 139
309 required drive set up 136
alarms 319, 325 powerflex 6000 drive (P_PF6000) 115
execution 320, 326
functional diagram 317 alarms 187
execution 189
primary operations 317, 318
powerflex 7000 drive (P_PF7000) 116
alarms 203
L execution 204
powerflex 753 drive (P_PF753) 115
lead/lag/standby motor group (P_LLS) 74, 101
alarms 153
alarms 108 execution 155
execution 108 powerflex 755 drive (P_PF755) 115
functional diagram 105
long integer alarms 171
execution 172
instructions 375 pressure/temp compensated flow
(P_PTComp) 18
alarms 65
execution 65
Process Strategies V
available strategies 389 valves
description 389
purpose 267
when not to use 267
R when to use 267
variable-speed drive (P_VSD) 117
reference
alarms 232
manual scope 11 execution 233
regulatory/procedural control required connections 229
purpose 73
when not to use 73
when to use 73
restart inhibit for large motor (P_ResInh) 118
alarms 263
execution 264
functional diagram 262
reversing motor (P_MotorRev) 114
alarms 129
execution 130
rules for set-reset gate 367
runtime and start counter (P_RunTime) 118
alarms 260
functional diagram 258
S
scope
reference manual 11
sequencer object (P_Seq) 74
alarms 92
execution 92
single-speed motor (P_Motor) 113
alarms 121
execution 122
smc flex smart motor controller (P_SMCFlex)
116
alarms 224
execution 225
smc-50 smart motor controller (P_SMC50) 116
alarms 218
execution 219
solenoid-operated valve (P_ValveSO) 268
alarms 294
execution 296
T
tags
common mode block 357
tank strapping table (P_StarTbl) 19
alarms 69
execution 70
time and date
instructions 378
two-speed motor (P_Motor2Spd) 113
alarms 125
execution 126
Technical Support Center Knowledgebase Articles, How-to Videos, FAQs, Chat, User https://rockwellautomation.custhelp.com/
Forums, and Product Notification Updates.
Local Technical Support Phone Numbers Locate the phone number for your country. http://www.rockwellautomation.com/global/support/get-support-now.page
Find the Direct Dial Code for your product. Use the code to
Direct Dial Codes route your call directly to a technical support engineer. http://www.rockwellautomation.com/global/support/direct-dial.page
Documentation Feedback
Your comments will help us serve your documentation needs better. If you have any suggestions on how to improve this document, complete the
How Are We Doing? form at http://literature.rockwellautomation.com/idc/groups/literature/documents/du/ra-du002_-en-e.pdf.
Rockwell Automation maintains current product environmental information on its website at http://www.rockwellautomation.com/rockwellautomation/about-us/sustainability-ethics/product-environmental-compliance.page.
1336 PLUS, Allen-Bradley, E1 Plus, E300, FactoryTalk, Logix 5000, PlantPAx, PowerFlex, Rockwell Software, Rockwell Automation, SMC, Studio 5000 Logix Designer, and TotalFORCE are trademarks of Rockwell Automation, Inc.
Trademarks not belonging to Rockwell Automation are property of their respective companies.
Rockwell Otomasyon Ticaret A.Ş., Kar Plaza İş Merkezi E Blok Kat:6 34752 İçerenköy, İstanbul, Tel: +90 (216) 5698400