如何实现接收数据的清零

2019-07-17 10:01发布

我现在在用labview与一台仪表进行通讯,现在要用一个按钮实现接收数据的清零,按钮按下清零,请问要用到局部变量吗?不会用。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
ChE_Li
2019-07-17 15:37
12223148 发表于 2017-2-2 09:30
谢谢,请问我这种程序是平铺式顺序结构,能用什么办法实现接收数据的清零呢?

具体说如何清零,可也有多种方法吧。7楼说的是一种,即空白写入,它调用的是波形图表的属性。另外如果波形图表的初始值是空白,那么调用初始化属性也是可以的。
同理,你如果是想将整个程序清零初始化,那么调用VI的属性节点,对VI所有控件进行初始化控件也是可以的。

看你程序框图,有几个建议:
1)读写串口VI可以放一起,但是没必要紧接着关闭串口。按你运行截图来看,你这个是要循环读取的,所以,打开/关闭串口以及配置串口等操作最好放在循环外面,但进入循环前进行配置/打开串口,在循环结束后进行关闭串口。不然会不断对内存进行重复操作。
2)你的记录按钮,在你局部的程序框图上我没看出来具体怎么用的。估计你是单独在外面进行布尔变量判断的。如果你的“记录”按钮是指是否进行读写程序,那么可以在整个循环外面加一个条件框图来判断。如果你的“记录”按钮是指是否进行记录读取结果,即不论是否记录都进行读写串口操作,那么直接在读串口VI后面接一个判断框图来对读取缓冲区的数据进行处理会更好点。
3)总体整个程序,按照我的习惯来写,从外到内会是这样的结构:循环结构>>事件结构(用于判断是否运行程序)>>循环结构(状态机:初始化状态,判断状态,读取状态,结束状态)。“清零”“记录”两个按钮都放在判断状态里进行判断,从而确定下一步是重新初始化、读写操作还是停止记录。当然,你也可以考虑把“清零”按钮单独另外反在一个循环结构>>事件结构里面进行操作,这样就相当于额外的另一个轮询。

手边电脑没有Labview,不便上图说明。

一周热门 更多>