报警时间统计组件的动态使用

供稿:紫金桥软件技术有限公司

  • 关键词:紫金桥软件,报警
  • 作者:大庆紫金桥软件技术有限公司
  • 摘要:紫金桥实时数据库软件里预置了一些组件,分别实现不同的特定功能,在工程组态的时候,恰当利用这些组件来实现某些功能,会达到事半功倍的效果。紫金桥实时数据库软件里预置的报警时间统计组件,能够按照需求统计某些数据在某个时间段内的报警时间,从而计算出数据点在该时间段内正常运行的合格率。

紫金桥实时数据库软件里预置了一些组件,分别实现不同的特定功能,在工程组态的时候,恰当利用这些组件来实现某些功能,会达到事半功倍的效果。

紫金桥实时数据库软件里预置的报警时间统计组件,能够按照需求统计某些数据在某个时间段内的报警时间,从而计算出数据点在该时间段内正常运行的合格率。

本案例是某生产信息系统中使用报警时间统计组件的部分,使用了组件所支持的部分函数,通过脚本对组件进行操作,至于组件的组态设置,可以去软件帮助中查找,这里不详述。

下面主要讲解一下报警时间统计组件在本例中的使用。

功能实现过程是这样的:首先,将要统计报警时间的位号,添加到组件中,然后按照要求的统计周期以及时间范围进行统计,统计完成后,将统计结果取出做其他计算,组件的功能完成。

在窗口中建立报警统计组件,并将组件命名为Alarm1,同时需要使用一个报表进行配合使用,新建一个自由报表命名为Fr1,该报表是用来存放位号名称以及上下限值,可以手动进行维护。案例中的Fr1表内的数据都是从SQL Server数据库读取的。

在使用报警统计组件之前,要先保证报表Fr1里有需要的内容,例如下图,其中报警统计组件要使用的分别是‘位号、下限、上限’这三列。



下面就来说一下报警统计组件的使用,我们先看下面的脚本截图,




我们来看框体中的脚本:

1、红框部分,第一行是清空报警时间统计组件,如果不清空的话,下一次添加到组件中的位号会与之前的共存。接下来是循环语句,#Alarm1.AddTag这行是将报表Fr1的第1列第i行的位号添加到组件中,并且自指定报警上下限值分别是第3列和第4列的第i行数值,为了使报警组件中自指定的位号上下限值在组件执行时有效,需要修改位号的量程上下限值分别大于报警上下限值,所以就有了#Alarm1.AddTag函数上面的两行脚本。红框中最后一行是为了使位号量程上下限值设置生效,这里不详述。

2、蓝框部分,在上面红框部分的脚本中,将位号全部添加到报警时间组件以后,接下来就是组件使用函数#Alarm1.Start开始执行统计,,函数的各个参数的意义请参考帮助文件,这里86400是一天内的秒数,即本次统计的是一天内的数据。第二行是起始时间的设定,即下一次统计的起始时间,在本例中也就是下一天的统计开始时间。

3、绿框部分,取出统计完成的数据,供我们使用。循环内第一行里#Alarm1.GetCellHi是取出高限报警的时间,#Alarm1.GetCellLow是取出低限报警的时间。整行的功能是将高限报警时间和低限报警时间相加,除以全天的时间,就是位号在该日内的不合格率,再用1减去不合格率,便得到合格率的数值,然后赋值给Bind_TagValue(中间变量,绑定表使用),后面的一行是将数据插入到SQL Server数据库中。

彩色框外面的脚本只是在本案例中用来判断脚本的执行时间,读者可以借鉴使用,也可以完全忽视。

以上就是本案例中报警时间统计组件通过函数的动态使用,比较适合需要统计的位号较多的情况,如果需要统计的位号较少,可以直接在报警时间统计组件的设置界面进行组态,然后直接执行Start函数即可。
读者如果有些函数不十分清楚,可以查看紫金桥实时数据库的帮助文件。以后我们还会陆续推出其他组件的示例说明。

更多资讯,请登陆:www.realsoft.cc

 

发布时间:2014年1月16日 11:32  人气:  
更多内容请访问(紫金桥软件技术有限公司
相关链接

我有需求