基于虚拟仿真技术的CAN总线柔性化测控实验平台

2017-08-16 08:18许振华迪茹侠张新荣
实验室研究与探索 2017年7期
关键词:测控报文总线

张 军,陶 君,许振华,迪茹侠,张新荣,叶 敏,王 欣

(长安大学 a.工程机械虚拟仿真实验教学中心;b.附属中学,西安 710064)

基于虚拟仿真技术的CAN总线柔性化测控实验平台

张 军a,陶 君b,许振华a,迪茹侠a,张新荣a,叶 敏a,王 欣a

(长安大学 a.工程机械虚拟仿真实验教学中心;b.附属中学,西安 710064)

为提高机械电子专业硕士研究生的实践能力和创新能力,以专业实践课程的典型工程机械控制系统实验为对象,提出了将CAN总线柔性化测控平台用于拓展创新性实验内容。分析了柔性化测控平台的功能需求,提出了系统软件功能框架。以LabVIEW为软件平台,PEAK USB/CAN为硬件平台,采用队列消息机制、全局变量和多线程的编程方式,设计了CAN总线柔性化测控平台,并在远程钻机控制系统实验项目上进行了功能验证。结果表明,设计的测控平台能实现报文自动解析、存储和参数显示,实时性良好,数据拖动功能便于控制系统的功能调试,动态窗口加载功能利于系统扩展。该实验平台设计利于学生进行CAN总线控制系统设计和试验,有助于培养学生的实践能力和创新能力。

控制器局域网络总线; 柔性化测控平台; LabVIEW; 教学实验

0 引 言

工程机械学院行业特色鲜明,学院下属的机械电子工程专业为国家级特色专业,每年为各企业培养和输送大量优秀创新性人才。然而随着技术进步和企业的飞速发展,企业对学生的实践能力和创新能力也提出了越来越高的要求。

为解决大学生就业问题并且避免学术型研究生扩招而导致的质量下降,教育部推出了“全日制专业型硕士”,重点培养学生的工程实践能力,成为应用型高级人才。自2009年开启专业硕士招生以来,专业型硕士比例已从2009年7.2%上升到2015年的50%[1],与学术型持平。实践能力的培养是全日制专业学位研究生区别于学术型研究生的关键所在[2-3],然而在专业硕士教育急速发展的过程中,生源质量、学生知识结构差异以及课程结构设置方面的问题逐渐暴露出来。此外,校外导师和校企合作的实践方式也存在一定的局限性,因此有必要针对专业型硕士的培养目标,依据各专业的特点及生源质量,开展实践性实验课程建设,提高专业硕士的实践能力。

CAN总线是工程机械控制系统的通用总线标准,面向专业硕士开设“机电控制系统设计与制作”系统的创新型实验,是以TTC 60控制器为基础的硬件平台,CoDeSys为软件平台开展典型工程机械控制系统的实验。现有实验平台多承载重复性和验证性实验,如通过指示灯信号状态来展示工程机械控制系统的部分功能,大大限制了学生对相关知识的认识和思考。

目前已有不少关于CAN总线测控系统的研究[4-7],然而大多集中于某对象的总线参数采集,缺乏满足不同系统需求的通用性和柔性化研究。针对在工程机械控制系统和总线监控系统设计方面有一定的经验积累[8-16],为此本文以“机电控制系统设计与制作”课程的创新实验内容为对象,采用 LabVIEW 为开发平台,提出了通用CAN总线柔性化测控平台。以适应控制系统各项调试要求和总线参数监控需要为目标,进行了CAN 总线柔性化测控平台设计。以“软”代“硬”,拓展了可实验项目的范围,籍此提高学生的实践能力和创新能力。

1 系统功能与总体架构

1.1系统功能分析

考虑到实验项目各控制系统功能差别大、通信协议不一致和监控需求不一等特点,CAN总线柔性化测控平台需满足灵活性、通用性和实时性要求,既具备总线参数监控功能,能够实时采集和自动解析报文参数,又能实现报警、存储、图形化显示等功能,有良好的可扩展性。

