物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于Web的变电站监控系统设计与实现

作者:吴有义 任荣 敬章浩
来源:《物联网世界》
日期:2014-02-11 10:19:29
摘要:系统设计为远程服务端和Web服务器两部分。为了实时稳定的接受和存储变电站总站传输的IEC104规约数据,采用JAVA多线程连接池和数据库连接池方法设计服务端,将接收到的数据解析之后分组存入数据库中。同时将SOE事件通过GPRS设备手机短信报警。在Web端使用JSP动态页面技术实现变电站数据查询,接线图状况,远程控制设备,以及远程视频监控功能。

  系统设计为远程服务端和Web服务器两部分。为了实时稳定的接受和存储变电站总站传输的IEC104规约数据,采用JAVA多线程连接池和数据库连接池方法设计服务端,将接收到的数据解析之后分组存入数据库中。同时将SOE事件通过GPRS设备手机短信报警。在Web端使用JSP动态页面技术实现变电站数据查询,接线图状况,远程控制设备,以及远程视频监控功能。

  引言

  传统的监控一般构建于桌面应用,具有系统跨平台,客户端升级等缺点,更重要的是需要人员实时守在电脑旁,不利于工作人员对随时出现的故障进行判断。随着互联网技术和电力行业不断发展,将互联网与电力行业应用一体化已成趋势.而万维网(Web)具有编程简单,跨平台,客户端免安装、维护等优点,结合GPRS设备,可以给手机发送报警信息,开发基于B/S架构的监控系统有其广阔的研究意义[1]。

  本文结合IEC104电力行业规约,JAVA多线程,数据库访问技术,动态数据发布,Web动态图形等分析与研究,从远程监控系统角度出发,采用TCP连接池,数据库连接池,串口通信,JQuery等技术,设计Web远程监控系统。一方面研究Web监控系统实现过程中遇到的问题,另一方面能够对其他类似性质的远程监控的研究提供一些借鉴和帮助。

  1.系统总体设计

  1.1 IEC104简介

  IEC104是国际电工委员会制定的一个规范,标准定义了用于网络的开放 TCP/IP接口,网络可以包括例如传输IEC60870-5-101的应用服务数据单元的远动设备的局域网。包含不同的广域网类型的路由器可以通过公共的TCP/IP-局域网连接起来。

  传输接口(用户对TCP 接口)是面向数据量的接口,它并不定义 IEC60870-5-101的应用服务数据单元的任何启动或者停止。为了检出应用服务数据单元的启动和结束,定义了启动字符、应用服务数据单元的长度规范、以及应用规约控制信息的控制域。可传输一个完整的应用规约数据单元或者为了控制的目的仅仅传输应用规约控制信息域。

基于Web的变电站监控系统设计与实现

图1 远动配套标准定的应用服务数据单元

  应用规约数据单元的长度定义了应用规约数据单元主体的长度,它由应用规约控制信息的四个控制域八位位组和应用服务数据单元所组成。第一个被计数的八位位组为控制域的第一个八位位组。最后一个被计数的八位位组为应用服务数据单元的最后一个八位位组。应用服务数据单元的最大帧长为249,而控制域的长度是4个八位位组,应用规约数据单元的最大长度为253 (APDUMAX=255 减掉启动和长度八位位组)[2]。

  1.2系统体系结构

  Web远程监控系统主要分为三个部分:服务端,数据库层,web客户端。

  服务端:利用IEC104的TCP/IP网络传输特性,采用JAVA的TCP连接池编写通信链路层,和变电站主站连接。通过以太网和变电站主站进行通信,解析工作主站传输的IEC104规约报文,包括I帧,U帧,S帧等。将其遥测,遥信量,SOE事件信息进行分类,存入数据库中。当其数据量达到报警值,或者有SOE事件信息时。通过与服务端相连GPRS模块,利用JAVA串口通信将报警值和SOE事件信息,发送短信到指定用户手机上,及时提醒工作人员设备状况和信息。系统程序流程如图2所示。

基于Web的变电站监控系统设计与实现

图2 服务端程序流程图

  数据库:设计为实时数据库,根据104规约数据,将遥测,遥信,开关事件等信息分组存入数据库,数据库保存所有数据信息。

  Web服务端:采用JSP动态页面设计,利用JAVA数据库连接池,可高效的连接数据库层,用户登录之后能查询各设备的运行参数;变电站的SOE事件和开关事件信息;控制设备开关变化;浏览变电站主接线图和配电室主接线图状况;并可通过视频监控查看远程设备真实状况。

基于Web的变电站监控系统设计与实现

