过程多传感器模拟输入 (PAIM)
此信息适用于 CompactLogix 5380P、ControlLogix 5580P 和 ControlLogix 5590P 控制器。
PAIM 指令通过使用多达 8 个模拟输入信号(来自传感器、发送器和输入通道等源)来监控一个模拟过程变量 (PV)。PAIM 指令具有输入选择、求平均值和故障检测的功能。其他功能(如过滤和报警)由下游 PAI 块完成。
PAIM 指令提供以下功能:
- 对使用两个还是八个输入信号进行配置。
- 监控输入的输入源和质量,并监控每个超出范围条件的信号。拒绝对超出范围、标记为不良、无限或非数字(浮点异常值)的输入进行 PV 计算。
- 计算用作 PV 值的输入的平均值或中位数。
- 选择性地拒绝对从超出 tau 标准均值偏差的输入(至少四个必需输入)或超出用户自定义值偏差的输入进行 PV 计算。
- 配置具有良好 PV 值所需的良好、未被拒绝的输入信号的最小数量,如果未满足所需良好输入的数量,则配置报警。
- 配置在仅剩两个未被拒绝信号的情况下要使用的 PV:较小者、较大者或二者的平均值。
- 如果配置为使用的任何输入都被拒绝,则发出报警。
- 如果被拒绝输入的数量等于所需良好输入的最小数量(意味着下一次输入失败将导致 PV 失败),则发出报警。
- 显示元素、带条形图 PV 指示的面板、模式选择、报警限制条目和报警显示、配置、确认、趋势、维护以及工程配置和设置。
可用语言
梯形图

功能块图

