S7-200自由口通讯怪异现象

我做的是自由口通讯,用串口调试助手调试。程序流程是这样的:发送一个读的指令,然后就开始接收指令,接收了以后再发送,一直循环下来。发送数据保存在vb500开始的内存中,接收缓冲区最大长度为5个字节,检测起始字符00。怪异的现象为:一旦接收的数据不是5个字节(比如4个),那么发送的命令就错了,变成乱七八糟的数据,真的好奇怪,忘高手指点。
 下面是程序代码
 Network 1 // 
 LD     SM0.1
 LPS
 MOVB   16#09, SMB30
 MOVB   16#C0, SMB87
 MOVB   5, VB500
 AENO
 MOVD   16#11223344, VD501
 AENO
 MOVB   16#1, VB505
 LRD
 MOVB   5, SMB94
 LPP
 MOVB   16#0, SMB88
 Network 2 
 LD     SM0.1
 S      S0.1, 1
 Network 3 
 LSCR   S0.1
 Network 4 
 LD     SM0.0
 XMT    VB500, 0
 AENO
 SCRT   S0.2
 Network 5 
 SCRE
 Network 6 
 LSCR   S0.2
 Network 7 
 LD     SM0.0
 RCV    VB32, 0
 AENO
 SCRT   S0.1
 Network 8 
 SCRE

问题补充:
解决的方法是做个超时检测,超时了就进行下一条指令。但是,这个现象还是很怪。因为,接受的数据怎么会影响到发送的数据呢?
 中断做起来好像也不简单因为我做的系统是由16个传感器,每个传感器的读取地址都不一样,用轮询的方法以此读取各个传感器的读数,我只能想到用这个方法了,中断不大会用

最佳答案

数据帧的结束是采用的什么方式,有可能是接受发送同时执行了,将接受完了以后做个延时再发送试试,如果正常就可能是上面的原因

提问者对于答案的评价:
谢谢

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348489.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日
下一篇 2021年7月4日

相关推荐

  • 比较指令

    比较触点非法数值错误与比较指令中数值非法有什么区别? 图片说明:    最佳答案 1、触点指令是不能比较的2、进行数据比较只能是同种数据类型3、你可以联系我 提…

    2017年11月19日
  • MODBUS 通讯存储区

    在s7-200的modbus 做从站设置中,如图片,VB0~VB1999是通讯缓存区,VB2000~VB2777是库指令存储区,这两个去什么区别啊,还有VB2777是怎么…

    2017年11月12日
  • 200plc通讯与系统

    为何电脑重新做系统之后安装200软件可以进行通讯过几天就不能通讯,一直显示未找到访问点?一般的故障都排查过都没用,难道还要重新装系统? 最佳答案 中间是否清理过系统文件?STEP&…

    SIMATIC S7-200 2021年7月5日
  • SUB转RS485与s7-200通讯

    各位大师,我用USB转RS485的电缆当做s7-200的编程电缆怎么实现通讯啊,在设备PC/PG口的时候怎么选择啊?为什么我用USB转RS485连接组态王跟s7-200可以通信成功…

    SIMATIC S7-200 2018年12月5日
  • 带电插拔

    请问,什么是PC/PPI电缆的“带电插拔”?     是在PLC通电的情况下,拔下PC/PPI电缆吗?我使用的是国产的PC/PPI…

    SIMATIC S7-200 2021年7月5日
  • 6ES7214-1BD23-0XB8 是否需要配电池

    这个PLC没有连触摸屏,也没有什么可设置的参数,不安装电池的话,程序会不会丢失?要是不丢失,就不买电池了。 最佳答案 程序不会丢,西门子以前老款PLC时间久,程序里面V区参数会丢,…

    SIMATIC S7-200 2021年7月5日
  • S7-200cpu是继电器和晶体管的优缺点

    S7-200cpu是继电器和晶体管的优缺点,最好有各自的适用的范围和场所,我是一位学生,从事控制方面最好选哪个类型的CPU。谢谢各位 问题补充:如果采用的是晶体管cpu的话,能通过…

    SIMATIC S7-200 2020年10月31日
  • 请问为什么PLC输出没有信号?

    我用的CPU是6ES7 214-1AD23-0XB01,我将程序里的Q0.0点强制输出,Q0.0指示灯亮了,但是我量它的电压没有输出,这是为什么呢?我把模块的L+都接上2…

    SIMATIC S7-200 2020年10月31日
  • 数值运算和传送时出现的问题

    如题,如图,大侠们帮我看看是什么问题,本人新手 图片说明:       最佳答案 图片02你应该用双整数乘法指令。因为网络3你使用TRUNC…

    2017年6月18日
  • 刚学PLC200,关于模拟量的问题

    模拟量输入输出都是AIW和AQW都应该是整数或者浮点数,可我看的学习视频中,有反馈电流互感器输入,这个应该接到AIW0吧,可反馈电流是4-20MA,那么这个AIW0到底是一个电流值…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论