HIL接线图

当时Hujin只给了几个电子表格,这下子要接入新东西就很麻烦,没有接线图跟摸瞎子一样,真费劲,真费劲。

Update_1

ESC-HIL初始接线

Update_2

ESC-HIL初始接线_1

Update_3

ESC-HIL初始接线_2 

Desktop

IMG_20151212_122824

BluetoothChat初试

这件事情烦人好久了,大约是从今年7月份的时候,开始要把CAN总线的数据发到手机上,大约就是下面这个图的样子。软件的基本原理是一个Server,一个Client。在原型阶段,Server由一台接入CAN总线的PC充当,Client是安卓手机。基本框架是很容易定下来的,因为没有什么冗余的技术方案可选。原型Server的蓝牙实现依赖于BlueCove,Client中的蓝牙实现使用安卓提供的蓝牙开发包——这只是最终的目标,逐步实现得从手机对手机的蓝牙通讯开始。于是从那时候开始在网上找啊找,找手机蓝牙通讯的例程。

其实安卓自带的BluetoothChat例程不是没试过,而是因为缺少安卓经验,一看导入项目这么多错误,觉得要调试肯定很困难了,干脆找一个新的例程来。于是就陷入了死循环,直到周四看到导入的BluetoothChat项目里引用的是1.5的SDK包,觉得不对劲,想看看换一个高版本的SDK包进来看看,终于调出了一个可以编译版本,但是还是没有运行,原文如下:

http://tripsina.com/%E5%BF%97/bluetoothchat/

 

CDI

 

CDI

导入

项目和源代码导入很简单,新建项目,选择Android Project from Existing Code就可以了。

image排错

源代码导入之后项目目录里面一连串的红XX,吓人的很,都不敢打开代码文件。不光错误很多,连gen目录下也没有生成R.java文件。排错的基本次序是这么来的,先把SDK从1.5换到了16,然后到AndroidManifest文件里指定目标Android的版本,基本上就是这段代码:

   1: <uses-sdk  android:minSdkVersion="16" 
   2:     android:targetSdkVersion="16" 
   3:     android:maxSdkVersion="16"/>

不知道什么原因,我使用的例程代码一开始的代码是这样的,这一行就删除了,因为在Manifest的对应图形编辑窗口中,这一行代码对应着Unknown XML Attribute:

   1: <uses-sdk minSdkVersion=”6”> 

image 运行

做完上面几步之后就没有任何红叉叉了,分别下载到2个手机上,运行,结果还算满意,接下来就得研读代码了。

 

Huawei_Sceenshot

 

Samsung_Screenshot

迁移笔记

高能预警:此文属于GaoleNg技术贴,如阅读后患急性间歇性精神病,莫要找我,找医生。


此项迁移工作目前在Coyote Host与Hujin-RT计算机完成,通过了初步测试,尚未与HIL Works正式合并。

迁移之前的ESC_HIL的工作基本情况如下:

在Coyote计算机上使用CarSim 8.2.2(正式授权),运行的HIL程序是ABS测试,目标RT是在Hujin-RT。这项测试的程序包含下列程序和代码:

  • CarSim 8.2.2,其中设置了ABS直线制动测试的工况;
  • LabVIEW 代码

clipboard

 

clipboard[5]

迁移的工作就是移花接木,首先参照CarSim 8.2.2中的工况设置,在CarSim 8.02中重建对应的ABS制动工况,其中主要重建的内容是:

  • Procedure,就是ABS制动测试工况;
  • Set_Brake_Pedal_Force 函数;
  • HIL_ABS/ESC_Performace也照葫芦画瓢抄过来;
  • 车辆可以任意选一个CarSim提供的车辆:

clipboard[7]

建立好CarSim的数据之后就对LabVIEW代码进行修改,修改的方式是先不管3721,运行一遍看看出现什么错误。

第1次运行

在LabVIEW代码没有进行任何修改的情况,程序可以下载到RT,LabVIEW也在运行,但是CarSim根本不工作。运行之后CarSim放在RT上的Run_log.txt文件里面是一片空白。猜测这是一个低级错误——LabVIEW中包含的CarSim DLL不对——因为这个LabVIEW工程原先是与CarSim 8.2.2配合的,代码中引用的是CarSim 8.2.2的DLL,这个因素在此次运行之前就想到了,但是还是运行一次的比较保险。

那就对LabVIEW中与CarSim相关的DLL逐一用CarSim 8.02的对应文件进行替换,应该是下图中红色圈圈显示的4个引用文件:

  • i_i_Init.vi,
  • i_i_Step.vi,
  • i_i_Terminate.vi,
  • LVRT_i_i.dll

clipboard[9]

 

第2次运行

这次运行结果与上一次稍有不同,CarSim还是没有运行,但是Run_log.txt终于有记录了,log显示CarSim License错误——经过前几礼拜对不同版本CarSim的RT模块测试,姑且认为这是一个CarSim无赖错误,明明是有正式RT授权的,偏偏要说授权证书错误。

干脆不用CarSim的正是授权。

第3次运行

用破解版的CarSim 8.02向RT重新发送数据,运行LabVIEW程序——LabVIEW和CarSim都跑起来了,但是测试还没跑完,程序就终止了。接着检查Run_log.txt文件。log最后一行说Event中的变量T无法识别。

按道理说T就是CarSim的时间变量,CarSim 8.2.2的ABS工况就是在Event的判断条件中用的变量T——到了CarSim 8.02竟然不识别了,换了一个别的办法,在判断条件中使用了一个自定义的时间变量。

接着Run——OK,成了。