宫玉琳,李锐,白晓东
(长春理工大学 电子信息工程学院,长春 130022)
基于LabVIEW的伺服测试系统设计
宫玉琳,李锐,白晓东
(长春理工大学 电子信息工程学院,长春 130022)
为了满足不同伺服系统的性能测试,设计了基于LabVIEW的伺服测试系统,由于不同的伺服系统通常具有不同的控制指令格式和发送数据格式,设计了可自定义的指令和数据格式,以满足不同伺服系统的需要,适于对多种不同伺服系统的测试,具有一定的通用性。测试系统可以对伺服系统发送控制指令并实时监控其运行状态、计算误差等参数,实验结果表明测试系统具有良好的控制精度和监测精度。
LabVIEW;伺服测试
伺服系统在工业控制等领域中应用越来越广泛,简便实用的测试方法可以大大缩短伺服系统的测试和分析周期,具有重要的意义。虚拟仪器技术凭借高性能的模块化硬件,结合高效灵活的软件即可实现各种测试和测量方面的应用,具有简单实用的特点,本文采用虚拟仪器技术,在工业控制计算机上实现相关测试模块及操作面板,完成与伺服系统的串行通信,实现对伺服系统控制指令的测试、运行状态的实时监测和性能等参数的计算,提高伺服系统的测试效率并节约测试成本。
伺服测试设备由工业控制计算机、供电电源及通信电缆组成。测试系统如图1所示。工业控制计算机负责发送控制指令,接收和处理伺服系统发送的数据,供电电源为被测伺服系统供电,通信电缆负责连接主控计算机和被测伺服系统的数据传输。
图1 伺服测试系统
LabVIEW是虚拟仪器的关键组成部分,负责完成工业控制计算机与被测伺服系统的通信,控制指令的发送,被测伺服系统数据的监测、分析处理和存储等工作。伺服测试系统工作时,用户首先在工业控制计算机上完成相关参数的设置,包括串口设置、控制指令的格式、相关控制参数,然后通过串口将控制指令发送给被测伺服系统,接着启动监控程序,实时接收被测伺服系统的运行参数并显示,同时计算误差等数据。
为了提高软件的运行效率,软件系统采用模块化设计,整个测试系统由伺服参数设置模块和伺服系统监控模块两部分组成,如图2所示。其中参数设置模块负责通信参数设置、发送的控制命令格式设置、伺服系统参数设置和发送数据的检测;伺服监控模块负责设置接收数据格式设置、接收参数设置、方位角数据曲线、俯仰角数据曲线、接收数据显示和相关数据的处理,同时显示和存储伺服系统的方位角和俯仰角曲线图。
图2 伺服测试系统结构
参数设置模块完成通信参数设置、发送数据格式设置、伺服参数设置和发送数据监控等功能,其界面如图3所示。
图3 伺服参数设置界面
上位机在对伺服系统进行控制的时候都需要发送一定格式的控制指令,但不同的伺服系统具有各自独有的控制指令格式,为使本测试系统能够适应不同的伺服系统,因此需要对控制指令的格式进行灵活设置,以满足不同伺服系统的需求。
发送格式设置部分既可以完成不同数据格式的设置,整个数据帧格式由20个字节构成,即帧头1、帧头2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、预留位及校验位。“发送格式设置”中,每个字节都可以通过下拉菜单对设置内容进行选择。“发送格式设置”和“伺服参数设置”程序如图4所示。
图4 “发送格式设置”和“伺服参数设置”程序图
为了使“格式设置”中的各个字节与“参数设置”中的数值一一对应起来,程序中采用索引的方法,首先,将“伺服参数设置”中的数据按帧头1、帧头2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、预留位的顺序建立数组,数组末位添加数字0,为校验数据预留位置。然后将帧头1、帧头2、命令字1、命令字2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、方位速度高、方位速度低、俯仰速度高、俯仰速度低、方位加速度高、方位加速度低、俯仰加速度高、俯仰加速度低、预留位和校验位设置为“索引1”至“索引20”,如图5所示,接着将所有输入数据组合成数组,最后根据索引选取数组中相应的数据,建立新的数组并进行发送,如图6所示。
图5 设置索引
图6 根据索引选取数组数据
通信参数设定模块包括通信端口设置、通信波特率设置、数据位数设置、校验位设置、停止位设置及发送频率设置,通过相应设置即可完成对串口的控制。点击“开始发送”便可将之前建立的数组按照设定的格式发送给被测的伺服系统。发送出去的数据可以在数据监控界面显示,通过该部分可以实现对发送数据的实时监控,了解主控计算机对伺服系统的控制情况。
当完成通信参数设置并点击“参数确认”按钮后,点击“伺服监控”按钮即可进入伺服系统监控界面,如图7所示,整体程序如图8所示。
图7 伺服监控界面
接收数据格式设置包括帧长度、帧中各字节内容。整个数据帧格式包括10个字节,即帧头1、帧头2、方位角度高、方位角度中、方位角度低、俯仰角度高、俯仰角度中、俯仰角度低、状态代码及校验。接收参数设置包括帧头1和帧头2。接收数据界面实时显示伺服系统发送的数据及主控计算机计算得到的伺服系统信息,包括方位角度、俯仰角度、方位速度及俯仰速度。
图8 伺服监控程序
伺服系统监控模块采用序列结构,如图9所示。首先通过串口读取伺服系统传输给上位机的数据,然后执行一系列的判断程序,当校验码1符合设定值时,再判断校验码2,当校验码2符合设定值时,计算方位数据和俯仰数据。同时计算校验数据,数据校验采用“case”结构,根据校验方式进行切换,当校验数据正确时,显示界面将计算后的方位或俯仰值显示出来,否则舍弃本次数据,继续接收并处理下一个数据,计算得到的方位和俯仰数据显示在波形显示区。
数据处理部分对伺服系统的系统误差和随机误差进行分析,点击“开始保存”按钮和“停止保持”按钮,可以对当前运行数据进行存储。点击“波形读取”将弹出历史数据界面,之前保存的历史数据将在界面右侧按照日期排列出来,点击日期,相应的波形即可显示在左侧波形显示界面,数据文件以Excel进行存储。
测试系统平台采用Gpd-800下翻式便携工控机,具有最多10个全长的扩展槽,高亮度液晶显示屏,双层铝合金加固型机箱结构,使它能够适应各种复杂的工作环境,为便携式电脑的应用提供了最具成本效益、持久的、多功能的标准平台。支持LGA 775 Intel Core™ 2 Duo FSB 1066MHz处理器,支持双通道DDR2 667 SDRAM,最高可达4GB,单GbE LAN via PCIe x1通道,2 COM端口,4 SATA端口,8 USB接口。软件采用LabVIEW 2013进行编程,伺服测试系统采用RS232通信接口,发送及接收帧频率1Hz~20kHz,发送及接收波特率最高支持115.2kbps,速度设定范围±0.1°/s~± 50°/s,加速度设定范围10°/s2,方位扫描角度设定范围0°~360°,方位扫描速度设定范围0°~50°/s,高低定位角度可设置-180°~+180°。
启动伺服系统测试软件,出现图10所示的加载界面之后即可进行伺服系统测试。为了验证测试系统的性能,本文搭建了模拟测试平台,在计算机端打开串口调试工具,模拟实际伺服系统的收发数据,与测试系统进行联机调试。
图9 伺服监控模块数据处理程序
假设模拟伺服系统的控制指令格式为命令字、方位角(由高位、中位和低位三位数据组成)、方位角速度(由高位和低位两个数据组成)和校验位组成,其中校验方式为“求和”,对应的数据设定为命令字AA、方位角125°、方位角速度90°/s,当伺服测试系统完成相应的设定并发送数据后,在计算机端开启的串口调试软件可以正确的显示出AA、01、02、05、09、00和校验数据BB,如图10所示。在计算机端发送AA、01、02、05、09、00和校验数据BB,可以在监控界面得到伺服系统的测试曲线,如图11所示。
图11 计算机发送数据和伺服测试系统测试曲线
本文实现了基于LabVIEW的伺服测试系统,可以实现对不同伺服系统的控制和监测,充分发挥了LabVIEW的优势,测试过程直观、简洁,实验验证表明,测试系统可以准确地向伺服系统发出控制指令,并精确地实时检测伺服系统的运行状态,可以满足不同伺服系统的测试要求,具有广泛的应用价值。
[1] 郑树元.精通LabVIEW虚拟仪器程序设计[M].清华大学出版社,2012.
[2] 阮奇桢.我和LabVIEW—一个NI工程师的十年编程经验[M].北京:北京航空航天大学出版社,2012.
[3] 王建新,隋美丽.虚拟仪器测试技术及工程应用[M].北京:化学工业出版社,2013.
[4] 谢伟.伺服机构测试软件系统的发展及新技术的应用[J].2008,5(30):61-64.
[5] 黄永花.基于LabVIEW的液压伺服测试系统研究[J].设计与分析,2013,2(360):140-141.
[6] 高双喜.基于Qt_Embedded的伺服测试平台软件的研究与设计[J].软件导刊,2012,11(9):55-57.
Design of Servo Testing System Based on LabVIEW
GONG Yulin,LI Rui,BAI Xiaodong
(School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
In order to meet the different performance test of servo system,this paper designs a servo test system based on LabVIEW,due to the servo system of different usually have different control instruction format and send data format,this paper designs the instruction and data format can be customized,to meet the different needs of the servo system,which is suitable for different kinds of servo system test.Has a certain commonality.The test system can send control commands to the servo system,monitor its running status in real time and Calculation error and other parameters.The experimental results show that the test system has good control precision and monitoring precision.
LabVIEW;servo test
TH137
A
1672-9870(2016)05-0091-06
2016-05-30
宫玉琳(1983-),男,博士,讲师,E-mail:garrygong1983@126.com