基于LabVIEW的光栅测量系统设计
与此同时,单片机实时判断两路组合数据是否超过给定范围,根据判断情况进行相应的数据处理。在主程序读取数据期间,单片机随时通过串口中断,响应上位机发来的数据发送请求命令和暂停接收命令。单片机主程序流程如图4所示。
3.2 上位机软件设计
上位机软件采用LabVIEW图形化编程语言来完成控制平台的设计。LabVIEW程序主要包括前面板(即人机界面)和方框图程序。前面板用于模拟真实仪器的面板操作,框图程序应用图形编程语言编写,其用于传送前面板输入的命令参数到仪器以执行相应的操作。在系统中,单片机与上位机数据传输是通过RS-232串行方式,因此不需要购买昂贵的数据采集卡就能简便且稳定地实现数据传输与实时监控,满足了工业控制的一般要求。
在LabVIEW虚拟仪器串行接口编程中,通常用其提供的标准I/O函数库VISA,无论仪器使用GPIB、PXI、VXI,还是串行接口都可实现计算机与仪器之间的标准软件通信。
LabVIEW前面板如图5所示,给出了上位机LabVIEW控制平台的蜗杆副快速检测平台。采用模块化设计思想,系统主要由串口配置与控制模块、数据读取与转换模块、数据显示、统计与存储模块等组成。用户无需了解模块内部的程序框图便可直接通过鼠标在界面上操作,实现上位机数据采集、处理、显示、报警、控制等功能。
(1)串口配置与控制模块
为了保证计算机与单片机能串口通信,首先应进行串口初始化。根据单片机串口设定方式,在程序框图设置VISA资源名称为COM1,波特率为9 600,数据位为8,停止位为1,无奇偶校验位和流控制。这些初始设定都可以在前面板的相应输入控件中加以更改。在VISA标准串口函数库里面提供的节点不仅可以实现串口初始化配置,还可以对缓冲区数据进行读写控制。另外,在程序框图中所有的功能子模块都需要在while循环内,同时用前面板的布尔值丌关控制循环命令条件端子。
(2)数据读取与转换模块
图6给出了数据读取与转换模块程序框图。框图中,VISA Reed节点用于读取指定数量的字节。Bytcs at Port节点是VISA串口字节数,用于判断渎取数据是否满足4个字节,如果为真即满足条件,则进入数据读取模块,串口字节数清空;正确读取的4个字节巾前2个字节为蜗轮角度值,后2个字节为传动蜗杆中心距数据。由于读串口节点只能读取字符串,所以需要进行正确的字符串与数字之间的转换,方便后续的数据显示与统计分析。
根据模块化设计思想,系统设计了一个处理数据转换功能的子VI模块。其作用是将存放串口读取数据的数组送入处理数据转换VI模块,并根据事先设定好的控制参数,得到转换后的角度和传动中心距偏差数据,分别保存于X-Y轴坐标数组,便于后续显示。该转换模块中利用LabVIEW所特有的公式节点,直接输入条件判断公式和有关端子,而不用创建复杂的框图节点,实现了对两路数据不同类型的换算和转换。另外,输出的角度值可以用来指示当前蜗轮是正转还是反转,而输出的传动中心距偏差值可以用来指示蜗杆目前状态。控制参数正确设置对系统设计是极为重要的。
角编码器和光栅尺的光栅线数分别决定了其所能分辨的最小角度和传动中心距长度,而理论中心距是检测蜗杆的理想参数,它与精度等级共同决定了传动中心距的极限偏差值,通过现行机械设计手册查找得出。在本设计中,提供的光栅尺测量精度为0.01 mm,选用的精度等级不能过高。从设计中选用的第9等级精度可知,待检测蜗轮副实际中心距偏差值不能超过60 mm,一旦超过设定的测量范围将会报警提示,并显示蜗杆质量不正常。
(3)数据显示、统计与存储模块
LabVIEW是号为测量、分析数据并提交结果而设计的,其强大的图表和图形组件体现出极大的优势。由于坐标图不同于简单的波形图,其可以有不同类型的数据输入,因此不能简单互连,故坐标图需要将X数组和Y数组分别转换成动态数据类型后绑定为一个簇连接到坐标图中。本设计在前面板的控件选项卡中找到Express类,Express函数不同于一般的LabVIEW函数,其可以被视为通用编程问题的解决方案库。在前面板合适位置放置Express;XY坐标图后,其在程序框图中自动地“在幕后”产生了对应图标,只需要将创建XY图标的两个输入端子直接与来自按名称释放簇中X轴和Y轴坐标数组两端子分别相连,便会自动匹配数据输入格式。不仅如此,测量文件的快速写入也是通过函数面板中Write To Measurement File Express VI加以配置,指定如何格式化文件以及保存数据内容。通过在前面板设置数据保存开关,便可以灵活记录和实时访问已测量过的数据值。
结语
本文以单片机STC89C55为数据采集核心硬件,NI公司的LabVIEW为上位机支持软件,完成数据实时采集系统设计和对普通圆柱蜗杆的质量快速检测。采用LabVIEW程序设计多路数据实时采集与分析,编程者不需要深究相关硬件的专业知识,也不需要考虑复杂的专门的驱动程序编写,只需合理使用LabVIEW提供的控件和函数。实践表明,该系统缩短了开发周期,并且具有硬件电路设计简单、实时性好、测试稳定、功能可扩展的特点。
- 基于LabVIEW RT的自定义流程测控系统(10-30)
- 基于LabVIEW的语音分析平台的实现(10-30)
- 基于示波器卡和LabVIEW的马达编码器测试系统(11-06)
- 基于虚拟仪器的网络虚拟实验室构建(11-06)
- 运用LabView控制DS3900串口通信模块(02-02)
- 采用模块化仪器,对新兴音频和视频应用进行测试(02-19)