Skip to main content

管理库中的警报

作为库开发人员,您可以为特定的功能块或结构类型定义警报条件。

具体来说,这意味着您需要为此类 POU 的变量创建一个报警组模板对象,并在其中配置报警定义。POU 对象的报警组模板对象随后将位于 POU 树或设备树中。这些报警定义随后将在应用程序中的警报配置对象以便在运行时执行警报检查。

作为应用程序开发人员,您可以使用包含警报定义的库 POU 来支持创建警报配置。在整个应用程序开发过程中,您将获得警报配置支持。在您的应用程序下方添加一个警报配置。然后,特殊的生成周期会为包含警报定义的功能块实例创建警报。为此,请执行创建或更新警报实例命令,以便为所有实例也创建警报实例。

您可以继续编辑警报配置。例如,您可以取消选择单个警报实例。

为了使应用程序代码与报警配置保持一致,在编译 IEC 代码时会检查报警实例的完整性和正确性。结果显示在消息视图中,以便您始终了解报警配置的状态。如果您不想这样做,可以禁用编译时检查报警实例警报配置中的选项。

您可以使用alarm_creation_default属性 pragma 控制此实例的默认创建方式。

6. 警报配置
警报配置


有关详细信息,请参阅下列内容:报警组模板Alarm Configuration, 和属性:alarm_creation_default

在库中集中定义警报类别

您可以在单独的库中集中定义报警类。这样做的好处是,您可以集中定义、更改和管理报警类的属性和行为。然后,这些报警类将在实现库中被引用,实现库由带有相应报警组模板的功能块组成。

来自其他库的警报类必须与命名空间一起列出,以避免与同名的本地警报类产生混淆。

由于目前只有一个报警内存,因此无需在报警组中进行配置。报警类别决定是否保存报警。

_vis_img_library_alarmclass.png

如果实现了库报警类,则可以在库中集中定义报警类的行为,然后在实现库中引用。

注意

先前预定义的错误信息, 和警告如果只使用库中的警报类别,则可以删除警报配置下的警报类别。

使用库中带有报警组模板的功能块

该类型变量的报警条件可以在报警组模板中定义。

  1. 选择您的应用程序。

    点击添加对象 → 报警组成模板并在添加报警组成模板对话。

    新的报警组模板对象AGT_FB_DoIT在您的应用程序下方创建。

    提示:该对象也可以存储在 POU 下。

  2. 警报定义类型中,选择要定义报警的类型(功能块或结构)。

    FB_DoIt

  3. 在“详细信息”下,定义以下类型的警报:

    • 在下面细节,编写一个报警条件。

    • 在下面班级,指定一个警报类,最好是来自警报类库的警报类。

    _vis_img_alarm_group_template.png

具有继承的功能块

如果您有一个扩展其他功能块的基本功能块,那么您还可以为该基本功能块创建一个警报组模板并在其中定义警报。

或者,您也可以为派生功能块创建警报组模板。您还可以访问基础功能块的变量,以便为继承的变量编写警报定义。

_vis_img_library_alarmgroup.png

创建和更新警报实例

您可以更新警报配置,以便应用程序中所有声明的实例都列在那里。

  1. CODESYS,打开警报配置应用程序下方的对象。

  2. 点击创建或更新警报实例按钮。

    该应用程序所有带有报警组模板的实例目前都列在警报实例桌子。

检查项目

您可以启用或禁用实例的警报生成。默认情况下,所有警报实例都会添加到警报配置中。在创造列中,您可以取消选择单个实例,这样就不会对特定实例进行警报评估。

如果要将警报实例分成不同的组,则可以在报警组成列。必须先在警报配置下创建警报组。

有关详细信息,请参阅下列内容:Alarm Configuration属性:alarm_creation_default