基于《行列视》的自动报表——SIS系统接口状态监视

《行列视》在我们厂已经部署了一周的时间,研究的也差不多了,准备着手做点东西,第一个要干的就是基于自身的需要,对厂级监控信息系统(SIS)的“数据采集接口状态监视”进行下手。

厂级监控信息系统(以下简称SIS系统)在国内火力发电厂普遍存在,并作为火电厂必备信息系统存在。SIS系统的主要功能包括生产过程数据采集、生产过程实时监视、优化运行及生产过程管理等内容,是厂内MIS(管理信息系统,Management Information System的简写)和DCS(分布式控制系统,Distributed Control System的缩写)的桥梁和纽带,在数据资源共享、系统安全保护、实现全厂范围内管控一体化过程中发挥着重要作用,越来越受到发电行业的高度重视。

其中生产过程数据采集部分,又是整个SIS系统的基础,也是厂内所有基于生产数据的业务应用的主要数据来源,也是集团、政府、行业对发电企业进行监管的数据来源,其重要性不言而喻了。如果数据中断,不但解决起来比较麻烦,而且信息部门和热工部门担负的责任越来越重,超过一定时间还要罚款、扣奖金。为此,很早我就想做一套系统,能够实时监视SIS系统所有的数据采集接口、SIS服务器运行状态、数据刷新情况,做到数据中断及时发现。基于《行列视》,经过近一周的学习和测试,在厂家的帮助下,基本搞定,现在分享给大家。

1. 准备工作

准备工作很重要,也是比较耽误时间的,主要包括:收集SIS系统的接口数量和接口名称、关键测点、辅助判断测点、验证测点,关键测点大家都知道,就是某个接口中主要的测点,通过这个测点基本上就可以判断数据采集是否正常,辅助判断测点是在主要测点监测的基础上进一步判断,再加上一个测点进行验证,基本可以断定一个接口的数据采集状态。

一般这些信息在电厂的信息部分都有,并且还是作为重要资料进行保存的,我们单位的接口信息列表如下图所示:

接口信息

测点信息根据我对业务的了解,并询问了一下厂家,确定如下测点:

加上测点

这些工作基本上在Excel中完成,并计划把这张报表页面做成一张实时刷新的报表,放在办公室大电视屏幕上实时展示,为了更加直观展示接口状态,我在报表中展示两个值:实时值和接口状态,并用颜色强化展示。接口状态是一个逻辑计算值,详见后面介绍。

2. 创建报表

创建报表的过程我就不介绍了,前期的文档都已经介绍过,就是采用系统提供的新建向导,完成基本信息填写、报表模板的上传工作。初步完成后如下图所示:

新建报表

选择Excel模板上传,形成报表设计模板。

上传Excel模板

3. 关联测点

创建完成报表后,就需要连接PI实时数据库关联测点了。我这儿就以#1DCS接口为例介绍。

#1机组有功功率测点:DCS01:MW

选中放置实时值的单元格,利用系统提供的公式辅助界面,将公式放置到指定的单元格。

设置实时值

设置完后如下图所示,调整实时值为默认两位小数。

默认显示和双击后的公式展示

接口状态显示,采用#1机组有功功率的逻辑计算值,主要状态包括“正常”(显示为空)、“停机”和“拉直线”,如果是停机,很多数据异常属于正常,如果没有停机,然后数据一直不变就定义为拉直线,此时代表异常(需要人工进一步确认)。做到这两个状态,就基本就满足了SIS维护人员的需求了。其原理:

如果实时值小于10,定义为“停机”;

如果实时值大于10,并且前十分钟内的最大值和最小值相等则定义为数据不变(拉直线)。

根据以上原理,我们就形成了接口状态判断条件:

获取前十分钟最大值:=GETV("MR"," DCS01:MW ","RS-10F","RS","0","max")

获取前十分钟最小值:=GETV("MR"," DCS01:MW ","RS-10F","RS","0","min")

接口状态判断逻辑:

=IF(D4<10,"停机",IF(EXACT(GETV("MR"," DCS01:MW","RS-10F","RS","0","max"),GETV("MR"," DCS01:MW","RS-10F","RS","0","min")),"←拉直线"," "))

其中RS表示当前时间,RS-10F表示十分钟前,具体规则可以参考使用说明,IF语句就不介绍了,和Excel一样。

状态逻辑判断

同理,将其他单元格按照上述方法将测点进行关联,完成模板设计。

模板截图

截至到目前,我们离目标就近了,剩下的工作就是数据验证和报表优化了,接下来我们先看一下当前模板下发布的样子。

4. 功能发布

发布前不要忘了保存,网页版很容易丢东西,虽然系统有自动保存,但是为了保险起见,最好主动保存。保存后返回报表首页,找到我们的报表《SIS接口状态监视》进行浏览。

报表发布

为什么都是一样的数呢,很简单,我设置的都是#1DCS的有功功率测点,防止大家把我的家底都看去。

5. 优化完善

看到了发布后的样子,那我们再优化一下,把时间加上,把界面再调整一下,去掉行标、列标、多sheet页标签、多余的行列线,空留出两列把报表居中。

界面优化内容

调整完后,顺便我把#3DCS的有功功率和供热主站的测点加上了,当前为停机状态,尚未供热。我们看一下发布后的样子。

后话后的报表展示

6. 总结

估计今天我就能把整个页面调整完,并完成发布,感觉还可以,至于界面的美观问题不是我关注的,先解决问题。另外系统内置了一些功能都比较实用,我这儿就介绍一个,就是查看某个单元格中测点的历史趋势,如下图所示。

基于单元格的趋势功能菜单

过程数据趋势分析

该功能可以很方便确认接口是否正常,如果做其他报表也是十分实用的,如果单元格的数据能够触发移动报警就更好了。

今天就写到这儿吧,抛砖引玉,大家可以根据自己的需要设计自己的数据展示页面或报表,希望对大家有所帮助。

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值