2023年11月27日发(作者:)

220

第七章 报警和事件

力控能及时将控制过程和系统的运行情况通知操作人员。力控系统支持“过程报警”、

“系统报警”和“事件记录”的显示、记录和打印。过程报警是指过程情况的警告;系统

报警是有关系统运行错误报警以及I/O设备运行错误或故障报警等;而事件记录则是系统

对各种系统状态以及用户操作等信息的记录。

报警产生时首先由实时数据库处理和保存,然后可由界面系统显示和确认。力控的数据库

与界面系统可以分布运行在不同网络结点上,任意一台工作站的人机界面系统都可以显示

和确认运行在其他网络工作站上的实时数据库产生的报警数据。而分布式的报警信息对于

操作人员是透明的,操作人员不必清楚报警来自于本地数据库或远程网络数据库。

7.1 报警和事件

力控通过这些报警和事件,用户可以方便地监视和查看系统的报警、操作和各个工作站的

运行情况。报警是控制过程状态出现问题时发出的警告,同时要求操作人员做出响应。当

一过程值超出用户定义的某种界限时,譬如模拟量超出了上限值,报警即被触发。它触发

了未确认报警状态,可以通知操作人员发生了什么问题。

事件记录了系统各种状态的变化和操作人员的活动情况,不要求操作人员作出响应。当产

生一特定系统状态时,比如某操作人员登录到力控时,事件即被触发。事件由运行系统View

来记录和显示。

7.2 报警类型

我们在第三章已经详细介绍了实时数据库的报警类型,我们在这里作一个汇总。

模拟量报警限值

低低限报警 低低限LL

低限报警 低限LO

高高限报警 高高限HH

高限报警 高限HI

变化率报警 变化限值RATE和变化周期RATECYC

偏差报警 偏差限值DEV和设定值SP

报警死区 死区限值DEADbAND

延时报警 延时时间ALARMDELAY

第七章 报警和事件 221

开关量报警限值

开关量状态报警 正常状态值NORMALVAL

7.3 报警优先级

报警优先级是处理和显示各类报警先后顺序的依据。它标志着报警的严重程度,您可以在

动作脚本中利用脚本函数GetCurAlm来获取当前报警的优先级,然后根据优先级来进行其

它处理。

下表汇总了各种类型的报警优先级:

模拟量报警优先级

低低限报警 低低限报警优先级LLPR

低限报警 低限报警优先级LOPR

高高限报警 高高限报警优先级HHPR

高限报警 高限报警优先级HIPR

变化率报警 变化率报警优先级RATEPR

偏差报警 偏差报警优先级DEVPR

PV值报警 PV值报警优先级BADPVPR

开关量报警优先级

开关量状态报警 异常报警优先级ALARMPR

优先级的不同取值分别代表各类报警优先级的不同级别:

0:无动作,即不关心该类型报警,也不生成报警记录

1:低级

2:高级

3:紧急报警

4个级别从03优先级顺序从低到高。

222 第二部分 用户指南

高优先级的报警优先处理,在实时报警记录和系统报警记录显示中,首先显示高优先级的

报警。

7.4 报警区域

力控的报警系统可以根据过程点所在区域的不同对这些点产生的报警信息进行过滤。

在创建数据库时,用户可以按照生产工艺过程,将点划分在不同的区域内。力控系统可以

支持多达31(0~30)个区域。设置了报警处理的数据库点分布在不同的区域时,就形成了报

警区域。

力控可以对不同报警区域进行分别地显示和处理。

7.5 报警组态

报警数据在实时数据库中处理和保存。各种报警参数是数据库点的基本参数,在用数据库

管理器(DbManager)进行点组态时同时设置点的报警参数(请参考本手册第三章内容)。

报警记录是用来显示和确认报警数据的窗口。由开发系统Draw在工程画面中创建,而由

界面运行系统View运行显示。

7.5.1 报警记录

报警记录使用两种预定义的类型:实时报警和历史报警。“实时报警”只反映当前未确认

