过程给料 (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_avail_ladder
功能块图
PDOSE_avail_FBD
结构化文本
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_alarminteraction
操作
下图展示了 PDOSE 指令的功能:
PDOSE_operation_v35
操作员命令请求确认
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 块。
梯形图
PDOSE_exampleladder1
PDOSE_exampleladder2
功能块图
PDOSE_exampleFBD1
PDOSE_exampleFBD2
结构化文本
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;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal