过程离散 2、3 或 4 态设备 (Process Discrete 2-, 3-, or 4-State Device, PD4SD)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程离散 2、3 或 4 态设备 (Process Discrete 2-, 3-, or 4-State Device, PD4SD) 指令用于控制和监控不同模式下来自离散 2 态、3 态或 4 态设备的反馈,并监控故障状况。这些设备包括多速电机或多位阀。
PD4SD 指令:
- 为设备提供两种、三种或四种可选状态的配置。
- 提供用来选择设备的两种、三种或四种状态之一的操作员、程序和外部命令。
- 控制四个离散输出,在不同的设备状态下,每个输出都具有可配置的状态。每个输出都可以在给定设备状态下置位、清零或保持上一状态。
- 监控四个离散反馈输入,在不同的设备状态下,每个输入都具备用来监控设备实际位置的可配置状态(包括“必须开启”状态、“必须关闭”和“任一状态”)。
- 为每个状态提供可配置的文本标签。
- 在使用反馈输入时,检测是否在可配置时间后未能达到目标状态并发出故障报警。(可选)在反馈故障时去除到默认状态(状态 0)。
- 监控允许向设备发送命令使其进入每个状态的许可条件。
- 监控使设备返回其默认状态(状态 0)的互锁条件。
- 提供正常工作设备的仿真,同时将输出保持为实际设备断电状态,以用于测试或操作员培训。
- 监控输入/输出 (I/O) 通信状态,在出现输入/输出 (I/O) 故障时发出报警。(可选)发生输入/输出 (I/O) 故障时去除到默认状态。
- 当在程序命令源中并正常运行时,提供可用状态,供自动化逻辑用来确定逻辑是否能够控制设备。
- 从手控、维护、覆盖、外部、程序和操作员命令源运行。
可用语言
梯形图

功能块图

