显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

LabATSS

关注自动测试软件

 
 
 
 
 
 

十年一遇的一本LabVIEW编程图书!

2017-7-8 21:53:41 阅读19 评论0 82017/07 July8

临近学生暑期,全国各地最近纷纷又进入了“百年一遇”的汛期;其实个人生活中,倒也没有那么多的大时间跨度事件,往往是错过了就不会再相遇。但是最近,我在亚马逊中国电商网站上,咬牙剁手买到了一本属于我个人真正十年一遇的图书——《LabVIEW Graphical Programming (Fourth Edition)》英文原版书,该书出版日期为2006年的7月份,整整花了我十一年的时间才与它相遇成功,而此事的起源还要从我和LabVIEW开始相遇讲起。

2001年底,所在单位开始加大对外商业校准服务力度,还依稀记得:当时的主要被测仪器设备对象为美国安捷伦(原惠普HP)公司的8960A和德国罗德施瓦茨的CMD55 、CMU200等手机综测仪,由于外商要求“按照原厂性能校准报告的数据测试点(往往数十页)进行校准服务”,并且外商手机产线上同规格需校设备数量众多,而常规的人工手动操作模式由于测试速度慢、耗时长、疲劳后易出错、数据报告延时出具等弊端为客户不能容忍,随着移动通信商业校准测试市场的快速增长,迫切需要进行自动化测试程序的开发,来替代低效的人工手动测试模式,并完成我们贪婪的商业利益目标。

首当其冲的,就是面临着一个编程语言的选择问题,由于身处仪器测试与测量行业,能够接触到的编程语言主要有传统文本型,如Visual Basic、C语言,以及图形化编程环境HP VEE和LabVIEW,由于自己使用C语言开发过小型的频率参数日波动自动测试程序,对文本语言的开发效率,特别是界面编程非常恼火与头疼,因此文本语言统统被踢出局!

就只剩下两款图形化编程语言HP VEE vs LabVIEW 。

作者  | 2017-7-8 21:53:41 | 阅读(19) |评论(0) | 阅读全文>>

在以前一篇博客(LabVIEW NXG 又是个什么鬼?!)中我费了老半天劲,才总算搞明白了LabVIEW NXG中NXG所代表的具体意义,既然NI公司全新推出的虚拟仪器编程环境软件—NXG版本代表着未来,并将最终替代目前的LabVIEW序列,那么几年后未来的虚拟仪器编程会变成什么样子呢?

本人首先不是神仙,无法掐指一算就能告诉给你答案,其次也不是NI公司的研发总监,可以提前泄露公司的内部的研发计划,本大叔只是奋斗在一线的苦逼测试工程师一枚而已!其实解铃还需系铃人,LabVIEW NXG的未来样子还是需要从图形化虚拟仪器编程的起源,今生和未来技术发展路线来推演。

起源

1976年,NI公司从生产IEEE-488程控卡创业开始,在为客户提供硬件产品的同时,也提供仪器测控软件系统集成服务,那时候的测控主流编程语言是Basic语言和C语言,在与客户共同解决专业领域问题时,公司的创始人Jim Truchard和Jeff Kodosky博士发现了客户的痛点问题:科学家和工程师们并不喜欢学习及使用繁琐复杂的文本语言来完成他们的测控工作,于是开始思考是否能有更好的编程方式来完成这类测控仪器类程序的编写开发,后来受电子表格软件和苹果公司的图形化操作界面的启发,在Jeff Kodosky的带领组织下将数据流流程图结合集成电路硬件层级网络思想改进为结构化数据流编程模式,以图

作者  | 2017-7-2 10:17:01 | 阅读(30) |评论(0) | 阅读全文>>

