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

相关推荐

  • S7-200如何与计算机通信

    我需要用计算机与S7-200 CPU222进行通信,手上有编程软件1套,编程电缆PC/PPI1条,请问还需要什么就可以用计算机对PLC进行程序传输,谢谢! 问题补充:我的…

    SIMATIC S7-200 2020年11月1日
  • S7-200有保持继电器吗

    我用上位机给S7-200中的VW22输入数,可是下电后,数值丢了,变为0.,因为经常调整该数,并且想让下电后,再上电时,上次的数值仍然保存在里面.我怎样才能保持住原数据?&nbsp…

    SIMATIC S7-200 2021年7月4日
  • 200的 PLC通讯都有什么

    如题 最佳答案 1、最基本的是PPI方式,本机CPU都集成这个接口,可以通过它来编程调试,连接HMI,也可以用于多个S7200之间做主从通讯。 2、兼容的MPI方式,S7…

    SIMATIC S7-200 2021年7月5日
  • S7-200,300格雷码转二进制的指令在哪?

    在两个软件里的指令里都没有找到这个指令?遇到二进制转格雷码的情况怎么办呢?自己怎么编写呢? 最佳答案 S7-300沒有现成的转换功能块,具体请参考:《S7-300有没有格雷码转二进…

    SIMATIC S7-200 2020年10月31日
  • 用222+em235做温度控制

    输出是数字量Q0.0,用pid自整定得出的p值,I值。可是输出误差有2度,还有Q0.0的值怎么是0-1的小数呢,不是应该是0或1吗? 问题补充:EM235输出已经被PT100占用了…

    SIMATIC S7-200 2020年10月31日
  • 定时器T36 的预设值是个变量,预设值如何读取

    s7-200 定时器T36 的预设值是个变量,需要从触摸屏中设置读取,T36的预设值如何读取?例如 我设置 T36 的 …

    SIMATIC S7-200 2017年11月29日
  • EM231 8通道模拟量输入

    我现在有一个正负9v的电压信号 怎么才能转换成正负5V的吗 最佳答案 因为该模拟量输入模块选择没有正负10v的电压信号(包含正负9v的电压信号),所以需要在外部先进行电压…

    2017年11月4日
  • 光电开关怎么接线啊

    光电开关怎么接线啊 最佳答案 假定接i0.0  plc的L+       接 &…

    SIMATIC S7-200 2021年7月5日
  • 字符串比较问题

    用条形码扫描器接s7-200自由口,扫描器扫描的一维条形码字符串寄存在smb2,可否通过比较指令比较“字符串”的前5位,将字符串分类 最佳答案 可否通过比较指令比较“字符串”的前5…

    SIMATIC S7-200 2020年11月1日
  • sT30

    ST3O cpu用什么编程软件 钻石用户推荐最佳答案 用:STEP 7 Micro/WIN SMARThttps://support.ind…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论