梁子财
【摘 要】基于 Qt on Android平台开发了一款编码器手机操作软件,该软件能够按照不同编码器通信协议对编码器进行参数读写等操作,简单便捷地实时监测编码器工作状态。该软件采用蓝牙通信与编码器进行数据交换,从而实现对编码器的操作。文章以HIPERFACE协议为例,介绍该软件的开发与使用流程,以供其他开发技术人员进行参考。
【关键词】Qt on Android;编码器;手机软件开发;蓝牙通信;HIPERFACE
中图分类号: TP311 文献标识码: A 文章编号: 2095-2457(2019)23-0123-002
DOI:10.19694/j.cnki.issn2095-2457.2019.23.057
【Abstract】Based on Qt on Android platform, an encoder mobile phone operating software is developed. The software can read and write parameters of the encoder according to different encoder communication protocols, and monitor the working status of the encoder in real time simply and conveniently. The software uses Bluetooth communication to exchange data with the encoder to realize the operation of the encoder. The article uses the HIPERFACE protocol as an example to introduce the development and use of the software for reference by other development technicians.
【Key words】Qt on Android; Encoder; Mobile phone software development; Bluetooth communication; HIPERFACE
0 引言
伺服驱动系统的性能直接影响着数控装备的性能,通过增强位置检测装置的性能可以提高使伺服驱动系统的性能[1]。文章使用的HIPERFACE绝对式光电编码器兼具增量式编码器和绝对式编码器两者的优势,精度与分辨率高。因此可见,将HIPERFACE绝对式光电编码器作为位置检测环节是不错的选择[2]。但是HIPERFACE协议复杂难懂,对使用人员的专业水平要求较高。笔者基于Qt on Android平台开发了一款编码器手机操作软件,该软件通过手机蓝牙与编码器进行数据交换从而实现对编码器的操作,监控编码器工作状态。文章以HIPERFACE协议为例,介绍该软件的开发与使用流程。
1 HIPERFACE绝对式光电编码器简介
1.1 工作原理简介
HIPERFACE绝对式光电编码器兼具普通增量式光电编码器和绝对式光电编码器两者的优点,同时输出差分传输的正弦信号和余弦信号的增量信号以及通过RS485传输的二进制数字信号,原理图如图1所示。
HIPERFACE绝对式光电编码器采用双向RS485接口来传递各种数据参数,绝对位置数据可通过参数通道(RS485)获得, 这个通过参数通道获得的绝对位置主要用于初始化定位以及判断收到的正余弦信号具体处于哪个周期。HIPERFACE一共有20种不同指令,可以实现20种不同功能,这些功能的都是通过参数通道的数据传输来完成的,文章介绍的编码器手机操作软件实现的就是这20种功能。
1.2 通信协议简介
HIPERFACE绝对式编码器与移动设备的对话流程如图2所示,每一次的对话必须由移动设备发起,编码器才会按照指令进行响应。每一次数据传输,都以地址开头,以校验码结束。每一次数据传输帧格式主要由地址、指令、可选数据和校验码四部分组成。其中,地址、指令和校验码部分必须有,而且数据长度只有一帧(一帧数据长度为11位),而可选数据部分则可以根据需要进行取舍,数据长度也不固定,可以为0帧,最多可以132帧。
2 编码器操作软件设计
在本次的操作软件开发中,首要的目标是解决 HIPERFACE协议编码器指令复杂以及繁多的缺点,因此在设计中将HIPERFACE的常用指令集成為一个个独立的按钮,同时也应保留手动输入指令的功能。由于收到的数据是以16进制数表示,因此需要对这些数据进行解码,转化成相应的信息,最后分类显示。
软件主要分为两大部分:蓝牙通信模块和功能模块,如图3所示。
蓝牙通信模块:蓝牙通信模块主要负责移动设备与编码器直接的数据交换,包括生成发送的数据帧以及对接收到的数据帧进行解码分类。
功能模块:功能模块又可划分为常用指令模块、通信数据观测模块、编码器错误报警模块三部分。常用指令模块将几个常用的指令设置成按钮,用户点击相应功能按钮,软件系统自动生成发送数据帧通过蓝牙通信发送到编码器。通信数据观测模块实现对发送数据帧和接收数据帧的显示,验证发送与接收的数据的准确性。编码器错误报警模块实现对编码器系统错误信息与报警信息的显示与处理。具体如图4所示。
编码器手机操作软件的工作流程如图5所示。在进行编码器功能操作之前需要打开手机蓝牙进行连接。连接成功之后,当某个功能按键被按下,编码器操作软件将该按键对应得指令信息发往蓝牙发送缓冲区进行自动补齐传输数据帧。当蓝牙接收缓冲区接收来自编码器的数据之后,软件对数据进行判断,并将数据进行解码,之后将相应信息在标签或者文本框中显示。同时为了监控编码器工作状态以及通信过程的可靠性,在软件开发中增加相应的报警显示以及错误提示栏。
3 软件测试
完成编码器手机操作软件开发之后,需要对其进行测试并对出现的问题进行修正。测试所有功能是否正常响应,数据显示是否正确,测试结果如图6所示。经过测试,验证了编码器手机操作软件的使用效果。
4 总结
笔者基于Qt on Android平台开发了一款编码器手机操作软件,该软件通过手机蓝牙与编码器进行数据交换从而实现对编码器进行参数读写等操作,实时监测编码器工作状态。文章以HIPERFACE协议为例,介绍该软件的开发与使用流程。最后对软件进行测试,证明了软件的实际运用效果。
【参考文献】
[1]陈琳,钟文,潘海鸿,等.基于FPGA的绝对式编码器的解码电路设计[J].微特电机,2013,41(8):60-63.
[2]方杰.基于HIPERFACE协议的绝对式高分辨率编码器接口设计和在交流伺服中的应用[J].机械制造,2014,52(7):44-46.