完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
14个回答
|
|
具体说如何清零,可也有多种方法吧。7楼说的是一种,即空白写入,它调用的是波形图表的属性。另外如果波形图表的初始值是空白,那么调用初始化属性也是可以的。 同理,你如果是想将整个程序清零初始化,那么调用VI的属性节点,对VI所有控件进行初始化控件也是可以的。 看你程序框图,有几个建议: 1)读写串口VI可以放一起,但是没必要紧接着关闭串口。按你运行截图来看,你这个是要循环读取的,所以,打开/关闭串口以及配置串口等操作最好放在循环外面,但进入循环前进行配置/打开串口,在循环结束后进行关闭串口。不然会不断对内存进行重复操作。 2)你的记录按钮,在你局部的程序框图上我没看出来具体怎么用的。估计你是单独在外面进行布尔变量判断的。如果你的“记录”按钮是指是否进行读写程序,那么可以在整个循环外面加一个条件框图来判断。如果你的“记录”按钮是指是否进行记录读取结果,即不论是否记录都进行读写串口操作,那么直接在读串口VI后面接一个判断框图来对读取缓冲区的数据进行处理会更好点。 3)总体整个程序,按照我的习惯来写,从外到内会是这样的结构:循环结构>>事件结构(用于判断是否运行程序)>>循环结构(状态机:初始化状态,判断状态,读取状态,结束状态)。“清零”“记录”两个按钮都放在判断状态里进行判断,从而确定下一步是重新初始化、读写操作还是停止记录。当然,你也可以考虑把“清零”按钮单独另外反在一个循环结构>>事件结构里面进行操作,这样就相当于额外的另一个轮询。 手边电脑没有Labview,不便上图说明。 |
|
|
|
方法有好几种;适合自己的就好
|
|
|
|
|
|
局部变量应该要用到
|
|
|
|
我觉得具体得看你原来的程序框图吧。
比如,如果是用状态机结构,直接加一个判断按钮是否按下的状态进行跳转即可,因此用移位寄存器就行,当然根据实际情况也可能用到局部/全局变量等;如果是事件结构用超时来控制通讯,那么直接加一个按钮按下的事件即可,因此直接用布尔变量本身就行;如果是while循环,直接再加一个while循环+事件结构用于清零处理。 当然用什么信号量那些也是可以考虑的。 个人建议。 |
|
|
|
本帖最后由 12223148 于 2017-2-2 09:38 编辑
ChE_Li 发表于 2017-1-25 11:35 谢谢,请问我这种程序是平铺式顺序结构,能用什么办法实现接收数据的清零呢? |
|
|
|
将波形图表属性节点 历史数据写入空值,波形就清零了,接受数据可以用属性节点也可以用局部变量
|
|
|
|
谢谢,有没有例子啊,接收数据的属性节点选项有点多,不知道怎么用,求指点 |
|
|
|
|
|
|
|
ChE_Li 发表于 2017-2-3 21:29 谢谢!能否给个qq,我还有很多的疑问,可以请教你吗? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
542 浏览 1 评论
NI Vision有个图片打不开其他图都能打开(用NI Vision Assistant也打开不了)
1005 浏览 1 评论
labview2015使用Excel报表程序打包生成后打开程序要选一个vi才能使用,否则软件就会报错,这是什么问题?
1580 浏览 2 评论
LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?
1514 浏览 3 评论
1791 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:57 , Processed in 0.761425 second(s), Total 75, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号