因此测控平台应该具备:①CAN卡驱动程序的通用接口;②采集报文的参数设置或报文自动导入功能;③报文实时采集和发送功能;④报文自动解析功能;⑤参数自动存储功能;⑥参数报警设置功能;⑦参数拖动显示功能;⑧系统功能的动态加载;⑨硬件故障诊断功能。

其中CAN卡驱动程序的通用接口,是为了兼容不同CAN卡驱动的接口;参数为报文解析后的实际值;参数存储和报警设置,是为了实现机器系统功能状态监测和性能分析;参数拖动显示用于控制系统的功能调试,用户只需要拖动参数到显示区域即可,可满足不同控制系统的参数监控显示的要求;硬件故障诊断主要是监测CAN卡的状态和通信是否正常。

1.2系统构架

为了快速实现系统开发,并满足后续系统的扩展开发,采用虚拟仪器LabVIEW作为开发平台,根据系统的功能分析,设计的软件框架功能如图1所示,个人计算机(PC)通过CAN卡与控制系统的CAN网络通信,其中通信线缆符合CAN通信标准。CAN总线平台运行于PC端,通过配置CAN网络(控制系统组成的CAN通信网络)的通信协议,即可实现参数的解析,根据调试需求选择对应的功能,实现参数监控和控制系统的功能调试。

图1 CAN总线柔性化测控平台的系统架构

2 软件系统设计

2.1总体设计思想

软件平台需要实现实时报文采集、报文解析、曲线显示、数据存储、参数报警、硬件状态监测等功能,同时满足用户的交互性操作,如数据拖动、参数配置等,为保证数据的实时性,本文提出用队列来处理数据流,同时借助全局变量传递各项参数,利用多线程方式保证各项功能的灵活性。

以报文采集到参数存储的数据流为例,其流程如图2所示,为每个模块分配一个线程:①报文采集。采集报文,并将报文压入报文队列;②报文解析。根据CAN报文特点对报文进行解析,解析后的参数值存入参数全局变量AI_Data;③参数报警、参数显示和参数存储模块根据设定的时间间隔,采用队列通知的方式对AI_Data进行操作。

图2 参数传递流程

2.2CAN卡驱动接口设计

为兼容不同CAN卡,设置相同的报文接收变量CAN_MSG),包括报文ID(CAN_ID),帧标志(Flag),帧长度(Length)和帧数据(Data_array,8 B,共64 bit),建立具有相同输入和输出参数的硬件操作函数,包括初始化CAN_Init()、报文接收CAN_Rec()、报文发送CAN_Send()和硬件释放CAN_Close()。硬件操作是通过设备句柄CAN_Dev进行传递。

CAN卡操作流程如图3所示,在CAN_Init初始化配置中,选择CAN卡,设置通信参数,并判断设备是否初始化成功,如果未成功,则延时再次启动初始化工作,以保证软件平台在拔插硬件设备后正常使用,因为CAN卡还兼顾为控制系统程序下载器,需要拔插。如果CAN_Init()初始化成功,则进行CAN_Rec()和CAN_Send()操作,其中CAN_Rec()接收到报文将清除通信故障,否则100 ms未接收到数据将进行通信故障报警,同时屏蔽CAN_Send()功能,直到通信故障解除。工程机械控制系统采用PEAK 或者SYS TEC 的USB/CAN卡进行程序下载,因此平台设计了这两种CAN卡的驱动接口。

图3 CAN硬件操作流程

2.3报文自动解析

CAN报文包括ID(CAN_ID)(11 bit或29 bit),帧标志(Flag)(远程帧、标准帧),帧长度Length(1~8)和帧数据Data_array(1~8 B)。由于CAN报文数据格式标准,根据报文CAN_ID和参数在帧数据中的定义,进行参数搜索即可实现报文解析。

设置了用于报文解析的变量CAN Msg Para define,定义为结构体数组,包括参数名称(一般同ID名称)、ID、帧类型、通道参数(结构体数组型变量)。通道参数即为各报文中定义的参数,即需要解析的内容,其定义包括通道名称Channel_name,单位unit,数据起始位Start_bit,数据位长度number_of_bit,数据类型data_type,数据模式Byte_order(大端或者小端模式),数据比例系数a和b,数据值value(value=a*Byte数据值+b,Byte数据值从Start_bit起number_of_bit长的数据决定),逻辑类型bool(若value>0,该位为真)。

