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
Function Block Diagram
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.
Operation
This diagram illustrates the functionality of the PVLV instruction:
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
Function Block Diagram
Structured Text
MyPVLV.Inp_Pos1FdbkData:=MyPVLV_ZSC;
MyPVLV.Inp_Pos2FdbkData:=MyPVLV_ZSO;
PVLV(MyPVLV, 0);
MyPVLV_Coil:=MyPVLV.Out_Pos2Data;
Provide Feedback