余永俊,任一峰,高世清,安 坤,刘 鹏

(中北大学 电气与控制工程学院,山西 太原 030051)

0 引 言

随着工业的大规模扩张,人口增加以及人均能源消耗的持续增长,全球几乎所有国家的能源需求都在上升[1],而光伏发电作为一种清洁和可持续能源被认为是所有可再生能源中最可靠的选择[2],也受到了国家的广泛重视[3]。然而,大多数分布式光伏电站建在环境复杂的偏远地区,建站数量多,种类也呈现多样化发展[4],传统的有线组网监控及人工值守方式监控效率低、成本高[5]且无法满足远程实时监控要求[6]。近年来,随着云计算,无线通信和物联网技术的迅猛发展[7-8],开发基于B/S 架构,无线通信与云服务结合的光伏远程监控系统已成为新的组网形式,用户仅需要通过浏览器便可在任何时间和地点对监控系统进行操作,实时查看光伏设备的运行情况并及时发现和排除故障,对确保光伏电站的安全稳定运行具有重要意义。

本文设计基于B/S 架构的光伏智慧云平台远程监控系统,该系统采用Django 框架作为Web 开发,前端采用Boostrap、EChart 和HTML5 等将数据进行可视化,后端用Python 语言实现数据交互;并以阿里云ECS 服务器作为云计算,MySQL 作为云端数据库,设计以TMS320F28335 为核心芯片的数据采集系统,现场设备通过RS 485 总线将数据传输至DSP 芯片进行处理,并通过GPRS 无线通信方式传输至远程服务器,实现光伏设备的实时远程监控。

1 系统总体架构

1.1 网络架构模式对比

C/S(Client/Server)体系结构是指客户端和服务器之间的信息交互模式[9],其客户端属于应用程序软件,服务器通常采用高性能PC 机,并采用大型数据库系统,响应速度快。但C/S 架构的缺点是需要在客户端和服务器端运行特定软件,开发成本高,维护难度大,兼容性差以及适用面窄。B/S(Browser/Server)体系结构是浏览器和服务器间的信息交互模式,是一种随着Web 发展起来的新架构。其服务器即安装数据库,浏览器充当客户端,包含少量业务逻辑并主要使用HTTP 协议与服务器进行通信,用户界面完全通过浏览器实现,这减少了客户的开发和维护成本,并为用户带来了极大的便利。

鉴于以上性能比较,B/S 体系结构将成为远程控制领域的未来发展趋势[10],其安全性和灵活性低的缺点将随着技术的进步而不断得到解决。

1.2 系统总体结构

如图1 所示为系统总体结构,可将其分为设备层、网络传输层和应用层。

图1 基于云服务系统总体结构

设备层中各逆变器设备通过RS 485 总线将逆变器数据传输至DSP 控制器,DSP 控制器对数据进行处理并打包,数据通过GPRS 以Socket 形式上传到网络传输层。网络传输层以云为核心,采用阿里云ECS 服务器开启Socket 监听对上传的数据进行解析并存储到MySQL 云数据库。应用层则采用Django 框架设计Web 监控界面,用户可通过Web 浏览器访问监控云平台实时查看光伏设备的运行情况。

1.3 云计算与数据库

云计算采用阿里云服务器ECS(Elastic Compute Service)是由阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务,可实现计算资源的即开即用和弹性伸缩。可利用SSH远程连接云服务器,在后台部署Linux 系统并搭建Python 环境,通过安装Nginx 和Uwsgi 服务部署Django项目,实现Web 服务的外网访问端口。MySQL 是最流行关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低和开发源码等特点,被记录为Web 应用程序中最常用的数据存储。因此,选用MySQL 作为云端数据库并部署到云服务器。MySQL 作为云监控平台的数据中心,对于存储光伏设备大量的历史数据,提供逻辑运算和分析,起到了至关重要的作用。

1.4 Django 框架

Django 是目前最流行最全面的服务器端Web 框架[10],是为快速开发数据驱动站点而创建,扩展性强,功能完善,开发速度快和可维护性高。其属于MVC(Model-View-Controller)框架风格,但控制器接收用户输入的部分框架,由用户自行处理,所以采用的是MTV 架构模式,即Model(模型)、Template(模板)、View(视图)。模型是数据存取层,负责业务对象和数据库存取;模板是表现层,负责把数据展示给用户;视图是业务逻辑层,负责后端的查询操作和数据处理。

2 系统硬件设计

数据采集系统的硬件结构主要由主控芯片DSP、电源电路、信号调理电路、各通信接口以及GPRS 模块构成,其功能主要实现监控设备数据包括逆变器电压、电流等输入信号的采集、处理与上传,并通过RS 232 接口与GPRS 模块相连以Socket 套接字形式上传至云服务器进行解析。系统整体硬件结构如图2 所示。

图2 DSP 硬件电路整体结构

