发明内容
本发明提供了一种测试CAN总线汽车仪表的系统和方法,实现了对CAN总线汽车仪表的半自动测试。
为了达到上述目的,本发明提供了一种测试CAN总线汽车仪表的系统,其包括配置单元、输入单元、虚拟输出单元和比较单元,所述配置单元和所述虚拟输出单元电连接,所述输入单元分别与所述CAN总线汽车仪表的输入端和所述虚拟输出单元的输入端电连接,所述比较单元分别与所述虚拟输出单元的输出端和所述CAN总线汽车仪表的输出端电连接;
所述配置单元,用于配置CAN总线汽车仪表的控制逻辑;
所述输入单元,用于向所述CAN总线汽车仪表和所述虚拟输出单元发送CAN报文;
所述虚拟输出单元,用于根据所述配置单元中的控制逻辑和所述输入单元发送的CAN报文,模拟所述CAN总线汽车仪表的输出;
所述比较单元,用于检测所述虚拟输出单元的输出与所述CAN总线汽车仪表的输出是否一致;当两者一致时,则输出所述CAN总线汽车仪表测试正确的信息;当两者不一致时,则输出所述CAN总线汽车仪表测试错误的信息。
优选的,所述虚拟输出单元包括控制子单元、虚拟表盘和标签数据存储子单元,所述控制子单元分别与所述配置单元和所述输入单元电连接;
所述标签数据存储子单元,其中保存着对应于所述CAN总线汽车仪表的各个测试项的用于DDE通信的标签;
所述控制子单元,用于根据所述配置单元中的控制逻辑和所述输入单元发送的CAN报文,从所述标签数据存储子单元中查找出与该CAN报文对应的DDE标签,并根据该DDE标签,在所述虚拟表盘上模拟所述CAN总线汽车仪表的输出。
本发明还提供了一种测试CAN总线汽车仪表的方法,其包括以下步骤:
步骤31,在配置单元中,配置CAN总线汽车仪表的控制逻辑;
步骤32,输入单元向所述CAN总线汽车仪表和虚拟输出单元发送CAN报文;
步骤33,所述虚拟输出单元根据所述配置单元中的控制逻辑和所述输入单元发送的CAN报文,模拟所述CAN总线汽车仪表的输出;
步骤34,比较单元检测所述虚拟输出单元的输出与所述CAN总线汽车仪表的输出是否一致;当两者一致时转至步骤35;当两者不一致时转至步骤36;
步骤35,输出所述CAN总线汽车仪表测试正确的信息;
步骤36,输出所述CAN总线汽车仪表测试错误的信息;
步骤37,测试流程结束。
优选的,所述步骤33包括:控制子单元根据所述配置单元中的控制逻辑和所述输入单元发送的CAN报文,从标签数据存储子单元中查找出与该CAN报文对应的DDE标签,并根据该DDE标签,在虚拟表盘上模拟所述CAN总线汽车仪表的输出。
与现有技术相比,使用本发明所述的测试CAN总线汽车仪表的系统和方法,对CAN总线汽车仪表进行测试时,只需要少量检验员点击计算机鼠标、观看计算机屏幕即可完成,而且可以实现半自动测试功能;实际的CAN报文由CAN报文管理程序通过PCI-CAN接口卡发送到CAN网络上,提供了CAN总线汽车仪表的测试效率,而且使得测试系统具有极高的通用性、可靠性和灵活性,可以应用于多种不同型号的CAN总线汽车仪表的测试;并且本发明所述的测试CAN总线汽车仪表的系统和方法,具有极端接近真实的显示效果,使得检验员可以直观地判断CAN总线汽车仪表的功能是否正确。
具体实施方式
本发明提供了一种对CAN总线汽车仪表进行直观、高效率、标准化测试的系统和方法,以克服现有的手动测试CAN总线汽车仪表的系统和方法的缺点。
如图1所示,本发明所述的自动测试CAN总线汽车仪表的系统包括配置单元11、输入单元12、虚拟输出单元13和比较单元14,所述配置单元11和所述虚拟输出单元13电连接,所述输入单元12分别与所述CAN总线汽车仪表的输入端和所述虚拟输出单元13的输入端电连接,所述比较单元14分别与所述虚拟输出单元13的输出端和所述CAN总线汽车仪表的输出端电连接;
配置单元11,用于配置CAN总线汽车仪表的控制逻辑;
输入单元12,用于向所述CAN总线汽车仪表和所述虚拟输出单元13发送CAN报文;
虚拟输出单元13,用于根据所述配置单元11中的控制逻辑和所述输入单元12发送的CAN报文,模拟所述CAN总线汽车仪表的输出;
比较单元14,用于检测所述虚拟输出单元13的输出与所述CAN总线汽车仪表的输出是否一致;当两者一致时,则输出所述CAN总线汽车仪表测试正确的信息;当两者不一致时,则输出所述CAN总线汽车仪表测试错误的信息。
优选的,如图2所示,所述虚拟输出单元13,包括控制子单元131、虚拟表盘132和标签数据存储子单元133,所述控制子单元131分别与所述配置单元11和所述输入单元12电连接;
所述标签数据存储子单元133,其中保存着对应于所述CAN总线汽车仪表的各个测试项的用于DDE通信的标签;
所述控制子单元131,用于根据所述配置单元11中的控制逻辑和所述输入单元12发送的CAN报文,从所述标签数据存储子单元133中查找出与该CAN报文对应的DDE标签,并根据该DDE标签,在所述虚拟表盘132上模拟所述CAN总线汽车仪表的输出。
如图3所示,本发明还提供了一种自动测试CAN总线汽车仪表的方法,其包括以下步骤:
步骤31,在所述配置单元11中,配置CAN总线汽车仪表的控制逻辑;
步骤32,所述输入单元12向所述CAN总线汽车仪表和所述虚拟输出单元13发送CAN报文;
步骤33,所述虚拟输出单元13根据所述配置单元11中的控制逻辑和所述输入单元12发送的CAN报文,模拟所述CAN总线汽车仪表的输出;
步骤34,所述比较单元14检测所述虚拟输出单元13的输出与所述CAN总线汽车仪表的输出是否一致;当两者一致时转至步骤35;当两者不一致时转至步骤36;
步骤35,输出所述CAN总线汽车仪表测试正确的信息;
步骤36,输出所述CAN总线汽车仪表测试错误的信息;
步骤37,测试流程结束。
优选的,所述虚拟输出单元13包括控制子单元131、标签数据存储子单元132和虚拟表盘133,所述控制子单元131分别与所述配置单元11和所述输入单元12电连接;所述标签数据存储子单元131中保存着对应于所述CAN总线汽车仪表的各个测试项的用于DDE通信的标签;所述步骤33包括:所述控制子单元131根据所述配置单元11中的控制逻辑和所述输入单元12发送的CAN报文,从所述标签数据存储子单元133中查找出与该CAN报文对应的DDE标签,并根据该DDE标签,在所述虚拟表盘132上模拟所述CAN总线汽车仪表的输出。
组态软件作为通用软件平台,具有强大的通信功能、良好的人机交互性能以及图形、动画的处理能力,而且使用起来方便灵活、便于修改和维护,在工业控制领域已经得到了越来越广泛的应用,因此本发明的一实施例使用组态软件来实现基于PC机的CAN总线汽车仪表自动测试系统。
本发明的一种具体实施方式所述的自动测试CAN总线汽车仪表的系统,如图4所示,硬件上使用PC机和PCI-CAN接口卡,所述PCI-CAN接口卡插在所述PC机的PCI插槽里,所述PC机可以通过其驱动程序与连接有CAN总线汽车仪表的CAN网络进行通信;如图5所示,软件部分包括两个功能独立的程序:CAN报文管理程序、人机交互程序和用来存储CAN总线汽车仪表的控制逻辑的数据库;其中,所述CAN报文管理程序配置CAN总线汽车仪表的控制逻辑和通过所述PCI-CAN接口卡发送CAN报文;所述人机交互程序采用工业监控组态软件作为开发平台,以充分发挥组态软件良好的人机交互性能以及图形、动画的处理能力,使得测试系统在计算机界面上直观地显示设备的状态,实现所见即所得的操作;所述CAN报文管理程序和所述组态软件通过DDE(动态数据交换)方式进行通信。
在开发CAN报文管理程序时,通过ODBC接口访问数据库,使用DDEML(动态数据连接管理库)来实现与组态软件的DDE通信功能;CAN报文管理程序作为DDE服务器,组态软件作为客户端。
开发人机交互程序时,首先按照CAN总线汽车仪表的外观,使用组态软件的图形界面开发组件画出一个虚拟表盘,该虚拟表盘包括了CAN总线汽车仪表所有测试项目的图形显示;然后,在组态软件的标签数据库中建立对应于各个测试项的用于DDE通信的标签,这些标签的数据源均指向DDE服务器(即CAN报文管理程序),当标签被触发时,CAN报文管理程序可以马上知晓;最后,将所画的图形显示与所建立的DDE标签关联起来,并设置相应的动画。
实际测试时,检验员首先启动CAN报文管理程序,配置CAN总线汽车仪表的控制逻辑(即仪表的不同测试项所对应的CAN报文),然后运行组态软件,点击相应测试项的图形显示,即可触发DDE标签,同时,虚拟表盘上的该测试项的动画也被触发,显示该测试项应有的状态;CAN报文管理程序检测到DDE标签被触发,则访问数据库得到该测试项所对应的CAN报文,并发送该CAN报文;检验员可以通过比较实际的CAN总线汽车仪表的显示状态与虚拟表盘的显示状态是否一致,以判断CAN总线汽车仪表的功能是否正常。
在实际测试时,也可以按照数据库中配置的控制逻辑依次自动发送CAN报文,同时CAN报文管理程序每发送一条报文,即通过修改该报文对应的测试项所对应的DDE标签,使得虚拟表盘同样动作,检验员只需观察实际CAN总线汽车仪表的显示状态与虚拟表盘的显示状态是否一致,以实现CAN总线汽车仪表的半自动测试方案。
由于在本发明的具体实施例中,采用数据库来存储CAN总线汽车仪表的控制逻辑,所以当CAN总线汽车仪表的控制逻辑发生变化时,用户只需在软件界面上重新配置数据库即可,而无需修改硬件;而使用本发明测试不同型号的CAN总线汽车仪表时,只需在第一次使用时修改组态软件的图形界面,并重新配置数据库即可;并且,由于组态软件便于修改和维护的特点,当使用本发明具体实施例所述的自动测试CAN总线汽车仪表的系统和方法时,只需在第一次使用时修改组态软件的图形界面,并重新配置数据库即可。
根据一种具体实施方式,CAN总线汽车仪表的显示输出形式可以分为以下三种:信号片、模拟量指针表和液晶屏,当设计虚拟表盘时,应根据三种显示输出形式设置不同的动画:对于信号片来说,可以设置其图案初始颜色为深灰色,当信号片对应的DDE标签被触发时,其图案颜色变为亮色,与实际CAN总线汽车仪表的显示效果相似;对于模拟量指针表来说,可以先画出一圆盘型图案,再画出一条较粗的直线代表实际指针盘的指针,通过对应的DDE标签调整该直线的旋转角度,使得其与实际仪表的指针盘显示效果相似;对于液晶屏来说,可以先画出多个分屏,通过对应的DDE标签调整各个分屏的可见性,使其与实际仪表的液晶屏的显示效果相似。
如图6所示,本发明所述的自动测试CAN总线汽车仪表的系统对CAN总线汽车仪表单个测试项进行测试,包括以下步骤:
步骤a:启动CAN报文管理程序,配置CAN总线汽车仪表的控制逻辑;
步骤b:运行组态软件,点击相应测试项的图形显示;
步骤c:PLC程序给出输入信号,并通知CAN报文管理程序检测输出报文;
步骤d:该测试项对应的DDE标签和虚拟表盘的动画均被触发;
步骤e:CAN报文管理程序检测到DDE标签被触发,访问数据库得到相应测试项所对应的CAN报文,并发送该CAN报文;
步骤f:检验员观察实际CAN总线汽车仪表与组态软件界面上的虚拟表盘是否一致,以判断仪表功能是否正常。
以上说明对本发明而言只是说明性的,而非限制性的,本领域普通技术人员理解,在不脱离以下所附权利要求所限定的精神和范围的情况下,可做出许多修改,变化,或等效,但都将落入本发明的保护范围内。