如何通过子Vi的动态调用实现不同程序模块的调用
在同一界面上组合几个功能模块,通过布尔控件实现对不同功能子VI实现调用,如何用Application control面板中的Open VI Reference、Call By Reference Node、Close Reference,这些节点实现此功能,请各位老师给于指点,最好能有例子,谢谢!
我自己试着做,但Open VI Reference的vi reference输出不能连在Call By Reference Node输入接口上。 自带的例子有很多吧,你先看看学习,改天再给你看几个经典的. 有自带的例子吗?我还真没发现,给个线索吧,我就不必在那试来试去了,有时候问题看似简单,可没人帮忙指点,这窗户纸就是看不透 Call By Reference Node这个vi的输入reference是需要严格数据类型的(不知道怎么翻译。。原文忘了),你注意下。
我下了班以后给你传个例子
[ 本帖最后由 飞雨天 于 2007-1-15 18:53 编辑 ] 老大,我现在还是发展中国家呀!呵呵,你的8.0版本做的例子我打不开呀,:( 我只有7.0版本,如果方便的话能不能给转换一下.另外我看了一下别人的例程,我发现也有人通过调用子Vi的Property Node的方式实现功能模块的调用,这些方法有什么不同吗?另外我看实现调用子功能模块的方法很多,具体采用什么方式有没有什么章法可循呀,什么方法更好一些,我找不到比较系统的介绍,所以至今是一头雾水,周围又没人会,只有我自己摸索,如果不是有这个论坛帮我答了很多疑问,我真是无计可施。
回复 #5 tigerzxl 的帖子
不好意思~~我以为我用8.0应该是非洲国家了,哪知道还有兄弟挣扎在7.0上,不过我只能保存7.1的,你看下是否能打开?
其实你的关键应该是open vi reference这个vi的type specifier vi refnum这个端口没连接。。
至于我的程序,也就是铁道出版社的labview7.1教材上的程序,建议你去买下这本书,还不错的。
注意:不是广告:L
继续求教
非常感谢!受益匪浅!我按着你的例子,基本实现了我的想法!但出来个新问题,还望指教!为了让你能明白我的想法,示意例子我发上来了,请您看一下结构!我要设计几个子程序,放在一个总框架内,当运行主程序后,通过布尔开关选择不同的子程序执行,有一个问题就是,当子程序调用后,停止子程序时,由于布尔开关的值没有改变,子程序会再次执行!我通过改变布尔开关的执行属性,设为latch形式的,倒也能实现停止,但不知这样做是不是合理,有没有其他的办法,或者说要实现我的编程目的有没有其他的编程方法,还望大家指教 一时脑袋比较晕,只能给你出个昏招。就是在你调用子vi的框图中把你的控制bool再初始化下。
还没你的方法好:L
页:
[1]