[求助讨论]

求助 求指点

[复制链接]
1357|22
手机看帖
扫描二维码
随时随地手机跟帖
xpypapa|  楼主 | 2017-3-8 10:29 | 显示全部楼层 |阅读模式
本帖最后由 xpypapa 于 2017-3-10 15:20 编辑

图如附件,不好用的,就是得到最后的文本 有漏数据的现象,不uzd问题出现在哪里,求指点
好用.PNG
不好用.PNG
全图.PNG

Serialdata_IUM(EXE)es.zip

38.91 KB

Serialdata_IUM 文件夹11.zip

34.74 KB

13版

相关帖子

xpypapa|  楼主 | 2017-3-8 10:39 | 显示全部楼层
我自己觉得两个图实现的功能应该是一样的,不好用的得到的文本数据会比好用的少一些,丢失的数据随机性,但是写入之前我仔细看过,没有丢的,写完之后才丢的,请指点

使用特权

评论回复
songchenping| | 2017-3-9 08:34 | 显示全部楼层
首先楼主的思路不清晰,你可以试着画个流程图,就知道什么应该放在循环内,什么应该放在循环外

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
xpypapa + 1 赞一个!
xpypapa|  楼主 | 2017-3-9 08:49 | 显示全部楼层
songchenping 发表于 2017-3-9 08:34
首先楼主的思路不清晰,你可以试着画个流程图,就知道什么应该放在循环内,什么应该放在循环外 ...

终于等到你了,之前给你发消息,结果我没有权限,只好关注你,然后发帖希望你能看见。我觉着上两图没有大的区别,结果应该是一样的。图一是循环560次之后再写入,期间只打开一次文件路径。图二是每写一个打开一次,我的思路有没有缺陷,给个指点

使用特权

评论回复
songchenping| | 2017-3-9 09:02 | 显示全部楼层
xpypapa 发表于 2017-3-9 08:49
终于等到你了,之前给你发消息,结果我没有权限,只好关注你,然后发帖希望你能看见。我觉着上两图没有大 ...

有缺陷,按照我的理解,你的程序架构有问题,三大步:初始化、数据操作、结束。

你的程序架构没有一个完整的顺序,导致丢数。

程序总的框架为3个顺序结构,将数据处理放置到第二个顺序结构中,进行循环操作。

使用特权

评论回复
songchenping| | 2017-3-9 09:03 | 显示全部楼层
xpypapa 发表于 2017-3-9 08:49
终于等到你了,之前给你发消息,结果我没有权限,只好关注你,然后发帖希望你能看见。我觉着上两图没有大 ...

还有就是你没有将你具体想做什么描述清楚。别人看了都只是在猜测你想干什么

使用特权

评论回复
xpypapa|  楼主 | 2017-3-9 10:17 | 显示全部楼层
本帖最后由 xpypapa 于 2017-3-9 13:38 编辑
songchenping 发表于 2017-3-9 09:03
还有就是你没有将你具体想做什么描述清楚。别人看了都只是在猜测你想干什么 ...

我大程序是:通过VISA将串口来的数据写入指定文件夹里,我每发一次“o”,串口来一组数据,每一组都是560个字节,串口来的数据我处理成无符号字节数组,然后就是用上面的图写入TXT中。好用的循环就一点问题没有,但是每写一次就打开一次文件路径,我觉得繁琐,所以就改成1图中那样,将560个字节都转换完再一起写入,这样就只打开一次,可是就出现问题了,并不是每一组都会有丢数据的现象,而且连续两次读取,丢失数据都不一样。(数据是存储在外部NANDFLASH中,每页存了560个,一共138页)

使用特权

评论回复
xpypapa|  楼主 | 2017-3-9 10:55 | 显示全部楼层
本帖最后由 xpypapa 于 2017-3-9 13:34 编辑
songchenping 发表于 2017-3-9 09:03
还有就是你没有将你具体想做什么描述清楚。别人看了都只是在猜测你想干什么 ...

会不会是图1循环中,560个字节一存,某个环节缓存不够大,一共138页数据,说不定某些数据就会覆盖前面的,导致数据丢失,(但是连续两次传输,丢失的还不一样)。我刚试了一个每页56个字节的传输,结果两图结果比较,图1只有最后一页数据丢失,中间没有丢失的现象

使用特权

评论回复
nolaziness| | 2017-3-10 09:22 | 显示全部楼层
本帖最后由 nolaziness 于 2017-3-10 10:23 编辑

LabVIEW是并行执行的,我觉得你这个是时序问题,不一定缓存问题。不好的那个,这个子程序一启动,下半部循环560次的For循环瞬间就会完成,管你数据有没有准备好,就按560次循环完成就完事,转换的字符串有可能有些乱七八糟的,然后在等待写入。好的那个,每次循环都检查文件路径等文件操作,循环间隔较长,下次循环再去读全局变量,估计数据已经准备好,再读就不会丢数据。初步给一个简单的办法,就是用一个顺序结构把读串口数据的部分放前面,你这个写入文件的部分放后面。。。在我看来其实你两个程序逻辑都不严密,好的也就将就着用。

使用特权

评论回复
nolaziness| | 2017-3-10 09:50 | 显示全部楼层
本帖最后由 nolaziness 于 2017-3-10 10:32 编辑

说点其他的,当然也只是我自己的理解,你用局部变量跨结构读写数据,为了程序的稳定,推荐你整存整取,最好再设置一个布尔型局部变量作为数据读写标志初始化为F,也就是说数据准备好后,检查布尔标志是否为F,为F就写入数据,成功了再把布尔标志置T,读取的时候一次性读取,先检查布尔标志是否为T,为T就读,成功了再置F,读出来的数据要放在当前VI的显示控件内,最简单的就是右击创建显示控件,之后的操作只对这个显示控件进行,可以创建属性节点,这样做是为了不用直接操作局部变量,不然,你正读取局部变量的时候,不知道哪个并行执行的模块把数据给你改了,这种错误很难排查的,大一点的程序有时会碰到这种情况。另外,循环里面通常要加一个等待时间函数,等待时间看情况,哪怕是1ms。啰哩啰嗦写了不少,就是程序尽量严密点,多一点标志变量作指示用,不要嫌烦,程序差错才是真的烦。。。

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 10:43 | 显示全部楼层
nolaziness 发表于 2017-3-10 09:22
LabVIEW是并行执行的,我觉得你这个是时序问题,不一定缓存问题。不好的那个,这个子程序一启动,下半部循 ...

我这就照你的建议试一试

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 10:45 | 显示全部楼层
nolaziness 发表于 2017-3-10 09:50
说点其他的,当然也只是我自己的理解,你用局部变量跨结构读写数据,为了程序的稳定,推荐你整存整取,最好 ...

写这个程序的时候,起初检测好用之后就没再整理程序,一直将就着用。这次出现问题才回头仔细看看,我也是初学者,看你这条建议还有点不明,我慢慢琢磨琢磨,改改看看

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 11:09 | 显示全部楼层
nolaziness 发表于 2017-3-10 09:50
说点其他的,当然也只是我自己的理解,你用局部变量跨结构读写数据,为了程序的稳定,推荐你整存整取,最好 ...

我贴了全图,你有空看一下,指点一下

使用特权

评论回复
nolaziness| | 2017-3-10 11:39 | 显示全部楼层
xpypapa 发表于 2017-3-10 11:09
我贴了全图,你有空看一下,指点一下

贴图还不如把程序挂载附件里,这样我们省很多事

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 13:16 | 显示全部楼层
nolaziness 发表于 2017-3-10 11:39
贴图还不如把程序挂载附件里,这样我们省很多事

哦哦,我刚接触这个,我试试挂程序

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 13:36 | 显示全部楼层
本帖最后由 xpypapa 于 2017-3-10 13:54 编辑
xpypapa 发表于 2017-3-10 13:16
哦哦,我刚接触这个,我试试挂程序

咋挂呀,没整明白。。。。。好了 挂上了

使用特权

评论回复
nolaziness| | 2017-3-10 14:14 | 显示全部楼层
我用的13版。。。你16版的打不开,点击保存为前期版本,选个13版保存后,再加到附件上去?

使用特权

评论回复
xpypapa|  楼主 | 2017-3-10 14:35 | 显示全部楼层
nolaziness 发表于 2017-3-10 14:14
我用的13版。。。你16版的打不开,点击保存为前期版本,选个13版保存后,再加到附件上去? ...

我还有个14版的,你看看转换的13版的行不,不行我给你传那个14的

使用特权

评论回复
nolaziness| | 2017-3-10 17:03 | 显示全部楼层
我根据你的程序改编了一个,不知道你的数据格式,没有调试,不过我觉得有问题也不大。回复不能添加附件,留下你的邮箱。

使用特权

评论回复
xpypapa|  楼主 | 2017-3-20 10:50 | 显示全部楼层
nolaziness 发表于 2017-3-10 17:03
我根据你的程序改编了一个,不知道你的数据格式,没有调试,不过我觉得有问题也不大。回复不能添加附件,留 ...

我刚回来,287538992@qq.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

24

帖子

1

粉丝