高能预警:此文属于GaoleNg技术贴,如阅读后患急性间歇性精神病,莫要找我,找医生。
此项迁移工作目前在Coyote Host与Hujin-RT计算机完成,通过了初步测试,尚未与HIL Works正式合并。
迁移之前的ESC_HIL的工作基本情况如下:
在Coyote计算机上使用CarSim 8.2.2(正式授权),运行的HIL程序是ABS测试,目标RT是在Hujin-RT。这项测试的程序包含下列程序和代码:
迁移的工作就是移花接木,首先参照CarSim 8.2.2中的工况设置,在CarSim 8.02中重建对应的ABS制动工况,其中主要重建的内容是:
建立好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个引用文件:
第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,成了。
Recent Comments