S7-200 和 S7-200 SMART 的 MODBUS 库主站指令有什么不同吗?

在S7-200和S7-200 Smart编程软件的帮助文件中,对MBUS_MSG指令的输出分别有下面的描述:
S7-200:
"完成"输出在发送请求和接收应答时关闭。"完成"输出在应答完成或MBUS_MSG指令因错误而中止时打开。

S7-200 Smart:
程序已发送请求并接收响应后,Done 输出为 FALSE。响应完成或 MBUS_MSG 指令因错误中止时,Done 输出为 TRUE。

按照字面意思,这两个指令是有区别的。S7-200在改写First参数后,Done就被复位为False;而S7-200 Smart需要在接收从站响应后才复位Done为False,至少要在一个扫描周期之后。真的是这样吗?

问题补充:
两位都没有回答我的问题。我想知道:S7-200 SMART 的 MBUS_MSG 指令输出的 DONE 是什么时候被复位为 FALSE 的?是和 S7-200 一样,在执行了该指令后即被复位为 FALSE?还是如中方版手册描述的,在接收到从站的应答后才被复位为 FALSE?
特意下载了英文版手册,上面是这样描述的:The Done output is FALSE after the program has sent a request and is receiving a response.按我的理解,应该是在发送了请求后并且正在接收应答时复位 DONE 为 FASLE。这应该与 S7-200 一样。我的英文不太好,请大家帮助参谋一下,是我对英文手册的理解不对,还是中文版手册翻译错误?

最佳答案

1、200中
done位的含义是指当该读、写指令完成后,一直为ON;需要等待下一个msg指令被执行时才会OFF。
此时done位值是前一次执行msg时的。
2、200 smart中
MBUS_MSG 指令被激活时将发送 Modbus 请求报文帧,如果在Timeout 参数定义的时间间隔内主站未接收到从站应答,Modbus RTU 主站协议库默认的情况下还会再发送 2 次 Modbus 请求报文帧;在最后一次请求报文帧发送后,经过 Timeout 参数定义的时间间隔后还未收到应答时, MBUS_MSG 指令的 Done 完成位才被设置为 1 。将 mModbusRetries 变量的数值由 2 改为 0 ,即可取消 Modbus 请求报文帧的重试次数。mModbusRetries 变量的绝对地址可通过查询Modbus RTU 主站协议库的符号表获取。

参考https://support.industry.siemens.com/cs/cn/zh/view/84175754
路径:s7-200plc-->通信章节-->modbus通信

补充:英文版的翻译过来在程序发出请求并接收响应后,他完成输出是false。200中在发出指令被执行完毕时done为ON,在等待下一个msg指令被执行时才会OFF。所以中文翻译的没错。200smsrt在Modbus执行:通信中时done置1,无 Modbus 通信活动时done为 0。
《200smart Modbus通信常见问题》其中介绍了几个案例
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:09
下一篇 2021年7月5日 下午2:10

相关推荐

  • 200与wincc通讯问题

    200通过cp243-1与上位机连接,我看书是都是通过opc的方式与wincc通讯,wincc不能直接访问200吗?300中能直接访问吗?200与wincc用以太网连接通过opc访…

    SIMATIC S7-200 2021年7月5日
  • 数据输入问题

    MOVB     100,VB0        &…

    SIMATIC S7-200 2021年7月5日
  • 两液位段位控制

    两个液位控制一个泵,用段位控制。a罐往b罐输送液体,a罐开始控制电机以50赫兹启动,并且减速运行到设定液位。当b罐液位升到设定液位时,将控制权给b罐液位控制。当b罐液位接近高限时频…

    2017年6月4日
  • Modbus协议通讯冲突?

    我现在使用串口服务器与两台S7-200PLC通讯,使用自由口通讯协议,通讯冲突,也就是始终1台能用.经咨询,建议上位做主站轮询.请教大侠,改用MODBUS协议还需要轮询吗?就是想从…

    SIMATIC S7-200 2017年6月10日
  • 西门子温度模块

    西门子温度模块231能不能读NTC温度探头 最佳答案 NTC热敏电阻不能直接接到231模块。EM231模块只能接受电流或者电压信号。就算你想建立电阻与电压的关系,此时电阻与电流电压…

    SIMATIC S7-200 2017年6月24日
  • S7200控制台达伺服电机

    用S7200系列CPU,在不加定位模块情况下如何控制台达伺服电机。要求电机实现正、反转功能,、复位功能、可以控制输出电机转动1.00~10.00圈,请问CPU该如何选型,及对应台达…

    SIMATIC S7-200 2020年11月1日
  • STEP 7 Micro/WIN V 4.0

    STEP 7 Micro/WIN V 4.0软件使用手册在哪里下载,打开软件帮助也打开不了。 钻石用户推荐最佳答案 西门子 ste…

    SIMATIC S7-200 2021年7月5日
  • 西门子s7200自由口通信 在接受情况下发送数据

    现在我用s7200的plc 做自由口通信,自由口初始是接受,接受后在接受完成中断里,调用定时中断发送数据,延时后发送数据,发送完成后调用发送完成中断里面,接着做接受,现在…

    SIMATIC S7-200 2021年7月5日
  • 只有一个子程序

    乱套了,怎么办 问题补充:有没有详细一些资料说明库怎么制作才不出问题。把OUT改为IN_OUT后问题一样存在。某些点一直接通,有些又不会接通 图片说明:    …

    2017年5月31日
  • 关于S700的SMB86超时解释

    这个超时时间是怎么定义的,固定的吗,比较困惑 最佳答案 SMB86到SMB94和SMB186到SMB194用于控制和读出接收消息指令的状态。SMB86用于端口0,接收消息状态字节。…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论