报文解析流程如图4所示,根据CAN卡采集到的报文Rec_ID,搜索 Msg Para define中的ID,若二者相等,则读取Channel_name定义的参数,根据其定义进行参数解析,直到完成所有通道参数的解析,再进行下一个报文解析。报文解析程序框图如图5所示,队列CAN Frame queue在CAN_Rec模块中产生数据,采集到报文后,队列判断有数据,将自动进行报文解析,并在列表框中实时更新列表框内容。

图4 报文解析流程图

图5 基于队列的报文解析程序框图

2.4其他功能设计

CAN柔性化采集平台的主要功能是报文的采集和自动解析,为了进一步扩大平台功能的柔性化功能,设计了报文设置、存储设置、报警设置等功能。报文设置用于设置或者导入CAN的通信协议,自动将定义的参数存入Msg Para define变量。存储设置和报警设置,主要是针对解析的参数变量AI_Data,根据控制系统的需求,设置相应的条件,对设置的参数定时存储或者达到报警条件进行报警。

《机电控制系统设计与制作》课程中典型工程机械控制系统实验都需要根据被控对象的特性整定PID参数,为此设置了图形显示功能,可以根据需要增添图形化显示参数和更新速率,通过PID参数整定的原则进行参数整定;图形化显示功能同时可便于观测控制系统的参数变化。

3 系统功能试验

CAN柔性化测控平台部署在PC机上,通过PEAK USB/CAN卡与《机电控制系统设计与制作》的TTC 60的工程机械专用实验箱联机,进行功能调试,以某远程钻机的控制系统进行试验,从报文解析、平台调试和总线参数监控系统定制进行功能验证。

3.1报文自动解析功能试验

远程钻机控制系统的报文ID(hex)包括101、102、103、104、105、201、202、203和204共9个ID,由于参数数量较大,仅给出部分报文参数的定义,如表1所示,设计的CAN总线平台可以根据表1定义的参数手动添加报文定义到变量CAN Msg Para define,也可以直接按照表1的.xls格式数据导入系统,报文导入平台后的结果如图6所示。

表1 报文参数定义表

图6 报文参数设置

在图6所示的报文设置中,可导入Excel或dbc格式定义的CAN总线报文定义,也可通过增加/删除/编辑来定义报文参数,图中左侧显示各ID下的通道参数名称,系统后续将以这些参数进行显示、存储和曲线显示等操作。

为了验证CAN自动解析功能的正确性,控制系统将101报文中的给进压力、起拔压力、主泵压力和副泵压力分别设置为1、1.01、1.02和1.03 MPa,以副泵压力参数为例进行参数定义和参数值验证。打开全局变量CAN Msg Para define,如图7所示,副泵压力与表1中定义一致,位于ID 101内,起始位为48,长度16,解析结果value值为1.03,与设定值一致。同理也可验证表1中其他参数,通过试验验证,各参数均能正确实现自动解析功能。

为进一步测试平台功能的正确性和系统响应的实时性,以5 ms的间隔同时发送30个ID的方式对系统进行测试,结果表明系统运行稳定,CAN报文接收无延时,实时性好,工程机械控制系统报文间隔一般大于10 ms,证明了采用的队列数据传送机制的有效性。

3.2平台调试功能试验

课程实验中往往需要调试各项功能,并且需求不一致,因此柔性化调控平台需要具备控制系统调试功能,为此系统设置了拖动显示和曲线动态调整功能。

以拖动显示功能为例,所有被解析的报文参数显示在左侧的list控件中,为了调试或者观察某些参数,可选择左侧控件中的参数,按住鼠标左键不放,拖动到右侧显示控件中。如果是拖动到数字型显示控件,则显示参数的value值,如果是拖动到最右侧的bool控件中,则使用通道参数的boolean value进行显示。

图7 CAN参数解析变量