引言:2020年五月末的一天,早早就座于美国奥斯丁五星酒店会议厅第三排的你,怀着紧张而又兴奋心情,等待着演讲嘉宾的到来,大厅前四块巨大的幕布投射着“NIWeek 2020”的明亮彩色艺术字体,手机“嗡嗡”两声震动提示着微信有新信息的到来,你迅速的划开手机上《阿凡达 2》预告片的屏保查看起来,原来是同寝室的徐良问你:“看见LabVIEW之父了吗?一定要找机会合个影啊!”,“还没呢,不过马上就要开始了!”你迅速回复了他,不禁回想起去年同为大三学生的你们两个,一起报名参加NI公司举办的“2020世纪之会大学生虚拟仪器挑战赛”,你采用微软公司的Hololens增强现实硬件系统结合LabVIEW NXG 4.0开发了虚拟现实远程测控程序诊断方案一举获得挑战赛特等大奖,赢得了这次2020 NIWeek的免费美国之旅。

舞台上一阵欢快的爵士乐响起,把你从回忆里拉回到了现实中,“有请LabVIEW之父Jeff Kodosky博士做主题演讲”在浑厚的男主持人的声音中,你不禁和在场的三千名虚拟仪器的狂热爱好者一起鼓起了热情的掌声,舞台中央白发苍苍的Kodosky博士潇洒的对着台下挥挥手,微微轻咳了一声,“三十四年前,我们推出了LabVIEW 1.0 ,为科学家和工程师们带去了非同一般的编程方式:图形化编程语言,伴随着它的成长,是你们在不同的行业和领域不断的送给我们惊喜,四年前,我们重新回归本源,为大家带来了全新的LabVIEW NXG版本,这段时间以来NXG 带来了更大的成功,它帮助NI的营收收入得到迅猛的提升,并且功能上完全能够替代原先的LabVIEW序列,因此,我正式的宣布 LabVIEW

作者  | 2017-7-2 9:51:57 | 阅读(14) |评论(0) | 阅读全文>>

LabVIEW代码样例

2017-6-22 17:58:57 阅读27 评论0 222017/06 June22

测试数据后处理辅助工具软件是为完成多厂家导航基带芯片比对测试的数据的归总、判读、结论报告生成功能而快速开发的辅助类工具软件,由于导航基带芯片测试分为几大类测试,如基础性能测试、动态性能测试、高低温环境试验测试等,不同种类的测试生成的测试数据种类繁杂,有SQL Server的数据库测试结果集合,有用文本文件(TXT)和电子表格(Excel)表示测量过程的文件,还有手动测试需要整理录入的原始纸质记录,这些都需要进行统一后处理,评估结果量值并按统一的证书(Word)报告模板给出数据数值和最后的意见结论。

测试数据后处理辅助工具软件编程框图为标准的状态机设计模式,由于主要功能是从不同数据类型文件格式中抓取所需要的测量结果,因此设计上采用简单处理模式,直接将事件结构嵌入到“idle”状态处理情况中,根据界面按钮触发来改变状态后调用数据获取VI,将数据保存在数据簇,从而完成相对应的数据结构后处理。最后统一完成数据判读量化算法VI及报告生成VI。

程序中还使用了应用报告生成器(Report Generationg Toolkit)及数据库连接(Database Connective Toolkit)两项LabVIEW工具包软件完成对电子表格文档和数据库文件的数据读取功能,手动测试数据录入开发了一个简易的状态机数据录入窗口,完成数据保存/回读至文件的要求。

测试数据后处理辅助工具软件简要数据统计:该系统一共编写了38个VI,其中主程序Main.vi的调用的子VI数目为20个。按照NI公司的程序类型划分属于小型程序。该项目的开发时间很短,由于复用了部分在

作者  | 2017-6-22 17:58:57 | 阅读(27) |评论(0) | 阅读全文>>

LabVIEW 实战编程代码库之MMS多通道测量程序

2017-6-19 23:57:27 阅读22 评论0 192017/06 June19

