过程离散 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) 故障时去除到默认状态。
  • 当在程序命令源中并正常运行时,提供可用状态,供自动化逻辑用来确定逻辑是否能够控制设备。
  • 从手控、维护、覆盖、外部、程序和操作员命令源运行。
可用语言
梯形图
PD4SDLadder
功能块图
PD4SD_FBD
结构化文本
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_FeedbackAlarmConditions1
操作
下图展示了 PD4SD 指令的功能:
pd4sd_operation_v35
下图显示了与 PD4SD 指令命令相关的许可逻辑:
pd4sd_permissives_v35
操作员命令请求确认
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
梯形图
pd4sd_ladderexample_a_v35
pd4sd_ladderexample_b_v35
功能块图
pd4sd_fbdexample_v35
结构化文本
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;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal