在时速160公里客运内燃机车微机系统的开发过程中,需要对与微机系统进行CAN通讯的外围设备进行模拟,用来验证微机程序的准确性、可靠性等。通过该软件可准确无误的对每一帧进行发送,可有效的完成机车的调试工作。
1.前言
时速160公里客运内燃机车在以往的调试中,均采用CAN盒自带的软件进行CAN数据的发送,这种情况下只能一帧一帧的发送,既费时又费力,且效率不高,还经常不能满足试验多系统多帧同时发送的要求。
2.CAN总线
2.1 CAN总线的介绍
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由以研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO 11898),是国际上应用最广泛的现场总线之一。
CAN总线是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:网络各节点之间的数据通信实时性强、开发周期短、已形成国际标准的现场总线、另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
2.2 CAN总线的在机车的应用
在机车产业中,出于对安全性、方便性、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。在160公里客运内燃机车里,为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”以及“分布式控制”的需要,对诸如柴油机系统、机车监控系统、辅助系统、列供系统等与微机之间的通讯全部定为CAN通讯。
3.调试软件的开发
在以往的调试中,均采用CAN盒自带的软件进行CAN数据的发送,这种情况下只能一帧一帧的发送,既费时又费力,且效率不高,还经常不能满足试验多系统多帧同时发送的要求。因此,需研发一款新软件满足要求。
针对这些需要的功能,决定采用visual studio2010软件来编制内燃160机车的CAN通讯陪试软件。
首先,要对微机所有需要发送的数据帧进行编写。根据各个设备与微机之间的CAN帧协议,将所要添加的CAN帧的协议加入到工程目录里的protocol.xls文件中,完成对每一个变量进行初始化的设置。
然后,根据CAN帧协议,每个CAN帧需要向工程中添加两个对应的 .cs类文件,一个用于存储用于用户通过窗口输入的对应数据,另一个则主要用于存储CAN帧的协议,以及将物理值转换成总线值等操作。接着,再在工程中将这些转换好的总线值打包并生成对应的CAN包,并需要在工程中对发送的周期进行设置。
最后,在工程中对添加对CAN信号值进行输入的控件,然后根据CAN通讯协议修改Name、MaxLength、Text等属性将相应的变量放到对应的位置上,从而编写一个友好的人机界面(如图1),方便使用者操作。
4.结语
该软件实现了CAN数据的发送功能,使用者只需知道所需变量名即可对数据进行发送,而且可以对多个变量同时发送来模拟机车不同工况下的各种数据。该调试软件的使用加速了时速160公里内燃机车微机系统的开发进度,有效的提升了工作效率。
作者:董骏骐 来源:中国科技博览 2016年10期