Process n-Position Device (PNPOS)

This information applies to the CompactLogix 5380P and ControlLogix 5580P controllers.
The Process n-Position Device (PNPOS) instruction controls and monitors feedback from a circular or linear discrete device with up to 30 positions. The PNPOS instruction provides outputs to select an individual position and outputs to move toward increasing positions (clockwise for a circular device) or decreasing positions (counterclockwise for a circular device).
Basic functionality
These drawings illustrate the basic functionality of the PNPOS instruction.
Linear Device Outputs (7-position device):
PNPOS_Linear7a PNPOS_Linear7b
Circular Device Outputs (7-position device):
PNPOS_Circular7
For linear devices, the PNPOS instruction can be configured to return to Position 1 on every move, approaching the target position from the same side on each move to improve position repeatability, or move directly to the new position.
For circular devices, the PNPOS instruction can be configured to move only clockwise to increase positions (for example, 28, 29, 30, 1, 2…) or both directions by using the shortest move (for example, clockwise from 28 to 1: 28, 29, 30, 1; or counterclockwise from 2 to 29: 2, 1, 30, 29).
Use the PNPOS instruction to:
  • Control and monitor a multi-position device (up to thirty positions), such as rotary valves, and other devices with multiple fixed positions.
  • Monitor limit switches or other position feedback and display actual device position.
  • Check for failure to reach the requested position within a configured time. Provide Alarm on Position Failure.
  • Monitor Permissive conditions to allow moving to a new position.
  • Monitor Interlock conditions to de-energize the device, or to request the device to return to Position 1. Provide an Interlock Trip Alarm if an interlock condition causes the device to de-energize or return to Position 1.
  • Provide outputs to request each position and provide outputs for increasing and decreasing position.
  • Provide outputs to sequence indexing cylinders for devices that use pneumatic or hydraulic devices to step through positions. The cylinders work in an Extend, Shift, Retract, Shift sequence to engage the device, and step it to the next position. The cylinder sequence reverses the Shift directions when driving circular devices counterclockwise (for devices that support bidirectional operation).
  • Optionally provide handling of a position lock or seal that must be driven to an unlocked or unsealed state before moving the device and returned to a locked or sealed state after the move is completed.
  • Provide capability for maintenance personnel to take the device out of service.
  • If the optional lock or seal is used, provide position feedback for the lock or seal to verify the locked or unlocked state at appropriate times. Provide Alarm for Lock Failure.
  • Provide a virtualization capability, responding as if a working device were present while keeping outputs de-energized. The virtualization capability can be used for activities such as system testing, operator training, or as part of a full process virtualization.
  • Monitor for I/O communication faults and provide an I/O Fault Alarm.
  • Provide an Available status for use by automation logic so the logic knows when it has control of the device.
  • Provide maintenance capabilities, such as the ability to bypass any bypassable interlocks or permissives or temporarily disable feedback checking.
  • Operate from Hand, Maintenance, Override, External, Program, and Operator command sources.
Available Languages
Ladder Diagram
PNPOS_avail_ladder_v35
Function Block Diagram
PNPOS_avail_FBD_v35
Structured Text
PNPOS(PNPOSTag, BusObj);
Operands
IMPORTANT:
Unexpected operation may occur if:
  • Output tag operands are overwritten.
  • Members of a structure operand are overwritten.
  • Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an instruction. See Data conversions.
