基于物联网的电能质量治理系统的研究与实现
2019-03-28郁春江陶文寅李运生
郁春江,陶文寅,李运生
(1.苏州工业园区服务外包职业学院,江苏苏州 215123;2.苏州大学,江苏苏州 215100;3.苏州立旭智能电气有限公司,江苏苏州 215123)
0 引言
随着电动汽车、电气化铁路、钢铁、化工等产业的发展,电力机车、变频装置、大型电弧炉、整流设备等非线性用电设备大量投入使用。这些非线性、不平衡以及冲击性的用电设备,对电力系统产生的污染日趋严重[1]。在电压偏差、电网频率、三相电压不平衡、谐波、电压波动和闪变等方面威胁着用电质量,可导致电能利用率低、线路损耗高、电压过低或过高造成精密仪器损坏、停电等问题,并可能带来严重的经济损失[2]。
随着计算机的普及、IT产业的发展、微电子控制技术应用,对电能质量的要求在不断提高。我国已先后颁布了GB/T 12325-2008《电能质量─供电电压偏差》等多个电能质量的国家标准[3]。随着设备制造成本的下降,加之社会对节能减排的高度重视,国内电能质量设备市场具有巨大的发展空间和潜力,尤其是在无功补偿装置和谐波治理设备方面,产品市场发展迅速。
物联网被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网已经被广泛应用于电力系统,已开发出各种基于物联网的电力控制系统,比如基于物联网的太阳能LED路灯系统[4],基于物联网技术的电力开关成套设备远程监控系统[5],基于物联网技术的智能电能监测系统[6]等。国内还提出了电力物联网[7]的概念,可见物联网在电力系统中具有广阔的应用价值[8]。
本文所提出的基于物联网的电能质量治理系统,利用FPGA+ARM芯片作为电能质量治理终端设备的主控制器[9],对电网的无功电流、谐波电流、不平衡电流进行治理,提高了电能的质量,并通过移动端应用软件和服务器端应用软件实现了终端设备的远程监控[10]。为了实现安全可靠的远程通信,使用了云服务器[11]、GPRS无线通信技术[12]、TCP/IP通信协议、MODBUS通信协议[13]等物联网技术。使用智能终端实时地采集远程设备的运行状态及给远程设备发送命令进行控制,节省了大量的检测和维护成本。
1 系统的功能需求
1.1 系统总体设计
本系统的目的是实现电能质量的治理及基于物联网对治理设备进行远程监控。管理员在用户终端通过浏览器访问服务器端应用软件进行客户和设备的管理。移动端应用软件使用HTTP(HyperText Transfer Protocol)协议访问服务器端软件的接口获取客户和设备的信息,获取设备信息以后通过基于TCP/IP协议的Socket技术和透传云服务器进行通信。通信数据采用MODBUS通信协议格式。透传云服务器使用网关GPRS支持节点GGSN(Gateway GPRS Support Node),通过GRPS骨干网络和GPRS无线终端设备进行通信。GPRS无线终端设备采用RS232和电能治理终端设备进行通信,电能治理终端设备安装在电网中对电能质量进行治理。系统的整体架构如图1所示。
图1 系统整体架构
如通过手机获取远程设备的实时数据为例。首先通过登录界面登录到手机软件,手机软件从网站服务器下载登录用户所能看到的所有设备信息。用户选择需要监控的设备,根据设备信息连接设备后,手机就往透传云服务器发送获取实时数据的命令数据包。透传云负责把数据包发往GPRS无线终端设备,GPRS无线终端设备获取设备数据后,按照原路把数据返回给手机软件端,手机软件端收到数据后,解析数据并更新到界面上。
1.2 系统的功能模块
本系统主要有3部分组成,分别为电能治理终端设备功能模块(简称终端设备),移动端应用软件功能模块(简称移动软件)和服务器端软件功能模块(简称服务器软件)。
1.2.1 电能治理终端设备功能
电能质量治理设备是将采样技术、数字控制技术、功率输出技术、数据通信技术结合一体的装置[14],实现对电网的无功电流、谐波电流、不平衡电流进行治理,系统功能如图2所示。
图2 终端设备功能框图
设备的采样模块将电网的电压电流、负载的电流、设备补偿电流、设备直流电压进行AD采样转换为数字量,通过系统控制模块算法计算得出需要补偿的电流目标值和根据目标值进行PWM脉冲输出控制,PWM脉冲经过电流输出功率模块输出需要补偿的电流。数据通信模块实现将设备的实时数据和参数发送给移动软件或把从移动软件接收的数据传给系统控制模块。
1.2.2 移动端应用软件功能
移动软件主要包括7个主要功能,分别是用户登录管理、从服务器端获取设备列表和设备信息、通过Socket和透传云服务器通信、实时APF数据的传输与解析、关键实时数据的可视化、谐波数据的采集和传输,以及远程设备的启停与恢复。见图3。
图3 移动端软件界面
1.2.3 服务器端软件功能
服务器软件主要管理系统的客户信息、设备信息和提供移动软件的数据接口。服务器端软件界面见图4。
图4 服务器端软件界面
2 终端设备功能的设计
设备的采样功能模块由模拟信号调理电路和AD数字转换电路组成,模拟信号调理电路是由比例运放和跟踪运放构成,AD数字转换电路由3片AD7606-16位的采样芯片构成。
2.1 系统控制模块
设备的系统控制模块由FPGA+ARM构成,主要包括电流环控制和直流电压环控制,见图5。
图5 终端设备系统控制流程图
2.2 电流输出功率模块
设备的电流输出功率模块由PWM脉冲驱动单元、IGBT功率单元、并网电抗器单位组成[15],见图6。
2
3
数据通信模块
数据通信模块见图7,主要完成数据的接收和发送,实现GPRS数据通信。
图7 数据通信处理流程图
系统通信模块在收到数据以后,首先对数据进行设备地址和CRC校验。如果校验通过,进行数据的解包,根据协议中的命令执行相应的处理。命令执行以后,把结果通过GPRS返回给命令发送端。
3 移动端应用软件的设计
本系统的移动软件采用基于Google的Android系统作为开发平台[16],利用通过HTTP协议实现与服务器软件之间的数据通信,通过Socket与云服务器实现设备实时数据、控制参数等内容的通信。
3.1 与服务器软件数据通信模块
在移动软件中,用户登录、设备列表的获取、设备信息的获取都是采用HTTP协议访问服务器软件。考虑电力系统的安全性,在服务器软件中加入了Session验证,登录后每次向服务器软件请求数据时都必须把保存的Session值提交给服务器,否则将获取不到相应的数据。
与服务器软件通过HTTP协议进行数据通信时,服务器软件返回JSON格式的数据,因此通过JSON-Bean的方式直接把JSON数据转化为自定义的Java对象[17],从而方便对数据的操作。
3.2 与透传云服务器数据通信模块
在移动软件中,谐波数据、补偿电流、负载电流等设备的数据获取都需要通过透传云服务器。由于Socket数据在传输过程中丢帧等问题时有发生,因此接收的数据都必须进行完整性验证。由于Android系统在4.0版本之后不允许在主线程中进行网络操作,因此在移动软件中所有的网络操作都放在子线程中完成[18]。
因为Socket通信中,发送数据和接收数据有本质的区别,即发送数据是一个主动的行为,而接收数据是被动的行为,对于客户端来说并不知道何时接收到数据,因此就需要维护一个数据接收线程。数据发送使用了Android系统的异步任务(AsyncTask)来完成。Android系统不允许在子线程中修改主线程的界面对象,使用了Android中的Handler对象来解决子线程和主线程之间通信的问题。
当在主线程接收到子线程传递的数据时,主线程首先会对接收到的数据进行长度和CRC16校验验证。只有验证通过才会进行数据解析及后续处理。见图8。
图8 与透传云服务器数据通信流程图
3.3 实时数据可视化模块
在电能质量监控中,本系统要监控12个电能质量的指标,在这12个指标中有4个数据指标最为重要,即系统电压、系统电流、负载电流,以及补偿电流,并且这4个指标的测定通常不能以某个实时数据作为依据,而是需要观察它们的趋势,因此只是显示实时数据显然达不到要求,而是应该以动态折线图的形式表现出这些数据的趋势,从而才能判断其设备运行状态。
在实现数据可视化时,本系统设计了一个存放数据的资源池。当资源池中还有空余位置时就把接收到的新数据放入到资源池中,而当资源池的数据满时则把最早的一个数据删除加入新的数据,从而保证了数据展示的实时性和连续性。
4 服务器软件的设计
服务器软件使用ASP.net进行开发,数据库使用SQL Server。因为服务器软件是Web版,为了使页面操作更加的流畅,使用了Ajax(Asynchronous Javascript And XML)技术[19]。主要实现对客户和设备进行管理,同时给移动软件提供数据接口。
4.1 软件登录模块
通过账户、密码和随机产生的验证码进行系统登录。为了防止恶意软件的攻击,系统登录使用了随机产生的验证码。验证码是通过一定的算法产生的数字和英文字母组成的4个字符的图片,同时进行了噪音处理来防止恶意软件的自动识别。
4.2 客户管理模块
对使用本系统的客户信息进行管理。如果系统里已有的客户数量较多,定位客户需要不断的翻页。客户搜索功能可以通过客户账号,客户名,公司地址等信息进行搜索,很容易就从众多的客户中筛选出想找的客户。在客户一览中,每个客户信息都有一个“修改”链接,点击链接就可以对客户信息进行修改或删除。如果有新的客户需要加入系统,可以通过“添加客户信息”功能进行添加。
4.3 设备管理模块
对设备信息进行管理。和客户管理类似,设备管理也设计了设备搜素,设备维护,设备添加功能。省、市、区县是从国家统计局网站上下载的最新的数据。在设备搜索功能和设备添加功能中,省、市、区县都实现了联动。
4.4 移动端应用软件的通信接口模块
移动软件需要账号和密码通过验证才能登录使用。客户的账号和密码的信息存储在服务器端进行统一管理。服务器软件提供登录验证接口给移动软件调用。登录验证接口接收来自移动软件发来的HTTP请求,请求中包含用户输入的账号和密码,然后搜索数据库验证账号和密码是否和数据库中的一致。如果验证成功,则把客户的信息打包成JSON格式的数据,通过HTTP响应传到移动软件。为了系统安全,验证成功时在返回值中给移动软件传一个Session值,这样移动软件每次和服务器软件通信时都通过这个Session值进行身份验证[20]。移动软件登录成功后,就进入设备选择界面,根据登录账户权限的不同,能查看的设备是不同的。管理员用户可以查看所有的设备,普通用户只能查看自己的设备。同时,在设备选择界面中,省、市、区县、客户、设备类型、GPRS设备之间都是联动的,服务器端软件需要提供对应的接口给移动软件调用来实现内容的联动。移动端应用软件选定设备以后,需要从服务器端获取选定设备的详细信息,包括GPRS设备编号,GPRS手机号等信息。服务器软件提供了根据设备唯一标识符返回设备详细信息的接口,移动软件拿到设备的详细信息以后就可以通过透传云服务器实现与设备的通信。
5 结束语
本系统使用FPGA+ARM芯片作为电能质量治理终端设备的主控制器,对电网的无功电流、谐波电流、不平衡电流进行治理。同时利用物联网技术对设备实施远程监控。系统开发完成后已经在包括海南、云南、贵州等多个省进行了设备的部署和投入使用。通过对系统电压、系统电流、负载电流、补偿电流等多个数据的监测表明设备使用后电能质量得到了显著的提高。同时,通过移动端应用软件对设备进行远程监控,系统实时性强、运行稳定。本系统是物联网应用在电能质量治理方面的一个有效解决方案,将助力智能电网的发展。