关于Labview 2012中VI的可重入性修改
如题今使用子Vi的重用,先用版本为Labview2012发现子VI的属性-可执行性中变为下图这样,想问问这个跟以前的相比如何使用,什么情况下可改子VI的重入性为可用和不可...
如题
今使用子Vi的重用,先用版本为Labview2012 发现子VI的属性-可执行性中变为下图这样,想问问这个跟以前的相比如何使用,什么情况下可改子VI的重入性为可用和不可用 展开
今使用子Vi的重用,先用版本为Labview2012 发现子VI的属性-可执行性中变为下图这样,想问问这个跟以前的相比如何使用,什么情况下可改子VI的重入性为可用和不可用 展开
1个回答
展开全部
举了例子吧。编写如下vi
其中中间调用的两个vi是同一个vi,功能是延时1000ms。
按默认设置执行程序的话,总体输出x-y为2000ms。这是因为为了避免地址内数据的混乱,labview会执行完其中一个vi才会执行另一个,执行的先后顺序是随机的。
如果将延时vi的属性设置为“共享副本重入执行”或“预先分副本重入执行”时,再执行程序,发现程序变化为原来的1000ms了。
这是因为:labview在不同的地方调用一个可重入vi时,会给它另外分配一个独立的数据地址空间。这样就做到了线程安全。在两个线程执行的子vi使用两份在不同的地址存储的数据,也就不会造成混乱。
vi的可重入性不会使程序运行变得杂乱无章,但是也增加了内存的消耗。相当于重入调用的多个vi占用了不同的空间。
更多追问追答
追问
这个我了解,但我用的Labview2012 这个选择没啥用,都是2000ms.再问一个你可有用Labview做过串口通信,驱动有吗?
追答
我用的也是2012,你要改被调用vi的属性不是当前运行vi的属性。
串口通信需要安装visa530full.EXE,因为我这网速不行,800多M不好传。你可以自己去官网上下。直接搜visa530也行,注意版本不要太低。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询