摘要:本文对MODBUS总线在变频调速控制系统中的应用进行了探讨。介绍了MODBUS通信协议的基本规范,简述了电机控制系统中的变频调速技术。以安川VS606-V7变频器和单片机89S52为基础,开发了基于MODBUS通信的变频调速系统,并说明了该系统的硬件组成和相关软件开发。
关键词:MODBUS 变频调速 控制系统
引言
现代工业自动控制系统朝智能化、网络化和开放式结构的方向发展。利用现场总线技术,将符合同一标准的各种智能设备统一起来,彻底实现整个监测系统的分散控制,将提高系统集成度和数据传输效率、延长有效控制距离,并有利于提高系统抗干扰性能和扩展系统功能。在设备的底层控制中,变频调速已成为现代电机控制技术的重要发展方向。如果把总线通信与变频控制技术统一起来,将推动交流电机群控技术以及设备远程监控技术的发展。MODBUS作为一种通用的现场总线,已经得到很广泛的应用,很多厂商的工控器、PLC、变频器、智能I/O与A/D模块具备MODBUS通讯接口。本文在阐述MODBUS通信协议的基础上,构建了基于MODBUS的变频调速控制系统,并探讨了该系统在月饼自动包陷生产线上的应用。
1 MODBUS总线控系统的技术特征
MODBUS通讯协议是一种工业现场总线通讯协议,它定义的是一种设备控制器可以识别和使用的信息帧结构,独立于物理层介质,可以承载于多种网络类型中。MODBUS协议把通信参与者规定为“主站”(Master)和“从站”(Slave),数据和信息的通信遵从主/从模式,当它应用于标准MODBUS网络时,信息被直接传送。MODBUS总线网络中的各个智能设备通过异步串行总线连接起来,只允许一个控制器作为主站,其余智能设备作为从站。采用命令/应答的通信方式,主站发出请求,从站应答请求并送回数据或状态信息,从站不能够自己发送信息。MODBUS协议定义的各种信息帧格式,描述了主站控制器访问从站设备的过程,规定从站怎样做出应答响应,以及检查和报告传输错误等。网络中的每个从设备都必须分配给一个唯一的地址,只有符合地址要求的从设备才会响应主设备发出的命令。
由于MODBUS总线系统开发成本低,简单易用,并且现在已有很多工控器、PLC、变频器、显示屏等都具有MODBUS通信接口,所以它已经成为一种公认的通信标准。通过MODBUS总线,可以很方便地将不同厂商生产的控制设备连成工业网络,进行集中监控。
MODBUS最初为PLC通信而设计,它通过24种总线命令实现PLC与外界的信息交换。这些总线命令对应的通信功能主要包括AI/AO、DI/DO的数据传送。但不是很多MODBUS设备的控制只使用其中的几条命令,对其余命令不做反应。
1.1 MODBUS通信格式
MODBUS协议定义了两种传输模式,即RTU(Remote Terminal Unit)和ASCII。在RTU模式中,1字节的信息作为一个8位字符被发送,而在ASCII模式中则作为两个ASCII字符被发送,如发送字符“20”时,采用RTU模式时为“00100000”,然而采用ASCII模式则成为“00110010”+“00110000”(ASCII字符的“2”和“0”)。可见,发送同样的数据时,RTU模式的效率大约为ASCII模式的两倍。一般来说,数据量少而且主要是文本时采用ASCII;通信数据量大而且是二进制数值时,多采用RTU模式。
主站一次可向一个或所有从站发送通信请求(或指令),主设备通过消息帧的地址域来选通从设备。主站发送的消息帧的内容和顺序为:从站地址、功能码、数据域(数据起始地址、数据量、数据内容)、CRC校验码;从站应答的信息内容和顺序与主站信息帧基本相同。MODBUS除了定义通信功能码之外,同时还定义了出错码,标志出错信息。主站接收到错误码后,根据错误的原因采取相应的措施。从站应答的数据内容依据功能码进行响应,例如功能代码03要求读取从站设备中保持寄存器的内容。
1.2 CRC校验的实现
MODBUS通信的RTU模式中,规定信息帧的最后两个字节用于传递CRC(Cyclic Redundancy Check,循环冗余校验)码。发送方将信息帧中地址域、功能码、数据域的所有字节按规定的方式进行位移并进行XOR(异或)计算,即可得到2字节的CRC码,并把包含CRC校验码的信息帧作为一连续的流进行传输。接收方在收到该信息帧时按同样的方式进行计算,并将结果同收到的CRC码的双字节比较,如果一致就认为通信正确,否则认为通信有误,从站将发送CRC错误应答。
RTU模式一般采用CRC-16冗余校验方法,CRC-16的校验码为16位(2字节),其中低字节在前,高字节在后。实现CRC校验有两种方法:根据CRC校验的定义公式进行计算,或者在程序中建立CRC校验值表。在程序中使用前者更容易实现,这里需要使用CRC生成多项式X16+X15+X2+1。该多项式对应的码组系数为18005H(16进制),去除最高位,对应的16位余数为8005H,即为CRC-16常数。CRC-16校验过程如下:将CRC寄存器的每一位预置为1;把该寄存器值与8bit的信息帧数据进行异或,结果存于该寄存器;对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与CRC-16常数进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8bit数据处理完毕,用此时寄存器的值与下一个8bit数据异或并进行如前一样的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。CRC添加到消息中时,先加入低字节,然后高字节。
1.3 链路特征
MODBUS标准的物理层可以采用RS-232串行通信方式,但在长距离通信中常采用RS-422或RS-485代替。在多点通信情况下只采用RS-485方式,所以RTU模式下的MODBUS系统采用屏蔽双绞线,通信距离可达1000m。一条总线上最多可配置31个从站设备。传输线上的信息交换是半双工的,即同时只能有一台设备允许发送信息,主站在发送下一条指令之前等待从站回应,从而避免了线路的冲突。
RTU模式的传输格式是1个数据位,2个停止位,没有奇偶校验位。通信数据安全由控制参数CRC-16码保证。RTU接收设备依靠接收字符间经过的时间判断一帧的开始,如果经过3个半的字符时间后仍然没有新的字符或者没有完成帧,接收设备就会放弃该帧,并设下一个字符为新一帧的开始。
1.4 MODBUS总线通信的数据流程
在采用MODBUS总线构建的SCADA系统中,主站和从站中的控制设备上都要实现MODBUS通信协议。主站控制器的通信协议实现过程可以表示为图1。
2 变频控制的基本原理
根据电机学原理,交流电动机转速公式为:
n= (1-s) n0 =60f(1-s) /p?
式中:n为电动机转速;n0为同步转速;f为电源频率;p为电动机磁极对数;s为转差率。
由上式可知,当p和转差率s不变时,电动机转子转速n与定子电源频率f成正比,连续改变异步电机供电电源的频率,则可连续平滑地调节电动机的转速。这即是变频器的工作原理。
通用型变频器基本上采用V/F控制方式,即变频器输出电压的频率F 和输出电压幅值U同时得到控制,并保证V/F的值恒定。工作时,变频器主电路实现交流-直流-交流的变换过程,内部微控制器根据现场设定信号调节PWM输出频率,它控制了MOSFET管的导通时间,改变主电路的输出频率,实现调节电机的输出转速的目的。
变频器自带有完善的保护功能,如过流、过压、欠压、过热、过载等功能。当电机发生堵转等故障时,变频器应可靠跳闸,以保护电机。变频器每次故障都有故障记忆,可将最新的故障记忆下来,以便运行人员进行故障分析。现在很多变频器都带有PID功能,接受速度传感器信号,在变频器内部完成闭环控制功能。
变频器输出的电源频率可通过操作面板的手动旋钮调节,也可在频率设置输入端上接入控制信号(电压、电流、频率或者数字量)实现远程控制模式。变频器的远程控制方法包括:(1)0~10V电压输入;(2)4~20mA 电流输入;(3)脉冲频率控制;(4)总线通信控制,现在多数变频器支持Modbus、Profibus等总线控制。变频器还可实现手动/自动工作模式的自由切换,在自动模式下,上述模拟量或数字量的输入需要控制器来实现;切换到手动方式时,通过调节外部电位器对本身基准电压进行分压,即可获得0~10V的控制电压。
3 基于MODBUS的变频调速系统实现
3.1 系统构成
选用自带MODBUS总线接口的变频器,整合PLC、单片机或者PC机作为主站的控制器,可以组建生产线自动控制系统,发挥MODBUS总线控制和变频调速的优良性能,实现设备的集中式控制。系统的组成原理见图2,在总线的两个终端需配置120欧姆电阻。安川(YAKAZAWA)VS606 V7交流变频器,除了电压、电流、脉冲输入和旋钮控制外,还支持点到点的MODBUS 协议通信,其硬件接口采用RS422/485串行方式;软件接口协议采用MODBUS RTU模式,消息帧中的每个8Bit字节包含两个4Bit的十六进制数字字符。
图2中的微控制器AT89S52扩展了2个通讯口,一个是RS232串口预留备用,另外通过芯片MAX485扩展RS485接口。AT89S52作为主站微控制器,它通过RS485总线方式,将多台V7变频器和具备MODBUS RTU接口的智能型从站组成一个数字通信控制网络。AT89S52可以向从站变频器发送参数设置、启停、数据查询等指令,而变频器则根据指令要求控制电机系统运行,并返回信息。该系统不仅可以实现对交流电机的远程控制,而且还可以通过89S52与人机界面连接,完成整个生产线的启动、升速、降速停车等操作和监控(模拟图显示、参数设置和只要历史记录数据浏览)。该系统的优点在于:(1)89S52直接利用MODBUS协议对交流变频器读写,无需使用其它附件进行组态,简化了硬件,并可实时获取各变频器的工作状态,包括运行状态、运行参数、故障报警等。(2)主站控制器与从站变频器之间的连接只有两根通信线,极大较少了线路连接的复杂性,提高了系统可靠性;(3)延长了系统的控制距离;(4)采集电机各运行参数并显示在LCD上,不需要各种现场智能仪表,极大地较少了线路连接的复杂性;(5)能与高精度网络方便地进行交换信息,从而实现工厂高度自动化。通过主站控制器的设置按钮,可以对系统操作参数进行设计,对于一些重要的参数直接存储在32K字节的EEPROM芯片AT24C32中。通过设置变频器参数,可实现系统运行在手动或程序自动控制模式下,并可自由切换。
3.2 系统软件设计
单片机程序使用C51语言编写,采用自上而下的模块化设计方法,整个程序包括系统初始化、串口发送、串口中断接收、485通讯、LCD显示、键盘接收、报警等功能子模块。应用程序中,MODBUS协议通信由通讯子模块实现,包含CRC-16计算与验证、信息帧的编制和分解。
每一条指令可以对指定地址的变频器进行操作;信息帧中包括数据的字节数、起始地址等。V7变频器只使用3个功能码:03H、08H、10H,分别实现数据读出、回路反馈测试和数据写入的功能,其描述如表1所示。为了实现MODBUS总线控制,需要预先设置变频器的操作参数:n003=2(设备启停通过总线方式控制),n004=6(输出频率由总线通信方式控制),n151~n157中完成通信参数的设置。本系统中,将变频器设置为无超时检测、频率指令单位为O.01HZ、通信波特率为9600bps、无奇偶校验、8位数据位、1位停止位、RS控制,而变频器地址可以设为0~32。设置好变频器参数之后,控制器可以通过RS485总线发送通信指令,通信流程可以由图3表示,单片机的主站指令与变频器/智能设备的响应信号之间具有一定的时间间隔,在程序中需要通过循环延时语句实现。
4 结语
我们将本文开发的MODBUS总线控制变频调速系统应用于月饼自动包陷生产线中。在该生产线上,以单片机为核心的控制器通过MODBUS总线控制4台V7变频器,这4台变频器通过变速机构和电机分别控制一个月饼的外陷量、内陷量、皮量和刀盘的收口频率。实践表明,MODBUS总线通信、变频调速和液晶显示技术的应用,减少了控制系统的布线数量,提高了系统集成度和可靠性,月饼成分可在大范围内随意调整,其良好的用户界面大大改善了设备的操作性能,提升了产品的市场竞争力。因此,直接利用MODBUS协议对其组网监控,是机械设备控制系统获得低成本、高性能的好途径。
参考文献:
1. 阎文生, 杨炜, 陈世权等.变频调速器在给粉机转速控制系统改造中的应用.电力学报,2000(2).
2. 章绍东.通用变频器的原理与设计.电子质量,2003(12).
3. 卢文俊,冷杉,杨建军.基于MODBUS协议的控制器远程监控系统. 电力自动化设备,2003,23(6).
4. 徐涛,闫科,赵景林. 基于MODBUS协议的串行接口实现与DCS通讯.工业控制计算机,2002,15(3).
5. 潘洪跃. 基于MODBUS 协议通信的设计与实现.计量技术,2002,(4).
6. 王有庆,田涌涛,李从心. Modbus RTU 模式下工控机与变频器的通讯.机床与液压,2002,(6).
7. 梁伟.采用C51 编写智能设备的Modbus 协议通讯软件. 化工自动化及仪表,2004,31 (1).