和确认的报警。如果经过处理后一个报警返回到正常状态,则这个位号的报警状态变为“恢

复”状态,它前面产生的报警状态从显示中消失。“历史报警”反映了所有发生过的报警。

“历史报警记录”可显示出报警发生的时间、确认的时间和报警状态返回到正常状态时的

时间。

在两种类型报警的显示中,报警记录按行显示,一屏可显示的行数由报警记录的大小和显

示字体决定。

力控允许您配置报警记录,包括显示字体、确认未确认项的显示颜色等。

报警记录由以下字段组成:

“报警时间 + 报警点位号 + 报警点描述 + 报警类型 + 报警值 + 报警优先级 + 确认

或恢复状态”。各个字段在运行时是否显示是可选择的。

报警产生时间

格式为:YY/MM/DD hhmmss

其中:

YY 表示年

MM 表示月

DD 表示日

hh 表示时

mm 表示分

ss 表示秒

第七章 报警和事件 223

报警位号

报警点的位号名称。

报警点描述

报警点的点描述(引用Db中点参数DESC的值)。

报警类型

发生报警的类型,模拟量报警包括:低报、低低报、高报、高高报、偏差报警、变化率报

警等,开关量报警实际上就是异常值报警,共有ON报警和OFF报警两种情况。

报警当前值

产生报警时的过程值。

报警优先级

发生报警的优先级别,包括低级,高级,紧急报警。

确认或恢复状态

报警是否处于确认、未确认和恢复、未恢复状态。

7.5.2 创建报警记录

创建一个标准的报警记录:

1、单击工具箱中的“报警记录”工具按钮。

2、在窗口中单击,按住鼠标左键进行拖动,调整报警记录大小。如下图所示:

注意:报警记录和其它图形对象一样,可用鼠标拖拽移动位置,。一个窗口中可以创建多

个报警记录。拖拽手柄改变其大小。报警记录中显示了报警信息的文本格式。

7.5.3 配置报警记录

224 第二部分 用户指南

双击报警记录,出现“报警组态”对话框:

对话框共有两页信息,“一般配置”和“记录格式”。

在“一般配置”页中包含以下各项内容:

数据源

此项设定报警记录所显示的报警信息的数据源。数据源中的选项是已定义的指向实时数据

库的数据源名称。因为力控是一个分布式多数据库系统,所以这些实时数据库可以是本地

实时数据库,也可以是网络中其它结点的实时数据库。

报警类型

此项设定报警记录类型:实时记录或历史记录。实时记录类型的报警记录显示所有当前激

活的报警,历史记录类型的报警记录显示报警信息的历史记录。

确认、未确认颜色

可以为报警记录中的未确认和确认的报警选择文本的颜色。

字体

单击此项按钮,弹出字体选择对话框。可以为报警记录中的文本重新选择字体。

第七章 报警和事件 225

区域

对于实时报警记录您可以设定从031的区域号以显示指定区域的报警信息,或者选择

“所有区域”以显示来自所有区域的报警信息(这时的区域号为-1)。

对于历史报警记录您可以指定从031的区域号以显示指定区域报警信息的历史记录(历

史报警记录不能指定显示所有区域)。

单击“报警组态”对话框标签“记录格式”, 切换到“记录格式”页:

在“记录格式”页中包含以下各项内容:

226 第二部分 用户指南

标题

此复选框用来指定是否在运行时显示报警标题。

背景颜色

当显示报警标题时,此项用来指定报警标题的背景颜色。

前景颜色

当显示报警标题时,此项用来指定报警标题的前景颜色。

日期

此复选框用来指定是否在运行时显示发生报警的日期。单击其后的下拉框,有几种日期显

示格式可供选择:

时间

此复选框用来指定在运行时是否显示发生报警的时间。

位号

此复选框用来指定在运行时是否显示发生报警的点的位号。当选择显示发生报警的点的位

