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日 下午11:45
下一篇 2021年7月4日 下午11:45

相关推荐

  • s7-200最新的选型样本

    请问在那里可以下载到S7-200的最新选型样本,找了半天,头都大了,找不到啊,太烦了,西门子的网站太难用了。改改吧。 最佳答案 S7-200CN 可编程序控制器(2013…

    SIMATIC S7-200 2017年11月4日
  • EM231 4AI模块读不到数

    在CPU226后带有:16DI/16DO、16DI、16DI、8DI、4AI共5块,其中第5块4AI模拟量模块读不到数,经检查模块的DIP开关设置正确,接线也没问题,且在模块的输入…

    SIMATIC S7-200 2021年7月5日
  • 接顺控指令问

    接昨天的提问,关于顺控指令。其实我是想在段中通过判断,如果符合条件就重新执行当前SCR0.1段的程序,如果不符合条件就执行下一段SCR0.2.本来打算用循环,后来发现循环指令必须设…

    SIMATIC S7-200 2021年7月5日
  • 稳定的PID调节

    请问,我现在要通过调节阀控制一灌体温度,比如从当前气温上升到100度,要在5分钟内完成,并且,温度上升过程中必须稳定直线上升,恰好在5分钟内到设定值,如何实现?谢谢。 最佳答案 1…

    SIMATIC S7-200 2021年7月5日
  • 机械毕业的人,能学好编程吗

    我是机械设计毕业的,想从事自动化,缺少编程能力 最佳答案 从编程角度来说英雄不问出处。别说专业跟学历没有太大关系。很多人都是从机械转行做电气有的学历还不高。个人认为,编程需要点天赋…

    SIMATIC S7-200 2021年7月5日
  • S7-200与SMART LINE 700IE V3如何通讯?

    采用串口485吗?硬件用什么连接?需要自己做电缆吗,如何做?西门子有没有现成的电缆?谢谢 最佳答案 PPI协议,3连3,8连8 自己做电缆  &nbs…

    SIMATIC S7-200 2017年5月28日
  • 200PLC模拟量输入还得用变送器吗?

    200PLC模拟量输入还得用变送器吗?谢谢 最佳答案 参阅《西门子 S7-200·LOGO!·SITOP 参考》V0.95版(更新版)目录–S7-200PLC…

    SIMATIC S7-200 2020年10月31日
  • 请问NETR/NETW向导生成的指令问题

    用向导生成的NET_EXE指令,用SM0.0调用的ERROR位总是为1,我想查查到底是什么故障,向导V区分配为VB15-VB35究竟哪个地址才是含有错误代码的呢?找了很长时间资料没…

    2020年10月31日
  • s7-200 em235模拟量扩展 干扰

    用CPU224XP 和3个EM235扩展 做了个模拟量的采集,cpu的通讯口只要插上485通讯电缆,模拟量的数据有的变大,有的变小。485的通讯电缆有大概50m…

    SIMATIC S7-200 2020年10月31日
  • USS协议和自由口协议通讯问题(急!)

    各位大侠,请问USS和自由口通讯有什么区别?能否同时用USS协议和自由口通讯协议通讯呢?上位机是研华IPC,一台CPU226,4台6RA70。我需要在IPC机与PLC间用自由口通讯…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论