西门子模块6ES7214-2BD23-0XB8型号齐全
1引言
风力发电技术发展很快,装机容量不断增大,在世界各地都受到了广泛重视。在目前的变速恒频风电系统中,使用双馈感应发电机(DFIG)的双馈型风电系统市场份额大,使用永磁同步发电机(PMSG)的直驱型系统发展很快[1-2]。不管是双馈型还是直驱型风电系统,其整体控制都比较复杂,需要有主控系统来协调变桨、偏航、变流器、测量、保护和监控等多项环节,且风电系统通常运行环境比较恶劣,各执行机构之间可能存在一定的距离,通讯问题至关重要[3-4]。
可编程序控制器(Programmable LogicController,PLC),是一种专为工业环境应用而设计的电子系统,采用可编程序的存储器,在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算操作的指令,并通过数字式和模拟式的输入和输出,控制各种类型的生产过程。PLC具有编程简单,使用方便,抗干扰能力强,在特殊的环境中仍能可靠地工作,故障修复时间短,维护方便,接口功能强等优点[5],非常适合风电系统使用。
本文说明了了风力发电通讯系统结构,选择罗克韦尔自动化的Controllogix作为主控PLC,实现基于PLC的风电通讯系统;基于VC++实现通讯系统上位监控,讨论了VC++实现原理,给出了基于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是用来标识当前的命令字,counter则辅助记录当前命令字下总共处理过的数据字节数。利用变量cmd可以有效简化下位机通讯功能的实现过程,提高通信函数的稳定性。如图2所示,在SCI通信服务函数中,程序根据cmd.ID的值进入不同的分支,每个命令字的任务执行完毕后都将cmd.ID赋为0,使空闲时进入0x0分支,不停检测新的指令,功能的修改或扩充只需要对相应分支做修改即可,易于维护。
图2 下位机串口通信函数流程图
图3中列出了几种典型命令字的处理流程,它们均为图2所示流程图的一部分。图3(a)中cmd.ID为0,表示当前无命令字,程序将尝试从串口读取数据,这样一旦有新的命令字,程序便可以马上获知。图3(b)中所示为cmd.ID为0x01时的处理流程,此时表明上位机在测试通信是否正常,如果可以向串口发送数据,则程序在发送完毕表示成功的数据0x01后将cmd.ID重新赋值为0;否则,程序返回,这样cmd.ID未被修改,中断函数在下次运行时仍会处理0x01命令字。图3(c)为处理0x02命令字的流程,根据预先规定0x02对应的指令是禁止PWM输出,当cmd.ID为0x02时,修改相应的寄存器,禁止PWM输出,之后由于要向上位机发送执行成功的信号,也就是发送0x01,后将cmd.ID的值修改为0x01(命令字0x01会在执行完毕后将cmd.ID赋值为0)。这样在下一次执行通信服务函数的时候将会直接进入0x01命令字分支。命令字0x03,0x04,0x05的处理流程与图3(c)相似。
图3 几种典型命令字的处理流程
命令字0x06对应的指令是修改系统的运行参数,包括有功电流参考(2个字节),无功电流参考(2个字节),是否使用载波相移和是否使用SVM(1个字节),共有5个附加数据,其处理流程如图3(d)所示,程序判断串口是否有数据可读,有则读取相应数据并存储,再将计数值加1,之后判断计数值是否已达到5,是则说明5个附加数据已经读取完毕,此时根据读取的数据更新下位机程序中的相应变量,后将cmd.ID改为0x01,向上位机发送执行成功的响应信号。命令字0x07对应的指令是采集直流电压,其处理流程如图3(e)所示。程序判断是否可向串口发送数据,若可以发送,则根据计数值确定发送低位或者高位,计数值加1,之后判断计数值是否为2,是则表明直流电压已经发送完毕,遂将cmd.ID赋值为0,后程序返回。
图3(f)为命令字0x12的处理流程,其相应指令为禁止PLC存储新的数据并从PLC接收存储的数据,数据共有1600个字节。程序判断是否可以向串口发送数据,如果可以发送则根据计数值来发送相应的数据并将计数值加1,之后判断计数值是否达到1600,是则将cmd.ID赋值为0,进入等待新指令环节。
图3中各命令字的处理流程具有典型性,图2中其他命令字的处理流程均可以在图3中找到相对应的一类,其实现过程变得简单、直观,模块化程度很高。
4 实现效果
本节给出了上位机软件CMonitor的界面图形,该软件已经具备了较完善的功能,可以应用于下位机程序开发、优化和对对下位机系统的监控中,并通过实际运行证实了有效性。
4.1启动及登陆界面
CMonitor的启动和登陆界面如图4所示,启动界面显示了软件的名称(ConverterMonitor,CMonitor)、版本(V1.0)以及单位信息(中国科学院电工研究所)等;登陆后CMonitor自动测试通信是否正确并检测MSI的工作状态,一切正常后才可以使用软件的各项功能,防止对下位机可能出现的误操作等,提高了系统的安全性和稳定性。
图4 Cmonitor启动及登陆界面
4.2 控制面板界面
控制面板是对直驱型风电系统系统进行控制的主要面板,主要包括如下三部分。
(1)拓扑控制部分。显示了系统的电气连接,包括永磁同步发电机,电机侧PWM变流器,直流母线,电网侧PWM变流器,脉冲开关,并网电感,并网继电器(3-PhaseBreaker),三相电网等。单击拓扑图的脉冲开关位置,可以打开或者关闭脉冲开关,从而实现对控制脉冲的控制;单击拓扑图的并网继电器位置,可以断开或者闭合三相继电器,实现风电变流器的并网、脱网。脉冲开关和并网继电器的图形会随着实际电路的变化而变化,可以直观的控制和反映系统的实际状态。
(2)参数控制部分。可以修改风电系统在运行中的有功电流(Iq)和无功电流(Id),控制风电系统变流器使用SVM还是SPWM调制方法。
(3)日志记录部分。显示用户在当前面板上的所有操作并给出操作结果,可以回顾用户的各个操作步骤,监视MSI的通信状态并为事故分析提供借鉴和参考。
4.3 数据面板界面
数据面板的功能是对系统运行中的数据进行采集,它提供了两种采集模式:实时数据采集和历史数据采集,均可以对直流电压、电网A相电压、电网B相电压、电网C相电压、调制波A相电压、调制波B相电压、调制波C相电压以及逆变器输出的A相电流、B相电流和C相电流共计十种数据进行采集。
图5所示数据采集面板界面中,左侧为实时数据采集部分,点击相应的采集按钮即会完成采集并显示出来;右侧为历史数据采集部分,点击右上方指示灯下的人形按钮即可以进行历史数据采集并绘制相应的波形。当图5(a)所示的数据采集过程完毕后,虚拟示波器便会将采集到的波形显示出来,如图5(b)所示的数据面板的虚拟示波器界面,用户可以将多达十种变量的波形进行显示、隐藏、移动、放缩等操作,可以用来监视程序运行、验证程序功能,了解程序的工作状态。
图5 数据采集面板界面
4.4 工具面板界面
CMonitor的工具面板界面如图6所示,它可以将Tek示波器波形捕获的波形进行转换,并可以设置虚拟示波器各通道波形的颜色。程序的封面显示了软件的作者和版权等信息,其功能示意图如图6(a)、(b)所示。图6(a)所示为工具面板打开的一个实验波形文件,可以看出该图形底色为黑色,各波形为彩色(明暗程度不同),经过工具面板处理后的波形如图6(b)所示。对比图6(a)和图6(b)可以看出,图6(a)保持了各通道波形与图6(b)相同,但底色却变为了白色,工具面板完成了将示波器波形转化为标准实验波形的功能,方便了对波形的分析。
图6 工具面板界面
5结束语
本文基于罗克韦尔自动化PLC-Controllogix实现了直驱型风力发电通讯系统,主要研究了PLC与上位机之间的串口通讯,基于VC++构建了上位监控软件,可以有效地对风电系统的运行进行监控,显示运行状态,记录历史数据及操作,绘制测试波形,并对实验波形进行处理;可以提供有好的人机界面,通过优化及完善功能,可以为直驱型风电系统的调试、监控提供便利。
圆网印花机是一种使用圆形镍网在白色坯布上可连续印制各色图案专用加工设备,工作原理类似套色印刷机,整机包括进布、主机、烘房、落布这四大部分,主机部分是由主电机经蜗轮蜗杆减速机后带动一直径约450毫米(长由1.8米到3米不等)辊子,辊子带动厚两毫米多的聚氨脂导带转动,由直径较小的被动辊拉紧导带,使与辊子导带间无打滑,导带在两辊间形成一平面,坯布被贴紧导带经由色网到后一色网位而进入烘房将布烘干。只要网子与导带严格同步,且网子间任意时刻相位没有误差,则可以在高速运动中(高速为120米/分)严格保持0.1毫米的印花精度(这也是印花导带的高精度)。与数控技术在机床中应用一样,先进的圆网印花机用网头单电机驱动技术淘汰了落后的机械减速箱长轴传动的方式,克服了原机械传动间隙和磨损对印花的影响。与数控加工技术相比,他是一种高速高精度同步技术,升降速不能有明显的速度和位置误差。而不能象数控那样有时需降低进给速度来保证较小的误差。全伺服圆网印花机是指主电机与网头独立传动电机均采用伺服电机,而进、出布电机是采用变频电机拖动。
德高的圆网印花机电控系统由两大部分组成,基于底层开发的先进电子技术实现的高速高精度同步运动控制,使网头电机(步进或伺服驱动)jingque跟踪布速(通过高分辩率编码器测主辊角速度间接得到)。实现套色印花。变化的位置信息因快10微秒系统就可在线处理。可使一秒内车速由80米/分降为零都不会产生多大位置误差,这一点在国内是唯一能同国外先进系统相比的。另一大部分是由通用PLC实现的整机由进布到出布同步拖动控制及操作控制,以触摸屏完成速度模拟条显示,升降速的不同速度段快捷键一键操作,及故障滚动显示。界面如图1所示。
系统的逻辑动作较为简单,PLC程序没什么难度,此处只举一例,供大家参考,整机除可用触摸屏操作外,仍保留按扭操作,按扭中常用的为启/停按扭,为了减少外部连线并节约PLC的输入口,我们在如停车状态时需要操作的圆网自转开/停按扭,采用了单按钮操作,即次按下为开,在按一次为停。现以FX系列PLC为例说明实现方法,此处是采用计数器法。假设输入按钮接在X001,输出为Y001,梯图为图2示:
其中PLSY发脉冲指令在FX系列PLC中只能从Y0输出,此一点因PLC不同而不同。
系统的同步控制我们采用了两种方式;种方式较为简单,技术要求低用模拟电压为给定控制主伺服电机和进落布烘房变频器的给定(原理如图3示),为使线速度一致采用数字式同步控制器实现同一主给定下各路不同比例输出(价格比PLC专用D/A模块便宜,输出模拟电压为12位D/A,精度也足够,除主电机外,进落布取调节布张力的松紧架信号(实质为±5V供电的电位器),同步器的数学表达式可描述为:Ui=Um*Ki+Uf*Kfi(输出高电压为10V,其中:Ui为第i路输出,Um为主令电压,Ki为第i路输出比例系数,Uf为该路反馈电压,Kfi为反馈系数),实际调试中为使布受的张力均匀,特别是升降速时同步效果好,除松紧架反馈系数合适外,还要注意变频器的升降速时间参数设不可太长,以免反馈信号作用后反应时间太慢造成同步不好。我们选用的同步器带外部升、降数字信号输入,即UP与DOWN与其相应的地接通可使输出电压升高和降低,因给定为内部数字给定,使输出模拟电压稳定性很好,再采用伺服电机驱动从而保证了主传动的稳定。这里值得一提的是我们采用了主伺服电机驱动器上编码器输出差分信号,来测量主电机的速度,实现自动按设定速度升降速,自动停车,自动判断导布速等功能,所有参数可通过触摸屏进行参数的修改,如升降速时间,导布速调节。伺服驱动编码器接口到PLC的接口电路如图4示,不仅实现了隔离,且完成信号类型和电平转换。
FX2N系列有高速脉冲输入口,用SPD指令可以完成对速度的测量,要注意的是用于速度控制要留有误差带,不然会引起速度的振荡。
第二种方案是采用总线通过通讯控制完成坯布输送的同步,从而省去同步控制器。完全的数字化控制,不仅减少了连线,系统的可靠性和抗干能力都大大提高。伺服或变频器的故障原因可直接在触摸屏显示出来。系统框图如图5示。其中松紧架的反馈信号则送入变频器,实现对主令速度的微调整,反馈系数可直接在变频器设置或在触摸屏设置,用485总线送入变频器。不管采用什么品牌的PLC为得到良好的实时特性和同步的一致性,避免因通讯的延迟在升降速过程对电机同步的影响,我们采用中断控制的方法,效果是很好的。欧母龙的通讯有专用指令很简单,在此不再赘述。
后再谈谈系统中的一个特色,先推出独立传动系统时采用的是单片机作为主机,已经有了彩色触摸屏了,整机拖动部分采用PLC后,刚开始的改造我们采用了增加一个PLC专用的触摸屏。随后为了使整机能够合二为一,我们选用了两种方案。主要区别是用谁来做主机。是单片机还是PLC,不管用什么方法,都要完成单片机同PLC的通讯。如用单片机作为主机,易于大量参数的存储,这样PLC就成了下位机了,在主机上增加有关PLC操作及参数设置的画面,信息参数经单片机通讯至PLC就可以了。当然这一技术的关键是要清楚所使用PLC的通讯协议,欧母龙的通讯协议是开放的。直接可从编程手册中获得。以三菱FX2N系列PLC为例:表1为PLC专用专用协议通信的指令。
表1
指令 注释
BR以1点为单位,读出位元件的状态
WR以16点为单位,读出位元件的状态;或以1为单位,读出字元件的值
BW以1点为单位,写入位元件的状态
WW以16点为单位,写入位元件的状态;或以1为单位,写入值到字元件
BT以1点为单位,置位/复位(SET/RESET)位元件
WT以16点为单位,置位/复位(SET/RESET)位元件,或写入值到字元件
RR控制PLC运行(RUN)
RS控制PLC停止(STOP)
PC读出PLC设备类型
TT连接测试
注:位元件包括X、Y、M、S以及T、C的线圈等;字元件包括D、T、C、KnX、KnY、KnM等
FX系列PLC通讯协议规定PLC无论在运行还是在停止时,都可以接收上位机的4种监控命令,每种命令用唯一的命令码标识,如表2示
表2
监 控 命 令 命令码 目 标 单 元 说 明
读取单元 30H X、Y、M、S、T、C、D 成组读取目标单元的状态
写入单元 31H X、Y、M、S、T、C、D 成组写入数据到目标单元
单元置位 37H X、Y、M、S、T、C 置位目标单元的映像寄存器
单元复位 38H X、Y、M、S、T、C 复位目标单元的映像寄存器
PLC与单片机之间是以报文方式进行数据传输的,数据传输单位为帧。表3给出了通讯中所用到的控制字符。
表3
控 制 字 符 ASCII 说 明
ENQ 02H 询问:主机向PLC发送的请求通信信号
ACK 06H 确认:PLC对主机返回的肯定应答信号
NAK 12H 否认:PLC对主机返回的否定应答信号
STX 02H 文始:表示报文正文开始
ETX 03H 文终:表示报文正文结束
命令帧采用和校验(Sum Check)方式检错,格式如图示
起始标志 命令码 数据区 结束标志 和校验值
STX CMD DATA ETX SUM
UPPER SUM
LOWER
1个字符
1个字符
多个字符
1个字符
1个字符
1个字符
通讯时,单片机先向PLC发送询问(ENQ)信号,请求通讯并等PLC响应。PLC接收到该字符后,若通讯正常,PLC应答信号为确认(ACK),否为(NCK)。单片机收到确认信号便可发送相应命令并等PLC应答,如此可以完成单片机对PLC的控制。
我们用PLC和自主开发的运动控制系统组成的全伺服圆网电控系统,在国内使用多套,用户反映良好,把先进电子技术应用到传统印染装备行业,提高了装备水平,也使我国色布出口提高了竞争力,且与国外系统比,价格低廉,非常适合国情