PVSD Command Source

The Process Variable Speed Drive (PVSD) instruction uses these command sources. The command sources are prioritized in order from highest to lowest.
Command Source
Description
Hand
Hardwired logic or other logic outside the instruction controls the device. The instruction tracks the state of the device for bumpless transfer back to one of the other command sources.
This is the highest priority command source.
Out-of-Service
The instruction is disabled. Drive commands and settings from any source are not accepted.
Maintenance
Maintenance controls the device and supersedes Operator, Program, External and Override control. Operator commands and settings from the HMI are accepted.
Override
Priority logic controls the device and supersedes Operator, Program and External control. Override Input (Inp_Ovrd) is accepted.
External
External logic (for example, field pilot control or upstream SCADA) controls the device. External commands (XCmd_) are accepted.
Program locked
Program logic controls the device. Program commands (PCmd_) are accepted. Operator cannot take control from the Program. Override cannot take control from theProgram unless Cfg_OvrdOverLock = 1.
Program
Program logic controls the device. Program commands (PCmd_) are accepted.
Operator locked
The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted. Program cannot take control from Operator. Override cannot take control from Operator unless Cfg_OvrdOverLock = 1.
Operator
The Operator controls the device. Operator commands (OCmd_) from the HMI are accepted.
This is the lowest priority command source.
The instruction enables or disables these operations:
  • Maintenance Out-of-Service exists
  • Maintenance exists
  • External exists
  • Program (unlocked) exists
  • Program locked exists
  • Operator (unlocked) exists
  • Operator locked exists
  • PCmd_Lock used as a Level (1 = Lock, 0 = Unlock)
The instruction checks for invalid configurations of control and forces the nearest valid configuration.
The core control model arbitrates the source of the commands and parameters that the receiving function accepts. The core control model determines if the source is:
  • A programmatic entity which resides entirely within the processing environment, or
  • An external interface entity which issues commands and parameters external and asynchronously to the processing environment.
Locking a control source prevents the other control source from acquiring privilege.
Core Command Source Model
The core control model consists of these control sources:
  • Oper
  • OperLocked
  • Prog
  • ProgLocked
The control model defaults to this configuration. Other control sources may be present in the model but act as overriding control sources, acting independent of the base Operator/Program state machine.
Enable control sources as Configuration
The user can enable and disable individual control sources. The default configuration uses the entire base model; upon power-up of the processing environment the control source will be the designated default. Some combinations of enabled control sources are disallowed as they are either unnecessary or could create unintended changes.
Prog Power Up
Configuration allows the user to specify whether Operator or Program is the power-up default.
Prog Priority
Configuration allows the user to specify whether Operator or Program commands take priority when simultaneously asserted.
Automatic reset of commands
All commands are treated as one-shot-latched. Commands are automatically cleared when the instruction executes and processes them.
Change Destination States
Under certain configurations the destination command source for some commands may change. This is in keeping with the intent of the command. For example, if the Program state is disabled, the destination of the OCmd_Prog command becomes the Program Locked state instead of the Program state. This maintains the intent of the OCmd_Prog command: the operator entity wishes to place the function in control of the program. If the command was eliminated then there would be no way to accomplish this. This is only done in configurations where it would cause no conflict or race condition, but serves to preserve as much user functionality as is practical.
Higher Priority Command Sources
These Higher priority command sources operate independently within the model:
  • External
  • Override
  • Maintenance
  • Out-of-Service
  • In-Service
  • Hand
Implementation
The PVSD instruction monitors and controls a variable speed drive. The speed reference and the start, stop and jog commands to the drive can come from a variety of sources, determined by an embedded instance of PCMDSRC. Available command sources are:
  • Operator, through the HMI
  • Program, through logic connected to the block
  • External, through logic connected to the block
  • Override, through logic connected to the block
  • Maintenance, through the HMI
  • Out of Service
  • Hand (assumes the block has no control of the drive, so aligns with the actual drive status in order to achieve bumpless transfer from Hand back to one of the other command sources)
The PVSD instruction has four aspects, which can be kept by a particular command source whenever the command source selection is Operator, Program or External. Any or all of the aspects can be kept at any given time, or can follow the selection of the PCMDSRC. The aspects are:
  • The Speed Reference setting
  • Start (forward and reverse) commands
  • Jog (forward and reverse) commands
  • The Output Datalink setting
