LabVIEW面向对象的ActorFramework(1)】的更多相关文章

二.为什么要学习面向编程? 面向对象编程,如果将上文推荐的两本书读完后,基本上也就有了答案.从自我产品开发的经验中,理解为可以迅速解决中大型程序需求变化时,在不影响其他程序功能的情况下,能够实现新增功能的快速迭代,方便程序的扩展和可维护. 在NI公司的文档描述中,对于ActorFramework框架优势描述如下: 具备QDSM 设计的所有优势 灵活性显著提高 更多的重复使用VI 降低不同模块之间的耦合性 如果用一句话概括,就是提高编程的生产效率. 三.LabVIEW面向编程学习为什么有点难? 面…
四.LabVIEW面向对象的编程架构:Actor Framework Actor Framework是一个软件类库,用以支持编写有多个VI独立运行且相互间可通信的应用程序,在该类型应用程序中,每个VI即代表操作者(Actors)执行独立的系统任务,操作者本身维持着自己的内部状态,并传递消息给其它的操作者,在LabVIEW编程环境中已经有了一些创建此类架构程序的技术存在,而操作者框架则聚焦于容易学习(相对于其它可能强大的工具而言),够降低死锁和竞争条件,并拥有最大限度代码复用的优点. 加载Acto…
本系列文章主要阐述以下几个问题: (1)什么是面向对象编程? (2)为什么要学习面向编程? (3)LabVIEW面向编程学习为什么有点难? (4)LabVIEW面向对象的编程架构:Actor Framwork 一.什么是面向对象 学习新知识,首先要搞明白定义.关于面向对象的定义,这里引用了百度百科的资料: 面向对象(Object Oriented)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布式系统.网络管理结构.CAD技…
前言 近期使用C++有了一些心得很感悟,这里整理一下. 心得1 如果只会使用LabVIEW写程序,还想要进一步深入程序设计,一定要学习一门文本语言. 什么是会用LabVIEW 会用是个比较笼统的概念. 只要能写一个简单运行的程序叫做会用 能写稍微复杂的仪器控制程序叫会用 能写大中型测控程序也叫会用 这里我认为至少能写稍微复杂的多个仪器联合控制程序,完成基本的测控系统应用叫做会用LabVIEW,用时间评估来说,使用LabVIEW作为主要编程语言至少工作2年以上. 什么是深入程序设计 写LabVIE…
前言 小黑结婚回来第二周了,每天忙于程序设计,时间比较紧张,所以文章一直没出来,也算憋大招了. 近期小黑将与大家一起认识一下ActorFramework,既是对自己一段时间写AF程序的总结,也是梳理,希望能勾起大家对AF的兴趣. 在第一个文档中,我们先来理解一下AF的概念,以及它的来龙去脉. 正文 如果你已经使用LabVIEW编程2年以上,你将不可避免的会接触到生产者消费者,不可以避免的会设计属于自己QMH系统,甚至为解决多线程中的数据通信大费周折. 在程序只有个位数线程的时候,你会欣喜于自己可…
前言 在上一个文章中,我们介绍了一下LabVIEW中AF的基本概念,本讲将以上一次的例子来讲解LabVIEW中的实现 正文 范例说明 假定两个人,一个作为老师,一个作为学生.学生每天早上给老师发送一封邮件,而老师给其一个反馈 这里将有这样一些沟通的要点: 1. 学生通过邮件沟通,并且一旦发送邮件,会话即开始,无法停止 2. 老师收到邮件后即进行对应的动作 3. 老师收到邮件后必然会反馈一封邮件 4. 学生可以在任何时候接收返回的邮件 5. 学生将不再存在一直阻塞等待的问题 通过这个例子,我们理解…
前言 有很多人对LabVIEW OOP存在比较极端的看法,大致分为两类: 1. 绝对否定派认为LabVIEW OOP只不过是LabVIEW为了追求时髦,在面向过程的基础上用簇做了一些特性,实际上完全不必学习 2. 绝对肯定派认为LabVIEW OOP非常好,能解决所有项目中遇到的问题,如代码很难维护,拓展性非常不好等 上面两种观点都有所偏颇,实际上,能在在特定情境下解决特定问题就是好的,工程问题,讲究的是:不管黑猫白猫,能抓老鼠的就是好猫. 既然LabVIEW OOP出现且发展多年有越来越多的人…
牢骚太盛防肠断,风物长宜放眼量. 一.引子 昨天的文章,本来就是想写写ActorFramework的教程内容,结果写着写着偏了,变成了吐槽. 首先,声明一下,自己从未参加过任何LabVIEW培训班,也未参加过官方培训,就是一个草根使用者,说的感受也是在工作学习环境中的一些感触而已,当然,各位看官也可以理解为,这是我个人片面.局限.狭隘的观点. 对我来说,labVIEW 就是一个工具,还有C#.Dotnet.PLC.单片机以及各种仪器设备,都是围绕公司业务的需求,随着不同开发阶段的演化,进而改变个…
前言 任何一门工具,当你使用它到极致的时候,往往都朝着这样子的两个方向发展 1. 具有鼠标操作功能的软件,他的使用的极致就是脱离鼠标,迈向键盘 2. 主要是键盘操作的,他的极致就是脚本自动化,或者说一键生成 不信?可以打开Word,Excel ,Photoshop等软件,体会一下专业软件在快捷键和脚本方面的强大功能吧. 正如许多软件一样,LabVIEW也有丰富的快捷键,用过LabVIEW的你是否真正了解过他们呢? 本节小编将扒一扒那些让你相见恨晚的LabVIEW快捷键,扒一扒你不曾了解的LabV…
随着LabVIEW的类编程应用增多,当打开较多的VI进行编辑时候,添加该类对应的VI方法到程序后背板上操作显得繁琐(需要在Project浏览器或类浏览器或库浏览器中找到该类的方法VI,然后再拖到程序背板中).而其他开发环境(例如VisualStudio)有很好的智能感知功能,通过类实例可以快速识别类对应的方法,以供开发人员快速选择,以提高开发效率. 这里介绍一个MGI提供的插件工具Class Method Browser,在目前的LabVIEW 开发环境中,提供这样的功能.开发人员在程序背板中选…