杨进成,夏春蕾,戴曙光
(上海理工大学 光电信息与计算机工程学院,上海 200093)
基于LabVIEW的无线遥控汽车检测台设计
杨进成,夏春蕾,戴曙光
(上海理工大学 光电信息与计算机工程学院,上海 200093)
针对传统汽车检测耗时长、统计复杂等问题,在LabVIEW软件基础上,通过CAN通信协议等,提出了汽车遥控数据检测系统设计的方法。采用CAN通讯协议、无线遥控、USB驱动、打印机设计等,可快速完成向工控机发送控制命令,实现汽车功能的检测,并以Excel格式记忆所有的检测结果,其具有快速、稳定、实时记录与打印的性能。实际结果表明,该系统在检测行业、尤其汽车检测方面具有广泛的使用价值。
无线自动化测试;CAN总线;LabVIEW;动态调用链接库
YANG Jincheng, XIA Chunlei, DAI Shuguang
(School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology,Shanghai 200093, China)
控制器局部网(CAN总线),解决了汽车电子设备之间的通信问题,减少电子设备之间繁多的信号线[1]。作为当前流行的网络通信控制方式,其性能远高于传统的控制方式。CAN总线系统数据稳定可靠,具有线间干扰小、抗干扰能力强的特点[2]。汽车的集成化模块及功能日益丰富,使用传统的汽车检测方法,会造成人力、物力的大量投入。因此,CAN通信在汽车上的应用,使大量的检测得到简化。
此设计是基于LabVIEW软件平台上的,利用CAN通讯协议,完成汽车与工控机的信息传输。再结合无线遥控功能,搭建无线控制汽车检测系统。主要运用到汽车生产检测,有效、快速帮助使用者遥控完成生产测试。在生产方面,主要通过CAN通信点亮汽车仪表盘功能以及车用DVD部分,通过控制高低电平、PWM信号等完成检测。用户通过无线工业遥控器进行遥控操作,同时打印不符合要求的仪器。所有的操作数据会以Excel格式记录。从而完成生产上快速检测任务。
无线遥控汽车检测台是由上位机、下位机和信道组成。主要由遥控信号经过信道驱动上位机;上位机获得信号后,再通过信道给下位机发送命令,并同时将数据反馈给上位机;再将数据加以处理得到最终的检测结果。
常见的控制方式有有线控制和无线控制两种。有线控制方式具有可拓行差、造价高等缺点,但其稳定性、控制范围明显高于无线控制[3]。选择无线方式的原因:(1)在汽车生产上,控制范围的要求较低;(2)需要无线通信的信息较少且单一,并可重复操作;(3)由于对节拍的要求较为严格,有线操作会给操作带来不便。综上所述,无线控制的优势明显高于有线控制。
2.1 硬件的总体接线
无线遥控汽车检测台的硬件系统设计构成,如图1所示。
图1 硬件总体搭建图
采用Passthru+XS 2G车辆通讯模块作为汽车检验的下位机系统控制核心。Passthru+XS 2G具有蓝牙通讯功能,完全兼容J2634和J2534-1标准,可提供自由的无线通讯功能[4]。CAN供电电压为12 V,供电信号接欧姆龙的常开端,触发信号来自工控机。此外,CAN+、CAN-接口直接与工控机连接。
工控机作为上位机的控制核心。控制源来自人为的近程遥控,通过无线遥控技术和工控机建立通讯。工控机接到信息源,会自动完成仪器供电、仪器驱动、控制发送、接收信息及处理、结束任务一系列的流程。
2.2 工控机与无线遥控器的接口设计
无线遥控具有开始、启动、结束3个功能键。但控制器不能直接控制工控机,中间需要一个媒介。7052D作为有源8路隔离数字量模块,充当了工控机和遥控器之间的桥梁。7052D具有安全性高、通用性好、性能优良、快速组网等优点。能稳定、快速、方便地完成遥控信号与工控机的无线通讯。遥控器的相应I/O控制接口与7052D的IN0+、IN0-;IN1+、IN1-;IN2+、IN2-串联通信。有源电压选择为24 V。而工控机和7052D之间采用多点分布式的RS-485串口通信方式。
2.3 工控机与继电器的通讯方式
欧姆龙XD-J16H-V2具有多通道,每块具有16个独立通道,且可进行多机级联,最多达到256个通道同时通信,只需修改设置地址便可分别控制。满足了本设计控制信号较多、工控机接口缺少的问题,且与LabVIEW具有较好的兼容性。选择RS-485转RS-232的通讯方式。此外,RS-485统一增加了COM接线,从而增强信息传递的稳定性。
3.1 LabVIEW的主流程
虚拟仪器程序可监视实时状态[5]。上位机的控制流程如图2所示。首先,只需对汽车检测台上电和启动工控机,就会直接完成LabVIEW的自启动和工控机与Passthru+XS 2G等串口的初始化、自启动作业。其次,需要遥控信号或手动控制PC机才能触发之后的一系列自动流程。依次完成CAN、PWM信号发生器、继电器的工作参数、工作模式、控制指令的发送等,并对所需检测的项目全部通讯。最后,在检测的同时采集反馈信息,经过算法的判断得出是否合格,任何一项不合格则显示总体不合格。但数据报表存储时会记录具体哪项不合格,方便针对性处理。
图2 软件设计流程图
上位机的设计构架为队列状态机,为保证数据的实时性,采用多线程的处理方式。设计的主VI中包含两大子VI:(1)负责指令控制和流程控制的子VI;(2)负责数据采集及判断检测项的合格与否的子VI。此外,使用事件结构、队列、顺序结构使空闲状态下基本不占用CPU,从而能较好地响应前面板动作和外部时间[6];保证了“一键式”功能的时效性。图3为主VI的程序框图框架。
图3 LabVIEW主VI程序框图
3.2 CAN总线报文设计
Passthru+XS 2G采用了车辆诊断协议SAE J2534-2的通讯协议,该协议允许使用再编程软件。在CAN总线上传输的信息称为报文[7]。CAN报文有两种不同的帧格式,分别为标准帧和扩展帧,每种帧下又包含几种子帧。通道的建立与相互之间的通信是通过CAN报文来控制的。下面是报文的部分设置:
(1)通信速率。CAN总线技术摒弃了传统的站地址编码,通信速率可达1 Mbit·s-1[8]。在串口通信中,通信速率决定了收发数据的成功与否。此设计的通讯速率和pProtocolID的选择有关,在此选择CAN,对应的波特率为500 000 bit·s-1;
(2)报文类型。CAN报文有两种帧格式,其区别就在于标识符,分别为标准标识符(11位)和扩展标识符(29位)。此设计选择标准帧,即报文长度为8 Bytes,标识符位于仲载段,仲载的机制确保了报文和时间均不损失[9];
(3)报文发送类型。由于仪表接受效果具有暂时性,每隔一个周期要发送一次指令。所以报文设为Cycle模式,发送周期视指令而定;
(4)报文分配。有些检测的精度要求较高,例如转速。此时,信号长度就要求较长,需要一个特定报文标识符ID。而一些布尔类型信号只需1 bit,将这些布尔型号分配到一个报文标识符,大幅缩减CAN的负载。
3.3 CAN数据动态链接库驱动程序设计
CAN数据动态链接库是实现LabVIEW与CAN模块之间的驱动程序。采用多线程的串口通信方式,实现汽车检测数据的控制与采集。在进行上电后,首先准备链接设备、初始化;主要清除上次暂留的配置信息。配置信息主要在PassThruConnect()和PassThruSystemFilter()配置。主要包含标志寄存器、波特率、时间间隔、滤波方式等。随后就是写命令、读采集数据等事件。不判断是否合格(在工控机LabVIEW中实现),简要代码如下:
PassThruOpen(); 准备设备链接
PassThruSystemInit(); 系统初始化
PassThruStartMsgFilter(); 系统配置与滤波处理
While(PassThruStop()){ 周期性写命令,读采集数据
PassThruPeriodicWrite();
PassThruDelay(TimeInterval);
PassThruPeriodicWrite();
PassThruStop(); 设置停止}
PassThruPeriodicStopMsg();停止周期读写
同样,《荆轲刺秦王》一文在叙述故事情节时详略的处理也是很讲究的,在“行刺前的准备”这一环节中,作者对能够表现荆轲形象特征的求取信物(取樊於期人头)、易水诀别两个情节进行了详细的叙述、描写,而对准备武器、副手、地图这些不能够直接反应荆轲形象的情节则是采用了略写的方式。另外,作者还详写了“廷刺秦王”(计见秦王、顾笑武阳、秦廷搏击、倚柱笑骂)部分,将荆轲的沉稳刚毅、机智勇敢等形象表现得淋漓尽致,而对行刺的缘起和行刺的结局只用了很少的笔墨来交代。
PassThruDisconnect(); 断开链接
PassThruClose(); 关闭设备
下位机的底层开发基于C语言,使用Visual Studio 2013平台进行设计和封装。LabVIEW和DLL之间的联系必须通过接口进行通讯。数据接口函数就是作为LabVIEW应用程序调用动态链接库的入口[10],充当着重要的角色,不仅可传送数据配置参数、接收上位机下达的控制命令;还完成数据采集与转达的功能。DLL各个状态时的参数不同;下面以PassThruStartMsgFilter()的接口参数为例:
Const uint pFilter,ChannelID,FilterType;
Const void *pPatternMsg,*pMaskMsg,
*pFlowControlMsg; 介绍接口
如ChannelID的类型为常量无符号整型,此参数指定SAEJ2534协议连接的物理层,选择CAN,DLL配置中选择值。“*”代表指针,DLL配置中选择指针。LabVIEW调用DLL的子VI配置前面板如图4所示。
图4 DLL子VI配置面板
3.4 工控机VISA串口通信设计
汽车检测台用了两大类的串口通信方式:一种是动态调用的通信方式,运用在CAN、打印机设备上;第二种是NI VISA的通讯方式,运用在PWM发生器、欧姆龙继电器、7052D等产品上。相对动态调用链接,NI VISA的优势明显。找到正确USB接口作为VISA Resourse Name,配置参数要求和设备参数一致,便可完成设备的连接。然后就可发送正确的指令,完成设备与LabVIEW的正确通信。工控机VISA串口通信的程序如图5所示。
图5 VISA串口通信基本流程
CAN总线网络通信和诊断的自动化集成测试,大幅提高了测试效率和精度,降低了测试的工作强度,同时保证了测试的一致性[11]。每一台汽车的检测过程前面板,如图6所示。
图6 检测过程及结果
检测过程包括:给被检测项供电;检测CAN数字信号以外检测项;检测有关CAN控制的检测项;关闭;所有状态均OK,则结果合格;否则,不合格。
实验结果表明:(1)使用动态调用链接可与LabVIEW进行稳定、快速地通信。对下位机的控制具有较好的时效性;(2)无线遥控汽车检测台可满足汽车生产的要求;能在15 s完成一台汽车的检测;(3)数据收集事件能准确保存预期的效果;能准确地判断出产品出错的时间和名称。满足了汽车检测的需求。
[1] 牛跃听,周立功,方丹,等.CAN总线嵌入式开发:从入门到实战[M].北京:北京航空航天大学出社,2012.
[2] 符策伟.汽车CAN总线技术及其故障诊断[C].海口:“绿色制造与质量管理”——海南省机械工程学会、海南省机械工业质量管理协会年会,2011.
[3] 施扬.现代通信技术与业务[M].北京:人民邮电出版社,2011.
[4] 欧科佳汽车电子设备有限公司.passthru+XS 2G说明书[M].上海:欧科佳(上海)汽车电子设备有限公司,2006.
[5] Ma Tianbing,Du Fei,Fang Chuanzhi.Sensors state monitoring based on LabVIEW and wireless nodes[J].Procedia Engineering,2011(15) :2639-2643.
[6] 陈树学,刘萱.LabVIEW宝典[M].北京:电子工业出版社,2011.
[7] SAE International.Surface vehicle recommended practice[S].Canda,USA:SAE Technical Standards Board Rules,2006.
[8] 亢雪琳.基于STM32的CAN总线通信设计[D].长春:吉林大学,2013.
[9] 韩成浩,高晓红.CAN总线技术及其应用[J].制造业自动化,2010,32(2):146-148.
[10] 黄桂钰,邓焱,张锦杰.嵌入式LabVIEW调用DLL实现数据采集[J].微计算机信息,2010,26(11):26-28.
[11] 王意,张永刚,姬广斌,等.汽车CAN总线网络自动化测试系统[C].上海:中国汽车工程学会年会,2014.
Design of Wireless Remote Control Vehicle Detection Station Based on LabVIEW
Traditional vehicle detection is difficult, time consuming and statistical complex. A design of the auto remote date detection system based on LabVIEW and the CAN communication protocol is proposed. It can send control command to the industrial computer quickly owing to the use of the CAN communication protocol design, the wireless remote control design, the USB driver design and the printer design, thus realizing the functions of auto detection and recording of all memory test results in Excel format. Besides, it is fast, stable, and capable of real-time record and printing. Experiments show that this system is applicable in the detection industry, especially in vehicle detection.
wireless automated test; CAN bus; LabVIEW; dll
2015- 12- 28
杨进成(1990-),男,硕士研究生。研究方向:现代工业控制与检测。夏春蕾(1974-),女,讲师。研究方向:光电检测等。戴曙光(1957-),男,教授。研究方向:自动测量在线检测等。
10.16180/j.cnki.issn1007-7820.2016.10.037
TP368.1
A
1007-7820(2016)10-129-04