基于Modbus协议的伺服驱动系统上位机软件设计*

2020-07-23 09:07田阳杰易亚军
机电工程技术 2020年6期
关键词:参数设置上位串口

田阳杰,易亚军,秦 龙

(武汉华中数控股份有限公司,武汉 430223)

0 引言

随着电力电子技术的不断突破与越来越多的高性能微处理器在控制系统中的应用,伺服驱动系统也向着智能化方向发展。智能化的一个重要的特点表现为伺服驱动系统具备良好的人机交互界面,用户可以实时修改参数、监视系统的运行状态[1]。因此本文设计了一款通过RS232串口总线实现与伺服驱动系统通信的上位机,通过Modbus上层协议实现对伺服参数设置与状态显示等功能。实现了上位机与伺服驱动系统间高效、可靠的通信。

1 Modbus协议简介

1.1 概述

Modbus协议是一种单主/多从的通信协议,通信总是由主设备发起,从设备间不能相互通信。Modbus可以作为应用层协议用于TCP/IP网络上,也可以用于串行链路连接。后者存在2个变种,分别是ASCII模式与RTU模式。ASCII模式是每个8 bit的字节都将作为2个ASCII字符发送,而RTU模式是直接用原本的十六进制数据进行传输[2]。相对来说,RTU模式的传输速率更高。且DSP是直接识别原本的十六进制数据,所以采用RTU模式无疑更为合适。

为了适应多种传输模式,Modbus在协议数据单元(PDU,Protocol Data Unit)上引入附加域,组成了应用数据单元(ADU,Application Data Unit),以实现完整而准确的传输。PDU与基础通信层无关,包括功能码与数据,功能码占一个字节,数据则根据具体的情况而定。附加域包括地址域和差错校验,与基础通信层有关。在使用RS232串口通信、RTU模式下,地址域占1个字节,地址范围是1~247,差错校验为CRC校验,占2个字节[3~5]。通用Modbus帧结构如图1所示。

图1 通用Modbus帧结构

1.2 RTU消息帧格式

在RTU通信中,Modbus报文放置在已知起始点和结束点的消息帧中,必须明确报文的起始点与结束点,由于RS232串口通信时单字节发送,数据域的字节数有很大的不确定性,所以还要能够检测报文的完整性,且能够设置错误标识。

在实际使用时,设备不断地侦测网络总线,计算字符间的停顿间隔时间,判断消息帧的起始点。从接受符合设备的地址的报文开始,到最后一个传输字符结束,间隔至少3.5个字符停顿时间标志着此消息帧的结束,而另一个消息可在停顿后开始。在一帧报文的传输过程中字符流必须是连续的,且字符间空闲间隔要小于1.5个字符时间,否则认为此报文不完整,将被丢弃。RTU消息帧的格式如图2所示。

图2 Modbus RTU帧式

2 交流伺服驱动系统上位机软件

2.1 交流伺服驱动单元

交流伺服驱动单元实现了交流伺服电机的位置、速度、转矩闭环伺服控制,可靠性高、性能优良,是本文上位机监控系统的监控对象。且提供关于速度、位置、转矩的基本参数,同时设有二十多种状态显示用于观察所选择方式下的伺服驱动单元的状态信息。交流伺服单元设有RS232接口,利用RS232串行总线将HSV_190E交流伺服驱动单元与计算机连接上,用Modbus协议完成双向通讯,构成一个完整的交流伺服驱动系统上位机监控系统,结构图如图3所示。

本文交流伺服驱动单元接口方式为RS232,异步,全双工;8位数据位,无奇偶校验,2位停止位,波特率为57 600 bit/s。

2.2 通信流程

上位机与交流伺服驱动单元进行通讯的过程中采用了3种数据帧格式,分别是命令帧、状态帧、错误帧。命令帧为交流伺服驱动单元从上位机接受到的命令,状态帧是伺服单元在收到命令帧并将其处理以后返回给上位机的状态数据。当伺服驱动单元不能够正常的处理命令帧时,将返回给上位机带有故障码的状态数据。具体的通信流程如图4所示。

