本讲,我们怀着极其荣幸、极其激动的心情,向大家介绍同星智能公司的TSMaster软件,特别是她无与伦比的调用方法。
话说,某一天的早上,快递员忽然打电话给我,说我有快递到了。
对,就是下面这俩货,看起来其貌不扬的,黑不溜秋的。
![3fb45f17d131da276e9142dc4d1bb8f0.png](https://img-blog.csdnimg.cn/img_convert/3fb45f17d131da276e9142dc4d1bb8f0.png)
接下来,我想了几个姿势,准备翻来覆去地“折磨”Ta。
01
常规姿势
通道映射、硬件配置、上车读报文、仿真发报文、BLF回放及分析、面板设计等等,都是常规姿势,和CANoe差不多,没啥新鲜感,我们直接跳过,喜欢的朋友们,可以自己尝试一下。
我们直接解锁高难度姿势,据说这种感觉非常棒!
02
高级姿势,自动化服务器应用
单机孤立软件,自娱自乐,都是小儿科,前途一般。能互联互通,做成大系统,才是真牛逼!
TSMaster显然就是这个牛逼!
软件安装完成后,我插上两个TScan硬件并分配到通道上,然后把它们的CANH、CANL分别连接。
我们打开Labview,通过图形化拖拽,编写下图所示的程序框图:
![8d062fd3117ba7938f75bc182d92133d.png](https://img-blog.csdnimg.cn/img_convert/8d062fd3117ba7938f75bc182d92133d.png)
然后,在Labview中点一下run。
然后,非常神奇的一幕就出现了,总线上迅速出现了100个ID不同、周期不同、数据不同的报文,然后又一个个消失了!
我们通过调用简单的软件接口,实现了对报文复杂操作的控制!
核心原理,请参考我们的《HIL第33讲,软件调用软件的原理介绍》。
详情效果,可以参考下面的视频。
在实际做的时候,对程序框图做了略微修改,将ID修改成了10个,周期改成了10~100ms,发送持续了5s才开始删除ID,如下图所示:
![79b5452a0d84e9a231278e1a938ebfc5.png](https://img-blog.csdnimg.cn/img_convert/79b5452a0d84e9a231278e1a938ebfc5.png)
我再回过头,去看看曾经让自己沾沾自喜的《总线架构13讲》,内心对自己充满了深深的鄙视。。。
总线架构13讲,LaBVIEW独立控制周立功CAN卡多个报文周期值
03
划时代意义
师子一号也是见过世面的,也是有身份证的人,区区一坨软件代码,绝对不会让我如此兴奋~~~
如果我兴奋了,那一定是非常爽!
![85bb710d8cd2e01685a8a89dcd4267e5.png](https://img-blog.csdnimg.cn/img_convert/85bb710d8cd2e01685a8a89dcd4267e5.png)
从此以后,我再也不用去做Labview调用CAN盒硬件DLL的事情了,动不动就崩溃,还需要查bug,而且对于高级功能的支持,特别差,实现起来特别复杂,特别耽误时间。
通过寥寥几句代码就能实现,复杂繁琐的部分,让上海同星智能的TSMaster去搞定,多好?
活干得这么漂亮,边界这么清晰(不会扯皮),这样的供应商,去哪里找?
况且,同星的TSMaster还兼容多个厂家的CAN硬件,而我们只需要做一种调用就行了,这可真香啊~
当然,上面这个例子只是控制报文的发送,还没有牵涉到对信号值的控制。信号值的读写也很简单,通过调用TSMaster的接口,实现起来也非常容易~~~
04
应用举例
高吞吐量数据处理测试
TBOX需要转发大量的报文信号,我们要检测TBOX处理性能,就要给它模拟发送大量的报文。
这些报文的ID、周期、DLC、数据格式可能还都不一样。
我们迫切需要一种简单易行的发报文的办法,并且在报文发送搞好之后,还要按顺序做一些别的自动化check工作,这种情况下,使用同星的TSMaster,配合Labview,是一种特别简单高效的办法~
诊断测试
我们通过Labview,可以制IO板卡,去模拟硬件的短路断路。
然后,更牛逼的是,Labview调用Tsmaster,它还可以直接发诊断命令,按服务代号进行发送,然后直接获取诊断返回数据,简单得很,复杂的部分,全部封装在TSMaster里面了。
这,使得我们在Excel文件的基础上,跳过CDD文件,直接跑诊断测试,成为了可能,而且非常方便。
CAN一致性测试
CAN一致性测试,分为物理层、链路层、应用层。
物理层和链路层,没啥可说的,按照11898,一步步操作就行了,Vector可以搞定,周立功也可以搞定。
比较麻烦的是应用层,因为牵涉到网络管理、总线安全策略、总线监控策略等等,千动作比较复杂。
用CAPL是可以实现的,但是非常痛苦难受,如果一直用CAPL,只能说明工作不够用心~
用Labview调用TSMaster,发送大量不同周期的报文,简直太方便了。
用Labview停掉其中一个或者几个ID,也是很方便的。
停掉某几个ID之后,再用Labview调用TSMaster,获取诊断故障状态,也是很简单的。
Labview是可以调用CANoe的,如果需要用到Vector的CANstress做干扰,也是方便得不要不要的。
集思广益,发挥每一种事物的优势,集成成为一个很好用的东西,多爽?
05
分享源码,集思广益
需要文中Labview源码的朋友,请将本文转发至贵司部门或者科室群,换取该源码
留言有奖
另外,上海同星智能委托我们,汇总汽车总线测试领域的需求,如果他们现在的软件API没有做进去,那他们后续将在的版本升级中添加进去。
朋友们可以在文末留言,留言信息要完整,表达清楚您希望TSMaster帮您搞定什么事情,让他们去做。优质的“需求”留言,一经展出,即奖励5元现金红包。
老习惯,到时候我们会开发一些配套的Labview源码,免费分享给大家。
【推荐阅读】