号时,其后面的输入框用来指定显示位号名称的字符宽度。

说明

第七章 报警和事件 227

7.6 改变显示区域

力控允许您在运行期间动态改变报警记录的区域以对报警信息进行过滤。

下面描述了用脚本方式改变报警记录区域的过程(对于实时报警和历史报警的方法相同)

假设我们创建三个工具按钮,分别用于控制报警记录在运行期间显示0区域、1区域和所

有区域的报警信息。

1、首先创建一个报警记录(方法如前文所述),然后创建三个按钮:“0区域”、“1

域”和“所有区域”。同时选中这三个按钮和报警记录,然后选择工具箱中“打成单元”

工具。这时,三个工具按钮与报警记录建立了单元连接关系。

2选中“0区域”按钮(因为该按钮对象与报警记录建立了单元连接关系,所以在被选中

后其控制手柄的样式变成了空心小矩形块,而不是一般情况下的黑色小矩形块), 双击

该按钮对象打开动画连接对话框:

3、单击“触敏动作/左键动作”打开动作脚本编辑器:

在“按下鼠标”对应的编辑器里输入:“_no = 0”。

如图:

228 第二部分 用户指南

4、单击“确认”,并关闭对话框。

5对于另外两个按钮“1区域”和“所有区域”采用相同的方法创建脚本,但在“触敏动

/左键动作”脚本编辑器中分别在“按下鼠标”对应的编辑器里输入:“_no

= 1”和“_no = -1”。

在运行时,分别选择这三个按钮,报警记录显示的内容将依次被切换为:第0区域、第1

区域和所有区域的报警信息。

7.7 确认报警

对报警进行确认可以有多种方式。当操作人员想确认某个过程点最近发生的一条报警时,

它可以在运行系统的实时报警记录上,选择该条报警记录,然后用鼠标左键进行双击操作,

报警则变为确认状态。

也可以通过脚本动作确认报警。这种方法既可以对当前最新产生的一条报警进行确认,也

可以同时对所有未确认的报警进行确认。下面描述了用脚本方式确认当前最新报警和所有

报警的过程:

1、首先创建一个实时报警记录。注意,报警的确认只能通过实时报警记录进行。然后创

建用于操作的两个按钮:“确认当前报警”和“确认所有报警”。按住Shift, 用鼠标

依次单击“确认当前报警”、“确认所有报警”按钮和实时报警记录,于是这三个对象同

时被选中,选择工具箱中“打成单元”工具,使这两个按钮对象与实时报警记录形成单元

连接关系。如下图:

第七章 报警和事件 229

2、选中“确认当前报警”按钮(因为该按钮对象与实时报警记录建立了单元连接关系,

所以在被选中后其控制手柄的样式变成了空心小矩形块,而不是一般情况下的黑色小矩形

块),双击该按钮对象打开动画连接对话框:

3、单击“触敏动作/左键动作”打开动作脚本编辑器:

在“按下鼠标”对应的编辑器里输入:“AlmAck();”如图:

230 第二部分 用户指南

4、同样,对于“确认所有报警”加入“触敏动作/左键动作”:

在脚本编辑器中在“按下鼠标”对应的编辑器里输入:“AlmAckAll(0, -1);” ,如图:

需要说明的是:函数AlmAckAll中第一个参数是预先定义的指向本地实时数据库Db的数

据源的序号,这个数据源就是报警配置中的数据源;第二个参数是区域号,在这里设为-1

代表所有区域。

5、单击“确认”按钮接受输入,并关闭对话框。

7.8 查询历史报警

在实际生产过程中,每天都要产生大量的报警。在历史报警记录中显示的报警信息是在一

天里产生的报警记录按发生时间的倒序排列显示的。在报警记录的右端有一个垂直滚动

条。用鼠标双击垂直滚动条向上或向下的箭头,报警记录向前或向后进行翻屏。

下面描述了用脚本方式实现按天查询历史报警记录的过程:

第七章 报警和事件 231

