关于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

相关推荐

  • s7200程序打不开问题

    用pc adapter usb(6es7 972 0cb20 0xa0)连接s7- 200cn(软件v4.0 …

    SIMATIC S7-200 2018年3月6日
  • V 存储器不能强制

    S7-200 里面。请问 V 存储器为何不能强制啊。比如 V100.0 最佳答案 1、打开编程软件 按F1,帮助主题里输入&nbs…

    SIMATIC S7-200 2020年11月1日
  • 步进电机的控制问题

    如何用光电信号控制步进电机,也就是用光电开关信号启动或停止步进电机,有信号时启动无信号马上停止,要求速度要快,这样一来如何给步进减速时间呢,如何编程序,有实际程序最好发个我了,用C…

    SIMATIC S7-200 2021年7月5日
  • 请教CP243-1 通信问题

    S7-200通过CP243-1与MP277和WINCC通信,先去MP277通信的,一点问题都没有,可是通过V1.0 PC Access想与WINCC通信时,测试…

    SIMATIC S7-200 2018年1月1日
  • 请教个EM231RTD的断线问题~求大神

    CPU用的226,后面挂了三个231模块,外接PT100,最近一个月总有断线报警,后来把其中一路改接了个电位器还是经常出现断线误报警,感觉应该不是外部传感器的问题啊。。另外第三个2…

    SIMATIC S7-200 2017年8月16日
  • 224xp 模拟量控制

    各位老师:我想用224  XP的模拟量(电流)输出 来控制其他品牌的变频器的转速,,变频器接受的信号是4-20mA,我用200中的S_RTI指令,IN…

    SIMATIC S7-200 2020年11月1日
  • 用1个按钮实现开关切换

    请问当i0.0输入一个上升沿的时候q0.0输出为高电平,当i0.0再次输入一个上升沿的时候q0.0输出为低电平(循环),每次输入的时间间隔不得小于1秒,用s7-200的梯形图怎么编…

    SIMATIC S7-200 2021年7月5日
  • S7-200高速计数编程的问题!!!

    我的旋转编码器(1000脉冲\转),我是用向导编的高速计数程序,程序已经在项目中使用了,但还有不少地方没搞清楚,向导完成后自动生成一个HSC0_INT,在主程序里我用SM0.1调用…

    SIMATIC S7-200 2020年10月31日
  • ABZ增量型编码器如何与CPU224接线?

    我的编码器是DC24V 增量型的,有电源VCC GND,关键是ABZ里面,这个Z相是随意接一个输入点啊? 最佳答案 不是的。当你指定了高速计数器事件号,这个输入…

    2017年5月31日
  • STEP 7 Micro/WIN SMART v2.3安装不了

    卸载V2.1后,安装V2.3,安装出现错误提示,安装不成功,见图,提示检测到以前的版本,请问该怎么办? 问题补充:在已安装的软件中也找不到STEP 7 Micr…

    2021年7月5日

发表回复

登录后才能评论