图3系统总体框图

  2.系统软件设计

  2.1 IEC104的I帧U帧S帧简介

  控制域的这些类型被用于完成计数的信息传输的(I格式)、计数的监视功能(S格式)和不计数的控制功能(U格式)。控制域的第一个八位位组的第1位比特=0定义了I格式。I格式应用规约数据单元常常包含应用服务数据单元。I格式的控制信息如图4所示。

  比特 8 7 6 5 4 3 2 1

发送序列N(S) LSB

0

MSB 发送序列N(S)

接受序列N(R) LSB

0

MSB 接受序列N(R)

  图4 信息传输格式类型(I格式)控制域

  控制域的第一个八位位组的第 1 位比特=1,第 2 位比特=0 定义了 S 格式。S格式应用规约数据单元由控制信息所组成。S格式的控制信息如图5所以。

  比特 8 7 6 5 4 3 2 1

0

0

1

0

接受序列N(R) LSB

MSB 接受序列N(R)

  图5 计数的监视功能类型(S格式)控制域

  控制域的第一个八位位组的第1位比特=1,第2为比特=1定义了U格式。U格式应用数据规约数据单元仅有应用规约控制信息所组成。U格式的控制信息如图6所示。在同一时刻仅TESTFR,STOPDT,STARTDT功能之一被激活[2]。

  比特 8 7 6 5 4 3 2 1

TESTFR

STOPDT

STARTDT

1

1

CON

ACT

CON

ACT

CON

ACT

0

0

0

0

  图6 信息传输格式类型(U格式)控制域

  2.2 服务端连接

  在服务端采用JAVA的TCP连接池和数据库连接池技术,使用EchoServer的server()方法。

  public void service(){

  While(!isShutdown){

  …

  try{

  Thread workThread=new (new Handler(socket));

  …

  }

  …

  }

  以上工作线程workThread执行Handler的run()方法。Handler类实现了Runnable接口,它的run()方法负责与单个客户通信,与客户通信结束后,就会断开连接,执行Handler的 run()方法的工作线程也会自然终止[3]。

  使用总召唤命令(0x68,0x04,0x07,0x00,0x00,0x00);召唤变电站总站向服端发送数据,服务端解析之后按照遥测,遥信,开关事件等存入数据库。在后续开发的Android和IOS客户端,只要执行标准的104协议规约数据,即可与服务端建立通信。这样简化二次开发难度,并且在与JAVA串口通信的连接中多线程的调度执行效率更高。

  2.3 数据库连接

  数据库采用SQL server2005,采用C3P0连接池,它是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。与普通JDBC相比,效率更高,稳定性更强[4]。设置C3P0基本配置:

  ds = new ComboPooledDataSource();

  ds.setDriverClass(className);

  ds.setJdbcUrl(url);

  ds.setUser(user);

  ds.setPassword(password);

  //设置连接池的最大最小初始化连接数

  ds.setInitialPoolSize(30);

  ds.setMaxPoolSize(100);

  ds.setMinPoolSize(10);

  创建一个一个数据库接口:private Connection newConnection()。以供数据存储使用。

  2.4 网页端访问

  网页端主要建立与数据库连接,主要查询变电站遥测,遥信,开关,SOE事件信息。另外通过建立TCP套接字与服务端建立连接,Socket socket = new Socket("localhost",8082);实现变电站远程控制事件。

  变电站主接线图部分为采用Java Applet的多线程和绘图功能来实现,接线图的主要功能是用来监视变电站运行状态的直观反映,在本文监控设计中,需要将实时数据与接线图紧密结合,通过线程每次运行,查询数据库中的新数据,并更具新数据使用repaint(); getImage();和drawImage();等函数对图像重绘制,通过颜色和状态的区别可直观的查询到变电站的运行状态[5]。验证图如7所示。

基于Web的变电站监控系统设计与实现

图7 变电站运行部分状态

  3.总结

  随着互联网行业的发展以及云计算的到来,加快了信息的交流和信息的共享,工业监控系统由Web的跨平台和随时使用的特点替代传统的桌面软件风格是一种潮流和必然。借助于手机和电脑浏览器,用户可随时远程监控变电站的实时运行情况和控制变电站开关状态,对电力系统的安全、经济运行起到了促进作用。并且本文所设计的服务端104链路层,可和任意标准104协议通信,这样在以后开发的Android和IOS移动客户端,直接通过TCP发送标准的104协议数据,可与服务端建立连接。减少了了后续开发难度。但在网络传输过程中,时延是基于Web监控的关键问题,影响这系统的稳定性和控制的高效性,怎样减小这种影响成为了日后改进和研究的重点之一。

  基金项目:物联网科普系列丛书(cstc2012gg-kplB40006)

  物联网互动体验馆科普展品及教具研发(cstc2012gg-kplB40005)