labview串口接收到的数据怎样实时更新?

用labvIEW做了一个上位机,接收串口的数据并处理。现在的问题是每次串口收到的数据都会存到字符传中,也就是新收到的数据不会覆盖原来的数据,会存在原数据的后面,结果数据越... 用labvIEW做了一个上位机,接收串口的数据并处理。现在的问题是每次串口收到的数据都会存到字符传中,也就是新收到的数据不会覆盖原来的数据,会存在原数据的后面,结果数据越存越多,没办法进行处理与校正。怎么样才能让收到的一帧新数据覆盖原数据或者每次只读取新的那一帧数据 展开
 我来答
banshouren4077
推荐于2017-09-09 · TA获得超过1997个赞
知道小有建树答主
回答量:818
采纳率:0%
帮助的人:1101万
展开全部

如果你每次收到的字节数能确定(比如每条发过来的命令字节数固定,或者最前一两个字节表示后面的字节数),就按照字节数接收。然后直接把收到的字符串给显示控件,不使用移位寄存器或反馈节点当然就不显示之前的字符了。

别加“等待”之类的函数(手表图标哪个),串口读取函数会在读到指定数量的字符或到达超时之后返回读到的字符串。用它就能控制循环。也就是说来一条命令或者到达一次超时之后,自动循环一次,字符串显示控件里面的值就是刚收到的字符串了。

如下图:

可以把图片下载后直接拖入2012或2013的程序框图中。外层的错误分支中有个串口配置失败的弹窗提示。

串口的参数我就使用默认的“9600,8,n,1”了,超时值我设置的是100ms,为了让程序运行时不会因为默认的10000ms超时显得程序卡死。但是几乎每100毫秒就会有一个超时错误并返回空字符串,所以内层的错误分支什么也没做,在超时的时候不用空字符串替换原有的显示值。


如果字符数不确定,你还不想保留之前的值,那就不好办了。很有可能会造成一句话分两次显示的情况,某次显示前面一部分,后面一次显示后一部分。

看下图吧:

为减少上述情况的出现,我把超时值改为了1000ms,后面的条件分支根据读到的字节数区分。0的时候不更新显示控件,其它值的时候显示刚刚收到的字符串。因为你不要和前面的拼凑,所以有可能是不完整的。

其实也可以让字符串显示控件自动滚动,或者字符串长度达到一定长度时或点清空按钮时,清空显示值。可以用反馈节点/移位寄存器/局部变量/值属性等。

下图的做法最简单,因为用的是输入控件,可以随便删除之前的内容。

更多追问追答
追问
又见到你了大神,真好。把图片弄上去后运行提示数据结构损坏,是从字符串还原那个控件出错,怎么解决啊。串口发的每一帧数据字节数是相同的,但有时候断电会有一个干扰码00,怎么样才能避免干扰,是不到标准的一帧数据就不读吗?这个是自动测试显示的,不能有清除按钮。非常感谢你
追答

我那是按照每次发过来的数据最前面都有U16数值的两个字节表示后面剩余的字节数,来做的。你的设备如果不是这个发的,别直接用我的程序。还有串口的波特率等参数,你改成和你们设备一致的了吗?程序里面的“从字符串还原”函数可以通过错误簇连接在两次串口读数之间。字节顺序一定要设置对。

你字节数相同就好办了,不用先读1或2或4个字节了。你这是最简单的情况,如图:

干扰就从串口和线上找找问题吧。串口可以有奇偶校验,你看看那边可不可以加上校验。

发过来的数据是文本的还是二进制的,会不会本来就有00?。程序里面不好处理,删除多余的并读取剩余的字节,或者设置好循环时间,然后根据串口中的字节数读出所有字节。你文字描述不可能把所有的信息都能说全,所以你自己根据你那里的实际情况自己处理吧。

百度网友e1624a4
2013-11-29 · TA获得超过154个赞
知道答主
回答量:413
采纳率:0%
帮助的人:158万
展开全部

直接读出来就好了,

追问
那个显示控件会一直保存串口收到的数据的,也就是新的一帧数据会在原数据后面,显示控件里的数据越来越多,不行的
追答
这种是直接覆盖的,不可能在后面追加的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tn瓶邪
推荐于2017-09-14 · TA获得超过1882个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:113万
展开全部
使用移位寄存器功能。在循环框左边框或右边框上点右键,添加移位寄存器,将采集到的数据连到右边的寄存器端口,再从外界连到左边的寄存器入口,里面再加一个函数将寄存器入口的数据与新鲜采集到的数据合并,然后引到输出控件上。
从需实现一个类似这样的功能: Display = Old data + new data
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式