共享变量/全局变量/datasocket

其实我的需求是 同一台电脑中两个可执行程序之间共享数据;

以前没有接触过 共享变量, 和全局变量;在网上找了相关资料如下;得出的结论是:因为每个可执行程序都会有自己的内存控件,所以全局变量只能在可执行程序内部的不同VI之间共享数据。全局变量不能在两个可执行程序之间共享数据。

1. 使用LabVIEW共享变量

http://www.ni.com/white-paper/4679/zhs/

http://digital.ni.com/public.nsf/allkb/B8068645DB31F0D3862577EA0037C39A

http://digital.ni.com/public.nsf/allkb/55A2BD4C9B012A02862575BF002A9CEF

 

2. 全局变量相关案例----(不能通过全局变量来实现需求)

我可以通过全局变量在两个LabVIEW生成的可执行程序之间共享数据么?

主要软件: LabVIEW Development Systems
主要软件版本: N/A
主要软件修正版本: N/A
次要软件: N/A

http://digital.ni.com/public.nsf/allkb/A3C39D50ACEC045A482571F40002CD8C

问题: 我有两个用LabVIEW生成的可执行程序,我可以通过不嵌入到可执行程序的全局变量来在这两个可执行程序之间共享数据么?

解答: 您可以把全局变量嵌入到可执行程序中,但是因为每个可执行程序都会有自己的内存控件,所以全局变量只能在可执行程序内部的不同VI之间共享数据。全局变量不能在两个可执行程序之间共享数据。

然而,您可以使用DataSocket来发布和接收数据,就像使用全局变量来写和读数据一样。当您生成一个可执行程序并且安装LabVIEW Run-Time Engine后,DataSocket就会包含在里面。因此如果您启动DataSocket Server,您就可以想使用全局变量读写一样使用DataSocket读和写函数,而且没有全局变量在不同的可执行程序中的内存空间的限制。您可以通过选择Start»Programs»National Instruments»DataSocket»DataSocket Server来启动DataSocket Server。

3.datasocket----可以实现需求

可参考ni example,只是读端把读到数据放在一个预制的1d array中。

posted @ 2014-01-19 14:59  winkle.zhang  阅读(1789)  评论(0编辑  收藏  举报