APP下载

基于GPRS及SOCKET的光伏发电数据接收系统研究

2015-12-16张小刚张琪琪

江西电力 2015年6期
关键词:看门狗转发器服务器端

张小刚,张琪琪

(国网江西省电力公司九江供电分公司,江西 九江 332000)

0 引言

为应对全球化石燃料加速枯竭的能源危机和日益高涨的能源需求,各国大力的推动可再生能源快速的发展,改变能源消费结构,可再生能源将逐渐替代常规化石燃料能源。而光伏发电在其自身得天独厚的条件下,它的发展也是越来越迅速[1]。同时光伏发电也容易受到气象环境等因素的影响。为分析光照强度、气温、湿度等气象条件对光伏发电的影响,需要对发电数据及微气象数据进行采集与分析。另外,由于光伏发电系统通常布设在野外,其数据需要通过GPRS 网络,传送到信息中心进行存储与分析[1,2]。在数据发送端,使用了带GPRS 传输协议的DTU,运行有一个SOCKET 客户端,自动连接到指定IP 地址和端口的SOCKET 服务器。在数据接收端,SOCKET 服务器监视来自客户端连接请求,并接收、解析及保存数据[3,4,5]。本文对基于GPRS 及SOCKET 的光伏发电数据接收系统进行设计。

同时,为保证socket 服务器的长期运行,设计了看门狗软件Watch 以监视socket 的运行状态。另外,还设计了远程调试程序,用于对socket 服务程序进行远程更新。

1 系统总体方案设计

1.1 系统组成

整个光伏发电数据传输系统结构组成如图1 所示。

图1 系统总体组成

本文主要描述其数据接收系统。光伏发电数据接收系统主要组成部分包括SOCKET服务器、看门狗软件程序、以及远程调试程序。其主要作用是接收来自监测终端采集的数据(该数据通过GPRS通信方式发送),并保存到后台服务器中。其传输的主要参数有:逆变器输出工作状态电压、电流、总有用功率、日发电量、总发电量、总运行时间6个电量参数;以及气象站输出的温度、日照、风速、风向4个参数,共10个数据。通过将这10组数据在一定的时间间隔内进行推送,实时的显示出来,以供工作人员的参考。

1.2 数据传输协议

由于数据参数需要远程传输,所以需要数据接收转发器和PC服务器通信协议。下面就光伏发电数据传输系统的数据通信协议进行说明。其中,上行数据(即由DTU向接收端传送)传输帧的格式为:起始符+设备号+数据域+结束符,具体标示如表1 所示(61 个字节)。下行数据(由接收端向DTU 返回应答)传输帐格式固定为“0×73_03_65”3个字节。

表1 上行数据帧格式

其中:

1)起始符:固定为“0×73”。(即ASCII码”S”);

2)设备号:0×01→湖口;0×02→彭泽;0×03→共青1号;0×04→共青2号;

3)温度:范围-999→+999(备注,表达为ASCII码.单位:0.1摄氏度)(高位补0,比如温度为2.3度,发送数据就表达为“+023”);

4)日照:范围0000→9999(备注,表达为ASCII码.单位:流明)(高位补0);

5)风速:范围000→999(备注,表达为ASCII 码.单位:米/秒)(高位补0);

6)风向:范围000→999(备注,表达为ASCII 码.单位:度)(高位补0);

7)A 相电压:范围0000→9999(备注,表达为ASCII码.单位:0.1 V)(高位补0);

8)B 相电压:范围0000→9999(备注,表达为ASCII码.单位:0.1 V)(高位补0);

9)C 相电压:范围0000→9999(备注,表达为ASCII码.单位:0.1V)(高位补0);

10)A 相电流:范围0000→9999(备注,表达为ASCII码.单位:0.1 A)(高位补0);

11)B 相电流:范围0000→9999(备注,表达为ASCII码.单位:0.1 A)(高位补0);

12)C 相电流:范围0000→9999(备注,表达为ASCII码.单位:0.1 A)(高位补0);

13)当前功率:范围00000→99999(备注,表达为ASCII码.单位:W;该值是总有功功率)(高位补0);

14)日发电量:范围0000→9999(备注,表达为ASCII码.单位:0.1 kWh;(高位补0);

15)总发电量:范围000000→999999(备注,表达为ASCII码.单位:kWh;(高位补0);

16)总运行时间:范围000000→999999(备注,表达为ASCII码.单位:小时;(高位补0);

17)截止符:固定为“0×65”。(即ASCII码“E”)。

2 Socket服务器的设计

图2为服务器端主程序流程图。

图2 服务器端主程序流程

接收数据服务器端的设计主要是利用了微软的可视化编程工具C#.NET平台所建立起的可视化操作界面,并结合SQL Server 技术存储相应处理后到的数据。服务器端与数据接收转发器通过Socket 通信技术,建立连接以实现数据的传输。

2.1 服务器端的主程序

