基于CAN总线的光伏电站监控系统
2024-07-22
来源:易榕旅网
2012钲 仪表技术与传感器 20l2 No.3 第3期 Instrument Technique and Sensor 基于CAN总线的光伏电站监控系统 叶琴瑜,胡天友,何耀 611731) (电子科技大学机械电子工程学院,四川成都摘要:针对目前光伏电站监控系统普遍采用RS一485总线通信存在的缺点,提出了一种基于CAN总线的光伏电站监 控系统。在深入研究CAN总线技术的基础上,详细阐述了以TMS320F2812作为下位机控制器的系统硬件电路设计、CAN 通信协议设计及软件设计的程序流程。解决了以往光伏电站监控系统存在的实时性差、自动化程度低、容纳的节点数少、 抗干能力弱等问题。 关键词:CAN总线;监控系统;通信协议;SN65HVD230 中图分类号:TP277;TM615 文献标识码:A 文章编号:1002—1841(2012)03—0076—03 Photovoltaic Power Station Monitoring System Based on CAN Bus YE Qin—yu,HU Tian—you,HE Yao (University of Electronic Science and Technology of China,School of Mechatronics Engineering,Chengdu 611731,China) Abstract:In view of the current technical condition of photovohaic(PV)power station that using RS一485 bus for communi— cation,this paper presented monitoring sytem for PV power station based on CAN bus.Combined with CAN bus technology,the pa- per introduced the hardware design based on TMS320F2407 as the lower computer controller,the design of CAN communication protocol and the program process of software design.The system solved the problems of former PV power station monitoring system, such as having poor real—time,the lower automatic level,containing few number of node,the small anti-jamming capability.And it obtains good effects in the experiment. Key words:CAN—bus;monitoring system;communication protocol;SN65 HVD230 0引言 总线通信带来的不足,简化了网络结构,提高了系统的性能、效 率和智能化水平。 1系统总体结构 光伏电站监控系统主要由上位机、下位机、CAN总线和数 据采集模块组成,系统结构如图1所示。其中,数据采集模块 主要由各种传感器组成,负责采集光伏电站的各种状态参数, 如:光伏阵列输出电压、电流,逆变器输出电压、电流,逆变器温 度、环境温度、光照强度、风速等 J。下位机控制器 TMS320F2812将数据采集模块检测到的数据处理后通过CAN 模块发送到CAN总线上,上位机通过CAN接口卡接收下位机 发送到CAN总线上的数据,对其进行显示、存储和比较报警处 随着现代工业的快速发展,全球能源危机和环境污染问题 日益严峻。太阳能作为最理想的可再生能源,因其储量的无限 性、存在的普遍性、利用的清洁性和长久性,越来越受到人们的 重视。随着太阳能光伏发电技术的不断发展,其应用产品不断 增多,针对太阳能光伏发电站运行状态的实时监测与控制的研 究也显得越来越重要。光伏电站的监控技术已经成为太阳能 光伏发电技术推广应用的关键技术之一。 目前,光伏电站监控系统普遍采用集散控制思想,即通过 上位机进行集中显示、管理和存储,通过下位机实现光伏电站 各设备运行状态及环境参数的实时数据采集和控制。在控制 系统中,由于RS一485总线成本低、技术简单、组网方便等优 点,所以被普遍用于上位机与下位机之间的通信。但是受通信 方式和通信协议的限制,RS一485总线存在数据传输率低、通 讯失败率高、传输距离短、容纳的节点少、后期维护成本高、节 理等,并根据需要向下位机控制器发送控制命令。 2硬件电路设计 该监控系统采用分级分布式计算机控制系统结构,上位机 采用Pc机作为光伏电站的集中控制机,完成对光伏电站的实 时监控任务。下位机完成实时数据采集、与上位机进行通信以 点错误将导致整个网络的瘫痪等缺点。相比而言,CAN总线具 有通信速率高、传输距离长、容纳节点多、多主传输、通讯失败 率极低、后期维护成本很低等优点 ,更加适用于光伏电站监 控系统。 及执行上位机发送的控制命令等任务。上位机实现CAN总线 通信时,选用PCI一9820双路非智能接口卡。下位机控制器选 用DSP芯片TMS320F2812,它的增强型eCAN模块为CPU提供 了完整的CAN 2.0B协议,减小了通信时的CPU开销。主控芯 文中在深入研究CAN总线通信技术的基础上,提出了一 种基于CAN总线的光伏电站监控系统的设计方案,构建了一 个抗干扰性强的CAN总线通讯网络,解决了以往由RS一485 基金项目:总装备部预研基金(G02010801PJ087DZ0201) 收稿日期:2011—06—07收修改稿日期:2011—12—20 片TMS320F2812支持32位定点运算,采用高性能的静态CMOS 技术,其最高工作频率达150 MHz,运算能力强、精度高、速度 快 ],非常适用于光伏电站监控系统,满足了光伏电站监控系 统的实时性、可靠性和处理算法的复杂性等更高要求。 第3期 叶琴瑜等:基于CAN总线的光伏电站监控系统 77 图1系统结构 2.1 CAN总线 CAN总线具有较高的性价比,是一种多主方式的串行通讯 总线。由于采用了许多新技术及独特的设计,CAN总线与一般 的通信总线相比,它的数据通信具有突出的可靠性、实时性和 灵活性。其主要特点有:采用非破坏总线仲裁技术,可多个节 点同时向总线发送信息,总线利用率高;节点分成不同的优先 级,可满足不同的实时要求;可靠的数据处理和检错机制;通信 距离最远可达10 km,速率最高达1 Mbps;节点在错误严重的情 况下具有自动退出总线的功能 J。 2.2 CAN接口电路设计 任何CAN节点至少要包括:微控制器(MCU)、CAN协议控 制器、和CAN收发器三部分。该监控系统中选用的 TMS320F2812芯片集成了CAN协议控制器,仅需要外置CAN 收发器即可实现通信功能。系统选用的是与TMS320F2812供 电电压一致的3.3 V CAN总线收发器SN65HVD230。 SN65HVD230收发器具有差分收发能力,最高速率可达 1 Mb/s.选用SN65HVD230收发器可以增大通信距离,提高系 统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),允许 120个节点,实现热防护等…。具体接口电路如图2所示。 CANRX CANTX 图2 CAN接口电路 图中电阻R 作为CAN终端的匹配电阻。CAN控制器的 输出引脚CANTX接到SN65HVD230的数据输入端D,可将 CAN节点发送的数据传送到CAN总线上;而接收引脚CANRX 与SN65HVD230的数据输出端R相连,用于接收数据。 SN65HVD230的方式选择端口RS与一端接地的斜率电阻器R, 连接,可实现高速、斜率控制和低功耗3种工作模式的选择 ]。 考虑到系统成本,以及为了减少因电平快速上升而引起的电磁 干扰等问题,该接口电路选择斜率控制方式。 3系统软件设计 系统的软件设计主要包括上位机的监控界面设计和CAN 通信软件设计。上位机软件采用VC#.NET为开发平台进行界 面设计并结合SQL Se ̄er 2005进行数据库开发,为了实现CAN 总线通信功能,还利用了PCI一9820双路非智能接口卡厂商提 供的工具包。CAN通信软件设计的三层模型结构为:物理层、 数据链路层和应用层。但是在CAN2.0B协议规范标准中,只 规定了物理层和数据链路层,并没有规定应用层。因此,系统 软件设计的重点在CAN协议的应用层软件的设计上,主要包 括CAN通信协议设计、eCAN模块初始化、数据发送和接收程 序。 3.1 CAN通信协议设计 CAN 2.0B协议定义了2种不同的帧格式:标准帧和扩展 帧,这两种帧格式的主要区别在于标识符的长短,标准帧的标 识符长度是11 b,扩展帧的标识符长度是29 b.考虑到通信的 可靠性和效率,该系统采用标准格式数据帧,通信速率最高可 达500 kb/s.CAN 2.0B协议的标准信息帧如图3所示,主要包 括:仲裁域、控制域和数据域 J。 图3 CAN标准信息帧 该应用层协议对标准帧的1 1位标识符采用了报文优先级 分配原则,每一帧报文标识符的最高4位表示报文的优先级, 数据越小优先级越高,后面7位表示CAN目标节点的地址。报 文标识符分配如表1所示。目标节点地址标识符(ID.6~ID. 0)分配为上位机节点0000 001,0000 010~1111 111为各下位 机控制器节点(如:逆变器等光伏电站设备)。最后,明确各节 点需要发送的报文,对监控系统中各种控制信号和数据进行分 类,填充各报文的控制域和数据域。 表1 CAN标识符分配 3.2 eCAN模块初始化 在使用CAN模块之前,必须进行初始化,并且只有CAN模 块工作在初始化模式下才能进行初始化。它包括I/O引脚的 配置、CAN通信波特率的配置以及初始化邮箱。图4给出了 CAN模块的初始化流程。将功能选择寄存器(GPFMUX)的位7 和位6置1,使得CANTX和CANRX作为CAN通信引脚;使用 适当的值对CANBTC(位时序配置寄存器)进行配置,主要是通 78 Instrument Technique and Sensor MaL 20l2 过设置通信波特率预设值(BRPreg)、时问段1(TSEG1reg)和时 间段2(TSEG2reg)的值来确定CAN通信的波特率 j,波特率的 计算公式为: 波特率=丽 丽 丽丽 式中SYSCLK是CAN模块的系统时钟频率,与CPU的时钟频 率相同,系统中为150 MHz. 对邮箱初始化主要是设置邮箱的标识符、控制域、数据长 度、优先级以及对发送的数据区赋初值。在系统中将邮箱0~ l5作为发送邮箱,邮箱l6—31作为接收邮箱,以备CAN网络 的连接和通信使用。 图4 eCAN模块初始化流程图 3.3数据发送程序 各传感器采集的数据经过DSP内部A/D转换后交由CAN 发送子程序负责发送到CAN总线上。发送时只要将待发送数 据按照已定的格式组成一帧帧报文,写入发送邮箱的数据区, 如果相应的发送请求位使能,则数据帧被发送到CAN总线上。 数据发送程序流程图如图5所示。如果多个发送邮箱的发送 请求位置位,则数据帧一个接一个地发送出去,邮箱权限高的 先发送。如果发送失败,则发送邮箱将再次发送 。在系统 中,下位机每2秒向上位机连续发送6组数据帧,最后一帧的 最后4个字节为结束标志,它的格式为:NOD—ID(下位机节点 ID,即标识符的0~6位)+FF FF FF。数据帧的具体定义如表 2所示。如果上位机连续接收到6组数据帧并且最后4字节为 结束标志,那么认为数据接收成功,否则没丢弃数据,并通过读 取结束标志中的NOD—ID获取发送节点的ID。 表2光伏电站状态参数数据帧定义 图5数据发送程序流程图 3.4数据接收程序 CAN控制器在接收信息时,先将要接收的数据帧的标识符 与相应接收邮箱的标识符进行比较,只有标识符相同的信息才 能被接收 。为了提高效率,系统采用中断的方式接收数据, 下位机响应接收中断后读出并检测接收邮箱中的接收数据。 数据接收程序流程图如图6所示。 图6数据接收程序流程图 4 系统调试与试运行 利用CCS3.3软件、XDS510USB2.0DSP仿真器以及PCI一 9820非智能接口卡进行了CAN总线通信实验,代码全部调试 通过,成功地实现了上位机与下位机之间的通信。图7所示为 上位机软件与DSP通信成功的界面。实验证明,上位机监控软 件通过PCI一9820非智能接口卡可实时地接收下位机发送的 数据和成功地向下位机发送控制命令,并且可同时对多台逆变 器进行监测和控制,效果良好。 5结束语 为确保光伏电站安全可靠地运行,提高电站自动化程度,设 计开发了一种基于CAN总线的光伏电站监控系统,改进了原有 以RS一485总线为主的监控系统。该系统兼顾了实时好、可靠 强、控制精度高等特点,还在保证了监控系统实时性的前提下提 高了电站的通信距离,充分发挥了TMS320F2812芯片的性能,节 约了系统维护成本,各方面性能均优于基于RS一485总线的监 控系统,对进一步提高光伏电站的效率、自动化水平,以及优化 电站的实时性和稳定性都将具有重要的意义。 (下转第81页)