您现在所在的是:

紫金桥软件realinfo

回帖:0个,阅读:302 [上一页] [1] [下一页]
9224
紫金桥软件
文章数:2040
年度积分:50
历史总积分:9224
注册时间:2006/1/6
发站内信
发表于:2014/1/16 14:20:58
#0楼
紫金桥实时数据库软件里预置了一些组件,分别实现不同的特定功能,在工程组态的时候,恰当利用这些组件来实现某些功能,会达到事半功倍的效果。

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

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

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

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

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

在使用报警统计组件之前,要先保证报表Fr1里有需要的内容,例如下图,其中报警统计组件要使用的分别是‘位号、下限、上限’这三列。
附件 1.jpg
下面就来说一下报警统计组件的使用,我们先看下面的脚本截图,
附件 2.jpg
我们来看框体中的脚本:

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
打造民族品牌  铸就工控业绩

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002