Process Valve (PVLV)

This information applies to the CompactLogix 5380P and ControlLogix 5580P controllers.
The Process Valve (PVLV) instruction operates a two-position, single-solenoid operated valve, a dual-solenoid operated valve, or a motor-operated valve in various modes, monitoring for fault conditions. It also monitors hand-operated two-position valves. It is a built-in analogy of the existing PlantPAx P_ValveSO, P_ValveMO, and P_ValveHO add-on instructions in the Rockwell Automation Library of Process Objects.
The PVLV instruction:
  • Allows ownership of the valve through the PCMDSRC instruction.
  • Provides for configuration of the de-energized state of the valve: Fail Position 2 (energize to Position 1), Fail Position 1 (energize to Position 2) or Fail Last Position.
  • Allows a valve to be set to Position 2 or Position 1. If the valve is so equipped, monitor Position 2/Position 1 limit switch feedback to verify that the valve is Position 2 or Position 1. Whether the valve has each of the feedback limit switches can be configured at the engineer level. Whether to use each of the feedback limit switches can be configured at the Maintenance level.
  • Stops the motion of a Motor-operated Valve. Also provides a Stop Output, which is typically used to break the valve motor seal-in circuit and stop the actuating motor. If the option to allow stopping the valve is enabled, the instruction lets the operator reverse travel. For example, an operator can select Position 2 while closing, which stops the valve, then moves it in the opposite direction.
  • Provides an alarm for Full Stall if the valve feedback indicates it did not move off the original position within a configured amount of time when commanded to the other position. Provides an alarm for Transit Stall if the valve feedback indicates the valve moved from the original position but did not reach the target position within a configured amount of time. The Transit Stall or Full Stall condition can optionally de-energize the output to the valve, requiring a reset.
  • Provides a limit switch Failure indication if the limit switches indicate the valve is not Position 1, not Position 2, and not moving. Provides a configuration for the failure state: whether both switches are ON or both switches are OFF to indicate limit switch failure.
  • Provide for Permissives (those that can be bypassed and those that cannot be bypassed) which are conditions that allow the valve to energize.
    • Permissive to energize (solenoid-operated valve)
    • Position 2 permissives (motor-operated valve)
    • Position 1 permissives (motor-operated valve)
  • Provides for Interlocks (those that can be bypassed and those that cannot be bypassed) which are conditions that de-energize the valve and prevent energizing. Provides an alarm when an interlock de-energizes the valve. Allows maintenance personnel to bypass the Permissives and Interlocks.
  • Allows maintenance personnel to disable, or force to remain de-energized, the solenoid valve.
  • Monitors an I/O Fault input and alarm on an I/O Fault. The I/O Fault condition can de-energize the output to the valve, requiring a reset.
  • In Override mode, provides an Override State input that determines whether the Override is to set the valve to Position 2 or Position 1 (default = Position 1).
  • Provides a Simulation capability, where the output to the valve remains de-energized, but the instruction can be manipulated as if a working valve were present. The response delay is configurable between a command to Position 2 or Position 1 and the simulated Position 2 or Position 1 response. This same delay is used if the valve is configured with no Position 2/Position 1 feedback. This capability is often used for activities such as instruction testing and operator training.
  • Provides an output for holding the valve coil energized (to Position 2 or Position 1, based on the configured fail state).
  • Provides an actuator fault input for use by valves that generate a fault contact, such as actuator motor overload trip. The actuator fault condition can de-energize the outputs to the valve, requiring a reset.
  • Provides the ability to trip the valve (de-energize it or drive it to a default trip position). The program (through program commands) or the operator (through the HMI faceplate) can trip the valve any time.
    The trip function provides these capabilities:
    • Detect failure to reach the configured trip position when tripped and generate an appropriate alarm.
    • Monitor interlock conditions to trip the valve and alarm when an interlock initiates moving the valve to its trip position.
    • Provide for simulation of a working valve while disabling the trip output, for use in off-process training, testing, or simulation.
    • Monitor I/O communication, and alarm and trip if the shed on I/O fault function is enabled on a communication fault.
Available Languages
Ladder Diagram
PVLV_avail_ladder
Function Block Diagram
PVLV_avail_FBD
Structured Text
PVLV(PVLVTag, BusObj);
Operands
IMPORTANT:
Unexpected operation may occur if:
  • Output tag operands are overwritten.
  • Members of a structure operand are overwritten.
  • Except when specified, structure operands are shared by multiple instructions.
