西门子200 Modbus_MSG 指令DONE完成位的困惑

程序如图,自己是按照循环周期来分析的程序,
周期1:M0.1置1,在网络7执行一次MBUS_MSG,这时VB801,VD802,VW806,还没有被赋值,应该默认为0,M0.3为1,将网络9中M0.2置1,进入第二扫描周期。
周期2:M0.3为1,C0计数一次,执行网络5进行赋值,在网络7中,M0.1已失效,用上周期被置位的M0.2执行一次MBUS_MSG,进行读数据,此时的DONE(m0.3)是上周期的1还是别的?就这个知识点弄不清,导致后续分析不对。网络8是如何执行的?网络8执行后M0.1 M0.2被置位,第三个周期及以后周期程序是如何循环进行读写的?
在论坛查询了一下DONE的问题,小弟愚钝,还是没看明白,求教各位师傅了,谢谢。

问题补充:
非常感谢WWCWWC老师的回答,通过200PLC做实验,已经理解了,将程序贴上来,希望帮助像我一样有困惑的朋友。

图片说明:

西门子200  Modbus_MSG 指令DONE完成位的困惑    西门子200  Modbus_MSG 指令DONE完成位的困惑   

最佳答案

关于done位的含义是指当该读、写指令完成后,一直为ON;需要等待下一个msg指令被执行时才会OFF。
此时done位值是前一次执行msg时的。
网络8的程序是执行msg期间的状态标志,是被复位。因为modbus rtu是轮询扫描机制,所以这个M0.1是作为第一次轮询周期的开始位,等第二次周期开始时失效了的。
当第二次扫描周期时,执行读,第三次扫描周期时,执行写,如此循环。

提问者对于答案的评价:
非常感谢.

专家置评

modbusRTU主站,与多个从站通讯或者与一个从站进行多个读写操作
建议:调用多个MSG,使用轮询方式,本个MSG的done位触发下一个MSG,并且复位本身MSG的触发条件
参考https://support.industry.siemens.com/cs/cn/zh/view/84175754
路径:s7-200plc-->通信章节-->modbus通信

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

(5)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月27日 下午5:17
下一篇 2017年6月27日 下午5:17

相关推荐

  • 关于S7-200的几个问题

    1、S7-200之间通讯有什么方法? 2、S7-200高速计数HSC0,HSC3选择12模式时,I0.0不能用来高速计数。这种情况下,I0.0能不能用来触发中断0,中断1…

    SIMATIC S7-200 2020年11月5日
  • 西门子200数据类型怎么处理

    目前有一个项目,通过西门子200通过modbus通信读取ID卡号信息,目前读取来的卡号为8位卡号,存放在两个字节里,分别为VW2000,和VW2002。以卡号223 33…

    2017年11月27日
  • plc之间的通讯

    有一项目,需要用三个S7–200PLC,但是几个模拟量是公用,也就是说现场提供三个模拟量信号,但需要三台PLC都采集这些信号,为了节省三个信号分配器,和两个模拟量扩展模块,能不能…

    SIMATIC S7-200 2021年7月5日
  • s7-200程序自保

    s7-200程序中写一个自保程序,再次下载后,自保程序仍通,地址不在断电数据自保的范围内。请问是什么原因。自保地址是M10.0,断电数据自保的范围是M14-18 最佳答案 你PLC…

    SIMATIC S7-200 2021年7月5日
  • 224xp 输入aiw32及以上编译错误?

    如题,为什么呢 最佳答案 是不是PLC类型没有选择正确? 提问者对于答案的评价:xx

    SIMATIC S7-200 2020年10月31日
  • 利用s7200的pls指令输出高数脉冲的问题?

    写了一段程序,如下图。 但是一上电i0.0未接通,q0.0口就一直输出5khz的脉冲。i0.1上电后脉冲停止,求解惑? 图片说明:    最佳答案 我…

    2017年5月31日
  • USS协议库文件密码

    S7200中调用USS协议库文件时都会生成相应的子程序,请问哪位大哥知道子程序的密码,可以打开子程序,看看USS块是怎么写的。 最佳答案 这个库文件我看过,还是蛮复杂的。其实你只要…

    SIMATIC S7-200 2020年11月1日
  • "MAP SERV Q0.0 (v1.8)" 库使用问题

    为什么在执行完定位指令或回参考点指令后,执行完成输出点(如绝对位置移动完成Done V150.1)一直为1,就是PLC断电重启后还为1?我需要定位完成后输出一个完成的脉冲…

    SIMATIC S7-200 2021年7月4日
  • 200PLC如何通过MODEM与WINCC通讯

    PLC200侧用的是CPU226,通过PC/PPI电缆与MODEM连接,再经电话线与WINCC侧MODEM连接,请问如何实现通讯 专家建议 圆圆圆,你好,如果要实现MODEM通讯,…

    SIMATIC S7-200 2021年7月4日
  • PC access与PLC通讯问题

    请问能否在两台机器上装PCaccess与同一台PLC通讯,如果可以请问怎么设置和实现,谢谢高手指点 问题补充:我用的是以太网通讯,在200PLC后有cp243一台网模块,我想在两台…

    SIMATIC S7-200 2018年12月3日