结构化文本
PD4SD(PD4SDTag, BusObj)
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx Control | P_DISCRETE_4STATE | 标签 | 指令正确运行所需的数据结构。 |
BusObj | BUS_OBJ | 标签 | 总线组件。 |
P_DISCRETE_4STATE 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableIn | BOOL | 不可见 | 不需要 | 输入 | 启用输入 - 系统定义的参数 默认值为真。 |
Inp_InitializeReq | BOOL | 不可见 | 不需要 | 输入 | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。 默认值为真。 |
Inp_OwnerCmd | DINT | 不可见 | 不需要 | 输入 | 宿主设备命令(位图):所有位关闭 = 无,10 = 操作员锁定,11 = 操作员解锁,12 = 程序锁定,13 = 程序解锁,14 = 获取维护,15 = 释放维护,16 = 获取外部,17 = 释放外部,29 = 回送。 默认值为 0。 |
Inp_AFdbkData | BOOL | 可见 | 不需要 | 输入 | 来自设备的反馈 A。 默认值为假。 |
Inp_BFdbkData | BOOL | 可见 | 不需要 | 输入 | 来自设备的反馈 B。 默认值为假。 |
Inp_CFdbkData | BOOL | 可见 | 不需要 | 输入 | 来自设备的反馈 C。 默认值为假。 |
Inp_DFdbkData | BOOL | 可见 | 不需要 | 输入 | 来自设备的反馈 D。 默认值为假。 |
Inp_EqpFaultData | BOOL | 可见 | 不需要 | 输入 | 来自设备的设备故障:1 = 发生故障。 默认值为假。 |
Inp_IOFault | BOOL | 可见 | 不需要 | 输入 | 1 = 输入/输出 (I/O) 通信发生故障,0 = 输入/输出 (I/O) 通信正常 (OK)。 默认值为假。 |
Inp_St0PermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 许可正常 (OK),可发送命令使设备处于状态 0。 默认值为真。 |
Inp_St0NBPermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 不可绕过许可正常 (OK),可发送命令使设备处于状态 0。 默认值为真。 |
Inp_St1PermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 许可正常 (OK),可发送命令使设备处于状态 1。 默认值为真。 |
Inp_St1NBPermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 不可绕过许可正常 (OK),可发送命令使设备处于状态 1。 默认值为真。 |
Inp_St2PermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 许可正常 (OK),可发送命令使设备处于状态 2。 默认值为真。 |
Inp_St2NBPermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 不可绕过许可正常 (OK),可发送命令使设备处于状态 2。 默认值为真。 |
Inp_St3PermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 许可正常 (OK),可发送命令使设备处于状态 3。 默认值为真。 |
Inp_St3NBPermOK | BOOL | 可见 | 不需要 | 输入 | 1 = 不可绕过许可正常 (OK),可发送命令使设备处于状态 3。 默认值为真。 |
Inp_IntlkOK | BOOL | 可见 | 不需要 | 输入 | 1 = 互锁正常 (OK),设备可受命令控制,0 = 互锁不正常 (OK),驱动设备处于状态 0。 默认值为真。 |
Inp_NBIntlkOK | BOOL | 可见 | 不需要 | 输入 | 1 = 不可绕过互锁正常 (OK),设备可受命令控制,0 = 互锁不正常 (OK),驱动设备处于状态 0。 默认值为真。 |
Inp_IntlkAvailable | BOOL | 可见 | 不需要 | 输入 | 1 = 互锁可用性正常 (OK),如果设备已准备就绪,则显示 Sts_IntlkAvailable(对于互锁除外)。 默认值为假。 |
Inp_IntlkTripInh | BOOL | 可见 | 不需要 | 输入 | 1 = 禁止报告 Sts_IntlkTrip 和互锁脱扣报警。 默认值为假。 |
Inp_RdyReset | BOOL | 不可见 | 不需要 | 输入 | 1 = 通过该对象重置的相关对象已准备好重置。 默认值为假。 |
Inp_Hand | BOOL | 不可见 | 不需要 | 输入 | 1 = 获取手控命令源(通常为本地硬连接),0 = 释放手控。 默认值为假。 |
Inp_Ovrd | BOOL | 不可见 | 不需要 | 输入 | 1 = 获取覆盖命令源(较高优先级程序逻辑),0 = 释放覆盖。 默认值为假。 |
Inp_OvrdCmd | SINT | 不可见 | 不需要 | 输入 | 覆盖设备命令:0 = 无命令,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3。 默认值为 0。 |
Inp_ExtInh | BOOL | 不可见 | 不需要 | 输入 | 1 = 禁止外部命令源获取,0 = 允许外部获取。 默认值为假。 |
Inp_HornInh | BOOL | 不可见 | 不需要 | 输入 | 1 = 禁用声音警报,0 = 启用声音警报。 默认值为假。 |
Inp_Reset | BOOL | 不可见 | 不需要 | 输入 | 1 = 重置已去除锁定和已清除报警。 默认值为假。 |
Cfg_AllowDisable | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许维护人员禁用报警。 默认值为真。 |
Cfg_AllowShelve | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许操作员延迟报警。 默认值为真。 |
Cfg_NumStates | SINT | 不可见 | 不需要 | 输入 | 设备状态数。有效值 = 2 至 4。 默认值为 2。 |
Cfg_bSt0OutWrite | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则覆盖状态 0 中的该输出。如果位 = 0,则不写入状态 0 中的该输出。 默认值为 2#0000_1111。 |
Cfg_bSt0OutState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:写入后,如果位 = 1,则将 1 写入状态 0 中的该输出。如果位 = 0,则将 0 写入状态 0 中的该输出。 默认值为 2#0000_0001。 |
Cfg_bSt1OutWrite | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则覆盖状态 1 中的该输出。如果位 = 0,则不写入状态 1 中的该输出。 默认值为 2#0000_1111。 |
Cfg_bSt1OutState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:写入后,如果位 = 1,则将 1 写入状态 1 中的该输出。如果位 = 0,则将 0 写入状态 1 中的该输出。 默认值为 2#0000_0010。 |
Cfg_bSt2OutWrite | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则覆盖状态 2 中的该输出。如果位 = 0,则不写入状态 2 中的该输出。 默认值为 2#0000_1111。 |
Cfg_bSt2OutState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:写入后,如果位 = 1,则将 1 写入状态 2 中的该输出。如果位 = 0,则将 0 写入状态 2 中的该输出。 默认值为 2#0000_0100。 |
Cfg_bSt3OutWrite | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则覆盖状态 3 中的该输出。如果位 = 0,则不写入状态 3 中的该输出。 默认值为 2#0000_1111。 |
Cfg_bSt3OutState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:写入后,如果位 = 1,则将 1 写入状态 3 中的该输出。如果位 = 0,则将 0 写入状态 3 中的该输出。 默认值为 2#0000_1000。 |
Cfg_bSt0FdbkCheck | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则检查反馈位以验证状态 0。如果位 = 0,则不检查反馈位(任一状态)。 默认值为 2#0000_0000。 |
Cfg_bSt0FdbkState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:执行检查时,如果位 = 1,则该反馈输入在状态 0 中为 1。如果位 = 0,则该反馈输入在状态 0 中为 0。 默认值为 2#0000_0001。 |
Cfg_bSt1FdbkCheck | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则检查反馈位以验证状态 1。如果位 = 0,则不检查反馈位(任一状态)。 默认值为 2#0000_0000。 |
Cfg_bSt1FdbkState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:执行检查时,如果位 = 1,则该反馈输入在状态 1 中为 1。如果位 = 0,则该反馈输入在状态 0 中为 1。 默认值为 2#0000_0010。 |
Cfg_bSt2FdbkCheck | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则检查反馈位以验证状态 2。如果位 = 0,则不检查反馈位(任一状态)。 默认值为 2#0000_0000。 |
Cfg_bSt2FdbkState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:执行检查时,如果位 = 1,则该反馈输入在状态 2 中为 1。如果位 = 0,则该反馈输入在状态 0 中为 2。 默认值为 2#0000_0100。 |
Cfg_bSt3FdbkCheck | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:如果位 = 1,则检查反馈位以验证状态 3。如果位 = 0,则不检查反馈位(任一状态)。 默认值为 2#0000_0000。 |
Cfg_bSt3FdbkState | SINT | 不可见 | 不需要 | 输入 | 位图,位 .0 - .3:执行检查时,如果位 = 1,则该反馈输入在状态 3 中为 1。如果位 = 0,则该反馈输入在状态 0 中为 3。 默认值为 2#0000_1000。 |
Cfg_ePwrUpState | SINT | 不可见 | 不需要 | 输入 | 加电状态:0 = 断电,1 = 状态 0 的输出,2 = 状态 1 的输出,3 = 状态 2 的输出,4 = 状态 3 的输出,5 = 反馈状态的输出。 默认值为 0。 |
Cfg_St0onShed | BOOL | 不可见 | 不需要 | 输入 | 1 = 互锁或去除时转到状态 0,0 = 互锁或去除时保持位置。 默认值为假。 |
Cfg_HasSt0PermObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 已将对象连接到 Inp_St0Perm 输入,启用导航。 默认值为假。 |
Cfg_HasSt1PermObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 已将对象连接到 Inp_St1Perm 输入,启用导航。 默认值为假。 |
Cfg_HasSt2PermObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 已将对象连接到 Inp_St2Perm 输入,启用导航。 默认值为假。 |
Cfg_HasSt3PermObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 已将对象连接到 Inp_St3Perm 输入,启用导航。 默认值为假。 |
Cfg_HasIntlkObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 已将对象连接到 Inp_Intlk 输入,启用导航。 默认值为假。 |
Cfg_HasMoreObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 一个具有更多信息的对象可用于,启用导航。 默认值为假。 |
Cfg_OperSt0Prio | BOOL | 不可见 | 不需要 | 输入 | 1 = 可随时接受 OCmd_St0,0 = 仅当选择了操作员命令源时,才能接受 OCmd_St0。 默认值为假。 |
Cfg_ExtSt0Prio | BOOL | 不可见 | 不需要 | 输入 | 1 = 可随时接受 XCmd_St0,0 = 仅当选择了外部命令源时,才能接受 XCmd_St0。 默认值为假。 |
Cfg_OCmdResets | BOOL | 不可见 | 不需要 | 输入 | 1 = 新操作员状态命令重置故障,0 = 需要使用重置命令清除故障。 默认值为假。 |
Cfg_XCmdResets | BOOL | 不可见 | 不需要 | 输入 | 1 = 新外部状态命令重置故障,0 = 需要使用重置命令清除故障。 默认值为假。 |
Cfg_OvrdPermIntlk | BOOL | 不可见 | 不需要 | 输入 | 1 = 覆盖忽略可绕过的许可和互锁,0 = 覆盖使用所有许可和互锁。 默认值为假。 |
Cfg_ShedOnFail | BOOL | 不可见 | 不需要 | 输入 | 1 = 转到状态 0 且在出现位置故障时发出报警,0 = 仅发出报警。 默认值为真。 |
Cfg_ShedOnIOFault | BOOL | 不可见 | 不需要 | 输入 | 1 = 转到状态 0 且在出现输入/输出 (I/O) 故障时发出报警,0 = 仅发出报警。 默认值为真。 |
Cfg_ShedOnEqpFault | BOOL | 不可见 | 不需要 | 输入 | 1 = 转到状态 0 且在出现设备故障时发出报警,0 = 仅发出报警。 默认值为真。 |
Cfg_HornOnChange | BOOL | 不可见 | 不需要 | 输入 | 1 = 出现任何状态更改时鸣喇叭,0 = 仅在离开状态 0 时鸣喇叭。 默认值为假。 |
Cfg_HasOper | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在操作员(未锁定)命令源,可选择。 默认值为真。 |
Cfg_HasOperLocked | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在操作员已锁定命令源,可选择。 默认值为真。 |
Cfg_HasProg | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在程序(未锁定)命令源,可选择。 默认值为真。 |
Cfg_HasProgLocked | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在程序已锁定命令源,可选择。 默认值为真。 |
Cfg_HasExt | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在外部命令源,可选择。 默认值为假。 |
Cfg_HasMaint | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在维护命令源,可选择。 默认值为真。 |
Cfg_HasMaintOoS | BOOL | 不可见 | 不需要 | 输入 | 1 = 存在维护停用,可选择。 默认值为真。 |
Cfg_OvrdOverLock | BOOL | 不可见 | 不需要 | 输入 | 1 = 覆盖取代程序/操作员已锁定,0 = 不取代程序/操作员锁定。 默认值为真。 |
Cfg_ExtOverLock | BOOL | 不可见 | 不需要 | 输入 | 1 = 外部取代程序/操作员已锁定,0 = 不取代程序/操作员锁定。 默认值为假。 |
Cfg_ProgPwrUp | BOOL | 不可见 | 不需要 | 输入 | 1 = 为程序命令源加电,0 = 为操作员命令源加电。 默认值为假。 |
Cfg_ProgNormal | BOOL | 不可见 | 不需要 | 输入 | 正常命令源:1 = 程序,0 = 操作员。 默认值为假。 |
Cfg_PCmdPriority | BOOL | 不可见 | 不需要 | 输入 | 命令优先级:1 = 程序命令优先,0 = 操作员命令优先。 默认值为假。 |
Cfg_PCmdProgAsLevel | BOOL | 不可见 | 不需要 | 输入 | 1 = 程序/操作员选择遵循 PCmd_Prog 作为级别(1 表示程序,0 表示操作员),0 = 将 PCmd_Prog 用作边缘来选择程序,PCmd_Oper 选择操作员。 默认值为假。 |
Cfg_PCmdLockAsLevel | BOOL | 不可见 | 不需要 | 输入 | 1 = 程序锁定选择遵循 PCmd_Lock 作为级别(1 表示锁定,0 表示未锁定),0 = 将 PCmd_Lock 用作边缘来选择程序已锁定,PCmd_Unlock 选择程序(未锁定)。 默认值为假。 |
Cfg_ExtAcqAsLevel | BOOL | 不可见 | 不需要 | 输入 | 1 = 外部选择遵循 XCmd_Acq 作为级别(1 表示获取外部,0 表示释放外部),0 = 将 XCmd_Acq 用作边缘来获取外部,XCmd_Rel 用于释放外部。 默认值为假。 |
Cfg_OutAPulseTime | REAL | 不可见 | 不需要 | 输入 | 向 Out_AData 发送脉冲的时间(秒)。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 默认值为 0.0。 |
Cfg_OutBPulseTime | REAL | 不可见 | 不需要 | 输入 | 向 Out_BData 发送脉冲的时间(秒)。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 默认值为 0.0。 |
Cfg_OutCPulseTime | REAL | 不可见 | 不需要 | 输入 | 向 Out_CData 发送脉冲的时间(秒)。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 默认值为 0.0。 |
Cfg_OutDPulseTime | REAL | 不可见 | 不需要 | 输入 | 向 Out_DData 发送脉冲的时间(秒)。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 默认值为 0.0。 |
Cfg_StartHornTime | REAL | 不可见 | 不需要 | 输入 | 设备状态更改时发出声音的时间(秒)。有效值 = 0.0 至 1000.0,0.0 = 已禁用。 默认值为 0.0。 |
Cfg_VirtualFdbkTime | REAL | 不可见 | 不需要 | 输入 | 处于虚拟化状态时模拟达到目标状态的时间(秒)。有效值 = 0.0 至 2147483.0。 默认值为 2.0。 |
Cfg_FailTime | REAL | 不可见 | 不需要 | 输入 | 在声明失败之前接收状态反馈的时间(秒)。有效值 = 0.0 至 2147483.0。 默认值为 10.0。 |
Cfg_CnfrmReqd | SINT | 不可见 | 不需要 | 输入 | 需要操作员命令确认或电子签名类型:0 = 无,1 = 需要命令确认,2 = 需要执行者电子签名,3 = 需要执行者和审批者电子签名。 默认值为 0。 |
PSet_Owner | DINT | 不可见 | 不需要 | 输入 | 程序所有权请求:非零宿主 ID = 获取,0 = 释放。 默认值为 0。 |
PCmd_Virtual | BOOL | 不可见 | 不需要 | 输入 | 用于选择虚拟(仿真)设备操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Physical | BOOL | 不可见 | 不需要 | 输入 | 用于选择物理(非仿真)设备操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_St0 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 0 的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_St1 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 1 的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_St2 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 2 的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_St3 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 3 的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于重置已去除的锁定和已返回到正常的锁定报警的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Prog | BOOL | 不可见 | 不需要 | 输入 | 用于选择程序命令源的程序命令。如果 Cfg_PCmdProgAsLevel = 0,则指令会自动清除此操作数。 默认值为假。 |
PCmd_Oper | BOOL | 不可见 | 不需要 | 输入 | 用于选择操作员命令源的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Lock | BOOL | 不可见 | 不需要 | 输入 | 用于锁定程序命令源并禁止操作员的程序命令。如果 Cfg_PCmdLockAsLevel = 0,则指令会自动清除此操作数。 默认值为假。 |
PCmd_Unlock | BOOL | 不可见 | 不需要 | 输入 | 用于解锁程序命令源并允许操作员获取的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Normal | BOOL | 不可见 | 不需要 | 输入 | 用于选择正常命令源的程序命令(操作员或程序)。该指令自动清除该操作数。 默认值为假。 |
XCmd_St0 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 0 的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_St1 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 1 的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_St2 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 2 的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_St3 | BOOL | 不可见 | 不需要 | 输入 | 用于将设备设置为状态 3 的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_Acq | BOOL | 不可见 | 不需要 | 输入 | 用于获取命令源的外部命令。如果 Cfg_ExtAcqAsLevel = 0,则指令会自动清除此操作数。 默认值为假。 |
XCmd_Rel | BOOL | 不可见 | 不需要 | 输入 | 用于释放命令源的外部命令,如果 Cfg_ExtAcqAsLevel = 0,则接受。该指令自动清除该操作数。 默认值为假。 |
XCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于重置已去除的锁定和已返回到正常的锁定报警的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_ResetAckAll | BOOL | 不可见 | 不需要 | 输入 | 用于确认所有报警并重置已锁定的报警和解除条件的外部命令。该指令自动清除该操作数。 默认值为假。 |
公共输出成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableOut | BOOL | 不可见 | 不需要 | 输出 | 启用输出 - 系统定义的参数 |
Out_AData | BOOL | 可见 | 不需要 | 输出 | 将 A 输出到设备。 |
Out_BData | BOOL | 可见 | 不需要 | 输出 | 将 B 输出到设备。 |
Out_CData | BOOL | 可见 | 不需要 | 输出 | 将 C 输出到设备。 |
Out_DData | BOOL | 可见 | 不需要 | 输出 | 将 D 输出到设备。 |
Out_HornData | BOOL | 不可见 | 不需要 | 输出 | 用于在命令状态更改之前鸣喇叭的输出。 |
Out_Reset | BOOL | 不可见 | 不需要 | 输出 | 1 = 已收到并接受重置命令。 |
Out_OwnerSts | DINT | 不可见 | 不需要 | 输出 | 命令源的状态,宿主命令握手和就绪状态(位图):所有位关闭 = 无,.10 = 操作员锁定,.11 = 操作员解锁,.12 = 程序锁定,.13 = 程序解锁,.14 = 获取维护, .15 = 释放维护,.16 = 获取外部,.17 = 释放外部,.18 = 具有维护,.19 = 外部覆盖锁定,.20 = 具有外部,.21 = 具有操作员,.22 = 具有操作员锁定,.23 = 具有程序,.24 = 具有程序锁定,.29 = 回送,.30 = 未就绪。 |
Sts_Initialized | BOOL | 不可见 | 不需要 | 输出 | 1 = 指令已初始化。0 = 使用 Inp_InitializeReq 重新初始化。 |
Sts_St0 | BOOL | 可见 | 不需要 | 输出 | 1 = 确认设备处于状态 0。 |
Sts_St1 | BOOL | 可见 | 不需要 | 输出 | 1 = 确认设备处于状态 1。 |
Sts_St2 | BOOL | 可见 | 不需要 | 输出 | 1 = 确认设备处于状态 2。 |
Sts_St3 | BOOL | 可见 | 不需要 | 输出 | 1 = 确认设备处于状态 3。 |
Sts_Moving | BOOL | 可见 | 不需要 | 输出 | 1 = 设备尚未确认是否处于指定状态。 |
Sts_Horn | BOOL | 不可见 | 不需要 | 输出 | 1 = 在命令状态更改之前鸣喇叭。 |
Sts_Virtual | BOOL | 不可见 | 不需要 | 输出 | 1 = 该指令将设备视为虚拟,就像控制正常工作的设备一样,但输出保持断电状态,0 = 指令正常操作物理设备。 |
SrcQ_IO | SINT | 不可见 | 不需要 | 输出 | 主输入或输出的源和质量:0 = 良好,畅通,确定良好 1 = 良好,畅通,假定良好 2 = 良好,无反馈,假定良好 8 = 测试,虚拟化 9 = 测试,回路 10 = 测试,手动输入 16 = 不确定,畅通,不合格 17 = 不确定,在设备或总线端替换 18 = 不确定,在指令端替换 19 = 不确定,使用最后一个已知良好值 20 = 不确定,使用替代值 32 = 不良,信号故障 33 = 不良,通道故障 34 = 不良,模块或通信故障 35 = 不良,配置无效 |
SrcQ | SINT | 不可见 | 不需要 | 输出 | 主值或状态的源和质量:0 = 良好,畅通,确定良好 1 = 良好,畅通,假定良好 2 = 良好,无反馈,假定良好 8 = 测试,虚拟化 9 = 测试,回路 10 = 测试,手动输入 16 = 不确定,畅通,不合格 17 = 不确定,在设备或总线端替换 18 = 不确定,在指令端替换 19 = 不确定,使用最后一个已知良好值 20 = 不确定,使用替代值 32 = 不良,信号故障 33 = 不良,通道故障 34 = 不良,模块或通信故障 35 = 不良,配置无效 |
Sts_eFdbk | SINT | 不可见 | 不需要 | 输出 | 设备反馈:0 = 无/正在移动/未知,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3。 |
Sts_eCmd | SINT | 不可见 | 不需要 | 输出 | 设备命令:0 = 无,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3。 |
Sts_eSts | SINT | 不可见 | 不需要 | 输出 | 设备状态:0 = 加电/重置,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3,5 = 正在移动,6 = 鸣喇叭,7 = 停用。 |
Sts_eFault | SINT | 不可见 | 不需要 | 输出 | 设备故障状态:0= 无,16 = 位置故障,17 = 设备故障,32 = 输入/输出 (I/O) 故障,34 = 配置错误。 |
Sts_eOutState | SINT | 不可见 | 不需要 | 输出 | 物理设备输出的状态:0 = 断电,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3,5 = 鸣喇叭。 |
Sts_eNotify | SINT | 不可见 | 不需要 | 输出 | 摘要报警状态:0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_eNotifyAll | SINT | 不可见 | 不需要 | 输出 | 摘要报警状态(包括相关对象):0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_eNotifyIOFault | SINT | 不可见 | 不需要 | 输出 | 输入/输出 (I/O) 故障报警状态:0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_eNotifyFail | SINT | 不可见 | 不需要 | 输出 | 设备故障报警状态:0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_eNotifyIntlkTrip | SINT | 不可见 | 不需要 | 输出 | 互锁脱扣报警状态:0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_eNotifyEqpFault | SINT | 不可见 | 不需要 | 输出 | 设备报告的设备故障报警状态:0 = 未处于报警中、已确认,1 = 未处于报警中、未确认或需要重置,2 = 低严重性报警、已确认,3 = 低严重性报警、未确认,4 = 中等严重性报警、已确认,5 = 中等严重性报警、未确认,6 = 高严重性报警、已确认,7 = 高严重性报警、未确认,8 = 紧急严重性报警、已确认,9 = 紧急严重性报警、未确认。 |
Sts_UnackAlmCount | DINT | 不可见 | 不需要 | 输出 | 未确认报警计数。 |
Sts_eSrc | INT | 不可见 | 不需要 | 输出 | 当前命令源:0 = 未使用逻辑,4 = 手控,8 = 维护,16 = 覆盖,32 = 程序,33 = 程序已锁定,34 = 默认程序(正常),64 = 操作符,65 = 操作符已锁定,66 = 默认操作符(正常),128 = 维护停用,129 = 程序停用(EnableIn 假),256 = 外部。 |
Sts_bSrc | INT | 不可见 | 不需要 | 输出 | 活动命令源选择(用于 HMI 的位图):.0 = 手控,.1 = 编程停用(EnableIn 假),.2 = 维护停用,.3 = 维护,4 = 覆盖,.5 = 外部,6 = 程序已锁定,.7 = 程序(未锁定),.8 = 操作符已锁定,.9 = 操作符(未锁定)。 |
Sts_Available | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备已通过程序获取,已就绪且可用于控制。 |
Sts_IntlkAvailable | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备可以通过程序获取,并且在互锁正常 (OK) 时可用于控制。 |
Sts_Bypass | BOOL | 不可见 | 不需要 | 输出 | 1 = 已绕过可绕过的互锁和许可。 |
Sts_BypActive | BOOL | 可见 | 不需要 | 输出 | 1 = 互锁/许可绕过处于活动状态(通过命令或维护命令源绕过)。 |
Sts_MaintByp | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备有一个维护绕过功能处于活动状态。 |
Sts_NotRdy | BOOL | 可见 | 不需要 | 输出 | 1 = 设备未就绪,查看 Sts_NrdyXxx 明细位了解原因。 |
Sts_NrdyCfgErr | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,配置错误。 |
Sts_NrdyEqpFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,设备报告的设备故障,去除需要重置。 |
Sts_NrdyFail | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,设备故障,去除需要重置。 |
Sts_NrdyIntlk | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,互锁不正常 (OK)。 |
Sts_NrdyIOFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,输入/输出 (I/O) 故障,去除需要重置。 |
Sts_NrdyOoS | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,设备停用。 |
Sts_NrdyPerm | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,许可不正常 (OK),不允许设备更改状态。0 = 设备就绪或部分就绪,某些许可可能不正常 (OK),可向设备发送命令使其至少处于一个其他状态。 |
Sts_NrdyPrioSt0 | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备未就绪,操作员或外部已发出优先级状态 0 命令,去除需要重置。 |
Sts_Err | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,查看 Sts_ErrXxx 明细位了解原因。 |
Sts_ErrAlm | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,基于 Logix 标签的报警设置无效。 |
Sts_ErrOutAPulseTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_OutAPulseTime 无效。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 |
Sts_ErrOutBPulseTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_OutBPulseTime 无效。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 |
Sts_ErrOutCPulseTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_OutCPulseTime 无效。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 |
Sts_ErrOutDPulseTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_OutDPulseTime 无效。有效值 = 0.0 至 2147483.0,0.0 = 输出持续保持。 |
Sts_ErrVirtualFdbkTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_VirtualFdbkTime 无效。有效值 = 0.0 至 2147483.0。 |
Sts_ErrFailTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错,Cfg_FailTime 无效。有效值 = 0.0 至 2147483.0。 |
Sts_Hand | BOOL | 可见 | 不需要 | 输出 | 1 = 选择手控命令源。 |
Sts_OoS | BOOL | 可见 | 不需要 | 输出 | 1 = 选择停用命令源。 |
Sts_Maint | BOOL | 可见 | 不需要 | 输出 | 1 = 选择维护命令源。 |
Sts_Ovrd | BOOL | 可见 | 不需要 | 输出 | 1 = 选择覆盖命令源。 |
Sts_Ext | BOOL | 可见 | 不需要 | 输出 | 1 = 选择外部命令源。 |
Sts_Prog | BOOL | 可见 | 不需要 | 输出 | 1 = 选择程序(未锁定)命令源。 |
Sts_ProgLocked | BOOL | 不可见 | 不需要 | 输出 | 1 = 选择程序已锁定命令源。 |
Sts_Oper | BOOL | 可见 | 不需要 | 输出 | 1 = 选择操作员(未锁定)命令源。 |
Sts_OperLocked | BOOL | 不可见 | 不需要 | 输出 | 1 = 选择操作员已锁定命令源。 |
Sts_ProgOperSel | BOOL | 不可见 | 不需要 | 输出 | 程序/操作员选择(锁定)状态:1 = 程序,0 = 操作员。 |
Sts_ProgOperLock | BOOL | 可见 | 不需要 | 输出 | 程序/操作员锁定状态:1 = 锁定,0 = 未锁定。 |
Sts_Normal | BOOL | 不可见 | 不需要 | 输出 | 1 = 选择的命令源是正常源(程序或操作员)。 |
Sts_ExtReqInh | BOOL | 不可见 | 不需要 | 输出 | 1 = 禁用外部命令源选择,外部在当前状态下不可用。 |
Sts_ProgReqInh | BOOL | 不可见 | 不需要 | 输出 | 1 = 禁用程序命令源选择,程序在当前状态下不可用。 |
Sts_MAcqRcvd | BOOL | 不可见 | 不需要 | 输出 | 1 = 用于获取维护维护命令源的命令接收到此扫描。 |
Sts_CmdConflict | BOOL | 不可见 | 不需要 | 输出 | 1 = 冲突的命令收到此扫描。 |
Sts_Alm | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警处于活动状态。 |
Sts_AlmInh | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警已延迟或已禁用。 |
Sts_IOFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入/输出 (I/O) 通信故障。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。可按如下方式访问报警元素:PD4SD_tag.@Alarms.Alm_IOFault.AlarmElement。 |
Sts_Fail | BOOL | 可见 | 不需要 | 输出 | 1 = 备位置故障。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。可按如下方式访问报警元素:PD4SD_Tag.@Alarms.Alm_Fail.AlarmElement。 |
Sts_IntlkTrip | BOOL | 不可见 | 不需要 | 输出 | 1 = 互锁脱扣,设备已设置为状态 0,互锁不正常 (OK)。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。可按如下方式访问报警元素:PD4SD_Tag.@Alarms.Alm_IntlkTrip.AlarmElement。 |
Sts_EqpFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备报告的设备故障。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。可按如下方式访问报警元素:PD4SD_Tag.@Alarms.Alm_EqpFault.AlarmElement。 |
Sts_RdyAck | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警待确认。 |
Sts_RdyReset | BOOL | 可见 | 不需要 | 输出 | 1 = 锁定的报警或解除条件待重置。 |
XRdy_Acq | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Acq 就绪,启用按钮。 |
XRdy_Rel | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Rel 就绪,启用按钮。 |
XRdy_St0 | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_St0 就绪,启用按钮。 |
XRdy_St1 | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_St1 就绪,启用按钮。 |
XRdy_St2 | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_St2 就绪,启用按钮。 |
XRdy_St3 | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_St3 就绪,启用按钮。 |
XRdy_Reset | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Reset 就绪,启用按钮。 |
XRdy_ResetAckAll | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_ResetAckAll 就绪,启用按钮。 |
Val_Owner | DINT | 不可见 | 不需要 | 输出 | 当前对象宿主 ID,0 = 未拥有。 |
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
CmdSrc | P_COMMAND_SOURCE | 命令源选择。 |
MCmd_Acq | BOOL | 用于获取维护命令源的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Bypass | BOOL | 用于绕过所有可绕过的互锁和许可的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Check | BOOL | 用于移除旁路并检查所有互锁和许可的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_IS | BOOL | 用于选择“服务中”的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_OoS | BOOL | 用于选择“停用”的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Physical | BOOL | 用于选择物理设备操作的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Rel | BOOL | 用于释放维护命令源的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Virtual | BOOL | 用于选择虚拟设备操作的维护命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Lock | BOOL | 用于选择操作员已锁定命令源并不允许程序的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Normal | BOOL | 用于选择正常命令源的操作员命令(操作员或程序)。该指令自动清除该操作数。 默认值为假。 |
OCmd_Oper | BOOL | 用于选择操作员(未锁定)命令源的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Prog | BOOL | 用于选择程序(未锁定)命令源的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Reset | BOOL | 用于重置已去除的锁定和已返回到正常的锁定报警的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_ResetAckAll | BOOL | 用于确认所有报警并重置已锁定的报警和解除条件的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_St0 | BOOL | 用于将设备设置为状态 0 的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_St1 | BOOL | 用于将设备设置为状态 1 的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_St2 | BOOL | 用于将设备设置为状态 2 的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_St3 | BOOL | 用于将设备设置为状态 3 的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Unlock | BOOL | 用于解锁操作员命令源并允许程序获取的操作员命令。该指令自动清除该操作数。 默认值为假。 |
专用输出成员 | 数据类型 | 说明 |
|---|---|---|
HMI_BusObjIndex | DINT | 总线数组中该对象的索引,供 HMI 显示使用。 |
HMI_eCmdState | SINT | 设备目标状态:0 = 无,1 = 状态 0,2 = 状态 1,3 = 状态 2,4 = 状态 3。 |
HMI_St0PermOK | BOOL | 1 = 许可正常 (OK),可以进入状态 0。 |
HMI_St1PermOK | BOOL | 1 = 许可正常 (OK),可以进入状态 1。 |
HMI_St2PermOK | BOOL | 1 = 许可正常 (OK),可以进入状态 2。 |
HMI_St3PermOK | BOOL | 1 = 许可正常 (OK),可以进入状态 3。 |
MRdy_Acq | BOOL | 1 = MCmd_Acq 就绪,启用 HMI 按钮。 |
MRdy_Bypass | BOOL | 1 = MCmd_Bypass 就绪,启用 HMI 按钮。 |
MRdy_Check | BOOL | 1 = MCmd_Check 就绪,启用 HMI 按钮。 |
MRdy_IS | BOOL | 1 = MCmd_IS 就绪,启用 HMI 按钮。 |
MRdy_OoS | BOOL | 1 = MCmd_OoS 就绪,启用 HMI 按钮。 |
MRdy_Physical | BOOL | 1 = MCmd_Physical 就绪,启用 HMI 按钮。 |
MRdy_Rel | BOOL | 1 = MCmd_Rel 就绪,启用 HMI 按钮。 |
MRdy_Virtual | BOOL | 1 = MCmd_Virtual 就绪,启用 HMI 按钮。 |
ORdy_Lock | BOOL | 1 = OCmd_Lock 就绪,启用 HMI 按钮。 |
ORdy_Normal | BOOL | 1 = OCmd_Normal 就绪,启用 HMI 按钮。 |
ORdy_Oper | BOOL | 1 = OCmd_Oper 就绪,启用 HMI 按钮。 |
ORdy_Prog | BOOL | 1 = OCmd_Prog 就绪,启用 HMI 按钮。 |
ORdy_Reset | BOOL | 1 = OCmd_Reset 就绪,启用 HMI 按钮。 |
ORdy_ResetAckAll | BOOL | 1 = OCmd_ResetAckAll 就绪,启用 HMI 按钮。 |
ORdy_St0 | BOOL | 1 = OCmd_St0 就绪,启用 HMI 按钮。 |
ORdy_St1 | BOOL | 1 = OCmd_St1 就绪,启用 HMI 按钮。 |
ORdy_St2 | BOOL | 1 = OCmd_St2 就绪,启用 HMI 按钮。 |
ORdy_St3 | BOOL | 1 = OCmd_St3 就绪,启用 HMI 按钮。 |
ORdy_Unlock | BOOL | 1 = OCmd_Unlock 就绪,启用 HMI 按钮。 |
公共 InOut 成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
BusObj | BUS_OBJ | 可见 | 必需 | InOut | 总线组件。 |
BUS_OBJ 结构
BUS_OBJ 结构用于将设备链接到复杂控制策略中的其他设备和指令,通常采用层级结构。总线对象将状态和报警信息从较低级别的设备汇总到较高级别的控制,从较高级别的控制向较低级别设备发出命令,通过引用与总线相关的 BUS_OBJ 数组的单个成员来将项链接到总线。
此参数将指令链接到外部标签,该外部标签包含指令运行所需的数据。外部标签必须为所显示的数据类型,也可以为 NULL。如果为 NULL,则此指令的总线功能不可用。
成员 | 数据类型 | 说明 |
|---|---|---|
Inp_Cmd | DINT | 用于声明命令的输入 |
Out_Cmd | DINT | 产生的命令 |
Inp_CmdLLH | DINT | 水平常高命令的输入 |
Out_CmdLLH | DINT | 产生的线路水平高命令 |
Inp_Sts | DINT | 用于声明状态的输入 |
Out_Sts | DINT | 产生的状态 |
Inp_CmdAck | DINT | 用于声明命令确认的输入 |
Out_CmdAck | DINT | 产生的命令确认 |
Inp_SeverityMax | DINT | 输入:最大报警严重性 |
Out_SeverityMax | DINT | 最大报警严重性的产生 |
Cfg_CmdMask | DINT | 命令的传播掩码 |
Cfg_CmdLLHMask | DINT | 线路水平高命令的传播掩码 |
Cfg_StsMask | DINT | 状态的传播掩码 |
Ref_Index | DINT | 总线数组索引 |
报警
为以下成员定义了基于离散
Logix5000
标签的报警:成员 | 报警名称 | 说明 |
|---|---|---|
Sts_IntlkTrip | Alm_IntlkTrip | 设备已保持在或设置为状态 0,互锁不正常 (OK)。 |
Sts_IOFault | Alm_IOFault | I/O 故障。 |
Sts_Fail | Alm_Fail | 设备故障。 |
Sts_EqpFault | Alm_EqpFault | 设备故障。 |
将报警标记为已使用或未使用,并设置基于离散 Logix 标签的报警的标准配置成员。使用此格式访问报警元素:
Tag.@Alarms.AlarmName.AlarmElement
PD4SD 指令使用以下报警:
- 当发生互锁非正常 (OK) 条件且设备未处于状态 0 时,引发互锁脱扣报警。当发生互锁脱扣时,可以将设备配置为受控进入状态 0。如果互锁未被绕过,则可绕过互锁或不可绕过互锁的非正常 (OK) 状态将引发互锁脱扣。如果互锁被绕过,则只有不可绕过互锁非正常 (OK) 状态将引发互锁脱扣。
- 当 Inp_IOFault 输入为真时,引发输入/输出 (I/O) 故障报警。该输入通常用于向指令表明其输入/输出 (I/O) 发生通信故障。如果将“输入/输出 (I/O) 故障”配置为去除故障,则设备将转换为状态 0 并保持该该状态,直到故障清除且设备复位。
- 当 Inp_EqpFault 输入为真时,引发设备故障报警。如果将“设备故障”配置为去除故障,则设备将转换为状态 0 并保持该状态,直到故障清除且设备复位。
- 当命令设备进入某个状态,但设备反馈在配置的故障时间内并未确认设备确实处于该状态时,引发此报警。如果将“故障”配置为去除故障,则设备将转换为状态 0 并保持该状态,直到故障清除且设备复位。
程序、操作员和外部命令可以重置已锁定的报警,并同时重置和确认指令的所有报警(报警集)。下图显示了命令与 PD4SD 指令的交互方式。