There are data conversion rules for mixing numeric data types within an instruction. See Data conversions.
Configuration Operands
Operand
Type
Format
Description
PlantPAx ControlPlantPAx Control
P_VALVE_DISCRETE
tag
Data structure required for proper operation of instruction.
BusObj
BUS_OBJ
tag
Bus component
P_VALVE_DISCRETE Structure
Public members are standard, visible tag members that are programmatically accessible. Private, hidden members are used in HMI faceplates and are not programmatically accessible. Private members are listed in separate tables after public members.
Public Input Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
EnableIn
BOOL
Not Visible
Not Required
Input
Enable input. Ladder Diagram: Corresponds to the rung-condition-in.
Default is true.
Inp_InitializeReq
BOOL
Not Visible
Not Required
Input
1 = Request to initialize the instruction. The instruction is normally initialized in instruction first run. use this request when reinitialization is needed. The instruction clears this operand automatically.
Default is true.
Inp_OvrdCmd
SINT
Not Visible
Not Required
Input
Override valve command:
0 = None,
1 = Position 1,
2 = Position 2,
3 = Stop,
4 = Pulse Position 1,
5 = Pulse Position 2,
6 = Pulse continuously.
Default is 0.
Inp_Pos1FdbkData
BOOL
Visible
Not Required
Input
Feedback from Position 1 limit switch of the device. 1 = Device confirmed Position 1.
Default is false.
Inp_Pos2FdbkData
BOOL
Visible
Not Required
Input
Feedback from Position 2 limit switch of the device. 1 = Device confirmed Position 2.
Default is false.
Inp_ActuatorFault
BOOL
Not Visible
Not Required
Input
Valve actuator fault (overload, etc.), 0 = Ok, 1 = Fault).
Default is false.
Inp_IOFault
BOOL
Visible
Not Required
Input
Indicates the IO data are inaccurate.
0 = The IO data are good,
1 = The IO data are bad, causing fault. If the Valve is not virtual, this input sets Sts_IOFault, which raises IOFault Alarm.
Default is false.
Inp_Pos1PermOK
BOOL
Not Visible
Not Required
Input
1 = Position 1 Permissives OK, valve can move to Position 1.
Default is true.
Inp_Pos1NBPermOK
BOOL
Not Visible
Not Required
Input
1 = Non-bypassable Position 1 Permissives OK, valve can move to Position 1.
Default is true.
Inp_Pos2PermOK
BOOL
Visible
Not Required
Input
1 = Position 2 Permissives OK, valve can move to Position 2.
Default is true.
Inp_Pos2NBPermOK
BOOL
Visible
Not Required
Input
1 = Non-bypassable Position 2 Permissives OK, valve can move to Position 2.
Default is true.
Inp_IntlkOK
BOOL
Visible
Not Required
Input
1 = Interlocks ok, valve can energize outputs.
Default is true.
Inp_NBIntlkOK
BOOL
Visible
Not Required
Input
1 = Non-bypassable interlocks ok, valve can energize outputs.
Default is true.
Inp_IntlkAvailable
BOOL
Visible
Not Required
Input
1 = Interlock availibility ok.
Default is true.
Inp_IntlkTripInh
BOOL
Visible
Not Required
Input
1 = Inhibit Interlock Trip Status.
Default is false.
Inp_RdyReset
BOOL
Not Visible
Not Required
Input
1 = Related object, reset by this valve, is ready to be reset.
Default is false.
Inp_Hand
BOOL
Not Visible
Not Required
Input
1 = Acquire hand (typically hardwired local), 0 = Release hand.
Default is false.
Inp_Ovrd
BOOL
Not Visible
Not Required
Input
1 = Acquire Override (higher priority Program logic), 0 = Release Override.
Default is false.
Inp_OwnerCmd
DINT
Not Visible
Not Required
Input
Owner device command.
0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.29 = Echo.
Default is 0.
Inp_ExtInh
BOOL
Not Visible
Not Required
Input
1 = Inhibit External acquisition, 0 = Allow External acquisition.
Default is false.
Inp_HornInh
BOOL
Not Visible
Not Required
Input
1 = Inhibit audible alert, 0 = Alllow audible alert.
Default is false.
Inp_Reset
BOOL
Not Visible
Not Required
Input
1 = Reset Shed Latches and Cleared Alarms.
Default is false.
Inp_VirtualPos1HO
BOOL
Not Visible
Not Required
Input
1 = Sets virtualized valve HO state to Position 1, 0 = No change.
Default is false.
Inp_VirtualPos2HO
BOOL
Not Visible
Not Required
Input
1 = Sets virtualized valve HO state to Position 2, 0 = No change.
Default is false.
Cfg_AllowDisable
BOOL
Not Visible
Not Required
Input
1 = Allow Operator alarm disable, 0 = Disallow Operator alarm disable.
Default is false.
Cfg_AllowShelve
BOOL
Not Visible
Not Required
Input
1 = Allow Operator alarm shelve, 0 = Disallow Operator alarm shelve.
Default is false.
Cfg_eObjType
SINT
Not Visible
Not Required
Input
Valve object type
0 = Solenoid Operated
1 = Motor Operated
2 = Hand Operated.
Default is 0.
Cfg_HasPos1Fdbk
BOOL
Not Visible
Not Required
Input
1 = Device provides Position 1 feedback signal.
Default is false.
Cfg_HasPos2Fdbk
BOOL
Not Visible
Not Required
Input
1 = Device provides Position 2 feedback signal.
Default is false.
Cfg_UsePos1Fdbk
BOOL
Not Visible
Not Required
Input
1 = Use device Position 1 feedback for failure checking.
Default is false.
Cfg_UsePos2Fdbk
BOOL
Not Visible
Not Required
Input
1 = Use device Position 2 feedback for failure checking.
Default is false.
Cfg_HasPos1PermObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI a valve is connected to Inp_Pos1Perm inputs.
Default is false.
Cfg_HasPos2PermObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI a valve is connected to Inp_Pos2Perm inputs.
Default is false.
Cfg_HasIntlkObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI a valve is connected to Inp_Intlk inputs.
Default is false.
Cfg_FailPos2
BOOL
Not Visible
Not Required
Input
1 = Fail Position 2 (energize to Position 1), 0 = Fail Position 1 (energize to Position 2).
Default is false.
Cfg_FdbkFail
BOOL
Not Visible
Not Required
Input
1 = Both feedbacks Position 1/2 are ON is invalid, 0 = Both feedbacks Position 1/2 are OFF is invalid.
Default is true.
Cfg_HasStop
BOOL
Not Visible
Not Required
Input
1 = Stop output can be used to break local seal-in and stop valve motion.
Default is false.
Cfg_MntnOut
BOOL
Not Visible
Not Required
Input
1 = Maintain Output when commanded state reached.
Default is false.
Cfg_MntnOutAlm
BOOL
Not Visible
Not Required
Input
1 = Maintain Output when commanded state reached is true and when alarm active
Default is false.
Cfg_MntnStop
BOOL
Not Visible
Not Required
Input
1 = Maintain Stop Output when stopped state reached.
Default is false.
Cfg_HasTrip
BOOL
Not Visible
Not Required
Input
1 = Trip output is connected to valve, 0 = Monitor only.
Default is false.
Cfg_TripPos2
BOOL
Not Visible
Not Required
Input
1 = Trip moves valve to Position 2, 0 = Trip moves valve to Position 1.
Default is false.
Cfg_HasPulse
BOOL
Not Visible
Not Required
Input
1 = Enable pulsing functions, 0 = Position 1/2 only.
Default is false.
Cfg_CompletePulse
BOOL
Not Visible
Not Required
Input
1 = Finish pulse in progress when Commanded to Position 2 or Position 1, 0 = Switch immediately to Position 2 or Position 1 state when Commanded to.
Default is false.
Cfg_HasPulseToState
BOOL
Not Visible
Not Required
Input
1 = Enable pulsing functions to state, 0 = Enable pulsing functions to time.
Default is false.
Cfg_HasMoreObj
BOOL
Not Visible
Not Required
Input
1 = Tells HMI a valve with more info is available.
Default is false.
Cfg_HasStatsObj
BOOL
Not Visible
Not Required
Input
1 = Enable stats valve function, 0 = Position 1/2 only.
Default is false.
Cfg_CoastToLS
BOOL
Not Visible
Not Required
Input
1 = Coasting into Limit Switch when stopped changes state, 0 = Stop is independent.
Default is true.
Cfg_OperPos1Prio
BOOL
Not Visible
Not Required
Input
1 = OCmd_Pos1 has priority, accepted any time, 0 = OCmd_Pos1 openly in Operator and Maintenance command sources.
Default is false.
Cfg_OCmdResets
BOOL
Not Visible
Not Required
Input
1 = New Operator state command resets fault, 0 = Reset required to clear fault.
Default is false.
Cfg_XCmdResets
BOOL
Not Visible
Not Required
Input
1 = New valve XCmd resets shed latches and cleared alarms, 0 = XCmd_Reset req'd.
Default is false.
Cfg_OvrdPermIntlk
BOOL
Not Visible
Not Required
Input
1 = Override ignores bypassable permissives/interlocks, 0 = Always use permissives/interlocks.
Default is false.
Cfg_PCmdPos2AsLevel
BOOL
Not Visible
Not Required
Input
1 = PCmd_Pos2 used as a level (1 = Position 2, 0 = Position 1), 0 = The instruction clears PCmd_Pos2 operand automatically.
Default is false.
Cfg_ShedOnActuatorFault
BOOL
Not Visible
Not Required
Input
1 = Stop valve and alarm on Actuator fault; 0 = alarm only on Actuator fault.
Default is true.
Cfg_ShedOnIOFault
BOOL
Not Visible
Not Required
Input
1 = Stop Valve and Alarm on I/O Fault; 0 = Alarm only on I/O Fault.
Default is true.
Cfg_ShedOnFailToTrip
BOOL
Not Visible
Not Required
Input
1 = Continue trip and alarm on Fail to Trip; 0 = Alarm only on Fail to Trip.
Default is true.
Cfg_ShedOnFullStall
BOOL
Not Visible
Not Required
Input
1 = Stop valve and alarm on Full Stall; 0 = Alarm only on Full Stall.
Default is true.
Cfg_ShedOnLossPos1
BOOL
Not Visible
Not Required
Input
1 = Stop valve and alarm on Loss Position 1; 0 = Alarm only on Loss Position 1 feedback.
Default is false.
Cfg_ShedOnLossPos2
BOOL
Not Visible
Not Required
Input
1 = Stop valve and alarm on Loss Position 2; 0 = Alarm only on Loss Position 2 feedback.
Default is false.
Cfg_ShedOnTransitStall
BOOL
Not Visible
Not Required
Input
1 = Stop valve and alarm on Transit stall; 0 = Alarm only on Transit stall.
Default is true.
Cfg_HasOper
BOOL
Not Visible
Not Required
Input
1 = Operator (unlocked) exists, can be selected.
Default is true.
Cfg_HasOperLocked
BOOL
Not Visible
Not Required
Input
1 = Operator locked exists, can be selected.
Default is true.
Cfg_HasProg
BOOL
Not Visible
Not Required
Input
1 = Program (unlocked) exists, can be selected.
Default is true.
Cfg_HasProgLocked
BOOL
Not Visible
Not Required
Input
1 = Program locked exists, can be selected.
Default is true.
Cfg_HasExt
BOOL
Not Visible
Not Required
Input
1 = External exists, can be selected.
Default is false.
Cfg_HasMaint
BOOL
Not Visible
Not Required
Input
1 = Maintenance exists, can be selected.
Default is true.
Cfg_OvrdOverLock
BOOL
Not Visible
Not Required
Input
1 = Override supersedes Program/Operator lock, 0 = Don't Override lock.
Default is true.
Cfg_ExtOverLock
BOOL
Not Visible
Not Required
Input
1 = External supersedes Program/Operator lock, 0 = Don't Override lock.
Default is false.
Cfg_ProgPwrUp
BOOL
Not Visible
Not Required
Input
1 = Power up to Program, 0 = Power up to Operator.
Default is false.
Cfg_ProgNormal
BOOL
Not Visible
Not Required
Input
Normal source: 1 = Program if no requests; 0 = Operator if no requests.
Default is false.
Cfg_PCmdPriority
BOOL
Not Visible
Not Required
Input
Command priority. 1 = Program commands win, 0 = Operator commands win.
Default is false.
Cfg_PCmdProgAsLevel
BOOL
Not Visible
Not Required
Input
1 = PCmd_Prog used as a level.
Default is false.
Cfg_PCmdLockAsLevel
BOOL
Not Visible
Not Required
Input
1 = PCmd_Lock used as a level (1 = Lock, 0 = Unlock).
Default is false.
Cfg_ExtAcqAsLevel
BOOL
Not Visible
Not Required
Input
1 = XCmd_Acq used as level (1 = Acquire, 0 = Release).
Default is false.
Cfg_Pos1Dly
REAL
Not Visible
Not Required
Input
Delay before initially activating output Position 1.
Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_Pos2Dly
REAL
Not Visible
Not Required
Input
Delay before initially activating output Position 2. Valid = 0.0 to 2147483.0 seconds.
Default is 0.0.
Cfg_Pos1PulseTime
REAL
Not Visible
Not Required
Input
Output Position 1 time for pulse Position 1 or pulse continuous. Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_Pos2PulseTime
REAL
Not Visible
Not Required
Input
Output Position 2 time for pulse Position 2 or pulse continuous. Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_OutPulseTime
REAL
Not Visible
Not Required
Input
Time to pulse valve outputs (0 = Outputs maintained on). Valid = 0.0 to 2147483.0 seconds.
Default is 5.0.
Cfg_StartHornTime
REAL
Not Visible
Not Required
Input
Time to sound audible after command request. (0 = Disabled). Valid = 0.0 to 1000.0 seconds.
Default is 0.0.
Cfg_FullStallTime
REAL
Not Visible
Not Required
Input
Time after output Position 1 to get Position 1 feedback before fault. Valid = 0.0 to 2147483.0 seconds.
Default is 15.0.
Cfg_TransitStallTime
REAL
Not Visible
Not Required
Input
Time after output Position 1/2 to get Position 1/2 feedback before fault. Valid = 0.0 to 2147483.0 seconds.
Default is 60.0.
Cfg_TripFailTime
REAL
Not Visible
Not Required
Input
After tripped, time to reach trip position before alarm. Valid = 0.0 to 2147483.0 seconds.
Default is 10.0.
Cfg_VirtualFdbkTime
REAL
Not Visible
Not Required
Input
Delay to echo back of Position 1/2 status when the valve is treated as virtual (seconds).
Default is 3.0.
Cfg_CnfrmReqd
SINT
Not Visible
Not Required
Input
Operator Command Confirmation Required. Represents the type of command confirmation required.
0 = None,
1 = Command confirmation required,
2 = Performer e-signature required,
3 = Performer and approver e-signature required.
Default is 0.
PCmd_Pos1
BOOL
Not Visible
Not Required
Input
Program command to move valve to Position 1. The Position 1 command is ignored when Cfg_PCmdPosition 2 as level is 1. The instruction clears this operand automatically.
Default is false.
PCmd_Pos2
BOOL
Not Visible
Not Required
Input
Program command to move valve to Position 2. The Position 2 command is ignored when Cfg_PCmdPosition 2 as level is 1. The instruction clears this operand automatically.
Default is false.
PCmd_Pos1Pulse
BOOL
Not Visible
Not Required
Input
Program command to pulse valve that is in Position 2, to Position 1 once. The instruction clears this operand automatically.
Default is false.
PCmd_Pos2Pulse
BOOL
Not Visible
Not Required
Input
Program command to pulse valve that is in Position 1, to Position 2 once. The instruction clears this operand automatically.
Default is false.
PCmd_ContPulse
BOOL
Not Visible
Not Required
Input
Program command to pulse valve continuously. The instruction clears this operand automatically.
Default is false.
PCmd_Trip
BOOL
Not Visible
Not Required
Input
Program command to trip valve.
Default is false.
PCmd_Reset
BOOL
Not Visible
Not Required
Input
Program command to reset all alarms requiring reset. The instruction clears this operand automatically.
Default is false.
PCmd_Stop
BOOL
Not Visible
Not Required
Input
Program command to stop valve. The instruction clears this operand automatically.
Default is false.
PSet_Owner
DINT
Not Visible
Not Required
Input
Program owner request ID (non-zero) or release (zero).
Default is 0.
PCmd_Lock
BOOL
Not Visible
Not Required
Input
Program command to lock Program (disallow Operator). The instruction clears this operand automatically if Cfg_PCmdLockAsLevel = 0.
Default is false.
PCmd_Normal
BOOL
Not Visible
Not Required
Input
Program command to select normal command source (Operator or Program). The instruction clears this operand automatically.
Default is false.
PCmd_Oper
BOOL
Not Visible
Not Required
Input
Program command to select Operator (Program to Operator). The instruction clears this operand automatically.
Default is false.
PCmd_Prog
BOOL
Not Visible
Not Required
Input
Program command to select Program (Operator to Program). The instruction clears this operand automatically.
Default is false.
PCmd_Unlock
BOOL
Not Visible
Not Required
Input
Program command to unlock Program (allow Operator to acquire). The instruction clears this operand automatically.
Default is false.
PCmd_Virtual
BOOL
Not Visible
Not Required
Input
Program Command to select Virtual (simulated) device operation
Default is false.
PCmd_Physical
BOOL
Not Visible
Not Required
Input
Program Command to select Physical device operation (not simulated)
Default is false.
XCmd_Pos1
BOOL
Not Visible
Not Required
Input
External command to turn object Position 1. The instruction clears this operand automatically.
Default is false.
XCmd_Pos2
BOOL
Not Visible
Not Required
Input
External command to turn object Position 2. The instruction clears this operand automatically.
Default is false.
XCmd_Pos1Pulse
BOOL
Not Visible
Not Required
Input
External command to pulse valve that is in Position 2, to Position 1 once. The instruction clears this operand automatically.
Default is false.
XCmd_Pos2Pulse
BOOL
Not Visible
Not Required
Input
External command to pulse valve that is in Position 1, to Position 2 once. The instruction clears this operand automatically.
Default is false.
XCmd_ContPulse
BOOL
Not Visible
Not Required
Input
External command to pulse object continuously (blink). The instruction clears this operand automatically.
Default is false.
XCmd_Trip
BOOL
Not Visible
Not Required
Input
External command to trip valve.
Default is false.
XCmd_Reset
BOOL
Not Visible
Not Required
Input
External command to clear shed latches and cleared alarms.
Default is false.
XCmd_Stop
BOOL
Not Visible
Not Required
Input
External command to stop valve motion.the instruction clears this operand automatically.
Default is false.
XCmd_ResetAckAll
BOOL
Not Visible
Not Required
Input
External command to acknowledge and reset all alarms and latched shed conditions. The instruction clears this operand automatically.
Default is false.
XCmd_Acq
BOOL
Not Visible
Not Required
Input
External command to acquire ownership (Operator/Program/Override/Maintenance to External). The instruction clears this operand automatically if Cfg_ExtAcqAsLevel = 0.
Default is false.
XCmd_Rel
BOOL
Not Visible
Not Required
Input
External command to release ownership if Cfg_ExtAcqAsLevel = 0 (External to Operator/Program/Override/Maintenance). The instruction clears this operand automatically.
Default is false.
Public Output Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
EnableOut
BOOL
Not Visible
Not Required
Output
Enable output. This output state always reflects EnableIn input state.
Out_Pos1Data
BOOL
Not Visible
Not Required
Output
1 = Activate to move valve to Position 1.
Out_Pos2Data
BOOL
Visible
Not Required
Output
1 = Activate to move valve to Position 2.
Out_StopData
BOOL
Not Visible
Not Required
Output
1 = Break seal-in circuit in actuator to stop valve motion.
Out_TripData
BOOL
Not Visible
Not Required
Output
1 = Trip valve to safe/fail state.
Out_HornData
BOOL
Not Visible
Not Required
Output
1 = Sound audible prior to commanded valve start.
Out_Reset
BOOL
Not Visible
Not Required
Output
1 = Reset command has been received and accepted.
Out_OwnerSts
DINT
Not Visible
Not Required
Output
Status of command source, owner command handshake and ready status. 0 = None,
.10 = Operator Lock,
.11 = Operator Unlock,
.12 = Program Lock,
.13 = Program Unlock,
.14 = Acquire Maintenance,
.15 = Release Maintenance,
.16 = Acquire External,
.17 = Release External,
.18 = Has Maintenance,
.19 = External Override Lock,
.20 = Has External,
.21 = Has Operator,
.22 = Has Operator Locked,
.23 = Has Program,
.24 = Has Program Locked,
.29 = Echo,
.30 = Not Ready.
Sts_Initialized
BOOL
Not Visible
Not Required
Output
1 = Instruction is initialized. use Inp_initializereq to reinitialize.
Sts_Available
BOOL
Not Visible
Not Required
Output
1 = Valve available for control by automation (Program).
Sts_IntlkAvailable
BOOL
Not Visible
Not Required
Output
1 = Valve can be acquired by Program and is available for start/stop control when interlocks are OK.
Sts_Bypass
BOOL
Not Visible
Not Required
Output
1 = Bypassable interlocks are bypassed.
Sts_BypActive
BOOL
Visible
Not Required
Output
1 = Interlock bypassing active (bypassed or Maintenance).
Sts_MaintByp
BOOL
Not Visible
Not Required
Output
1 = Valve has a Maintenance bypass function active.
Sts_NotRdy
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready, for HMI use hidden detail bits (Sts_nrdyxxx) for reason.
Sts_NrdyCfgErr
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: configuration error.
Sts_NrdyIntlk
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: interlock not ok.
Sts_NrdyOoS
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: object disabled by Maintenance.
Sts_NrdyPos1Perm
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: Position 1 permissive not ok.
Sts_NrdyPos2Perm
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: Position 2 permissive not ok.
Sts_NrdyPerm
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: permissive not ok.
Sts_NrdyStopPerm
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: stop permissive not ok.
Sts_Err
BOOL
Not Visible
Not Required
Output
1 = Error in configuration: See detail bits (Sts_Errxxx) for reason.
Sts_ErrAlm
BOOL
Not Visible
Not Required
Output
1 = Error in logix tag-based alarm settings.
Sts_ErrFullStallTime
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 1 fail timer preset (use 0.0 to 2147483.0).
Sts_ErrHas
BOOL
Not Visible
Not Required
Output
1 = Error in Config: must have at least one Limit Switch
Sts_ErrOutPulseTime
BOOL
Not Visible
Not Required
Output
1 = Invalid outpulse timer preset (use 0.0 to 2147483.0).
Sts_ErrPos1Dly
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 1 delay timer preset (use 0 to 2147483.0).
Sts_ErrPos1PulseTime
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 1 pulse timer preset (use 0.0 to 2147483.0).
Sts_ErrPos2Dly
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 2 delay timer preset (use 0 to 2147483.0).
Sts_ErrPos2PulseTime
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 2 pulse timer preset (use 0.0 to 2147483.0).
Sts_ErrTransitStallTime
BOOL
Not Visible
Not Required
Output
1 = Invalid Position 2 fail timer preset (use 0.0 to 2147483.0).
Sts_ErrTripFailTime
BOOL
Not Visible
Not Required
Output
1 = Invalid virtual feedback timer (use 0.0 to 2147483.0).
Sts_Hand
BOOL
Not Visible
Not Required
Output
1 = Hand is selected (supersedes OoS, Maintenance, Override, External, Program, Operator).
Sts_OoS
BOOL
Not Visible
Not Required
Output
1 = Out of service is selected (supersedes Maintenance, Override, External, Program, Operator).
Sts_Maint
BOOL
Not Visible
Not Required
Output
1 = Maintenance is selected (supersedes Override, External, Program, Operator).
Sts_Ovrd
BOOL
Not Visible
Not Required
Output
1 = Override is selected (supersedes External, Program, Operator).
Sts_Ext
BOOL
Not Visible
Not Required
Output
1 = External is selected (supersedes Program and Operator).
Sts_Prog
BOOL
Visible
Not Required
Output
1 = Program is selected.
Sts_ProgLocked
BOOL
Not Visible
Not Required
Output
1 = Program is selected and locked.
Sts_Oper
BOOL
Not Visible
Not Required
Output
1 = Operator is selected.
Sts_OperLocked
BOOL
Not Visible
Not Required
Output
1 = Operator is selected and locked.
Sts_ProgOperSel
BOOL
Not Visible
Not Required
Output
Program/Operator selection (latch) state: 1 = Program, 0 = Operator.
Sts_ProgOperLock
BOOL
Not Visible
Not Required
Output
Program/Operator lock (latch) state, 1 = Locked, 0 = Unlocked.
Sts_Normal
BOOL
Not Visible
Not Required
Output
1 = Selection equals the normal (Program or Operator).
Sts_ExtReqInh
BOOL
Not Visible
Not Required
Output
1 = External request inhibited, cannot get to External from current state.
Sts_ProgReqInh
BOOL
Not Visible
Not Required
Output
1 = Program request inhibited, cannot get to Program from current state.
Sts_MAcqRcvd
BOOL
Not Visible
Not Required
Output
1 = Maintenance acquire command received this scan.
Sts_CmdConflict
BOOL
Not Visible
Not Required
Output
1 = Conflicting commands received this scan.
Sts_Alm
BOOL
Visible
Not Required
Output
1 = An alarm is active.
Sts_AlmInh
BOOL
Not Visible
Not Required
Output
1 = One or more alarms shelved, disabled or suppressed.
Sts_ActuatorFault
BOOL
Not Visible
Not Required
Output
1 = Actuator fault detected (input).
Sts_CmdToPos1
BOOL
Not Visible
Not Required
Output
1 = Valve command to Position 1 requested, waiting on the position 1 delay timer to complete before issuing the command.
Sts_CmdToPos2
BOOL
Not Visible
Not Required
Output
1 = Valve command to Position 2 requested, waiting on the position 2 delay timer to complete before issuing the command.
Sts_ErrUse
BOOL
Not Visible
Not Required
Output
1 = Error in Config: must use at least one Limit Switch
Sts_ErrVirtualFdbkTime
BOOL
Not Visible
Not Required
Output
1 = Invalid virtual feedback timer (use 0.0 to 2147483.0).
Sts_FdbkPos1
BOOL
Not Visible
Not Required
Output
1 = Valve feedback shows valve in Position 1 state.
Sts_FdbkPos2
BOOL
Not Visible
Not Required
Output
1 = Valve feedback shows valve in Position 2 state.
Sts_FdbkFail
BOOL
Not Visible
Not Required
Output
1 = Feedbacks are in an invalid state (not Position 1, Position 2, or transition).
Sts_FullStall
BOOL
Not Visible
Not Required
Output
1 = Valve full stall (failed to move at all) (one-shot).
Sts_Horn
BOOL
Not Visible
Not Required
Output
1 = Valve horn active.
Sts_LossPos1
BOOL
Not Visible
Not Required
Output
1 = Loss of Position 1 position alarm.
Sts_LossPos2
BOOL
Not Visible
Not Required
Output
1 = Loss of Position 2 position alarm.
Sts_IOFault
BOOL
Not Visible
Not Required
Output
I/O comm fault status (0 = Ok, 1 = Bad).
Sts_Moving
BOOL
Not Visible
Not Required
Output
1 = Valve not commanded to trip and is not confirmed Position 1 or Position 2.
Sts_MovingToPos1
BOOL
Not Visible
Not Required
Output
1 = Valve commanded to Position 1 and awaiting Position 1 feedback.
Sts_MovingToPos2
BOOL
Not Visible
Not Required
Output
1 = Valve commanded to Position 2 and awaiting Position 2 feedback.
Sts_Pos1
BOOL
Visible
Not Required
Output
1 = Valve commanded to Position 1 and is confirmed Position 1.
Sts_Pos2
BOOL
Visible
Not Required
Output
1 = Valve commanded to Position 2 and is confirmed Position 2.
Sts_Pulsing
BOOL
Not Visible
Not Required
Output
1 = Output is in a pulsing sequence.
Sts_Stopped
BOOL
Not Visible
Not Required
Output
1 = Valve commanded to stop and is not at either end of travel.
Sts_TransitStall
BOOL
Not Visible
Not Required
Output
1 = Valve transit stall (did not reach target position) (one-shot).
Sts_TripFail
BOOL
Not Visible
Not Required
Output
1 = Valve failed to trip (did not reach trip position).
Sts_Tripping
BOOL
Not Visible
Not Required
Output
1 = Valve commanded to trip and has not reached trip position.
Sts_UnackAlmCount
DINT
Not Visible
Not Required
Output
Count of unacknowledged alarms.
Sts_NrdyTrip
BOOL
Not Visible
Not Required
Output
1 = Valve not ready: tripped (at object or by command).
Sts_NrdyIOFault
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: io fault (shed requires reset).
Sts_NrdyActuatorFault
BOOL
Not Visible
Not Required
Output
1 = Valve not ready:actuator fault (fault or shed requires reset).
Sts_IntlkTrip
BOOL
Not Visible
Not Required
Output
1 = Valve tripped by an interlock not ok.
Sts_NrdyFail
BOOL
Not Visible
Not Required
Output
1 = Valve is not ready: object failure (shed requires reset).
Sts_RdyAck
BOOL
Not Visible
Not Required
Output
1 = An alarm is ready to be acknowledged.
Sts_RdyReset
BOOL
Not Visible
Not Required
Output
1 = A latched alarm or shed condition is ready to be reset.
Sts_Virtual
BOOL
Not Visible
Not Required
Output
1 = The instruction treats the object as virtual. The instruction acts as normal but the output is kept de-energized (Out_ = 0). 0 = the instruction operates the object normally.
Sts_bSrc
INT
Not Visible
Not Required
Output
Active selection bitmap (for HMI totem pole with command source request selection):
Sts_bSrc.0: hand,
Sts_bSrc.1: Programmed out of service (rung false),
Sts_bSrc.2: Maintenance out of service,
Sts_bSrc.3: Maintenance,
Sts_bSrc.4: Override,
Sts_bSrc.5: External,
Sts_bSrc.6: Program locked,
Sts_bSrc.7: Program,
Sts_bSrc.8: Operator locked,
Sts_bSrc.9: Operator.
Sts_eSrc
INT
Not Visible
Not Required
Output
The current command source enumerated values:
0 = Logic not in use,
4 = Hand,
8 = Maintenance,
16 = Override,
32 = Program,
33 = Program locked,
34 = Program by default (Normal),
64 = Operator,
65 = Operator locked,
66 = Operator by default (Normal),
128 = Maintenance Out of Service,
129 = Programmed Out of Service (rung false),
256 = External.
Sts_eCmd
SINT
Not Visible
Not Required
Output
Valve command: 0=None,
1=Position 1,
2=Position 2,
4=Stop,
8=Pulse Position 1,
16=Pulse Position 2,
32=Pulse continuously,
64=Trip
Sts_eFdbk
SINT
Not Visible
Not Required
Output
Valve feedback:
0 = transition,
1 = Position 1,
2 = Position 2,
3 = invalid.
Sts_eFault
SINT
Not Visible
Not Required
Output
Valve fault status:
0 =None,
2 = Feedback fault,
7 = Transit stall,
8 = Full stall,
11 = Loss Position 1,
12 = Loss Position 2,
13 = Actuator fault,
14 = Trip fail,
15 = Interlock trip,
16 = Not ready fail,
18 = Not ready trip,
32 = I/O Fault,
34 = Config Error.
Sts_eNotify
SINT
Not Visible
Not Required
Output
All alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyAll
SINT
Not Visible
Not Required
Output
All alarm status enumerated values including related valves:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eState
DINT
Not Visible
Not Required
Output
Internal logic state
0 = Unknown
1 = Pos1
2 = Pos2
4 = Stop cmd
8 = No commanded position
9 = Pos2 cmd on delay
10 = Pos1 cmd off delay
12 = Stop and Pos1
17 = Pulse Pos2 cmd on delay
18 = Pulse Pos 1 cmd off delay
20 = Stop and Pos2
33 = Pulse Pos2 cmd on pulse time
34 = Pulse Pos1 cmd off pulse time
65 = Pulse continuous cmd on delay
66 = Pulse continuous cmd off delay
129 = Pulse continuous cmd off pulse time
130 = Pulse continuous cmd on pulse time
257 = Pos1 pulse completion time
258 = Pos2 pulse completion time
ts_eSts
SINT
Not Visible
Not Required
Output
Valve status:
0 = ?,
1 = Position 1,
2 = Position 2,
3 = cmd to Position 1,
4 = cmd to Position 2,
5 = moving to Position 1,
6 = moving to Position 2,
7 = stopped,
8 = tripping,
9 = pulse Position 1,
10 = pulse Position 2,
11 = pulse continuously, 12 = moving, 14 = Horn, 15 = out of service.
Sts_eNotifyActuatorFault
SINT
Not Visible
Not Required
Output
Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyFullStall
SINT
Not Visible
Not Required
Output
Full Stall alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIntlkTrip
SINT
Not Visible
Not Required
Output
Interlock Trip alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyIOFault
SINT
Not Visible
Not Required
Output
IO Fault alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLossPos1
SINT
Not Visible
Not Required
Output
Loss Position 1 alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyLossPos2
SINT
Not Visible
Not Required
Output
Loss Position 2 alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyTransitStall
SINT
Not Visible
Not Required
Output
Transit Stall alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
Sts_eNotifyTripFail
SINT
Not Visible
Not Required
Output
Trip Fail alarm status enumerated values:
0 = Not in alarm, acknowledged,
1 = Not in alarm, unacknowledged or reset required,
2 = Low severity alarm, acknowledged,
3 = Low severity alarm, unacknowledged,
4 = Medium severity alarm, acknowledged,
5 = Medium severity alarm, unacknowledged,
6 = High severity alarm, acknowledged,
7 = High severity alarm, unacknowledged,
8 = Urgent severity alarm, acknowledged,
9 = Urgent severity alarm, unacknowledged.
SrcQ
SINT
Not Visible
Not Required
Output
Source and quality of primary value or status (enumerated):
0=Good, live, confirmed good,
1=Good, live, assumed good,
2=Good, no feedback, assumed good,
8=Test, virtualized,
9=Test, loopback,
10=Test, manually entered,
16=Uncertain, live, off-spec,
17=Uncertain, substituted at device or bus,
18=Uncertain, substituted at instruction,
19=Uncertain, using last known good,
20=Uncertain, using replacement value,
32=Bad, signal failure,
33=Bad, channel fault,
34=Bad, module or communication fault,
35=Bad, invalid configuration.
SrcQ_IO
SINT
Not Visible
Not Required
Output
Source and quality of primary input or output (enumerated):
0=Good, live, confirmed good,
1=Good, live, assumed good,
2=Good, no feedback, assumed good,
8=Test, virtualized,
9=Test, loopback,
10=Test, manually entered,
16=Uncertain, live, off-spec,
17=Uncertain, substituted at device or bus,
18=Uncertain, substituted at instruction,
19=Uncertain, using last known good,
20=Uncertain, using replacement value,
32=Bad, signal failure,
33=Bad, channel fault,
34=Bad, module or communication fault,
35=Bad, invalid configuration.
Val_Owner
DINT
Not Visible
Not Required
Output
Current object owner ID (0 = Not owned).
XRdy_Acq
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Acq, enable HMI button.
XRdy_Rel
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Rel, enable HMI button.
XRdy_Reset
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Reset, enable HMI button.
XRdy_ResetAckAll
BOOL
Not Visible
Not Required
Output
1 = Ready for XCmd_Resetackall, enable HMI button.
Private Input Members
Data Type
Description
CmdSrc
P_COMMAND_SOURCE
Control or Command Source Selection.
MCmd_Acq
BOOL
Maintenance command to acquire ownership (Operator/Program/External/Override to Maintenance). The instruction clears this operand automatically.
Default is false.
MCmd_Bypass
BOOL
Maintenance command to bypass all bypassable interlocks. The instruction clears this operand automatically.
Default is false.
MCmd_Check
BOOL
Maintenance command to check (not bypass) all interlocks. The instruction clears this operand automatically.
Default is false.
MCmd_IS
BOOL
Maintenance command to select in service. The instruction clears this operand automatically.
Default is false.
MCmd_OoS
BOOL
Maintenance command to select out of service. The instruction clears this operand automatically.
Default is false.
MCmd_Physical
BOOL
Maintenance Command to select Physical device operation (not simulated)
Default is false.
MCmd_Rel
BOOL
Maintenance command to release ownership (Maintenance to Operator/Program/External/Override). The instruction clears this operand automatically.
Default is false.
MCmd_Virtual
BOOL
Maintenance Command to select Virtual (simulated) device operation
Default is false.
OCmd_ContPulse
BOOL
Operator command to pulse valve continuously. The instruction clears this operand automatically.
Default is false.
OCmd_Lock
BOOL
Operator command to lock Operator (disallow Program). The instruction clears this operand automatically.
Default is false.
OCmd_Normal
BOOL
Operator command to select normal (Operator or Program). The instruction clears this operand automatically.
Default is false.
OCmd_Oper
BOOL
Operator command to select Operator (Program to Operator). The instruction clears this operand automatically.
Default is false.
OCmd_Pos1
BOOL
Operator command to move valve to Position 1. The instruction clears this operand automatically.
Default is false.
OCmd_Pos1Pulse
BOOL
Operator command to pulse valve that is in Position 2, to Position 1 once. The instruction clears this operand automatically.
Default is false.
OCmd_Pos2
BOOL
Operator command to move valve to Position 2. The instruction clears this operand automatically.
Default is false.
OCmd_Pos2Pulse
BOOL
Operator command to pulse valve that is in Position 1, to Position 2 once. The instruction clears this operand automatically.
Default is false.
OCmd_Prog
BOOL
Operator command to select Program (Operator to Program). The instruction clears this operand automatically.
Default is false.
OCmd_Reset
BOOL
Operator command to reset all alarms requiring reset. The instruction clears this operand automatically.
Default is false.
OCmd_ResetAckAll
BOOL
Operator command to reset all alarms and latched shed conditions. The use of OCmd_Resetackall is restricted to HMI. The instruction clears this operand automatically.
Default is false.
OCmd_Stop
BOOL
Operator command to stop valve motion. The instruction clears this operand automatically.
Default is false.
OCmd_Trip
BOOL
Operator command to trip valve.
Default is false.
OCmd_Unlock
BOOL
Operator command to unlock / release (allow Program to acquire) ownership. The instruction clears this operand automatically.
Default is false.
Private Output Members
Data Type
Description
HMI_BusObjIndex
DINT
HMI bus object index
Default is 0.
MRdy_Acq
BOOL
1 = Ready for MCmd_Acq, enable HMI button.
MRdy_Bypass
BOOL
1 = Ready to receive OCmd_Bypass, enable HMI button.
MRdy_Check
BOOL
1 = Ready to receive OCmd_Check, enable HMI button.
MRdy_IS
BOOL
1 = Ready for MCmd_IS, enable HMI button.
MRdy_OoS
BOOL
1 = Ready for MCmd_OoS, enable HMI button.
MRdy_Physical
BOOL
1 = Ready for MCmd_Physical, enable HMI button.
MRdy_Rel
BOOL
1 = Ready for MCmd_Rel, enable HMI button.
MRdy_Virtual
BOOL
1 = Ready for MCmd_Virtual, enable HMI button.
ORdy_ContPulse
BOOL
1 = Ready to receive OCmd_Contpulse, enable HMI button.
ORdy_Lock
BOOL
1 = Ready for OCmd_Lock, enable HMI button.
ORdy_Normal
BOOL
1 = Ready for OCmd_Normal, enable HMI button.
ORdy_Oper
BOOL
1 = Ready for OCmd_Oper, enable HMI button.
ORdy_Pos1
BOOL
1 = Ready to receive OCmd_Pos1, enable HMI button.
ORdy_Pos1Pulse
BOOL
1 = Ready to receive OCmd_Pos1pulse, enable HMI button.
ORdy_Pos2
BOOL
1 = Ready to receive OCmd_Pos2, enable HMI button.
ORdy_Pos2Pulse
BOOL
1 = Ready to receive OCmd_Pos2pulse, enable HMI button.
ORdy_Prog
BOOL
1 = Ready for OCmd_Prog, enable HMI button.
ORdy_Reset
BOOL
1 = At least one alarm or shed condition requires reset.
ORdy_ResetAckAll
BOOL
1 = At least one alarm or latched shed condition requires reset or acknowledgement.
ORdy_Stop
BOOL
1 = Ready for OCmd_Stop (enables HMI button).
ORdy_Trip
BOOL
1 = Ready for OCmd_trip (enables HMI button).
ORdy_Unlock
BOOL
1 = Ready for OCmd_Unlock, enable HMI button.
Public InOut Members
Data Type
FBD Default Visibility
FBD Wiring required
Usage
Description
BusObj
BUS_OBJ
Visible
Required
InOut
Bus component
BUS_OBJ Structure
The BUS_OBJ structure is used to link the valve to other devices and instructions in a complex control strategy, typically into a hierarchy. A Bus Object rolls up status and alarm information from lower level devices to higher level control and fans out commands from higher level control to lower level devices. Items link to the bus by referencing a single member of the BUS_OBJ array associated with the bus.
This parameter links the instruction to an external tag that contains necessary data for the instruction to operate. The external tag must be of the data type shown, or may be NULL. If NULL, the Bus functions of this instruction are not available.
Members
Data Type
Description
Inp_Cmd
DINT
Input to assert commands
Out_Cmd
DINT
Resultant commands
Inp_CmdLLH
DINT
Input for level normally high commands
Out_CmdLLH
DINT
Resultant line level high commands
Inp_Sts
DINT
Input to assert status
Out_Sts
DINT
Resultant status
Inp_CmdAck
DINT
Input to assert a command acknowledgement
Out_CmdAck
DINT
Resultant command acknowledgements
Inp_SeverityMax
DINT
Input: maximum alarm severity
Out_SeverityMax
DINT
Resultant of maximum alarm severity
Cfg_CmdMask
DINT
Propagation mask for commands
Cfg_CmdLLHMask
DINT
Propagation mask for line level high commands
Cfg_StsMask
DINT
Propagation mask for status
Ref_Index
DINT
Bus array index
Alarms
Discrete Logix tag-based alarms are defined for these members:
Member
Alarm Name
Description
Sts_AcuatorFault
Alm_AcuatorFault
Raised if the Inp_ActuatorFault input is true. This alarm is provided for use by valves that generate a fault contact, such as actuator motor overload trip.
Sts_FullStall
Alm_FullStall
Raised when the valve has and is using Position 2 and/or Position 1 limit switches, an attempt is made to Position 2 or Position 1 the valve, and the limit switches indicate that the valve did not move from its original position at all within the configured time.
Sts_IOFault
Alm_IOFault
Raised when the Inp_IOFault input is true. This input is usually used to indicate to the instruction that a communication failure has occurred for its I/O. If the I/O Fault is configured as a shed fault, the valve is commanded to Stop motion and cannot be commanded to either position until reset.
Sts_IntlkTrip
Alm_IntlkTrip
Raised when the valve is energized and an interlock Not-OK condition causes the valve to be de-energized. If interlocks are not bypassed, a bypassable interlock or a non-bypassable interlock Not-OK condition initiates an interlock trip. If interlocks are bypassed, only a non-bypassable interlock Not-OK condition initiates an interlock trip.
Sts_LossPos1
Alm_LossPos1
Raised when the valve has reached the confirmed Position 1 state and the Position 1 confirmation feedback is lost.
Sts_LossPos2
Alm_LossPos2
Raised when the valve has reached the confirmed Position 2 state and the Position 2 confirmation feedback is lost.
Sts_TransitStall
Alm_TransitStall
Raised when the valve has and is using both Position 2 and Position 1 position feedback, an attempt is made to Position 2 or Position 1 the valve, and the position feedback indicates that the valve moved off the original position but did not reach the target position within the configured transit stall time.
Sts_TripFail
Alm_TripFail
Raised when the valve has and is using the optional trip feature, an attempt is made to trip the valve, and the limit switch feedbacks show that the valve did not reach the configured tripped position (Position 2 or Position 1) within the configured fail to trip time.
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
Program, Operator, and External commands reset latched alarms, and reset and acknowledge all alarms of the instruction (Alarm Set) at the same time. This diagram shows how the commands interact with the PVLV instruction.
PVLV_alarmoperation
Operation
This diagram illustrates the functionality of the PVLV instruction:
PVLV_operation_v34
Operator command request confirmation
The PVLV instruction enables these operator commands and settings:
  • OCmd_ContPulse
  • OCmd_Pos1
  • OCmd_Pos1Pulse
  • OCmd_Pos2
  • OCmd_Pos2Pulse
  • OCmd_Stop
  • OCmd_Trip