图8是调试的结果图,控制系统中设置的动力头位移为1 000,拖动到右侧后,动力头位移显示为1 000,与实际一致。同时可查看平台的实时记录结果,存储格式为.txt,但可通过Excel软件打开,结果如图9所示,图中给进压力、起拔压力、主泵压力、副泵压力以及动力头位移与实际结果一致。存储的时间间隔可根据系统设置,最小存储间隔为100 ms。

图8 柔性化平台的调试功能

图9 平台测试的存储结果

通过图8、9可知,平台的调试功能可以满足实验用控制系统的功能调试和参数监测。

3.3监控系统定制功能试验

设计的CAN总线柔性化测控平台不仅仅满足《机电控制系统设计与制作》课程功能实验,还可针对控制系统的需求定制参数监控系统。

以某远程钻机控制系统为例,其功能是通过控制煤矿井下钻机的液压系统来实现钻杆的装卸,在完成了控制系统的功能调试后,为进一步扩展学生的创新能力,可在此基础上开发针对远程钻机的参数监控系统。平台显示的所有窗口均采用动态加载的方式,即可通过加载一个新的主界面窗口来替换图8中的调试窗口,程序功能如图10(a)的加载方式,动态加载针对远程钻机的自定义显示面板。显示面板上的各参数显示值是通过读取AI_data实现,其AI_data中的参数顺序与表1中的顺序一致,但序号是从0开始,如动力头位移在表的顺序为第7,则解析时读取第7个数据即可,解析和显示参数的流程见图10(b),定制的参数解析过程很便捷,最终定制的监控系统面板见图10(c)。

(a) 显示窗口动态加载后面板

(b) 主界面解析流程图

(c) 加载结果

由图10可知,设计的CAN总线柔性化测控平台可以满足CAN总线控制系统的参数监控、调试和存储等功能,并能在此基础上快速定制和设计专业化的参数监控系统。

该测试平台在“机电控制系统设计与制作”课程和《机电综合实践》课程进行教学实验后,可将控制系统的参数可视化,提高了学生的学习积极性,锻炼了学生开发控制系统的能力,并让学生快速掌握通信系统设计和上位机系统开发,进一步拓宽了学生的视野。同时,学生可利用该平台来调试各种基于CAN总线的控制系统,并可不断拓展系统功能,利于培养学生的创新性和综合实践能力。

4 结 论

(1) 针对机械电子工程专业的行业特色,以“机电控制系统设计与制作”的课程实验为对象,提出了工程机械典型控制系统CAN总线柔性化测控平台思想,拓展了课程实验的功能。

(2) 采用LabVIEW为软件平台,PEAK USB/CAN为硬件平台,以队列的数据传送方式,通过全局变量共享和多线程的操作方式,完成了CAN总线柔性化测控平台的开发,通过实验测试,平台运行稳定,实时性好。

(3) 教学实践表明,所设计的CAN总线柔性化测控平台提高了学生的创新能力和实践能力,该平台通过简单扩展即可满足商用总线参数监控系统性能,进一步拓宽了学生的视野。

(4) 现有的测控平台仅针对CAN总线系统的调试,后续可拓展如Modbus的其他总线监控,并将监控数据存到中心服务器,进一步拓展学生的知识面和综合实践能力。

[1] 郭芳芳,郎永杰,闫 青,等.“专业硕士扩招”的理性思考——基于S大学践行政策过程的质性研究[J].北京大学教育评论,2014,12(4): 17-37.

[2] 董丽敏,陈小亮.全日制专业学位硕士研究生学术关注度探析[J].扬州大学学报(高教研究版),2013(1): 34-37.

[3] 王根顺,曹瑞红.关于我国专业学位研究生教育发展的思考[J].江苏高教,2010(3): 88-90.

[4] 王 磊.基于CAN总线的通用测控平台的设计与实现[D].南京:南京航空航天大学,2005.

[5] 齐晓斌,于正同.基于CAN总线的ECU测控软件的设计与实现[J].航空计算技术,2011,41(2): 128-131.

[6] 汪 庆,黄振卫.基于CAN总线的高可靠测控单元设计[J].太赫兹科学与电子信息学报,2015,13(4): 609-612.

