, ,,,,
(1.国网江苏省电力公司电力科学研究院,南京 210000; 2.朗新科技股份有限公司,杭州 310000)
基于光伏逆变器通信协议的智能匹配技术研究
邹云峰1,吴飞1,王光星2,孔月萍1,刘瑞巧2,贲安庆2
(1.国网江苏省电力公司电力科学研究院,南京210000; 2.朗新科技股份有限公司,杭州310000)
随着能源危机、气候变暖、环境污染等问题日益严重,发展分布式清洁能源已经成为一项国策;大量企业采用基于RS485、RS232等通信接口的Modbus协议作为一种通用工业标准在光伏逆变器等电站设备中作为数字化通信标准,针对不同厂家、不同型号的光伏逆变器与光伏主站之间存在多种协议规约需要主动适配的工程问题,通过对不同厂家、不同型号的光伏逆变器所涉及各种类型通信协议的深入分析和大量工程应用实践,提出了一种用于自动解析光伏逆变器通信协议的算法模型,并基于此模型研发了一种基于光伏逆变器通信协议的智能匹配技术,有效解决了不同类型光伏逆变器与光伏主站的通信问题;经过工程应用验证表明,应用该技术可以实现已解析协议的快速接入、新接入协议的快速解析匹配和已接入设备的现场调试等功能。
Modbus;光伏逆变器;协议;解析;智能匹配
在低碳环保和能源可持续发展的背景下,可再生能源的开发利用成为解决当前能源行业一系列问题的必由之路[1]。其中,太阳能以其独特的优越性,特别是随着其他能源利用形式的逐渐饱和与能源互联网建设的兴起,逐渐成为能源利用的主要形式之一[2-4]。光伏作为太阳能资源利用的重要方式,在我国发展迅速,目前在太阳能资源丰富的地区光伏电站已得到了广泛应用[5]。
光伏逆变器作为光伏发电并网运行的关键元件,除了进行直流——交流的转换之外,逆变器还兼具电路断开、为电池充电、对数据的使用以及跟踪最大功率点等功能,以提高发电的效率。基于其重要性,国内外学者从多个方面对其进行了相关研究:吴理博[6]和张超[7]等人对光伏发电最大功率点进行了相关研究,并提出了扰动观察法、开路电压法等相关的算法,提高了能源转换效率;王飞[8]等人对光伏并网发电系统的电路拓扑进行了相关研究,极大的降低了光伏发电系统的成本;吴春华[9-10]等人对光伏并网系统控制的方法进行了相关研究,并提出了PI控制、滞环电流控制等方法,实现对并网逆变器输出电流波形的控制,提升了发电质量,为输出电力的并网提供了便利;针对光伏电站选址偏僻的特点和光伏电站智能化发展的需求,罗力[11]等人将Modbus协议应用到光伏发电系统中,并基于此协议研究和设计了针对光伏逆变器的通信系统[5]、监控系统和平台[12-13]。
以上研究都极大的促进了光伏相关技术的发展及应用。然而,随着光伏产业的快速发展,光伏逆变器与光伏主站之间由于通信协议的不匹配而带来的问题也逐渐凸显。虽然已有相关方面的研究文献[5,11-14],但其研究内容都为基于已有的标准通信协议进行通信系统的设计及研发,而在实际工程应用中问题的矛盾点集中在逆变器和光伏主站之间由于通信协议的不匹配而带来的施工效率低下、运维成本高等问题,且目前没有相关研究文献提及。
本文通过对逆变器涉及协议类型的深入研究和分析并结合大量的实践研究,研发了一种基于光伏逆变器通信协议的智能匹配技术,实现了不同光伏逆变器通信协议与光伏主站之间的快速匹配。
光伏逆变器的通信协议是光伏主站和逆变器之间相互通信并获取光伏发电数据信息的基础。目前,在所有的通信协议中具有统一标准且相对比较通用的是Modbus RTU协议,其报文数据由地址码、功能码、数据段和CRC校验码组成,具体如下表1中所示。
表1 Modbus协议RTU模式下数据帧格式
然而,在实际工程应用中,由于各个逆变器生产厂家的情况不同,其产品所使用的通信协议格式各不相同,甚至存在的彼此之间互不兼容的情况,这给光伏电站的施工、监测和运维造成了极大的困扰。其中,通信协议的不同主要表现为以下几种情况:
1)数据字段的排列顺序不同。
此种情况指不同协议报文中表征特定含义字段的排列相同。例如,在Modbus协议规约中,数据帧的第1个字节表示地址码,而在厂家自定义的协议中则将第1个字节定义为功能码。
2)数据段对应字节数目不等。
此种情况指不同协议报文中对应对应字段的字节数目不相同。例如,在Modbus中地址码为1个字节,8bit;而在厂家自定义的规约中,其可能是2个、3个……N个字节。
3)数据字段的种类数目不等。
此种情况指不同协议报文中所包含的表征特定含义字段的种类数目不同。例如,在Modbus RTU模式中,数据帧的格式包括地址码、功能码、数据段和CRC校验码4个方面的内容,而在厂家自定义的规约中则可能增加或者减少功能字节的种类,例如有的消息帧格式中不仅包含以上4各方面的内容,还包含数据段长度、控制码、原地址、SN号等。
4)以上三种情况的混合情况。
本文基于对各种逆变器通信协议深入分析和实践研究,类似于模式匹配算法[15],提出了一种针对不同通信协议彼此不匹配问题的解析算法,实现对已接入协议规约的智能匹配和新接入规约的快速匹配。
算法的具体内容如下:
假设待解析报文数据串为Bn,作为对比的特征数据串为Tm。在报文数据的解析过程中,固定Bn且保持两个数据串左对齐,Tm从左向右一次与Bn逐个字节进行比配。右移的距离的d(x)根据比对结果进行确定:
(1)若Bi≠Tk,则Tk右移1个字节的距离;
(2)若Bi=Tk,此时Bi根据报文段的长度L从第i字节开始共截取L个字节,Tk则从Bi+L-1开始继续比对:
具体的算法流程图如图1中所示。
图1 本文算法流程图
基于前文提到的智能匹配算法和大量的工程实践数据,研发了一种基于协议分析智能匹配技术——数据库,用于实现不同光伏逆变器协议与主站之间的快速匹配。
3.1.1 光伏电站中数据采集及解析流程
数据采集的流程如图2所示,逆变器将存储的设备信息等传递给采集器,采集器通过GPRS、3G或者4G网络等途径将采集到的报文数据发送给主站,最后由主站的解析程序对报文的数据进行解析。
图2 光伏数据采集及解析流程
3.1.2 通信协议获取流程
如图3所示,端口开启后,上传报文数据的同时,获取逆变器的IP和端口信息并将其与缓存数据库中的设备信息进行匹配:
1)若匹配成功,则在缓存数据库中自动调用对应的协议信息,获取规约匹配的特征值和规约的校验规则;
2)若匹配不成功,则表明数据库并未存取设备对应协议信息,将通过程序块加载新协议的匹配特征值和其校验规则信息。
图3 协议信息的获取流程
3.1.3 协议匹配解析过程
如图4所示,整个技术实现流程共分为4个步骤,具体如下所述:
图4 协议智能匹配解析实现流程
1)报文解析:端口开启后,光伏主站获取光伏逆变器发送的报文数据及其IP、端口(设备MAC地址)信息,而后对获取的报文进行解析。在此阶段,主要是还原整个报文中各个字段表征的特定含义,将报文段具体解析为功能码、数据段等。具体的解析过程如下文所述:
(a)获取待解析报文对应的规约,以所获取规约的特征值(字节序的值)作为检验依据,开始解析;
(b)从报文的第1个字节开始,将所有字节逐个与缓存解析程序中的所有特征值进行对比,判断第N个字节位的值和特征校验是否匹配;
(c)若不匹配,则舍弃该字节,再比较下一个字节;若对比结果相匹配,则通过黏包技术,根据该段字节的长度位,截取对应长度的报文段。
(d)重复(c)过程,直到所有字节循环匹配完成,进入下一流程;
2)报文校验:此过程通过协议的校验机制对通过黏包获得的报文段的准确性进行校验。具体过程包括:首先,获取所解析协议的校验机制;然后,根据协议提供的校验机制(比如CRC16,CRC8,算术和或者异或等),对获取的报文段的正确性进行校验。
3)数据域解析:此过程对通过2过程(校验)所获得的报文段中数据字段的含义进行解析。具体过程包括:首先,跟据报文上传时获取到的设备的IP地址及端口查找设备的档案信息,包括设备的型号、数目等信息,并据此读加载到取缓存中协议的数据域解析配置,解读每个报文段内字节所表达的含义(电流、电压、功率等信息)。
4)数据处理:此过程,主要对解析得到的数据做两方面的处理,分别是:
(a)标签分类:根据报文的IP和端口确定对应设备信息(信息源),将其与通过(3)过程解析得到的数据共同封装存入缓存。
(b)数据计算:将(a)过程得到的分类数据按照具体的业务要求进行计算和过滤后,推送给主机并装入数据库进行存储。
3.2.1 数据库内容简介
在数据库中,为了便于对数据的保存记录及高效调用,对涉及的相关数据进行了命名,主要包括:
1)r_comm_point:表示采集点表,其中1条记录表示1个数据采集器;不同的采集器通过comm_id标识区分; comm_id和r_comm_point相关联,1个采集器对应多个测量点。
2)r_meas_point:表示测量点(设备采集的虚拟点,一个测量点表示一个设备),每条测量点记录表示1个实体设备的虚拟采集点。
图5 数据库内容示意图
3)comm_addr:表示设备(光伏逆变器)实际的物理地址标识。
4)protocol_id:表示设备对应的采集规约,采集规约和品牌型号有对应关系,通过protocol_id关联。
5)r_xx_group:表示数据库中保存的xx协议规约信息,该表主要保存了规约的寄存器起始地址(star_addr)、寄存器个数(REGISTER _COUNT)、操作类型(OPT_TYPE,操作类型: 1:上行,2:下行)和功能码(CFN)。
6)r_xx_data_code:表示xx规约的解析表。
3.2.2 协议解析过程
以Modbus协议的解析为例具体说明应用该数据库的解析过程。
1)数据库已有某一品牌型号规约
获得一段报文数据后,根据设备的品牌型号,在数据库中查到其在r_meas_point表中对应的protocol_id,而后数据采集器将报文数据发送给主站的解析程序对报文进行解析,具体过程如下:
(1)程序收到报文数据后,首先对报文进行解析和CRC校验;
(2)报文通过校验后,结合protocol_id,获得r_modbus_group表中对应的数据信息,具体如表格2和图6中所示;
表2 Modbus发送报文格式
图6 数据库r_modbus_group表格
3)报文根据相关配置参数,由报文中寄存器起始地址(star_addr)开始,确定寄存器的总个数(REGISTER_COUNT),然后借助r_modbus_ data_code表(图7)对报文的数据域进行解析;
图7 数据库r_modbus_data_code表格
4)根据寄存器的序号字段(SERIAL_ NMUBER),字段包括数据类型(FORMAT_ CODE,主要是该数据项占用几个寄存器以及是否有符号)和倍率(FACTOR)进行解析;
5)数据解析完毕后,得到一组数据项和值的对应数组,例如{160:2333.33,161:122,162:23243,163:12.34};
6)对于解析得到的实时数据,首先存入实时表r_real_data中,而后根据业务的需要,将解析得到的数据进行统计并存入缓存(redis)中进行计算,之后将计算得到的数据存入数据库中;
7)对解析过程中得到的异常数据需要做进一步解析,具体包括:
(a)根据上面的步骤,解析出异常数据项的十进制数值;
(b)把十进制数据转换成二进制;
(c)根据配置的rs_type_event,把每一位的值解析出来,1表示有异常,0 表示无异常;
(d)将解析得到的异常数据进行入库,存入r_event_record表格中。
2)数据库接入新规约
对于新接入品牌的设备,由于数据库中没有存储对应的协议类型,无法调动内部协议配置信息实现智能匹配的过程,需要通过以下过程实现协议的匹配:
(1)通过逆变器生产厂家获取该品牌型号逆变器的Modbus协议文档;
(2)根据获取的Modbus协议文档,查找协议中功能码为只读寄存器的位置,包括寄存器起始地址(star_addr)、寄存器个数(REGISTER_ COUNT)、操作类型(OPT_TYPE,操作类型: 1:上行,2:下行)和功能码(CFN),并填写到r_modbus_group表格中(见图6)。
(3)根据具体的每个数据项,从上到下,匹配数据项的类型及倍率并填写到r_modbus_data _code表(见图7)中进行协议解析。
(4)协议解析后得到对应的数据信息,具体实例如下表所示:
表3 数据解析结果
(5)将异常信息配置到rs_type_event表,异常信息例子如下:
本文针对光伏逆变器和光伏主站之间由于通信协议而导致的通信问题进行了深入的研究和分析,结合大量的工程应用实践,提出了一种用于解决不同通信协议彼此不匹配问题的算法模型,并基于此模型研发了一种基于光伏逆变器的通信协议的智能匹配技术。通过应用该技术,可以达到如下效果:
1)已接入设备类型的快速接入。
2)新接入类型设备,根据规约的难易程度,1-5天完成接入。
3)同种协议类别(例如Modbus协议)设备可以快速配置接入。
4)已接入设备类型可现场实时调试。
该技术的提出和应用,实现了不同型号逆变器与光伏主站之间的快速匹配,有效解决了由于逆变器通信协议问题而带来的工期延误、系统升级和运维成本高等问题,具有较强的经济效益和工程应用价值。
[1] 曹军威, 孙嘉平. 能源互联网与能源系统[M]. 北京:中国电力出版社, 2016.
[2] Guerrero J M, Blaabjerg F, Zhelev T, et al. Distributed Generation: Toward a New Energy Paradigm [J]. IEEE Industrial Electronics Magazine, 2010, 4(1):52-64.
[3] Liserre M, Sauter T, Hung J Y. Future Energy Systems: Integrating Renewable Energy Sources into the Smart Power Grid Through Industrial Electronics [J]. IEEE Industrial Electronics Magazine, 2010, 4(1): 18-37.
[4] 张 兴. 太阳能光伏并网发电及其逆变控制[M]. 北京:机械工业出版社, 2011.
[5] 穆 娜, 马 亮, 林 锥,等. 基于Modbus RTU通信协议的光伏逆变器通信系统[J]. 电子设计工程, 2014(19).
[6] 吴理博, 赵争鸣, 刘建政,等. 单级式光伏并网逆变系统中的最大功率点跟踪算法稳定性研究[J]. 中国电机工程学报, 2006, 26(6):73-77.
[7] 张 超, 何湘宁. 短路电流结合扰动观察法在光伏发电最大功率点跟踪控制中的应用[J]. 中国电机工程学报, 2006, 26(20):98-102.
[8] 王 飞. 单相光伏并网系统的分析与研究[D]. 合肥:合肥工业大学, 2005.
[9] 吴春华. 光伏发电系统逆变技术研究[D]. 上海:上海大学, 2008.
[10] 吴春华, 陈国呈, 丁海洋,等. 一种新型光伏并网逆变器控制策略[J]. 中国电机工程学报, 2007, 27(33): 103-107.
[11] 罗 力, 沈玉梁, 何金伟,等. MODBUS协议在光伏并网系统中的应用[J]. 微计算机信息, 2009(11): 191-193.
[12] 彭道刚, 张 浩, 李 辉,等. 基于Modbus协议的ARM嵌入式监测平台设计与实现[J]. 电力自动化设备, 2009, 29(1):115-119.
[13] 海 涛, 陈 凯, 文志刚,等. 基于Modbus协议的远程光伏逆变监控系统的设计[J]. 电源技术, 2016, 40(5).
[14] 周莉娟. 基于RS485总线和Modbus RTU通讯协议的液位监测系统[J]. 工业控制计算机, 2014(9):40-41.
[15] 孙 伟. 基于模式匹配和协议分析的入侵检测技术研究[D]. 长沙:湖南大学, 2006.
StudyofIntelligentMatchingTechnologyBasedontheCommunicationProtocolofPhotovoltaicInverter
Zou Yunfeng1, Wu Fei1, Wang Guangxing2,Kong Yueping1,Liu Ruiqiao2, Ben Anqing2
(1.State Grid Jiangsu Electric Power Company Electric Power Research Institute,Nanjing 210000; 2.Longshine Technology Co.Ltd.,Hangzhou 310000,China)
With the energy crisis, climate warming, environmental pollution and other issues becoming increasingly serious,the development of distributed clean energy has become a national policy。In the PV Station project, the communication problem between different types of photovoltaic (PV) inverter and PV master station is talked. First, various types of communication protocols used by photovoltaic (PV) inverters are analyzed and a set of algorithm for automatically analyzing the communication protocol of PV inverter is constructed. Then a kind of intelligent matching technology based on PV inverter communication protocol is developed and it is proved to be effective with a large number of engineering practices. With the technology, the protocol analyzed can be directly switched on, the new protocol can be quickly switched on and the debugging of on-site devices switched on can be directly carried out etc.
Modbus;photovoltaic inverter;protocol;analysis;intelligent match
2017-06-12;
2017-07-17。
国家电网公司科技项目(SGTYHT/14-JS-191)。
邹云峰(1977-),男,江西丰城人,硕士研究生,高级工程师,主要从事电力自动化、用电技术方向的研究。
1671-4598(2017)09-0237-05
10.16526/j.cnki.11-4762/tp.2017.09.061
TU47
A