Configuration Operands
Operand
Type
Format
Description
PlantPAx ControlPlantPAx Control
P_DISCRETE_N_POSITION
tag
Data structure required for proper operation of instruction.
BusObj
BUS_OBJ
tag
Bus component.
P_DISCRETE_N_POSITION Structure
Public members are standard, visible tag members that are programmatically accessible. Private, hidden members are used in HMI faceplates and are not programmatically accessible. Private members are listed in separate tables after public members.
Public Input Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
EnableIn
BOOL
Not Visible
Not Required
Input
Enable Input - System Defined Parameter
Default is true.
Inp_InitializeReq
BOOL
Not Visible
Not Required
Input
1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run. Use this request when reinitialization is needed. The instruction clears this operand automatically.
Default is true.
Inp_OwnerCmd
DINT
Not Visible
Not Required
Input
Owner device command (bitmapped): All bits off = None, .10 = Operator Lock, .11 = Operator Unlock, .12 = Program Lock, .13 = Program Unlock, .14 = Acquire Maintenance, .15 = Release Maintenance, .16 = Acquire External, .17 = Release External, .29 = Echo.
Default is 0.
Inp_Pos01FdbkData
BOOL
Visible
Not Required
Input
Position 1 feedback: 1 = Device is confirmed at Position 1.
Default is false.
Inp_Pos02FdbkData
BOOL
Visible
Not Required
Input
Position 2 feedback: 1 = Device is confirmed at Position 2.
Default is false.
Inp_Pos03FdbkData
BOOL
Visible
Not Required
Input
Position 3 feedback: 1 = Device is confirmed at Position 3.
Default is false.
Inp_Pos04FdbkData
BOOL
Not Visible
Not Required
Input
Position 4 feedback: 1 = Device is confirmed at Position 4.
Default is false.
Inp_Pos05FdbkData
BOOL
Not Visible
Not Required
Input
Position 5 feedback: 1 = Device is confirmed at Position 5.
Default is false.
Inp_Pos06FdbkData
BOOL
Not Visible
Not Required
Input
Position 6 feedback: 1 = Device is confirmed at Position 6.
Default is false.
Inp_Pos07FdbkData
BOOL
Not Visible
Not Required
Input
Position 7 feedback: 1 = Device is confirmed at Position 7.
Default is false.
Inp_Pos08FdbkData
BOOL
Not Visible
Not Required
Input
Position 8 feedback: 1 = Device is confirmed at Position 8.
Default is false.
Inp_Pos09FdbkData
BOOL
Not Visible
Not Required
Input
Position 9 feedback: 1 = Device is confirmed at Position 9.
Default is false.
Inp_Pos10FdbkData
BOOL
Not Visible
Not Required
Input
Position 10 feedback: 1 = Device is confirmed at Position 10.
Default is false.
Inp_Pos11FdbkData
BOOL
Not Visible
Not Required
Input
Position 11 feedback: 1 = Device is confirmed at Position 11.
Default is false.
Inp_Pos12FdbkData
BOOL
Not Visible
Not Required
Input
Position 12 feedback: 1 = Device is confirmed at Position 12.
Default is false.
Inp_Pos13FdbkData
BOOL
Not Visible
Not Required
Input
Position 13 feedback: 1 = Device is confirmed at Position 13.
Default is false.
Inp_Pos14FdbkData
BOOL
Not Visible
Not Required
Input
Position 14 feedback: 1 = Device is confirmed at Position 14.
Default is false.
Inp_Pos15FdbkData
BOOL
Not Visible
Not Required
Input
Position 15 feedback: 1 = Device is confirmed at Position 15.
Default is false.
Inp_Pos16FdbkData
BOOL
Not Visible
Not Required
Input
Position 16 feedback: 1 = Device is confirmed at Position 16.
Default is false.
Inp_Pos17FdbkData
BOOL
Not Visible
Not Required
Input
Position 17 feedback: 1 = Device is confirmed at Position 17.
Default is false.
Inp_Pos18FdbkData
BOOL
Not Visible
Not Required
Input
Position 18 feedback: 1 = Device is confirmed at Position 18.
Default is false.
Inp_Pos19FdbkData
BOOL
Not Visible
Not Required
Input
Position 19 feedback: 1 = Device is confirmed at Position 19.
Default is false.
Inp_Pos20FdbkData
BOOL
Not Visible
Not Required
Input
Position 20 feedback: 1 = Device is confirmed at Position 20.
Default is false.
Inp_Pos21FdbkData
BOOL
Not Visible
Not Required
Input
Position 21 feedback: 1 = Device is confirmed at Position 21.
Default is false.
Inp_Pos22FdbkData
BOOL
Not Visible
Not Required
Input
Position 22 feedback: 1 = Device is confirmed at Position 22.
Default is false.
Inp_Pos23FdbkData
BOOL
Not Visible
Not Required
Input
Position 23 feedback: 1 = Device is confirmed at Position 23.
Default is false.
Inp_Pos24FdbkData
BOOL
Not Visible
Not Required
Input
Position 24 feedback: 1 = Device is confirmed at Position 24.
Default is false.
Inp_Pos25FdbkData
BOOL
Not Visible
Not Required
Input
Position 25 feedback: 1 = Device is confirmed at Position 25.
Default is false.
Inp_Pos26FdbkData
BOOL
Not Visible
Not Required
Input
Position 26 feedback: 1 = Device is confirmed at Position 26.
Default is false.
Inp_Pos27FdbkData
BOOL
Not Visible
Not Required
Input
Position 27 feedback: 1 = Device is confirmed at Position 27.
Default is false.
Inp_Pos28FdbkData
BOOL
Not Visible
Not Required
Input
Position 28 feedback: 1 = Device is confirmed at Position 28.
Default is false.
Inp_Pos29FdbkData
BOOL
Not Visible
Not Required
Input
Position 29 feedback: 1 = Device is confirmed at Position 29.
Default is false.
Inp_Pos30FdbkData
BOOL
Not Visible
Not Required
Input
Position 30 feedback: 1 = Device is confirmed at Position 30.
Default is false.
Inp_LockFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device is confirmed locked/sealed in position.
Default is false.
Inp_UnlockFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device is confirmed unlocked/unsealed and is free to move.
Default is false.
Inp_CylExtFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device indexing cylinder is confirmed extended.
Default is false.
Inp_CylRetrFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device indexing cylinder is confirmed retracted.
Default is false.
Inp_CylLeftFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device indexing cylinder is confirmed in left (increasing) position.
Default is false.
Inp_CylRightFdbkData
BOOL
Not Visible
Not Required
Input
1 = Device indexing cylinder is confirmed in right (decreasing) position.
Default is false.
Inp_IOFault
BOOL
Visible
Not Required
Input
1 = I/O communication is faulted, 0 = I/O communication is OK.
Default is false.
Inp_PermOK
BOOL
Visible
Not Required
Input
1 = Permissives are OK, device can energize.
Default is true.
Inp_NBPermOK
BOOL
Visible
Not Required
Input
1 = Non-bypassable permissives are OK, device can energize.
Default is true.
Inp_IntlkOK
BOOL
Visible
Not Required
Input
1 = Interlocks are OK, device can energize, 0 = Interlocks are not OK, device must de-energize or drive to Position 1.
Default is true.
Inp_NBIntlkOK
BOOL
Visible
Not Required
Input
1 = Non-bypassable interlocks OK, device can energize, 0 = Interlocks are not OK, device must de-energize or drive to Position 1.
Default is true.
Inp_IntlkAvailable
BOOL
Visible
Not Required
Input
1 = Interlock availability is OK, show Sts_IntlkAvailable if device is ready except for interlocks.
Default is false.
Inp_IntlkTripInh
BOOL
Visible
Not Required
Input
1 = Inhibit reporting of Sts_IntlkTrip and interlock trip alarm.
Default is false.
Inp_RdyReset
BOOL
Not Visible
Not Required
Input
1 = Related object, reset by this object, is ready to be reset.
Default is false.
Inp_Hand
BOOL
Not Visible
Not Required
Input
1 = Acquire Hand command source (typically hardwired local), 0 = Release Hand.
Default is false.
Inp_Ovrd
BOOL
Not Visible
Not Required
Input
1 = Acquire Override command source (higher priority program logic), 0 = Release Override.
Default is false.
Inp_OvrdCmd
SINT
Not Visible
Not Required
Input
Override device command: 0 = No command, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30.
Default is 0.
Inp_ExtInh
BOOL
Not Visible
Not Required
Input
1 = Inhibit External command source acquisition, 0 = Allow External acquisition.
Default is false.
Inp_HornInh
BOOL
Not Visible
Not Required
Input
1 = Inhibit audible alert, 0 = Allow audible alert.
Default is false.
Inp_Reset
BOOL
Not Visible
Not Required
Input
1 = Reset shed latches and cleared alarms.
Default is false.
Cfg_AllowDisable
BOOL
Not Visible
Not Required
Input
1 = Allow Maintenance to disable alarms.
Default is true.
Cfg_AllowShelve
BOOL
Not Visible
Not Required
Input
1 = Allow Operator to shelve alarms.
Default is true.
Cfg_NumPos
SINT
Not Visible
Not Required
Input
Number of device positions. Valid = 2 to 30.
Default is 3.
Cfg_Circ
BOOL
Not Visible
Not Required
Input
1 = Positions are circular (rotary device, after Position n is Position 1), 0 = linear device (Position 1 and Position n are at ends of travel).
Default is false.
Cfg_CWOnly
BOOL
Not Visible
Not Required
Input
1 = Circular (rotary) device can only rotate "clockwise", 0 = circular device is bidirectional, use shortest path.
Default is false.
Cfg_ViaPos01
BOOL
Not Visible
Not Required
Input
1 = Drive linear device to Position 1 on every move, 0 = move direct to set position.
Default is false.
Cfg_IntlkToPos01
BOOL
Not Visible
Not Required
Input
1 = Drive to Position 1 on interlock not OK, 0 = De-energize only on interlock not OK.
Default is false.
Cfg_OutPosLatch
BOOL
Not Visible
Not Required
Input
1 = Latch position output until a new target position is set, 0 = clear position output upon reaching target position.
Default is false.
Cfg_HasLock
BOOL
Not Visible
Not Required
Input
1 = Device has a lock or seal which must be unlocked/unsealed before moving.
Default is false.
Cfg_HasPosFdbk
BOOL
Not Visible
Not Required
Input
1 = Device has position feedback for all positions.
Default is false.
Cfg_UsePosFdbk
BOOL
Not Visible
Not Required
Input
1 = Use position feedback to verify device reached target position.
Default is false.
Cfg_HasLockFdbk
BOOL
Not Visible
Not Required
Input
1 = Device has locked/unlocked feedback.
Default is false.
Cfg_UseLockFdbk
BOOL
Not Visible
Not Required
Input
1 = Use lock feedback to verify locking and unlocking of device.
Default is false.
Cfg_HasCylFdbk
BOOL
Not Visible
Not Required
Input
1 = Device indexing cylinders have position feedback.
Default is false.
Cfg_UseCylFdbk
BOOL
Not Visible
Not Required
Input
1 = Use indexing cylinder position feedback to verify cylinder motion.
Default is false.
Cfg_HasPermObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI an object is connected to Inp_Perm inputs, enable navigation.
Default is false.
Cfg_HasIntlkObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI an object is connected to Inp_Intlk inputs, enable navigation.
Default is false.
Cfg_HasMoreObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI an object with more information is available, enable navigation.
Default is false.
Cfg_OperPos01Prio
BOOL
Not Visible
Not Required
Input
1 = OSet_Pos setting to Position 1 is accepted any time, 0 = OSet_Pos is accepted only when Operator command source is selected.
Default is false.
Cfg_ExtPos01Prio
BOOL
Not Visible
Not Required
Input
1 = XSet_Pos setting to Position 1 is accepted any time, 0 = XSet_Pos is accepted only when External command source is selected.
Default is false.
Cfg_OSetResets
BOOL
Not Visible
Not Required
Input
1 = A new Operator state command resets fault, 0 = A reset command is required to clear fault.
Default is false.
Cfg_XSetResets
BOOL
Not Visible
Not Required
Input
1 = A new External state command resets fault, 0 = A reset command is required to clear fault.
Default is false.
Cfg_SetDuringMove
BOOL
Not Visible
Not Required
Input
1 = New position setting received during move is accepted, 0 = Must wait for previous move to complete.
Default is false.
Cfg_OvrdPermIntlk
BOOL
Not Visible
Not Required
Input
1 = Override ignores bypassable permissives and interlocks, 0 = Override uses all permissives and interlocks.
Default is false.
Cfg_ShedOnPosFail
BOOL
Not Visible
Not Required
Input
1 = De-energize device and alarm on position fail, 0 = Alarm only.
Default is true.
Cfg_ShedOnLockFail
BOOL
Not Visible
Not Required
Input
1 = De-energize device and alarm on lock fail, 0 = Alarm only.
Default is true.
Cfg_ShedOnIOFault
BOOL
Not Visible
Not Required
Input
1 = De-energize device and alarm on I/O fault, 0 = Alarm only.
Default is true.
Cfg_HornOnChange
BOOL
Not Visible
Not Required
Input
1 = Sound horn on any position change, 0 = Sound horn only on leaving Position 1.
Default is false.
Cfg_HasOper
BOOL
Not Visible
Not Required
Input
1 = Operator (unlocked) command source exists, can be selected.
Default is true.
Cfg_HasOperLocked
BOOL
Not Visible
Not Required
Input
1 = Operator Locked command source exists, can be selected.
Default is true.
Cfg_HasProg
BOOL
Not Visible
Not Required
Input
1 = Program (unlocked) command source exists, can be selected.
Default is true.
Cfg_HasProgLocked
BOOL
Not Visible
Not Required
Input
1 = Program Locked command source exists, can be selected.
Default is true.
Cfg_HasExt
BOOL
Not Visible
Not Required
Input
1 = External command source exists, can be selected.
Default is false.
Cfg_HasMaint
BOOL
Not Visible
Not Required
Input
1 = Maintenance command source exists, can be selected.
Default is true.
Cfg_HasMaintOoS
BOOL
Not Visible
Not Required
Input
1 = Maintenance Out of Service exists, can be selected.
Default is true.
Cfg_OvrdOverLock
BOOL
Not Visible
Not Required
Input
1 = Override supersedes Program/Operator Locked, 0 = Don't supersede Program/Operator Locked.
Default is true.
Cfg_ExtOverLock
BOOL
Not Visible
Not Required
Input
1 = External supersedes Program/Operator Locked, 0 = Don't supersede Program/Operator Locked.
Default is false.
Cfg_ProgPwrUp
BOOL
Not Visible
Not Required
Input
1 = Power up to Program command source, 0 = Power up to Operator command source.
Default is false.
Cfg_ProgNormal
BOOL
Not Visible
Not Required
Input
Normal command source: 1 = Program, 0 = Operator.
Default is false.
Cfg_PCmdPriority
BOOL
Not Visible
Not Required
Input
Command priority: 1 = Program commands win, 0 = Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel
BOOL
Not Visible
Not Required
Input
1 = Program/Operator selection follows PCmd_Prog as level (1 for Program, 0 for Operator), 0 = PCmd_Prog is used as edge to select Program, PCmd_Oper selects Operator.
Default is false.
Cfg_PCmdLockAsLevel
BOOL
Not Visible
Not Required
Input
1 = Program lock selection follows PCmd_Lock as level (1 for locked, 0 for unlocked), 0 = PCmd_Lock is used as edge to select Program Locked, PCmd_Unlock selects Program (unlocked).
Default is false.
Cfg_ExtAcqAsLevel
BOOL
Not Visible
Not Required
Input
1 = External selection follows XCmd_Acq as level (1 to acquire External, 0 to release External), 0 = XCmd_Acq is used as edge to acquire External, XCmd_Rel is used to release External.
Default is false.
Cfg_Retries
SINT
Not Visible
Not Required
Input
Number of retries via Position 1 before declaring failure, Valid = 0 to 3, 0 = Don't retry.
Default is 3.
Cfg_ExtendDelay
REAL
Not Visible
Not Required
Input
Delay before extending cylinder to engage for move (seconds). Valid = 0.0 to 2147483.0.
Default is 0.0.
Cfg_VerifyDelay
REAL
Not Visible
Not Required
Input
Delay to verify device has settled in commanded position (seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_PosCheckTime
REAL
Not Visible
Not Required
Input
Time to receive position feedback before declaring failure (seconds). Valid = 0.0 to 2147483.0.
Default is 30.0.
Cfg_LockCheckTime
REAL
Not Visible
Not Required
Input
Time to receive locked/unlocked feedback before declaring lock failure (seconds). Valid = 0.0 to 2147483.0.
Default is 5.0.
Cfg_VirtualPosTime
REAL
Not Visible
Not Required
Input
Time to simulate reaching target position when virtualized (seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_VirtualLockTime
REAL
Not Visible
Not Required
Input
Time to simulate lock or unlock when virtualized (seconds). Valid = 0.0 to 2147483.0.
Default is 1.0.
Cfg_VirtualCylTime
REAL
Not Visible
Not Required
Input
Time to simulate index cylinder feedback when virtualized (seconds). Valid = 0.0 to 21474830.
Default is 0.5.
Cfg_StartHornTime
REAL
Not Visible
Not Required
Input
Time to sound audible on device position change (seconds). Valid = 0.0 to 1000.0, 0.0 = Disabled.
Default is 0.0.
Cfg_CnfrmReqd
SINT
Not Visible
Not Required
Input
Operator command confirmation or e-signature type required: 0 = None, 1 = Command confirmation required, 2 = Performer e-signature required, 3 = Performer and approver e-signature required.
Default is 0.
PSet_Owner
DINT
Not Visible
Not Required
Input
Program ownership request: Non-zero Owner ID = Acquire, 0 = Release.
Default is 0.
PSet_Pos
SINT
Not Visible
Not Required
Input
Program Setting of commanded position 1 to 30, 0 = No command. The instruction clears this operand automatically.
Default is 0.
PCmd_Virtual
BOOL
Not Visible
Not Required
Input
Program Command to select Virtual (simulated) device operation. The instruction clears this operand automatically.
Default is false.
PCmd_Physical
BOOL
Not Visible
Not Required
Input
Program Command to select Physical device operation (not simulated). The instruction clears this operand automatically.
Default is false.
PCmd_Reset
BOOL
Not Visible
Not Required
Input
Program Command to reset shed latches and returned-to-normal latched alarms. The instruction clears this operand automatically.
Default is false.
PCmd_Prog
BOOL
Not Visible
Not Required
Input
Program Command to select Program command source. The instruction clears this operand automatically if Cfg_PCmdProgAsLevel = 0.
Default is false.
PCmd_Oper
BOOL
Not Visible
Not Required
Input
Program Command to select Operator command source. The instruction clears this operand automatically.
Default is false.
PCmd_Lock
BOOL
Not Visible
Not Required
Input
Program Command to lock Program command source and disallow Operator. The instruction clears this operand automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Unlock
BOOL
Not Visible
Not Required
Input
Program Command to unlock Program command source and allow Operator to acquire. The instruction clears this operand automatically.
Default is false.
PCmd_Normal
BOOL
Not Visible
Not Required
Input
Program Command to select normal command source (Operator or Program). The instruction clears this operand automatically.
Default is false.
XSet_Pos
SINT
Not Visible
Not Required
Input
External Setting of commanded position 1 to 30, 0 = No command. The instruction clears this operand automatically.
Default is 0.
XCmd_Acq
BOOL
Not Visible
Not Required
Input
External Command to acquire command source. The instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel
BOOL
Not Visible
Not Required
Input
External Command to release command source, accepted if Cfg_ExtAcqAsLevel = 0. The instruction clears this operand automatically.
Default is false.
XCmd_Reset
BOOL
Not Visible
Not Required
Input
External Command to reset shed latches and returned-to-normal latched alarms. The instruction clears this operand automatically.
Default is false.
XCmd_ResetAckAll
BOOL
Not Visible
Not Required
Input
External Command to acknowledge all alarms and reset latched alarms and shed conditions. The instruction clears this operand automatically.
Default is false.
Public Output Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
EnableOut
BOOL
Not Visible
Not Required
Output
Enable Output - System Defined Parameter
Out_Pos01Data
BOOL
Visible
Not Required
Output
Output to go to Position 1.
Out_Pos02Data
BOOL
Visible
Not Required
Output
Output to go to Position 2.
Out_Pos03Data
BOOL
Visible
Not Required
Output
Output to go to Position 3.
Out_Pos04Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 4.
Out_Pos05Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 5.
Out_Pos06Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 6.
Out_Pos07Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 7.
Out_Pos08Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 8 .
Out_Pos09Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 9.
Out_Pos10Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 10.
Out_Pos11Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 11.
Out_Pos12Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 12.
Out_Pos13Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 13.
Out_Pos14Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 14.
Out_Pos15Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 15.
Out_Pos16Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 16.
Out_Pos17Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 17.
Out_Pos18Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 18 .
Out_Pos19Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 19.
Out_Pos20Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 20.
Out_Pos21Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 21.
Out_Pos22Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 22.
Out_Pos23Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 23.
Out_Pos24Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 24.
Out_Pos25Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 25.
Out_Pos26Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 26.
Out_Pos27Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 27.
Out_Pos28Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 28.
Out_Pos29Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 29.
Out_Pos30Data
BOOL
Not Visible
Not Required
Output
Output to go to Position 30.
Out_IncData
BOOL
Visible
Not Required
Output
Output to drive to increasing position (clockwise).
Out_DecData
BOOL
Visible
Not Required
Output
Output to drive to decreasing position (counter-clockwise).
Out_UnlockData
BOOL
Not Visible
Not Required
Output
Output to unlock/unseal device.
Out_LockData
BOOL
Not Visible
Not Required
Output
Output to lock/seal device.
Out_CylExtendData
BOOL
Not Visible
Not Required
Output
Output to extend cylinder to engage position indexing device.
Out_CylRetractData
BOOL
Not Visible
Not Required
Output
Output to retract cylinder to disengage position indexing device.
Out_CylLeftData
BOOL
Not Visible
Not Required
Output
Output to index device to left (increase position).
Out_CylRightData
BOOL
Not Visible
Not Required
Output
Output to index device to right (decrease position).
Out_HornData
BOOL
Not Visible
Not Required
Output
Output to sound horn prior to commanded position change.
Out_Reset
BOOL
Not Visible
Not Required
Output
1 = Reset command has been received and accepted.
Out_OwnerSts
DINT
Not Visible
Not Required
Output
Status of command source, owner command handshake and ready status (bitmapped): All bits off = None, .10 = Operator Lock, .11 = Operator Unlock, .12 = Program Lock, .13 = Program Unlock, .14 = Acquire Maintenance, .15 = Release Maintenance, .16 = Acquire External, .17 = Release External, .18 = Has Maintenance, .19 = External Override Lock, .20 = Has External, .21 = Has Operator, .22 = Has Operator Locked, .23 = Has Program, .24 = Has Program Locked, .29 = Echo, .30 = Not Ready.
Sts_Initialized
BOOL
Not Visible
Not Required
Output
1 = Instruction is initialized. 0 = Use Inp_InitializeReq to reinitialize.
Sts_Pos01
BOOL
Visible
Not Required
Output
1 = Device confirmed in Position 1.
Sts_Pos02
BOOL
Visible
Not Required
Output
1 = Device confirmed in Position 2.
Sts_Pos03
BOOL
Visible
Not Required
Output
1 = Device confirmed in Position 3.
Sts_Pos04
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 4.
Sts_Pos05
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 5.
Sts_Pos06
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 6.
Sts_Pos07
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 7.
Sts_Pos08
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 8.
Sts_Pos09
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 9.
Sts_Pos10
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 10.
Sts_Pos11
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 11.
Sts_Pos12
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 12.
Sts_Pos13
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 13.
Sts_Pos14
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 14.
Sts_Pos15
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 15.
Sts_Pos16
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 16.
Sts_Pos17
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 17.
Sts_Pos18
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 18.
Sts_Pos19
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 19.
Sts_Pos20
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 20.
Sts_Pos21
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 21.
Sts_Pos22
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 22.
Sts_Pos23
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 23.
Sts_Pos24
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 24.
Sts_Pos25
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 25.
Sts_Pos26
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 26.
Sts_Pos27
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 27.
Sts_Pos28
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 28.
Sts_Pos29
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 29.
Sts_Pos30
BOOL
Not Visible
Not Required
Output
1 = Device confirmed in Position 30.
Sts_Moving
BOOL
Visible
Not Required
Output
1 = Device moving to target position, not yet confirmed in position.
Sts_Horn
BOOL
Not Visible
Not Required
Output
1 = Sounding horn prior to commanded energize/position change.
Sts_Virtual
BOOL
Not Visible
Not Required
Output
1 = The instruction treats device as virtual, acting as if controlling a working device, but the outputs are kept de-energized, 0 = The instruction operates the physical device normally.
SrcQ_IO
SINT
Not Visible
Not Required
Output
Source and quality of primary input or output: 0=Good, live, confirmed good 1=Good, live, assumed good 2=Good, no feedback, assumed good 8=Test, virtualized 9=Test, loopback 10=Test, manually entered 16=Uncertain, live, off-spec 17=Uncertain, substituted at device or bus 18=Uncertain, substituted at instruction 19=Uncertain, using last known good 20=Uncertain, using replacement value 32=Bad, signal failure 33=Bad, channel fault 34=Bad, module or communication fault 35=Bad, invalid configuration
SrcQ
SINT
Not Visible
Not Required
Output
Source and quality of primary value or status: 0=Good, live, confirmed good 1=Good, live, assumed good 2=Good, no feedback, assumed good 8=Test, virtualized 9=Test, loopback 10=Test, manually entered 16=Uncertain, live, off-spec 17=Uncertain, substituted at device or bus 18=Uncertain, substituted at instruction 19=Uncertain, using last known good 20=Uncertain, using replacement value 32=Bad, signal failure 33=Bad, channel fault 34=Bad, module or communication fault 35=Bad, invalid configuration
Sts_eCmd
SINT
Not Visible
Not Required
Output
Device command: 0 = None, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30.
Sts_eFdbk
SINT
Not Visible
Not Required
Output
Device feedback: 0 = Moving or unknown position, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30, 31 = Multiple positions or invalid feedback.
Sts_eSts
SINT
Not Visible
Not Required
Output
Device status: 0 = Powerup/Reset, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30, 31 = Moving, 32 = Horn, 33 = Out of service.
Sts_eFault
SINT
Not Visible
Not Required
Output
Device fault status: 0 = None, 16 = Position fail, 17 = Lock/Unlock fail, 32 = I/O fault, 34 = Configuration error.
Sts_eState
SINT
Not Visible
Not Required
Output
Internal state: 0 = De-energized on powerup/interlock/shed, 1 = In position, 2 = Unlocking, 3 = Moving to Position 1, 4 = Moving to requested position, 5 = Locking, 6 = Faulted.
Sts_eOutPos
SINT
Not Visible
Not Required
Output
State of position outputs to physical device: 0 = De-energized, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30.
Sts_eOutState
SINT
Not Visible
Not Required
Output
State of motion outputs to physical device: 0 = Maintain position, 1 = Unlock, 2 = Decrease position, 3 = Increase position, 4 = Lock, 5 = Horn.
Sts_eNotify
SINT
Not Visible
Not Required
Output
Summary alarm status: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll
SINT
Not Visible
Not Required
Output
Summary alarm status including related objects: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault
SINT
Not Visible
Not Required
Output
I/O fault alarm status: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyPosFail
SINT
Not Visible
Not Required
Output
Device position fail alarm status: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLockFail
SINT
Not Visible
Not Required
Output
Device lock/seal fail alarm status: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip
SINT
Not Visible
Not Required
Output
Interlock trip alarm status: 0 = Not in alarm, acknowledged, 1 = Not in alarm, unacknowledged or reset required, 2 = Low severity alarm, acknowledged, 3 = Low severity alarm, unacknowledged, 4 = Medium severity alarm, acknowledged, 5 = Medium severity alarm, unacknowledged, 6 = High severity alarm, acknowledged, 7 = High severity alarm, unacknowledged, 8 = Urgent severity alarm, acknowledged, 9 = Urgent severity alarm, unacknowledged.
Sts_UnackAlmCount
DINT
Not Visible
Not Required
Output
Count of unacknowledged alarms.
Sts_eSrc
INT
Not Visible
Not Required
Output
Current command source: 0 = Logic not in use, 4 = Hand, 8 = Maintenance, 16 = Override, 32 = Program, 33 = Program Locked, 34 = Program default (Normal), 64 = Operator, 65 = Operator Locked, 66 = Operator default (Normal), 128 = Maintenance Out of Service, 129 = Programmed Out of Service (EnableIn false), 256 = External.
Sts_bSrc
INT
Not Visible
Not Required
Output
Active command source selections (bitmapped, for HMI): .0 = Hand, .1 = Programmed Out of Service (EnableIn false), .2= Maintenance Out of Service, .3 = Maintenance, .4 = Override, .5 = External, .6 = Program Locked, .7 = Program (unlocked), .8 = Operator Locked, .9 = Operator (unlocked).
Sts_Available
BOOL
Not Visible
Not Required
Output
1 = Device has been acquired by Program and is ready and available for control.
Sts_IntlkAvailable
BOOL
Not Visible
Not Required
Output
1 = Device can be acquired by Program and is available for control when interlocks are OK.
Sts_Bypass
BOOL
Not Visible
Not Required
Output
1 = Bypassable interlocks and permissives are bypassed.
Sts_BypActive
BOOL
Visible
Not Required
Output
1 = Interlock/permissive bypassing is active (bypassed by command or in Maintenance command source).
Sts_MaintByp
BOOL
Not Visible
Not Required
Output
1 = Device has a maintenance bypass function active.
Sts_NotRdy
BOOL
Visible
Not Required
Output
1 = Device not ready, see Sts_NrdyXxx detail bits for reason.
Sts_NrdyCfgErr
BOOL
Not Visible
Not Required
Output
1 = Device not ready, configuration error.
Sts_NrdyPosFail
BOOL
Not Visible
Not Required
Output
1 = Device not ready, device position failure, shed requires reset.
Sts_NrdyLockFail
BOOL
Not Visible
Not Required
Output
1 = Device not ready, device lock/seal failure, shed requires reset.
Sts_NrdyIntlk
BOOL
Not Visible
Not Required
Output
1 = Device not ready, interlock not OK.
Sts_NrdyIOFault
BOOL
Not Visible
Not Required
Output
1 = Device not ready, I/O fault, shed requires reset.
Sts_NrdyOoS
BOOL
Not Visible
Not Required
Output
1 = Device not ready, device is Out of Service.
Sts_NrdyPerm
BOOL
Not Visible
Not Required
Output
1 = Device not ready, permissives not OK, device cannot be commanded to a new position.
Sts_NrdyPrioPos01
BOOL
Not Visible
Not Required
Output
1 = Device not ready, Operator or External issued priority Position 1 Command, shed requires reset.
Sts_Err
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, see Sts_ErrXxx detail bits for reason.
Sts_ErrAlm
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Logix tag-based alarm settings invalid.
Sts_ErrExtendDelay
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_ExtendDelay invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVerifyDelay
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_VerifyDelay invalid. Valid = 0.0 to 2147483.0.
Sts_ErrPosCheckTime
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_PosCheckTime invalid. Valid = 0.0 to 2147483.0.
Sts_ErrLockCheckTime
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_LockCheckTime invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualPosTime
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_VirtualPosTime invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualLockTime
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_VirtualLockTime invalid. Valid = 0.0 to 2147483.0.
Sts_ErrVirtualCylTime
BOOL
Not Visible
Not Required
Output
1 = Error in configuration, Cfg_VirtualCylTime invalid. Valid = 0.0 to 2147483.0.
Sts_Hand
BOOL
Visible
Not Required
Output
1 = Hand command source is selected.
Sts_OoS
BOOL
Visible
Not Required
Output
1 = Out of Service command source is selected.
Sts_Maint
BOOL
Visible
Not Required
Output
1 = Maintenance command source is selected.
Sts_Ovrd
BOOL
Visible
Not Required
Output
1 = Override command source is selected.
Sts_Ext
BOOL
Visible
Not Required
Output
1 = External command source is selected.
Sts_Prog
BOOL
Visible
Not Required
Output
1 = Program (unlocked) command source is selected.
Sts_ProgLocked
BOOL
Not Visible
Not Required
Output
1 = Program Locked command source is selected.
Sts_Oper
BOOL
Visible
Not Required
Output
1 = Operator (unlocked) command source is selected.
Sts_OperLocked
BOOL
Not Visible
Not Required
Output
1 = Operator Locked command source is selected.
Sts_ProgOperSel
BOOL
Not Visible
Not Required
Output
Program/Operator selection (latch) state: 1 = Program, 0 = Operator.
Sts_ProgOperLock
BOOL
Visible
Not Required
Output
Program/Operator lock (latch) state: 1 = Locked, 0 = Unlocked.
Sts_Normal
BOOL
Not Visible
Not Required
Output
1 = Selected command source is the normal source (Program or Operator).
Sts_ExtReqInh
BOOL
Not Visible
Not Required
Output
1 = External command source selection is inhibited, External is not available in current state.
Sts_ProgReqInh
BOOL
Not Visible
Not Required
Output
1 = Program command source selection is inhibited, Program is not available in current state.
Sts_MAcqRcvd
BOOL
Not Visible
Not Required
Output
1 = Command to acquire Maintenance command source was received this scan.
Sts_Alm
BOOL
Not Visible
Not Required
Output
1 = An alarm is active.
Sts_AlmInh
BOOL
Not Visible
Not Required
Output
1 = An alarm is shelved or disabled.
Sts_IOFault
BOOL
Not Visible
Not Required
Output
1 = I/O communication fault. There is a predefined default discrete Logix tag-based alarm for the status. Set standard configuration members of the discrete Logix tag-based alarm. Alarm elements can be accessed as follows: PNPOS_Tag.@Alarms.Alm_IOFault.AlarmElement.
Sts_PosFail
BOOL
Visible
Not Required
Output
1 = Device position failure. There is a predefined default discrete Logix tag-based alarm for the status. Set standard configuration members of the discrete Logix tag-based alarm. Alarm elements can be accessed as follows: PNPOS_Tag.@Alarms.Alm_PosFail.AlarmElement.
Sts_LockFail
BOOL
Not Visible
Not Required
Output
1 = Device lock/seal failure. There is a predefined default discrete Logix tag-based alarm for the status. Set standard configuration members of the discrete Logix tag-based alarm. Alarm elements can be accessed as follows: PNPOS_Tag.@Alarms.Alm_LockFail.AlarmElement.
Sts_IntlkTrip
BOOL
Not Visible
Not Required
Output
1 = Interlock trip, device was de-energized or set to Position 1 by an interlock not OK. There is a predefined default discrete Logix tag-based alarm for the status. Set standard configuration members of the discrete Logix tag-based alarm. Alarm elements can be accessed as follows: PNPOS_Tag.@Alarms.Alm_IntlkTrip.AlarmElement.
Sts_RdyAck
BOOL
Not Visible
Not Required
Output
1 = An alarm is ready to be acknowledged.
Sts_RdyReset
BOOL
Visible
Not Required
Output
1 = A latched alarm or shed condition is ready to be reset.
XRdy_Acq
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Acq, enable button.
XRdy_Rel
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Rel, enable button.
XRdy_Pos
BOOL
Not Visible
Not Required
Output
1 = Ready for XSet_Pos, enable entry.
XRdy_Reset
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Reset, enable button.
XRdy_ResetAckAll
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_ResetAckAll, enable button.
Val_Owner
DINT
Not Visible
Not Required
Output
Current object Owner ID, 0=not owned.
Private Input Members
Data Type
Description
CmdSrc
P_COMMAND_SOURCE
Command source selection.
MCmd_Acq
BOOL
Maintenance Command to acquire Maintenance command source. The instruction clears this operand automatically.
Default is false.
MCmd_Bypass
BOOL
Maintenance Command to bypass all bypassable interlocks and permissives. The instruction clears this operand automatically.
Default is false.
MCmd_Check
BOOL
Maintenance Command to remove bypass and check all interlocks and permissives. The instruction clears this operand automatically.
Default is false.
MCmd_IS
BOOL
Maintenance Command to select In Service. The instruction clears this operand automatically.
Default is false.
MCmd_OoS
BOOL
Maintenance Command to select Out of Service. The instruction clears this operand automatically.
Default is false.
MCmd_Physical
BOOL
Maintenance Command to select Physical device operation. The instruction clears this operand automatically.
Default is false.
MCmd_Rel
BOOL
Maintenance Command to release Maintenance command source. The instruction clears this operand automatically.
Default is false.
MCmd_Virtual
BOOL
Maintenance Command to select Virtual device operation. The instruction clears this operand automatically.
Default is false.
OCmd_Lock
BOOL
Operator Command to select Operator Locked command source and disallow Program. The instruction clears this operand automatically.
Default is false.
OCmd_Normal
BOOL
Operator Command to select configured normal command source (Operator or Program). The instruction clears this operand automatically.
Default is false.
OCmd_Oper
BOOL
Operator Command to select Operator (unlocked) command source. The instruction clears this operand automatically.
Default is false.
OCmd_Prog
BOOL
Operator Command to select Program (unlocked) command source. The instruction clears this operand automatically.
Default is false.
OCmd_Reset
BOOL
Operator Command to reset shed latches and returned-to-normal latched alarms. The instruction clears this operand automatically.
Default is false.
OCmd_ResetAckAll
BOOL
Operator Command to acknowledge all alarms and reset latched alarms and shed conditions. The instruction clears this operand automatically.
Default is false.
OCmd_Unlock
BOOL
Operator Command to unlock Operator command source and allow Program to acquire. The instruction clears this operand automatically.
Default is false.
OSet_Pos
SINT
Operator Setting of commanded position 1 to 30, 0 = No command. The instruction clears this operand automatically.
Default is 0.
Wrk_bInp
DINT
Buffer for device position feedback input bits, bit .1 thru .30.
Default is 2#0000_0000_0000_0000_0000_0000_0000_0000.
Private Output Members
Data Type
Description
HMI_BusObjIndex
DINT
This object's index in the bus array, for use by HMI display.
HMI_eCmdPos
SINT
Last commanded position: 0 = None, 1 = Position 1, 2 = Position 2, ..., 30 = Position 30.
MRdy_Acq
BOOL
1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass
BOOL
1 = Ready for MCmd_Bypass, enable HMI button.
MRdy_Check
BOOL
1 = Ready for MCmd_Check, enable HMI button.
MRdy_IS
BOOL
1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS
BOOL
1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical
BOOL
1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel
BOOL
1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual
BOOL
1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_Lock
BOOL
1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal
BOOL
1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper
BOOL
1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Pos
BOOL
1 = Ready for OSet_Pos, enable HMI data entry field or command buttons.
ORdy_Prog
BOOL
1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset
BOOL
1 = Ready for OCmd_Reset, enable HMI button.
ORdy_ResetAckAll
BOOL
1 = Ready for OCmd_ResetAckAll, enable HMI button.
ORdy_Unlock
BOOL
1 = Ready for OCmd_Unlock, enable HMI button.
Wrk_bOut
DINT
Buffer for position request output bits, bit .1 thru .30.
Public InOut Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
BusObj
BUS_OBJ
Visible
Required
InOut
Bus component
BUS_OBJ Structure
The BUS_OBJ structure links the device to other devices and instructions in a complex control strategy, typically into a hierarchy. A Bus Object rolls up status and alarm information from lower level devices to higher level control and fans out commands from higher level control to lower level devices, and items link to the bus by referencing a single member of the BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary data for the instruction to operate. The external tag must be of the data type shown, or may be NULL. If NULL, the Bus functions of this instruction are not available.
Members
Data Type
Description
Inp_Cmd
DINT
Input to assert commands
Out_Cmd
DINT
Resultant commands
Inp_CmdLLH
DINT
Input for level normally high commands
Out_CmdLLH
DINT
Resultant line level high commands
Inp_Sts
DINT
Input to assert status
Out_Sts
DINT
Resultant status
Inp_CmdAck
DINT
Input to assert a command acknowledgement
Out_CmdAck
DINT
Resultant command acknowledgements
Inp_SeverityMax
DINT
Input: maximum alarm severity
Out_SeverityMax
DINT
Resultant of maximum alarm severity
Cfg_CmdMask
DINT
Propagation mask for commands
Cfg_CmdLLHMask
DINT
Propagation mask for line level high commands
Cfg_StsMask
DINT
Propagation mask for status
Ref_Index
DINT
Bus array index
Alarms
Discrete Logix tag-based alarms are defined for these members:
Member
Alarm Name
Description
Sts_IntlkTrip
Alm_IntlkTrip
Device de-energized or set to Position 1 by an interlock Not OK.
Sts_IOFault
Alm_IOFault
I/O fault.
Sts_PosFail
Alm_PosFail
Device position failure.
Sts_LockFail
Alm_LockFail
Device lock/seal failure.
Mark the alarm as used or unused and set standard configuration members of the discrete Logix Tag based alarm. Use this format to access alarm elements:
Tag.@Alarms.AlarmName.AlarmElement
The PNPOS instruction uses the following alarms:
  • Raises the Interlock Trip alarm when an interlock 'not OK' condition causes the device to perform its configured interlock action. The device can be configured to be driven to position 1 on interlock, and the alarm will be raised if the device is not already in position 1. Or the device can be configured to de-energize on interlock, and the alarm will be raised if outputs that are energized become de-energized.
  • Raises the I/O Fault alarm when the Inp_IOFault input is true. This input is usually used to indicate to the instruction that a communication failure has occurred for its I/O. The device transitions to the Faulted state and cannot be commanded to a new state until reset.
  • Raises the Lock Fail alarm when a device with a locking or sealing feature is commanded to a new position, but the lock/seal feedback failed to confirm the device unlocking before moving or failed to confirm the device locking after moving, within the time allowed. The device transitions to the Faulted state and cannot be commanded to a new state until reset.
  • Raises the Position Fail alarm when the device is commanded to a new position, but the device feedback does not confirm that the device actually reached the target position within the configured failure time (Cfg_PosCheckTime). The device transitions to the Faulted state and cannot be commanded to a new position until reset.
Program, Operator, and External commands reset latched alarms, and reset and acknowledge all alarms of the instruction (Alarm Set) at the same time. This diagram shows how the commands interact with the PNPOS instruction.
PNPOS_Alarms_v35
Operation
This diagram illustrates functionality of the PNPOS instruction:
PNPOS_Operation
Operator command request confirmation
The PNPOS instruction enables these operator commands and settings:
  • OSet_Pos
Enforced security might require the request to be confirmed or canceled before the selected command executes or setting is accepted. The instruction checks the security rules, inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd = 0, no confirmation is required and the request executes immediately. If Cfg_CnfrmReqd = 1, the instruction waits for operator confirmation or cancelation of the command. If Cfg_CnfrmReqd = 2 or 3, eSignature is needed before command confirmation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Command virtual operation using program command PCmd_Virtual or maintenance command MCmd_Virtual. After finishing virtual operation, use program command PCmd_Physical or maintenance command MCmd_Physical to return to normal physical device operation.
When Virtualization is active, the outputs of the PNPOS instruction hold at 0, virtual feedback of a working device is provided, and I/O faults are ignored. The value of the following parameters determines the time it takes the virtual device to reach various states:
  • Cfg_VirtualPosTime - time to reach target position in virtual (seconds)
  • Cfg_VirtualLockTime - time to lock or unlock in virtual (seconds)
  • Cfg_VirtualCylTime - time to simulate index cylinder feedback in virtual (seconds)
Manipulate the instruction to operate as if a working device is present.
Configuration of Strings for HMI
Configure strings for HMI faceplates, displayed in
FactoryTalk View
, and for the
Logix Designer
configuration dialog box. The strings are set to extended properties of tag items.
  • Description
  • Label for graphic symbol
  • Display Library for HMI Faceplate call-up
  • Instruction name
  • Area name
  • URL link
  • Navigation to an object with more information
  • Labels for Positions 1 through 30
  • Name of Interlock Trip Alarm
  • Name of I/O Fault Alarm
  • Name of Position Fail Alarm
  • Name of Lock Fail Alarm
Command Source
The instruction uses these command sources. The command sources are prioritized in order from highest to lowest in this table.
Command Source
Description
Hand
Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service
The instruction is disabled. Device commands and settings from any source are not accepted.
Maintenance
Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and settings from the HMI are accepted.
Override
Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is accepted.
External
External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are accepted.
Program locked
Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program. Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program
Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked
The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator
The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
  • Maintenance Out-of-Service exists
  • Maintenance exists
  • External exists
  • Program (unlocked) exists
  • Program locked exists
  • Operator (unlocked) exists
  • Operator locked exists
  • PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the nearest valid configuration.
The core control model arbitrates the source of the commands and parameters that the receiving function accepts. The core control model determines if the source is:
  • A programmatic entity which resides entirely within the processing environment, or
  • An external interface entity which issues commands and parameters external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring privilege.
Core Command Source Model
The core control model consists of these control sources:
  • Oper
  • OperLocked
  • Prog
  • ProgLocked
The control model defaults to this configuration. Other control sources may be present in the model but act as overriding control sources, acting independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default configuration uses the entire base model; upon power-up of the processing environment the control source will be the designated default. Some combinations of enabled control sources are disallowed as they are either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some commands may change. This is in keeping with the intent of the command. For example, if the Program state is disabled, the destination of the OCmd_Prog command becomes the Program Locked state instead of the Program state. This maintains the intent of the OCmd_Prog command: the operator entity wishes to place the function in control of the program. If the command was eliminated there would be no way to accomplish this. This is only done in configurations where it would cause no conflict or race condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the model:
  • External
  • Override
  • Maintenance
  • Out-of-Service
  • In-Service
  • Hand
Monitor the PNPOS Instruction
Use the operator faceplate from the PlantPAx library of Process objects for monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index through arrays in the Logix 5000 General Instructions manual for array-indexing faults.
Execution
Ladder Diagram
Condition/State
Action Taken
Prescan
Any commands received before first scan are discarded. The device is de-energized.
Instruction first run
Any commands received before first scan are discarded. The device is treated as if it were returning from Hand mode: the instruction state is set based on the position feedback received from the device. If the feedback is valid for one position, the device is set to that position, and, if the device has the lock/seal capability enabled, the device is locked in that position. If the device does not have position feedback or the position feedback is invalid, the device is set to the unknown/powerup state.
Rung-condition-in is false
Handled the same as if the device is taken Out of Service by command. The device outputs are de-energized, and the device Command Source is shown as Program Out of Service on the HMI. All alarms are cleared. The rung-condition-out continues as false.
Rung-condition-in is true
Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan
Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State
Action Taken
Prescan
Any commands received before first scan are discarded. The device is de-energized.
Instruction first run
Any commands received before first scan are discarded. The device is treated as if it were returning from Hand mode: the instruction state is set based on the position feedback received from the device. If the feedback is valid for one position, the device is set to that position, and, if the device has the lock/seal capability enabled, the device is locked in that position. If the device does not have position feedback or the position feedback is invalid, the device is set to the unknown/powerup state.
Instruction first scan
See instruction first run in the function block diagram table.
EnableIn is false
Handled the same as if the device is taken Out of Service by command. The device outputs are de-energized, and the device Command Source is shown as Program Out of Service on the HMI. All alarms are cleared. EnableOut is set to false.
EnableIn is true
EnableOut is set to true.
The instruction executes.
Postscan
EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if the instruction is in the control path activated by the logic, it will execute.
Condition/State
Action Taken
Prescan
See Prescan in the Function Block Diagram table.
Instruction first run
See Instruction first run in the Function Block Diagram table.
EnableIn is true
See EnableIn is true in the Function Block Diagram table.
Postscan
See Postscan in the Function Block Diagram table.
Example
In this example, the PNPOS instruction is used to control a rotating selector valve with four fixed positions.
PNPOS_LD_example
Function Block Diagram
PNPOS_FBD_example
Structured Text
NPO100.Inp_Pos01FdbkData:=NPO100_ZS100A
NPO100.Inp_Pos02FdbkData:=NPO100_ZS100B
NPO100.Inp_Pos03FdbkData:=NPO100_ZS100C
NPO100.Inp_Pos04FdbkData:=NPO100_ZS100D
PNPOS(NPO100, 0);
NPO100_ZV100A:=NPO100.Out_Pos01Data;
NPO100_ZV100B:=NPO100.Out_Pos02Data;
NPO100_ZV100C:=NPO100.Out_Pos03Data;
NPO100_ZV100D:=NPO100.Out_Pos04Data;
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.