结构化文本
PAIM (PAIMTag, 0);
操作数
重要提示:
以下情况下会导致运行出现意外:
- 输出标签操作数被覆盖。
- 结构操作数的成员被覆盖。
- 除非另外指定,否则结构操作数由多条指令共用。
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。
配置操作数
操作数 | 类型 | 格式 | 说明 |
|---|---|---|---|
PlantPAx Control | P_ANALOG_INPUT_MULTI | 标签 | 指令正确运行所需的数据结构。 |
BusObj | BUS_OBJ | 标签 | 总线组件 |
P_ANALOG_INPUT_MULTI 结构
公共成员是可通过编程方式访问的标准可见标签成员。专用隐藏成员用于 HMI 面板中,无法通过编程方式访问。专用成员在公共成员后面的单独表中列出。
公共输入成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableIn | BOOL | 不可见 | 不需要 | 输入 | 启用输入 - 系统定义的参数 默认值为真。 |
Inp_InitializeReq | BOOL | 不可见 | 不需要 | 输入 | 1 = 请求初始化指令。指令通常在首次运行时进行初始化。需要重新初始化时使用此请求。该指令自动清除该操作数。 默认值为真。 |
Inp_PVAData | REAL | 可见 | 不需要 | 输入 | 来自传感器或输入 A 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVASrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 A 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVANotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcASts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVAData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVBData | REAL | 可见 | 不需要 | 输入 | 来自传感器或输入 B 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVBSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 B 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVBNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcBSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVBData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVCData | REAL | 可见 | 不需要 | 输入 | 来自传感器或输入 C 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVCSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 C 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVCNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcCSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVCData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVDData | REAL | 不可见 | 不需要 | 输入 | 来自传感器或输入 D 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVDSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 D 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVDNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcDSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVDData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVEData | REAL | 不可见 | 不需要 | 输入 | 来自传感器或输入 E 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVESrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 E 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVENotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcESts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVEData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVFData | REAL | 不可见 | 不需要 | 输入 | 来自传感器或输入 F 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVFSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 F 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVFNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcFSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVFData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVGData | REAL | 不可见 | 不需要 | 输入 | 来自传感器或输入 G 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVGSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 G 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVGNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcGSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVGData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVHData | REAL | 不可见 | 不需要 | 输入 | 来自传感器或输入 H 的 PV 信号(PV 单位)。有效值 = 任意浮点数。 默认值为 0.0。 |
Inp_PVHSrcQ | SINT | 不可见 | 不需要 | 输入 | 来自通道 H 对象的输入源和质量(如果可用)(枚举)。 默认值为 0。 |
Inp_PVHNotify | SINT | 不可见 | 不需要 | 输入 | 相关 PV 对象报警优先级和确认状态。 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 默认值为 0。 |
Inp_SmartDvcHSts | DINT | 不可见 | 不需要 | 输入 | SMART 设备在 Inp_PVHData 上提供的当前代码。代码复制到 Out_SmartDvcSts,允许用户在 HMI 上监控设备状态以进行诊断查找。有效值 = 0 到最大正数。 默认值为 0。 |
Inp_PVABad | BOOL | 不可见 | 不需要 | 输入 | 输入 A 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVAUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 A 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcADiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVAData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVBBad | BOOL | 不可见 | 不需要 | 输入 | 输入 B 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVBUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 B 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcBDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVBData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVCBad | BOOL | 不可见 | 不需要 | 输入 | 输入 C 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVCUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 C 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcCDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVCData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVDBad | BOOL | 不可见 | 不需要 | 输入 | 输入 D 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVDUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 D 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcDDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVDData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVEBad | BOOL | 不可见 | 不需要 | 输入 | 输入 E 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVEUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 E 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcEDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVEData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVFBad | BOOL | 不可见 | 不需要 | 输入 | 输入 F 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVFUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 F 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcFDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVFData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVGBad | BOOL | 不可见 | 不需要 | 输入 | 输入 G 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVGUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 G 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcGDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVGData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Inp_PVHBad | BOOL | 不可见 | 不需要 | 输入 | 输入 H 的信号质量或通信状态:1 = 不良,0 = 正常 (OK)。 默认值为假。 |
Inp_PVHUncertain | BOOL | 不可见 | 不需要 | 输入 | 输入 H 的信号质量,1 = 不确定,0 = 正常 (OK)。 默认值为假。 |
Inp_SmartDvcHDiagAvailable | BOOL | 不可见 | 不需要 | 输入 | 1 = 执行 Inp_PVHData 诊断的 SMART 设备可用。通常用于指示需要采取措施来保持设备按预期运行。 默认值为假。 |
Cfg_AllowDisable | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许维护人员禁用报警。 默认值为真。 |
Cfg_AllowShelve | BOOL | 不可见 | 不需要 | 输入 | 1 = 允许操作员延迟报警。 默认值为真。 |
Cfg_HasPVA | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVAData 采用逻辑连接。 默认值为真。 |
Cfg_HasPVB | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVBData 采用逻辑连接。 默认值为真。 |
Cfg_HasPVC | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVCData 采用逻辑连接。 默认值为真。 |
Cfg_HasPVD | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVDData 采用逻辑连接。 默认值为假。 |
Cfg_HasPVE | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVEData 采用逻辑连接。 默认值为假。 |
Cfg_HasPVF | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVFData 采用逻辑连接。 默认值为假。 |
Cfg_HasPVG | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVGData 采用逻辑连接。 默认值为假。 |
Cfg_HasPVH | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVHData 采用逻辑连接。 默认值为假。 |
Cfg_UsePVA | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVAData 应用于 PV 计算(如果良好)。 默认值为真。 |
Cfg_UsePVB | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVBData 应用于 PV 计算(如果良好)。 默认值为真。 |
Cfg_UsePVC | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVCData 应用于 PV 计算(如果良好)。 默认值为真。 |
Cfg_UsePVD | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVDData 应用于 PV 计算(如果良好)。 默认值为假。 |
Cfg_UsePVE | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVEData 应用于 PV 计算(如果良好)。 默认值为假。 |
Cfg_UsePVF | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVFData 应用于 PV 计算(如果良好)。 默认值为假。 |
Cfg_UsePVG | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVGData 应用于 PV 计算(如果良好)。 默认值为假。 |
Cfg_UsePVH | BOOL | 不可见 | 不需要 | 输入 | 1 = Inp_PVHData 应用于 PV 计算(如果良好)。 默认值为假。 |
Cfg_RejectUncertain | BOOL | 不可见 | 不需要 | 输入 | 1 = 如果输入质量不确定,则拒绝输入。 默认值为假。 |
Cfg_UseStdDev | BOOL | 不可见 | 不需要 | 输入 | 1 = 拒绝超出 tau 标准偏差的值;0 = 相对于平均值,拒绝超出 Cfg_AbsDev 范围的值。 默认值为假。 |
Cfg_CalcAvg | BOOL | 不可见 | 不需要 | 输入 | 1 = 计算良好输入的平均值;0 = 计算良好输入的中位数。 默认值为假。 |
Cfg_UseInpSrcQPVA | BOOL | 不可见 | 不需要 | 输入 | 1 = PVA SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVB | BOOL | 不可见 | 不需要 | 输入 | 1 = PVB SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVC | BOOL | 不可见 | 不需要 | 输入 | 1 = PVC SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVD | BOOL | 不可见 | 不需要 | 输入 | 1 = PVD SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVE | BOOL | 不可见 | 不需要 | 输入 | 1 = PVE SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVF | BOOL | 不可见 | 不需要 | 输入 | 1 = PVF SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVG | BOOL | 不可见 | 不需要 | 输入 | 1 = PVG SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_UseInpSrcQPVH | BOOL | 不可见 | 不需要 | 输入 | 1 = PVH SrcQ 输入用于拒绝决策。 默认值为假。 |
Cfg_HasPVNav | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 允许导航到所连接的 PV (Val) 对象。 默认值为假。 |
Cfg_HasMoreObj | BOOL | 不可见 | 不需要 | 输入 | 1 = 通知 HMI 可使用包含更多信息的对象。 默认值为假。 |
Cfg_HasNav | SINT | 不可见 | 不需要 | 输入 | 设置位指示启用的导航按钮。0=PVA、1=PVB、...、7=PVH 默认值为 0。 |
Cfg_MinGood | DINT | 不可见 | 不需要 | 输入 | 良好 PV 的最小良好输入数 [1 到“Cfg_Has”输入数]。 默认值为 2。 |
Cfg_CalcWhen2 | DINT | 不可见 | 不需要 | 输入 | 仅有 2 个良好输入时的 PV 计算:0 = 平均值,1 = 最小值,2 = 最大值。 默认值为 0。 |
Cfg_PVEUMin | REAL | 不可见 | 不需要 | 输入 | 用于显示 PV 单位的 PV(输出)最小值。有效值 = 任意浮点数。 默认值为 0.0。 |
Cfg_PVEUMax | REAL | 不可见 | 不需要 | 输入 | 用于显示 PV 单位的 PV(输出)最大值。有效值 = 任意浮点数。 默认值为 100.0。 |
Cfg_AbsDevLim | REAL | 不可见 | 不需要 | 输入 | PV 单位的绝对偏差阈值。有效值 = 任意非负浮点数:相对于平均值而言,拒绝超出此偏差的值。 默认值为 10.0。 |
Cfg_OoRHiLim | REAL | 不可见 | 不需要 | 输入 | PV 单位的超出范围(故障)上限。有效值 = 任意浮点数。 默认值为 103.958336。 |
Cfg_OoRLoLim | REAL | 不可见 | 不需要 | 输入 | PV 单位的超出范围(故障)下限。有效值 = 任意浮点数。 默认值为 -2.0833333。 |
Cfg_OoRDB | REAL | 不可见 | 不需要 | 输入 | PV 单位的超出范围(故障)死区。有效值 = 任意非负浮点数。 默认值为 0.41666666。 |
Cfg_PVDecPlcs | SINT | 不可见 | 不需要 | 输入 | PV 显示的小数位数。有效值 = 0、1、2、3、4、5、6。 默认值为 2。 |
Cfg_CnfrmReqd | SINT | 不可见 | 不需要 | 输入 | 需要操作员确认命令。表示需要命令确认的类型。0 = 无,1 = 需要命令确认,2 = 需要执行者电子签名,3 = 需要执行者和审批者电子签名。 默认值为 0。 |
PSet_Owner | DINT | 不可见 | 不需要 | 输入 | 程序宿主请求 ID(非零)或释放(零)(有效值 = 任意整数)。 默认值为 0。 |
PCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于重置需要重置的所有报警的程序命令。 默认值为假。 |
XCmd_Reset | BOOL | 不可见 | 不需要 | 输入 | 用于重置所有报警和锁定去除条件的外部命令。该指令自动清除该操作数。 默认值为假。 |
XCmd_ResetAckAll | BOOL | 不可见 | 不需要 | 输入 | 用于确认和重置所有报警和锁定去除条件的外部命令。该指令自动清除该操作数。 默认值为假。 |
公共输出成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
EnableOut | BOOL | 不可见 | 不需要 | 输出 | 启用输出 - 系统定义的参数 |
Val | REAL | 可见 | 不需要 | 输出 | 所选模拟 PV(包括替代 PV,如使用)(PV 单位)。 |
Val_PVA | REAL | 可见 | 不需要 | 输出 | 来自输入 A 的模拟值(实际值)(PV 单位)。 |
Val_PVB | REAL | 可见 | 不需要 | 输出 | 来自输入 B 的模拟值(实际值)(PV 单位)。 |
Val_PVC | REAL | 可见 | 不需要 | 输出 | 来自输入 C 的模拟值(实际值)(PV 单位)。 |
Val_PVD | REAL | 不可见 | 不需要 | 输出 | 来自输入 D 的模拟值(实际值)(PV 单位)。 |
Val_PVE | REAL | 不可见 | 不需要 | 输出 | 来自输入 E 的模拟值(实际值)(PV 单位)。 |
Val_PVF | REAL | 不可见 | 不需要 | 输出 | 来自输入 F 的模拟值(实际值)(PV 单位)。 |
Val_PVG | REAL | 不可见 | 不需要 | 输出 | 来自输入 G 的模拟值(实际值)(PV 单位)。 |
Val_PVH | REAL | 不可见 | 不需要 | 输出 | 来自输入 H 的模拟值(实际值)(PV 单位)。 |
Val_InpPV | REAL | 不可见 | 不需要 | 输出 | 所选 PV(PV 单位)。 |
Val_PVEUMin | REAL | 不可见 | 不需要 | 输出 | PV 范围最小值 = Cfg_PVEUMin 和 Cfg_PVEUMax 之间的最小值(PV 单位)。 |
Val_PVEUMax | REAL | 不可见 | 不需要 | 输出 | PV 范围最大值 = Cfg_PVEUMin 和 Cfg_PVEUMax 之间的最大值(PV 单位)。 |
Out_SmartDvcSts | DINT | 不可见 | 不需要 | 输出 | Inp_SmartDvcASts、Inp_SmartDvcBSts、Inp_SmartDvcCSts、Inp_SmartDvcDSts、Inp_SmartDvcESts、Inp_SmartDvcFSts、Inp_SmartDvcGSts 或 Inp_SmartDvcHSts 提供的 SMART 设备状态代码。选择最高状态代码。 |
Val_NumPVs | DINT | 不可见 | 不需要 | 输出 | 当前用于 Val_CalcPV 计算的 PV 数。 |
Sts_Initialized | BOOL | 不可见 | 不需要 | 输出 | 1 = 指令已初始化。使用 Inp_InitializeReq 重新初始化。 |
Sts_SmartDvcDiagAvailable | BOOL | 不可见 | 不需要 | 输出 | 1 = 当前可以使用 SMART 设备诊断。通常用于指示需要采取措施来保持其中一个设备按预期运行。 |
Sts_PVBad | BOOL | 不可见 | 不需要 | 输出 | 1 = 至少有一个输入通道 PV 质量不良或超出范围。 |
Sts_PVUncertain | BOOL | 不可见 | 不需要 | 输出 | 1 = 至少有一个输入通道 PV 值的质量为不确定。 |
Sts_PVAReject | BOOL | 可见 | 不需要 | 输出 | 1 = 输入 A 被拒绝,不用于计算 PV。 |
Sts_PVBReject | BOOL | 可见 | 不需要 | 输出 | 1 = 输入 B 被拒绝,不用于计算 PV。 |
Sts_PVCReject | BOOL | 可见 | 不需要 | 输出 | 1 = 输入 C 被拒绝,不用于计算 PV。 |
Sts_PVDReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入 D 被拒绝,不用于计算 PV。 |
Sts_PVEReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入 E 被拒绝,不用于计算 PV。 |
Sts_PVFReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入 F 被拒绝,不用于计算 PV。 |
Sts_PVGReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入 G 被拒绝,不用于计算 PV。 |
Sts_PVHReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 输入 H 被拒绝,不用于计算 PV。 |
SrcQ_IOA | SINT | 不可见 | 不需要 | 输出 | 输入 A 的源和质量(枚举)。 |
SrcQ_IOB | SINT | 不可见 | 不需要 | 输出 | 输入 B 的源和质量(枚举)。 |
SrcQ_IOC | SINT | 不可见 | 不需要 | 输出 | 输入 C 的源和质量(枚举)。 |
SrcQ_IOD | SINT | 不可见 | 不需要 | 输出 | 输入 D 的源和质量(枚举)。 |
SrcQ_IOE | SINT | 不可见 | 不需要 | 输出 | 输入 E 的源和质量(枚举)。 |
SrcQ_IOF | SINT | 不可见 | 不需要 | 输出 | 输入 F 的源和质量(枚举)。 |
SrcQ_IOG | SINT | 不可见 | 不需要 | 输出 | 输入 G 的源和质量(枚举)。 |
SrcQ_IOH | SINT | 不可见 | 不需要 | 输出 | 输入 H 的源和质量(枚举)。 |
SrcQ_IO | SINT | 不可见 | 不需要 | 输出 | 计算出 PV 的源和质量(枚举)。 |
SrcQ | SINT | 不可见 | 不需要 | 输出 | 主 Val/Sts 的源和质量(枚举)。 |
Sts_eSts | SINT | 不可见 | 不需要 | 输出 | 设备已确认状态(枚举):0 = PV 良好,1:PV 不确定,2:PV 不良。 |
Sts_eFault | INT | 不可见 | 不需要 | 输出 | 设备故障状态(枚举): 0 = 无, 17 = 任何拒绝, 18 = 最小值良好, 32 = 失败, 34 = 不良配置。 |
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_eNotifyAnyReject | SINT | 不可见 | 不需要 | 输出 | 任意拒绝报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyMinGood | SINT | 不可见 | 不需要 | 输出 | 最少良好数报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_eNotifyFail | SINT | 不可见 | 不需要 | 输出 | 失败报警状态枚举值: 0 = 未处于报警中,已确认, 1 = 未处于报警中,未确认或需要重置, 2 = 低严重性报警,已确认, 3 = 低严重性报警,未确认, 4 = 中等严重性报警,已确认, 5 = 中等严重性报警,未确认, 6 = 高严重性报警,已确认, 7 = 高严重性报警,未确认, 8 = 紧急严重性报警,已确认, 9 = 紧急严重性报警,未确认。 |
Sts_UnackAlmCount | DINT | 不可见 | 不需要 | 输出 | 未确认报警计数。 |
Sts_MaintByp | BOOL | 不可见 | 不需要 | 输出 | 1 = 设备有一个维护绕过功能处于活动状态。 |
Sts_Err | BOOL | 可见 | 不需要 | 输出 | 1 = 配置出错,请参阅明细位以查找原因。 |
Sts_ErrEU | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:Cfg_PVEUMax 不能等于 Cfg_PVEUMin。 |
Sts_ErrHas | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:至少一个 Cfg_HasPVx 必须为 1。 |
Sts_ErrUse | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:至少一个 Cfg_UsePVx 必须为 1。 |
Sts_ErrMinGood | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:Cfg_MinGood 必须处于范围 [1..8] 内。 |
Sts_ErrOoRDB | BOOL | 不可见 | 不需要 | 输出 | 1 = 配置出错:Cfg_OoRDB 死区 < 0.0。 |
Sts_ErrAlm | BOOL | 不可见 | 不需要 | 输出 | 1 = 基于 logix 标签的报警设置中存在错误。 |
Sts_Alm | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警处于活动状态。 |
Sts_AlmInh | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警被延迟、禁止或抑制:显示图标。 |
Sts_AnyReject | BOOL | 不可见 | 不需要 | 输出 | 1 = 至少有一个输入被拒绝。 |
Sts_MinGood | BOOL | 不可见 | 不需要 | 输出 | 1 = 在所需良好输入数为最小值的情况下,下一次拒绝/失败会导致不良 PV。 |
Sts_Fail | BOOL | 不可见 | 不需要 | 输出 | 1 = 总信号故障(拒绝的输入过多)。 |
Sts_RdyAck | BOOL | 不可见 | 不需要 | 输出 | 1 = 报警待确认。 |
Sts_RdyReset | BOOL | 不可见 | 不需要 | 输出 | 1 = 锁定的报警或解除条件待重置。 |
XRdy_Reset | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_Reset 就绪,启用 HMI 按钮。 |
XRdy_ResetAckAll | BOOL | 不可见 | 不需要 | 输出 | 1 = XCmd_ResetAckAll 就绪,启用 HMI 按钮。 |
Val_Owner | DINT | 不可见 | 不需要 | 输出 | 当前对象宿主 ID(0 = 未拥有)。 |
专用输入成员 | 数据类型 | 说明 |
|---|---|---|
OCmd_Reset | BOOL | 用于重置需要重置的所有报警的操作员命令。 默认值为假。 |
OCmd_ResetAckAll | BOOL | 用于重置和确认所有报警的操作员命令。 默认值为假。 |
专用输出成员 | 数据类型 | 说明 |
|---|---|---|
HMI_BusObjIndex | DINT | HMI 总线对象索引。 默认值为 0。 |
ORdy_Reset | BOOL | 1 = OCmd_Reset 就绪(启用 HMI 按钮)。 |
ORdy_ResetAckAll | BOOL | 1 = OCmd_ResetAckAll 就绪(启用 HMI 按钮)。 |
公共 InOut 成员 | 数据类型 | 说明 |
|---|---|---|
BusObj | BUS_OBJ | 总线组件 |
公共 InOut 成员 | 数据类型 | FBD 默认可见性 | 需要 FBD 接线 | 用途 | 说明 |
|---|---|---|---|---|---|
BusObj | BUS_OBJ | 可见 | 必需 | InOut | 总线组件 |
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 | 总线数组索引 |
报警
为以下成员定义基于离散标签的报警。
成员 | 报警名称 | 说明 |
|---|---|---|
Sts_Fail | Alm_Fail | 当两个传感器 PV 不良或超出范围时引发。 |
Sts_AnyReject | Alm_AnyReject | 当配置为使用的任何输入都被拒绝时引发。 |
Sts_MinGood | Alm_MinGood | 当被拒绝输入的数量等于所需良好输入的最小数量(意味着下一次输入失败将导致 PV 失败)时引发。 |
将报警标记为已使用或未使用,并设置基于离散标签的报警的标准配置成员。以此格式访问报警元素:
PAIMTag.@Alarms.AlarmName.AlarmElement
提供程序、操作员和外部命令,用于同时重置以及重置并确认指令的所有报警(报警集)。下图显示了命令与 PAIM 指令的交互方式。

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