操作
下图展示了 PD4SD 指令的功能:

下图显示了与 PD4SD 指令命令相关的许可逻辑:

操作员命令请求确认
PD4SD 指令启用以下操作员命令和设置:
- OCmd_St0
- OCmd_St1
- OCmd_St2
- OCmd_St3
强制安全性可能需要在执行所选命令或接受设置之前确认或取消请求。该指令检查对 Cfg_CnfrmReqd 进行检查的安全规则。如果 Cfg_CnfrmReqd= 0,则无需确认,请求立即执行。如果 Cfg_CnfrmReqd = 1,指令将等待操作员确认或取消命令。对于 Cfg_CnfrmReqd=2 或 3,需要使用 eSignature 才能启用命令确认作。
虚拟化
虚拟化可用于指令测试和操作员培训。使用程序命令 PCmd_Virtual 或维护命令 MCmd_Virtual 执行命令虚拟操作。完成虚拟操作后,使用程序命令 PCmd_Physical 或维护命令 MCmd_Physical 恢复正常物理设备操作。
虚拟化处于活动状态时,PD4SD 指令的设备输出保持为 0,提供工作设备的虚拟反馈,并忽略输入/输出 (I/O) 故障。设置 Cfg_VirtualFdbkTime 操作数会延迟设备的反馈状态回送。操作指令时,就像存在正在运行的设备一样。
初始化
指令通常在首次运行时进行初始化。通过设置 Inp_InitializeReq = 1 请求重新初始化。为了进行正确的初始化,如果在执行代码的联机编辑时添加指令,请确保默认值 Inp_InitializeReq = 1。
HMI 字符串配置
配置 HMI 面板(用在
FactoryTalk View
中)和 Studio 5000 Logix Designer
配置对话框的字符串。字符串将设置为标签项的扩展属性。- 说明
- 图形符号的标签
- 用于 HMI 面板调用的显示库
- 指令名称
- 区域名称
- URL 链接
- 具有更多信息的对象的导航
- 状态 0 至 3 的命令标签
- 状态 0 至 3 的目标状态标签
- 互锁脱扣报警的名称
- 输入/输出 (I/O) 故障报警的名称
- 位置故障报警的名称
- 锁定故障报警的名称
命令源
指令使用以下命令源。命令源在下表中从高到低的优先级顺序排序。
命令源 | 说明 |
|---|---|
手控 | 硬接线逻辑或指令之外的其他逻辑用于控制设备。该指令会跟踪设备的状态,以便平滑过渡回其他命令源之一。 这是优先级最高的命令源。 |
停用 | 指示指令处于禁用状态。不接受来自任何源的设备命令和设置。 |
维护 | 维护对设备进行控制,取代操作员、程序、外部和覆盖控制。接受来自 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 命令的意图:操作员实体希望将该函数置于程序的控制下。如果该命令被删除,则将无法完成此操作。这仅在不会引发冲突或竞争状况的配置中完成,但保留尽可能多的用户功能是切实可行的。
优先级较高的命令源
以下优先级较高的命令源在模型中独立工作:
- 外部
- 覆盖
- 维护
- 停用
- 服务中
- 手控
监控 PD4SD 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。有关数组索引故障的内容,请参阅《Logix 5000 通用指令》手册中的“数组索引”部分。
执行
梯形图
条件/状态 | 执行的操作 |
预扫描 | 放弃首次扫描前收到的任何命令。设备已断电。 |
指令首次运行 | 放弃首次扫描前收到的任何命令。将设备视为从手控模式返回:根据从设备接收到的位置反馈设置指令状态。如果设备没有位置反馈或位置反馈无效,则设备将设置为“未知/加电”状态。 |
梯级输入条件为假 | 处理方式与通过命令停用设备时相同。设备输出断电,设备命令源在 HMI 上显示为程序停用。将清除所有报警。梯级输出条件仍旧为假。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
预扫描 | 放弃首次扫描前收到的任何命令。设备已断电。 |
指令首次运行 | 放弃首次扫描前收到的任何命令。将设备视为从手控模式返回:根据从设备接收到的位置反馈设置指令状态。如果设备没有位置反馈或位置反馈无效,则设备将设置为“未知/加电”状态。 |
指令首次扫描 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为假 | 处理方式与通过命令停用设备时相同。设备输出断电,设备命令源在 HMI 上显示为程序停用。将清除所有报警。EnableOut 设置为假。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。因此,如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态 | 执行的操作 |
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
在以下示例中,PD4SD 指令控制具有三个固定速度(低、中、高)和关闭状态的冷却风扇。冷却风扇被视为四态设备。在此示例中,三个数字输出用于设置速度设置(当全部三个输出都关闭时,会命令风扇关闭),三个数字输入提供对实际风扇状态的反馈(当全部三个输出都关闭时,风扇关闭)。
在此示例中,四种冷却风扇的状态配置如以下各表中所示。(在此示例中,输出 A 置位,因此即使冷却风扇设备不使用输出 A,也可将其用于显示。)
状态 0(关):
输出 | 反馈 | |||
|---|---|---|---|---|
写入 | 值 | 必需 | 状态 | |
是 | 1 | 否 | ||
是 | 0 | 是 | 0 | |
是 | 0 | 是 | 0 | |
是 | 0 | 是 | 0 |
状态 1(低):
输出 | 反馈 | |||
|---|---|---|---|---|
写入 | 值 | 必需 | 状态 | |
A | 是 | 0 | 否 | |
B | 是 | 1 | 是 | 1 |
C | 是 | 0 | 是 | 0 |
D | 是 | 0 | 是 | 0 |
状态 2(中):
输出 | 反馈 | |||
|---|---|---|---|---|
写入 | 值 | 必需 | 状态 | |
A | 是 | 0 | 否 | |
B | 是 | 0 | 是 | 0 |
C | 是 | 1 | 是 | 1 |
D | 是 | 0 | 是 | 0 |
状态 3(高):
输出 | 反馈 | |||
|---|---|---|---|---|
写入 | 值 | 必需 | 状态 | |
A | 是 | 0 | 否 | |
B | 是 | 0 | 是 | 0 |
C | 是 | 0 | 是 | 0 |
D | 是 | 1 | 是 | 1 |
梯形图


功能块图

结构化文本
D4SD100.Inp_BFdbkData:=D4SD100_LowFdbk
D4SD100.Inp_CFdbkData:=D4SD100_MedFdbk
D4SD100.Inp_DFdbkData:=D4SD100_HighFdbk
PD4SD(D4SD100, 0);
D4SD100_LowRunCoil:=D4SD100.Out_BData;
D4SD100_MedRunCoil:=D4SD100.Out_CData;
D4SD100_HighRunCoil:=D4SD100.Out_DData;
提供反馈