图3 上位机监控系统结构

图4 通信流程图

3 上位机软件的开发与设计

上位机实现了伺服驱动系统的控制功能与显示功能,不仅能直观地显示系统状态及电机相关参数,还可以省去用户在面板上的繁琐操作,直接在参数界面对系统进行设置。本文使用Visual Studio 2012软件编程平台的Visual C#.NT语言来进行上位机的开发与设计[6~7],同时结合了zedGraph控件绘制速度指令、速度反馈、位置偏差、电流检测等信号的实时曲线。zedGraph控件的兼容性好,曲线设计多样实用。使用前需要在所用到的工程中引用zedGraph的动态库文件。

设计时采用了模块化设计的思想,各个功能模块彼此独立,减少了上位机软件出错的概率。整个上位机由登陆模块、通信模块、参数设置模块、示波器功能模块、参数自调谐模块、位置抑制模块、速度抑制模块等组成。系统的软件结构如图5所示。

图5 系统软件结构图

其中参数设置模块、参数自调谐模块、位置、速度抑制模块集中体现了上位机对伺服单元的控制功能,示波器模块则具备了显示设备信息状态的功能。

3.1 控制功能

上位机不同模块间对交流伺服驱动单元的控制过程类似,以参数设置模块为例:在进行参数设置时,运行上位机软件进入登陆界面,输入登录密码进入软件主界面。首先选择与伺服单元相连的串口,选择合适的波特率,点击连接按钮,串口打开成功以后,软件下方状态显示“串口通信”,其他功能可选。电机进入参数设置,进入设置页面如图6所示。双击参数行,进行参数设置,设置完成后,上位机启动通信模块,通信模块对设置的值进行命令帧封装、发送,待下位机解析完成后对状态帧接受、处理然后将返回的数据更新为选定参数的当前值。

图6 参数设置页面

3.2 显示功能

上位机示波器模块有触发采样与实时采样两个采样模式。触发采样的过程与控制功能中的操作流程类似。实时采样则采用了Timer模式,首先进行采样配置,包括信号、IO口选择、与采样周期的设置,然后通信模块向伺服单元发送封装好的采样配置帧,完成配置设定。点击开始采样,上位机将以设定的采样时间周期性地向伺服单元发送指令,并对返回的数据进行解析后,以逐点连线并刷新的方法将曲线绘制于zedGraph控件上,完成当前选定信号的实时显示。

4 交流伺服上位机应用

本文所设计开发的上位机用于某交流伺服驱动单元对电机的调试,调试可在示波器功能中进行实时或者触发采样,绘制当前电机的反馈速度、位置偏差值、电流检测值等波形图。在参数设置中修改位置比例增益、速度比例增益、转矩低通滤波器参数和陷波器参数来提高伺服响应性。如图7(a)、(b)所示分别为指令速度200 r/min、位置比例增益为100 Hz、速度比例增益为50 Hz的触发采样与实时采样图,图7(c)、(d)所示分别为位置比例增益为150 Hz、速度比例增益为100 Hz触发采样与实时采样图。对比发现伺服的响应性增加,电机速度波动减小。同时也验证了设计达到了对伺服控制和显示的需求,而且在长时间的调试过程中其可靠性也得到了验证。

图7 指令/反馈速度实时波形

5 结束语

上位机调试软件连接方便,提供方便、便捷操作的调试功能,且采集数据信息丰富,满足伺服系统各项运动状态的监控。同时设计所采用的模块化思想,便于该软件的后期维护与功能添加。实际应用中也证明该软件运行稳定、测试准确、人机界面友好,达到设计要求。

猜你喜欢
参数设置上位串口
浅谈AB PLC串口跟RFID传感器的通讯应用
特斯拉 风云之老阿姨上位
逃生疏散模拟软件应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
蚁群算法求解TSP中的参数设置
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
RTK技术在放线测量中的应用