The Jog commands cannot be kept by the Program command source.
The PVSD instruction supports virtualization. When selected to Virtual, the instruction provides status to the operator and other blocks as if a working drive were connected while keeping the outputs to the physical drive de-energized (zero). When selected to Physical, the instruction monitors and controls the physical variable speed drive device. Use Virtualization to provide off-process functional testing of higher-level control strategies or simulation for operator training.
The PVSD instruction supports interlocks, conditions that must be OK for the motor to run and which stop the motor if not OK, and permissives, conditions that must be OK for the motor to start but which are ignored once the motor is running. Bypassable permissives and interlocks can be bypassed for maintenance, while non-bypassble interlocks and permissives are always evalutated.
Analog values (speed reference, speed feedback, input datalink, output datalink) associated with the drive are displayed and entered in engineering units, and linear scaling is used to provide these values in raw (drive) units at the drive interface. The speed reference to the drive has rate limiting and clamping limits; the output datalink to the drive has clamping limits.
The PVSD instruction supports a bus for forwarding commands (fanout) and gathering status (rollup) in a hierarchy of objects. Refer to the Bus Object for more information on the commands and status (including alarm status) sent on the bus.
The PVSD instruction optionally supports the ability to look up the text to display for the most recent drive fault code, given a provided fault code lookup table. This table is an array of Code and Description pairs and is searched whenever the last fault code from the drive changes.
The PVSD instruction’s interface to the physical drive can be through a Power Velocity Device Object interface or by connecting individual drive signals to input and output pins of the instruction. Details on the Power Velocity Device Object interface are given below. Three interface tags are used, provided as InOut Parameters. These tags provide drive Settings, such as the Speed Reference, drive Commands, such as start forward, jog reverse and stop, and retrieve drive Status, such as connected, active (running), commanded direction, actual direction, accelerating, decelerating, at speed, warning, faulted, and extended drive warning and fault information.
PVSD Drive Settings: Ref_Ctrl_Set InOut Parameter (RAC_ITF_DVC_PWRVELOCITY_SET) Structure
Private Input Members
Data Type
Description
InhibitCmd
BOOL
1 = Inhibit user Commands from external sources, 0 = allow Commands.
InhibitSet
BOOL
1 = Inhibit user Settings from external sources, 0 = Allow Settings.
Speed
REAL
Speed reference (Hz). Valid = 0.0 to maximum drive frequency.
PVSD Drive Commands: Ref_Ctrl_Cmd InOut Parameter (RAC_ITF_DVC_PWRVELOCITY_CMD) Structure
Private Input Members
Data Type
Description
bCmd
INT
Commands (bit overlay), consisting of:
Physical
BOOL
Operate as a physical device
Virtual
BOOL
Operate as a virtual device
ResetWarn
BOOL
Reset warning status
ResetFault
BOOL
Reset fault status
Activate
BOOL
Activate output power structure (if speed reference is not zero, the motor will run)
Deactivate
BOOL
Deactivate output power structure (motor will stop)
CmdDir
BOOL
Select direction: 0 = Forward, 1 = Reverse
PVSD Drive Status: Ref_Ctrl_Sts InOut Parameter (RAC_ITF_DVC_PWRVELOCITY_STS) Structure
Private Input Members
Data Type
Description
eState
DINT
Enumerated state of the device object:
0 = Unused
1 = Initializing
2 = Disconnected
3 = Disconnecting
4 = Connecting
5 = Idle
6 = Configuring
7 = Available
FirstWarning
RAC_ITF_EVENT
First Warning, consisting of:
Type
DINT
Event type: 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID
DINT
User-definable event ID
Category
DINT
User-definable category (electrical, mechanical, materials, utility, etc.)
Action
DINT
User-definable event action code
Value
DINT
User-definable event value or fault code
Message
STRING
Event message text
EventTime_L
LINT
Event timestamp (64-bit microseconds format)
EventTime_D
DINT[7]
Event timestamp (year, month, day, hour, minute, second, microsecond format)
FirstFault
RAC_ITF_EVENT
First Fault, consisting of:
Type
DINT
Event type: 1 = Status, 2 = Warning, 3 = Fault, 4 … n = User
ID
DINT
User-definable event ID
Category
DINT
User-definable category (electrical, mechanical, materials, utility, etc.)
Action
DINT
User-definable event action code
Value
DINT
User-definable event value or fault code
Message
STRING
Event message text
EventTime_L
LINT
Event timestamp (64-bit microseconds format)
EventTime_D
DINT[7]
Event timestamp (year, month, day, hour, minute, second, microsecond format)
eCmdFail
DINT
Enumerated command failure code
Speed
REAL
Actual speed (Hz)
bSts
INT
Status, consisting of:
Physical
BOOL
1 = Operating as a physical device
Virtual
BOOL
1 = Operating as a virtual device
Connected
BOOL
1 = Connected and communicating
Available
BOOL
1 = Device is configured and can be operated
Warning
BOOL
1 = Device has a warning
Faulted
BOOL
1 = Device is faulted
Ready
BOOL
1 = Device is ready to be activated
Active
BOOL
1 = Device is active (power structure active, drive running)
ZeroSpeed
BOOL
1 = Motor is at zero speed (not rotating)
ObjCtrl
BOOL
0 = Object has control of this device, 1 = Object does not have control of this device (for example, local HIM or I/O has control)
CmdDir
BOOL
Commanded direction: 1 = reverse, 0 = forward
ActDir
BOOL
Actual direction (of rotation): 1 = reverse, 0 = forward
Accelerating
BOOL
1 = Motor is accelerating
Decelerating
BOOL
1 = Motor is decelerating
AtSpeed
BOOL
1 = Motor is at commanded speed
This illustration shows the relationship between a PVSD instance and its associated Power Velocity Device Object.
PVSD_PowerVelocityDeviceObjectRelationship
Provide Feedback
Have questions or feedback about this documentation? Please submit your feedback here.