LabVIEW论坛
直播中

李文韬

6年用户 25经验值
擅长:可编程逻辑 MEMS/传感技术 测量仪表 模拟技术
私信 关注
[问答]

compactRIO终端上部署的VI如何使用动态引用子VI路径该如何设置?

我在写compactRIO的终端VI,需要引用子VI,但是普通引用会导致子VI的内存无法释放导致最终内存溢出而中断VI,网上查了很多方法于是发现动态引用VI可以在返回数据以后关闭引用从而释放内存,但是在compactRIO上动态引用子VI需要设置路径,在生成实时应用程序部署在compactRIO后提示 错误代码7,无法找到该VI。这个终端的路径该如何设置,部署在终端上的子VI路径是什么。求大大们教育一下!!!


我现在发现一个问题在启动VI里面先静态调用一次以后然后再用动态调用就能调用成功,但是并没有主动释放掉占用的内存,这和直接调用好像没啥区别呀!!
QQ图片20180427184057.png
请问还有什么办法调用子VI能让他每次调用完都自动释放内存呀!!
  • QQ图片20180427184021.png

回帖(1)

周建远

2018-4-27 18:44:46

最佳答案

动态调用的VI会始终加载在内存中,也就是说如果需要每次打开更新数据就不能用动态调用的方式  直接拖动VI到程序框图或者在主VI中选择VI的方式加载的VI则会在运行完毕后从内存中释放,下次打开会重新运行  这是LabVIEW的运行机制  我上周接手别人的项目也是这个问题,想了很久才明白,只有禁用动态调用,改为直接拖放VI在程序框图中  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分