找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 4379|回复: 5

请教 如何从主程序终止正在运行的子vi?

[复制链接]
发表于 2007-6-14 10:15:29 | 显示全部楼层 |阅读模式
我的子vi运行时间比较长,而且是不进行界面显示的,这时候主界面就不能响应任何操作了,有没有什么方法能让子vi又在运行,主界面也相应用户操作呢?
主要是能在主界面终止正在运行的子vi
非常感谢!
发表于 2007-6-14 11:54:52 | 显示全部楼层
子程序独立运行:需要用vi server技术,先用open vi reference打开一个vi的ref,然后用这个ref的一个method:run vi来运行这个ref代表的子vi,在这个method里有两个参数,其中一个是wait until done,你输入false就可以了。。。
main终止sub:就是如何在main中把control boolean传递到sub的问题,或者更普遍点就是如何把parameter传递到sub。。。方法有:1、global variable  2、在synchronization这个subpalatte下的一些技术,如queue、notifier等等
回复 顶

使用道具 举报

 楼主| 发表于 2007-6-15 09:51:46 | 显示全部楼层
谢谢!我先去试一把
btw   2、在synchronization这个subpalatte下的一些技术,如queue、notifier等等,有没有详尽一点的说明或是参考书籍之类的?!
回复 顶

使用道具 举报

gglei1984 该用户已被删除
发表于 2007-6-19 15:33:06 | 显示全部楼层
用VI sever技术来控制子VI 的终止,这种参数从主VI 到子VI的传递比较麻烦,小弟不知道怎么实现,版主说用队列或者通知器的方法解决,能不能给几个例子呢?LV自带的例子好像没有涉及参数传递的问题。
回复 顶

使用道具 举报

发表于 2007-6-19 17:11:35 | 显示全部楼层
兄弟,我没说用vi server来传递参数,不过你一说我倒想起来,这样做确实可以,等下我传个例子。。其实vi  server 在我的理解中,应该就是和c语言里的指针差不多吧,反正这话可能不是很通,但就是这样个意思了。。


附件有点问题,我不知道怎么把stop这个值传递过去,但我传了下Button OK这个,是可以传的,就是stop的传不了,奇怪中。。。
另外,如果在sub的get control value这个method里,把control name这个参数改为waveform chart,以便获取main里的chart数据,但是获得的数据也是错误的,奇怪中。。。。。

[ 本帖最后由 飞雨天 于 2007-6-19 19:27 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 顶

使用道具 举报

gglei1984 该用户已被删除
发表于 2007-6-19 21:46:16 | 显示全部楼层
版主说的:“子程序独立运行:需要用vi server技术,先用open vi reference打开一个vi的ref,然后用这个ref的一个method:run vi来运行这个ref代表的子vi,在这个method里有两个参数,其中一个是wait until done,你输入false就可以了。。。 ” 这种方法好像只是让子VI独立运行,并没有涉及到主程序到子VI参数的传递吧。
版主的例子非常不错,演示了主程序到子VI数据的传递,小弟感谢啊。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-30 13:23 , Processed in 0.050763 second(s), 13 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表