过程给料 (PDOSE)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
过程给料 (Process Dosing, PDOSE) 指令用于控制成分添加过程,该过程使用流量计或称重仪表来测量所添加的成分量。流量计可以提供模拟流速、模拟量(总计)或带翻转的脉冲计数。如果使用脉冲发生流量计,则必须使用计数卡来确定脉冲计数(或频率)。该指令旨在与 1756-HSC(高速计数器)模块或 1756-CFM(可配置流量计)模块配合使用。称重仪可以放在接收容器上(测量增加的重量)或供给容器上(测量减少的重量)。可以使用模拟输入、设备网络或其他连接来连接称重仪。
PDOSE 指令用于:
- 提供速率(流速或单位时间的流量)和数量(总计或脉冲计数)的输入。
- 使用脉冲计数作为数量过程变量 (PV),并具有可配置的翻转计数。重要提示: 脉冲计数卡必须与脉冲发生流量计一起使用。
- 当流量计提供速率信号但未提供数量时,对流速率 PV 进行累加以确定传送量。
- 当流量计提供总计数或脉冲计数但不提供速率时,通过数量与时间的微分计算流速率。如果速率 PV 是根据输入量计算的,则 PDOSE 指令将对计算出的速率 PV 信号使用一阶滞后滤波器,以降低由抖动、扫描时间、量化误差或输入信号噪声所带来的影响。
- 提供低速率截止功能,用于忽略接近于零的流速率值,以处理速率信号中的噪声或零校准误差。
- 使用带内置累加器的流量计。将累加器清零命令转发到流量计,检查流量计的总和是否已重置。
- 提供用于控制相关设备(如泵和阀)的输出,以启动和停止流。
- 监控受控设备(如泵和阀)的状态。
- 监控速率或数量输入通信状态,提供速率 PV 或数量 PV 不确定或不良状况的指示。
- 让程序或操作员输入要传送的数量(设定值),计算在传送期间要传送的剩余数量和完成百分比。
- 让程序或操作员输入容限上限和下限。允许程序或操作员在传送完成后启动容限检查。如果低于容限,则提供警告,并允许操作员增加流量以弥补不足。可以将干扰设置为定时干扰或操作员点动(速度控制)之类的功能。如果超出容限则提供报警并禁止进一步流动。
- 当传送的数量接近设定值时,自动切换为较低的滴落流速率。让操作员或程序输入滴落数量。为受控设备提供运行、滴落和停止输出。
- 使用预设值停止流量,以处理管道中的物料、设备停止时间以及测量、扫描、通信等方面的延迟。让操作员或程序输入预设值。选中容限时,可根据传送误差提供可选的自动预设值校正。通过自动校正,预设操作将了解随时间变化的正确值。
- 标准命令源 (PCMDSRC) 指令用于为输入设置和接受命令提供所有权。
- 提供从原始输入卡单位到工程显示单位的输入重量值的线性缩放。
- 提供重量变化率计算(与时间的微分)以生成推断的流速率。计算出的速率进行滤波且具有下限截断值,因此当重量变化仅来自输入重量信号的噪声时,速率将报告为零。
- 提供用于控制相关设备(如泵和阀)的输出,以启动和停止流。操作员或程序可以启动成分添加过程,然后根据需要暂停和继续该过程。
- 监控受控设备(如泵和阀)的状态。当出现设备故障或设备无法按命令响应时,流停止并引发报警。
- 监控重量 PV 输入质量和通信状态,提供 PV 不确定或不良状况的指示。当 PV 不良或通信丢失时,流停止并引发报警。
- 提供连续监控功能,该功能允许在没有 SP 要求的情况下进行连续监控。
可用语言
梯形图

功能块图

