s7-200plc自由口通讯问题,求高手帮助

s7-200plc用自由口编写的主战程序,轮训两台modbus从站,主站程序做好下载后监视状态表数据都能读过来.但是当我给三台测试的plc断电又从新上电后,数据就都读不回来了,然后把主站plc的程序从新下载一遍又正常了不知道这是什么问题,求高手帮忙分析分析:主程序如下
Network 1 // 网络标题
// 网络注释
LD     SM0.1
MOVB   9, SMB30
MOVB   2#11000100, SMB87
MOVW   5, SMW90
MOVW   5, SMW92
MOVB   255, SMB94
MOVB   0, VB400
MOVB   0, VB401
ATCH   INT1, 23
ATCH   INT0, 9
ENI
Network 2 
LDN    T56
TON    T56, 1
Network 3 
LD     T56
EU
LPS
R      SM87.7, 1
INCB   VB401


AB=    VB401, 3
MOVB   0, VB401
LRD
AB=    VB401, 1
XMT    VB200, 0
LPP
AB=    VB401, 2
XMT    VB300, 0              中断0程序如下:

LD     SM0.0
LPS
S      M10.0, 1
AB=    VB401, 1
S      SM87.7, 1
MOVB   4, SMB88
AENO
RCV    VB100, 0
LPP
AB=    VB401, 2
S      SM87.7, 1
MOVB   3, SMB88
AENO
RCV    VB500, 0

最佳答案

你可以在两次轮训结束后增加一个重启的过程或者在读到通讯故障的信号后,关闭自由口,再重新打开自由口,或者读取一个长度为0的信号(清空缓存区),就不会造成循环停止了

提问者对于答案的评价:
谢谢,虽然不是很明白,但是感谢你的热心回答

专家置评

已阅,最佳答案正确。
在接收条件里做了定时器超时中断,需要在中断程序里再做个判断,是因为时间到了才进入中断,还是收到结束字符进入的。如果是定时到了,再从新触发下接收,直至收到结束字符在开始新一轮的发送。就是要把丢站超时这个结束条件考虑进来,不然这个循环就卡在那里了。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月16日
下一篇 2017年11月16日

相关推荐

  • 万濠WTA光栅尺与S7200-cpu224 xp继电器型PLC连接

    我现有一个万濠WTA光栅尺,准备把信号接到上位机,现在又一个S7200-cpu224xp继电器型PLC,准备用高速计数来读取光栅尺信号。不知道怎么接线,跪求详细解答! 图片说明: …

    2017年12月8日
  • S7-200高速计数器断电保存,再上电后原来记的数发生很大变化怎么解决!

    我用S7-200,搞了一套付油系统,客户要求,付油过程中,如果掉电,必须保存已付油数量,我参考西门子网站的《如何在S7-200 CPU断电后保持高速计数器的当前值》例子做…

    SIMATIC S7-200 2017年11月16日
  • 无法安装编程软件

    S7-200的SP9无法安装,依次出现下面的错误提示,请问是什么原因呢? 问题补充:是win10 图片说明:        &nb…

    2021年7月5日
  • OPC 通讯问题

    我有8台S7 200 现在通过modbus通讯。OPC是用的KEPServerEX的。现在通讯是连上了但是发现采样刷新的速度非常的慢。差不多40秒左右才刷新一次…

    SIMATIC S7-200 2021年7月5日
  • 字符中断问题

    中断事件8(接收字符)是在接收完字符后产生中断还是什么?     另外接收到的字符除了8位的二进制数据外,是否带有起始位,校验位和…

    SIMATIC S7-200 2021年7月5日
  • win7系统下s7-200程序下载

    win7系统下s7-200程序下载找不到电缆驱动,下载电缆是USB的西门子s7-200原装下载电缆用在xp系统下s7-200一点问题都没有,可用在win7里怎么?系统里装有博图V1…

    2017年11月4日
  • 端子接线

    现在有以下几排端子,第一排:com,00           &nbs…

    2020年10月31日
  • 关于plc的分析问题

    图中plc扫描时是先扫描T44到T44+M0.0到m0.0+p+c0呢还是同时扫描T44,T44+M0.0,m0.0+p+c0.在一个周期内,当T44到当前到定时时,m0.0是当前…

    2017年8月24日
  • v存储器数据存储

    用SMB31,SMB32完成v存储器数据存储,每次断电时把数据保存到EEPROM中,该如何完成,谢谢。 最佳答案 参见技术论坛的这篇文章。连接;http://www.ad.siem…

    SIMATIC S7-200 2020年11月1日
  • 批量清0

    VW0到VW100的50个字批量清0,我设计是M1.0为1,把0传送给VW0、VW2.…………VW100有点烦,有没有简单点的方法。 最佳答案 fill_N指令可以满足你的需求,该…

    SIMATIC S7-200 2021年7月5日