浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
庆阳西门子S7-200代理商

庆阳西门子S7-200代理商

1引言

  风力发电技术发展很快,装机容量不断增大,在世界各地都受到了广泛重视。在目前的变速恒频风电系统中,使用双馈感应发电机(DFIG)的双馈型风电系统市场份额大,使用永磁同步发电机(PMSG)的直驱型系统发展很快[1-2]。不管是双馈型还是直驱型风电系统,其整体控制都比较复杂,需要有主控系统来协调变桨、偏航、变流器、测量、保护和监控等多项环节,且风电系统通常运行环境比较恶劣,各执行机构之间可能存在一定的距离,因此通讯问题至关重要[3-4]。

  可编程序控制器(Programmable Logic Controller,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所示,启动界面显示了软件的名称(Converter Monitor,CMonitor)、版本(V1.0)以及单位信息(中国科学院电工研究所)等;登陆后CMonitor自动测试通信是否正确并检测MSI的工作状态,一切正常后才可以使用软件的各项功能,防止对下位机可能出现的误操作等,提高了系统的安全性和稳定性。

 

图4  Cmonitor启动及登陆界面

4.2 控制面板界面

  控制面板是对直驱型风电系统系统进行控制的主要面板,主要包括如下三部分。

  (1)拓扑控制部分。显示了系统的电气连接,包括永磁同步发电机,电机侧PWM变流器,直流母线,电网侧PWM变流器,脉冲开关,并网电感,并网继电器(3-Phase Breaker),三相电网等。单击拓扑图的脉冲开关位置,可以打开或者关闭脉冲开关,从而实现对控制脉冲的控制;单击拓扑图的并网继电器位置,可以断开或者闭合三相继电器,实现风电变流器的并网、脱网。脉冲开关和并网继电器的图形会随着实际电路的变化而变化,因此可以直观的控制和反映系统的实际状态。

  (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++构建了上位监控软件,可以有效地对风电系统的运行进行监控,显示运行状态,记录历史数据及操作,绘制测试波形,并对实验波形进行处理;可以提供有好的人机界面,通过进一步优化及完善功能,可以为直驱型风电系统的调试、监控提供便利。


  文中介绍了基于PLC 的石油储运监控系统的设计方案、系统组成、控制方式与通讯网络,阐述了采用Pakscan 主站控制器控制的智能电动阀的特点及其与PLC 的通讯方法。

关键词

  PLC  智能电动阀  主站控制器  石油储运


1 前 言

  罐区中原油储罐和输油管道所使用的各种控制阀门是石油储运过程中必不可少的现场仪表,其智能化程度的高低、所含信息的多少和对故障的诊断与容错能力直接影响到数据采集与监控系统的可靠性、稳定性和易用性。通常罐区中的控制阀数量众多且分散,普通的控制阀所含信息量少而布线繁多,这在一定程度上使罐区监控系统的设计复杂化。该系统采用英国Rotork 公司的智能电动阀及其主站控制器,大大简化了监控系统的复杂设计,而且借助其丰富的诊断信息和对故障的容错能力,使系统的可靠性得以提高。


2  监控系统的硬件实现

 2.1  Rotork 智能阀控制设备

  Rotork 智能阀控制设备是一个阀门数据采集、监视与控制系统,它由一台主站控制器和与它相连的现场电动阀组成。主站控制器通过一条两线电流环路可以控制挂于环路上的多达240 个现场控制阀,该电流环路可长达20 km。
  现场电动阀的智能化程度较高,其内部含有丰富的数据和诊断信息。但主要的特点是多个智能阀仅通过两线互联成一个环路,终接入主站控制器的只有起始和末端两线,所有阀门信息通过两线通讯进入主站控制器。现场电动阀还具有线路故障屏蔽功能,当环路出现开路、短路或接地故障时,智能阀可以将故障端的线路屏蔽掉,使主站控制器仍能与线路上的所有智能阀通讯而不受影响,同时将故障信息发给主站控制器。其两线屏蔽原理如图2-1所示。

图2—1
图2—1  故障屏蔽原理



  正常操作情况下,通讯电流信号沿环路的一条线从主站控制器的端口A 流出,经该环路从端口B流回。此时,另一条线路是冗余的。当有一处线路发生故障时,该处故障线路被阀门屏蔽,故障线路两边的智能阀可通过各自的环路与主站控制器通讯;当有两处线路发生故障时,这两处故障之间的智能阀都被屏蔽,两处故障之外的智能阀依然可以通过两“臂状”环路与主站控制器通讯。
  主站控制器是由主CPU 卡、环路通讯卡、电源、液晶显示器和16 按钮键盘组成的盘装智能仪表。它内部有两个固定的数据库,一个是现场单元数据库,负责接收并记录从两线环路传来的智能阀的地址、转矩、开度等数据,根据从上位机传来的读写命令控制阀门的运动,该数据库从逻辑上划分为4 个区,每个区记录60 个阀门的数据;另一个数据库为主站控制器状态及自诊断数据库,负责记录通讯协议的有关状态并向智能阀发布命令。通过主站控制器的按键和液晶显示器,可以实现读取智能阀的开度、转矩、地址等数据,控制阀门的开闭,接收报警信号及与PLC 通讯等功能。
  Pakscan IIE Master Station 是Rotork 主站控制器中的一种,它为双重热备结构,在主控制器出现故障时可以自动切换到热备控制器。图2 —2 为PakscanIIE 主站控制器与现场智能阀通过两线环路相连的情况。

图2—2
图2—2 两线环路连接图


  Pakscan IIE Master Sation 有一个RS - 485 通讯口和一个RS - 232 通讯口,它们可通过Modbus 协议与PLC 通讯。其中RS - 232 通讯口可以不通过PLC直接连接打印机,打印报警信号。

 2.2  监控系统结构

  图2—3 所示为现场智能电动阀监控系统的结构框图。

图2—3
图2—3 现场智能电动阀监控系统的结构框图


  该系统的控制部分采用美国GE Fanuc 公司的HBR 双重热备型PLC 系统,通过PLC 控制140 个智能阀( IQ actuator) 的开停闭。上位监控站可监视各个智能阀的阀位回信状态、阀位值以及报警信号,并可执行开阀、停阀和关阀操作。
  Pakscan IIE 主站控制器与PLC 之间采用Modbus协议通讯,以port 1 的RS - 485 接口连接。正常运行情况下,主PLC 和主控制器工作,从PLC 和热备控制器分别与主PLC 和主控制器保持同步。智能阀将数据传送给主控制器,主PLC 通过RS - 485 接口从主控制器中读取数据,并向其发布命令,主控制器再执行命令,驱动智能阀按命令运转。当主PLC 或主控制器出现故障时,系统能分别自动切换到从PLC 或热备控制器。
  由于系统中采用的是Modbus通讯协议,一台PLC 可以连接多台Pakscan IIE 主站控制器,因此,若现场智能阀较多,系统可以很方便地扩展而且连线简单。

3  软件设计

 3.1  通讯程序设计

  PLC选用Modbus RTU 主通讯模块(master ) 。Pakscan IIE 主站控制器是一个远程终端单元,做为Modbus 从设备( slave ) 。PLC 的CPU 通过ModbusRTU 主通讯模块控制Pakscan IIE 主站控制器的读写,被称为Modbus host 。系统采用单Modbus host 两线通讯方式,该方式多可以连接32 个Pakscan IIE主站控制器。
  主通讯模块的程序设计有3 部分内容:初始化通讯模块;读写Modbus/ RTU 数据;监测通讯状态。
  通讯模块的初始化工作主要是配置3 个初始化控制块的参数: Slave 控制块( SCB) , 信息控制块(MCB) 和通讯要求参数块(COM- REQ) 。SCB 是一个15 个寄存器长的数据块,功能是定义与其通讯的Slave 的型号、个数、状态等参数,每一个Slave 需要定义一个SCB 块。MCB 是一个6 个寄存器长的数据块,功能是定义Master 要求每个Slave 执行的命令信息,包括命令类型、RTU 引用地址偏移、PLC 引用地址偏移、主机号等参数,每一种命令需要定义一个MCB 块。COM- REQ 是一个17 个寄存器长的数据块,功能是定义通讯方式、端口控制字及监测SCB和MCB 的状态参数等, 每一端口需要定义一个COM- REQ 块。所有这些初始化参数在PLC 上电或冷启动初始化的个扫描周期内加载到RTU 主通讯模块,此后RTU 主通讯模块负责与Pakscan IIE主站控制器通讯,而PLC 则与RTU 主通讯模块交换数据。
  读写Modbus/ RTU 数据和监测通讯状态的编程相对简单,只要读写初始化时定义的相应的PLC 参数地址即可。

 3.2 监控软件设计

  上位监控站可以准确的监测和控制储运过程的所有信息和设备。通过编程、组态、连接,形象地反映实际工艺流程、显示动态数据,设置PID 控制参数以及过程参数,并可以查看历史趋势、报警历史报表等。
  Rotork 的现场电动阀配置在流程的输油管线上,通过按钮可以人工启动、停止和关闭任一个阀门,并显示任意时刻的阀门状态和阀位值。设计良好的人机界面使操作简便、直观。


4  结束语

  Rotork 的智能阀控制设备与PLC 的结合使得罐区储运监控系统布线简洁、控制方便,PLC 的冗余以及Pakscan IIE 主站控制器的双热备保证了系统的高可靠性,也提高了控制系统的自动化程度。该系统已投入工业现场使用,效果良好。


发布时间:2024-05-08
展开全文
优质商家推荐 拨打电话