用户中心

资讯 > 解决方案

基于rockwell自动化PLC的风力发电通讯系统

作者:胡书举 李建林 高志刚2008.12.30阅读 9906

  摘要:风力发电技术目前的发展很快,通讯系统对于风电系统的整体控制有非常重要的作用。采用罗克韦尔自动化PLC-Controllogix实现了直驱型风力发电通讯系统,研究了PLC与上位机之间的串口通讯,讨论了基于VC++的串口通讯工作原理,构建了上位机监控软件。通过实际运行证实了所采用的PLC及上位监控软件的有效性。表明采用罗克韦尔自动化PLC实现的风电通讯系统,可以为风电系统运行、控制及管理提供便利条件。
  关键词:风力发电通讯系统 罗克韦尔自动化 PLC VC++ Cmonitor
  1引言
  风力发电技术发展很快,装机容量不断增大,在世界各地都受到了广泛重视。在目前的变速恒频风电系统中CONTROL ENGINEERING China版权所有,使用双馈感应发电机(DFIG)的双馈型风电系统市场份额最大,使用永磁同步发电机(PMSG)的直驱型系统发展很快[1-2]。不管是双馈型还是直驱型风电系统,其整体控制都比较复杂,需要有主控系统来协调变桨、偏航、变流器、测量、保护和监控等多项环节,且风电系统通常运行环境比较恶劣,各执行机构之间可能存在一定的距离,因此通讯问题至关重要[3-4]。
  可编程序控制器(Programmable Logic

ControllerCONTROL ENGINEERING China版权所有,PLC),是一种专为工业环境应用而设计的电子系统,采用可编程序的存储器,在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算操作的指令,并通过数字式和模拟式的输入和输出,控制各种类型的生产过程。PLC具有编程简单,使用方便,抗干扰能力强,在特殊的环境中仍能可靠地工作,故障修复时间短,维护方便,接口功能强等优点[5],因此非常适合风电系统使用。
  本文首先说明了了风力发电通讯系统结构,选择罗克韦尔自动化的Controllogix作为主控PLC,实现基于PLC的风电通讯系统;基于VC++实现通讯系统上位监控,讨论了VC++实现原理www.cechina.cn,给出了基于Controllogix的直驱风电通讯系统监控效果。
  2风力发电通讯系统结构说明
  直接驱动型风电发电系统结构图如图1所示,包括风电机组,永磁同步发电机,背靠背变流器,由DSP为核心构成的变流器控制器,由PLC为核心构成的风力发电主控系统及上位机。通讯系统主要由PLC及上位机构成,PLC还要与变流器控制DSP之间进行通讯,由通讯系统实现对直驱型风电系统的监控,上位机与PLC之间采用串口通讯。PLC作为下位机使用,完成控制、数据采集,以及状态判别等工作;上位机用来完成数据分析、计算、信息存储、状态显示、打印输出等功能,从而实现对风电系统的实时监控。
  由图1可以看到,PLC既要与上位机连接控制工程网版权所有,又要与变流器控制DSP连接,图1中变流器采用双DSP控制,其他还有变桨控制器等,可能涉及多个处理器,需要由PLC来进行协调控制,同时要由中央控制室的上位机进行集中监控,因此基于PLC的风力发电通讯系统作用非常重要。
  图1 直接驱动型风力发电系统结构图


  本文选用罗克韦尔自动化的Controllogix作为主控PLC,对直驱型风力发电通讯系统进行初步探索。Controllogix是罗克韦尔公司在1998年推出AB系列的模块化PLC,是目前世界上最具有竞争力的控制系统之一,Controllogix将顺序控制、过程控制、传动控制及运动控制、通讯、IO技术集成在一个平台上,可以为各种工业应用提供强有力的支持,适用于各种场合,最大的特点是可以使用网络将其相互连接,各个控制站之间能够按照客户的要求进行信息的交换。对于Controllogix,在组建通讯网络时,Ethernet/ip、controlnet是比较常用的通讯协议控制工程网版权所有,除此之外,Controllogix还支持devicenet、DH+、RS232、DH485等,而RS-232/DF1端口分配器扩展了控制器的通讯能力。因此,Controllogix比较适合用于构建风力发电通讯系统。
  3 基于VC++实现的通讯系统上位监控
  为了更加灵活的监控下位机系统的运行,并方便下位机功能的调试和扩充,本文基于VC++6.0开发了与直驱型风电通讯系统配套的上位机软件CMonitor,可以提供良好的用户界面和工具栏、菜单等多操作途径,并配合形象的位图动画功能来实时显示系统实际状态和拓扑,可以完成对风电系统运行方式和运行参数的控制、修改和监视,完成对历史数据的收集和分析,方便用户对风电系统进行远程监控和调试。
  对下位机PLC串口通信模块进行相应初始化后便可以通过PLC的SCIRX和SCITX收发数据,由于PLC接收到的数据除了包含命令字外,可能还有其他的数据信息,因此针对不同类型的命令字必须有不同的处理方法。定义一个变量cmd来保存当前的命令字信息。
  struct {int ID; int counter;} cmd;
  其中ID是用来标识当前的命令字,count

版权声明:版权归控制工程网所有,转载请注明出处!
联系厂商

通过本站与本文涉及的厂商 罗克韦尔自动化(中国)有限公司 联系,本站注册会员请登录后填写更便捷。 登录注册

  • 您的姓名:
  • 单位名称:
  • 联系电话:
  • 电子邮件:
  • 我想得到贵公司详细的技术资料
  • 我想得到贵公司的价格信息
  • 我想让贵公司销售人员和我联系
  • 我想让贵公司技术支持人员和我联系
其他意向:

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688