Labview XY图显示的数据,如何实现保存后能随时读取历史数据?
需要的时候,从文件读取即可。
为什么在中间用那个express vi绕远一下?可以直接用XY图显示啊。
下面是我制作的比较简洁的例子。谁让你必须用那个Express XY图控件?不方便,反而太绕远了。
我之前说用局部变量之类的,是比较复杂的情况下用的。比如在循环事件结构的不同分支生成、显示、保存数据。
你上面的存文件那个VI,你这么简单的情况,没必要放第二个XY图,没必要用属性节点。此外,你居然还用了禁忌的顺序结构!
直接把while循环里面的输入XY图的那根线连到while循环外,给写入二进制文件函数就行了。(知道数据流机制的概念吧。)
我后来按你那样,用Express XY图控件,能正常读取和显示的。不知道为什么在你那就不行了。
保存:
读取(簇常量为了显示出结构,没缩小成图标):
上两图中的情况,文件会自动关闭,不用自己连一个关闭文件函数。
以下引自LabVIEW帮助文件关于此类函数的说明:
【引用句柄输出是函数读取的文件的引用句柄。根据对文件的不同操作,可将该输入端连线至其它文件函数。如通过文件路径引用或文件对话框选定文件,默认状态下可关闭文件。如文件是引用句柄或连线引用句柄输出至其它函数,则LabVIEW认为文件仍在使用,直至它被关闭。】
另外,既然提问不能传附件,那就像我这样,存vi片段吧,能够直接弄下来运行。(LabVIEW汉语版中这么叫,个人感觉翻译成快照似乎更合适。)
步骤:在程序框图用Ctrl+a全选,然后在菜单栏“编辑>>从所选项创建VI片段”,选好路径和文件名后,就存成了内嵌了LabVIEW程序的png图片了。(当然,上古版本的LabVIEW没有这功能,貌似是2009版加入的?)