LabVIEW实战编程代码库系列文章都是我个人在日常测试工作和科研项目开发中,使用LabVIEW虚拟仪器编程语言完成实际问题时的解决方案,通过写博客进行文档记录化,主要目的还是个人汇总总结,复盘提高,当然如果你碰到类似问题情景的时候,也可以予以借鉴参考,另外你也可以看看在实战项目中都涉及了那些技术基础点,对了我这里的实战指的都是能挣来白花花银子的工程实际项目应用。

MMS多通道测量程序是为了满足美国迅腾公司生产的多通道时间间隔测量比对仪MMS(配图)的数据采集、分析显示及保存处理的专用测试程序;该程序通过网络接口LAN与设备进行远端程控连接,并使用Telnet网络传输协议将测试数据(时间间隔差值)的文本值采集上来,然后通过相应的数据处理公式进行运算并动态实时呈现给用户,最后完成过程数据、计算结果的数据保存任务。

按照LabVIEW一般的开发模型认知,这是一个比较经典的“配置、测试采样、处理存储”的数据采集程序,常规的处理方式是将大型的功能函数分解成模块,然后顺序编程,循环采样、保存数据即可,但是由于该测试任务为时间间隔测量比对测试领域,其比对测试信号为精准的秒脉冲信号(1PPS),采样间隔严格定义为1s,其中的过程测量数据不能有任何遗漏和丢失,并且在测试过程中需要动态实时的将数据处理结果呈现给用户观测,显而易见简单的单循环测试采样并存储方式不能满足项目苛刻的技术性能要求,这是由于当把采样、数据处理呈现及保存都放置在一个单循环周期内时,数据处理和保存会随着数据量的增大而增加处理时间,从而影响采样周期严格要求的时间特性。

所以,简单且朴素的

作者  | 2017-6-19 23:57:27 | 阅读(22) |评论(0) | 阅读全文>>

LabVIEW 实战编程代码库之铷钟准确度调整VI

2017-6-16 8:38:10 阅读21 评论0 162017/06 June16

LabVIEW实战编程代码库系列文章都是我个人在日常测试工作和科研项目开发中,使用LabVIEW虚拟仪器编程语言完成实际问题时的解决方案,通过写博客进行文档记录化,主要目的还是个人汇总总结,复盘提高,当然如果你碰到类似问题情景的时候,也可以予以借鉴参考,另外你也可以看看在实战项目中都涉及了那些技术基础点,对了我这里的实战指的都是能挣来白花花银子的工程实际项目应用。

铷钟准确度调整VI是为调整带有串口状态回写功能铷钟频率准确度,而简易开发的专用小程序,编写背景情况介绍:客户委托送检的一批铷钟检测发现有部分频率准确度超差,不符合厂商给出的准确度要求1E-10,但是厂商给出了清晰明确的调整说明,通过串口连接铷钟使用十六进制的状态字进行相应的频率准确度调整。

SO EASY,LaVIEW最适合也是效率最高的就是开发这种随用随弃(Darty and Quick)的测控小程序,开发流程从有想法、拖放串口节点函数并按数据流编程思想连线,设置文本常量按照十六进制显示(Hex Display),按厂商要求填入十六进制控制状态字,测试反馈运行,分分钟就完全搞定了全部事情。

这个程序可以算是我LabVIEW实战代码库中最简易的微小程序,简单的都不好意思拿出来给大家看,但是我想,虽然它很简易,可它是一个有用的程序,实实在在的解决了我需要串口通信十六进制状态字的需求,从而高效且准确地解决我手头遇到的问题,有的人会说有多如牛毛的串口助手(或者串口精灵)类工具小软件都可以完成类似的工作啊?!为啥要自己再造车轮子!我想说的是这里蕴含着解决思路的大不同,利用编程语言完成

作者  | 2017-6-16 8:38:10 | 阅读(21) |评论(0) | 阅读全文>>

LabVIEW 实战编程代码库之自动测试调用框架

2017-6-13 21:48:01 阅读57 评论0 132017/06 June13

