基于Qt的编码器操作软件开发研究
2019-10-06梁子财
梁子财
摘 要:利用Qt平台开发了一款针对编码器的操作软件,该软件能够基于不同编码器通信协议对编码器进行参数读写等操作,简单、迅速、明了地实时监测编码器工作状态。以HIPERFACE协议为例,介绍该软件的开发与使用流程,以供其他开发技术人员进行参考。
关键词:Qt;编码器;参数读写;HIPERFACE
中图分类号:TB 文献标识码:Adoi:10.19311/j.cnki.1672-3198.2019.29.113
1 引言
目前,世界各國都在大力发展自己的数控技术,甚至有些工业发达国家已经将数控技术及其装备列为国家战略物资,并且出台一些政策限制出口。伺服驱动系统的性能对于数控装备的性能有着举足轻重的影响,能够通过增强位置检测装置的性能来使伺服驱动系统的性能适应现代工业发展要求。目前工业上运用较多的位置检测装置是光电编码器。其中绝对式编码器工作稳定,无误差累计,任意位置都有唯一相应的二进制码等优点,因此被广泛运用于国防、航天,及科研部门。但同时,绝对式光电编码器结构较为复杂,价格昂贵。
文章使用的HIPERFACE绝对式光电编码器综合了增量式编码器和绝对式编码器两者的长处,精度高,分辨率高,性能稳定,能够胜任较为苛刻恶劣的工况运用。因此可见,HIPERFACE绝对式光电编码器对于伺服驱动系统来说是作为位置检测环节较好的选择。但是HIPERFACE协议复杂,单纯使用伺服驱动器无法简便、充分地使用HIPERFACE编码器的各种功能。笔者基于Qt平台开发了一款编码器操作软件,该软件可对编码器进行参数读写等操作,简单、迅速、明了地实时监测编码器工作状态。文章以HIPERFACE协议为例,介绍该软件的开发与使用流程,以供其他开发技术人员进行参考。
2 HIPERFACE绝对式光电编码器简介
2.1 工作原理简介
HIPERFACE是SICK-STEGMANN电机反馈系统的标准接口。HIPERFACE绝对式光电编码器综合了普通增量式光电编码器和绝对式光电编码器两者的优点,同时输出差分传输的正弦信号和余弦信号的增量信号以及通过RS485传输的二进制数字信号,原理图如图1所示。
HIPERFACE绝对式光电编码器采用双向RS485接口来传递各种数据参数,如读取存储在编码器内部EEPROM中的电机参数数据,或者初始化过程中读取编码器绝对位置值等等。绝对位置数据可通过参数通道(RS485)获得,这个通过参数通道获得的绝对位置有别于从正弦和余弦信号里获得的绝对位置,它主要用于初始化定位以及判断收到的正余弦信号具体处于哪个周期。此外,HIPERFACE一共有20种不同指令,可以实现20种不同功能,这些功能的都是通过参数通道的数据传输来完成的。
2.2 通信协议简介
HIPERFACE绝对式编码器与伺服驱动器的对话流程如图2所示,HIPERFACE传输协议的对话时序如图3所示,每一次数据传输,都以地址开头,校验码结束。每一次数据传输主要由四部分组成:地址、指令、可选数据和校验码。其中,地址、指令和校验码部分必须有,而且数据长度只有一帧(一帧数据长度为11位),而可选数据部分则可以根据需要进行取舍,数据长度也不固定,可以为0帧,最多可以132帧。
RS485的数据传输通过超时协议进行控制,在同一次数据传输过程中,每一帧数据之间的间隔时间Tp必须小于超越时间,否则会导致通信协议错误报文。而上一次数据传输与下一次数据传输之间的时间间隔Tr必须大于超越时间。在一定时间内(超时)如果没有更多信息传输至编码器,当前接收的协议就会被处理掉,超时后的第一个字节将会被视为一个地址。超越时间默认为5.73毫秒。
3 编码器操作软件设计
在本次的操作软件开发中,首要的目标是解决HIPERFACE协议编码器指令复杂以及繁多的缺点,因此在设计中将HIPERFACE的常用指令转化为一个个独立的按钮,同时也应保留手动输入指令的功能。其次,就是将收到的数据进行归类以及显示,由于收到的数据是以16进制数表示,因此需要对这些数据进行解码,转化成相应的信息。
编码器操作软件的工作流程如图4所示。当某个功能按键被按下之后,编码器操作软件将该按键对应得指令信息发往串口输出缓冲区。当串口接收缓冲区接收来自编码器的数据之后,编码器操作软件对数据进行判断,并将数据进行解码,之后将相应信息在标签或者文本框中显示。同时为了便于监测编码器工作状态以及通信过程的可靠性,在软件开发中需要增加相应的报警显示灯以及错误提示栏。
经过编码以及界面设计,最终编码器操作软件成功开发。图5为操作软件的入口界面。在操作软件开发过程中,考虑到要同时实现其他协议编码器以及不同工作模式的使用,在操作软件主界面设计了编码器协议和工作模式选项,为后续的操作软件扩展做好准备。
图6为HIPERFACE协议编码器的操作软件界面,在此界面中的所有功能只针对基于HIPERFACE协议的编码器。在此界面中,使用者除了可以使用快捷功能键外,还可以利用发送区手动输入相应的信息串口输出缓冲区。接收区将接收到的所有数据显示出来,与上面的相应显示标签和文本框作对比,保证数据显示正确。通信错误显示区突出显示了各个不同错误类型,方便用户对编码器工作状态进行监控。
4 软件测试
在开发完编码器操作软件之后,需要对其进行测试并对出现的问题进行处理。在测试中,对所有功能一一进行测试,测试结果如图6所示。测试结果显示,编码器操作软件能够正确运行,正确响应用户的请求指令。
5 总结
笔者基于Qt平台开发了一款编码器操作软件,该软件可对编码器进行参数读写等操作,简单、迅速、明了地实时监测编码器工作状态。文章以HIPERFACE协议为例,介绍该软件的开发与使用流程。最后对软件进行测试,证明了软件的实践运用效果。
参考文献
[1]李七一.数控技术和装备发展趋势及对策[J].今日科苑,2008,(14):50-50.
[2]陈琳,钟文,潘海鸿,等.基于FPGA的绝对式编码器的解码电路设计[J].微特电机,2013,41(8):60-63.
[3]张琴琴,杨建宏,刘琳.基于DSP的绝对式光电编码器串行接口设计[J].现代电子技术,2012,35(14):185-188.
[4]Orlosky S.Basics of rotary optical encoders[J].Control Engineering,1997,(44):7282.
[5]董莉莉,熊经武,万秋华.光电轴角编码器的发展动态[J].光学精密工程,2000,8(2):198-202.
[6]朱建宏,毛超,王平.简易绝对式光电编码器的基本原理和通讯方式[J].电气传动,1997,39(4):43-47.
[7]方杰.基于HIPERFACE协议的绝对式高分辨率编码器接口设计和在交流伺服中的应用[J].机械制造,2014,52(7):44-46.