Abstract: This paper studies the multistage speed control of inverter, which is realized by using the MODBUS protocol.With using VISA in LabVIEW node function library,Implementing PI9000 series frequency converter communicates with PC in Modbus protocol.TheProgram,in LabVIEW, is used to implement the multistage speed operation of the machine.After test this control system not can safely and reliably regulate motor speed,but else has strong anti-jamming ability.
Keywords: Modbus; LabVIEW; Inverter; Communication of serial port
【中图分类号】TN773 【文献标识码】B 【文章编号】1561-0330(2017)12-0000-00
1 引言
目前,现场总线控制技术越来越成熟,Modbus协议因其对传输数据的CRC校验使得数据的传输变得安全、可靠。因此在变频器串口通讯中广泛采用Modbus协议进行通信。LabVIEW因其简单易懂的图形化的编程界面和丰富的功能模块使得程序的编写变得简单、高效极大的缩短了项目的开发周期[2]。因此在一般数据传输量不是很大的工业测试控制中将RS232或RS485通信接口与PC机的串口连接构成一个虚拟仪器系统是目前一种主要的工业控制方式。
本文在LabVIEW的图形化编程界面下,将上位机和下位机通过RS232/RS485转换器组成串口通信,并通过在LabVIEW中对程序的编写和在变频器中参数设置实现上位机计算机对下位机变频器的多段速控制,进而实现变频器对电机的多段速的控制。
2 Modbus协议
Modbus协议是用于在不同类型总线或网络连接的设备之间的客户机/服务器通信协议。 也是一种主/从通信协议。在网络中只有一个设备(主机)可以建立协议(称为“查询/命令”),其他设备(从机)只能提供数据响应主机的“查询/命令”,或根据主机的“查询/命令”做出相应的动作。在本文,主机是指PC机,从机是指PI9000变频器。PC机和变频器通信的Modbus命令码如表1所示。
表1 Modbus命令码
功能 |
代码 |
描述 |
读从机参数 |
0x03 |
读变频器返回的值 |
写从机参数 |
0x06 |
向变频器中写入命令 |
Modbus协议有RTU和ASCII两种传输模式,由于RTU模式较ASCII有较高的数据密度以及在相同波特率下有较高的吞吐率,所以在工业控制中普遍使用RTU模式,由于PI9000系列变频器只支持RTU模式[3],因此本文也是主要研究RTU模式。Modbus协议的RTU模式下的数据帧必须作为一个连续的流传输。如果在帧传输完成之前有超过1.5个字符时间的时间间隔,接收设备将刷新不完整的消息并且假定下一个字节是新消息的地址域;同样如果一个帧在小于3.5个字符时间内接着前一个帧,那么接收设备就会认为是上一个帧的延续。因此Modbus 协议规定在RTU模式下帧传输的帧内时间停顿不超过1.5个字符时间;帧间时间间隔超过3.5个字符时间[4]。
3 Modbus总线控制的变频调速系统
PI9000系列变频器是普传生产的一款高性能电流矢量变频器,其内置Modbus通信协议卡,通过板卡上的RS485总线接口可以方便的实现和控制系统的基Modbus协议的串行通信。单台变频器和PC机组建的Modbus接线示意图如图13.1 PI9000变频器参数设置
在变频器内部定义了和Modbus协议功能码相对应的参数集。为实现控制系统和变频器的通信和上位机对变频器的控制需要对变频器的通信参数和控制命令进行设置,分别如下表2和表3所示。
表2 通讯参数
变频器地址 |
通讯参数 |
设定范围 |
设定值 |
参数值 |
F9.00 |
波特率 |
300BPS~115200BPS |
9600BPS |
6005 |
F9.01 |
奇偶校验 |
0~3 |
无校验(数据格式8-N-1) |
3 |
F9.02 |
从机地址 |
1~127 |
1 |
1 |
F9.05 |
通讯协议选择 |
标准/非标准 |
非标准 |
0 |
所示。
在表2中,上位机和变频器的通讯参数设置要保证完全一样,否则无法实现通信。另外,变频器的频率源由其内置的简易PLC程序来给定,而命令源则通过上位机来给定。根据Modbus和变频器通信的不同命令码可使变频器运行在不同的状态下,如表一所述,06为从上位机向变频器写入控制命令的控制字,通过向变频器写入不同的控制命令可使变频器处于不同的运行状态;03为向变频器写入状态字,通过向变频器写入不同地址的状态字可以得到变频器的实际运行速度,以及实际转矩等。
3.2 Modbus串行通信实现
NI提供的LabVIEW在处理串口通信时通常使用VISA节点,VISA节点配置简单,调用方便,在处理串口通讯时只需在LabVIEW中调用其相应的节点即可。LabVIEW提供的VISA节点及功能如表4所示。
用于指定串口以及设置相应的通讯参数,如波特率、奇偶校验、停止位等。
(2)写入函数(VISA Write)
用于向寄存器或者线圈写入控制字命令,相应与Modbus协议命令码中的0x06。
(3)读取字节数(VISA Serial Setting)
该函数主要是和读取函数配合在一起,用于读取来自数据缓冲区中的字节数。
(4)读取函数(VISA Read)
用于读取缓存在数据缓冲区中寄存器或线圈的命令,相应与Modbus协议命令码中的0x03。
(5)关闭函数(VISA Close)
该函数用于关闭初始化的串口,并将串口资源释放出来,便于其他串口调用。
LabVIEW用于变频器控制系统的上位机程序设计,其状态机图如图3、图4、图5所示。通电对指定的串口初始化,然后选择变频器工作状态,并在不同的状态下,依据Modbus协议的数据格式向变频器写入不同的控制字与状态字。在手动模式下,当辅设频率源有效时,操作旋钮开关使参数7023为3或9实现变频器的手动加速、减速。而当在自动模式下,主设频率源有效时,则按照预先设置的变频器的加速、减速时间运行[5]。
4试验结果
在LabVIEW中,通过事件结构来检测到前面板手/自动按钮的状态,当检测按钮状态为1时,其程序跳转到自动程序执行,从图6中的实际运行的速度曲线看出,变频器按照预先设置的模式运行,速度曲线符合实际的要求;当检测到按钮状态为0时,程序自动跳转到手动程序执行,从图7运行的控制效果看,手动模式下,速度运行方式符合要求。
图8是程序运行框图,通过一个条件结构来对自动和手动模式进行选择。
5 结束语
本文利用LabVIEW中的VISA节点实现了上位机和PI9000系列变频器基于Modbus协议的串行通信,根据所获得的试验数据,无论是在自动模式下还是在手动模式下,控制效果都很好,为工业上采用变频器进行Modbus协议的串行通信控制提供了一种简单可靠,便宜的新方式。
参考文献
[1]马琳娜,翟涌,张俊杰.一种基于Modbus协议的变频器控制技术[J]. 工业控制计算机.2013,10(26):88-89.
[2]李江全,任玲,廖洁安,温宝琴. LabVIEW虚拟仪器从入门到测控应用130例[M].北京:电子工业出版社,2013.
[3]普传科技. PI9000系列电流矢量变频器用户手册[M]. 2015.
[4]申建广,陶涛,梅雪松,陈家俭.基于RS-485的单片机与三菱变频器通讯的多电机控制研究[J].机床与液压,2012,40(9):5-7.
[5]郭琼,姚晓宁. Modbus协议在变频调速控制系统中的应用[J].电气传动,2010,40(9):71-73.
共0条 [查看全部] 网友评论