LabVIEW操作者框架(ActorFramework)范例
学习软件框架,特别是学习与掌握难度大、复杂性高,且尚处在不断演进变化的LabVIEW操作者框架(ActorFramework),离不开关键的各类范例的研读、模仿转换和工程实用。
NI官方以及开发者社区,为LabVIEW操作者框架(ActorFramework)这个在LabVIEW图形化开发环境中,开发能力最为强大的多任务并发框架,提供了诸多的项目快速模板和多种范例例程。
在这里,我将操作者框架的相关例程做一个统一梳理和汇总,方便各位小伙伴们在学习中按图索骥,从而少走弯路和节约时间。
LabVIEW操作者框架(ActorFramework)的范例按其出处来源分为下面几类:随系统所带的范例例程,NI官网社区论坛中的范例,讲解视频配套的范例,技术交流大会演讲范例附件、VIPM(VIPackageManager)中范例模板。
由于操作者框架的范例非常多,单用一篇文章的篇幅是肯定讲解不完的,因此我先按照上面的范例出处分类写一个系列文章,本篇就是范例的首篇,就先讲一下随LabVIEW编程环境系统所自带的范例例程。
也希望大家多多支持捧场,不要系列文章再烂尾!
1。项目快速模板和范例例程
快速应用框架模板程序搭建一个可试运行的小型应用程序,以便让开发者迅速的对操作者框架有一个整体的感性认知,并可以在此模板基础上进行定制化修改来完成自己的特定任务目标的应用程序,避免从零开发的繁重开发任务,这就是LabVIEW开发环境提供的ActorFrameworkTemplate(操作者框架模板)的目的和意义,如下图所示,该快速应用模板的入口点如图中编号所示,生成后的项目如图中编号所示,该应用程序运行界面如图中编号所示。
特别需要值得说明的是,该项目的帮助文档(ProjectDocumentation)中有两份质量上佳的技术说明Web网页文档,一份是《操作者快速入门和项目简介文档》,即ActorFramework。html,对操作者框架进行了简要介绍,详细讲解了项目的组成说明,操作者间的嵌套组合与层级通信拓扑关系以及扩展本项目的开发步骤,是一份非常好的快速入门学习资料;另外一份是《操作者框架技术白皮书》,英文文件名为ActorFrameworkWhitepaper。html,该文档主要讲解操作者从队列消息状态机(QSM)到操作者框架的演变过程及背后的设计决策,操作者界面UI的主要开发方式,操作者之间消息耦合的三种方式以及开发实践建议等等中高级内容。
该快速启动模板是最早随LabVIEW2012版本发布的用于推广和演示操作者框架应用的小型程序,适合快速学习与了解操作者框架的并发模型理念和实际应用效果,但是并不是一个可供良好借鉴与工程直接应用的起点模板程序,例如嵌套操作者与上层调用操作者使用的还是直接紧耦合的发送方式,而当前更为提倡的是使用接口(Interface)的松耦合调用方式。
2。FeedbackEvaporativeCooler(反馈式蒸发冷却器)范例项目
在LabVIEW项目创建中,还提供一个FeedbackEvaporativeCooler(反馈式蒸发冷却器)范例项目,如下图所示,该范例项目的入口点如图中编号所示,生成后的项目如图中编号所示,该应用程序运行界面如图中编号所示。
该范程项目(SampleProject)是从很久之前(2010年)操作者框架创建初始阶段,就一直用来演示各种操作者框架理论概念和编程技术细节而特别开发的,因此有着较为复杂的层级逻辑关系和各种示范技术的堆砌,例如ModelViewControl框架设计模式、硬件抽象层(HAL)、操作者之间通信的抽象消息解耦、跳跨任务树的直接通信方式、定时消息循环及程序生成规范等编程技术演示实现,适合各类操作者框架从中学习和借鉴相关技术来应用到自己的工程项目中。
3。LabVIEW开发环境还提供了一系列的操作者范例(Examples)项目
除上述随系统内置的快速项目模板程序和反馈式蒸发冷却器范例项目外,LabVIEW开发环境还提供了一系列的操作者范例(Examples)项目,获得该系列范例的操作方法请参见如下图图示中的步骤示意说明,通过范例查找器程序搜索actor关键词,可以查找到四个关于操作者框架的范例,具体的范例情况说明参见下面的分类说明所示。
ActorsandInterfaces。lvproj操作者与接口项目
该范例是操作者框架采用LabVIEW2020版本新推出的接口类型(Interface)来替代原先嵌套操作者与主调用操作者的抽象消息通信方式,接口方式的解耦更为简洁与便捷。
ActorFrameworkFundamentals。lvproj操作者框架基础项目(咖啡馆项目)
虽然该项目名称中有基础的字样,但是该项目却属于框架中高级的应用范例,程序在一个模拟仿真的咖啡馆下单与制作咖啡的过程,演示示范了动态产生操作者、非层级调用任务树通信拓扑关系管理、自定义地址消息、以及特殊的同步消息等高级操作者概念与技术。
ActorFrameworkasDebugPPL。lvproj操作者框架作为可调试版本的PPL(打包项目库)项目
该项目并非独立运行的应用程序范例,只是提供一个生成构建打包项目的规范,该规范用于保留框架中VI前面板与程序框图,支持桌面执行跟踪工具包(DesktopExecutionTraceToolkit)和实时执行跟踪工具包(RealTimeExecutionTraceToolkit)软件进行消息追踪调试。
ActorFrameworkasReleasePPL。lvproj操作者框架作为发布版本的PPL(打包项目库)项目
该项目提供了将操作者框架库打包为适合已发布项目的打包项目库的生成构建规范,此发布版本特别针对运行速度进行了优化,删除了所有VI的前面版和程序框图,关闭了其调试功能,并删除了对桌面执行跟踪工具包(DesktopExecutionTraceToolkit)软件和实时执行跟踪工具包(RealTimeExecutionTraceToolkit)的所有代码依赖。
啰啰嗦嗦话总结:虽然上述LabVIEW自带了若干范例例程,需要注意的是以下几点:
首先,咖啡馆和蒸发冷却器两个操作者框架项目范例,均是为了展示使用操作者框架的进行多任务开发的强大能力,以及一些诸如定时循环消息、队列分时任务、MVC(ModelViewController)、MAL(测量抽象层)、HAL(硬件抽象层)等技术如何应用的特殊开发场景。因此起点颇高,不适宜以此用来入门练习,但是要想成为高级的操作者框架开发中则是必须要精通这两个范例中所用的各种技术,此外随着2020版本中的接口(Interface)面向对象技术引入,两个例程中的抽象消息通信方式均已过时,所以又特别新增了一个展示接口技术应用的补充范例,需要开发者明鉴。
其次是适合初学者入门学习的快速应用模板范例,该范例有着完整的工程化项目应用模板,简单的三操作者结构和直接耦合通信的方式,因此定位于入门以及了解操作者框架的任务树以及消息传递的概念理解,与实际的工程项目开发还是有着较大的开发转换鸿沟,需要大家慢慢在工作以实际项练手跨越该转换鸿沟。
最后,在实际的工程项目开发中,往往会形成操作者框架的插件(Plugins)开发架构,而进行主体架构调用和底层被调用插件的代码发布往往会使用导打包库(PPL)技术,因此随机案例也是提供了相应的开发范例模板供大家参考使用。
系列预告:下一篇我们将谈谈NI官网社区论坛中的相关范例,敬请期待!
这个冬天除了心爱小狗的陪伴,魔域手游2也不能少在网上看到这样的文案其实小狗是知道自己是小狗的,知道自己和主人长得不一样,但是生活在城市的钢筋森林里,学会了握手,学会了人类表达友好的方式是不是就可以名正言顺的认她做一辈子的妈妈了
又是一个冬天立冬过后,北风,翻起了时光的台历,落叶,那唰唰的细语告慰着,离别的金秋,我在一个午后,捡拾秋的余脉。果香,在树林中逐渐窒息,霜花,封存了秋虫的演唱和弹奏,不愿南飞的鸟儿们,穿梭在光
韩国女明星艳压欧美女星2022英国时尚大奖近期在伦敦皇家阿尔伯特音乐厅正式落下帷幕,除开成功募集到的资金外,到场嘉宾的造型也是可圈可点。首先是亮相红毯的亚洲面孔韩素希,她身穿ReemAcra2021秋冬
欧美娱乐梅根的谎言艾米丽在巴黎,Kaia走秀一。王室受害者梅根的谎言。近日哈里王子和梅根的纪录片登陆Netflix,观众发现梅根在里面多处撒谎,以塑造自己王室受害者的形象。梅根近期纽约活动在里面,梅根说,自己在英国很少穿彩色
白岩松支持00后整顿职场,讨好年轻人挽尊?可惜整顿职场是伪命题白岩松支持00后整顿职场,是讨好年轻人挽尊吗?可惜00后整顿职场是个伪命题。此前,白岩松因不会吧事件被指嘲讽年轻人,也遭到年轻人的嘲讽。最近他表达了对于00后整顿职场的看法,认为不
铬钴镍合金成迄今最坚韧材料科技日报记者刘霞CrMnFeCoNi和CrCoNi在室温(296开尔文22。85摄氏度)和20开尔文下的扫描电子显微镜图谱。劳伦斯伯克利国家实验室供图美英科学家在近期出版的科学杂志
不要乱,量子通信没那么复杂7月底,世界首颗量子微纳卫星济南一号在酒泉卫星发射中心搭载力箭一号运载火箭成功发射。据了解,此次升空的量子微纳卫星重量降低到墨子号量子科学实验卫星的约16光源频率提升约6倍密钥生成
圈子小点,未尝不可,在你需要的时候,有人站出来,就足够了大家好,我是活泼自在的小太阳,大家可以叫我小太阳针尖不大扎人最疼舌头无骨却伤人最深看似鸡毛蒜皮的小事有时压垮一个人的却是根稻草心酸纵有千百种唯有沉默最心酸朋友三千不如知己一人暧昧无
银行系基金为何偏爱固收产品本报记者任威夏欣上海报道银行系公募基金时隔6年又添新丁。近日,苏州银行发布公告称,已收到证监会关于核准设立苏新基金管理有限公司的批复,正式获准设立苏新基金管理有限公司。由于银行具备
搞钱10条建议,让你兜里越来越有钱很多人说,存不上钱,工资太低,其实不是你存不上,而是方法不对。今天给大家分享10条搞钱建议,打破原有认知,突破自己,让你兜里越来越有钱。1敢于尝试不要畏手畏脚,如果心里有一个方向,
奋斗创造伟业煤海深处走出一位特级技师煤海深处走出一位特级技师淮南这座城市,因煤而建,缘煤而兴。一代又一代的煤矿工人为煤矿事业的建设与发展贡献智慧和力量。淮河能源集团煤业公司顾桥煤矿的庞士宝用20多年的奋斗,从一名基层