变频器与主设备串行通讯方式及其程序设计
2019-09-10徐垚
摘要:本文以三菱E700变频器为例,介绍了变频器作为从设备与PC、PLC、HMI等主设备之间的通讯实现过程。在分析了计算机链接协议、MODBUS-RTU的概念和信息格式基础上,分别设计了各种串行通信的控制系统。为技术人员全面理解、掌握目前变频器的串行通信提供参考依据。
关键词:变频器;串行通讯;变频器;Modbus-RTU
Absrtact:taking Mitsubishi E700 inverter as an example,this paper introduces the realization process of communication between slave equipment and main equipment such as PC,PLC,HMI.Based on the analysis of the computer link protocol,the concept of MODBUS-RTU and the information format,various serial communication control systems are designed.It provides a reference for technicians to understand and master the serial communication of current frequency converter.
Keywords:inverter serial communication Modbus-RTU
0 引言
现在变频器的控制方法大约可分为3种:外部端子控制、模拟量控制和通信控制。
外部端子控制接线多,可控速度固定,不能根据反馈实时调节。模拟量控制易受干扰,控制距离不长。而通信控制就没有这些问题。简单的接线,就可以同时使用一台设备控制多台变频器,还可以实时采集变频器的状态数据。在如今,这种控制方式已经逐渐成为主流。
三菱E700变频器通过自带的PU接口与主设备实现串行通信。本文从系统硬件连接,各器件的参数设置以及程序编寫等方面,全面讲解变频器与主设备间串行通信方式实现的过程。
1.通信方式与通信协议
1.1.通信方式:设备间的基本通信方式有串行通信和并行通信两种,串行通信又分为异步通信和同步通信两种方式。本文所介绍的变频器与主设备的通信方式属于串行异步半双工通信。
1.2.通信协议:三菱变频器的PU接口是一个4线制的485通信口,PU端口各引脚定义见图1。E700的PU接口支持计算机链接和Modbus-RTU两种协议。变频器使用PU接口与主设备通讯时,要求主设备硬件上配有485接口。
1.2.1计算机链接
计算机链接协议是三菱公司为了解决计算机与FX系列PLC子站间通信问题而设计的专用协议集,该协议集是一种典型的面向字符的命令响应型通信协议。[5]
1.2.2Modbus-RTU协议
Modbus协议可分为Modbus ASCII和Modbus-RTU两种,它是Modicon公司为PLC上的应用而开发的通讯协议。Modbus协议使用专用的信息帧,在主设备与从设备间进行串行通讯。专用的信息帧具有能读取和写入数据的功能,使用这一功能可以从变频器读取或写入参数、写入变频器的输入指令以及确认运行状态等。[6]
1.3 E700与PC的计算机链接通信的实现
1.3.1硬件连接
将需要通信设备的通信口先连接起来。通用的PC串口需要使用转换器将RS232转为485接口。可以使用RS-232/RS-485无源转换器来连接PC的串口和变频器的PU口。
1.3.2参数设置
根据PC各个引脚的定义正确连接后,需要在两台设备上设置通信的速率和格式。在Windows操作系统中,可以在设备管理器中修改端口选项中用到的通信端口的属性,将参数设置的和变频器端一样。变频器端通过设置Pr.117~Pr.124来实现[6] (具体参数对照变频器手册)将参数设置的和PC端一样。至此,PC和变频器之间就能够互相通信了。
设置Pr.549,将变频器使用的协议设置为计算机链接协议。将变频器设置为网络模式。
1.3.3报文格式
要控制变频器,PC端必须发送符合计算机链接通信协议的报文给变频器来进行控制。可以使用软件来发送报文。报文的格式为:控制码+从设备站号+ 命令代码+等待时间+数据+ 求和校验码[6] 。变频器收到正确的报文后,会进行相应的操作,然后会发送一条报文来报告执行的结果。更具返回的报文能知道执行的结果或查询的数据。返回的报文格式为:控制码+从设备站号+读取代码+数据结束+求和校验代码[6] 。
1.3.4实现方式
使用友善串口调试助手进行通信操作。打开串口调试软件,设置串口参数,选择Hex模式,点击打开串口,发送十六进制数“05 30 31 66 61 32 32 39 31”,如图2。变频器执行正转高速。
1.4 E700与PLC的Modbus-RTU通信的实现
1.4.1硬件连接
本次使用的是FX3UPLC,需安装一块FX3U-485-BD模块。将变频器的PU口与通讯模块连接,完成硬件接线。
1.4.2参数设置
变频器与PLC需设置相同的传输速率,数据长度,奇偶校验以及停止位。PLC侧选择为无协议通讯,变频器通过修改Pr.549更改为Modbus-RTU协议。最后将变频器更改为网络模式。
1.4.3程序编写
程序方面使用串行数据传送指令RS2指令。如图3。
该指令是用于通过安装在基本单元上的RS-485串行通讯口进行无协议通讯,从而执行数据的发送和接收的指令。其中 指的是:保存发送数据的数据寄存器的起始软元件;m指的是:发送数据的字节数(设定范围:0~4096); 指的是:数据接收结束时,保存接收数据的数据寄存器的起始软元件;n指的是:接收数据的字节数(设定范围:0~4096)。n1指的是:使用通道编号(设定内容:K0:通道0、K1:通道1、K2:通道2)。[7]
报文的格式为:地址区域+功能区域+数据区域+错误校验区域。程序如图4。
程序中的16进制数需从低位至高位来看,将D0至D2中的数据解析为:01 06 00 01 00 01,从左往后逐个解读:01是从设备地址,06是写入功能代码,00 01是变频器Modbus寄存器,00 01是向寄存器中写入的数据。以上程序是让变频器执行复位操作。
1.5 E700与HMI的Modbus-RTU通信的实现
1.5.1硬件连接
本次使用的是昆仑通态的MCGS触摸屏。需要自制一根9针D型母头转RS485的通讯线,方便与变频器PU端连接。DB9针母头转RS485接线图如图5。
1.5.1组态与参数
触摸屏设备组态选择:通用串口父设备→莫迪康ModbusRTU。
变频器与触摸屏需设置相同的通讯波特率,数据位位数,数据校验方式以及停止位位数。变頻器通过修改Pr549更改为Modbus-RTU协议。最后将变频器更改为网络模式。
1.5.2触摸屏调试
触摸屏动画组态如图6。
添加变频器Modbus寄存器40009,写入十进制数10,变频器执行正转、高速指令。
2.延伸
在以上的实验中,调试可得知变频器作为从设备是不会主动向主设备PLC发送信息,属于半双工的传送方式。实验现象表明由主设备发送请求给从设备,从设备做出应答,由此可得出是异步通信方式。
其实,本次的系统通信结构不仅仅指限于本次使用型号的设备。总结下来可以分为2层:硬件层和协议层。如果设备之间的硬件层相同,使用相同的协议,也可以进行通信。比如三菱E700变频器与触摸屏通信、西门子S7200变频器与PC通信,甚至变频器与安卓手机通信。每家公司变频器的协议并不相同,台达变频器使用的是MODBUS ASCII协议,西门子变频器使用USS协议。变频器与任何一种主设备进行串行通信时,只要主设备按照变频器的协议发送报文就可以实现。
3.总结
综上所述,变频器与PLC通过通信方式连接,不仅可与多台变频器组成系统,降低成本,减少接线,且可配备触摸屏使得对变频器的控制、各参数的设定及监控变得更加方便。通信方法将得到广泛应用。
参考文献:
[1] 张豪.基于MODBUS通讯协议的三菱PLC控制台达变频器的研究[J],2009
[2] 瞿选益.三菱1000系列触摸屏与A700系列变频器通讯运行[J],2014
[3] 窦小明,黄晓伟.MCGS触摸屏与多台汇川变频器的MODBUS通讯设计与实践[J],2012
[4] 詹俊钢,谭娜.MCGS触摸屏与西门子变频器的USS协议通讯设计与实践[J],2017
[5] 刘波,邓炎,魏霞.基于计算机链接协议的S7-200PLC与FX2N+PLC的通信[J],2012
[6] 三菱E700使用手册(应用篇).三菱株式会社[Z].2009.4
[7] 三菱FX系列编程手册.三菱株式会社[Z].2009.4
[8] 三菱FX系列通讯手册.三菱株式会社[Z].2009.4
作者简介:
徐垚,男,1996年5月,助教,主要研究方向:PLC、变频器、伺服技术的系统设计与应用。
(作者单位:无锡机电高等职业技术学校)