模拟报警 (ALMA)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。模拟报警 (ALMA) 指令可针对任何模拟信号提供级别和变化率报警。
梯形图

功能块

结构化文本
ALMA (ALMA,In,ProgAckAll,ProgDisable,ProgEnable)
操作数
梯形图
操作数 | 类型 | 格式 | 说明 |
ALMA | ALARM_ANALOG | 结构 | ALMA 结构 |
In | REAL DINT INT SINT | 标签 立即数 | 报警输入值,与报警限值进行比较以检测报警条件。 |
ProgAckAll | BOOL | 标签 立即数 | 由假跳变为真时,应答所有需要应答的报警条件。 |
ProgDisable | BOOL | 标签 立即数 | 此参数为真时,禁用报警(不会优先于启用命令)。 |
ProgEnable | BOOL | 标签 立即数 | 此参数为真时,启用报警(优先于禁用命令)。 |
功能块
操作数 | 类型 | 格式 | 说明 |
ALMA 标签 | ALARM_ANALOG | 结构 | ALMA 结构 |
结构化文本
操作数 | 类型 | 格式 | 说明 |
ALMA | ALARM_ANALOG | 结构 | ALMA 结构 |
In | REAL DINT INT SINT | 标签 立即数 | 报警输入值,与报警限值进行比较以检测报警条件。 |
ProgAckAll | BOOL | 标签 立即数 | 由假跳变为真时,应答所有需要应答的报警条件。 |
ProgDisable | BOOL | 标签 立即数 | 此参数为真时,禁用报警(不会优先于启用命令)。 |
ProgEnable | BOOL | 标签 立即数 | 此参数为真时,启用报警(优先于禁用命令)。 |
有关结构化文本中表达式语法的详细信息,请参见结构化文本语法。
ALMA 结构
输入参数
输入参数 | 数据类型 | 说明 |
|---|---|---|
EnableIn | BOOL | 梯形图: 对应于梯级状态。如果为假,指令不会执行,也不会更新输出。 结构化文本: 如果为假,指令不会执行,也不会更新输出。 默认置位。 功能块: 如果为假,指令不会执行,也不会更新输出。 默认置位。 |
In | REAL | 报警输入值,与报警限值进行比较以检测报警条件。 默认值 = 0.0。 梯形图: 从指令操作数中复制而来。 结构化文本: 从指令操作数中复制而来。 |
InFault | BOOL | 输入不良状况指示器。用户应用程序可以将 InFault 置位以指示输入信号有误。该参数置位时,指令会将 InFaulted (Status.1) 置位。该参数设置为假时,指令会将 InFaulted (Status.1) 设置为假。无论在哪种情况下,指令都继续评估 In 是否满足报警条件。 默认值为假(状况良好)。 |
HHEnabled | BOOL | 上上限报警条件检测。设置为真可启用上上限报警条件检测。设置为假可禁用上上限报警条件检测。 默认置位。 |
HEnabled | BOOL | 上限报警条件检测。设置为真可启用上限报警条件检测。设置为假可禁用上限报警条件检测。 默认置位。 |
LEnabled | BOOL | 下限报警条件检测。设置为真可启用下限报警条件检测。设置为假可禁用下限报警条件检测。 默认置位。 |
LLEnabled | BOOL | 下下限报警条件检测。设置为真可启用下下限报警条件检测。设置为假可禁用下下限报警条件检测。 默认置位。 |
AckRequired | BOOL | 指定是否需要应答报警。设置为真时,需要应答。设置为假时,不需要应答,且 HHAcked、HAcked、LAcked、LLAcked、ROCPosAcked 和 ROCNegAcked 始终设置为真 默认值为真。 |
ProgAckAll | BOOL | 由用户程序设置为真可应答所有报警条件。仅当未应答任何报警条件时才会生效。需要出现假到真跳变。 默认值为假。 梯形图: 从指令操作数中复制而来。 结构化文本: 从指令操作数中复制而来。 |
OperAckAll | BOOL | 由操作员界面设置为真可应答所有报警条件。仅当未应答任何报警条件时才会生效。报警指令会将此参数设置为假。 默认值为假。 |
HHProgAck | BOOL | 上上限报警程序应答。由用户程序设置为真可应答上上限报警条件。仅当未应答报警条件时才会生效。需要出现假到真跳变。 默认值为假。 |
HHOperAck | BOOL | 上上限报警操作员应答。由操作员界面设置为真可应答上上限报警条件。仅当未应答报警条件时才会生效。报警指令会将此参数设置为假。 默认值为假。 |
HProgAck | BOOL | 上限报警程序应答。由用户程序设置为真可应答上限报警条件。仅当未应答报警条件时才会生效。需要出现假到真跳变。 默认值为假。 |
HOperAck | BOOL | 上限报警操作员应答。由操作员界面设置为真可应答上限报警条件。仅当未应答报警条件时才会生效。报警指令会将此参数设置为假。 默认值为假。 |
LProgAck | BOOL | 下限报警程序应答。由用户程序设置为真可应答下限报警条件。仅当未应答报警条件时才会生效。需要出现假到真跳变。 默认值为假。 |
LOperAck | BOOL | 下限报警操作员应答。由操作员界面设置为真可应答下限报警条件。仅当未应答报警条件时才会生效。报警指令会将此参数设置为假。 默认值为假。 |
LLProgAck | BOOL | 下下限程序应答。由用户程序设置为真可应答下下限报警条件。仅当未应答报警条件时才会生效。需要出现假到真跳变。 默认值为假。 |
LLOperAck | BOOL | 下下限操作员应答。由操作员界面设置为真可应答下下限报警条件。仅当未应答报警条件时才会生效。报警指令会将此参数设置为假。 默认值为假。 |
ROCPosProgAck | BOOL | 正变化率报警程序应答。由用户程序设置为真可应答正变化率报警条件。报警条件未应答时,需要出现假到真跳变。 默认值为假。 |
ROCPosOperAck | BOOL | 正变化率报警操作员应答。由操作员界面设置为真可应答正变化率报警条件。报警条件未应答时,需要出现假到真跳变。报警指令会将此参数设置为假。 默认值为假。 |
ROCNegProgAck | BOOL | 负变化率报警程序应答。由用户程序设置为真可应答负变化率报警条件。报警条件未应答时,需要出现假到真跳变。 默认值为假。 |
ROCNegOperAck | BOOL | 负变化率报警操作员应答。由操作员界面设置为真可应答负变化率报警条件。报警条件未应答时,需要出现假到真跳变。报警指令会将此参数设置为假。 默认值为假。 |
ProgSuppress | BOOL | 由用户程序设置为真可抑制报警。 默认清零。 |
OperSuppress | BOOL | 由操作员界面设置为真可抑制报警。报警指令会将此参数设置为假。 默认值为假。 |
ProgUnsuppress | BOOL | 由用户程序设置为真可取消抑制报警。优先于抑制命令。 默认值为假。 |
OperUnsuppress | BOOL | 由操作员界面设置为真可取消抑制报警。优先于抑制命令。报警指令会将此参数设置为假。 默认值为假。 |
HHOperShelve | BOOL | 上上限报警操作员延迟。由操作员界面设置为真可延迟或重新延迟上上限报警条件。需要出现假到真跳变。报警指令会将此参数设置为假。 默认值为假。 取消延迟命令优先于延迟命令。 延迟报警会推迟对报警的处理。延迟报警与抑制报警类似,但延迟具有时间限制。如果报警处于延迟状态时该报警已应答,即使其再次变为激活状态,仍保留已应答状态。当延迟持续时间结束时才会变为未应答状态。 |
HOperShelve | BOOL | 上限报警操作员延迟。由操作员界面设置为真可延迟或重新延迟上限报警条件。需要从一次程序扫描中的“假”状态跳变为下一次程序扫描中的“真”状态。报警指令会将此参数设置为假。 默认值为假。 取消延迟命令优先于延迟命令。 |
LOperShelve | BOOL | 下限报警操作员延迟。由操作员界面设置为真可延迟或重新延迟下限报警条件。需要从一次程序扫描中的“假”状态跳变为下一次程序扫描中的“真”状态。报警指令会将此参数设置为假。 默认值为假。 取消延迟命令优先于延迟命令。 |
LLOperShelve | BOOL | 下下限报警操作员延迟。由操作员界面设置为真可延迟或重新延迟下下限报警条件。需要从一次程序扫描中的“假”状态跳变为下一次程序扫描中的“真”状态。报警指令会将此参数设置为假。 默认值为假。 取消延迟命令优先于延迟命令。 |
ROCPosOperShelve | BOOL | 正变化率报警操作员延迟。由操作员界面设置为真可延迟或重新延迟正变化率报警条件。需要从一次程序扫描中的“假”状态跳变为下一次程序扫描中的“真”状态。报警指令会将此参数设置为假。默认值为假。 取消延迟命令优先于延迟命令。 |
ROCNegOperShelve | BOOL | 负变化率报警操作员延迟。由操作员界面设置为真可延迟或重新延迟负变化率报警条件。需要从一次程序扫描中的“假”状态跳变为下一次程序扫描中的“真”状态。报警指令会将此参数设置为假。 默认值为假。 取消延迟命令优先于延迟命令。 |
ProgUnshelveAll | BOOL | 由用户程序设置为真可取消延迟此报警的所有条件。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
HHOperUnshelve | BOOL | 上上限报警操作员取消延迟。由操作员界面设置为真可取消延迟上上限报警条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
HOperUnshelve | BOOL | 上限报警操作员取消延迟。由操作员界面设置为真可取消延迟上限条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
LOperUnshelve | BOOL | 下限报警操作员取消延迟。由操作员界面设置为真可取消延迟下限报警条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
LLOperUnshelve | BOOL | 下下限报警操作员取消延迟。由操作员界面设置为真可取消延迟下下限报警条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
ROCPosOperUnshelve | BOOL | 正变化率报警操作员取消延迟。由操作员界面设置为真可取消延迟正变化率报警条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时置位,则取消延迟命令优先于延迟命令。 默认值为假。 |
ROCNegOperUnshelve | BOOL | 负变化率报警操作员取消延迟。由操作员界面设置为真可取消延迟负变化率报警条件。报警指令会将此参数设置为假。如果延迟和取消延迟参数同时为真,则取消延迟命令优先于延迟命令。 默认值为假。 |
ProgDisable | BOOL | 从指令操作数中复制而来。 |
OperDisable | BOOL | 由操作员界面设置为真可禁用报警。报警指令会将此参数设置为假。 默认值为假。 |
ProgEnable | BOOL | 从指令操作数中复制而来。 |
OperEnable | BOOL | 由操作员界面设置为真可启用报警。优先于禁用命令。报警指令会将此参数设置为假。 默认值为假。 |
AlarmCountReset | BOOL | 由操作员界面设置为真可复位所有条件的报警计数。报警指令会将此参数设置为假。 默认值为假。 |
HHMinDurationEnable | BOOL | 上上限报警最短持续时间启用。若设置为真,可在检测到上上限报警条件时启用最短持续时间计时器。 默认值为真。 |
HMinDurationEnable | BOOL | 上限报警最短持续时间启用。若设置为真,可在检测到上限报警条件时启用最短持续时间计时器。 默认值为真。 |
LMinDurationEnable | BOOL | 下限报警最短持续时间启用。若设置为真,可在检测到下限报警条件时启用最短持续时间计时器。 默认值为真。 |
LLMinDurationEnable | BOOL | 下下限报警最短持续时间启用。若设置为真,可在检测到下下限报警条件时启用最短持续时间计时器。 默认值为真。 |
HHLimit | REAL | 上上限报警限值。 有效值 = HLimit < HHLimit < 最大正浮点值。 默认值 = 0.0。 |
HHSeverity | DINT | 上上限报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
HLimit | REAL | 上限报警限值。 有效值 = LLimit < HLimit < HHLimit。 默认值 = 0.0。 |
HSeverity | DINT | 上限报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
LLimit | REAL | 下限报警限值。 有效值 = LLLimit < LLimit < HLimit。 默认值 = 0.0。 |
LSeverity | DINT | 下限报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
LLLimit | REAL | 下下限报警限值。 有效值 = 最大负浮点值 < LLLimit < LLimit。 默认值 = 0.0。 |
LLSeverity | DINT | 下下限报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
MinDurationPRE | DINT | 在报警级别条件被标记为 InAlarm 并向客户端发送报警通知之前,报警级别条件保持为真的最短持续时间预置值(以毫秒计)。一旦检测到报警条件,控制器就会立即收集报警数据;因此在等待达到最短持续时间期间不会丢失任何数据。不适用于变化率报警条件或已禁用最短持续时间检测的报警条件。MinDurationPRE 仅适用于在任一方向上从正常状态的首次变化。例如,一旦上限报警条件超时,上上限报警条件将立即变成激活状态,而下限报警条件等待超时周期。 有效值 = 0...2147483647。 默认值 = 0。 |
ShelveDuration | DINT | 被延迟的报警将延迟的持续时间(以分钟计)。最短时间是一分钟。最长时间由 MaxShelveDuration 定义。 |
MaxShelveDuration | DINT | 报警被延迟的最长时间(以分钟计)。 |
Deadband | REAL | 用于检测上上限、上限、下限和下下限报警级别已返回正常状态的死区。 如果 In 值连续变化,但仍保持在级别条件阈值附近,则非零 Deadband 可降低报警条件的波动。Deadband 值不会影响向 InAlarm(激活)状态的跳变。级别条件处于激活状态后,但在报警条件返回未激活(正常)状态前,In 值必须: 下降至阈值减去死区所得结果之下(适用于上限和上上限报警条件)。 OR 上升至阈值加上死区所得结果之上(适用于下限和下下限报警条件)。 Deadband 不能用于限定最短持续时间测量。 有效值 = 0 = Deadband < 从首个启用的下限报警至首个启用的上限报警的量程。 默认值 = 0.0。 |
ROCPosLimit | REAL | 正变化率限值,以单位/秒表示。如果 ROCPeriod > 0.0,则对任何大于 0.0 的值启用检测。 有效值 = 0.0 至可能的最大浮点值。 默认值 = 0.0。 |
ROCPosSeverity | DINT | 正变化率报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
ROCNegLimit | REAL | 负变化率限值,以单位/秒表示。如果 ROCPeriod > 0.0,则对任何大于 0.0 的值启用检测。 有效值 = 0.0 至可能的最大浮点值。 默认值 = 0.0。 |
ROCNegSeverity | DINT | 负变化率报警条件的严重程度。此参数不会影响控制器处理报警,但可在报警订阅者上用于排序和过滤功能。 有效值 = 1...1000(1000 = 严重程度最高;1 = 严重程度最低)。 默认值 = 500。 |
ROCPeriod | REAL | 用于计算变化率值的时间周期(采样间隔),以秒为单位。每次采样时间间隔到期后,都将存储 In 中的新采样,并重新计算 ROC。变化率检测通过将 ROCPeriod 设为任意非零值的方式使能,而不像模拟报警中的其他条件那样使用使能位。 有效值 = 0.0...32767.0 默认值 = 0.0。 |
输出参数
以下输出参数对梯形逻辑通用。
输出参数 | 数据类型 | 说明 | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AnyInAlarmUnack | BOOL | 报警激活和应答的组合状态。当检测到任一报警条件且处于未应答状态时设置为真。当所有报警条件都处于未激活和/或已应答状态时设置为假。 | ||||||||||||||||||||||||||||||
HHInAlarm | BOOL | 上上限报警条件状态。当上上限报警条件激活时设置为真。当不存在任何上上限报警条件时设置为假。 | ||||||||||||||||||||||||||||||
HInAlarm | BOOL | 上限报警条件状态。当上限报警条件激活时设置为真。当不存在任何上限报警条件时设置为假。 | ||||||||||||||||||||||||||||||
LInAlarm | BOOL | 下限报警条件状态。当下限报警条件激活时设置为真。当不存在任何下限报警条件时设置为假。 | ||||||||||||||||||||||||||||||
LLInAlarm | BOOL | 下下限报警条件状态。当下下限报警条件激活时设置为真。当不存在任何下下限报警条件时设置为假。 | ||||||||||||||||||||||||||||||
ROCPosInAlarm | BOOL | 正变化率报警条件状态。当存在正变化率报警条件时设置为真。当不存在任何正变化率报警条件时设置为假。 | ||||||||||||||||||||||||||||||
ROCNegInAlarm | BOOL | 负变化率报警条件状态。当存在负变化率报警条件时设置为真。当不存在任何负变化率报警条件时设置为假。 | ||||||||||||||||||||||||||||||
ROC | REAL | In 变化率的计算值。此值在每次 ROCPeriod 过期后扫瞄指令时更新。ROC 值用于评估 ROCPosInAlarm 和 ROCNegInAlarm 条件。 ROC = (In 的当前采样 – In 的前一采样) / ROCPeriod | ||||||||||||||||||||||||||||||
HHAcked | BOOL | 上上限报警条件应答状态。当上上限报警条件已应答时设置为真。当 AckRequired 设置为假时始终设置为真。当上上限报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
HAcked | BOOL | 上限报警条件应答状态。当上限报警条件已应答时设置为真。当 AckRequired 设置为假时始终设置为真。当上限报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
LAcked | BOOL | 下限报警条件应答状态。当下限报警条件已应答时设置为真。当 AckRequired 设置为假时始终设置为真。当下限报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
LLAcked | BOOL | 下下限报警条件应答状态。当下下限报警条件已应答时设置为真。当 AckRequired 设置为假时始终为真。当下下限报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
ROCPosAcked | BOOL | 正变化率报警条件应答状态。当正变化率报警条件已应答时设置为真。当 AckRequired 设置为假时始终为真。当正变化率报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
ROCNegAcked | BOOL | 负变化率报警条件应答状态。当负变化率报警条件已应答时设置为真。当 AckRequired 设置为假时始终设置为真。当负变化率报警条件未应答时设置为假。 | ||||||||||||||||||||||||||||||
HHInAlarmUnack | BOOL | 上上限报警条件激活和未应答的组合状态。当上上限报警条件激活(HHInAlarm 为真)且未应答时设置为真。当上上限报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
HInAlarmUnack | BOOL | 上限报警条件激活和未应答的组合状态。当上限报警条件激活(HInAlarm 为真)且未应答时设置为真。当上限报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
LInAlarmUnack | BOOL | 下限报警条件激活和未应答的组合状态。当下限报警条件激活(LInAlarm 为真)且未应答时设置为真。当下限报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
LLInAlarmUnack | BOOL | 下下限报警条件激活和未应答的组合状态。当下下限报警条件激活(LLInAlarm 为真)且未应答时设置为真。当下下限报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
ROCPosInAlarmUnack | BOOL | 正变化率报警条件激活和未应答的组合状态。当正变化率报警条件激活(ROCPosInAlarm 为真)且未应答时设置为真。当正变化率报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
ROCNegInAlarmUnack | BOOL | 负变化率报警条件激活和未应答的组合状态。当负变化率报警条件激活(ROCNegInAlarm 为真)且未应答时设置为真。当负变化率报警条件未激活和/或已应答时设置为假。 | ||||||||||||||||||||||||||||||
Suppressed | BOOL | 报警的抑制状态。报警被抑制时设置为真。报警未被抑制时设置为假。 | ||||||||||||||||||||||||||||||
HHShelved | BOOL | 上上限报警条件延迟状态。当上上限报警条件已延迟时设置为真。当上上限报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
HShelved | BOOL | 上限报警条件延迟状态。当上限报警条件已延迟时设置为真。当上限报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
LShelved | BOOL | 下限报警条件延迟状态。当下限报警条件已延迟时设置为真。当下限报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
LLShelved | BOOL | 下下限报警条件延迟状态。当下下限报警条件已延迟时设置为真。当下下限报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
ROCPosShelved | BOOL | 正变化率报警条件延迟状态。当正变化率报警条件已延迟时设置为真。当正变化率报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
ROCNegShelved | BOOL | 负变化率报警条件延迟状态。当负变化率报警条件已延迟时设置为真。当负变化率报警条件取消延迟时设置为假。 | ||||||||||||||||||||||||||||||
Disabled | BOOL | 报警的禁用状态。报警不可用(禁用)时设置为真。报警启用时设置为假。 | ||||||||||||||||||||||||||||||
Commissioned | BOOL | 不使用“已使用”位。 | ||||||||||||||||||||||||||||||
MinDurationACC | DINT | 未使用。值始终为 0。 | ||||||||||||||||||||||||||||||
HHInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出上上限报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
HHAlarmCount | DINT | 上上限报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
HInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出上限报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
HAlarmCount | DINT | 上限报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
LInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出下限报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
LAlarmCount | DINT | 下限报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
LLInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出下下限报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
LLAlarmCount | DINT | 下下限报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
ROCPosInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出正变化率报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
ROCPosInAlarmCount | DINT | 正变化率报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
ROCNegInAlarmTime | LINT | ALMA 指令最近一次检测到 In 值超出负变化率报警条件限值而转换到激活状态时的时戳。 | ||||||||||||||||||||||||||||||
ROCNegAlarmCount | DINT | 负变化率报警条件的激活次数。如果达到最大值,计数器会使值保持在最大计数值。 | ||||||||||||||||||||||||||||||
AckTime | LINT | 最近一次对报警条件进行应答的时戳。如果报警不需要应答,则此时戳等于最近一次报警条件的时间。 | ||||||||||||||||||||||||||||||
RetToNormalTime | LINT | 报警恢复正常状态的时戳。 | ||||||||||||||||||||||||||||||
AlarmCountResetTime | LINT | 指示复位报警计数时间的时戳。 | ||||||||||||||||||||||||||||||
ShelveTime | LINT | 指示上次延迟报警条件时间的时戳。当报警条件已延迟时由控制器进行设置。报警条件可多次延迟或取消延迟。每次延迟报警条件时,时戳都将设置为当前时间。 | ||||||||||||||||||||||||||||||
UnshelveTime | LINT | 指示何时取消延迟所有报警条件的时戳。仅当未延迟任何报警条件时才设置此值。此时戳将确定为 ShelveDuration 时间段和当前时间的和。如果通过编程方式或由操作员取消延迟报警条件,并且未延迟其他报警条件,则该值将设置为当前时间。 | ||||||||||||||||||||||||||||||
Status | DINT | 组合状态指示器:
| ||||||||||||||||||||||||||||||
InstructFault (Status.0) | BOOL | 存在指令错误状况。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。 | ||||||||||||||||||||||||||||||
InFaulted (Status.1) | BOOL | 由用户程序将 InFault 置位以说明输入数据不良。报警继续评估 In 是否符合报警条件。 | ||||||||||||||||||||||||||||||
SeverityInv (Status.2) | BOOL | 报警严重程度配置无效。 如果严重程度 <1,指令则使用严重程度 = 1。 如果严重程度 >1000,指令则使用严重程度 = 1000。 | ||||||||||||||||||||||||||||||
AlarmLimitsInv (Status.3) | BOOL | 报警限值配置无效(例如,LLimit < LLLimit)。如果无效,该指令会将所有级别条件激活位清零。并且在清除故障之前,不会检测到任何新的级别条件。 | ||||||||||||||||||||||||||||||
DeadbandInv (Status.4) | BOOL | 死区配置无效。如果无效,指令将使用 死区 = 0.0。 有效值 = 0 = Deadband < 从首个启用的下限报警至首个启用的上限报警的量程。 | ||||||||||||||||||||||||||||||
ROCPosLimitInv (Status.5) | BOOL | 正变化率限值无效。如果无效,指令将使用 ROCPosLimit = 0.0,这会禁用正变化率检测。 | ||||||||||||||||||||||||||||||
ROCNegLimitInv (Status.6) | BOOL | 负变化率限值无效。如果无效,指令将使用 ROCNegLimit = 0.0,这会禁用负变化率检测。 | ||||||||||||||||||||||||||||||
ROCPeriodInv (Status.7) | BOOL | 变化率时间段无效。如果无效,指令将使用 ROCPeriod = 0.0,这会禁用变化率检测。 | ||||||||||||||||||||||||||||||
Overflow (Status.8) | BOOL | 当检测到溢出条件时,将 Overflow 位设置为真。已纠正溢出条件后,将 Overflow 位设置为假。 仅适用于 针对主题内表格中的 L8 controller。 |
将按钮连接至 OperShelve 标签
报警指令仅在由清零跳变为置位时才会处理 OperShelve 标签,以免报警发生不必要的重新延迟。如果操作员在 ProgUnshelve 标签置位时按下按钮以延迟报警,则报警不会被延迟,因为 ProgUnshelve 标签优先。要延迟此报警,操作员可以松开按钮,然后在 ProgUnshelve 清零后再次按下。
影响数学状态标志
控制器 | 是否影响数学状态标志 |
CompactLogix 5380、ControlLogix 5580、ControlLogix 5590、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器 | 在一定条件下影响 |
CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 是 |
在以下情况下会发生轻微故障: | 故障类型 | 故障代码 |
仅对于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370 和 GuardLogix 5570 控制器 | 4 | 4 |
请参阅 数学状态标志。
严重/轻微故障
没有特定于此指令的故障。对于数组索引故障,请参阅 通过数组建立索引。
模拟报警状态图
以下各图显示了模拟报警对变化的报警条件和操作员命令进行响应的方式。




