光纤通信在风力发电系统中的应用❋
2013-09-04易灵芝
申 超,易灵芝,龙 辛,黄 波,庞 伟,詹 俊
(1.湘潭大学 信息工程学院 电气工程系,湖南 湘潭 411105;2.湘电风能有限公司,湖南 湘潭411105;3.长沙优利泰克信息技术有限公司,湖南 长沙 410000)
0 引言
风力发电作为一种清洁的可再生能源,同时又是新能源发电技术中最成熟和最具规模开发条件的发电方式之一,在世界各地得到迅速发展[1,2]。
风力发电控制系统一般分为3部分:塔基控制系统、机舱控制系统和轮毂系统控制[3]。机舱和轮毂之间一般采用CANopen网络通信,机舱和塔基之间传输距离远,传统的通信方式,如RS485、CAN等都受通信距离以及传输频带的限制,无法满足要求,而光纤通信具有带宽资源丰富、通信容量大、中继距离长等特点,可以保证数据的远距离实时传输,并且对于电磁的抗干扰能力很强,因此对于光纤在机舱和塔基间通信应用的研究是很有必要的[4]。
本文以STM32作为控制平台,以光纤为介质,UDP通信协议格式作为塔基和机舱的数据传输方式开发了光纤通信模块。为了保证风机控制模块能访问到传输过程中的数据,系统采用FPGA实现了Ethernet CAT 的主从站结构[5]。
1 光纤模块设计和实现
1.1 系统需求
在风机控制系统中,塔基和机舱之间需要长距离传输数据,同时又要求通信网络具有较强的抗干扰能力。根据控制系统的要求,在1ms内,塔基和机舱的数据至少能交互一次,所以必须在硬件和软件两方面做出改进。
1.2 硬件结构
通过对系统需求的分析,设计了如图1所示的硬件架构。系统采用STM32F103ZC作为主控芯片,通过FSMC总线拓展了W5100网络芯片,实现光纤数据的收发,其中光电转换芯片采用集成的模块[6]。同时为了保证其余模块能很好地访问到光纤模块上的数据,系统采用FPGA设计了Ethernet CAT底板总线,各模块只需要插在底板上即可实现数据的互相访问。STM32和FPGA之间同样采用FSMC总线实现数据的访问。
图1 系统硬件架构
1.3 软件结构
1.3.1 共享内存空间
在硬件上,系统设计了2kB的共享存储空间。图2所示为共享空间划分,将这片空间分为4块。由风机的控制系统结构可知,只需要交互S2和CAN1区域的数据即可。
系统硬件设计时,光纤模块预留有4kB的共享空间,前面2kB作为只读空间,后面2kB作为只写空间。系统进行数据交互时,光纤模块从前面2kB空间读取数据,打包发送出去,同时,把接收到的数据解析存入后面2K的空间。对于CPU来说,它读取后面2 kB空间的数据进行数据处理,同时把需要输出的数据写入到前面2kB空间。共享内存空间读写访问协议如图3所示。
图2 共享空间划分示意图
图3 共享内存空间读写访问协议
为了保证其余模块能很好地访问共享空间的数据,将S1、S2、CAN1、CAN2的空间进行分配。其中站头包括站的ID、状态、中断等,而卡头包括各模块的长度、类型、ID等。站头结构定义如下:
typedef struct Head_Of_Station_Str
{
WORD Station_Is_Written;/*写入状态标志*/
WORD ID;
WORD State;/*状态*/
WORD Num;/*站的板卡数量*/
WORD Err_Type;/*站的故障类型*/
WORD Err_Card;/*故障的板卡号*/
WORD Interrupt_Chan;/*中断通道号*/
}Head_Of_Station;
卡头结构定义如下:
typedef struct Head_Of_Card_Str
{
WORD Type;
WORD ID;
WORD State;
WORD Err;/*板卡的故障类型*/
}Head_Of_Card;
1.3.2 UDP协议包定义
光纤通信采用了UDP通信方式,其数据包格式如表1所示。其中,前面4个字节作为通信校验字,以防止外来数据的干扰,其余部分的定义如下:
大多数教师把教学的百分之九十的精力放在了教学设计上,听课中经常发现教师游戏设计的精彩多样,可是到了评价的阶段却是相当的吝啬,只是草率地一带而过。殊不知,教学评价才是游戏深化、幼儿发展最直接的因素。
Length(2字节):数据包字节长度,不包括数据包头和本身字节。
Command(1字节):命令字。
ox01 配置信息;
ox02 配置完成;
ox03 正常运行时传送的数据;
ox04 中断信息;
oxFF 错误信息。
Reserved(1字节):保留。
DataType(1字节):传输的数据类型,即数据来自或者发往哪一级底板。
ox01 IS_S1_DATA 底板1上的数据;
ox02 IS_S2_DATA 底板2上的数据;
ox03 IS_CAN1_DATA CAN的数据;
ox04 IS_CAN2_DATA CAN的数据。
Data:实际的底板数据。
表1 数据包格式定义
1.3.3 系统配置过程
如图4所示为配置信息数据流图。具体步骤如下:
(1)上电初始化,State=0;CPU1将State置为1。
(2)FM读取到State=1时,将S2的配置数据区域414个字节通过光纤发送给FS。
(3)FS接到数据包以后,将其写入S2的共享空间区域。
(4)CPU2读到State=1时,解析配置信息并配置各个模块;配置完成后,置State=2。
(5)FS读到State=2后,将该状态发给FM。
(6)FS将State=3,FS进入正常工作模式。
(7)FM接收到FS发回的cmd=2后,将State=2写入S2共享空间区。
(8)CPU1查询到State=2后,将State=3,FM也进入正常工作模式。
图4 配置信息的数据流图
1.3.4 系统的运行流程
图5为系统运行流程图。由图5可知,系统初始化完成以后,进行配置信息的发送和接收;之后分别读取S2和CAN的数据,通过光纤发送出去;同时通过UDP接收服务函数读取,并调用相应的处理函数。
主循环程序分为4个主要状态,自检状态下系统完成所有硬件初始化过程和设备自检过程,如系统正常状态时将依次完成系统配置和软件初始化过程,最后切换到正常的工作状态。程序如下所示:
while(1)
{
switch(station_state)
{
case STATION_Self_Inspect;
...
break;
case STATION_Configuration:
break;
case STATION_Inialize;
break;
case STATION_Running:
break;
}
图5 系统运行流程图
2 实验验证与性能分析
系统设计了两个光纤模块,一个作为主模块,一个作为从模块,位于不同的底板上面,中间通过多模光纤连接,其参数设置如表2所示。通过J-LINK将程序Download进入芯片,系统重启即可进行测试。
表2 FM/FS模块网络参数设置
图6为搭建的实验平台实物图,从上至下依次对应图1中的S1塔基、S2机舱和S3轮毂。
S1与S2之间采用的即为本文所述光纤通信,为了验证系统作如下两步实验。
图6 硬件系统图
2.1 链路测试
通过网络PING命令,访问FM/FS模块,系统模块返回时间的平均值远小于1ms,数据丢包率为0%,这表明光纤通讯链路正常,且具有良好的稳定性和可靠性。同时通过分析抓获的数据包以及调试信息可知,系统能正常启动,FS掉电重启或FM掉电重启时,系统都能进入正常工作状态,系统稳定可靠。
2.2 链路通信速度测试
系统正常运行时,FM/FS每发送/接收10 000个包后,往PC上发一条调试信息,通过抓包工具Ethereal得到如表3所示数据。由表3可知,FM与FS收发每个包平均所耗时间均在系统设计要求的范围内。
表3 抓包所得网络统计数据
3 结论
通讯模块利用光纤以太网实现了机舱和塔底控制器间的通讯,目前已经应用到风力发电控制系统中,性能可靠稳定。光纤以太网可以满足风力发电控制系统在工业现场的需要,由于本通讯模块低成本和灵活性的特点,具有良好的应用前景。
[1] 田振宇.浅谈风力发电的发展现状及前景[J].企业技术开发,2011(9):101-102.
[2] 刘琦.中国新能源发展研究[J].电网与清洁能源,2010,26(1):1-2.
[3] 雷亚洲,Gordon Lightbody.国外风力发电导则及动态模型简介[J].电网技术,2005,29(12):27-32.
[4] 刘志亮,邹见效,徐红兵.光纤以太网在风力发电控制系统中的应用[G]//2008年中国电机工程学会年会论文集.西安:中国电机工程学会,2008:345-348.
[5] 李木国,王磊,王静,等.基于EtherCAT的工业以太网数据采集系统[J].计算机工程,2010(3):237-239.
[6] Douglas E Comer.用 TCP/IP进行网际互连(第1卷):原理、协议与结构[M].第4版.林瑶,张娟,王海,译.北京:电子工业出版社,2002.