[7] 贺 敬.机载CAN总线数据采集系统的设计与实现[J].测控技术,2014,33(3): 53-55.

[8] 张 军,殷鹏龙,廖晓明,等.基于CAN总线的中型挖掘机电气控制系统设计[J].中国工程机械学报,2010,8(3): 303-308.

[9] 张 军,焦生杰,叶 敏,等.基于双闭环PID的挖掘机泵扭矩控制策略[J].中国工程机械学报,2012,10(3): 316-320.

[10] 张 军,焦生杰,顾海荣,等.基于电喷发动机的挖掘机控制系统设计[J].中国工程机械学报,2013,11(1): 59-64.

[11] 殷鹏龙,黄红武,张 军,等.基于LabVIEW和CAN的挖掘机GPS功能的监控系统设计[J].中国工程机械学报,2011,9(3): 309-314.

[12] Zhang Jun, Jiao Shengjie, Si Guimao,etal.Engine speed control of excavator with PID method[J].Telkomnika Indonesian Journal of Electrical Engineering,2014,12(5): 3423-3430.

[13] Zhang Jun, Jiao Shengjie, Liao Xiaoming,etal.Design of intelligent hydraulic excavator control system based on PID method[C]// Daolian Li,Chunjian Zhao.Computer and Computing Technologies in Agriculture III,Berlin,German:Springer,2009:207-211.

[14] Si Guimao, Zhang Jun, Lv Chun Fen,etal.Design of serial communication monitor system of excavator based on LabVIEW[C]//Ran Chen,Wen-Pei Sung,Advanced Materials Research,Switzerland: Trans Tech Publications,2012,490-495: 1301-1305.

[15] Zhang Jun,Jiao Sheng-Jie,Si Gui-Mao,etal.Design of electronic control system of hydraulic excavator with CAN bus and PID method[C]//International Conference on Intelligent System Design and Engineering Application,Piscataway,NJ:IEEE Computer Society,2010:570-573.

[16] 张 军,陈思茹,曹继项,等.基于双闭环PID的挖掘机发动机自学习控制方法[J].长安大学学报(自然科学版),2016,36(4): 111-118.

Flexible CAN Bus Measurement Platform Based on Virtual Instrument Technology

ZHANGJuna,TAOJunb,XUZhenhuaa,DIRuxiaa,ZHANGXinronga,YEMina,WANGXina

(a.Construction Machinery Simulation Experiment Teaching Center; b.Middle School Attached to Chang’an University,Chang’an University,Xi’an 710064,China )

To enhance the creative and practical ability for graduate students of mechanical electronic engineering,flexible CAN bus measurement platform was proposed to expand the innovative experimental content of professional practice in typical control systems course.Functional requirements of flexible CAN bus measurement system were analyzed,and the functional framework of system was put forward.LabVIEW and PEAK USB/CAN card were respectively taken as software development platform and hardware platform,queue message method,global variables and multithread programming method were used to design the software.System tests were carried on a remote drilling machine control system project,which is an innovation experiment in this course.The results indicate that the measurement platform has a good real-time performance and it can realize the functions of automatic acquisition,automatic parse of CAN frame data,automatic storage and display of the setting parameters.The dragging and drop function is convenient for debugging and testing the functions of newly designed control system,dynamic loading window function is beneficial to extend system functions.The platform is easy for students to develop more powerful function and thus improves their practical and creative ability.

controller area network(CAN) bus; flexible measurement platform; LabVIEW; experiment teaching

2016-10-20

中央高校教育教学改革专项资金项目(jgy16029)

张 军(1980-),男,四川广汉人,博士,讲师,主要研究方向为智能化检测与控制技术。

Tel.:15332496673;E-mail:selfstudy@qq.com

G 642.0

:A

:1006-7167(2017)07-0097-06

猜你喜欢
测控报文总线
基于J1939 协议多包报文的时序研究及应用
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于现代测控技术及其应用分析
向着新航程进发——远望7号测控船首航记录
ATS与列车通信报文分析
多通道ARINC429总线检查仪