报警 (ALM)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。报警 (ALM) 指令可针对任何模拟信号提供报警。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块

结构化文本
ALM(ALM_tag)
操作数
功能块
操作数 | 类型 | 格式 | 说明 |
ALM 标签 | ALARM | 结构 | ALM 结构 |
结构化文本
操作数 | 类型 | 格式 | 说明 |
ALM 标签 | ALARM | 结构 | ALM 结构 |
有关结构化文本中表达式语法的详细信息,请参见
结构化文本语法
部分。ALARM 结构
输入参数 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
In | REAL | 模拟信号输入。 有效值 = 任意浮点值 默认值 = 0.0 |
HHLimit | REAL | 输入的报警上上限。 有效值 = 任意实数值 默认值 = 最大正值 |
HLimit | REAL | 输入的报警上限。 有效值 = 任意实数值 默认值 = 最大正值 |
LLimit | REAL | 输入的报警下限。 有效值 = 任意实数值 默认值 = 最大负值 |
LLLimit | REAL | 输入的报警下下限。 有效值 = 任意实数值 默认值 = 最大负值 |
Deadband | REAL | 上上限到下下限的报警死区 有效值 = 任何 0.0 的 REAL 值默认值 = 0.0 |
ROCPosLimit | REAL | 输入正(增大)变化时的变化率报警限值(单位/秒)。若设置 ROCPosLimit = 0,可禁用正 ROC 报警。如果无效,指令将采用 0.0 并在 Status 中设置相应位。 有效值 = 任何 0.0 的 REAL 值默认值 = 0.0 |
ROCNegLimit | REAL | 输入负(减小)变化时的变化率报警限值(单位/秒)。若设置 ROCNegLimit = 0,可禁用负 ROC 报警。如果无效,指令将采用 0.0 并在 Status 中设置相应位。 有效值 = 任何 0.0 的 REAL 值默认值 = 0.0 |
ROCPeriod | REAL | 用于计算变化率值的时间周期(采样间隔),以秒为单位。每次采样时间间隔到期后,都将存储 In 中的新采样,并重新计算 ROC。变化率检测通过将 ROCPeriod 设为任意非零值的方式使能,而不像模拟报警中的其他条件那样使用使能位。 有效值 = 0.0 到 32767.0 默认值 = 0.0。 |
输出参数 | 数据类型 | 说明 |
|---|---|---|
EnableOut | BOOL | 指示指令是否处于启用状态。如果 ROC 溢出,则设置为假。 |
HHAlarm | BOOL | 上上限报警指示器。 默认值 = 假 |
HAlarm | BOOL | 上限报警指示器。 默认值 = 假 |
LAlarm | BOOL | 下限报警指示器。 默认值 = 假 |
LLAlarm | BOOL | 下下限报警指示器。 默认值 = 假 |
ROCPosAlarm | BOOL | 正变化率报警指示器。 默认值 = 假 |
ROCNegAlarm | BOOL | 负变化率报警指示器。 默认值 = 假 |
ROC | REAL | 变化率输出。 |
Status | DINT | 功能块的状态。 |
InstructFault (Status.0) | BOOL | 该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。 |
DeadbandInv (Status.1) | BOOL | Deadband 值无效。 |
ROCPosLimitInv (Status.2) | BOOL | ROCPosLimit 值无效。 |
ROCNegLimitInv (Status.3) | BOOL | ROCNegLimit 值无效。 |
ROCPeriodInv (Status.4) | BOOL | ROCPeriod 值无效。 |
说明
ALM 指令为上上限、上限、下限、下下限、正变化率、负变化率提供报警指示器。它可为上上限到下下限报警提供报警死区,还可提供用户定义的时间段用于执行变化率报警。
上上限到下下限报警
上上限和下下限报警算法会将输入与报警限值以及报警限值加减死区的结果进行比较。

变化率报警
变化率 (ROC) 报警会将 ROCPeriod 内输入的变化与变化率限值进行比较。ROCPeriod 为变化率报警提供一种死区类型。例如,定义执行周期为 100 ms、大小为 2
O
F/s 的 ROC 报警限值。如果使用分辨率为 1O
F 的模拟输入模块,则输入值每次发生变化时,都会生成 ROC 报警,因为指令计算出的有效变化率为 10°F/s。然而,如果输入的 ROCPeriod 为 1 秒,则仅当变化率真正超过 2O
F/s 的限值时,指令才会生成报警。ROC 报警会按以下公式计算变化率:

当 ROCPeriod 到期时,指令会执行此计算。指令计算出 ROC 后,按以下规则确定报警:

监视 ALM 指令
ALM 指令有相应的操作员面板。
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见
通用属性
部分。执行
功能块
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 梯级输入条件位设置为假。 |
梯级输入条件为假 | 梯级输入条件位设置为假。 |
梯级输入条件为真 | 梯级输入条件设置为真。 指令执行。 |
后扫描 | 梯级输入条件位设置为假。 |
结构化文本
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 请参见“功能块”表中的“预扫描”行。 |
正常执行 | 请参见“功能块”表中的“梯级输入条件为真”行。 |
后扫描 | 请参见“功能块”表中的“后扫描”行。 |
示例
ALM 指令通常用于不支持板载报警的模拟输入模块(例如 1771 I/O 模块),或用于生成与计算出的变量相关的报警。本例中,模拟输入来自 1771-IFE 模块,首先使用 SCL 指令将其标定为工程单位。SCL 指令的 Out 输出是 ALM 指令的输入,用于确定是否设置报警。得出的报警输出参数随后可在程序中使用,并/或可在操作员界面显示画面上进行查看。
功能块

结构化文本
SCL_01.IN := Input0From1771IFE;
SCL(SCL_01);
ALM_01.IN := SCL_01.Out;
ALM(ALM_01);
提供反馈
Deadband
0.0 的 REAL 值