服务与案例 Service 当前位置: 首页 > 服务与案例 > 应用案例 >
固定电话:028-68743610
客服手机:13730631678
客服QQ  :
客服邮箱:@7200games.com
 
联系地址:四川省成都市成华区双林横路12号
发动机对j1939报文TSC1响应的性能测试
2015-03-25 23:39:58
  如果发动机控制器实现了j1939协议,并且支持对转速或者力矩的控制,一般需要对TSC1报文作响应。
  TSC1应用最多的是自动变速箱变速时,对发动机转速和扭矩的控制与限制。在一些发动机纯动力模式(PTO)下,有些也支持其它外部控制器使用TSC1对其进行控制。
  这里我们使用TSC1模拟自动变速箱对发动机进行控制,并接收发动机EEC1报文来取得实际的转速,以比较要求与实际的差别,确定发动机的响应性能。
  我们使用CANslinkal的模块编程与实时执行功能来完成该任务。曾经使用过其它厂商CAN分析仪的用户可能会觉得直接调用其硬件驱动库,制作桌面程序来完成也可以。这个需要说明一下。
  TSC1一般要求是10毫秒级的传输周期,桌面电脑程序是达不到的。发送多个TSC1报文,计算其平均周期,可能差不多是10毫秒,但连续两个TSC1报文之间的间隔是很难达到10毫秒的。可能在1~50毫秒之间跳动,稳定性是非常差的。因为桌面操作系统(如WINDOWS)都是分时操作,这么快速度,是很难保证间隔是均匀的。而CANslinkal的程序是在专用硬件上执行,完全能够保证这个间隔(甚至更短的周期都没有问题),这也才能完美模拟变速箱的功能。
  另外CANslinkal自带CAN数据接收解析与显示功能,在模拟变速箱控制的同时,也就完成了数据的显示与比较。一套系统就能完成全部功能,不需要很浪费地接入多个分析工具或者软件了。
  测试的网络构成如下:
\
  为了便于使用j1939数据自动解析与组装功能,可以先编辑j1939数据库如下:
\ 
用CANslinkal软件设计一个TSC1发送逻辑如下:
\
 这里使用一个j1939数据组装模块,将物理数值转换成能够直接被CAN发送的字节流,该组装即是参数j1939数据中编辑的TSC1信息。然后通过一个j1939发送模块,将数据发送到CAN总线上,以让发动机控制器能够接收。控制模式与控制/限制转速与扭矩是用户通过面板输入的,这个后面再详述。
 这个TSC1组装中,下部分是检验和的处理,它不能直接通过自动组装来完成(其中原因请参考j1939的TSC1数据),所以下面通过其它功能模块完成了比较复杂的处理。
  设置这部分的逻辑运行周期为10毫秒,即实现了j1939的传输要求,操作方法这里不再详细描述。
  面板即是程序在运行时,用户的操作界面,使用CANslinkal软件系统提供的面板设计功能简单地设计如下:
\
  程序运行里,改变这里面板的输入,就可以控制TSC1的传输内容了。面板中,可使用输入控制作为程序的输入,也可以使用数据查看控件观察数据,这里就不详述了。
  如果有实际的发动机,可以按前面所说要求连接,将发动机控制器与CANslinkal硬件连接到CAN网络中,然后运行建立的模块控制程序,在面板中改变控制参数,查看实际效果。这里我们为了方便演示,使用CANslinkal制作了另一个模拟发动机的模块程序(运行在另一台CANslinkal硬件上),模拟发动机工作来演示效果确认。因为只是演示,这里并没有做很模拟实际的发动机控制,只是做了一个非常简单的PID控制:
\
  这个模拟发动机模块,还包括接收TSC1报文,以及发送EEC1(包含发动机转速信息),就不在这里图示说明了。
  然后运行模块,在ID观测页面,就可以看见发送的TSC1报文与接收的EEC1报文数据信息:
 \

 改变面板中控件所控制的控制模式与控制转速,并将数据在监测页面中显示,以方便看其运行趋势与响应效果:

\
   从上面监测器中显示的曲线,就可以分析发动机响应性能了。当然,用户可以自由设置采样的周期等其它参数,以得到最精确的结果。这里就不详述了。