微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 主Vi与子Vi之间的通信以及控制

主Vi与子Vi之间的通信以及控制

时间:01-06 来源:互联网 点击:
一.概述

随着数据通信越来越普遍,越来越多的数据需要通过两个甚至多个Vi来显示,但是对于一个界面来说,大多数情况下我们只需要显示一个主Vi来显示主要的数据,而其他不那么重要的数据只需要通过子Vi来显示即可,然而用主Vi来控制其他子Vi的显示运行与否,以及各个Vi之间数据的通信都显得尤为重要,在这篇文章中我们将研究这些问题。

二.需求分析及软件流程

通过上面的概述我们认识到本文所要做的就是通过主Vi来控制子Vi的运行状态等信息,进行分析后我们总结出本文中研究的主要实现的功能如下所述:

A.给子Vi不停传输数据;

B.子Vi能实时刷新显示数据;

C.通过主Vi可以控制子Vi前面板的打开和关闭;

D.主Vi关闭时子Vi同时关闭.

根据以下将要实现的功能我们对程序的软件流程做了如下规划,如下图所示:



三.程序主要部分介绍

按照上面的软件流程图下面我们分部分对程序的不同部分做一详细说明。

1.主Vi程序

(1)主Vi界面及功能说明

主Vi通过循环产生一个循环产生随机的0-10之间的整型数据,转换成字符串,然后通过队列发送给子Vi,并可以通过前面板的两个按钮sub1和sub2的点击来控制两个子Vi的前面板的打开与关闭,同时点击停止按钮可以停止所有程序运行



(2)主Vi后面板程序说明

主Vi的后面板全部程序如下图所示:


下面对程序中主要部分做一详细说明:

A.数据产生循环:该部分通过循环产生随机数并给两个子Vi所对应的的队列,其中第二个将数组给该队列;


B.传输数据并控制子Vi前面板:通过队列输出将数据传递给子Vi;当sub2按钮鼠标按下鼠标释放时事件结构相应,将当前路径下的sub2.vi的前面板打开或者关闭(这要看以前是打开还是关闭,当然初始时关闭);当按下停止按钮时通过条件结构给子Vi一个特别的数值111,让它在接受该数值后停止并关闭。




C.给另一个子Vi传输并控制:该程序与上面的程序类似,不再多说,直接上图


D.程序的初始化:在程序开始时给停止,sub1和sub2按钮的信号值赋false,以便出现误操作。

2.子Vi程序

(1)子Vi前面板:前面板只是一个用于显示传输过来的数据的字符串输出控件


(2)子Vi后面板程序:该部分显示子字符串,但后面板的程序主要部分是用于操作子Vi的状态,当主Vi的停止按钮按下时传来111的数值,然后在条件结构中停止运行该子Vi,并且通过内嵌的条件结构将子Vi的前面板在打开的情况下先关闭前面板再停运程序(若未打开则直接停止子Vi运行即可,因为此时添加关闭前面板的程序会出错)。


四.运行效果

运行主Vi程序,在打开一个或者两个子Vi前面板情况下或者不打开的情况下,我们都能正常关闭主Vi,并可以通过主Vi的两个按钮控制两个子Vi前面板打开与否的情况,如下图所示:


五.展望

对于子Vi之间数据的传递以及相互控制还可以通过全局变量,以及通过Vi引用调用属性节点的方式可以获取其他Vi的控件的值,对于这部分本人知之甚少,而且用哪一种方法更有效率更可靠也未能深入研究,希望大家能发挥自己的主观能动性尝试更多更有效率的方法,并提出更多宝贵的意见,便于编出更完美的程序。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top