利用功能全局变量实现读写操作,比如一个功能型全局变量FuncG里有3个变量(a b c初始值为0或任意值)写数据,对应3个变量(a b c)读数据。很方便,但是有个问题。在一个VI里面给FuncG里的a写入值a=3;在另一个VI给FuncG里的b写入值b=4;然后在第三个VI里读FuncG里的a的值,读出来的结果为a=0。因为FuncG里a的初值是什么,读的结果就是什么。有什么好的方法,实现读a的值为a=3吗?当然如果一个功能全局变量里面只有一个变量就不存在这个问题。一个功能全局变量里有很多变量,每次只针对其中一个变量写数据,再读数据时就不是之前写的数据了。
@freshData wrote:
利用功能全局变量实现读写操作,比如一个功能型全局变量FuncG里有3个变量(a b c初始值为0或任意值)写数据,对应3个变量(a b c)读数据。很方便,但是有个问题。在一个VI里面给FuncG里的a写入值a=3;在另一个VI给FuncG里的b写入值b=4;然后在第三个VI里读FuncG里的a的值,读出来的结果为a=0。因为FuncG里a的初值是什么,读的结果就是什么。有什么好的方法,实现读a的值为a=3吗?当然如果一个功能全局变量里面只有一个变量就不存在这个问题。一个功能全局变量里有很多变量,每次只针对其中一个变量写数据,再读数据时就不是之前写的数据了。
Hi
Could you show us your block diagram so that we are able to look into your problem.
估计你是在LV2中存储了三个变量,通过输入输出端子读写,当你写入A时,没有输入B和C,这是B和C采用的默认值0写入,再读B和C时,自然为0了。
对于LV中读写多个变量,可以存储或者数组,就不会出现这样的问题了。