西门子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日
下一篇 2017年6月27日

相关推荐

  • vw存储数据可否锁定范围

    用的s7-200加td400c,用td更改vw存储区的数据,是否可以锁定范围,比如说只能在0-4之间更改。 专家建议 龙吟凤您好!    &…

    SIMATIC S7-200 2021年7月5日
  • TD400C文本报错问题

    TD400C报非严重故障,运行时间错误000A;各位大神帮忙看下如何解决 最佳答案 这个故障是PLC运行时间错误信息显示在TD400C文本显示器上,属于非致命错误不会导致PLC无法…

    2021年7月5日
  • 请教关于200程序实现分频

    LD     I0.0 LPS EU S     …

    SIMATIC S7-200 2021年7月5日
  • EM241的应用

    我想用电脑上的编程软件或组态软件,用PC-PPI连接到modbus调制解调器上,再经过电话线,到远程的带有EM241的CPU224上,可以进行编程、下载,在线或是修改等,不知该如何…

    SIMATIC S7-200 2020年11月1日
  • 200怎么通过modbus采集下面数据发上来的CRC

    200怎么通过modbus采集下面数据发上来的CRC,我的意思是说下面单片机发上来的数据包含CRC校验,但是我在200程序里也做了CRC,能计算出下面的数据的CRC值,但是PLC-…

    SIMATIC S7-200 2021年7月5日
  • 如何用PID同时控制加热冷却

    温度控制,有加热器和冷却水阀门(都是开关量的),当温度低于设定值,控制加热器,当高于设定值,控制冷却水阀门。如何用PID控制,有2个输出,同时控制加热和冷却,让温度恒定 最佳答案 …

    SIMATIC S7-200 2020年10月31日
  • 两个S7200组网

    我现在有两个S7200CN的CPU,想组一个PPI网络,通过PPI电缆和PC连接。是不是用两个网络接头把三者连接起来,PPI电缆的接头接在第一个CPU的头子上就可以。两个CPU直接…

    SIMATIC S7-200 2021年7月4日
  • 如何实现任意定时

    我要做个工程,要求定时器根据工艺要求可以做适当的改动,我现在的做法是在程序内做个一分钟的子程序,通过组态画面设定时间。然后通过比较实现定时功能。我想请问高手200中最多可以定时多少…

    SIMATIC S7-200 2021年7月5日
  • 一个CPU226.三个CPU224怎么通信去控制

    一个CPU226.三个CPU224怎么通信去控制112点摸拟量输入.去控制112个发热砖正常工作 最佳答案 CPU226做主站,三个CPU224做从站,每个CPU带八个321PT1…

    SIMATIC S7-200 2021年7月5日
  • PTO状态位SM66.7如何使用啊?

    PTO状态位SM66.7如何使用啊?不是SM66.7=0的时候是正在发脉冲,SM66.7=1是脉冲已经发完了,处于空闲吗? 最佳答案 SM66.7=0的时候代表控制脉冲(PTO&n…

    SIMATIC S7-200 2020年11月1日