报警的作用
在对工业现场监控时,如果一旦发现某一参数的数值发生了异常,就应该马上的通知操作人员,以便于操作人员对异常情况采取及时而有效的措施,避免发生重大的损失。在紫金桥实时数据库中可以使用报警来完成对异常的通知。在紫金桥系统中报警的产生、处理和保存都在实时数据库中完成,当需要显示报警时,可以运行人机界面系统来显示报警。
报警的分类
报警可以分为如下几类:
1、 限值报警
对过程变量的测量值设置一系列的限值,当测量值越过限值时,就会产生限值报警。限值共有4种,即低低限、低限、高限、高高限,注意它们都必须在测量值的量程范围内,并且它们的数值必须依次增大。当测量值越限时,并不是针对于每一个限值都产生一个报警,而是仅产生最近越限的报警。比如当测量值越过高高限时,并不是会产生高限和高高限两个报警,而是仅产生一个高高限报警。
2、 偏差报警
当过程变量测量值相对于用户的设定值偏差超过了用户的指定范围时,就会产生偏差报警。这里偏差的意义是测量值和设定值之差的绝对值。
3、 变化率报警
当过程变量测量值的变化率超过用户设定的变化率时而产生的报警。也就是说,这种报警的产生表明过程变量变化的太快了,发生了异常。此处的变化率的意义是在一秒钟的时间范围内过程变量变化的绝对值的大小,计算公式为:abs(当前测量值-上次测量值)/(当前时间-上次测量时间)。
4、 状态异常报警
数字量和模拟量不同,它的状态只有0或1两种。所以当它发生异常时,它的状态也只能是0或1两种情况之一。我们可以设定它的某一种状态为异常状态,从而可以在测量值为异常值时产生状态异常报警。
5、系统报警
系统报警是指系统运行错误或I/O设备发生故障而产生的报警。
报警死区和报警延时
对于限值报警来说,有可能会出现这样的情况,过程变量测量值总是刚刚越过限值,立刻又回到限值之内,这样可能会造成报警总是刚一出现立刻又消失,难以捕捉。当发生这种情况时,如果需要捕捉报警,就需要使用报警死区来解决。设定了报警死区后,当测量值越过限值后仍然产生报警,但是当测量值恢复到限值之内后,并不是立刻解除报警,只有当测量值继续恢复并且和限值之差超过报警死区后,报警才会恢复。
对于限值报警和偏差报警来说,当出现测量值越限又立刻恢复的情况时,如果和第一种情况相反,不想捕捉报警而是想忽略这种报警,那么可以使用报警延时来解决。设定了报警延时之后,当测量值发生变化使报警条件成立时,系统并不立即报警,而是继续测定报警条件,只有当报警条件持续成立并且持续的时间超过报警延时后,系统才产生报警。
为点参数设置报警
下面使用一个简单的例子来说明报警的设置和查看。
新建一工程,命名为“报警示例”,并进入组态环境。在组态环境中将导航器切换到数据库页,双击点组态项目,弹出点组态管理对话框。在组态管理对话框的右侧点列表中用鼠标双击一空白行,在弹出的对话框中选择模拟IO点并点击“继续”按钮,弹出点定义对话框。在点定义对话框的上方点名栏里输入AI101作为点名,在下方的量程下限和量程上限处分别填入-100和100。将对话框切换到报警参数页,选中报警开关复选框,此时下方的限值和偏差变化率等选项可用。选中低低限、低限、高限和高高限复选框,并把限值设为-50、-10、90和100,对应的报警优先级设定为高级报警、低级报警、高级报警和紧急报警,如下图所示:
点击“确定”按钮,完成点的定义。
在组态管理对话框的右侧点列表中选择AI101点并点击
按钮把该点的信息复制到剪贴板中。连续点击
两下,复制出AI102和AI103两个点。选择AI102点并把下方的点参数修改对话框切换到报警参数页,可以看到它的设置和AI101相同。在AI102的延时时间栏里输入5000,也就是说它的报警延时为5000毫秒。同样在AI103点的报警死区栏里输入5。
新建一个模拟IO点,名字叫AI104,打开它的报警开关,并选中偏差报警项,在DEV栏里输入25表示此点和设定值的偏差超过25时就会产生报警。选择报警级别为高级报警,同时更改设定值为10,如下图所示:
新建模拟IO点AI105,这次选择变化率报警项,将RATE设为5,报警级别设为高级报警,周期为1秒,如下图所示:
新建一数字IO点DI101,打开报警开关,并把其正常状态值设为0,如下图所示:
至此为止我们已经创建了5个模拟IO点和一个数字IO点,同时为它们分别组态了不同的报警设置,下一步我们将使用报警组件来查看这几个点的报警状态。
创建报警组件
将导航器切换到画面页,双击窗口选项创建一个新的窗口。在Draw中点击工具条按钮
会弹出如下所示的组件选择对话框:
在对话框的左侧选择报警组,并且在右侧双击图中所示图标或托拽该图标到窗口中,即可在当前窗口中创建报警组件。
双击报警组件,在弹出的报警组件设置对话框中把报警范围改为所有区域,其它的设置使用缺省值。至此为止我们就已经创建并完成了对报警组件的设置,关于报警组件各部分设置的意义,请参照帮助。
报警的查看
1、查看实时报警。
运行实时据库系统,在View中双击鼠标打开刚才创建的窗口,可以看到没有任何报警发生。打开实时据库,把AI101的值改为95,因为AI101的高限为90,所以此时应该产生限值报警,这时可以从报警组件中看到有一条高级报警产生。同样修改AI102的值为95,但是立刻再次把它的值改为0,可以发现一直没有新的报警产生。再次修改AI102的值为101可以看到并没有立刻产生报警,大概延时5秒钟之后有一条新的紧急报警产生。这是因为AI102组态了5秒钟的报警延时,当AI101的值超出限值后,在不到5秒钟的时间内又恢复时,并不产生报警,只有AI101的值连续超出限值的时间大于5秒钟时,才会有报警产生。把AI103的值也设为95,可以看到又立刻产生了一条新的报警。
在实时数据库中把AI101的值更改为0,可以看到在报警组件中,AI101的报警图标变为了绿色,这表明点AI101的值自动恢复了。同样把AI102的值也更改为0,这时发现AI102的报警图标并没有延时5秒,而是立刻变为了绿色,这说明报警延时对于报警恢复无效。将AI103的值更改为85,此时因为AI103设定了数值为5的报警死区,所以此时报警仍然没有恢复,只有在数据库中把AI103的值更改为84使它越过报警死区之后,在报警组件中才能看到AI103也变为恢复状态。
在实时数据库中把AI105的值改为10然后立刻又更改为100,因为位号AI105组了变化率报警,而它的值又在短时间内发生了很大的变化,导致变化率超出限制,这时可以从报警组件中看到一条AI105的变化率报警。把DI101的值更改为1,因为已经定义了DI101值为1时为异常值,所以也会有报警产生。
在报警组件中可以通过双击某一条报警记录来确认该报警,可以看到,如果该报警是报警恢复状态,那么报警被确认后消失,如果该报警不是恢复状态,那么确认后该报警图标变为绿色。通过点击报警组件中的“全确认”按钮,可以对当前的所