结构化文本
PDOSE (PDOSE tag, Inp_QtyPV, Inp_RatePV, BusObj);
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx Control | P_DOSING | 标签 | 指令正确运行所需的数据结构。 |
Inp_QtyPV | REAL | 标签 | 称重仪或流量计显示的数量(工程单位 (EU) 或脉冲计数)。 |
Inp_RatePV | REAL | 标签 | 流量计显示的流量(工程单位 (EU)/时间,请参阅 Cfg_RateTime)。 |
BusObj | BUS_OBJ | 标签 | 总线组件。 |
P_DOSING 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableIn | BOOL | 不可见 | 不需要 | 输入 | 启用输入 - 系统定义的参数 默认值为真。 |
Inp_InitializeReq | BOOL | 不可见 | 不需要 | 输入 | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。 默认值为真。 |
Inp_OwnerCmd | DINT | 不可见 | 不需要 | 输入 | 宿主设备命令。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_RatePVBad | BOOL | 不可见 | 不需要 | 输入 | 1 = 速率 PV 输入质量 = 不良(失败)。 默认值为假。 |
Inp_RatePVUncertain | BOOL | 不可见 | 不需要 | 输入 | 1 = 速率 PV 输入质量 = 不确定。 默认值为假。 |
Inp_QtyPVBad | BOOL | 不可见 | 不需要 | 输入 | 1 = 数量 PV 输入质量 = 不良(失败)。 默认值为假。 |
Inp_QtyPVUncertain | BOOL | 不可见 | 不需要 | 输入 | 1 = 数量 PV 输入质量 = 不确定。 默认值为假。 |
Inp_RunFdbk | BOOL | 可见 | 不需要 | 输入 | 1 = 受控设备正在传送(正在运行)。 默认值为假。 |
Inp_DribbleFdbk | BOOL | 不可见 | 不需要 | 输入 | 1 = 受控设备正在以滴落方式传送。 默认值为假。 |
Inp_StopFdbk | BOOL | 可见 | 不需要 | 输入 | 1 = 受控设备经确认已停止。 默认值为假。 |
Inp_CtrldEqpFault | BOOL | 不可见 | 不需要 | 输入 | 受控设备对象或输入/输出 (I/O) 状态 0 = 正常,1 = 失败。 默认值为假。 |
Inp_Reset | BOOL | 不可见 | 不需要 | 输入 | 1 = 重置已去除锁定和已清除报警。 默认值为假。 |
Inp_eRatePVSrcQ | SINT | 不可见 | 不需要 | 输入 | 流量信号源和质量(枚举): 0 = 良好,畅通,确认良好;1 = 良好,畅通,假定良好; 2 = 良好,无反馈,假定良好;8 = 测试,虚拟化; 9 = 测试,回路, 10 = 测试,手动输入;16 = 不确定,畅通,不合格;17 = 不确定,在设备或总线端替换; 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值;20 = 不确定,使用替代值;32 = 不良,信号故障; 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效。 默认值为 0。 |
Inp_eRatePVNotify | 速率 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 | ||||
Inp_eQtyPVSrcQ | SINT | 不可见 | 不需要 | 输入 | 数量信号源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效。 默认值为 0。 |
Inp_eQtyPVNotify | SINT | 不可见 | 不需要 | 输入 | 数量 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_Hand | BOOL | 不可见 | 不需要 | 输入 | 1 = 获取手控(通常为本地硬接线),0 = 释放手控。 默认值为假。 |
Inp_Ovrd | BOOL | 不可见 | 不需要 | 输入 | 1 = 获取覆盖(较高优先级程序逻辑),0 = 释放覆盖。 默认值为假。 |
Inp_ExtInh | BOOL | 不可见 | 不需要 | 输入 | 1 = 禁止外部获取,0 = 允许外部获取。 默认值为假。 |
Cfg_AllowDisable | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许禁用操作员报警,0 = 不允许禁用操作员报警。 默认值为假。 |
Cfg_AllowShelve | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许操作员报警延迟,0 = 不允许操作员报警延迟。 默认值为假。 |
Cfg_HasEqpFdbk | BOOL | 不可见 | 不需要 | 输入 | 1 = 受控设备提供运行(滴落方式)和停止反馈。 默认值为假。 |
Cfg_UseEqpFdbk | BOOL | 不可见 | 不需要 | 输入 | 1 = 使用运行/滴落/停止反馈,0 = 假定设备状态。 默认值为假。 |
Cfg_HasDribble | BOOL | 不可见 | 不需要 | 输入 | 1 = 在完成之前缓慢滴落,0 = 以全流量运行直到完成。 默认值为假。 |
Cfg_HasRatePVNav | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 将模拟对象(pai 等)用于 Inp_RatePV。 默认值为假。 |
Cfg_HasMonitoring | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许连续监控而无设定值要求。 默认值为假。 |
Cfg_HasMoreObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 有包含较多信息的对象可用。 默认值为假。 |
Cfg_HasQtyPVNav | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 将模拟对象(pai 等)用于 Inp_QtyPV。 默认值为假。 |
Cfg_AutoAdjPreact | BOOL | 不可见 | 不需要 | 输入 | 1 = 每次传送后自动调整预设值。 默认值为假。 |
Cfg_LossInQty | BOOL | 不可见 | 不需要 | 输入 | 1 = 流减少数量(转出),0 = 流增加数量(转入)。 默认值为假。 |
Cfg_SetTrack | BOOL | 不可见 | 不需要 | 输入 | 1 = 当宿主为程序时,操作员设置跟踪程序设置。当宿主为“操作员”时,程序设置会跟踪操作员设置,虚拟输入与输出值匹配(转换无干扰),0 = 不跟踪。 默认值为真。 |
Cfg_ShedOnEqpFault | BOOL | 不可见 | 不需要 | 输入 | 1 = 发生设备故障时停止传送并发出报警;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_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 用作级别。 默认值为假。 |
Cfg_PCmdLockAsLevel | BOOL | 不可见 | 不需要 | 输入 | 1 = PCmd_Lock 用作级别(1 = 锁定,0 = 解锁)。 默认值为假。 |
Cfg_ExtAcqAsLevel | BOOL | 不可见 | 不需要 | 输入 | 1 = XCmd_Acq 用作级别(1 = 获取,0 = 释放)。 默认值为假。 |
Cfg_AutoAdjPercent | REAL | 不可见 | 不需要 | 输入 | 传送错误百分比设置为自动调整预设值。有效值 = 0.0 到 100.0 (%) 默认值为 10.0。 |
Cfg_CountsPerEU | REAL | 不可见 | 不需要 | 输入 | Inp_QtyPV 中的计数数量,等于 1.0 工程单位。有效值 = 0.0 到最大正浮点数。 默认值为 1.0。 |
Cfg_EUQtyMult | REAL | 不可见 | 不需要 | 输入 | 速率与数量工程单位乘数(例如,加仑-桶)。有效值 = 0.0 到最大正浮点数。 默认值为 1.0。 |
Cfg_BumpTime | REAL | 不可见 | 不需要 | 输入 | 干扰(手动加满)时间。有效值 = 0.0 到 2147483.0 秒。 默认值为 0.0。 |
Cfg_ClearPulseTime | REAL | 不可见 | 不需要 | 输入 | 通过脉冲 Out_ClearTot 清除外部累加器的时间。有效值 = 0.0 到 2147483.0 秒。 默认值为 1.0。 |
Cfg_FaultTime | REAL | 不可见 | 不需要 | 输入 | 发生故障前,设备反馈遵循输出的时间。有效值 = 0.0 到 2147483.0 秒。 默认值为 10.0。 |
Cfg_HiFlowRateLim | REAL | 不可见 | 不需要 | 输入 | 流速报警上限。有效值 = 0.0 到最大正浮点数。 默认值为 3.40E+38。 |
Cfg_LoFlowRateLim | REAL | 不可见 | 不需要 | 输入 | 流速报警下限。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
Cfg_LoRateCutoff | REAL | 不可见 | 不需要 | 输入 | 低于此速率报告零流量(以工程单位/时间表示的 Inp_RatePV,请参阅 Cfg_RateTime)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
Cfg_MaxQty | REAL | 不可见 | 不需要 | 输入 | 最大允许传送量(设定值)。有效值 = 0.0 到最大正浮点数。 默认值为 1.50E+38。 |
Cfg_RateFiltTimeConst | REAL | 不可见 | 不需要 | 输入 | 用于计算速率的滤波器时间常数(秒)。有效值 = 0.0 到 2147483.0 秒。 默认值为 0.1。 |
Cfg_RateTime | REAL | 不可见 | 不需要 | 输入 | 变化率时基(秒),使用 1.0 表示单位/秒,60.0 表示单位/分钟,3600.0 表示单位/小时,86400.0 表示单位/天。有效值 = 任何大于零的浮点数。 默认值为 1.0 |
Cfg_Rollover | REAL | 不可见 | 不需要 | 输入 | 数量翻转(例如,脉冲输入的最大计数)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
Cfg_SettleTime | REAL | 不可见 | 不需要 | 输入 | 容限检查前允许流量停止的时间。有效值 = 0.0 到 2147483.0 秒。 默认值为 1.0。 |
Cfg_VirtualRate | REAL | 不可见 | 不需要 | 输入 | 虚拟运行时的传送速率(工程单位/速率时间)。有效值 = 0.0 到最大正浮点数。 默认值为 1.0。 |
Cfg_VirtualDribbleRate | REAL | 不可见 | 不需要 | 输入 | 虚拟运行时的滴落速率(工程单位/速率时间)。有效值 = 0.0 到最大正浮点数。 默认值为 0.1。 |
Cfg_eKeepSP | SINT | 不可见 | 不需要 | 输入 | 设定值的所有权(枚举):0 = 遵循 CmdSrc,1 = 操作员,2 = 程序,3 = 外部。 默认值为 0。 |
Cfg_eKeepStart | SINT | 不可见 | 不需要 | 输入 | 启动命令的所有权(枚举):0 = 遵循 CmdSrc,1 = 操作员,2 = 程序,3 = 外部。 默认值为 0。 |
Cfg_eKeepTol | SINT | 不可见 | 不需要 | 输入 | 容限命令的所有权(枚举):0 = 遵循 CmdSrc,1 = 操作员,3 = 外部。 默认值为 0。 |
Cfg_eKeepDribblePreact | SINT | 不可见 | 不需要 | 输入 | 滴落\预设值的所有权(枚举):0 = 遵循 CmdSrc,1 = 操作员,2 = 程序,3 = 外部。 默认值为 0。 |
Cfg_HasHistTrend | SINT | 不可见 | 不需要 | 输入 | 有历史趋势。可以从 HMI 导航到设备历史趋势面板。值 0 = 无外部历史趋势,1 = 目录历史趋势,2 = Historian 历史趋势。 默认值为 0。 |
Cfg_QtyDecPlcs | SINT | 不可见 | 不需要 | 输入 | 数量显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_RateDecPlcs | SINT | 不可见 | 不需要 | 输入 | 速率显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_CnfrmReqd | SINT | 不可见 | 不需要 | 输入 | 需要操作员确认命令。表示需要命令确认的类型。 0 = 无, 1 = 需要命令确认, 2 = 需要执行者电子签名, 3 = 需要执行者和审批者电子签名。 默认值为 0。 |
PCmd_Bump | BOOL | 不可见 | 不需要 | 输入 | 用于干扰低于容限的传送的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_ClearTot | BOOL | 不可见 | 不需要 | 输入 | 用于清除累加器数量的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_StartTot | BOOL | 不可见 | 不需要 | 输入 | 用于启动累加器的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_StopTot | BOOL | 不可见 | 不需要 | 输入 | 用于停止累加器的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_StartFlow | BOOL | 不可见 | 不需要 | 输入 | 用于启动传送的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_StopFlow | BOOL | 不可见 | 不需要 | 输入 | 用于停止/暂停传送的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_CheckTol | BOOL | 不可见 | 不需要 | 输入 | 用于检查容限的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Lock | BOOL | 不可见 | 不需要 | 输入 | 用于锁定程序的程序命令(不允许操作员)。如果 Cfg_PCmdLockAsLevel = 0,则指令会自动清除此操作数。 默认值为假。 |
PCmd_Normal | BOOL | 不可见 | 不需要 | 输入 | 用于选择正常命令源的程序命令(操作员或程序)。该指令自动清除该操作数。 默认值为假。 |
PCmd_Oper | BOOL | 不可见 | 不需要 | 输入 | 用于选择操作员的程序命令(程序到操作员)。该指令自动清除该操作数。 默认值为假。 |
PCmd_Prog | BOOL | 不可见 | 不需要 | 输入 | 用于选择程序的程序命令(操作员到程序)。该指令自动清除该操作数。 默认值为假。 |
PCmd_Unlock | BOOL | 不可见 | 不需要 | 输入 | 用于解锁程序的程序命令(允许操作员获取)。该指令自动清除该操作数。 默认值为假。 |
PCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于重置需要重置的所有报警的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Virtual | BOOL | 不可见 | 不需要 | 输入 | 用于选择虚拟(虚拟化)操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
PCmd_Physical | BOOL | 不可见 | 不需要 | 输入 | 用于选择物理(非虚拟化)操作的程序命令。该指令自动清除该操作数。 默认值为假。 |
PSet_Owner | DINT | 不可见 | 不需要 | 输入 | 程序宿主请求 ID(非零)或释放(零)。 默认值为 0。 |
PSet_DribbleQty | REAL | 不可见 | 不需要 | 输入 | 滴落数量程序设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
PSet_Preact | REAL | 不可见 | 不需要 | 输入 | 停止流前对应总量的程序设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
PSet_SP | REAL | 不可见 | 不需要 | 输入 | 传送总量的程序设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
PSet_TolHi | REAL | 不可见 | 不需要 | 输入 | 容限上限的程序设置(正常量 > SP)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
PSet_TolLo | REAL | 不可见 | 不需要 | 输入 | 容限下限的程序设置(正常量 < SP)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
XCmd_Bump | BOOL | 不可见 | 不需要 | 输入 | 用于干扰低于容限的传送的外部命令。指令自动清除此操作数。 默认值为假。 |
XCmd_ClearTot | BOOL | 不可见 | 不需要 | 输入 | 用于清除累加器数量的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_StartTot | BOOL | 不可见 | 不需要 | 输入 | 用于启动累加器的外部命令。此指令自动清除该操作数。 默认值为假。 |
XCmd_StopTot | BOOL | 不可见 | 不需要 | 输入 | 用于停止累加器的外部命令。此指令自动清除该操作数。 默认值为假。 |
XCmd_StartFlow | BOOL | 不可见 | 不需要 | 输入 | 用于启动传送的外部命令。此指令自动清除该操作数。 默认值为假。 |
XCmd_StopFlow | BOOL | 不可见 | 不需要 | 输入 | 用于停止/暂停传送的外部命令。此指令自动清除该操作数。 默认值为假。 |
XCmd_CheckTol | BOOL | 不可见 | 不需要 | 输入 | 用于检查容限的外部命令。此指令自动清除该操作数。 默认值为假。 |
XCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于清除已去除锁定和已清除报警的外部命令。 默认值为假。 |
XCmd_Acq | BOOL | 不可见 | 不需要 | 输入 | 用于获取所有权的外部命令(操作员/程序/覆盖/维护到外部)。如果 Cfg_ExtAcqAsLevel = 0,则指令会自动清除此操作数。 默认值为假。 |
XCmd_Rel | BOOL | 不可见 | 不需要 | 输入 | Cfg_ExtAcqAsLevel = 0 时用于释放所有权的外部命令(外部到操作员/程序/覆盖/维护)。该指令自动清除该操作数。 默认值为假。 |
XCmd_ResetAckAll | BOOL | 不可见 | 不需要 | 输入 | 用于确认和重置所有报警和锁定去除条件的外部命令。该指令自动清除该操作数。 默认值为假。 |
XSet_DribbleQty | REAL | 不可见 | 不需要 | 输入 | 滴落数量外部设置(工程单位)。 默认值为 0.0。 |
XSet_Preact | REAL | 不可见 | 不需要 | 输入 | 停止流前对应总量的外部设置(工程单位)。 默认值为 0.0。 |
XSet_SP | REAL | 不可见 | 不需要 | 输入 | 传送总量的外部设置(工程单位)。 默认值为 0.0。 |
XSet_TolHi | REAL | 不可见 | 不需要 | 输入 | 高容限限制的外部设置(正常量 > SP)。 默认值为 0.0。 |
XSet_TolLo | REAL | 不可见 | 不需要 | 输入 | 外部设置容限下限(正常量 < SP)。 默认值为 0.0。 |
公共输出成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableOut | BOOL | 不可见 | 不需要 | 输出 | 启用输出 - 系统定义的参数 |
Out_ClearTot | BOOL | 可见 | 不需要 | 输出 | 1 = 重置外部累加器(例如,板载流量计)。 |
Out_RunTot | BOOL | 可见 | 不需要 | 输出 | 1 = 运行外部累加器(例如,板载流量计)。 |
Out_RunFlow | BOOL | 可见 | 不需要 | 输出 | 1 = 以全流量(快速)传送。 |
Out_StopFlow | BOOL | 可见 | 不需要 | 输出 | 1 = 停止传送设备。 |
Out_DribbleFlow | BOOL | 可见 | 不需要 | 输出 | 1 = 以滴落(缓慢)流量传送。 |
Out_Reset | BOOL | 不可见 | 不需要 | 输出 | 1 = 已收到并接受重置命令。 |
Out_OwnerSts | DINT | 不可见 | 不需要 | 输出 | 命令源状态、宿主命令握手和就绪状态。 0 = 无, .10 = 操作员锁定, .11 = 操作员解锁, .12 = 程序锁定, .13 = 程序解锁, .14 = 获取维护, .15 = 释放维护, .16 = 获取外部, .17 = 释放外部, .18 = 具有维护, .19 = 外部覆盖锁定, .20 = 具有外部, .21 = 具有操作员, .22 = 具有程序, .30 = 未就绪。 |
Sts_Initialized | BOOL | 不可见 | 不需要 | 输出 | 1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。 |
Sts_CalcQty | BOOL | 不可见 | 不需要 | 输出 | 1 = 计算 Inp_RatePV 的积分以获取数量,0 = 使用 Inp_QtyPV。 |
Sts_CalcRate | BOOL | 不可见 | 不需要 | 输出 | 1 = 计算 Inp_QtyPV 的微分以获取速率,0 = 使用 Inp_RatePV。 |
Sts_Cleared | BOOL | 可见 | 不需要 | 输出 | 1 = 累加器清除已完成。 |
Sts_TotRunning | BOOL | 可见 | 不需要 | 输出 | 1 = 累加器运行,0 = 累加器停止。 |
Sts_FlowStarting | BOOL | 不可见 | 不需要 | 输出 | 1 = 流正在启动(Out_Run 开启,反馈未显示运行)。 |
Sts_FlowRunning | BOOL | 可见 | 不需要 | 输出 | 1 = 流正在运行(Out_Run 开启,反馈显示正在运行)。 |
Sts_FlowStopping | BOOL | 不可见 | 不需要 | 输出 | 1 = 流正在停止(Out_Stop 开启,反馈未显示已停止)。 |
Sts_FlowStopped | BOOL | 可见 | 不需要 | 输出 | 1 = 流已停止(Out_Stop 开启,反馈显示已停止)。 |
Sts_DribbleStarting | BOOL | 不可见 | 不需要 | 输出 | 1 = 开始滴落(Out_Dribble 开启,反馈未显示滴落)。 |
Sts_FlowDribble | BOOL | 可见 | 不需要 | 输出 | 1 = 流正在滴落(Out_Dribble 开启,反馈显示滴落)。 |
Sts_Bumping | BOOL | 不可见 | 不需要 | 输出 | 1 = 干扰流处于活动状态。 |
Sts_InTol | BOOL | 不可见 | 不需要 | 输出 | 1 = 总传送量在容限范围内。 |
Sts_Complete | BOOL | 可见 | 不需要 | 输出 | 1 = 总传送量 >(设定值 - 预设值)。 |
Sts_Virtual | BOOL | 不可见 | 不需要 | 输出 | 1 = 该指令继续生成用于控制设备的输出,但会忽略流量数量和流速输入,并使用模拟流速。0 = 指令正常运行。 |
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_eCmd | SINT | 不可见 | 不需要 | 输出 | 给料命令 0 = 无, 1 = 清除累加器, 2 = 启动累加器, 3 = 启动流, 4 = 开始滴落, 5 = 干扰, 6 = 停止流, 7 = 停止累加器。 |
Sts_eFdbk | SINT | 不可见 | 不需要 | 输出 | 设备反馈 0 = 无/转换, 1 = 流已停止, 2 = 流正在运行, 3 = 流正在滴落, 4 = 已虚拟化。 |
Sts_eFault | SINT | 不可见 | 不需要 | 输出 | 对象故障状态 0 = 无,1 = 错误:配置不良,15 = 设备故障。 |
Sts_eNotifyAll | SINT | 不可见 | 不需要 | 输出 | 所有报警状态枚举值(包括相关对象): 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotify | 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_eNotifyHiFlowRate | SINT | 不可见 | 不需要 | 输出 | 流速上限报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyLoFlowRate | SINT | 不可见 | 不需要 | 输出 | 流速下限报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyOverTol | SINT | 不可见 | 不需要 | 输出 | 超出容限报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyUnderTol | SINT | 不可见 | 不需要 | 输出 | 低于容限报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyZeroFault | SINT | 不可见 | 不需要 | 输出 | 零故障报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eSrc | INT | 不可见 | 不需要 | 输出 | 当前命令源枚举值: 0 = 未使用逻辑, 4 = 手控, 8 = 维护, 16 = 覆盖, 32 = 程序, 33 = 程序已锁定, 34 = 程序默认值(正常), 64 = 操作员, 65 = 操作员已锁定, 66 = 操作员默认值(正常), 128 = 维护停用, 129 = 程序停用(梯级为假), 256 = 外部。 |
Sts_eSts | SINT | 不可见 | 不需要 | 输出 | 给料状态: 0 = 加电/复位/未知, 1 = 已停止, 2 = 累加器运行, 3 = 流运行, 4 = 滴落运行, 5 = 撞击流, 6 = 流开始, 7 = 滴落开始, 8 = 流停止, 15 = 停用。 |
Sts_UnackAlmCount | SINT | 不可见 | 不需要 | 输出 | 未确认报警计数。 |
Sts_Available | BOOL | 不可见 | 不需要 | 输出 | 1 = 给料可用于自动化控制(程序)。 |
Sts_MaintByp | BOOL | 不可见 | 不需要 | 输出 | 1 = 维护绕过处于活动状态(显示图标)。 |
Sts_NotRdy | BOOL | 不可见 | 不需要 | 输出 | 1 = 对象未就绪,请参阅明细位以查找原因。 |
Sts_NrdyCfgErr | BOOL | 不可见 | 不需要 | 输出 | 1 = 对象未就绪:配置错误。 |
Sts_NrdyEqpFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 对象未就绪:外部设备故障(故障或去除需要重置)。 |
Sts_NrdyOoS | BOOL | 不可见 | 不需要 | 输出 | 1 = 对象未就绪:停用。 |
Sts_NrdyPVBad | BOOL | 不可见 | 不需要 | 输出 | 1 = 对象未就绪:PV 质量不良或通信故障。 |
Sts_Err | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:请参阅明细位 (Sts_Errxxx) 以查找原因。 |
Sts_ErrAlm | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置错误:报警时间、延迟时间、严重性最小值。 |
Sts_ErrBumpTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_BumpTime 无效。 |
Sts_ErrClearPulseTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_ClearPulseTime 无效。 |
Sts_ErrCountsPerEU | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_CountsPerEU 无效。 |
Sts_ErrCutoff | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_Cutoff 无效。 |
Sts_ErrEUQtyMult | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_EUQtyMult 无效。 |
Sts_ErrFaultTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_FaultTime 无效。 |
Sts_ErrRateTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_RateTime 无效。 |
Sts_ErrLim | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_MaxQty 无效。 |
Sts_ErrRollover | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_Rollover 无效。 |
Sts_ErrRateFiltTimeConst | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_RateFiltTimeConst 无效。 |
Sts_ErrSettleTime | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_SettleTime 无效。 |
Sts_ErrVirtual | BOOL | 不可见 | 不需要 | 输出 | 1 = 错误:Cfg_VirtualDribbleRate 或 Cfg_VirtualRate 无效。 |
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_Alm | BOOL | 可见 | 不需要 | 输出 | 1 = 报警处于活动状态。 |
Sts_AlmInh | BOOL | 不可见 | 不需要 | 输出 | 1 = 一个或多个报警被延迟、禁用或抑制。 |
Sts_EqpFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 检测到设备故障。 |
Sts_HiFlowRate | BOOL | 不可见 | 不需要 | 输出 | 1 = 流速率报警上限。 |
Sts_LoFlowRate | BOOL | 不可见 | 不需要 | 输出 | 1 = 流速率报警下限。 |
Sts_LoRateCutoff | BOOL | 不可见 | 不需要 | 输出 | 1 = 速率 PV 低于速率下限,流量假定为零。 |
Sts_OverTol | BOOL | 不可见 | 不需要 | 输出 | 1 = 传送超出容限范围上限。 |
Sts_UnderTol | BOOL | 不可见 | 不需要 | 输出 | 1 = 传送超出容限范围下限。 |
Sts_ZeroFault | BOOL | 不可见 | 不需要 | 输出 | 1 = 累加器未清除或流量异常。 |
Sts_QtyBad | BOOL | 不可见 | 不需要 | 输出 | 1 = 数量值不良(PV 失败)。 |
Sts_QtyUncertain | BOOL | 不可见 | 不需要 | 输出 | 1 = 数量值为不确定。 |
Sts_RateBad | BOOL | 不可见 | 不需要 | 输出 | 1 = 速率值不良(PV 失败)。 |
Sts_RateUncertain | BOOL | 不可见 | 不需要 | 输出 | 1 = 速率值为不确定。 |
Sts_RdyAck | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警待确认。 |
Sts_RdyReset | BOOL | 不可见 | 不需要 | 输出 | 1 = 锁定的报警或解除条件待重置。 |
Val_SP | REAL | 可见 | 不需要 | 输出 | 传送的数量(设定值)(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_Remain | REAL | 可见 | 不需要 | 输出 | 达到设定值前还需要传送的数量(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_PercentComplete | REAL | 可见 | 不需要 | 输出 | 完成百分比(HMI 上的进度条),有效值 = 0.0 到 100.0。 |
Val_QtyPV | REAL | 不可见 | 不需要 | 输出 | 称重仪或流量计显示的数量(工程单位或脉冲计数)。有效值 = 0.0 到最大正浮点数。 |
Val_Qty | REAL | 可见 | 不需要 | 输出 | 实际传送的数量(累加器输出)(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_RatePV | REAL | 不可见 | 不需要 | 输出 | 流量计显示的流速率(工程单位/时间,请参阅 Cfg_RateTime)。有效值 = 0.0 到最大正浮点数。 |
Val_Rate | REAL | 可见 | 不需要 | 输出 | 当前传送速率(工程单位/时间)(请参阅 Cfg_RateTime)。有效值 = 0.0 到最大正浮点数。 |
Val_DribbleQty | REAL | 可见 | 不需要 | 输出 | 以慢速传送的数量(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_Preact | REAL | 可见 | 不需要 | 输出 | 低于流停止设定值的流量(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_TolHi | REAL | 可见 | 不需要 | 输出 | 允许量 > 设定值(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_TolLo | REAL | 可见 | 不需要 | 输出 | 允许量 < 设定值(工程单位)。有效值 = 0.0 到最大正浮点数。 |
Val_Owner | DINT | 不可见 | 不需要 | 输出 | 当前对象宿主 ID(0 = 未拥有)。 |
SrcQ | SINT | 不可见 | 不需要 | 输出 | 主值或状态的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
SrcQ_IO | SINT | 不可见 | 不需要 | 输出 | 主输入或输出的源和质量(枚举): 0 = 良好,畅通,确认良好 1 = 良好,畅通,假定良好, 2 = 良好,无反馈,假定良好, 8 = 测试,虚拟化, 9 = 测试,回路, 10 = 测试,手动输入, 16 = 不确定,畅通,不合格, 17 = 不确定,在设备或总线端替代, 18 = 不确定,在指令端替代, 19 = 不确定,使用最后一个已知良好值, 20 = 不确定,使用替代值, 32 = 不良,信号故障, 33 = 不良,通道故障, 34 = 不良,模块或通信故障, 35 = 不良,配置无效 |
XRdy_Acq | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Acq 就绪,启用 HMI 按钮。 |
XRdy_Rel | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Rel 就绪,启用 HMI 按钮。 |
XRdy_Reset | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Reset 就绪,启用 HMI 按钮。 |
XRdy_ResetAckAll | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_ResetAckAll 就绪,启用 HMI 按钮。 |
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
CmdSrc | P_COMMAND_SOURCE | 控制/命令源选择。 |
MCmd_Acq | BOOL | 用于获取所有权(操作员/程序/外部/覆盖到维护)的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_IS | BOOL | 用于选择“服务中”的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_OoS | BOOL | 用于选择“停用”的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Physical | BOOL | 用于选择物理操作(非虚拟化)的维护命令。 默认值为假。 |
MCmd_Rel | BOOL | 用于释放所有权(维护到操作员/程序/外部/覆盖)的维护命令。该指令自动清除该操作数。 默认值为假。 |
MCmd_Virtual | BOOL | 用于选择虚拟(虚拟化)操作的维护命令。 默认值为假。 |
OCmd_Bump | BOOL | 用于干扰低于容限的传送的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_CheckTol | BOOL | 用于检查容限的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_ClearTot | BOOL | 用于清除累加器数量的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Lock | BOOL | 用于锁定操作员的操作员命令(不允许程序)。该指令自动清除该操作数。 默认值为假。 |
OCmd_Normal | BOOL | 用于选择正常(操作员或程序)的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Oper | BOOL | 用于选择操作员(程序到操作员)的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Prog | BOOL | 用于选择程序(操作员到程序)的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Reset | BOOL | 用于重置需要重置的所有报警的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_ResetAckAll | BOOL | 用于重置所有报警和锁定去除条件的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_StartFlow | BOOL | 用于启动传送的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_StartTot | BOOL | 用于启动累加器的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_StopFlow | BOOL | 用于停止/暂停传送的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_StopTot | BOOL | 用于停止累加器的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OCmd_Unlock | BOOL | 用于解锁/释放(允许程序获取)所有权的操作员命令。该指令自动清除该操作数。 默认值为假。 |
OSet_DribbleQty | REAL | 滴落数量的操作员设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
OSet_Preact | REAL | 停止流前对应总量的操作员设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
OSet_SP | REAL | 传送总量的操作员设置(工程单位)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
OSet_TolHi | REAL | 容限上限的操作员设置(正常量 > SP)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
OSet_TolLo | REAL | 容限下限的操作员设置(正常量 > SP)。有效值 = 0.0 到最大正浮点数。 默认值为 0.0。 |
专用输出成员 | 数据类型 | 说明 |
|---|---|---|
HMI_BusObjIndex | DINT | HMI 总线对象索引 默认值为 0。 |
MRdy_Acq | BOOL | 1 = MCmd_Acq 就绪,启用 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_Bump | BOOL | 1 = OCmd_Bump 就绪(启用 HMI 按钮)。 |
ORdy_CheckTol | BOOL | 1 = OCmd_CheckTol 就绪(启用 HMI 按钮)。 |
ORdy_ClearTot | BOOL | 1 = OCmd_ClearTot 就绪(启用 HMI 按钮)。 |
ORdy_DribblePreact | BOOL | 1 = OSet_DribblePreact 就绪(启用 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_SP | BOOL | 1 = OSet_SP 就绪(启用 HMI 输入字段)。 |
ORdy_StartFlow | BOOL | 1 = OCmd_StartFlow 就绪(启用 HMI 按钮)。 |
ORdy_StartTot | BOOL | 1 = OCmd_StartTot 就绪(启用 HMI 按钮)。 |
ORdy_StopFlow | BOOL | 1 = OCmd_StopFlow 就绪(启用 HMI 按钮)。 |
ORdy_StopTot | BOOL | 1 = OCmd_StopTot 就绪(启用 HMI 按钮)。 |
ORdy_Tol | BOOL | 1 = OSet_Tol 就绪(启用 HMI 输入字段)。 |
ORdy_Unlock | BOOL | 1 = OCmd_Unlock 就绪,启用 HMI 按钮。 |
Sts_ErrInpSrc | BOOL | 1 = 错误:输入源无效。无速率或数量 PV 连接 |
公共 InOut 成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
Inp_QtyPV | REAL | 可见 | 必需 | InOut | 称重仪或流量计显示的数量(工程单位或脉冲计数)。有效值 = 0.0 到最大正浮点数。 |
Inp_RatePV | REAL | 可见 | 必需 | InOut | 流量计显示的流速率(工程单位/时间,请参阅 Cfg_RateTime)。有效值 = 0.0 到 2147483.0 秒。 |
BusObj | BUS_OBJ | 可见 | 必需 | InOut | 总线组件 |
BUS_OBJ 结构
InOut 参数用于将指令链接到外部标签,这些外部标签包含指令运行所需的数据。这些外部标签必须为所显示的数据类型,或为 NULL。该指令的所有公共 InOut 参数都可以为 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 | 总线数组索引 |
报警
为以下成员定义基于离散标签的报警。
成员 | 报警名称 | 说明 |
|---|---|---|
Sts_EqpFault | Alm_EqpFault | 设备故障。当 Inp_CtrldEqpFault 输入为真,或者设备反馈信号在配置的时间内无法跟踪设备的受控状态时,引发报警。如果将设备故障配置为已去除故障,则流会停止,需要重置才能恢复流。 |
Sts_HiFlowRate | Alm_HiFlowRate | 高于上限。当流速率在配置的时间段内超过流速率上限时引发。 |
Sts_LoFlowRate | Alm_LoFlowRate | 低于下限。当流速率在配置的时间段内低于流速率下限时引发。 |
Sts_OverTol | Alm_OverTol | 超出容限上限。当执行容限检查但传送量超出设定值的量大于容限上限阈值时引发。 |
Sts_UnderTol | Alm_UnderTol | 低于容限下限。当执行容限检查但传送量低于设定值的量大于容限下限阈值时引发。 |
Sts_ZeroFault | Alm_ZeroFault | 零故障。如果给料无法清除,或者给料已清除但随后在流受控启动之前注册流,则引发该报警。 |
将报警标记为已使用或未使用,并设置基于离散标签的报警的标准配置成员。以此格式访问报警元素:
Tag.@Alarms.AlarmName.AlarmElement
PDOSETag.@Alarms.AlarmName.AlarmElement
PDOSE 指令处理以下用例和条件所描述的报警条件:
- 设备故障 - 当 Inp_CtrldEqpFault 输入为真,或者设备反馈信号在配置的时间内无法跟踪设备的受控状态时,引发报警。如果将设备故障配置为已去除故障,则流会停止,需要重置才能恢复流。
- 高于上限 - 当流速率在配置的时间段内超过流速率上限时引发。
- 低于下限 - 当流速率在配置的时间段内低于流速率下限时引发。
- 高于容限上限 - 当执行容限检查但传送量超出设定值的量大于容限上限阈值时引发。
- 低于容限下限 - 当执行容限检查但传送量低于设定值的量大于容限下限阈值时引发。
- 零故障 - 如果给料无法清除,或者给料已清除但随后在流受控启动之前注册流,则引发该报警。
提供程序、操作员和外部命令,用于同时重置以及重置并确认指令的所有报警(报警集)。下图显示了命令与 PDOSE 指令的交互方式。

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

操作员命令请求确认
PDOSE 指令启用以下操作员命令请求:
- OCmd _Bump
- OCmd_CheckTol
- OCmd_ClearTot
- OCmd_StartFlow
- OCmd_StartTot
- OCmd_StopFlow
- OCmd_StopTot
- OSet_DribbleQty
- OSet_Preact
- OSet_SP
- OSet_TolHi
- OSetTolLo
强制安全性可能要求在所选命令执行之前确认或取消请求。该指令检查对 Cfg_CnfrmReqd 进行检查的安全规则。如果 Cfg_CnfrmReqd= 0,则无需确认,请求立即执行。如果 Cfg_CnfrmReqd= 1,该指令会等待确认 OCmd_CmdCnfrm=1 和/或取消。对于 Cfg_CnfrmReqd=2 或 3,需要使用 eSignature 才能启用确认和取消操作。
虚拟化
虚拟化可用于指令测试和操作员培训。使用 PCmd_Virtual 或 MCmd_Virtual 启用虚拟化。完成虚拟化后,使用 PCmd_Physical 或 MCmd_Physical 恢复正常(物理设备)操作。
当虚拟化处于活动状态时,该指令将继续生成输出以控制设备,但会忽略流量数量和速率输入,并使用模拟流速。该指令可以模拟在虚拟模式下运行时的滴落速率和传送速率。
警告:
为了避免在虚拟化期间启动设备,必须将下游设备指令置于虚拟状态,以便其输出保持在安全状态。否则可能会导致人身伤害或设备损坏。
初始化
指令通常在首次运行时进行初始化。通过设置 Inp_InitializeReq = 1 请求重新初始化。为了进行正确的初始化,如果在执行代码的联机编辑时添加指令,请确保默认值 Inp_InitializeReq = 1。
HMI 字符串配置
配置 HMI 面板 (
FactoryTalk View
) 和 Logix Designer
配置对话框的字符串。字符串将设置为标签项的扩展属性。仅配置 Logix Designer
中的字符串。- 说明
- 图形符号的标签
- 用于 HMI 面板调用的显示库
- 指令名称
- 区域名称
- URL 链接
- 更多信息
- 输入数量 PV
- 输入速率 PV
- 数量 PV 单位
- 速率 PV 单位
- 报警设备故障文本
- 报警流速率上限文本
- 报警流速率下限文本
- 报警高于容限文本
- 报警低于容限文本
- 报警零故障文本
命令源
指令使用以下命令源。命令源在下表中从高到低的优先级顺序排序。
命令源 | 说明 |
|---|---|
手控 | 硬接线逻辑或指令之外的其他逻辑用于控制设备。该指令会跟踪设备的状态,以便平滑过渡回其他命令源之一。 这是优先级最高的命令源。 |
停用 | 指令被禁用且没有宿主。 |
维护 | 维护对设备进行控制,取代操作员、程序、外部和覆盖控制。接受来自 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 优先级
此配置允许用户指定在同时声明操作员命令和程序命令时,哪个命令取得优先。
自动重置命令
所有命令都被视为“单触发锁定”。这意味着,当指令执行并处理所有命令时,将自动清除所有命令。
更改目标状态
在某些配置下,某些命令的目标命令源可能会发生更改。这符合命令意图。例如,如果 Prog 处于禁用状态,则 OCmd_Prog 命令的目标将定向到 ProgLocked 状态,而不是 Prog 状态。这是为了保持 OCmd_Prog 命令的意图:操作员实体希望将该函数置于程序的控制下。如果该命令被删除,则将无法完成此操作。这仅在不会引发冲突或竞争状况的配置中完成,但保留尽可能多的用户功能是切实可行的。
优先级较高的命令源
以下优先级较高的命令源在模型中独立工作:
- 外部
- 覆盖
- 维护
- 停用
- 服务中
- 手控
监控 PDOSE 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 梯级输出条件设置为假。 放弃首次扫描前收到的任何 命令。 |
指令首次运行 | 放弃首次扫描前收到的任何命令。 |
梯级输入条件为假 | 放弃收到的任何命令。清除 所有报警。命令源被报告为 程序停用。显示的速率会归零。 向受控设备的输出断电。 其他输出参数(值和状态)保持其 上一个值。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableOut 设置为假。 放弃首次扫描前收到的任何 命令。 |
指令首次运行 | 放弃首次扫描前收到的任何命令。 |
指令首次扫描 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为假 | EnableOut 设置为假。 重置锁定的报警。 命令源选择处理正常进行,但忽略和清除程序和操作员命令,并将所有权状态位(Sts_Maint、Sts_Ovrd、Sts_Ext、Sts_Prog 和 Sts_Oper)全部清零。当梯级输入条件变为真时,程序/操作员选择会根据配置 (Cfg_ProgPwrUp) 进行设置。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
本示例显示来自与 P_AInAdv 块相连的流量计 (I_PDT_2) 的输入,以将微分压力转换为流。表示流的 PV(来自 P_AInAdv 的 Val)是 PDOSE 指令的输入 (Inp_RatePV)。流量值的 Sts_PVBad 也由 PDOSE 指令使用 (Inp_RatePVBad)。PDOSE 指令的输出(Out_RunFlow 和 Out_DribbleFLow)用作双速电机的输入 (P_Motor2Spd)。RunFlow 和 DribbleFlow 分别连接到 PCmd_RunFast 和 PCmd_RunSlow。已停止 (Sts_Stopped)、慢速运行 (Sts_RunningSlow) 和快速运行 (Sts_RunningFast) 的电机状态输出将作为输入 Inp_StopFdbk、Inp_DribbleFdbk 和 Inp_RunFdbk 连接回 PDOSE 块。
梯形图


功能块图


结构化文本
FI_01.Inp_PVData:=I_PDT_2;
PAI(FI_01,0);
FQIC_01.Inp_RatePVBad:=FI_01.Sts_PVBad;
PDOSE(FQIC_01, 0, FI_01.Val, 0);
PMTR_01.PCmd_Start1:=FQIC_01.Out_DribbleFlow;
PMTR_01.PCmd_Start2:=FQIC_01.Out_RunFlow;
PMTR_01.PCmd_Stop:=FQIC_01.Out_StopFlow;
PMTR(PMTR_01, 0, 0, 0, 0, 0);
FQIC_01.Inp_DribbleFdbk:=PMTR_01.Sts_Running1;
FQIC_01.Inp_RunFdbk:=PMTR_01.Sts_Running2;
FQIC_01.Inp_StopFdbk:=PMTR_01.Sts_Stopped;
提供反馈