LabVIEW实战编程代码库系列文章都是我个人在日常测试工作和科研项目开发中,使用LabVIEW虚拟仪器编程语言完成实际问题时的解决方案,通过写博客进行文档记录化,主要目的还是个人汇总总结,复盘提高,当然如果你碰到类似问题情景的时候,也可以予以借鉴参考,另外你也可以看看在实战项目中都涉及了那些技术基础点,对了我这里的实战指的都是能挣来白花花银子的工程实际项目应用。

自动测试调用框架是为了满足我们平时通用射频、微波和基础电参量测试任务而研发的插件式调用平台框架,支持VISA协议栈,可以对测试设备通过GPIB、USB和LAN口进行计算机程控测试;它主要由调用平台架构和插件接口子VI系列两大组成部分,其中调用的核心机理就是插件架构(LabVIEW Plug-Ins Architecture),即通过编程配置VI Server 动态调用拥有统一接口(输入/输出)界面形式的插件程序VI,并将界面显示逻辑、数据报告处理及产生,配置文件保存数据库等全部测试共享功能集成到调用平台之上,从而达到框架逻辑复用的良好效果。而被调用程序VI借助虚拟仪器本身的强大硬件驱动库和自己研发的单点复测队列数据结构,自动数据判定和单位转换等辅助VI工具类软件包,可以快速便捷地完成特定的测试项目(如脉冲波形的上升时间、正弦信号的幅度平坦度、谐波虚假信号测试)研制开发,并且由于插件结构通信接口统一可以很方便的进行扩展,非常适合团队快速开发。

程序整体结构层次分为了四个层次,分别为表示层、调用层、逻辑层、驱动层,其中最上层为用户界面接口(GUI),完成测试条件和相应信息的输入,测试过程数据呈

作者  | 2017-6-13 21:48:01 | 阅读(57) |评论(0) | 阅读全文>>

LabVIEW NXG 又是个什么鬼?!

2017-6-1 20:46:58 阅读62 评论0 12017/06 June1

最近有段日子没有浏览过NI的官方网站了,近日一看,发现其又改版了,整体风格更加的简洁明快,图标多采用时下流行的平面化设计风格,并且与时具进的加大了视频演示比例。在我以往经常访问、重点关注的LabVIEW软件商品详情页中,除推出了新年号版本的LabVIEW 2017外,还并排展示、重点推荐了一款全新的软件商品LabVIEW NXG 1.0,自己接触虚拟仪器也有些年头了,不由得好奇起来,这个NXG又是个什么鬼?!

按照NI的官方介绍:“LabVIEW NXG 是下一代LabVIEW(NXG一词取自NEXT Generation), 初次发布的1.0版本提供了用于交互式采集、分析和可视化数据集的工程工作流程;从而使得开发人员可以大幅地减少使用NI数据采集设备或者第三方台式仪器进行测量的时间。”

单看上段介绍,只能大概了解NI公司推出了一款全新的虚拟仪器编程环境软件,提供了交互式的工作流程来完成测量数据的采集、分析和数据集结果可视化呈现,该环境具备的新特点可以提高自动测试、测量系统的开发效率。但是介绍中的引入的新名词又引起了我新的疑惑:

什么是交互式的数据测量工作流程?数据集结果可视化与原先版本中的各类数据图表控件有何异同?图形编程语言G在新版本中还用不用?现有最新的2017版本和NXG之间的关系又是什么(并行、替代、子集)?

为了搞明白新的疑惑,我又重新踏上了在NI官方网站上的搜寻之路,西方谚语说的一点都没错“好奇害死猫”啊!所有的起源都是从一个小问题开始的…

查找了一大圈才发现NXG的资料要比我想象的少得多,一个非常简短的列表就能覆盖全部网站上的资料:

作者  | 2017-6-1 20:46:58 | 阅读(62) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

北京市 海淀区 天蝎座

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

标签

 
 
数据加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注