微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于Modbus RTU通信协议的伺服电机联动控制系统

基于Modbus RTU通信协议的伺服电机联动控制系统

时间:06-04 来源:互联网 点击:

摘要:针对改进传统的复杂伺服电机联动控制系统的目的,提出一种新的设计方案,采用Modbus RTU通信协议,简化了系统复杂度,降低了成本,并且通过自行设计接口转换电路,提高了通用性;另外,该系统通过改进优化的软件设计,能实现系统的连续运行,解决了定位数据运行模式只能定位不能连续运行的问题。先介绍总的系统设计,然后介绍Modbus RTU协议以及具体实现方法,最后以LabView编程为例,介绍上位机软件系统的实现过程。
关键词:Modbus RTU;通信协议;伺服电机;LabView

工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。Modbus就是工业控制器的网络协议中的一种,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。基于上述原理,文中设计了一套伺服电机联动控制系统,采用Modbus RTU通信协议进行数据通信,达到能够同时对2台电机联动控制的目的。

1 系统构成以及原理
在工业控制过程中,电机是控制系统一个重要组成部分。一般通过微处理器控制电机继而达到实现自动控制的目的。而上位机通过串行或者并行通信协议控制微处理器,来实现远程控制。具体框图如图1所示。

文中提出了一种新的伺服电机联动控制系统的设计方案,采用Modbus RTU协议,使上位机(PC)直接可以和伺服放大器进行通信,其框图如图2所示。本设计上位机采用一般PC即可,最好带RS485接口。伺服放大器选用富士公司RYH201F5-VV2,伺服电机选用富士公司GYS201D5-RC2。由于系统设计过程中节省了微处理器,所以不仅在数值处理运算和数据传送上运行速度快,实时性强,而且简化了系统复杂度,降低了成本。

由于有的PC不自带RS485接口,因此上位机不能利用Modbus通信协议来控制伺服放大器。虽然市场没有专门接口转换电路,但是由于一般上位机(PC或者工控机等)都自带USB接口,自己根据Modbus协议和实验室现有器件,自行设计接口转换电路,接口图如图3所示。

其中USB转RS232和RS232转RS485可以在市场买到。RS485-RJ45具体接线如图4所示。

2 Modbus RTU协议及实现
2.1 Modbus协议
Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。控制器通信使用主-从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。本系统中主设备指上位机,从设备主要指伺服放大器。
上位机可单独和伺服放大器通信,也能以广播方式和所有放大器通信。如果单独通信,伺服放大器返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了上位机查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。伺服放大器回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据和一错误检测域。如果在消息接收过程中发生一错误,或不能执行其命令,伺服放大器将建立一错误消息并把它作为回应发送出去。
通信过程主要分查询和响应。查询指从上位机通过功能代码告之被选中的伺服放大器要执行的何种功能;响应指伺服放大器对查询信息功能代码的回应。通信是由来自上位机的查询开始的。伺服放大器之间不能进行查询。
控制器能设置为两种传输模式(ASCII或RTU)之中的任意一种标准进行通信。文中选用RTU(远程终端设备)模式,还包括设置其他串口通信参数(波特率,校验方式等)。需要注意的是,在同一个Modbus网络上所有的设备都必须有相同的传输模式和串口参数。RTU模式下,数据帧格式是:地址+功能代码+信息+CRC-16校验。CRC校验的全称是循环冗余校验,其特点是:检错能力极强,花费CPU开销小。
2.2 参数编辑
2.2.1 参数绑定
设计中伺服电机采用定位数据运行,默认最多15点定位数据,AD3~AD0分别对应1~15点定位数据,具体数据见表1。

在伺服放大器上通过参数绑定,一一对应到伺服放大器输出端子,然后通过调整输出端子的逻辑值(0或者1),进而改变AD3~AD0的数值,最后决定选取的定位数据编号。其中部分参数绑定信息见表2。


例如:AD3~AD0分别对应1~15点定位数据,输出端子分别选用PA3-9~PA3-12,设定值分别为60~63,

2.2.2 参数编辑
通过参数编辑,改变定位数据编号,最终改变运行状态和运行结束停止位置。参数编辑信息见表2。
例如:定位数据编号选择01,此时AD3~AD0分别为0001

2.2.3 定位数据编辑
通过定位数据编辑,可以设置一组定位数据,包括相对位置/绝对位置,定位结束停止位置,运行速度(转速),加/减速时间和M代码等。其中相对位置以上次运行结束坐标为参考系;绝对位置以原点为参考系。定位结束停止位置表示定位结束时候停止的位置,是数字量。运行速度表示运行过程中的转速,单位是转/分。加/减速时间表示从上次运行速度更新到设定速度变化所需要的时间,单位是0.1 ms。通过查询M代码可以查询伺服系统运行的定位数据编号,设置值为00~FF。
例如:定位数据1:(绝对位置(ABS),停止位置100000,转速120转/分,加减速时间都是0.1 ms,不输出M代码)

2.3 运行状态图
按照来自Modbus通信的指令,进行定位运行。定位结束[INP]ON时,设定要运行的定位数据编号,若将自动起动[START]ON(起动)则执行相应定位数据编号的定位,具体运行状态图如图5所示。由此可见,START信号是上升沿有效信号。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top