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日

相关推荐

  • 关于西门子EM235模拟量输入问题

    我用的是西门子EM235采集模拟量信号,测量方式是4-20MA电流信号,现在我遇到的问题是从变送器过来的信号被放大了几MA,模块的位置放在第三个槽上,CPU边上放个以太网模块,接下…

    SIMATIC S7-200 2018年3月6日
  • CPU224XP与西门子触摸屏通讯不上

    首先感谢大家的热心帮助和指导!我也按照大家的方法操作了一遍,可还是通讯不上!线的接法是3-3  8-8,再没有发现什么问题,求大师们看看我的设置有没有什么问题?…

    SIMATIC S7-200 2021年7月5日
  • 关于AS-I

    AS-i 是执行器-传感器接口(Actuator Sensor Interface)的简称, 位于最底层。 200和LOGO!如何…

    SIMATIC S7-200 2021年7月5日
  • 200下载程序错误

    200程序编译没有错误,在下载过程中,提示出现“由于编译错误下载过程取消”,查看信息,提示在主程序的第一个Network 中的第一列,错误代码82,说是“指令错误,”,即…

    SIMATIC S7-200 2021年7月4日
  • 西门子200PLC输出漏极与源极问题

    西门子源极输入时相200PLC输入正电压,电从外流入PLC里面叫做源极输入,PLC输出正电压时候,电流从PLC里面向外面流,按理说应该叫做源极输出嘛,为啥子叫漏极输出喃漏,源,究竟…

    SIMATIC S7-200 2017年7月25日
  • 求一道模拟量输出程序

    老师们好,我在学习模拟量编程,忘能提供一道输出4-20Ma信号的程序。谢谢! 最佳答案 movw  vw0  aqw0 &nbsp…

    SIMATIC S7-200 2021年7月4日
  • 485通讯控制丹佛斯变频器

    我用226自由口通讯控制丹佛斯变频器VLT5000的起停,控制字都发过去了,怎么变频器没反应呀,变频器都用的默认设置,状态字还是0603.请教各位老师,谢谢了 最佳答案 1&nbs…

    SIMATIC S7-200 2021年7月5日
  • 自由口通讯-xmt和rcv的问题

    问题1:200plc xmt指令和rcv指令必须配对使用吗?我通过smb30对端口初始化以后直接使用sm0.0调用xmt指令向变频器传送数据,可是不成功,分配了数据缓冲区…

    SIMATIC S7-200 2021年7月4日
  • EM253和松下A4驱动器连接

    EM253 如何接线和程序如何编写,能给点提示吗?谢谢 最佳答案 你去下载中心下个200的使用手册吧,上面很详细的。 我手里也有接线图,可惜不知如何联系你。 提…

    SIMATIC S7-200 2021年7月5日
  • S7-300与S7-200MPI通讯

    现场一个300与三个200PLC通过MPI通讯,通讯速率19.2KB/S,最远的200有25米,200控制柜分就地和远控功能,用的V寄存器位判断200是否在线,200断电前,300…

    2021年7月5日

发表回复

登录后才能评论