News And Information
-技术与支持-
微信公众号-关注紫金桥
了解软件最新资讯
当前位置:首页 >> 技术与支持 >> 常见问题
销售热线:
400-678-6601
售后热线:
13304891586
0459-8151391
0459-8151518
如何使用报警 
如何使用报警 
  报警的作用
  在对工业现场监控时,如果一旦发现某一参数的数值发生了异常,就应该马上的通知操作人员,以便于操作人员对异常情况采取及时而有效的措施,避免发生重大的损失。在紫金桥实时数据库中可以使用报警来完成对异常的通知。在紫金桥系统中报警的产生、处理和保存都在实时数据库中完成,当需要显示报警时,可以运行人机界面系统来显示报警。
  报警的分类
  报警可以分为如下几类:
  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,如下图所示:


  新建模拟IOAI105,这次选择变化率报警项,将RATE设为5,报警级别设为高级报警,周期为1秒,如下图所示:

  新建一数字IODI101,打开报警开关,并把其正常状态值设为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时为异常值,所以也会有报警产生。
  在报警组件中可以通过双击某一条报警记录来确认该报警,可以看到,如果该报警是报警恢复状态,那么报警被确认后消失,如果该报警不是恢复状态,那么确认后该报警图标变为绿色。通过点击报警组件中的“全确认”按钮,可以对当前的所有报警进行确认。
  2、 查看历史报警
在报警组件中,选择查看类型下拉框为历史报警状态,此时可以看到当天发生的所有报警,通过“前一天”“后一天”按钮可以切换报警显示的历史日期。
  3、 历史报警查询
  在报警组件中,选择查看类型下拉框为历史报警查询状态,此时弹出查询设置对话框,如下图所示:


  设置查询的起始和结束时间,并选择过滤条件,单击确定即可查询到符合条件的历史报警。

  设置系统报警窗口
  系统报警窗口是一个长条形的窗口,它被显示在屏幕的顶部或底部,是一种顶层窗口,始终显示在屏幕上,不会因为切换画面而关闭。系统报警窗口分为左右两个显示区,左侧为系统报警区,显示最近发生的系统报警;右侧为过程报警区,显示最近发生的过程报警。
  系统报警窗口的外观如下图所示:


可以使用如下的方法设置系统报警窗口:
将导航器切换到画面页,并双击“配置/系统参数”项目,弹出系统参数设置对话框。选择中复选框“系统报警窗”,并在后面的下拉框中选择运行时系统报警窗口的显示位置,单击“确认”按钮即可。


  报警触发动作
  当报警发生时用户可能希望执行一定的动作,比如显示报警声音或弹出一个窗口进行提示。紫金桥系统提供了报警触发动作来完成此项功能。假如我们需要当报警发生时使用声音来进行提示,设置方法如下所示:
  将导航器切换到画面页,双击脚本中的条件选项,弹出条件脚本定义对话框。在条件动作的名称栏中输入Alrm,注意此动作的名称不可和其他动作名称重复。选择执行方式为“为真期间执行”,并把执行间隔设置为500毫秒。如下图所示:


选择“预定义条件”复选框,并点击“预定义条件”按钮,弹出预定义条件设置对话框如下图所示:

  预定义条件的类型一共有3种,分别是“过程报警”、“数据源故障”和“设备故障”。其中数据源故障条件在远程数据源联接出现问题时触发动作,设备故障条件在数据采集出现问题时触发动作,过程报警条件是在数据库中的位号出现报警时触发动作。在这里我们选择过程报警选项。其他设置见上图。
  下一步我们需要输入预定义条件成立时,所触发的动作。因为我们希望使用声音来报警,所以只需要利用脚本语言来产生一段声音即可。如果计算机上没有安装声卡可以使用Beep函数来驱动计算机内置的小喇叭来发出声音。Beep函数有一个整型参数,表示发出声音的类型,当参数为0时声音最为刺耳,正好可以作为报警提示音。我们在触发动作编辑框中输入Beep(0)即可。如果计算机上安装有声卡,那么可以使用PlaySound来播放一段存在于硬盘声音文件中的声音。
  运行系统,当有报警产生时,可以听到有刺耳的报警音产生,确认该报警,声音消失。这里仅仅是一个简单的例子,您可以根据自己的需要设定自己定义的条件和触发动作。
和报警相关的数据库参数
  一、预定义的数据库参数
  紫金桥的实时数据库提供了几个预定义的和报警相关的数据库参数,如下所示:
  1、$ALARMTXT 字符型,意义为数据库最新报警的描述信息。
  2、$ALARM 整型,取值范围0-2,意义为数据库当前没有确认的报警的最高优先级。
  3、$ALARM[nn] 整型,范围0-2,nn范围从00到31,表示指定的区域,如$ALARM00表示区域0的未确认报警的最高优先级。
  二、数据库点的报警状态参数
  对于数据库中的任何一个模拟IO点和数字IO点来说,都有两个参数来表明该点的报警状态,如下所示:
  1、 ALMACK,整型,范围0-7,该状态表示当前报警是否确认,0到7中是该变量的最后3个bit,从低位到高位依次表示限值报警,偏差报警,变化率报警的确认状态。0表示没有确认,1表示已经确认。假如发生了偏差报警和限值报警,如果该值为2,二进制表示为010,则表示偏差报警已经确认,而限值报警没有确认。
  2、 ALMSTAT,整型,范围0-7,当前发生的报警。最后3个bit从低位到高位依次表示是否发生限值报警,偏差报警,变化率报警,0表示没有发生,1表示发生。如6(110)则表示变化率报警和偏差报警。
  以上状态参数可以直接在脚本和动画联接中使用,用以提供更灵活的方式来对报警进行控制。
  报警确认函数
  可以在脚本中使用AlrmAck的函数来对报警进行确认:
  格式:AlmAck(DataSource, AreaNo)
  DataSource:字符串类型,数据源名称。该项为空表示本地数据源。
  AreaNo:整型,数据库中的区域。