关于Modbus RTU库保持寄存器的地址

S7-200的modbus RTU库里holdstart所指的地址,是主机读取从机保持寄存器的起始地址,如果主机要给从机发请求强置寄存器(M0dbus功能16),那从机把接收到的信息放在哪个起始地址中呢?

问题补充:
恩,谢谢LaoHuai。

 我的程序是这样的:通讯程序采用的是ModbusRTU库,从机Holdstart设置为VB100,如果主机发送的请求报文中功能码为16,那么主机发送给从机的数据是否也放在VB100,若不是,放在哪?
 如果主机发送的请求报文功能码为5或者15,是否直接强制QB的位值,若不是,是怎样的?

 我是初学者,希望能得到大家的帮助,不胜感激, jugong,嘿嘿!

最佳答案

1、从机把接收到的信息放在哪个起始地址中呢?
  答:
  因为从站支持某种协议,所以它肯定要接受这种协议报文,至于接收后放到哪个寄存器里,恐怕只有设备生产商的设计人员知道。我们做工程应用的人只需要知道从站设备是否支持所选协议即可;关于从站是怎么处理接收报文,我们不需要知道。

  但从站接收到报文后,大概的流程是这样的:
  按照协议的规定,检测有无报文发送过来——>有的话——>判断是否符合本机支持的报文(比方说报文的头、校验数据是否符合协议)——>符合的话——>检查报文是否是发给本站的(只要看从站号)——>若是发给本站的——>那么检查发送过的指令(是读命令、写命令、读什么、写什么、怎么写)——>检查出具体的报文指令后——>检查这些指令要操作(读或写)哪些寄存器——>操作寄存器——>或从站做一个符合协议的报文反馈给主站。

  2、主机发送给从机的数据是否也放在VB100,若不是,放在哪?
  答:
  不一定。你不需要知道从站把你主站发送过来的报文信息放在哪里,但必须知道主站是怎么发送的。

  3、如果主机发送的请求报文功能码为5或者15,是否直接强制QB的位值,若不是,是怎样的?
  答:
  05 是写单个线圈;15是写多个线圈。
  可以直接强制QB,但是有个前提条件:程序里没有对这个线圈进行写操作(置位或复位)。

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

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

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

相关推荐

  • S7 200 SMART 编程口的问题

    我有一台smart 200, 网口用MODBUS tcp和伺服通讯,COM0口做MODBUS rtu从站与触摸屏通讯,我想请问一下两个口都改…

    SIMATIC S7-200 2021年7月5日
  • CPU224与组态王通讯问题

    大家好,我有一台CPU224,想通过组态王6.5.1建立上位机监控系统。在用组态王的过程中,在定义外部设备时的向导里有一项是需要填设备地址,我看了他的帮助文件依然没有搞懂。我只有一…

    SIMATIC S7-200 2021年7月5日
  • 怎样设定时间倍数?

    我现在用定时器T47,它的分辨率是100MS。 LD     I0.0 TON  &nbs…

    SIMATIC S7-200 2021年7月5日
  • Modbus的技巧

    通常在做modbus的时候是否需要让MBUS_msg块循环读写? 最佳答案 2个站以上或2个不连续区域的数据区采集必需要用轮询了。 提问者对于答案的评价:谢谢 专家置评 已阅,最佳…

    SIMATIC S7-200 2017年11月6日
  • PLS脉冲输入和高速计数机HSC0模式12

    怎样用HSC0计数Q0.0发出的脉冲数s7-200最好有程序例子 钻石用户推荐最佳答案 高速计数器__SIMATIC S7-200:http://www.ad.sieme…

    SIMATIC S7-200 2021年7月5日
  • 求助S7200问题

    我的目标把VD1000的值,每隔1秒存到VD7000,VD7004,VD7008………这样一直下去. 想用指针做.中断已经写好. 哪位大牛指导下.谢…

    SIMATIC S7-200 2021年7月4日
  • 西门子300的以太网通讯-200

    300和200通过以太网通信时 200作为客户机时 300那边需要做什么工作,300那边要不要组态200的未指定连接然后填写200的tsap地址呢?????如果…

    SIMATIC S7-200 2021年7月5日
  • s7-200时钟设置

    s7-200时钟设置问题: 1、在软件编程界面,连接PLC,然后选择菜单命令 PLC(PLC)> 实时时钟(Time of …

    SIMATIC S7-200 2021年7月4日
  • 关于S7-200定时器的问题?

    我想利用SM0.4这个分钟脉冲来实现分钟定时,该如何使用,好象200的里面定时器最多可以计数到3276.7秒,还有其他的方法实现吗? 最佳答案 对sm0.4的上升沿进行计数,将计数…

    SIMATIC S7-200 2021年7月5日
  • TIA怎么将数组的字节转送到双字的第二个字节

    我建了一个数组,里面有5个字节1-5,我想把这5个字节传到从MD200开始的5个双字里面每个的第二个字节里面。这个程序应该怎么写。 最佳答案 5个不多,MD200这个地址也是固定的…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论