在服务器端的设计中,基于.NET平台,在服务器窗体设计中,添加相应的控件,并将这些非受管代码转换成受管代码,才可以在.NET 公用语言框架内运行,获得本地IP地址和本地端口号,将相应通信信息显示在信息框内。其中服务器端主要功能包括:

服务器端开放固定端口,并通过Dns.GetHostEntry()函数来获得本地的IP。再通过Socket 通信技术监听到数据接收转发器,并与之建立连接。否则,一直在不断地监听。

服务器端与数据接收转发器端建立连接后,通过ReceiveVarData()函数接收数据接收转发器发送的数据包。并对此数据包进行解包,取出相应数据进行分析。

将处理过的数据放入数据库中后,继续接收数据接收转发器每隔10 min发送的数据。

2.2 数据接收方法

数据接收转发器定时发送数据,通过GPRS模块将数据包经Internet发送到Socket服务器端,服务器端通过Socket 通信技术建立连接后,将接受数据转发器发来的数据包,并返回发送反馈应答信息。服务器端通过自带的ReceiveVarData()函数对数据包进行接收,其接受具体的流程如图3所示。

图3 数据接收流程

服务器端接收到为十进制的数据包,通过BitConverter.ToString()函数将数据包的十进制数转化为十六进制数;然后通过判断其数据长度是否为完整的数据包,其次分别验证数据包的帧头是否为“73H”、结束符是否为“65H”以及设备号是否对应,若以上条件均满足条件则接受的数据包为完整的数据包,然后将完整的数据存储在数据库中。

2.3 数据转发

为方便开发人员通过远程的方式,对接收到的数据进行分析,socket服务器中集成了数据转发功能。当接收到数据转发请求后,从指定的数据库表中提取数据,发送给数据请求端。数据请求端发来的数据请求格式(字符串)为:

remotedata/tablename/orderColumn/rowNumber 即以“remotedata/”字符串开头,再加上所请求的数据表名、排序字段、数据行数。例如:

SOCKET服务器接收到上述请求后,先从数据库的workdata1表中,按nid的逆序提取100条数据,然后分行写入一个文本文件,再将该文本文件发送到数据请求端。

3 看门狗及远程调试功能

为保证SOCKET服务器的长期可靠运行,以及开发人员通过远程的方式对其进行更新,开发了看门狗软件及远程调试软件。

3.1 看门狗软件

SOCKETE服务器需要不间断运行以接收SOCKET客户端发来的数据,因此需要监测其工作状态,以保证在其发生故障时,能够重启服务。为此,设计了一个看门狗软件Watch。该看门狗作为一个socket客户端,连接到socket 服务器,然后每隔30 秒,向SOCKET 服务器发送一个问询字符串“watch”。SOCKET 服务器接收到后,返回给watch 程序一个应答“OK”。如果watch 连发三次但没有接收到正确的回复(或者连接不到SOCKET服务器),则重启SOCKET 服务器。在重启SOCKET 服务器之前,从数据库中检查是否有更新的SOCKET 服务器程序版本,如有,则先下载再重启。

3.2 远程调试软件

远程调试软件作为一个SOCKET客户端,连接到SOCKET服务器,其功能包括:

1)输入需要远程连接的IP地址及端口;

2)连接到指定IP及端口的SOCKET服务器;

3)向SOCET 服务器传送最新的程序文件,由SOCKET服务器保存到数据库;

4)重启SOCKET服务器;

5)向SOCKET 服务器请求指定的数据库表中的数据;

6)向SOCKET服务器请求日志文件。

3 结束语

本文通过仿真,验证了不同容量不同地点DG接入配电网对用户端电压的影响,并通过对比不同功率因素DG接入配电网中对配电网电压分布的影响,得出可通过调节分布式电源的功率因素来调节配网线路电压分布。为分布式电源参与电网调压提供了一定参考依据,也为配网滚动规划提供一个有益的参考。

[1]黄海宏,朱晶晶,梁平.通用型光伏电站监控系统的研制[J].电气自动化.2010(05).

[2]舒杰,吴昌宏,张先勇.基于GPRS的风光互补发电无线远程监测系统[J].可再生能源.2010(01).

[3]廉小亲,张晓力,段振刚,等.基于GPRS的光伏发电远程监测系统的设计[J].测控技术.2011(05).

[4]彭继慎,李文帅,李秋香.太阳能光伏发电无线远程监控系统的研究与设计[J].计算机测量与控制.2012(12).

[5]陈国华.一种分布式光伏电站远动信息无线实时采集与传输方案[J].电气技术.2014(6).

猜你喜欢

看门狗转发器服务器端
卫星转发信道饱和条件最优功率增益设计与分析
Linux环境下基于Socket的数据传输软件设计
把他叫醒
浅析异步通信层的架构在ASP.NET 程序中的应用
TCP网络数据转发器
基于Qt的安全即时通讯软件服务器端设计
基于DMX512通信协议的多路转发器设计与研究
一种采用FPGA实现的通用看门狗电路
把它叫醒
把它叫醒