NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

如何合并程序

已解决!
转到解答

前辈们好:

      我现在有采集和回放数据两个程序,如何将他们合并到一个程序里?

0 项奖励
1 条消息(共 5 条)
5,162 次查看

 楼主的问题都让人很难回答,包括以前那个“如何转换为可执行文件 ”

 

你是我的偶像。


0 项奖励
2 条消息(共 5 条)
5,148 次查看
解答
已被主题作者 adan_516 接受

方法一: 

【1】连接

新建第三个“程序”,"*.vi"。然后利用前面两个Vi的静态应用使用Vi方法节点将其启动。此时,使用第三个Vi就可以把前面的两个vi启动。

【2】通信

这个难点,但途径也很多。程序的,使用队列、消息等等。笨一点通过文件,那边存好,这边再读出来。

 

 方法二:

为什么不直接把他们写在一块?听来来不是一个复杂的程序。

1、首先用序列框,将程序分为两个块,第一个用来初始化参数,第二个就是工作区域;

2、工作区域内可以设置两个主循环:其一,用于数据采集;其二、用于回放数据。

2.1数据采集,不知道你会使用什么设备,但LabVIEW中所有的数据采集都大同小异。Buffer形式的数据包在采集之后还有繁琐的解析信号拼接等工作,建议编写子VI或者使用更多个采集循环。

2.2回放数据?不处理吗?实时回放还是采集一百年后回放?当是一个实时“回放”时,与前面的数据采集形成“生产者-消费者”结构,使用While循环。如果是有用户界面的回放,使用事件结构。

 

注释:

1、界面,两个程序的界面怎么合并?

答:没有这种说法!Vi的后面板一定是程序,但前面板却不一定是界面,甚至都不需要它显示,所谓界面就是数据的一种表达方法和人机的接口。 两个程序需要一个综合显示的界面,那么就把相关的数据引入其中一个打算使用其界面的程序,或者是第三个专门的界面程序中。

2、常见的工作线程?

答:While“死”循环和事件结构。 这些线程没有必要非得在同一个文件里,但你也可以把1000多个工作线程同时放在一个文件里。只要能够达成这些工作线程之间的通讯,就可以使整个程序有机工作起来。所以,线程的通讯手段是基本功,如果从来没有用过,那么就告别LabVIEW去Turbo C里玩儿吧。文件内的,然后是文件间的——都试试。然后你就为自己提的问题会有千百种解决方案了。

 

3 条消息(共 5 条)
5,142 次查看
呵呵!谢谢您的夸奖!我会在您的崇拜中成长起来的,到时候就不用当你偶像了!
0 项奖励
4 条消息(共 5 条)
5,130 次查看
谢谢您的谆谆教诲,受益匪浅啊!
0 项奖励
5 条消息(共 5 条)
5,129 次查看