LabVIEW论坛
直播中

荣琪

8年用户 689经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信 关注
[文章]

荣小菜补钙记第7期:基于LabVIEW OOP的仪表控制库(4)

``
荣小菜补钙记第7期:基于labviewOOP的仪表控制库(4)
同步更新于 WeChat:荣小菜在补钙
大家好,我是荣小菜,也可以叫我Richie,今天继续分享基于LabVIEW OOP的仪表控制库系列。上一期我们完成了中层设计,本期进入仪表控制库的顶层设计。
1.     顶层设计-仪表设置和查询Vi
上期我们最终建立了一个“仪表操作Core”函数,使得我们可以仅通过调用一个函数对不同种类、型号的仪表实现各种控制。上期回顾展示:
但是这样一个函数是无法也不适合直接交给用户的,主要的原因是它的“消息”簇中“所需数据”是变体类型而不是实际完成某操作的所需具体数据类型。其次是因为该函数很重要,我们不希望暴露它,若是用户不小心对其进行了修改就麻烦了。因此我们需要进一步开发一系列仪表控制、查询Vi。我们将在这些Vi中调用“仪表操作Core”并赋予正确且清晰的数据类型。
2.     举例:信号源_设RF开关.vi
举个例子进行讲解,代码如下,本质上就是调用“仪表操作Core”函数,只是附加了我们在写底层驱动时定义好的具体数据,如“设置RF开关数据结构”。注意,这里的“动作”要与函数功能配套,比如本Vi的功能是设信号源的RF开关,“动作”就要设为“信号源_设RF开关”,这里一定要用输入控件而非常量,因为我们修改“动作”自定义控件(比如增加新动作)后可能导致使用常量的地方变成默认值了。
信号源设RF开关前面板.JPG 信号源设RF开关后面板.JPG

3.     完善顶层设计
上面我们已经写好了一个专门控制信号源RF开关的函数。以此类推,我们继续完善其它控查Vi,最终的工程树如下。到这里其实我们就基本完成了顶层设计,用户只需要去使用以下这些Vi就可以控查仪表,无需关心底层。
4.     总结
本期我们完成了顶层设计,在“仪表操作Core”的基础上开发了一系列仪表控查Vi,这些Vi已经可以交给用户试用啦。
不过,细心的同学可能已经发现了,这些Vi不可避免地需要输入正确的“仪表信息”簇(即型号、类型、IP和TCP Link)才能使用。这就类似我们写串口操作,只有“读写串口”功能却没有“配置串口”等初始化功能。用户可以勉强用,但挺麻烦,还需要自己开发“初始化配置”这类Vi。

因此我们下一期将继续讲如何设计仪表配置函数,来获取必须的仪表信息。

`` 仪表控查工程树.JPG 第6期成果展示-回顾.gif

更多回帖

发帖
×
20
完善资料,
赚取积分