不能读取两个从站的数据

主站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

相关推荐

  • pc access 保存问题

    为什么pc access导入V4.0 STEP 7 MicroWIN SP5的符号表后,点击保存出现错误,提示“An u…

    SIMATIC S7-200 2021年7月5日
  • 如何测量同一开关量信号的时间间隔

    PLC是224DCDCDC,已用高速计数器功能对外部脉冲进行计数,当检测到可能产生的不合格时,由相关设备产生开关量信号接I1.0,此I1.0不定时产生。请问如何对I1.0相邻两次有…

    SIMATIC S7-200 2017年8月24日
  • 200的脉冲输出问题

    我用222dc,dc,dc来控制步进电机,是不是直接把q0.0介入到步进电机的脉冲信号口,1m,1l是否需要街上5v直流?输出点是否有电压??步进电机需要5v信号脉冲,外部怎样连线…

    SIMATIC S7-200 2021年7月5日
  • S7-200怎么接地?

    因找答案没法贴图,图片可查看同样问题的帖子http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=742459&s_i…

    SIMATIC S7-200 2020年11月1日
  • 自由口通信发送数据接收不到

    按照手册上的自由口通讯例子编写程序,用串口调试助手监控通讯口。1. PLC可以接收串口调试助手发送的数据,但是串口调试助手接收不到PLC发送的数据2.直接用SM0.5的上…

    SIMATIC S7-200 2020年11月1日
  • 模拟量输出通道未使用电流输出,需要短接么?

    模拟量输出模块的电流输出未使用,需要短接么?若模拟量输出通道空闲未使用,需要接线么? 最佳答案 1、模拟量输入模板对于不使用的通道要短接,而模拟量输出模板则不需要。2、关于模拟量输…

    SIMATIC S7-200 2020年10月31日
  • S7-200扩展电缆如何屏蔽?

    用了一根S7-200扩展电缆(0.8米),但电柜附近有离子火焰干扰,会出现控制异常,改如何屏蔽扩展电缆? 最佳答案 可以在电源侧加隔离变压器 提问者对于答案的评价:谢谢!!! 专家…

    SIMATIC S7-200 2017年12月9日
  • VB和VW数据问题

    VB508是140,VB509是144,为什么VW508不是35984呢?好像是变成了-29952 问题补充:我是个新手,我要怎么设置它是有符号或无符号? 最佳答案 是-29552…

    SIMATIC S7-200 2020年11月5日
  • protool移植为wincc flexible

    原来是tp170a,用protool编辑的,其中“input输入”里面有个地方可以设置数值的限制值(上限和下限),移植到wincc flexible里面后,那个限制值找不…

    SIMATIC S7-200 2020年11月5日
  • 网络连接提问

    电脑,S7-200 CPU222 PLC,TD400C如何连接起来?用什么?     S7-200 …

    SIMATIC S7-200 2021年7月5日