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

cancel
Showing results for 
Search instead for 
Did you mean: 

重新启动已停止的多个循环

Highlighted

请问一下,所有循环停止后如何再重新启动所有循环呢?比如我有三个循环,有采集、停止和退出系统三个按钮。使用停止按钮的局部变量来同时停止三个循环,如果我这时再按下采集,希望所有循环又开始工作起来,怎么实现呢?

补充一下:我主要用多个循环实现多线程,其中一个循环是负责显示数据的,采集倒是可以通过事件+状态机等方法重新开始工作,但显示循环一旦停了又如何重新开始呢?

0 Kudos
Message 1 of 8
(3,130 Views)
Highlighted
停止按钮的目的并非是停止循环,而是进入空循环,在循环中加入条件结构,如果停止按下,循环空运行。
陈树学
QQ:276509891 .
EMAIL:CSXCS_366@126.COM
qq群:78561268 80754347 37591940
http://labview.weebly.com/
新书《LabVIEW实用工具详解》已经发售,敬请关注。
0 Kudos
Message 2 of 8
(3,114 Views)
Highlighted

谢谢指教!

我的新问题是:如果我的循环是完成存储数据功能,按您的方法停止时进入空循环,再次采集时进入存储功能框图。这样整个存储循环是放在一个循环中的,而为了提高存储效率,打开文件和关闭文件操作是放在循环外的。这个矛盾应该如何解决呢?(因为我每点一次存储按钮希望数据存储在不同的文件中,因此需要通过在一个循环中动态地建立不同的文件名)

 

0 Kudos
Message 3 of 8
(3,099 Views)
Highlighted
再补充一下,这个存储循环是一个消费者,但并不是任何时候都运行,如果用两个嵌套的循环实现会不会影响多线程的结构?
0 Kudos
Message 4 of 8
(3,098 Views)
Highlighted

1. 你如果要存储不同的文件的话,不是应该再次打开一个文件吗?

2. 循环套在另一个循环里面的话,那么这两个循环应该是在一个线程里面执行的。

District Sales Manager | Shanghai Pudong, China
0 Kudos
Message 5 of 8
(3,079 Views)
Highlighted
我想在程序退出前可以多次进行文件存储操作,这样存储操作需要放在一个循环中。然而打开文件和关闭文件一般需要放在循环外以提高程序执行效率,这样就只能对一个文件进行一次操作(我要求多次写入不同的文件)。
想来想去只想到用两个事件结构的方法,写了个测试程序,但没跑通,能否帮忙看看?谢谢!
Download All
0 Kudos
Message 6 of 8
(3,072 Views)
Highlighted

首先,一般不同时使用两个时间结构,尤其里面还有相同的事件。

然后,对于您的应用,改了一下程序,专门使用一个循环在那里进行存储,使用局部变量来控制存储的文件和数据等。

 

 

District Sales Manager | Shanghai Pudong, China
0 Kudos
Message 7 of 8
(3,054 Views)
Highlighted
冒泡
0 Kudos
Message 8 of 8
(334 Views)