过程死区控制器 (PDBC)

此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程死区控制器 (PDBC) 指令提供:
  • 上升输出(当 PV 小于输入的上升阈值时激活)和下降输出(当 PV 大于输入的下降阈值时激活)。
  • Q 和 Q-Not 输出。当 PV 低于上升阈值时设置 Q 值;当 PV 高于下降阈值时,Q 清零;Q-Not 是 Q 的取反。
  • 具有可配置阈值和死区的上限偏差和下限偏差报警。这些报警可通知 PV 正在接近失控状态。
  • PV 变化率上限升高和 PV 变化率上限下降报警。这些报警可通知 PV 的变化速度快于预期。
    提醒事项: 为了正确报告瞬时变化率,应用代码应至少以与 PDBC 指令扫描频率相同的频率更新模拟 PV 输入。例如,如果 PV 输入每秒增加 1 个单位,并且每 1.00 秒更新一次,但每 500 毫秒扫描一次 PDBC 指令,则该指令在输入未更改时报告扫描的变化率为 0.0,在更新输入时报告扫描的变化率为 2.0(双倍)。
  • 在手动和自动回路模式下运行。在自动回路模式下,由控制算法触发输出,使 PV 保持在限值范围内。在手动回路模式下,操作员直接操作 HMI 的上升和下降输出。
  • 操作员、程序、覆盖和维护命令源中的操作。
可用语言
梯形图
pdbc_avail_ld
功能块图
PDBC_avail_FBD
结构化文本
PDBC(PDBCTag, 0);
操作数
重要提示: 以下情况下会导致运行出现意外:
  • 输出标签操作数被覆盖。
  • 结构操作数的成员被覆盖。
  • 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换
