基于Labview与Matlab联合编程的路谱模拟设计

时间:2024-09-27 10:42:06 电子信息工程毕业论文 我要投稿
  • 相关推荐

基于Labview与Matlab联合编程的路谱模拟设计

  摘要:本文介绍了路谱模拟系统的系统结构与组成形式,以Labview软件作为开发工具实现了系统软件的操作简便性,可视化性,精确性,并重点介绍了基于Labview与Matlab节点的设计方法。最后通过实验台架的测试验证了此系统的有效型与可靠性。

  关键词:路谱模拟 Labview Matlab节点

  一、前言

  路谱模拟系统可以在试验室内模拟再现整车在实际路面上行驶的运行工况,从而完成对汽车零部件性能检测的试验项目。精确、可靠的道路模拟系统可以缩短新产品的开发周期,降低开发成本,提高产品开发质量。Labview软件具有设计界面友好、手工编码少的优点,而matlab软件具有强大的数学处理计算能力。本文结合这两种开发环境的优势,以某公司试验室的激振实验台为基础研究对象,采用软件联合的方法,开发设计了路谱模拟系统。

  二、路谱模拟系统的实现

  2.1 系统简介

  路谱模拟系统的总体设计主要包括硬件和软件两个部分。硬件的主要功能在于可靠地实现路谱信号的传递、执行,并且确保试验过程安全、稳定。硬件主要包括车辆激振台、功率放大器、USB数据采集器、加速度传感器、力传感器以及连接各个模块的线缆。软件的主要功能是生成路谱信号,标准信号或随机信号并提供可视化界面供操作人员实现对试验任务的设置、开始与停止。其中软件的设计采用了结合了Labview和Matlab的联合编程方法。

  系统的工作过程描述为:由试验人员设定试验车辆数据、路面等级、车速等参数,由软件模拟器对相应的参数计算得到对应的路面谱时域信号数据,将生成的信号以数组的形式下载给USB3020数据采集器,数据采集器进行模拟输出,经过功率放大器的电压转换作用,以电压的形式控制激振台动作,安装在被测车辆上的加速度和力传感器将振动数据传给控制台监视软件来检测数据的可靠与正确性。

  2.2 基于Labview的路面模拟系统界面实现

  本文以软件的操作简便性,可视化性,数据生成精确性为设计目标,基于Labview对路面谱模拟程序进行实现。模拟软件功能包括:路谱参数的设定,其他信号参数的设定,通道输出开启控制,信号的生成,生成信号数据显示,测试过程的控制等。

  界面左侧主要用于参数设置与参数修改,涉及到的功能包括模拟信号类型的转换,信号频率,幅值等重要参数的设定,路谱等级及车型等参数的设定,传递函数方法的选择以及数据输出通道的开启或关闭。这些功能为试验人员在试验过程中提供了良好的可操作性,试验人员可以根据当前的试验要求对试验参数进行设定,设定过程快速,有效,简洁。

  界面右侧主要用于查看各个通道生成信号的时域图形和频域图形并且设定实验总时长以及试验的开始,停止。其功能按钮的控制响应快速,保证了试验的可操作性。

  路谱模拟系统包括软、硬件两个部分,所以在进行软件设计的时候,要考虑到软件与硬件的匹配。本文采用以Labview编程语言编写USB3020数据采集器控制程序的方法,利用USB3020提供的库函数实现软、硬件的结合。图1即为USB3020提供的库函数。

  由图1可以看出,其库函数连接也是具有图形化和数据流的特点。提供设置可以在labview中进行加载。实现的功能有:USB3020数据采集器设备的初始化,数据写入设备缓存区,输出数据的同步,输出数据的触发,设备的清除数据以及设备的释放。将这些库函数嵌入在系统软件中,实现对硬件的驱动。

  三、Labview的Matlab的混合编程

  本文采用基于节点法labview与matlab混合编程实现友善操作界面与复杂运算的结合。主要实现功能模块为路谱信号的生成,主要使用了Matlab脚本节点,其位置在Labview程序框图>>函数>>数学>>脚本与公式。Matlab脚本节点是实现Labview和Matlab两者相结合的最主要的方法。在调用时选中Matlab脚本节点放置到框图上并调节到合适的大小,可以在其中手动输入脚本,也可以右键点击导入来导入已经写好的脚本。Matlab脚本节点与它外部Labview框图程序靠脚本节点的输入输出来连接,其输入和输出的设置可以在脚本节点的快捷菜单中选择添加输入和添加输出。

  因为Labview和Matlab是两种不同的编程语言,有各自的数据类型定义,所以结合应用时必须注意Matlab脚本节点内外数据类型的匹配。即Labview程序框图的数据类型要与脚本节点端子的变量数据类型一致,脚本节点端子的变量数据类型要与脚本内程序的数据类型一致。可以在脚本节点上的输入输出端子上点击右键选择数据类型。

  在脚本节点调试时可能会遇到在Matlab中运行良好的程序代码进入脚本节点之后报错的情况,因为在变量导入中会存在维数变换问题,例如行向量进入脚本节点运算程序后可能会转化为列向量,造成节点内矩阵运算出错。初步设计时可以考虑代码逐条导入的方法检测

  其运行出错的位置再针对性检测出错原因。针对维数变换问题,设计时可以利用增大输出变量维数并查看其数组大小的方法来检测其维数变换情况。例如,将一维数组设定为二位数组数据类型输出再查看其数组大小,行向量则为(n,1),列向量则为(1,n)。若存在维数问题,在脚本节点内转置即可。另外,在脚本节点右下角有一个容错端子,设计时可将错误端子输出查看,方便调试。图2即为路谱计算时调用的Matlab节点程序。

  可以发现在Labview中不容易编写的运算程序在脚本节点内可以实现难度降低了很多,而保证导入变量和输出变量数据类型的一致是一个关键点。值得注意的是脚本节点内程序运算速度明显比Matlab环境下运算速度慢,所以循环数量大、运算时间长、方法复杂的程序利用脚本节点方法时需要精细设计。

  四、程序运行验证

  对设计的程序进行了试验运行。设置参数为:车辆轮距1.6m,车辆轴距1.8m,参考车速50km/h,路面等级D,路面仿真结果如图3。其中左上图为左前轮路谱曲线,右上图为右前轮路谱曲线,左下图为左后轮路谱曲线,右下图为右后轮路谱曲线。

  由图3看出,左轮前后有路面波形一致,但具有一定相差,同时右轮也具有类似的结论。说明路面模拟系统生成路谱信号与实际运行一致,该设计方法可行。

  五、结语

  本文基于Labview软件采用与Matlab联合编程的方法设计了路谱模拟软件,通过理论分析、软硬件联合调试和程序运行验证等保证了系统的可靠性、准确性,结果表明由模拟系统生成的路谱信号与监控台采集得到的信号一致,软件控制响应迅速,使用过程系统稳定。

  所开发的系统在某公司试验台上已经进入了生产运行,系统运行稳定可靠。该设计方法可行和有效。

  参考文献:

  [1]徐占.标准路面谱室内再现控制研究[D].武汉理工大学,2009,12.

  [2]赵莉华.基于LabVIEW和Matlab虚拟实验室的实现[J].实验室研究与探索,2014,4.

  [3]戴一平.LabVIEW平台在教育技术学科实验教学中的应用分析[J].现代教育技术,2012,8.

  [4]裴锋,杨万生.LabVIEW与MATLAB混合编程[J].电子技术应用,2004,03.

  [5]梁晓刚,张永昌.LabVIEW与MATLAB混合编程的实现[J].电脑开发与应用,2009,9.

  [6]宋凡峰,吴广祥.LabVIEW与MATLAB混合编程技术浅析[J].数字化用户,2014,20.

【基于Labview与Matlab联合编程的路谱模拟设计】相关文章:

LabVIEW与MATLAB混合编程03-19

基于MATLAB的模拟调制系统仿真(Simulink工具箱)05-27

基于LabVIEW的GMSK调制与解调实现03-07

基于MATLAB的FIR数字滤波器设计03-07

基于Matlab的层次分析法与运用03-21

基于matlab的节电模糊控制系统03-07

基于LAN的UAIS模拟器的设计与开发03-07

基于LabVIEW的自动生成Excel报告功能开发03-07

试论基于Matlab的层次分析法与运用12-03