美章网 资料文库 配电房监控系统数据接口设计实现范文

配电房监控系统数据接口设计实现范文

时间:2022-08-30 04:34:54

配电房监控系统数据接口设计实现

摘要:某配电房环境监控系统需要集成不同厂家多种采集终端,需要提供统一的平台数据接口。介绍了该系统平台一种数据接口的设计与实现。

关键词:平台数据接口;配电房环境监控系统

1概述

配电房的正常运行,对于保障供电非常重要。而配电房数量众多,分布比较分散,给运行维护工作带来很大工作量。配电房环境监控平台,就是为了辅助保证配电房设备正常运行研制的一套系统。该平台可以监测配电房内温湿度、开关柜母排接头温度、移动探测、烟感、气体等传感器数据,并对风机、灯光、水泵可以进行远程控制。和平台配套的现场数据采集终端,需要从不同厂家采购,各种规格型号也不尽相同。要把不同厂家采集终端的数据接入统一的监控平台,就需要平台对外提供统一的接口来实现。

2接口设计思路

采集终端数据上传过程大致是这样的。安装在配电房内的数据采集终端,接收现场各种传感器信号,转为数据发送给服务器上的采集服务软件。在主站服务器上,采集服务收到终端传来的数据,解析后,将有效数据存入数据库。在实际工作中,了解到各厂家的采集终端使用的通信协议不一样,规格也不一样。如何集成不同厂家数据,是一个很实际很重要的问题。一种思路是提供统一的通信协议,让各厂家按此来修改各自采集终端的协议,按统一协议接入我方系统。这个需要厂家配合修改终端的软件代码,重新刷采集终端程序,工作量比较大,后期设备维护更换也比较麻烦。还有一种思路是使用存储过程和视图来做数据接口,各采集终端设备厂家修改各自的采集服务软件,调用平台统一接口来实现查询数据或写入数据到数据库。这种方案,对各厂家的硬件产品和协议改动量最少,只需要厂家修改各自的采集服务就可以实现。数据采集终端只需要使用厂家的通用版本型号,就可以接入系统,方便了采集终端设备更换等维护工作的进行。在图1中,A厂家、B厂家,代表多个厂家。每个厂家采集服务下,支持多个采集终端的数据收发。各厂家通过平台数据接口,和平台的数据库进行数据交互。平台的Web部分,从数据库中读取上报的数据,展示在平台页面上。下发控制过程,也是在平台页面上,将指令写入数据库。对应厂家的采集服务,通过接口检测到自己设备的控制指令记录,就下发相应控制指令给指定采集终端,控制现场灯光风机等设备的启停或开关。

3接口设计

配电房环境监控系统平台数据库采用了SQLServ-er2008,接口基于该数据库设计。接口采用存储过程和视图来实现。

3.1访问权限控制

因为不同厂家设备接入平台,需要区分厂家的用户权限,各厂家只能写入或查询自己设备的数据,避免数据混乱和篡改。考虑到在SQLServer数据库中,可以对指定用户,单独授予某些表、视图和存储过程的查看或执行等权限。对接入厂家的数据库用户名,屏蔽了所有表的访问权限。只需要对接口相关的存储过程和视图,授予不同厂家用户的执行和查看等权限,就可以限制数据内这些对象的访问。然后,在存储过程代码中,可以对当前登录的用户名进行判断,只允许写入各厂家自己的数据。在视图代码中,加入条件判断,只允许厂家用户检索厂家自己的设备。这样就可以实现控制数据的查询和写入。限制存储过程权限的命令:上面两条命令中,lygd是假定的某个厂家采集服务使用的数据库用户名。第一条命令,限制该用户只能执行存储过程。第二条命令,限制该用户只能执行视图查询。别的存储过程和视图权限,参照以上两条命令来授权控制。

3.2调用接口流程

厂家采集服务调用数据库接口,可参考大致流程如下:(1)实时数据上报:调用存储过程Proc_EnvData_Insert,将实时数据插入到数据库相应表中。(2)远程控制:调用存储过程Proc_CmdQue_GeTop1,获取最新控制命令信息。(3)信息查询:调用相应视图获取。在图2中,线程1是负责接收现场各数据采集终端(RTU)的实时数据的。线程1接收到数据后,解析数据,按协议指定的格式,组装出通道标识和数据,然后调用平台接口存储过程Proc_EnvData_Insert,将组装好的信息,写入指定数据表中。线程2是负责从平台获取远程控制命令记录,下发给指定的现场数据采集终端(RTU)。线程2通过不断轮询平台接口存储过程Proc_CmdQue_GetTop1,轮询间隔可设定,以保障及时性。得到最新执行指令记录后,线程2解析指令,然后组装出符合厂家通信协议的指令,下发给指定的现场数据采集终端。完成指令下发,并得到现场执行成功的反馈后,线程2还需要调用平台接口存储过程Proc_CmdQue_SetStateByID,把相应指令的执行状态设置为已执行状态,这样避免下次获取到重复的远程控制指令记录。厂家根据各自情况,参考流程来实现采集服务的编写。

3.3接口设计和实现

主要存储过程设计如下:(1)Proc_EnvData_Insert上报实时采集数据参数:@NodeIDnvarchar(50)传感器/通道编码参数:@Datafloat测量值上报实时采集数据存储过程关键代码:其中,@currlogin=SUSER_SNAME()获取当前用户,获取当前要写入数据对应设备通道的厂家代码,然后进行比较,两者一致,说明是该厂家的设备,允许写入数据。(2)Proc_CmdQue_GetTop1:获取最新远程控制指令的存储过程(3)Proc_CmdQue_SetStateByID:设置指定ID的指令记录为已执行(4)Viewx_EnvData:实时数据查询视图实时数据查询视图的关键代码如下:在该段代码中,“WHERE(dbo.RTU.Vendor=SUS-ER_SNAME())”限制了视图只能检索当前用户对应厂家的相关信息,从而某厂家用户只能查询到自己设备的实时数据。实际接口由4个存储过程,5个视图组成。其余存储过程和视图,关于权限控制的关键代码部分基本一致,限于篇幅,不再列举。

4结语

介绍了某配电房环境监控系统平台的数据统一接口方案,实现了不同厂家多种采集终端的数据对接。已实际部署,使用中经受了实践检验,运行良好,方便了平台系统的管理和采集终端设备维护工作。

参考文献

[1]宋光华.智能配电房监控系统的技术研究[J].通信电源技术,2018,35(2).

[2]霍晓宇.配电房环境监控系统的设计与实现[D].

作者:赵阳 张建民 宋岸峰 路成钢 单位:郑州祥和集团有限公司电力科技分公司

被举报文档标题:配电房监控系统数据接口设计实现

被举报文档地址:

https://www.meizhang.comhttps://www.meizhang.com/sjlw/jksjlw/740330.html
我确定以上信息无误

举报类型:

非法(文档涉及政治、宗教、色情或其他违反国家法律法规的内容)

侵权

其他

验证码:

点击换图

举报理由:
   (必填)