新闻中心

EEPW首页>汽车电子>设计应用> 基于SAE J1939协议的发动机模拟系统开发

基于SAE J1939协议的发动机模拟系统开发

作者: 时间:2009-03-20 来源:网络 收藏

C#调用接口库函数的方法:(1)将库函数文件置于工作目录下;(2)声明using System.Runtime.InteropServices;(3)声明ZLGCAN系列接口卡信息的数据类型;(4)导入,以打开设备函数为例,其他功能函数引用与之类似。打开设备函数为:

4模拟系统设计
该系统按功能分为参数报文、故障报文、发动机仪表测试。为了便于单独使用各个功能界面,采用复合界面形式。其运行界面如图4所示。

4.1 发动机参数报文发送模块
该模块是类比现场测试的一组数据,按照适用于BOSCH高压共轨系统的欧III发动机基于的CAN通讯规范,将帧ID与代表发动机参数的数据字节位置相对应,同时可通过修改相关字节,改变所要发送的参数值。
若想发送转速2 000 r/m,数据在报文的第4、5字节。发送数据的第4、5字节为2 000/0.125=16 000转化为两字节,注意高字节置于第5字节,低字节置于第4字节。同理可查表计算其他发动机参数,如润滑油压力、冷却液温度、蓄电池电压、燃油油位,ECU温度,进气温度,机油压力,节气门位置等参数值所对应的帧ID及在数据帧的位置。
4.2 发动机故障报文发送模块
当发动机发生故障时,传感器所采集的数据通过EMR的单片机分析处理,决定该采集数据是否在正常范围内或有效。如果该数据未在正常范围内或无效,EMR将向上位机发送故障帧,表明该传感器对应的元件存在故障。该系统设计的总线仪表增加了故障诊断功能,可借助于液晶显示屏实时显示发动机的故障类型。
在故障诊断方面,定义了19个诊断信息(Diagnostic Message,简称DM)。该故障报文发送模块主要采用DMl(显示当前故障)功能。DM由诊断故障灯代码(2字节)和诊断故障码DTC (4字节)组成。诊断故障码DTC的长度为4字节,包括可疑参数码SPN(19位)、故障类型代码FMI(5位)、故障发生次数OC(7位)、SPN转换方式CM(1位)。
该系统设计共定义400多个故障,将故障类型代码FMI与SPN相结合进行定义,定义时遵循SPN和FMI的组合与故障类型一一对应的原则。
4.3 发动机仪表测试模块
发动机仪表测试模块是将虚拟仪表的指针运行速度与开发仪表相比较,测试开发仪表的步进电动机驱动情况。由于只有车速表、油压表、水温表、电压表等仪表数据是由发动机CAN总线提供的,所以测试仪表只能模拟这4个表盘的步进电机驱动情况。该测试仪表采用Dundas仪表向导,该产品能够完全支持Visual Studio 2005特征,包括智能标记,高级数据绑定等。Dundas仪表向导提供丰富的素材库,利用该向导,用户可以设计出应用于各领域的仪表控件外形和数据指示方式。用户只需编写相关的仪表动态变化和响应部分代码即可实现虚拟仪表功能。

5 结论
介绍基于的发动机模拟系统设计。该系统具有发动机工况选择功能,与待开发总线仪表连接,可以模拟输出发动机的各项工况数据。一旦选定某个报文,该报文代表的发动机参数即在报文规定的更新率下持续发送到待开发总线仪表的总线接口。以此系统设计软件替代真实的发动机,可以随机检测各项发动机工况,且具有人为可选择的灵活性,选择范围较真实发动机更大。在线模拟系统不受工作环境限制,可随时随地进行检测。该系统为实验室的一套发动机试验系统的一部分,也可以配合教学实验课程。通过实验,软件各部分功能运行良好,对总线仪表开发具有一定价值。随着CAN总线应用领域的不断发展,SAE J1939必将得广泛应用。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