2.1 主控芯片

主控芯片是整个控制系统硬件结构的核心。由于本文系统需要频繁对输入信号进行采样和处理,数据量大,采用传统的PIC 系列、51 系列单片机无法满足处理速度和精度要求。因此本文设计采用DSP,其处理速度快,运算精度高,并具有丰富外设和接口,且F2833x 系列比F28xx 系列多了一个MAC 单元,其处理数学运算性能可提升2.45 倍,控制算法性能提升1.57 倍,可满足本文设计数据处理要求。

2.2 电源电路

电源模块为整个系统供电,F28335 采用双电源供电,管脚供电电压1.9 V,内核供电电压3.3 V,因为监控终端外接电源的最小电压大于3.3 V,因此需重新设计供电硬件电路解决外部低电压供电问题。可采用TPS767D301 芯片作为供电电源芯片,这是TI 公司推出的针对DSP 双电源供电的双路低电压降电源调节器,输入电压为5 V,工作稳定后,将输出产生1.9 V 和3.3 V电压提供给DSP,供电电路硬件设计如图3 所示。

图3 电源电路

2.3 信号调理电路

电流、电压信号的采样用的是闭环霍尔传感器,将检测到的模拟量送入电流、电压信号调理电路进行滤波和钳位,并由ADCIN 端口进入DSP 内部的A/D 转换模块,将模拟量转换成计算机能够识别的数字量再送入云服务器。电流及电压信号采集调理电路如图4、图5所示。

图4 电流采集调理电路

2.4 通信设计

数据的无线传输选用厦门才茂CAIMORE CM510-72F DTU 模块实现,这是一款为用户提供低功耗、高速、永远在线、TCP 透明数据传输的工业级无线终端设备。其工作原理框图如图6 所示。采用RS 232 接口实现DSP 与GPRS-DTU 通信,并将DTU 通过绑定IP 地址和端口,以Socket套接字形式将数据包传输到服务器。

图5 电压采集调理电路

图6 GPRS 原理框图

3 系统软件设计

系统软件部分包括数据通信软件设计和监控云平台软件设计。

3.1 数据通信软件设计

数据通信软件设计实现对光伏逆变器数据的采样、处理和传输。其中,系统初始化主要包括外围硬件电路初始化、中断初始化和清除缓存区数据等,采用C 语言编程实现。DSP 响应处理包括对光伏设备发电参数的采样和A/D 转换,并由GPRS 通过绑定IP 地址和端口作为Socket 客户端形式发送数据到云服务器。服务器则采用Python Socket 编写脚本程序运行在服务端,不断侦听GPRS 发送的TCP/IP 连接请求,只要GPRS 模块和Python Socket 服务程序配置的IP 地址和端口一致,即可建立连接和通信,并创建Pthread 线程接收GPRS 的数据,然后将数据存储至MySQL 数据库,Web 监控平台调用MySQL 数据库数据即可实现远程监控。数据处理及传输流程如图7 所示。

3.2 监控云平台软件设计

Web 监控系统采用Django 框架进行搭建,前端采用EChart、Boostrap、HTLM5 和CSS3 等将数据进行可视化和网页样式的设计。后端采用Python 语言实现数据交互,并用jQuery 自带封装的Ajax 完成前后端数据请求方式,实现网页的动态刷新,数据传输格式为JSON。云计算采用阿里云ECS 服务器,其操作系统为Ubuntu 16.04 64 位,公网IP 为39.105.110.139。通过在服务器终端搭建Python 环境并用Nginx+Uwsgi 部署以编译好的Django项目和MySQL,开放公网访问安全组,即可完成云端部署。用户仅需要通过Web 浏览器即可在任何时间和地点进行监控界面访问,实现光伏电站的远程智能化管理,监控界面部分包括登录注册、设备监测、设备报警、历史数据查询和报表、后台管理等功能。

图7 数据处理及传输流程

4 部署测试

云服务器运行Socket 脚本接收来自光伏设备数据,并对监控系统进行Web 发布,用户通过浏览器输入正确IP 地址即可进行监控界面访问。登录系统后,可实时监测光伏设备运行情况,图8是系统运行主界面,包括逆变器发电参数和运行状态的实时监测,历史告警展示和发电量的可视化曲线等,所有信息存储到MySQL 数据库,便于数据分析和历史数据查询。实验结果说明该系统可全方位监控光伏设备实时运行情况,时效性好,效率高。

图8 系统运行主界面

5 结 语

本文结合云计算、DSP、物联网和无线通信技术设计了光伏发电远程监控系统,并给出了软硬件设计方案,测试表明系统数据传输准确,运行稳定。与传统电站PC 监控相比,该系统无需现场监控、轮班值守、人工搜寻故障,只需1 台具有浏览器的终端设备即可进行远程监控,实时查看光伏设备的运行情况,效率高、成本低、市场前景广阔。