核心1讲,从报文读取功能,看C#库对比python的优势

文摘   2024-10-19 11:48   上海  

师子一号曾经阐述过LabVIEW在汽车电子测试领域的巨大便利性和广阔的应用价值,如下列文章所示:

总线架构13讲,LaBVIEW独立控制周立功CAN卡多个报文周期值

HIL107讲,LabVIEW调用ControlDesk,真香

总线32讲,LabVIEW+ZLGCAN卡最强完整教程攻略[20200302]

LabVIEW技能加持,完美实现,汽车行业复杂测试

总线14讲,基于LabVIEW的DTC故障码自动化测试系统

总线17讲,基于LabVIEW的实车自动化测试系统

总线53讲,基于Python或LabVIEW的AutoSAR网络管理自动化测试系统[详解]

总线22讲,labview调用canoe的教程,倾情奉献

总线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调用,要方便得多。

不信你可以看一下下面这个文章,它是那么地优雅、直观、简单高效,在这个星球上几乎没有比它更简单美妙的实现方式了。


LabVIEW如何调用C#/.NET编译的dll(.net dll)

总结

这也就引出了python的2个缺点:

1、不肯做小弟。要么以我为主,要么尥蹶子不干,坚决拒绝让你方便地通过第三方调用我。

2、缺乏多线程能力(LabVIEW对此表示哈哈大笑)。如果软件需要多任务并行,那你一定要小心分配时序,防止系统崩溃。

但是,话虽如此,师子一号前期已经实现了LabVIEW+python exe的blf解析,运行很好很稳定,也不算慢。

现在看来,虽然不是最佳方案(相比C# dll),但是只要它不出问题,也不再去修改替换它了,以防改出问题来。

后续再有此类需求的朋友,建议直接上LabVIEW + C# dll + cantools,如有问题,欢迎后台沟通,我们一起解决。


【推荐】

总线10讲,东半球最好用的excel2dbc工具,永远免费送

B站上很火的“车载测试”,到底是个什么东东?

恒润和意昂,两扇窗户,看懂行业的过去、当下和未来

总线54讲[2],busoff到底是个啥?

总线42讲,LabVIEW+python在报文离线解析中的应用,光芒照进来


车辆技术
致力于汽车研发测试技术的研究推广,帮助同行互通有无,为提升职业价值感,为产业崛起而奋斗!
 最新文章