1首先创建一个历史报警记录。然后创建用于操作的两个按钮:“前一天”和“后一天”。

按住Shift, 用鼠标依次单击“前一天”、“后一天”按钮和历史报警记录,于是这三

个对象同时被选中,选择工具箱中“打成单元”工具,使这两个按钮对象与历史报警记录

建立单元连接关系。

2、选中“前一天”按钮对象,双击该按钮对象打开动画连接对话框。

3、单击“触敏动作/左键动作”打开动作脚本编辑器:

在“按下鼠标”对应的编辑器里输入:“_day = _day + 1;”。

因为该按钮对象与报警记录建立了单元连接关系,所以在按钮对象的动作脚本中的

“this”就指向了报警记录。“.off_day”是报警记录的一个属性字段,用于确定其时间

查询条件,单位为天。off_day0时,表示显示当天的报警记录,为1时表示前一天,

2表示前两天,等等。

4、对于“后一天”按钮采用相同的处理:在脚本编辑器中在“按下鼠标”对应的编辑器

里输入:“_day = _day - 1;”。

5、单击“确认”按钮,关闭对话框。

6、进入运行后,每用鼠标点击“前一天”按钮一次,历史报警记录显示的报警记录的时

间向前翻一天;每用鼠标点击“后一天”按钮一次,历史报警记录显示的报警记录的时间

向后翻一天。

注意:力控可以保存一年的历史报警信息,一年以前的内容将被新的内容覆盖。

7.9 系统报警记录

系统报警记录为长条形窗口,显示在屏幕的顶部或底部。它是一种顶层窗口,始终显示在

屏幕上,不会因为切换画面而关闭。

系统报警记录分为左右两个显示区,左边的部分为系统报警区,显示最近发生的系统报警

记录;右边部分为过程报警区,显示最近发生的过程报警记录。

如下图所示:

若要在运行时显示系统报警记录,需要按如下步骤修改系统参数。

232 第二部分 用户指南

1、在导航器中双击系统参数一项:

弹出系统参数组态窗口:

第七章 报警和事件 233

2、选择复选框“系统报警窗”,并选择后面的下拉框以确定在运行时,系统报警记录显示

在屏幕顶部还是屏幕底部。

3、单击“确认”按钮返回。

如果没有选择显示系统报警记录,在运行系统中即使发生过程报警,系统报警记录也不会

出现。但是当发生系统报警(如:当系统检测到I/O设备发生故障或其它异常情况)时,

系统报警记录会自动出现,但仅显示系统报警区的信息,如下图所示:

单击窗口右侧的“关闭”按钮,可隐藏系统报警记录。当新的系统报警发生时,系统报警

记录重新自动出现。

7.10 事件

力控事件系统记录了系统进程的启停、系统状态的变化、系统内部消息以及操作人员的活

动记录等信息。例如:当系统启动运行或退出运行,操作人员手工设置变量数值时,就会

触发力控的事件系统对所发生的事件进行记录。

在实际应用中,事件记录可以作为事故追忆、历史信息查询的重要手段。

记录的事件类型分为三类:“系统事件”、“过程操作”和“系统操作”,分类进行显示

或查询。

当指定了查询事件记录的日期和时间后,单击“开始定位”按钮,事件记录窗口自动更新

显示查询到的所有事件记录信息。

7.11 显示事件记录

显示事件记录的过程比较简单。一种方法是在运行环境中直接激活运行系统菜单命令:“窗

[W]/事件记录显示”。另外一种方法是通过脚本动作实现:

234 第二部分 用户指南

1、首先要创建一个操作按钮用于显示事件记录,假设将其定义为“显示事件”按钮。选

中“显示事件”按钮:

2、双击该对象打开动画连接对话框:

3、单击“触敏动作/左键动作”打开动作脚本编辑器,在“按下鼠标”对应的编辑器里输

入:“EventDisp()”。

如图:

第七章 报警和事件 235

4、单击“确认”按钮,关闭对话框。