Enforced security might require the request to be confirmed or canceled before the selected command executes or setting is accepted. The instruction checks the security rules inspecting Cfg_CnfrmReqd. If Cfg_CnfrmReqd=0 no confirmation is required and the request executes immediately. If Cfg_CnfrmReqd=1 the instruction waits for confirmation OCmd_CmdCnfrm=1 and/or cancellation. For Cfg_CnfrmReqd=2 or 3 eSignature is needed before the confirmation and cancellation is enabled.
Virtualization
Use virtualization for instruction testing and operator training. Use PCmd_Virtual or MCmd_Virtual to enable virtualization. After finishing virtualization, use PCmd_Physical or MCmd_Physical to return to normal (physical device) operation.
When Virtualization is active, the outputs of the PVLV instruction hold at 0, virtual feedback of a working device is provided and I/O faults are ignored. Manipulate the instruction to operate as if a working valve is present.
Initialization
The instruction is normally initialized in the instruction first run. Request re-initialization by setting Inp_InitializeReq = 1. For proper initialization, when adding the instruction while performing an online edit of the code, make sure that Inp_InitializeReq = 1, the default value.
Configuration of Strings for HMI
Configure strings for HMI faceplates (FT View) and for the Logix Designer configuration dialog box. The strings are set to extended properties of tag items. Configure the strings in Logix Designer only.
  • Description
  • Label for graphic symbol
  • Display Library for HMI Faceplate call-up
  • Instruction name
  • Area name
  • URL link
  • More Information
  • Position 2 Command button
  • Position 1 Command button
  • Stop Command button
  • Pulse Position 2 Command button
  • Pulse Position 1 button
  • Pulse button
  • Position 2 Target state
  • Position 1 Target state
  • Stop Target state
  • Pulse Position 2 Target state
  • Pulse Position 1 Target state
  • Position 2 Transition state
  • Position 1 Transition state
  • Stop Transition state
  • Pulse Position 2 Transition state
  • Pulse Position 1 Transition state
  • Actuator Alarm
  • IO Fault Alarm
  • Full Stall Alarm
  • Transit Stall Alarm
  • Interlock Trip Alarm
  • Loss of Position 1 Alarm
  • Loss of Position 2 Alarm
  • Trip Fail Alarm