初始化
指令通常在首次运行时进行初始化。通过设置 Inp_InitializeReq = 1 请求重新初始化。为了进行正确的初始化,如果在执行代码的联机编辑时添加指令,请确保默认值 Inp_InitializeReq = 1。
HMI 字符串配置
配置 HMI 面板(如
FactoryTalk View
所示)和 Logix Designer
配置对话框的字符串。字符串将设置为标签项的扩展属性。仅配置 Logix Designer
中的字符串。- 说明
- 图形符号的标签
- 用于 HMI 面板调用的显示库
- 指令名称
- 区域名称
- URL 链接
- 更多信息
- 所选模拟 PV 工程单位 - Val 成员的单位,Val.@Units。
- 模拟输入 A 说明 - Inp_PVAData 成员的说明,Inp_PVAData.@Label。
- 模拟输入 B 说明 - Inp_PVBData 成员的说明,Inp_PVBData.@Label
- 模拟输入 C 说明 - Inp_PVCData 成员的说明,Inp_PVCData.@Label。
- 模拟输入 D 说明 - Inp_PVDData 成员的说明,Inp_PVDData.@Label。
- 模拟输入 E 说明 - Inp_PVEData 成员的说明,Inp_PVEData.@Label。
- 模拟输入 F 说明 - Inp_PVFData 成员的说明,Inp_PVFData.@Label。
- 模拟输入 G 说明 - Inp_PVGData 成员的说明,Inp_PVGData.@Label。
- 模拟输入 H 说明 - Inp_PVHData 成员的说明,Inp_PVHData.@Label。
- 模拟输入 A 导航 - Inp_PVAData 成员的导航元数据。
- 模拟输入 B 导航 - Inp_PVBData 成员的导航元数据。
- 模拟输入 C 导航 - Inp_PVCData 成员的导航元数据。
- 模拟输入 D 导航 - Inp_PVDData 成员的导航元数据。
- 模拟输入 E 导航 - Inp_PVEData 成员的导航元数据。
- 模拟输入 F 导航 - Inp_PVFData 成员的导航元数据。
- 模拟输入 G 导航 - Inp_PVGData 成员的导航元数据。
- 模拟输入 H 导航 - Inp_PVHData 成员的导航元数据。
监控 PAIM 指令
使用 PlantPAx 过程对象库中的操作员面板进行监控。
影响数学状态标志
编号
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
梯形图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 梯级输出条件设置为假。 |
指令首次运行 | 每次执行时自动清除的所有命令都将被清除和忽略。 PSet_Owner 和 Val_Owner 设置为 0。 确保 Thompson Tau 测试逻辑的常量尚未归零。 指令正常执行。 |
梯级输入条件为假 | 梯级输出条件设置为假。 每次执行时自动清除的所有命令都将被清除和忽略。 PSet_Owner 和 Val_Owner 设置为 0。 重置锁定的报警。 清除总线对象命令和 HMI 总线对象索引 在接收到“禁用”、“启用”、“抑制”、“取消抑制”所有报警时执行总线命令。 执行总线命令状态传播。 内部计时器已重置。 |
梯级输入条件为真 | 将梯级输出条件设置为梯级输入条件。 指令执行。 |
后扫描 | 梯级输出条件设置为假。 |
功能块图
条件/状态 | 执行的操作 |
|---|---|
预扫描 | EnableOut 设置为假。 |
指令首次运行 | 每次执行时自动清除的所有命令都将被清除和忽略。 PSet_Owner 和 Val_Owner 设置为 0。 确保 Thompson Tau 测试逻辑的常量尚未归零。 指令正常执行。 |
指令首次扫描 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为假 | EnableOut 设置为假。 每次执行时自动清除的所有命令都将被清除和忽略。 PSet_Owner 和 Val_Owner 设置为 0。 重置锁定的报警。 清除总线对象命令和 HMI 总线对象索引 在接收到“禁用”、“启用”、“抑制”、“取消抑制”所有报警时执行总线命令。 执行总线命令状态传播。 内部计时器已重置。 |
EnableIn 为真 | EnableOut 设置为真。 指令执行。 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。指令在处于由逻辑激活的控制路径中时执行。
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参阅“功能块图”表中的“预扫描”行。 |
指令首次运行 | 请参阅“功能块图”表中的“指令首次运行”行。 |
EnableIn 为真 | 请参阅“功能块图”表中的“EnableIn 为真”行。 |
后扫描 | 请参阅“功能块图”表中的“后扫描”行。 |
示例
该示例使用 PAIM 指令,利用多达八个模拟输入信号(传感器、发送器)监控一个模拟过程变量 (PV)。PAIM 指令用于在用户界面上显示温度、压力、液位或其他 PV,或者在控制逻辑中使用 PV,且以下内容适用:
- 该 PV 有三个或更多个传感器,例如六个热偶。
- 使用传感器输入值的平均值或中位数计算 PV。
该示例使用 PAIM 指令对单个 PV 的多个传感器进行平均值运算。在该示例中,应用程序使用三个模拟传感器(A、B、C)。这些模拟的平均值在逻辑中的其他位置用于控制单独的应用程序元素。
Inp_PVAData、Inp_PVBData 和 Inp_PVCData 参数连接到来自三个模拟发送器的值。每个传感器的故障状态都与 PAIM 输入不良(例如 Inp_PVABad)相关。输出参数 Val、Sts_PVBad 和 Sts_PVUncertain 随后可连接到 Inp_PVData、Inp_PVUncertain 和 Inp_ChanFault 进行控制。
梯形图

功能块图

结构化文本
PAI(AIT_301A);
PAI(AIT_301B);
PAI(AIT_301C);
AY_301.Inp_PVAData := AIT_301A.Val;
AY_301.Inp_PVASrcQ := AIT_301A.SrcQ;
AY_301.Inp_PVANotify := AIT_301A.Sts_eNotify;
AY_301.Inp_PVBData := AIT_301B.Val;
AY_301.Inp_PVBSrcQ := AIT_301B.SrcQ;
AY_301.Inp_PVBNotify := AIT_301B.Sts_eNotify;
AY_301.Inp_PVCData := AIT_301C.Val;
AY_301.Inp_PVCSrcQ := AIT_301C.SrcQ;
AY_301.Inp_PVCNotify := AIT_301C.Sts_eNotify;
PAIM(AY_301);
AI_301.Inp_PVData := AY_301.Val;
AI_301.Inp_ChanFault := AY_301.Sts_PVBad;
AI_301.Inp_PVUncertain := AY_301.Sts_PVUncertain;
PAI(AI_301);
提供反馈