模拟报警时序图
以下各时序图显示了模拟报警工作的序列。
级别报警条件行为(应答)

级别报警条件行为(无应答)

ROC 报警条件行为(应答)

ROC 报警条件行为(无应答)

执行
梯形图
条件/状态 | 执行的操作 |
预扫描 | 梯级输出条件设置为假。 将所有 ALMA 结构参数清零 应答所有报警条件。 将所有操作员请求清零 将所有时戳清零 将所有传送标志清零。 |
梯级输入条件为假 | 梯级输出条件设置为假。 |
梯级输入条件为真 | 梯级输出条件设置为真 指令执行 |
后扫描 | 梯级输出条件设置为假 |
功能块
条件/状态 | 执行的操作 |
预扫描 | Tag.EnableOut 清除为假。 将所有 ALMA 结构参数清零 应答所有报警条件。 将所有操作员请求清零 将所有时戳清零 将所有传送标志清零。 |
Tag.EnableIn 为假 | Tag.EnableOut 设置为假 |
Tag.EnableIn 为真 | 指令执行 Tag.EnableOut 设置为真 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | Tag.EnableOut 设置为假 |
结构化文本
在结构化文本中,EnableIn 在普通扫描期间始终为真。因此,如果指令处于由逻辑激活的控制路径中,指令将会执行。
条件/状态 | 执行的操作 |
预扫描 | 请参阅“梯形图”表中的“预扫描”行。 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行。 |
示例
梯形图

功能块
以下所示为功能块形式的 ALMA 指令的示例。在此示例中,监视 Tank 32 液位传感器 (Tank32LT) 是否满足报警条件。Tank32LevelAck 标签可用于应答此报警的所有条件。

结构化文本
在此示例中,监视 Tank 32 液位传感器 (Tank32LT) 是否满足报警条件。Tank32LevelAck 标签可用于应答此报警的所有条件。
ALMA(Tank32Level,Tank32LT,Tank32LevelAck,0, 0);
提供反馈