配置操作数
操作数
类型
格式
说明
PlantPAx Control
P_DEADBAND
标签
PDBC 结构
BusObj
BUS_OBJ
标签
总线组件
P_ DEADBAND 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员
数据类型
说明
EnableIn
BOOL
启用输入。梯形图:对应于梯级条件。
默认值为真。
Inp_InitializeReq
BOOL
重新初始化时使用此请求。
默认值为真。
Inp_PV
REAL
受控的过程变量(工程单位)。有效值 = 任意浮点数。
默认值为 0.0。
Inp_PVSrcQ
SINT
来自通道对象的输入源和质量(如果可用)(枚举值)。有效值 = 0 至 32。
默认值为 0。
Inp_PVNotify
SINT
相关过程变量对象报警优先级和确认状态。
0 = 未处于报警中,已确认,
1 = 未处于报警中,未确认或需要重置,
2 = 低严重性报警,已确认,
3 = 低严重性报警,未确认,
4 = 中等严重性报警,已确认,
5 = 中等严重性报警,未确认,
6 = 高严重性报警,已确认,
7 = 高严重性报警,未确认,
8 = 紧急严重性报警,已确认,
9 = 紧急严重性报警,未确认。
默认值为 0。
Inp_PVBad
BOOL
1 = 过程变量或输入/输出通信状态不良,0 = 过程变量和输入/输出通信正常。
默认值为假。
Inp_OvrdCmd
SINT
覆盖命令:0 = 无命令,1 = 上升,2 = 下降,3 = 无,4 = 手动,5 = 自动。
默认值为 0。
Inp_OvrdRaiseSP
REAL
覆盖模式上升设定值(工程单位)。有效值 = 从 Cfg_SPLoLim 到 Cfg_SPHiLim 的任意浮点值。
默认值为 0.0。
Inp_OvrdLowerSP
REAL
覆盖模式下降设定值(工程单位)。有效值 = 从 Cfg_SPLoLim 到 Cfg_SPHiLim 的任意浮点值。
默认值为 0.0。
Inp_HiDevGate
BOOL
用于高偏差状态检测的门输入。1 = 启用相应的模拟输入阈值监控。0 = 禁用检测并强制关闭相应的状态输出。
默认值为假。
Inp_LoDevGate
BOOL
用于下限偏差状态检测的门输入。1 = 启用相应的模拟输入阈值监控。0 = 禁用检测并强制关闭相应的状态输出。
默认值为假。
Inp_HiRoCIncrGate
BOOL
门输入用于上限变化率(递增)状态检测。1 = 启用相应的模拟输入阈值监控。0 = 禁用检测并强制关闭相应的状态输出。
默认值为假。
Inp_HiRoCDecrGate
BOOL
门输入用于上限变化率(递减)状态检测。1 = 启用相应的模拟输入阈值监控。0 = 禁用检测并强制关闭相应的状态输出。
默认值为假。
Inp_OwnerCmd
DINT
宿主设备命令:
Inp_OwnerCmd.0 = 无,
Inp_OwnerCmd.10 = 操作员锁定,
Inp_OwnerCmd.11 = 操作员解锁,
Inp_OwnerCmd.12 = 程序锁定,
Inp_OwnerCmd.13 = 程序解锁,
Inp_OwnerCmd.14 = 获取维护,
Inp_OwnerCmd.15 = 释放维护,
Inp_OwnerCmd.16 = 获取外部,
Inp_OwnerCmd.17 = 释放外部。
默认值为 0。
Inp_ExtInh
BOOL
1 = 禁止外部获取,0 = 允许外部获取。
默认值为假。
Inp_Hand
BOOL
1 = 获取手控(通常为本地硬接线),0 = 释放手控。
默认值为假。
Inp_Ovrd
BOOL
1 = 获取覆盖(较高优先级程序逻辑),0 = 释放覆盖。
默认值为假。
Cfg_PVDecPlcs
SINT
用于显示过程变量的小数位数。有效值 = 0 到 6。
默认值为 2。
Cfg_SetTrack
BOOL
1 = 操作员中 PSets 跟踪 OSets,程序中 OSets 跟踪 PSets,0 = 不跟踪。
默认值为假。
Cfg_HasMoreObj
BOOL
1 = 通知 HMI 有包含较多信息的对象可用。
默认值为假。
Cfg_HasPVNav
BOOL
1 = 通知 HMI 允许导航到所连接的过程变量对象。
默认值为假。
Cfg_HasOutNav
BOOL
1 = 通知 HMI 允许导航到所连接的输出对象,0 = 无连接的输出对象。
默认值为假。
Cfg_PVEUMin
REAL
输入过程变量范围最小值(工程单位)。有效值 = 任意浮点数。
默认值为 0.0。
Cfg_PVEUMax
REAL
输入过程变量范围最大值(工程单位)。有效值 = 任意浮点数。
默认值为 100.0。
Cfg_SPHiLim
REAL
设定值上限限值(工程单位)。有效值 = 0.0 到最大正浮点数。
默认值为 100.0。
Cfg_SPLoLim
REAL
设定值下限限值(工程单位)。有效值 = 0.0 到最大正浮点数。
默认值为 0.0。
Cfg_RaiseDB
REAL
上升输出的死区(高于上限)。有效值 = 0.0 至 (Cfg_SPHiLim - Cfg_SPLoLim)。
默认值为 1.0。
Cfg_LowerDB
REAL
下降输出的死区(低于下限)。有效值 = 0.0 至 (Cfg_SPHiLim - Cfg_SPLoLim)。
默认值为 1.0。
Cfg_RateTime
REAL
过程变量变化率时基(秒),1.0 = /秒,60.0 = /分钟,3600.0 = /小时。有效值 = 0.0 到最大正浮点数。
默认值为 1.0。
Cfg_HiDevLim
REAL
上限偏差状态阈值(工程单位)。有效值 = 0.0 到最大正浮点数。
默认值为 100.0。
Cfg_HiDevDB
REAL
上限偏差状态死区(工程单位)。有效值 = 0.0 到上限偏差阈值。
默认值为 1.0。
Cfg_LoDevLim
REAL
下限偏差状态阈值(工程单位)。有效值 = -最小负浮点数到 0.0。
默认值为 -99.0。
Cfg_LoDevDB
REAL
下限偏差状态死区(工程单位)。有效值 = 0.0 到 -(下限偏差阈值)。
默认值为 1.0。
Cfg_HiDevGateDly
REAL
上限偏差状态门延迟(秒)。在检查上限偏差状态之前,时间 .Inp_HiDev 必须为 1。有效值 = 0.0 到 2147483.0 秒。
默认值为 0.0。
Cfg_LoDevGateDly
REAL
下限偏差状态门延迟(秒)。在检查下限偏差状态之前,时间 .Inp_LoDev 必须为 1。有效值 = 0.0 到 2147483.0 秒。
默认值为 0.0。
Cfg_HiRoCIncrLim
REAL
程序 - 输入上限变化率(递增)状态阈值(工程单位/变化率时间)。有效值 = 0.0 到最大正浮点数。
默认值为 100.0。
Cfg_HiRoCIncrDB
REAL
上限变化率(递增)状态死区(工程单位/变化率时间)。有效值 = 0.0 至 Cfg_HiRoCIncrLim。
默认值为 1.0。
Cfg_HiRoCIncrGateDly
REAL
上限变化率(递增)状态门延迟(秒)。有效值 = 0.0 至 2147483.0。
默认值为 0.0。
Cfg_HiRoCDecrLim
REAL
程序 - 输入上限变化率(递减)状态阈值(工程单位/变化率时间)。有效值 = 0.0 到最大正浮点数。
默认值为 100.0。
Cfg_HiRoCDecrDB
REAL
上限变化率(递减)状态死区(工程单位/变化率时间)。有效值 = 0.0 至 Cfg_HiRoCDecrLim。
默认值为 1.0。
Cfg_HiRoCDecrGateDly
REAL
上限变化率(递减)状态门延迟(秒)。有效值 = 0.0 至 2147483.0。
默认值为 0.0。
Cfg_ExtAcqAsLevel
BOOL
1 = XCmd_Acq 用作级别(1 = 获取,0 = 释放)。
默认值为假。
Cfg_ExtOverLock
BOOL
1 = 外部取代程序/操作员锁定,0 = 不覆盖锁定。
默认值为假。
Cfg_HasExt
BOOL
1 = 存在外部,可选择。
默认值为假。
Cfg_HasMaint
BOOL
1 = 存在维护,可选择。
默认值为真。
Cfg_HasMaintOoS
BOOL
1 = 存在维护停用,可选择。
默认值为真。
Cfg_HasOper
BOOL
1 = 存在操作符(未锁定),可选择。
默认值为真。
Cfg_HasOperLocked
BOOL
1 = 存在锁定的操作符,可选择。
默认值为真。
Cfg_HasProg
BOOL
1 = 存在程序(未锁定),可选择。
默认值为真。
Cfg_HasProgLocked
BOOL
1 = 存在锁定的程序,可选择。
默认值为真。
Cfg_OvrdOverLock
BOOL
1 = 覆盖取代程序/操作员锁定,0 = 不覆盖锁定。
默认值为真。
Cfg_PCmdLockAsLevel
BOOL
1 = PCmd_Lock 用作级别(1 = 锁定,0 = 解锁)。
默认值为假。
Cfg_AllowDisable
BOOL
1 = 允许维护人员禁用报警。
默认值为真。
Cfg_AllowShelve
BOOL
1 = 允许操作员延迟报警。
默认值为真。
Cfg_PCmdPriority
BOOL
1 = 程序命令优先,0 = 操作员命令优先。
默认值为假。
Cfg_PCmdProgAsLevel
BOOL
1 = PCmd_Prog 用作级别。
默认值为假。
Cfg_ProgNormal
BOOL
正常源:1 = 程序(若无请求),0 = 操作员(若无请求)。
默认值为假。
Cfg_ProgPwrUp
BOOL
1 = 加电至程序模式,0 = 加电至操作员模式。
默认值为假。
Cfg_CnfrmReqd
SINT
需要操作员确认命令。表示需要命令确认的类型。
0 = 无,
1 = 需要命令确认,
2 = 需要执行者电子签名,
3 = 需要执行者和审批者电子签名。
默认值为 0。
PSet_LowerSP
REAL
上升设定值的程序设置(工程单位)。有效值 = 从 Cfg_SPLoLim 到 Cfg_SPHiLim 的任意浮点值。
默认值为 30.0。
PSet_RaiseSP
REAL
上升设定值的程序设置(工程单位)。有效值 = 任意浮点数。
默认值为 20.0。
PSet_Owner
DINT
程序宿主请求 ID(非零)或释放(零)。有效值 = 大于或等于 0 的任何整数。
默认值为 0。
XSet_LowerSP
REAL
下降设定值的外部设置(工程单位)。有效值 = 从 Cfg_SPLoLim 到 Cfg_SPHiLim 的任意浮点值。
默认值为 30.0。
XSet_RaiseSP
REAL
上升设定值的外部设置(工程单位)。有效值 = 从 Cfg_SPLoLim 到 Cfg_SPHiLim 的任意浮点值。
默认值为 20.0。
PCmd_Raise
BOOL
在程序手动模式中,用于将输出设置为上升的程序命令。1 = 上升。该指令自动清除该操作数。
默认值为假。
PCmd_Lower
BOOL
在程序手动模式中,用于将输出设置为下降的程序命令。1 = 下降。该指令自动清除该操作数。
默认值为假。
PCmd_None
BOOL
在程序手动模式中,用于清除上升、下降输出的程序命令。1 = 清除 .PCmd_Raise 和 PCmd_Lower。该指令自动清除该操作数。
默认值为假。
PCmd_Auto
BOOL
用于选择自动回路模式的程序命令。1 = 选择自动回路模式。该指令自动清除该操作数。
默认值为假。
PCmd_Man
BOOL
用于选择手动回路模式的程序命令。1 = 选择手动回路模式。该指令自动清除该操作数。
默认值为假。
PCmd_Reset
BOOL
用于重置已去除锁定和已清除报警的程序命令。1 = 重置已去除锁定和已清除报警。该指令自动清除该操作数。
默认值为假。
PCmd_Lock
BOOL
用于锁定程序的程序命令(不允许操作员)。如果 Cfg_PCmdLockAsLevel = 0,则指令会自动清除此操作数。
默认值为假。
PCmd_Normal
BOOL
用于选择正常命令源的程序命令(操作员或程序)。该指令自动清除该操作数。
默认值为假。
PCmd_Oper
BOOL
用于选择操作员的程序命令(程序到操作员)。该指令自动清除该操作数。
默认值为假。
PCmd_Prog
BOOL
用于选择程序的程序命令(操作员到程序)。该指令自动清除该操作数。
默认值为假。
PCmd_Unlock
BOOL
用于解锁程序的程序命令(允许操作员获取)。该指令自动清除该操作数。
默认值为假。
XCmd_Raise
BOOL
在外部手动模式中,用于将输出设置为上升的外部命令。1 = 下降。该指令自动清除该操作数。
默认值为假。
XCmd_Lower
BOOL
在外部手动模式中,用于将输出设置为下降的外部命令。1 = 下降。该指令自动清除该操作数。
默认值为假。
XCmd_None
BOOL
在外部手动模式中,用于清除上升、下降输出的外部命令。1 = 清除 XCmd_Raise 和 XCmd_Lower。该指令自动清除该操作数。
默认值为假。
XCmd_Auto
BOOL
用于选择自动回路模式的外部命令。1 = 选择自动回路模式。该指令自动清除该操作数。
默认值为假。
XCmd_Man
BOOL
用于选择手动回路模式的外部命令。1 = 选择手动回路模式。该指令自动清除该操作数。
默认值为假。
XCmd_Reset
BOOL
用于重置已去除锁定和已清除报警的外部命令。1 = 重置已去除锁定和已清除报警。该指令自动清除该操作数。
默认值为假。
XCmd_ResetAckAll
BOOL
用于确认和重置所有报警和锁定去除条件的外部命令。该指令自动清除该操作数。
默认值为假。
XCmd_Acq
BOOL
用于获取所有权的外部命令(操作员/程序/覆盖/维护到外部)。如果 Cfg_ExtAcqAsLevel = 0,则指令会自动清除此操作数。
默认值为假。
XCmd_Rel
BOOL
Cfg_ExtAcqAsLevel = 0 时用于释放所有权的外部命令(外部到操作员/程序/覆盖/维护)。该指令自动清除该操作数。
默认值为假。
公共输出成员
数据类型
说明
EnableOut
BOOL
启用输出 - 此输出状态始终反映 EnableIn 输入状态。
Out_Raise
BOOL
驱动器过程变量的输出上升。
Out_Lower
BOOL
驱动器过程变量的输出下降。
Out_Q
BOOL
1 = 设定值上升,0 = 设定值下降。
Out_QNot
BOOL
1 = 设定值下降,0 = 设定值上升。
Out_OwnerSts
DINT
命令源状态、宿主命令握手和就绪状态:
Out_OwnerSts.0 = 无,
Out_OwnerSts.10 = 操作员锁定,
Out_OwnerSts.11 = 操作员解锁,
Out_OwnerSts.12 = 程序锁定,
Out_OwnerSts.13 = 程序解锁,
Out_OwnerSts.14 = 获取维护,
Out_OwnerSts.15 = 释放维护,
Out_OwnerSts.16 = 获取外部,
Out_OwnerSts.17 = 释放外部,
Out_OwnerSts.18 = 具有维护,
Out_OwnerSts.19 = 外部覆盖锁定,
Out_OwnerSts.20 = 具有外部,
Out_OwnerSts.21 = 具有操作员,
Out_OwnerSts.22 = 具有程序,
Out_OwnerSts.30 = 未就绪。
Val_PV
REAL
过程变量值(工程单位)。(最小值和最大值之间的缩放范围)。
Val_RoC
REAL
过程变量变化率值(工程单位/变化率时间)。
Val_LowerSP
REAL
下降设定值的可接受值(工程单位)。
Val_RaiseSP
REAL
上升设定值的可接受值(工程单位)。
Val_PVEUMin
REAL
缩放范围的最小值,Cfg_PVEUMin 和 Cfg_PVEUMax 之间的最小值。
Val_PVEUMax
REAL
缩放范围的最大值,Cfg_PVEUMin 和 Cfg_PVEUMax 之间的最大值。
Val_Owner
DINT
当前对象宿主 ID,0 = 未拥有。
SrcQ_IO
DINT
主输入/输出的源和质量(枚举)。
SrcQ
DINT
主值/状态的源和质量(枚举)。
Sts_Initialized
BOOL
1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。
Sts_Raise
BOOL
1 = 过程变量低于上升设定值,Out_Raise = 1。
Sts_Lower
BOOL
1 = 过程变量高于下降设定值,Out_Lower = 1。
Sts_Auto
BOOL
1 = 电流回路模式为自动。
Sts_Man
BOOL
1 = 电流回路模式为手动。
Sts_Q
BOOL
1 = Out_Q = 1,Out_QNot = 0。
Sts_Available
BOOL
1 = 程序模式下可用于操作的回路。
Sts_NotRdy
BOOL
1 = 设备未就绪,请参阅明细位以查找原因。
Sts_NrdyCfgErr
BOOL
1 = 设备未就绪:配置错误。
Sts_NrdyOoS
BOOL
1 = 设备未就绪:维护禁用设备。
Sts_AlmInh
BOOL
1 = 报警被禁止、禁用或抑制(HMI 上的显示图标)。
Sts_Err
BOOL
1 = 配置出错:请参阅明细位 (Sts_ErrXXX) 以查找原因。
Sts_ErrEU
BOOL
1 = 配置出错:缩放工程单位 Cfg_PVEUMin = Cfg_PVEUMax。
Sts_ErrRateTime
BOOL
1 = 配置出错:过程变量变化率时基。
Sts_ErrAlm
BOOL
1 = 配置出错:报警时间或严重程度最小值。
Sts_OoS
BOOL
1 = 选择停用(取代维护、覆盖、外部、程序、操作符)。
Sts_Prog
BOOL
1 = 选择程序模式。
Sts_RdyReset
BOOL
1 = 锁定的报警或解除条件待重置。
Sts_RdyAck
BOOL
1 = 报警待确认。
Sts_HiDevCmp
BOOL
过程变量上限偏差比较结果 = 1。
Sts_HiDevGate
BOOL
过程变量上限偏差门延迟状态,1 = 完成。
Sts_HiDev
BOOL
1 = 模拟输入偏差高于上限。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。以此格式访问报警元素:PDBCTag.@Alarms.Alm_HiDev.AlarmElement.
Sts_LoDevCmp
BOOL
过程变量下限偏差比较结果 = 1。
Sts_LoDevGate
BOOL
过程变量下限偏差门延迟状态,1 = 完成。
Sts_LoDev
BOOL
1 = 模拟输入偏差低于下限。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。以此格式访问报警元素:PDBCTag.@Alarms.Alm_HiRoCIncr.AlarmElement.
Sts_HiRoCIncrCmp
BOOL
过程变量上限变化率(递增)比较结果 = 1。
Sts_HiRoCIncrGate
BOOL
过程变量上限变化率(递增)门延迟状态,1 = 完成。
Sts_HiRoCIncr
BOOL
1 = 模拟输入 PV 变化率(递增)高于上限。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。以此格式访问报警元素:PDBCTag.@Alarms.Alm_HiRocIncr.AlarmElement.
Sts_HiRoCDecrCmp
BOOL
过程变量上限变化率(递减)比较结果 = 1。
Sts_HiRoCDecrGate
BOOL
过程变量上限变化率(递减)门延迟状态,1 = 完成。
Sts_HiRoCDecr
BOOL
1 = 模拟输入 PV 变化率(递减)高于上限。存在一个基于离散 Logix 标签的预定义默认报警指示状态。设置基于离散 Logix 标签的报警的标准配置成员。以此格式访问报警元素:PDBCTag.@Alarms.Alm_HiRocDecr.AlarmElement.
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_eNotifyHiDev
SINT
上限偏差门报警状态枚举值:
0 = 未处于报警中,已确认,
1 = 未处于报警中,未确认或需要重置,
2 = 低严重性报警,已确认,
3 = 低严重性报警,未确认,
4 = 中等严重性报警,已确认,
5 = 中等严重性报警,未确认,
6 = 高严重性报警,已确认,
7 = 高严重性报警,未确认,
8 = 紧急严重性报警,已确认,
9 = 紧急严重性报警,未确认。
Sts_eNotifyHiRoCDecr
SINT
上限变化率(递减)报警状态枚举值:
0 = 未处于报警中,已确认,
1 = 未处于报警中,未确认或需要重置,
2 = 低严重性报警,已确认,
3 = 低严重性报警,未确认,
4 = 中等严重性报警,已确认,
5 = 中等严重性报警,未确认,
6 = 高严重性报警,已确认,
7 = 高严重性报警,未确认,
8 = 紧急严重性报警,已确认,
9 = 紧急严重性报警,未确认。
Sts_eNotifyHiRoCIncr
SINT
上限变化率(递增)报警状态枚举值:
0 = 未处于报警中,已确认,
1 = 未处于报警中,未确认或需要重置,
2 = 低严重性报警,已确认,
3 = 低严重性报警,未确认,
4 = 中等严重性报警,已确认,
5 = 中等严重性报警,未确认,
6 = 高严重性报警,已确认,
7 = 高严重性报警,未确认,
8 = 紧急严重性报警,已确认,
9 = 紧急严重性报警,未确认。
Sts_eNotifyLoDev
SINT
下限偏差报警状态枚举值:
0 = 未处于报警中,已确认,
1 = 未处于报警中,未确认或需要重置,
2 = 低严重性报警,已确认,
3 = 低严重性报警,未确认,
4 = 中等严重性报警,已确认,
5 = 中等严重性报警,未确认,
6 = 高严重性报警,已确认,
7 = 高严重性报警,未确认,
8 = 紧急严重性报警,已确认,
9 = 紧急严重性报警,未确认。
Sts_UnackAlmCount
DINT
未确认报警计数。
Sts_Alm
BOOL
1 = 报警处于活动状态。
Sts_ErrHiDevGateDly
BOOL
1 = 配置出错:Cfg_HiDevGateDly 值无效。
Sts_ErrLoDevGateDly
BOOL
1 = 配置出错:Cfg_LoDevGateDly 值无效。
Sts_ErrHiRoCIncrGateDly
BOOL
1 = 配置出错:Cfg_HiRoCIncrGateDly 值无效。
Sts_ErrHiRoCDecrGateDly
BOOL
1 = 配置出错:Cfg_HiRoCDecrGateDly 值无效。
Sts_Oper
BOOL
1 = 选择操作员模式。
Sts_Maint
BOOL
1 = 选择维护(取代覆盖、外部、程序、操作符)。
Sts_Ext
BOOL
1 = 选择外部(取代程序和操作员)。
Sts_Ovrd
BOOL
1 = 选择覆盖(取代外部、程序、操作员)。
Sts_eFault
INT
设备故障状态:
0 = 无,
1 = 下限偏差,
2 = 上限偏差,
3 = 上限变化率(递减),
4 = 上限变化率(递增),
5 = 输入源不良,
6 = 配置错误。
Sts_eSts
INT
设备状态:
0 = 死区,Q 关闭,
1 = 死区 Q 开启,
2 = 高于下限 SP,
3 = 低于下限 SP,
4-7 = 相同,手动,
8 = 停用
Sts_bSrc
INT
活动选项位图(针对带命令源请求选项的 HMI 图腾柱):
Sts_bSrc.0 = 手控,
Sts_bSrc.1 = 程序停用(梯级为假),Sts_bSrc.2 = 维护停用,
Sts_bSrc.3 = 维护,
Sts_bSrc.4 = 覆盖,
Sts_bSrc.5 = 外部,
Sts_bSrc.6 = 程序已锁定,
Sts_bSrc.7 = 程序,
Sts_bSrc.8 = 操作员已锁定,
Sts_bSrc.9 = 操作员。
Sts_eSrc
INT
当前命令源枚举值:
0 = 未使用逻辑,
4 = 手控,
8 = 维护,
16 = 覆盖,
32 = 程序,
33 = 程序已锁定,
34 = 程序默认值(正常),
64 = 操作员,
65 = 操作员已锁定,
66 = 操作员默认值(正常),
128 = 维护停用,
129 = 程序停用(梯级为假),
256 = 外部。
Sts_ExtReqInh
BOOL
1 = 禁用外部请求,无法从当前状态进入外部。
Sts_Hand
BOOL
1 = 选择手控(取代停用、维护、覆盖、外部、程序、操作符)。
Sts_MAcqRcvd
BOOL
1 = 维护获取命令接收到此扫描(只读)。
Sts_Normal
BOOL
1 = 选择等于正常(程序或操作员)。
Sts_OperLocked
BOOL
1 = 选择并锁定操作员。
Sts_ProgLocked
BOOL
1 = 选择并锁定程序。
Sts_ProgOperLock
BOOL
程序/操作员锁定状态,
1 = 锁定,
0 = 未锁定。
Sts_ProgOperSel
BOOL
程序/操作员选择(锁定)状态:
1 = 程序,
0 = 操作员。
Sts_ProgReqInh
BOOL
1 = 禁用程序请求,无法从当前状态进入程序。
XRdy_Acq
BOOL
1 = XCmd_Acq 就绪,启用 HMI 按钮。
XRdy_Rel
BOOL
1 = XCmd_Rel 就绪,启用 HMI 按钮(只读)。
XRdy_Reset
BOOL
1 = XCmd_Reset 就绪,启用 HMI 按钮。
Rdy_ResetAckAll
BOOL
1 = XCmd_ResetAckAll 就绪,启用 HMI 按钮。
XRdy_Auto
BOOL
1 = XCmd_Auto 就绪。
XRdy_Lower
BOOL
1 = XCmd_Lower 就绪。
XRdy_Man
BOOL
1 = XCmd_Man 就绪。
XRdy_None
BOOL
1 = XCmd_None 就绪。
XRdy_Raise
BOOL
1 = XCmd_Raise 就绪。
专用输入成员
Data Type
说明
HMI_BusObjIndex
DINT
HMI 总线对象索引
默认值为 0。
MCmd_Acq
BOOL
用于获取所有权(操作员/程序/外部/覆盖到维护)的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_IS
BOOL
用于选择“服务中”的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_OoS
BOOL
用于选择“停用”的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_Rel
BOOL
用于释放所有权(维护到操作员/程序/外部/覆盖)的维护命令。该指令自动清除该操作数。
默认值为假。
OCmd_Auto
BOOL
用于选择自动回路模式的操作员命令。
默认值为假。
OCmd_Lock
BOOL
用于锁定操作员的操作员命令(不允许程序)。该指令自动清除该操作数。
默认值为假。
OCmd_Lower
BOOL
用于将输出设置为下降(手动)的操作员命令。
默认值为假。
OCmd_Man
BOOL
用于选择手动回路模式的操作员命令。
默认值为假。
OCmd_None
BOOL
用于清除上升、下降输出(手动)的操作员命令。
默认值为假。
OCmd_Normal
BOOL
用于选择正常(操作员或程序)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Oper
BOOL
用于选择操作员(程序到操作员)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Prog
BOOL
用于选择程序(操作员到程序)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Raise
BOOL
用于将输出设置为上升(手动)的操作员命令。
默认值为假。
OCmd_Reset
BOOL
用于重置已去除锁定和已清除报警的操作员命令。
默认值为假。
OCmd_ResetAckAll
BOOL
用于重置已去除锁定和已清除报警、确认报警的操作员命令。
默认值为假。
OCmd_Unlock
BOOL
用于解锁或释放所有权并允许程序获取所有权的操作员命令。该指令自动清除该操作数。
默认值为假。
OSet_LowerSP
REAL
下降设定值的操作员设置(工程单位)。
默认值为 30.0。
OSet_RaiseSP
REAL
上升设定值的操作员设置(工程单位)。
默认值为 20.0。
专用输入成员
数据类型
说明
CmdSrc
P_COMMAND_SOURCE
控制/命令源选择
MCmd_Acq
BOOL
用于获取所有权(操作员/程序/外部/覆盖到维护)的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_IS
BOOL
用于选择“服务中”的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_OoS
BOOL
用于选择“停用”的维护命令。该指令自动清除该操作数。
默认值为假。
MCmd_Rel
BOOL
用于释放所有权(维护到操作员/程序/外部/覆盖)的维护命令。该指令自动清除该操作数。
默认值为假。
OCmd_Auto
BOOL
用于选择自动回路模式的操作员命令。
默认值为假。
OCmd_Lock
BOOL
用于锁定操作员的操作员命令(不允许程序)。该指令自动清除该操作数。
默认值为假。
OCmd_Lower
BOOL
用于将输出设置为下降(手动)的操作员命令。
默认值为假。
OCmd_Man
BOOL
用于选择手动回路模式的操作员命令。
默认值为假。
OCmd_None
BOOL
用于清除上升、下降输出(手动)的操作员命令。
默认值为假。
OCmd_Normal
BOOL
用于选择正常(操作员或程序)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Oper
BOOL
用于选择操作员(程序到操作员)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Prog
BOOL
用于选择程序(操作员到程序)的操作员命令。该指令自动清除该操作数。
默认值为假。
OCmd_Raise
BOOL
用于将输出设置为上升(手动)的操作员命令。
默认值为假。
OCmd_Reset
BOOL
用于重置已去除锁定和已清除报警的操作员命令。
默认值为假。
OCmd_ResetAckAll
BOOL
用于重置已去除锁定和已清除报警、确认报警的操作员命令。
默认值为假。
OCmd_Unlock
BOOL
用于解锁或释放所有权并允许程序获取所有权的操作员命令。该指令自动清除该操作数。
默认值为假。
OSet_LowerSP
REAL
下降设定值的操作员设置(工程单位)。
默认值为 30.0。
OSet_RaiseSP
REAL
上升设定值的操作员设置(工程单位)。
默认值为 20.0。
专用输出成员
数据类型
说明
HMI_BusObjIndex
DINT
HMI 总线对象索引。
MRdy_Acq
BOOL
1 = MCmd_Acq 就绪,启用 HMI 按钮。
MRdy_IS
BOOL
1 = MCmd_IS 就绪,启用 HMI 按钮。
MRdy_OoS
BOOL
1 = MCmd_OoS 就绪,启用 HMI 按钮。
MRdy_Rel
BOOL
1 = MCmd_Rel 就绪,启用 HMI 按钮。
ORdy_Auto
BOOL
1 = OCmd_Auto 就绪。
ORdy_Lock
BOOL
1 = OCmd_Lock 就绪,启用 HMI 按钮。
ORdy_Lower
BOOL
1 = OCmd_Lower 就绪。
ORdy_Man
BOOL
1 = OCmd_Man 就绪。
ORdy_None
BOOL
1 = OCmd_None 就绪。
ORdy_Normal
BOOL
1 = OCmd_Normal 就绪,启用 HMI 按钮。
ORdy_Oper
BOOL
1 = OCmd_Oper 就绪,启用 HMI 按钮。
ORdy_Prog
BOOL
1 = OCmd_Prog 就绪,启用 HMI 按钮。
ORdy_Raise
BOOL
1 = OCmd_Raise 就绪。
ORdy_Reset
BOOL
1 = OCmd_Reset 就绪(启用 HMI 按钮)。
ORdy_ResetAckAll
BOOL
1 = OCmd_ResetAckAll 就绪(启用 HMI 按钮)。
ORdy_SP
BOOL
1 = 设定值 OSets 就绪(启用数据输入字段)。
ORdy_Unlock
BOOL
1 = OCmd_Unlock 就绪,启用 HMI 按钮。
公共 InOut 成员
数据类型
说明
BusObj
BUS_OBJ
总线组件
BUS_OBJ 结构
成员
数据类型
说明
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
总线数组索引
操作
下图展示了 PDBC 指令的功能:
PDBC_operation
HMI 字符串配置
配置 HMI 面板(FT 视图)和
Logix Designer
配置对话框的字符串。字符串将设置为标签项的扩展属性。仅配置
Logix Designer
中的字符串。
  • 说明
  • 图形符号的标签
  • 用于 HMI 面板调用的显示库
  • 指令名称
  • 区域名称
  • URL 链接
  • 更多信息
  • 小数位数
  • 输出单位
  • 输入单位
  • 允许导航对象标签名称输出
  • 允许导航对象标签名称输入
