基于labview的模电系统仿真(基于LabVIEW的发动机万有特性曲线建立)
基于labview的模电系统仿真(基于LabVIEW的发动机万有特性曲线建立)2二维离散点插值ActiveX控件读Excel文件的流程如图1所示。使用打开自动化vi打开ActiveX对象的引用,启用LabVIEW与ActiveX对象间的通信。将引用传入属性图1Excel读取流程节点或调用节点,调用对象的属性或方法。调用Workbooks属性的Open方法时指定文件路径,调用Sheets属性的Item方法时指定工作表的索引号。变体数据利用Variant To Data.vi作相应的转换[3]。由于工作表中除了试验数据还有文本信息,将获取的变体数据先转换成字符型二维数组。然后利用数组操作vi提取出试验数据并转换成相应的数值。发动机试验需要离线处理的数据包括负荷特性数据(功率、比油耗、气体排放、烟度等)、外特性数据(转速、扭矩、比油耗、烟度、排温、进气量、充气效率、空燃比等)、万有特性数据和其他相关试验数据。万有特性曲线反映的是在不同发动机转速和负荷下的油耗率,主要包括等
施水娟1,李文文2
(1.南通职业大学 汽车与交通工程学院,江苏 南通 226007;2.中国一汽无锡油泵油嘴研究所,江苏 无锡 214063)
:发动机万有特性图通常包括等油耗曲线和等功率曲线。采用LabVIEW 2011编程,先通过ActiveX控件读取Excel文件中的试验数据。然后构造曲面网格,利用Biharmonic Spline二维离散点插值方法拟合三维曲面。最后,采用Contour Line.vi绘制等高线水平可定义的等油耗曲线和等功率曲线(二维等高线图),并由三次样条插值得到的外特性曲线和坐标轴构成的多边形边界删除等油耗曲线和等功率曲线的界外点,成功建立万有特性曲线。
:Excel读取;二维离散点插值;等高线图绘制;万有特性曲线
发动机试验需要离线处理的数据包括负荷特性数据(功率、比油耗、气体排放、烟度等)、外特性数据(转速、扭矩、比油耗、烟度、排温、进气量、充气效率、空燃比等)、万有特性数据和其他相关试验数据。万有特性曲线反映的是在不同发动机转速和负荷下的油耗率,主要包括等油耗曲线和等功率曲线,根据需要还可以画出等过量空气系数等曲线[1] 。
周广猛等人利用MATLAB及其拟合方法绘制了万有特性曲线[2]。鉴于虚拟仪器技术在发动机测试领域的广泛应用,本文利用NI LabVIEW软件实现了发动机万有特性曲线的建立。主要涉及了基于LabVIEW的试验数据读取、二维离散点的网格生成和曲面插值、外特性曲线的建立等内容,可作为发动机数据采集系统离线数据处理的子模块。
目前,大多数发动机台架保存的试验数据为Excel格式数据文件。本文采用Excel 2007提供的Microsoft Excel 12.0 Object Library Version 1.6 ActiveX控件和LabVIEW编写的有限状态机来读取文件中的试验数据。
ActiveX控件读Excel文件的流程如图1所示。使用打开自动化vi打开ActiveX对象的引用,启用LabVIEW与ActiveX对象间的通信。将引用传入属性图1Excel读取流程节点或调用节点,调用对象的属性或方法。调用Workbooks属性的Open方法时指定文件路径,调用Sheets属性的Item方法时指定工作表的索引号。变体数据利用Variant To Data.vi作相应的转换[3]。由于工作表中除了试验数据还有文本信息,将获取的变体数据先转换成字符型二维数组。然后利用数组操作vi提取出试验数据并转换成相应的数值。
2二维离散点插值
等油耗曲线和等功率曲线都是等高线图。等油耗曲线以转速作为x轴,扭矩作为y轴,比油耗作为z轴。等功率曲线以转速作为x轴,扭矩作为y轴,发动机功率作为z轴。
2.1网格生成
发动机试验时只能采集有限工况下的试验数据,因此必须对这些离散的试验数据进行插值才能拟合出三维曲面(使用插值方法保证拟合曲面经过所有离散数据点)。先利用Ramp Pattern.vi构造xi和yi,Ramp Pattern.vi是一个多态vi,选择按样本数构造方式。利用数组操作vi找出转速和扭矩的最大值和最小值,以转速xi构造为例:
式中n为要构造的样本数,xmin和xmax分别为转速的最小值和最大值。本文将构造样本数设为60。
xi和yi构造成功后,再用Create Mesh Grid(2D).vi生成要构造三维曲面的网格即矩阵X和Y,如表1所示。表1将矩阵X和Y的元素进行了组合,分别表示网格中各点的x坐标和y坐标。
2.2Biharmonic Spline插值
网格生成后进行曲面插值,常见的曲面插值方法有双3次样条插值、B样条插值等。但这些方法要求试验数据(控制点)均匀分布在网格上,计算量繁琐。基于Biharmonic Spline的曲面插值技术整体平滑且局部性能较好,对控制点的分布和数量没有要求。Biharmonic Spline插值产生的曲面是以控制点为中心的Green函数的线性组合,具有最小曲率[4]。
利用Interpolate 2D Scattered 多态vi提供的Biharmonic Spline方法进行曲面插值。将网格矩阵X和Y及离散的试验数据输入Interpolate 2D Scattered vi,得到曲面插值后的矩阵Z。
图3等功率曲面插值发动机等油耗曲面和等功率曲面试验数据二维散点图和曲面插值后的二维散点图。
3等高线建立
3.1三维等高线
将插值后的矩阵X、Y和Z分别输入3D Contour控件就可以生成图4中的等油耗和等功率三维等高线图。该控件可以切换到x-y平面显示二维等高线图,但无法将等油耗和等功率曲线显示在同一x-y平面中,并且等高线水平值不能设定。
3.2二维等高线
由于3D Contour控件不能实现万有特性曲线的建立,采用Contour Line.vi绘制二维等高线图。利用数组操作vi取出插值后的X矩阵的第一行和Y矩阵的第一列,连同插值后的Z矩阵输入Contour Line.vi,并输入自定义的等高线水平数组,即可生成二维等高线图。生成的二维等高线图是一个一维簇数组,每个簇包含一个水平的等高线x数组和y数组,将这个簇数组显示在XY Graph控件(可以显示单条或多条曲线)上就得到了如图5所示的等油耗曲线和等功率曲线。
3.3万有特性曲线
将等油耗曲线与等功率曲线的一维簇数组拼接成新的一维簇数组,等油耗曲线和等功率曲线就可显示在同一平面中。万有特性曲线还缺少外特性曲线作为边界线。先利用Ramp Pattern.vi构造xi,再利用Interpolate 1D.vi进行插值得到外特性曲线。鉴于三次样条插值方法可以保证数据点的一阶和二阶导数是连续的,因此采用三次样条插值方法建立外特性曲线[5]。
利用外特性曲线组成如图6所示的多边形边界,用来删除等油耗曲线和等功率曲线的界外点。将(xmin 0)、(xmax 0)和外特性曲线输入Point in Polygon.vi作为多边形边界,判断等油耗曲线和等功率曲线的各点是否在边界内,界外点和边界上的点赋值NaN,界内点保持不变。将重新赋值的等油耗曲线、等功率曲线和外特性曲线成拼接一维簇数组,建立万有特性曲线。图7是利用上述方法建立的某型发动机的万有特性曲线。
4结束语
虚拟仪器技术在发动机测试领域的应用越来越广泛,本文采用LabVIEW来建立发动机万有特性曲线。读取Excel格式的数据文件后,利用LabVIEW提供的二维离散点插值方法进行曲面插值,生成等油耗和等功率三维等高线图。为了使等高线水平可以自定义,又建立了等油耗和等功率的二维等高线图,通过外特性曲线删除了界外点,最终建立了万有特性图。该方法可作为发动机试验中离线数据处理的一个模块。
参考文献
[1] 颜伏伍.汽车发动机原理[M].北京:人民交通出版社,2007.
[2] 周广猛,郝志刚,刘瑞林,等.基于MATLAB的发动机万有特性曲线绘制方法[J].内燃机与动力装置,2009,110(2):3436.
[3] 陈金兰,张家精,陈松.基于ActiveX控件的LabVIEW动态控制Excel多工作表数据显示[J].淮北师范大学学报(自然科学版),2013,34(4):7374.
[4]王亚涛,董兰芳,倪奎.基于Biharmonic样条插值的图像渐变算法及实现[J].中国图象图形学报,2007,12(12):21902191.
[5]李勇波,裴雪丰.三次参数样条曲线恒线速插补的研究[J].机床与液压,2014,42(10):2526.