为什么当我向WSN节点发送用户信息的时候会得到内存溢出的错误?



主要软件:
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: Driver Software>>NI-WSN

问题:

我编写了一个VI,在一个循环内部向WSN节点发送用户信息。经过几次循环交互,我得到了如下警告,指出LabVIEW的内存溢出。我应该怎么做才能解决这个问题。



解答:

每次你使用WSN Send Message VI发送用户指令的时候,一个信息引用将会在RAM中被创建。如果你在一个循环发送一个用户指令,那么一个信息引用将会在每一个循环中被建立。如果循环运行了足够长的时间,LabVIEW将会最终内存溢出。尤其在9792可编程WSN网关中会遇到这种错误。为了避免这种情况,你需要按照如下形式在循环中关闭参考信息引用

注意:关闭信息引用并不能取消发送参考信息,他只能关掉它的引用。然而,关闭引用意味着你不能在后续阶段使用WSN Message Status或者WSN Cancel Message跟踪用户信息的状态。

注意:应该注意到,如果不是在循环中,LabVIEW会自动关闭引用信息。当循环运行的时候,LabVIEW并不会关闭消息引用。所以只需在需要长时间运行循环的时候单独关闭消息引用即可。



相关链接: Developer Zone Tutorial: LabVIEW Wireless Sensor Network (WSN) Pioneer- Under the Hood
Developer Zone Tutorial: LabVIEW 2010 Wireless Sensor Network Module Pioneer Known Issues
Products and Services: NI 9792 Programmable WSN Gateway

附件:





报告日期: 11/10/2010
最近更新: 10/22/2015
文档编号: 5F9GGI6V