实现
下图显示了在单独分支中将输入条件映射到 Inp_PV 的正常实现。该方法通过触发一个或两个离散输出来控制上限控制值和下限控制值之间的模拟过程变量 (PV),例如温度、液位或压力。
PDBC_implementation
监控 PDBC 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态
执行的操作
预扫描
梯级输出条件设置为假。
将 Sts_eSrc 设置为 0。将 Sts_bSrc 设置为 0。
指令首次运行
每次执行时自动清除的所有命令都将被清除并忽略。
Inp_OvrdCmd 设置为 0(无命令)。
根据配置 (Cfg_ProgPwrUp) 设置程序/操作员选择。
程序或操作员锁定选择设置为未锁定。
维护获取/释放状态不作修改,并且会通过控制器加电或程序 (PROG) 到运行 (RUN) 的转换继续保持不变。
PSet_Owner 和 Out_OwnerSts 设置为 0。
梯级输入条件为假
梯级输出条件设置为假。
如果 Inp_Hand=0,指令将停用。将输出设置为互锁 CV,清除所有报警条件。
重置锁定的报警。
命令源选择处理正常进行,但忽略和清除程序和操作员命令,并将所有权状态位(Sts_Maint、Sts_Ovrd、Sts_Ext、Sts_Prog 和 Sts_Oper)全部清零。当梯级输入条件变为真时,程序/操作员选择会根据配置 (Cfg_ProgPwrUp) 进行设置。
梯级输入条件为真
将梯级输出条件设置为梯级输入条件。
指令执行。
后扫描
梯级输出条件设置为假。
功能块图
条件/状态
执行的操作
预扫描
EnableOut 设置为假。
将 Sts_eSrc 设置为 0。将 Sts_bSrc 设置为 0。
指令首次运行
每次执行时自动清除的所有命令都将被清除和忽略。
Inp_OvrdCmd 设置为 0(无命令)。
根据配置 (Cfg_ProgPwrUp) 设置程序/操作员选择。
程序或操作员锁定选择设置为未锁定。
维护获取/释放状态不作修改,并且会通过控制器加电或程序 (PROG) 到运行 (RUN) 的转换继续保持不变。
PSet_Owner 和 Val_Owner 设置为 0。
指令首次扫描
请参阅“功能块图”表中的“指令首次运行”行。
EnableIn 为假
EnableOut 设置为假。
如果 Inp_Hand=0,指令将停用。将输出设置为互锁 CV,清除所有报警条件。
重置锁定的报警。
命令源选择处理正常进行,但忽略和清除程序和操作员命令,并将所有权状态位(Sts_Maint、Sts_Ovrd、Sts_Ext、Sts_Prog 和 Sts_Oper)全部清零。当梯级输入条件变为真时,程序/操作员选择会根据配置 (Cfg_ProgPwrUp) 进行设置。
EnableIn 为真
EnableOut 设置为真。
指令执行。
后扫描
EnableIn 和 EnableOut 位设置为假。
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态
执行的操作
预扫描
请参阅“功能块图”表中的“预扫描”行。
指令首次运行
请参阅“功能块图”表中的“指令首次运行”行。
EnableIn 为真
请参阅“功能块图”表中的“EnableIn 为真”行。
后扫描
请参阅“功能块图”表中的“后扫描”行。
示例
在本示例中,标签 TI1_P50 是 PDBC 指令监控的温度值。此标签提供模拟 PV 值的实际指示。
Inp_PV 连接到模拟值标签 (TI1_P50.Val),该标签来自 PAI 指令实例的值输出。
梯形图
PDBC_example_LD
功能块图
PDBC_example_FBD
结构化文本
PDBC01.Inp_PV := TI1_P50.Out;
PDBC(PDBC_01, 0);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal