Visa read错误-1073807253原因及解决方案

2019-07-17 13:17发布

问题描述 :本地PC机与远程工控机用串口通讯。远程工控机向串口持续发送二进制数据,本地机使用labview的Visa read进行读取。在第一次读取时即发生错误,错误码-1073807253,帧错误,能得到读取的数据。查看了论坛上相关的帖子,方法无效,问题依旧。使用网上下载的串口调试助手,读取数据正常,未见错误。请教各位,错误的原因是什么,别人的串口助手为什么没报错,还是说这是visa的一个bug? 最重要的是如何解决这个问题?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
huanggeyuyemin
1楼-- · 2019-07-18 04:03
帧错误的话,一般应该是波特率设置,以及你的接收和他的发送速度有太大差异。
qwer123401
2楼-- · 2019-07-18 06:10
tttotti 发表于 2018-1-28 10:41
物理连接方面,远程工控机使用的是232,本地机是485,所以在远端使用了一个232/485的转换器。现在分析,应该是收发冲突引起的,232是全双工,485是半双工,所以有可能出现冲突的情况,出现帧错误。大神们以为呢?

并不是这样的,半双工的意思是两边可以互传,但是同一时刻只能有一个方向的数据包;全双工的意思是两边可以互传,但是同一时刻可以有两个方向的数据包。这个并不会影响你所描述的功能。造成这些错误或者警告的原因都是因为你的工控机不管在labview执行或着关闭的状态都一直在上传数据, 另外Serial Port 的设定可能没有在从工控机取第一个字节之前设定好。因为你说用用串口调试助手是OK的,而且在程序末加个消除错误之后收数据也是OK的,所以波特率什么的应该是正常的了。我的建议是收之前清空一下缓存区,或者改变工作方式,先发个指令给工控机告诉它我这边准备好了,你可以丢数据了,然后工控机那边收到之后再发指令给你。两个方式应该都可以解决你这个需求。
tttotti
3楼-- · 2019-07-18 11:18
 精彩回答 2  元偷偷看……

一周热门 更多>