PVSD 命令源
过程变量速度驱动器 (Process Variable Speed Drive, PVSD) 指令使用以下命令源。命令源按优先级从高到低的顺序排序。
命令源 | 说明 |
|---|---|
手控 | 硬接线逻辑或指令之外的其他逻辑用于控制设备。该指令会跟踪设备的状态,以便平滑过渡回其他命令源之一。 这是优先级最高的命令源。 |
停用 | 指示指令处于禁用状态。不接受来自任何源的驱动器命令和设置。 |
维护 | 维护对设备进行控制,取代操作员、程序、外部和覆盖控制。接受来自 HMI 的操作员命令和设置。 |
覆盖 | 优先级逻辑对设备进行控制,取代操作员、程序和外部控制。接受覆盖输入 (Inp_Ovrd)。 |
外部 | 外部逻辑(例如,现场导向控制或上游 SCADA)控制设备。接受外部命令 (XCmd_)。 |
程序已锁定 | 程序逻辑对设备进行控制。接受程序命令 (PCmd_)。操作员无法从程序获取控制权。覆盖无法从程序获取控制权,除非 Cfg_OvrdOverLock = 1。 |
程序 | 程序逻辑对设备进行控制。接受程序命令 (PCmd_)。 |
操作员已锁定 | 操作员对设备进行控制。接受来自 HMI 的操作员命令 (OCmd_)。程序无法从操作员获取控制权。覆盖无法从操作员获取控制权,除非 Cfg_OvrdOverLock = 1。 |
运算符 | 操作员对设备进行控制。接受来自 HMI 的操作员命令 (OCmd_)。 这是优先级最低的命令源。 |
该指令启用或禁用以下操作:
- 存在维护停用
- 存在维护
- 存在外部
- 存在程序(已解锁)
- 存在程序(已锁定)
- 存在操作员(已解锁)
- 存在操作员(已锁定)
- PCmd_Lock 用作级别(1 = 锁定,0 = 解锁)
指令会检查控制权的无效配置,强制设置最接近的有效配置。
核心控制模型仲裁接收功能所接受的命令和参数的源。核心控制模型确定源是否为:
- 可编程实体(完全驻留于处理环境中),或
- 外部接口实体(在处理环境外部并异步发出命令和参数)。
锁定控制源会阻止其他控制源获取权限。
核心命令源模型
核心控制模型包括以下控制源:
- Oper
- OperLocked
- Prog
- ProgLocked
控制模型默认为该配置。其他控制源在模型中也可能存在,但充当覆盖控制源,独立于基本操作员/程序状态机运行。
按照配置启用控制源
用户可以启用和禁用各个控制源。默认配置使用整个基本模型;处理环境加电后,控制源将为指定的默认值。不允许已启用控制源的某些组合,因为它们不是必需的,或者可能会造成意外的更改。
Prog 加电
此配置允许用户指定是将操作员还是程序作为加电默认设置。
Prog 优先级
此配置允许用户指定在同时声明操作员命令和程序命令时,哪个命令取得优先。
自动重置命令
所有命令都被视为“单触发锁定”。当指令执行并处理命令时,将自动清除命令。
更改目标状态
在某些配置下,某些命令的目标命令源可能会发生更改。这符合命令意图。例如,如果程序状态为禁用,则 OCmd_Prog 命令的目标将变为程序锁定状态,而不是程序状态。这是为了保持 OCmd_Prog 命令的意图:操作员实体希望将该函数置于程序的控制下。如果该命令被删除,则将无法完成此操作。这仅在不会引发冲突或竞争状况的配置中完成,但保留尽可能多的用户功能是切实可行的。
优先级较高的命令源
以下优先级较高的命令源在模型中独立工作:
- 外部
- 覆盖
- 维护
- 停用
- 服务中
- 手控
实现
PVSD 指令用于监控和控制变量速度驱动器。驱动器的速度参考以及用于启动、停止和点动命令可能来自于各种源,这些源由 PCMDSRC 的嵌入式实例确定。可用的命令源包括:
- 操作员,通过 HMI
- 程序,通过与块相连的逻辑
- 外部,通过与块相连的逻辑
- 覆盖,通过与块相连的逻辑
- 维护,通过 HMI
- 停用
- 手控(假定功能块不控制驱动器,因此与实际驱动器状态保持一致,以便从手控设备转换回其他命令源之一实现平滑过渡)
PVSD 指令有四个方面,只要命令源选择为“操作员”、“程序”或“外部”,特定的命令源便可保留这些方面。可以随时保留其中一个或两个方面,也可以根据 PCMDSRC 的选择进行更改。这些方面包括:
- “速度参考”设置
- 启动(正向和反向)命令
- 点动(正向和反向)命令
- “输出数据链接”设置
程序命令源无法保留点动命令。
PVSD 指令支持虚拟化。当选择为虚拟模式时,该指令为操作员和其他功能块提供状态(就像连接了正在工作的驱动器一样),同时使物理驱动器的输出保持断电状态(零)。当选择为物理模式时,指令会监控和控制物理变量速度驱动器设备。虚拟化可提供高级控制精调器或仿真的非过程功能测试,以进行操作员培训。
PVSD 指令支持互锁条件(即必须正常 (OK) 才能使电机运行,若不正常 (OK) 则停止电机)和许可条件(即必须正常 (OK) 才能允许电机启动,但一旦电机运行就可以忽略)。对于可绕过的许可和互锁,可以绕过以进行维护;对于不可绕过的互锁和许可,将始终进行评估。
与驱动器相关的模拟值(速度参考值、速度反馈值、输入数据连接、输出数据链接)以工程单位显示和输入,而线性缩放用于在驱动器接口以原始(驱动器)单位提供这些值。对驱动器的速度参考具有变化率限制和钳位限制;驱动器的输出数据链接具有钳位限制。
PVSD 指令支持用于在对象层次结构中转发命令(扇出)和收集状态(汇总)的总线。有关在总线上发送的命令和状态(包括报警状态)的详细信息,请参阅“总线对象”。
在提供了故障代码查找表的情况下,PVSD 指令可选择性地支持以下功能:查找要针对最近的驱动器故障代码显示的文本。此表由代码和说明对组成,每当电机控制器的最后一个故障代码发生更改时,都会搜索此表。
PVSD 指令可以通过电源速度设备对象接口与物理驱动器交互,也可以通过将各个驱动器信号连接到指令的输入和输出引脚来交互。下面给出了有关电源速度设备对象接口的详细信息。使用三个接口标签,作为 InOut 参数提供。这些标签提供驱动器设置(如速度参考值)和驱动器命令(如正向启动、反向点动和停止),并检索驱动器状态(如已连接、活动(正在运行)、受控方向、实际方向、加速、减速、速度、警告、故障以及扩展驱动器警告和故障信息)。
PVSD 驱动器设置:Ref_Ctrl_Set InOut 参数 (RAC_ITF_DVC_PWRVELOCITY_SET) 结构
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
InhibitCmd | BOOL | 1 = 禁用来自外部源的用户命令,0 = 允许命令。 |
InhibitSet | BOOL | 1 = 禁用来自外部源的用户设置,0 = 允许设置。 |
速度 | REAL | 速度参考 (Hz)。有效值 = 0.0 到最高驱动器频率。 |
PVSD 驱动器命令:Ref_Ctrl_Cmd InOut 参数 (RAC_ITF_DVC_PWRVELOCITY_CMD) 结构
专用输入成员 | 数据类型 | 说明 |
bCmd | INT | 命令(位重叠),由下列值组成: |
Physical | BOOL | 作为物理设备运行 |
虚拟 | BOOL | 作为虚拟设备运行 |
ResetWarn | BOOL | 重置警告状态 |
ResetFault | BOOL | 重置故障状态 |
Activate | BOOL | 激活输出电源结构(如果速度参考值不为零,电机将运行) |
Deactivate | BOOL | 取消激活输出电源结构(电机将停止) |
CmdDir | BOOL | 选择方向:0 = 正向,1 = 反向 |
PVSD 驱动器状态:Ref_Ctrl_Sts InOut 参数 (RAC_ITF_DVC_PWRVELOCITY_STS) 结构
专用输入成员 | 数据类型 | 说明 |
eState | DINT | 设备对象的枚举状态: 0 = 未使用 1 = 正在初始化 2 = 已断开连接 3 = 正在断开连接 4 = 正在连接 5 = 空闲 6 = 正在配置 7 = 可用 |
FirstWarning | RAC_ITF_EVENT | 第一个警告,由以下部分组成: |
类型 | DINT | 事件类型:1 = 状态,2 = 警告,3 = 故障,4...n = 用户 |
ID | DINT | 可以由用户定义的事件 ID |
类别 | DINT | 可以由用户定义的类别(电气、机械、材料、实用工具等)。 |
Action | DINT | 可以由用户定义的事件操作代码 |
值 | DINT | 可以由用户定义的事件值或故障代码 |
Message | STRING | 事件消息文本 |
EventTime_L | LINT | 事件时戳(64 位微秒格式) |
EventTime_D | DINT[7] | 事件时戳(年、月、日、时、分、秒、微秒格式) |
FirstFault | RAC_ITF_EVENT | 第一个故障,由以下部分组成: |
类型 | DINT | 事件类型:1 = 状态,2 = 警告,3 = 故障,4...n = 用户 |
ID | DINT | 可以由用户定义的事件 ID |
类别 | DINT | 可以由用户定义的类别(电气、机械、材料、实用工具等)。 |
Action | DINT | 可以由用户定义的事件操作代码 |
值 | DINT | 可以由用户定义的事件值或故障代码 |
Message | STRING | 事件消息文本 |
EventTime_L | LINT | 事件时戳(64 位微秒格式) |
EventTime_D | DINT[7] | 事件时戳(年、月、日、时、分、秒、微秒格式) |
eCmdFail | DINT | 枚举的命令故障代码 |
速度 | REAL | 实际速度 (Hz) |
bSts | INT | 状态,由以下部分组成: |
Physical | BOOL | 1 = 作为物理设备运行 |
虚拟 | BOOL | 1 = 作为虚拟设备运行 |
Connected | BOOL | 1 = 已连接且正在通信 |
Available | BOOL | 1 = 设备已配置且可以运行 |
警告 | BOOL | 1 = 设备发出警告 |
故障 | BOOL | 1 = 设备发生故障 |
Ready | BOOL | 1 = 设备已准备好激活 |
Active | BOOL | 1 = 设备处于活动状态(电源结构处于活动状态,驱动器正在运行) |
ZeroSpeed | BOOL | 1 = 电机速度为零(不旋转) |
ObjCtrl | BOOL | 0 = 对象可控制此设备,1 = 对象不控制此设备(如本地 HIM 或输入/输出 (I/O) 控制) |
CmdDir | BOOL | 受控方向:1 = 反向,0 = 正向 |
ActDir | BOOL | 实际旋转方向:1 = 反向,0 = 正向 |
正在加速 | BOOL | 1 = 电机正在加速 |
正在减速 | BOOL | 1 = 电机正在减速 |
AtSpeed | BOOL | 1 = 电机以给定速度运行 |
下图显示了 PVSD 实例与其关联的电源速度设备对象之间的关系。

提供反馈