`` 同步更新于 WeChat:荣小菜在补钙 大家好,我是荣小菜,也可以叫我Richie,今天继续分享基于LabVIEW OOP的仪表控制库系列。上一期我们完成了中层设计,本期进入仪表控制库的顶层设计。 1. 顶层设计-仪表设置和查询Vi 上期我们最终建立了一个“仪表操作Core”函数,使得我们可以仅通过调用一个函数对不同种类、型号的仪表实现各种控制。上期回顾展示: 但是这样一个函数是无法也不适合直接交给用户的,主要的原因是它的“消息”簇中“所需数据”是变体类型而不是实际完成某操作的所需具体数据类型。其次是因为该函数很重要,我们不希望暴露它,若是用户不小心对其进行了修改就麻烦了。因此我们需要进一步开发一系列仪表控制、查询Vi。我们将在这些Vi中调用“仪表操作Core”并赋予正确且清晰的数据类型。 2. 举例:信号源_设RF开关.vi 举个例子进行讲解,代码如下,本质上就是调用“仪表操作Core”函数,只是附加了我们在写底层驱动时定义好的具体数据,如“设置RF开关数据结构”。注意,这里的“动作”要与函数功能配套,比如本Vi的功能是设信号源的RF开关,“动作”就要设为“信号源_设RF开关”,这里一定要用输入控件而非常量,因为我们修改“动作”自定义控件(比如增加新动作)后可能导致使用常量的地方变成默认值了。
3. 完善顶层设计 上面我们已经写好了一个专门控制信号源RF开关的函数。以此类推,我们继续完善其它控查Vi,最终的工程树如下。到这里其实我们就基本完成了顶层设计,用户只需要去使用以下这些Vi就可以控查仪表,无需关心底层。 4. 总结 本期我们完成了顶层设计,在“仪表操作Core”的基础上开发了一系列仪表控查Vi,这些Vi已经可以交给用户试用啦。 不过,细心的同学可能已经发现了,这些Vi不可避免地需要输入正确的“仪表信息”簇(即型号、类型、IP和TCP Link)才能使用。这就类似我们写串口操作,只有“读写串口”功能却没有“配置串口”等初始化功能。用户可以勉强用,但挺麻烦,还需要自己开发“初始化配置”这类Vi。
因此我们下一期将继续讲如何设计仪表配置函数,来获取必须的仪表信息。
``
|