师子一号曾经阐述过LabVIEW在汽车电子测试领域的巨大便利性和广阔的应用价值,如下列文章所示:
总线架构13讲,LaBVIEW独立控制周立功CAN卡多个报文周期值
HIL107讲,LabVIEW调用ControlDesk,真香
总线32讲,LabVIEW+ZLGCAN卡最强完整教程攻略[20200302]
总线53讲,基于Python或LabVIEW的AutoSAR网络管理自动化测试系统[详解]
总线44讲,LabVIEW实现OTA全链条自动化测试的可行性分析及演示,为全行业探索铺路
如果要综合比较开发简便程度、开源资料丰富程度、商业及硬件支持力度等方面,LabVIEW在测试领域绝对是牢不可破的第一平台。
折中方案
当然,我们不排除部分功能用LabVIEW直接实现不那么方便,这个时候,我们还可以做软件调用。
软件调用目前总体来说有3种姿势:exe调用、ActiveX调用、.net dll调用。
其中exe调用适用性最广(几乎没有它不能干的),但是稳定性最差,性能最差,通常是个无奈的妥协;ActiveX如果有厂家官方ASAM标准支持,则十分强大(如Excel);.net dll适合自定义调用。
总线42讲,LabVIEW+python在报文离线解析中的应用,光芒照进来(exe)
LabVIEW如何调用C#/.NET编译的dll(.net dll)
在总线42讲中,我们讲述了一种blf海量数据快速解析方法,我们用python生成的exe,先第一时间返回包的数量,然后LabVIEW通过读取包文件的数量,展示解析进度,并最终完成解析。
柳暗花明又一村
就在前天,我们惊喜地发现,C#平台也有和python一样的库,canools,如下图所示:
唉,看来当初还是太迷信python了,以为只有python才有这个库。
当时最起码应该再搜一下C#嘛。
如果早知道C#也有,那就绝对不会去干这种脱了裤子放气的事情了,就不用调用python生成的exe了。
直接调用C#生成的dll库,然后再被LabVIEW调用,要方便得多。
不信你可以看一下下面这个文章,它是那么地优雅、直观、简单高效,在这个星球上几乎没有比它更简单美妙的实现方式了。
总结
这也就引出了python的2个缺点:
1、不肯做小弟。要么以我为主,要么尥蹶子不干,坚决拒绝让你方便地通过第三方调用我。
2、缺乏多线程能力(LabVIEW对此表示哈哈大笑)。如果软件需要多任务并行,那你一定要小心分配时序,防止系统崩溃。
但是,话虽如此,师子一号前期已经实现了LabVIEW+python exe的blf解析,运行很好很稳定,也不算慢。
现在看来,虽然不是最佳方案(相比C# dll),但是只要它不出问题,也不再去修改替换它了,以防改出问题来。
后续再有此类需求的朋友,建议直接上LabVIEW + C# dll + cantools,如有问题,欢迎后台沟通,我们一起解决。
总线10讲,东半球最好用的excel2dbc工具,永远免费送
总线42讲,LabVIEW+python在报文离线解析中的应用,光芒照进来