不能读取两个从站的数据

主站S7-200PLC,并联二个modbus RTU接口的从站,把T33 ,T34定时时间设置成相等,发现一个站能正常读回数据;而另一站不能正常读回数据,完成位总是显示“1”,错误码为“6”。把T33 ,T34定时时间设置成不相等,发现两个站都不能正常读回数据,有时能读回,而有时又不能读回数据,完成位显示“1”,错误码为“6”。不知是何原因,请各位老师帮忙解决,看问题出在哪里?主程序如下:
网络1
LD     SM0.0
=      L60.0
LD     SM0.0
=      L63.7
LD     L60.0
CALL   MBUS_CTRL:SBR1, L63.7, 9600, 2, 1000, M24.0, MB25
网络2
LD     M24.0
AB=    MB25, 0
LPS
AN     M2.4
TON    T33, 5
LPP
A      T33
=      M2.4
网络3
LD     M24.0
AB=    MB25, 0
=      L60.0
LD     T33
EU
=      L63.7
LD     L60.0
CALL   MBUS_MSG:SBR2, L63.7, 1, 0, 30002, 2, &VB1000, M24.1, MB26
网络4
LD     M24.0
AB=    MB25, 0
LPS
AN     M2.5
TON    T34, 10
LPP
A      T34
=      M2.5
网络5
LD     M24.0
AB=    MB25, 0
=      L60.0
LD     T34
EU
=      L63.7
LD     L60.0
CALL   MBUS_MSG:SBR2, L63.7, 2, 0, 30002, 2, &VB2000, M27.1, MB28

问题补充:
对不起!网络4的内容输入错,更改为如下(与网络2基本相同):
LD     M24.0
AB=    MB25, 0
LPS
AN     M2.5
TON    T34, 10
LPP
A      T34
=      M2.5

最佳答案

利用初始化完成DONE位同时启动两个读从站的指令不合适,虽然使用了延时定时器,想错开连个读指令,建议改成如下程序:(M30.0,M30.1是我随意选的,如果你程序已经使用,请改成别的地址)
网络1
LD     SM0.0
=      L60.0
LD     SM0.0
=      L63.7
LD     L60.0
CALL   MBUS_CTRL:SBR1, L63.7, 9600, 2, 1000, M24.0, MB25
网络2
LD     M24.0
AB=    MB25, 0
EU
S      M30.0, 1
网络3
LD     M30.0
=      L60.0
LD     M30.0
EU
=      L63.7
LD     L60.0
CALL   MBUS_MSG:SBR2, L63.7, 1, 0, 30002, 2, &VB1000, M24.1, MB26
网络4
LD     M24.1
AB=    MB26, 0
EU
S      M30.1, 1
R      M30.0, 1
网络5
LD     M30.1
=      L60.0
LD     M30.1
EU
=      L63.7
LD     L60.0
CALL   MBUS_MSG:SBR2, L63.7, 2, 0, 30002, 2, &VB2000, M27.1, MB28 
网络6
LD     M27.1
AB=    MB28, 0
EU
S      M30.0, 1
R      M30.1, 1

提问者对于答案的评价:
此法存在的问题:有一站不能正常工作,则另一站也不能正常工作。请问老师有无更好的解决方法。

最佳答案作者回复:
把DONE,error加入逻辑判断即可

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月24日 上午2:53
下一篇 2017年8月24日 上午2:54

相关推荐

  • S7-200自由口通讯

    请问哪位大狭有用过,SIEMENSS7-200与台达VF变频器的通讯程序,谢谢. 我的邮箱地址是BD-LXL@163.COM 谢谢了 最佳答案 参考别人的程序的…

    SIMATIC S7-200 2021年7月5日
  • 新特性无法连接

    S7-200编序软件的新特性,双击时无法正常连接(以前曾经连接过)。前段时间重装过系统和该软件。现双击时提示:请确认路径或因特网地址正确。请问如何解决。 问题补充:我是先连接好因特…

    SIMATIC S7-200 2021年7月5日
  • 西门子200PLC最多可以加几个定位模块

    西门子200PLC最多可以加几个定位模块 最佳答案 根据不同的CPU而定,具体见图片附件: 图片说明:    提问者对于答案的评价:谢谢

    2017年5月28日
  • s7-200系列PLC的运算IC的相关资料哪里有

    是德州仪器的,找它的规格书,引脚说明 最佳答案 楼主是否需要S7-200两个自由口的引脚说明是否与你所说的德州仪器相匹配啊,可以参考以下连接: http://www.ad…

    SIMATIC S7-200 2020年11月1日
  • step7-micro/win smart V2.3为什么交叉引用无法打开

    新安装step7-micro/win smart V2.3软件,状态表、符号表等都能打开,但交叉引用打不开,点击交叉引用没有任何反应,程序已经编译了,点击交叉引…

    2021年7月5日
  • s7-200程序保护

    s7-200程序四级加密(禁止上载), 怎 么 别 人 也 能 破解 最佳答案 朋友,既然能加密,当然就可以解…

    SIMATIC S7-200 2021年7月4日
  • 请问EM223的最大输出频率

    请问各位知不知道EM232的输出端的最大输出频率是多少啊?性能参数上只有输出延时(off-on  0.05ms;  on-off …

    SIMATIC S7-200 2020年11月1日
  • S7-200与仪表通讯

    有个称重显示仪端口只支持RS232C(RXD,TXD,GND),和RS422(+IN,-IN,+OUT,-OUT)请问可以和S7-200直接通讯吗,不用中间转换器,可以用自由口通讯…

    SIMATIC S7-200 2020年10月31日
  • 编程问题,请大神指点

    程序里写的VW200为什么不被设置为200,Q0.0会接通 问题补充:麻烦看一下图片 图片说明:       最佳答案 这个问题我已经遇到过…

    2017年6月29日
  • 用梯形图如何实现C语言中的while语句

    在主程序中,其中一小段程序需要在一定条件下循环执行,如何实现? 问题补充:谢谢各位的指导!我想在一个扫描周期,有条件的重复执行一段程序,当条件不满足时,再往下运行。就像FOR&nb…

    SIMATIC S7-200 2021年7月5日