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

相关推荐

  • modbuS与主站通信不上

    请教一下大家:现场一台S7-200,224XP,与DCS主站用modbus通信,在主站机房的串口板上,我用笔记本用MODSCAN32去读PLC,数据正常,但主站无法读上数据,只有发…

    SIMATIC S7-200 2021年7月4日
  • 怎样用s7-200编写一个时间间隔运行电机程序啊

    比如说启动时运行1H 停止2H后继续循环运行1H  这样往复运动 最佳答案 呃,这个当电机运行后直接用SM0.4一分钟一脉冲触发一个地址累加1。当加到…

    SIMATIC S7-200 2017年12月10日
  • 调用PID子程序

    我编了两条PID指令,出现了两个子程序“PID0_INIT”,“PID1_INIT”,一个中断“PID_EXE“,我如果是自动执行PID,那么我是否只要在主程序中用SM0.0调用这…

    SIMATIC S7-200 2021年7月5日
  • 批量清0

    VW0到VW100的50个字批量清0,我设计是M1.0为1,把0传送给VW0、VW2.…………VW100有点烦,有没有简单点的方法。 最佳答案 fill_N指令可以满足你的需求,该…

    SIMATIC S7-200 2021年7月5日
  • 如何跳出发送中断

    当传感器有感应的时候发送字符给上位机,然后到中断,等待接受字符,如何让它超时就跳出中断,不在接受字符? 现在如果他没有接受到字符就一直卡再中断那里 最佳答案 在《Micr…

    SIMATIC S7-200 2017年5月31日
  • 24V电源会把S7-200的通信口烧掉吗?

    我有一个系统需要通过导电滑环(旋转的)把2个S7-200通过PPI通讯.因为一个PLC在旋转的机器上面,一个PLC在旋转的机器下面.其中上面的我也必须要接入24V的直流电源供PLC…

    SIMATIC S7-200 2021年7月5日
  • 关于 S7-200 MODBUS 通讯数据位数的问题

    我用S7-200通过DTU 和 和利士 上位机通讯,用的是modbus协议,modbus默认传输的单位是 字,而我要用的是双字( …

    SIMATIC S7-200 2018年3月6日
  • 如何将VD0的数值显示在屏幕上面

    如何将VD0的数值显示在屏幕上面 我用的是S7-200的PLC 屏是KTP178的 直接读取VD0 总显示不出来 请问正确的读取显…

    SIMATIC S7-200 2021年7月4日
  • 程序学习问题

    各位大虾,怎样才能学习到比数字量更深一点的S7-200程序编写方法. 问题补充:多谢各位指教,但是手册里有好多处看不懂,不知哪里有通俗一点的系统手册下载 最佳答案 如liwenqu…

    SIMATIC S7-200 2021年7月5日
  • S7-200 226CN通讯连接不上

    win7 系统,已经安装了  step7 v5.5 ,使用PC Adapter USB 连接,就出现…

    2017年7月25日

发表回复

登录后才能评论