Monitor the PVLV Instruction
Use the operator faceplate from the PlantPAx library of Process objects for monitoring.
Affects Math Status Flags
No.
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing faults.
Execution
Ladder Diagram
Condition/State
Action Taken
Prescan
Any commands received before first scan are discarded. The valve is de-energized and treated as if it were commanded to safe position.
Instruction first run
Any commands received before first scan are discarded. The valve state is evaluated and the instruction aligns with the current state of the valve, as if the Hand command source were selected.
Rung-condition-in is false
Handled the same as if the valve is taken Out of Service by command. The valve outputs are de-energized, and the valve Command Source is shown as Program Out of Service on the HMI. All alarms are cleared. The rung-condition-out continues as false.
Rung-condition-in is true
Set rung-condition-out to rung-condition-in.
The instruction executes.
Postscan
Rung-condition-out is cleared to false.
Function Block Diagram
Condition/State
Action Taken
Prescan
Any commands received before first scan are discarded. The valve is de-energized and treated as if it were commanded to safe position.
Instruction first run
Any commands received before first scan are discarded. The valve state is evaluated and the instruction aligns with the current state of the valve, as if the Hand command source were selected.
Instruction first scan
See instruction first run in the function block diagram table.
EnableIn is false
Handled the same as if the valve is taken Out of Service by command. The valve outputs are de-energized, and the valve Command Source is shown as Program Out of Service on the HMI. All alarms are cleared. EnableOut is set to false.
EnableIn is true
EnableOut is set to true.
The instruction executes.
Postscan
EnableIn and EnableOut bits are cleared to false.
Structured Text
In Structured Text, EnableIn is always true during normal scan. Therefore, if the instruction is in the control path activated by the logic it will execute.
Condition/State
Action Taken
Prescan
See Prescan in the Function Block Diagram table.
Instruction first run
See Instruction first run in the Function Block Diagram table.
EnableIn is true
See EnableIn is true in the Function Block Diagram table.
Postscan
See Postscan in the Function Block Diagram table.
Example
Ladder Diagram
PVLV_exampleladder
Function Block Diagram
PVLV_exampleFBD
Structured Text
MyPVLV.Inp_Pos1FdbkData:=MyPVLV_ZSC;
MyPVLV.Inp_Pos2FdbkData:=MyPVLV_ZSO;
PVLV(MyPVLV, 0);
MyPVLV_Coil:=MyPVLV.Out_Pos2Data;
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.