图3—3 显示仪表板块
如图3—3 所示,该界面主要是仪表控件显示功能:
该界面的功能就是显示汽车CAN 报文当中的数据。一个CAN报文当中最多有8个信号数据,然后每个信号数据是8位,最大值为225。该界面主要是将CAN报文中的每个信号数据以仪表的方式显示,这样便很直观的展示出来。
如如3—3所示,该界面有发动机仪表,燃油压力仪表,机油压力仪表,大气压力仪表,大气温度仪表,进气温度仪表,冷却水温度仪表,燃油温度仪表,机油温度仪表,机舱内温度仪表,路面温度仪表。
该界面可以灵活的改变,通过对后面板程序的处理可以按照需求去换其他信号的虚拟仪表,还可以增加更多的虚拟仪表,灵活性非常大。如果作为一个教学软件的话,这样提高学生对汽车CAN总线技术的理解,还可以锻炼学生的编程思维和能力。
同时,还可以根据不同ECU的通讯协议,去改变该软件的一些细节去适应各种不同协议的通讯。
10
1
2
3 4
图3—4 报文列表及保存
如图3-4所示,该界面是汽车CAN报文列表显示及保存板块,主要功能有下: 1,存储路径—当程序运行时,可以点击该控件从而来选取汽车CAN报文的路径,把CAN报文数据存储在我们想要的地方。
2,进制转换—当程序运行时,单击该控件从而来选取以什么进制的格式显示汽车CAN报文当中的信号数据。(该格式为十进制和十六进制两种数据格式)
3,存储—当程序运行时,单击该控件以保存发送和接收的汽车CAN报文,以便于后期的数据分析和处理。
4,CAN报文数据列表—这是一个列表显示控件,显示接收和发送的汽车CAN报文。该列表当中,第一列是发送和接收CAN报文序号,以便查看到发送的每一条CAN报文。第二列是发送和接收CAN报文时间。第三列是发送和接收每条CAN报文的ID,从而确定地址。第四列是每条CAN报文的数据的类型(标准帧和扩展帧两种)。第五列是每条CAN报文当中数据的长度。第六列是每条CAN报文当中的信号数据(该数据作为后期的分析和处理)。 3.3 软件的后面板设计
该软件的后面板设计主要是采用了“顺序结构”,“While结构”和“条件结构’。主要是采用调用库函数节点的方法来实现软件和硬件的相结合。
如下图3—5所示:
11
图3—5 调用库函数节点
该函数支持众多数据类型和调用规范。该节点可用于调用大多数标准或自定义DLL或共享库中的函数。如需调用含有ActiveX对象的DLL,可使用打开自动化函数与属性节点和调用节点。
3.3.1 软件设备的打开和关闭
1,设备打开设计
调用转换模块的打开设备函数DeviceOpen(ULONG mindex),函数参数:mindex是指定设备序号(最多可以连接16个设备),函数返回值:1,函数调用成功;0,函数调用失败。该函数主要是用来打开连接设备。
如下图3—6所示:
(a) (b)
图3—6 调用DeviceOpen函数
当该函数调用成功之后,设备打开,函数返回值为1,通过条件结构此时设备状态文本显示控件将会显示“设备打开成功!”,同时状态指示灯也会亮。当该函数调用失败或
12
者设备连接失败,函数返回值为0,通过条件结构此时设备状态文本显示控件将会显示“设备打开失败!”,同时状态指示灯也是暗的。
如下图3—7程序所示:
(a) (b)
图3—7 设备连接状态显示
2,设备关闭设计
调用转换模块的关闭设备函数DeviceClose(ULONG mindex),函数参数:mindex是指定设备序号(最多可以连接16个设备),没有函数返回值。该函数主要是用来关闭设备的。如下图3—8所示:
13
相关推荐: