前言 大多数写LabVIEW程序的工程师都不是一个纯软的工程师,很多做硬件的.做机械的.甚至学化学的也会学习LabVIEW. 由于主要重心不在软件,所以LabVIEW程序基本上能用行,也就得到入门容易的称号. 然而,当程序规模逐渐扩大时,没有软件设计思想的辅佐,采用画框图方式写程序便慢慢显得力不从心,甚至有的人称LabVIEW程序画不出来或干脆断言LabVIEW做不了大程序. 其实,对于我们大多数非软件工程师而言,所认为的大程序在软件行业基本属于中型或者更小的程序.满足测量测试领域的非大型平台类…
前言 有很多人对LabVIEW OOP存在比较极端的看法,大致分为两类: 1. 绝对否定派认为LabVIEW OOP只不过是LabVIEW为了追求时髦,在面向过程的基础上用簇做了一些特性,实际上完全不必学习 2. 绝对肯定派认为LabVIEW OOP非常好,能解决所有项目中遇到的问题,如代码很难维护,拓展性非常不好等 上面两种观点都有所偏颇,实际上,能在在特定情境下解决特定问题就是好的,工程问题,讲究的是:不管黑猫白猫,能抓老鼠的就是好猫. 既然LabVIEW OOP出现且发展多年有越来越多的人…
class Ren { private $name; private $sex; private $age; //年龄必须在18-50之间 function __constuct($v) { $this ->sex =$v; } //魔术方法set function __set($n,$v)//可以给成员变量赋值,括号里有两个参数,第一个参数是成员变量的名称,第二个是成员变量的值. { if($n=="age") { && $v<=) { $this->…
前言 在之前的文章提到了如何学习OOP以及对应的简单工厂模式,由于时间比较长,我们先回顾一下原有内容,然后继续了解新的模式. 为什么学习OOP 在测控系统的软件开发过程中,LabVIEW工程师一直认为程序完成功能就可以了,但是随着程序越来越复杂,渐渐发现很多情况下成型系统到后期无法添加功能或很难添加功能. 是什么阻碍了软件系统的开发?为什么在需求沟通不明确的前期,我们无法开发软件:在需求明确的后期,又难以对软件进行灵活修改. 与软件维护类似的情况最先出现在刻板应刷中,那时的古人一旦设计完成系统,…
前言 前几日,小黑充电学习意外的看到了下面的这个东东. 编程许久竟然没有见过这样子的错误枚举,甚为好奇,问刘大后才知道是Error Ring,为此恶补一下LabVIEW中与错误处理相关的内容. 错误的生成 Error Ring Error Ring 的说明 Error Ring可以直接使用LabVIEW 定义好的一些错误或者自定义的错误,其帮助内容如下. 通过选板于Dialog& User Interface下面可以选择Error Ring 通过Quick Drop可以直接放置Error Rin…
前言 上一个文章介绍了如何学习LabVIEW OOP,简要的提及了一些OOP学习中注意的事项,许多文章的读者反映写的太范,后文会逐步缩小范围,讨论在LabVIEW中各个模式的应用. 工厂模式概述 工厂模式属于创建型模式,它是面向对象实例化时候的一种最佳方式.在这种模式中,我们创建对象不会对客户端暴露创建逻辑,通过一个共同的接口来指向新创建的对象. 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行. 主要解决:主要解决接口选择的问题. 何时使用:…
前言 之前的文章中介绍了如何使用QuickDrop来实现快速代码放置,今天我们来详细的聊一下如何进行代码块的快速放置. 正文 LabVIWE程序设计中,我们在架构层级总是进行重复性的编写.举一个例子:大多数的工程师总是先画While循环,然后拖一个事件结构,这一套动作是编程风格形成的固化行为,重复操作意味着重复造车,浪费很多的时间.殊不知,通过快速放置可以快速实现一样的功能,节约很多低效编程时间. 最终实现的效果如下图所示: 代码放置前 代码放置后 设计步骤 下面我将详细的介绍如何实现上述的功能…
前言 LabVIEW程序开发,让我们的程序设计变的简单容易,但是设计过程中也不乏大量的重复性工作,其中最让人头痛的莫过于依赖冲突问题. 事实上,只要你对文件进行了修改或者移动,必不可少的依赖冲突就会产生. 如何避免依赖,或者说设计一个容易移植的程序呢? 本文给大家一个思路,有更好的意见可以共同探讨. 正文 LabVIWE路径依赖的解除有很多方法,今天介绍的相对简单便捷的一种,后续我也会整理整理其他的一些解除方法. 什么是路径依赖冲突 文本语言中每一个函数是只是一个Function,而LabVIW…
前言 通过上一个文章的介绍,我们发现LabVIEW自带的错误管理依旧比较基础,如果需要对错误进行很好的管理,则需要进一步的进行程序编写. 用于在程序设计的过程中,为了保证程序的健壮性,我们需要 1.忽略一些不需要的错误 2.对特定的一些错误做额外的处理 3.将一些有可能为以后工作所需要的错误进行记录 上个文章中,小黑学习了Error Ring,并且了解了错误的一些处理,今天小黑带大家看看SEH错误处理工具包的内容. 什么是SEH SEH的全称是Structured Error Handler (…
封装 1.<1>类背后隐藏的思想是数据抽象和封装 <2>信息隐藏,隐藏对象的实现细节,不让外部直接访问到 将数据成员和成员函数一起包装到一个单元里,单元以类的形式实现 <3>将数据成员和成员函数包装进类中,加上具体实现的隐藏, 共同被称作封装,其结果是一个同时带有特征(比如车的价格 车牌号)和 行为(比如开车 停车)的数据类型 <4>定义类,定义其数据成员.成员函数的过程称为封装类 2.信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因 信息隐藏的原…