你的29岁在干嘛? |
师子一号第一次接触LabVIEW,是在大三,当时觉得它好复杂,各种操作真反人类,好讨厌。
CAN上位机。用的ZLG的盒子
HIL远程自动化测试平台。用的NI的平台
串口协议。控制的对象为modbus板卡
TCP协议。跟其他电脑通信
调用一般DLL。比如淘宝上买的各种数采板卡
图像处理。比如本公众号的下面的图片,带边缘阴影和淡红色水印,都是自己做出来的,里面用到了很复杂的底层数学处理逻辑
CANDE汽车网络设计平台。用到了很复杂的报文结构体处理逻辑,使得师子一号坚定认为:数据结构是代码的核心
收银软件。用LabVIEW+C#实现,走的支付宝的支付通道。
软件加密技术。用的是LabVIEW直接控制MBR保留分区字节,以及对BIOS的控制技术,使用了自己开发了一个DLL。
PID仿真及控制。
对ActiveX的调用。调用Excel,实现形形色色的自动报告格式
汽车UDS诊断。
汽车NM网络管理。
汽车BOOTloader。
示波器数据的获取和分析。
前面板控件自动布局。这个是Labview的软肋,缩放几次就扭曲了,所以我自己做了个程序,自动识别前面板大小、各个控件的大小及在前面板的坐标,从而实现动态自动布局。不过,一般而言,我们使用labview的目的是实现功能,对界面的美观度要求一般不高。
公司卖给客户的电池系统,在充电的时候出问题了,有点小故障,需要出差去排查一下问题。
但是客户的通信协议有点特殊,公司现有的上位机解析不了,没法定位问题。
这个时候,你作为系统负责人,如果懂得如何解析通讯矩阵,懂得如何开发一些简洁直观的上位机,你就更能把这个质量问题搞定!
电池系统的CAN通讯,往往是大量的id,用来表达N个电池单体的状态,有的甚至是multiplex类型的复用报文。
于是,凭借着在labview二次开发CAN通讯方面的优秀技能,你在去客户现场的路上就做好了全套的软件工具,到了现场分分钟定位到了原因。 |
然后你凭借着这个贡献,获得了当年的优秀标兵。
技多不压身,这个时代需要的是复合型人才,这样的人才在当代社会中更能抵御职场动荡。
项目接口人丢给了你一份blf文件,说这是从实车上录制下来的报文,让你去核对一下它和设计文档的区别,看看这个车上的各个网段中,哪些控制器多发了、少发了、错发了……
这绝对是一个让人抓狂的事情,在汽车电子测试领域,这是一个巨大痛点。
从CAN总线诞生近30年来,特别是最近10年来汽车电子电控飞速发展,车上的ID越来越多,管控越难越难,从来没有人能高质量、低成本地完成这个事情,行业最优秀的供应商,也鲜有搞定这个事情,几乎无解!
传统的做法是怎么样的呢?
第一步:在CANoe中打开这个blf,然后run一下,统计出各个网段的ID实际属性,比如周期、DLC、ID等等。
第二步,打开通讯矩阵文件,一般是excel。然后肉眼观察,CANoe里面的ID清单,和通讯矩阵中定义的是否一样。这一步非常麻烦,非常难受~
这个工作实在是太不好做,以至于相当多的工程师,就只查看最近一次设计变更有没有实现,就算完事了。比如某个控制器新增了一个id,就只查看这个id有没有发出来,就算完事了。
窃以为,这样做有一丢丢不负责任。。。
优秀的你,会怎么做呢?
你可以用LabVIEW,花了7天时间,自己开发了一个工具,读取dbc和blf文件。提取其中的信息,就能实现了二者的双向核对,并且自动出具格式精美的测试报告。
完美识别各个网段的多发、漏发、错发,2分钟即可自动分析完成。
不查不知道,一查吓一跳,借助这个用LabVIEW开发的工具,你甚至会发现了好几个很早就存在了的问题。
有好几个网段、ID都和设计状态有出入……
然后由于这项贡献,你被大领导重重地表扬了一把,心里美滋滋的。
从此之后,这个行业痛点被彻底搞定,公司内部这个业务方向归你占有。
公司的试制样车,新开发的网关死机,再也不工作了。
网关供应商也承认是质量问题,并保证抓紧整改。
可是,车型计划不等人呀,当务之急网关缺件。于是项目组决定,临时去买个网关快速原型回来装上,并紧急申报预算50万。
公司的HIL测试工作,急需协同、横向配合,需要远程操作,避免形成“业务孤岛”、一直不显成绩。
公司的NM网络管理总体采用的是osek,统一要求各个控制器的供应商按照公司发布的osek【企标】网络管理规范予以实现。
但是,这个规范有一些自定义的部分,供应商可能会理解错、做错,而且部分供应商是没有osek协议栈开发经验的,也可能做错。
这就要求你们公司具有osek网络管理功能自动化测试核查的能力,保证对产品质量的控制,确保心中有数。
向供应商询价,购买这样一套工具,对方报价60万,开发周期9个月,且后续如果修改,另行收取开发费。
你们公司前年买了一套高大上的HIL设备,供应商当时说,改一下工程配置、模型、修改一下线束,啥都能测,BMS、VCU、EMS都能做。
但是,改来改去几次之后,设备出了点小问题,质保期也过了,没人管了。
领导想把仓库的一堆第三方板卡用起来,用CustomDevice来实现,做好多套紧凑型HIL,放办公桌上用。
OK,你的机会又来了,因为你会开发CustomDevice,然后你又一次成为了“突出贡献员工”。
那一排紧凑型HIL,整齐划一地站着,跟示威似的,就是你的成绩,你又牛逼了一把。
师子一号对汽车电子测试技术有深入的研究,对各种开发语言均有应用经验,比如python、C#、java、Matlab、LabVIEW,但是最终还是发现,对汽车行业的测试分析工作而言,还是LabVIEW最好用、效率最高。
LabVIEW是汽车黑盒测试领域最优秀、最简单直观的工具,没有之一,它能够让我们的工作轻松得像混日子一样,而成果产出却硕果累累!
LabVIEW的主要特点
图形化编程界面,非常直观、友好,编程不烧脑,debug不烦躁,长期使用也不辛苦、延年益寿。
入门非常简单,试用广泛,所以几乎所有的工控硬件、CAN卡、数采设备,都支持LabVIEW,淘宝上卖的数采板卡,几乎都支持LabVIEW,都会提供LabVIEW的二次开发例子。
网络上的资源、开源库、商业库,非常丰富,非常方便直接拿来用。
上面那些场景中罗列的技能,特别是汽车行业的专业技能,说实话,还是有相当高的门槛的,有若干难点,并且还有一些坑和注意事项。
但是,在师子一号眼里,这都不是事儿,手到擒来,现成的东西。
而且师子一号又特别擅长循序渐进、由浅入深,把复杂的事情简单化,用通俗易懂的方式讲给大家听。
工作中,会说、能表达,很重要。
不过,如果只是说起来头头是道、天花乱坠,好像无所不知无所不能似的,但是真正需要落到实处、需要干活的时候,两手一摊,啥也不会,那就尴尬了,会给人“满嘴跑火车、瞎吹、不靠谱”的感觉。
为了帮助汽车行业的同行,掌握独家技能,打造自身的职业护城河,我特意把“LabVIEW在汽车行业的应用”整理成了一份视频教学视频,共15集(所有视频教程均附带源码分享,并在视频中对源码进行讲解)。
第一节,LabVIEW入门 | 介绍labview的发展起源、行业地位、对高等教育的支持,介绍labview的下载、安装,介绍labview的各个菜单的基本功能以及“项目”、“vi文件”的关系和属性、前面板和程序框图的区别如何理解,labview工具包的安装、exe应用程序的生成。 |
第二节.labview调用modbus板卡 | 通过这个例子,向大家介绍如何通过labview的串口通信,来自动控制或手动控制形形色色的外部设备,比如继电器板卡、程控电源等。本章会讲述以下知识:如何选型常见外设,串口协议的基础知识,控制协议的ascii码解读(01代表什么),字符串、字节数组、ASCII的对应关系理解,软件优化串口的可靠性、labview的事件结构使用 |
第三节.labview对外部文件的读写和处理 | 比如txt文件、Excel文件、二进制文件等等。外部文件可以用于编写各种参数命令或者生成执行报告,能够大幅度增强labview程序的扩展能力,方便提前准备或者事后查看报告。本节将以实际使用为例,重点讲解字符串数据的各种处理方法。 |
第四节.labview做大数据分析 | 本节我们以汽车项目测试任务为例,手把手教大家实现整个开发过程,全自动分析实车报文和理论矩阵的差距,并生成测试报告。 |
第五节.labview调用ZLG的CAN卡 | 调用ZLG的CAN卡,收发CAN报文、解析报文、封装报文、实时保存bif文件。我们本节讲讲如何调用硬件DLL,如何查阅函数手册,这是一项非常重要的技能,几乎适用于一切硬件产品。此外,本节还会讲解子程序的封装和调用、自定义控件的制作和使用,绝对让您大呼过瘾。 |
第六节.labview调用Tsmaster | 讲述如何调用自动化服务器,收发CAN报文。这是一项非常简洁实用的技能,相比DLL,使用起来更加简单,但是却非常实用,它可以使您电脑上安装的多款软件协同配合起来,互相调用,起到1+1远大于2的效果。如果供应商只提供了DLL接口,那您就只能使用DLL了,如果提供了自动化服务器COM,推荐优先使用COM。 |
第7节.labview对excel的高级操作,基于COM服务器 | 比如调整列宽、行高、调整单元格背景、设置下拉选项、以文本格式写入、检测合并格、设置合并格等等,以上操作均为自动化进行,从而生成更加美观惊艳的测试报告,适合给领导看。 |
第8节.labview图像识别和处理,图像二进制的理解和运用。 | 本节将以《车辆技术》公众号文章的插图为例,讲讲如何制作带阴影、带水印的悬浮效果图片(这种图片在《车辆技术》公众号里大量使用)。 |
第9节.方法、属性、引用的使用 | 有了它,我们就可以更加灵活地控制前面板控件的各种行为,非常方便,更加智能和自动化。 |
第10节.labview做一个网站,后台做测试 | 讲述如何使用labview做一个标准化网站,如何通过浏览器,向服务器传递get、post数据,并在浏览器页面实时反馈交互结果。在万物互联的当代,这是一项非常实用的技能。远程HIL、数据协同、设计协同,均是基于这个基础来进行。 |
第11节.数据的自定义编码解码、强制类型转换、各种数值类型的灵活转换 | 1、您可以利用这些技能,把任何合适的数据或者文件,归一化成二进制数据并加密或者解密,有利于保护您的数据。 2、理解各种类型的数据,在字节层面的本质含义。 3、讲讲TCP监听器和侦听器的使用,两台电脑之间如何通过TCP传文件,这是一个很好的例子,理解文件的本质。 |
第12节.专业技能,labview做HIL自动化测试二次开发 | 1、源码分享 2、custom device视频教程及源码 |
第13节.专业技能,labview做uds诊断故障读取 | labview做uds诊断故障读取的二次开发,包含多帧报文的拼装和分析,多帧如何处理 |
第14节.专业技能,labview做网络管理测试 | 源码分享 |
第15节.专业技能,labview做CAN bootloader的实现 | 源码分享 |
跟着我们的教程,您随便做出一个东西来,给公司省下的就不止二三十万。
教程介绍如下所示:
我们这个教程是专门为汽车行业定做的,以汽车测试领域的具体应用案例来展开讲解的,所以特别有针对性,特别有用,可以直接拿去用。
所有源码均分享给大家,并且我们还有微信群,给大家做解答指导和后续技术支持,方便有志于将LabVIEW应用到汽车测试领域的朋友们相互交流学习,共同抱团进步。