回复:CP341做从站modbus RTU与DCS通讯,给DCS的modbus地址怎么确定

扫地老头

  • 帖子

    1129
  • 精华

    9
  • 被关注

    7

论坛等级:侠士

注册时间:2005-09-09

普通 普通 如何晋级?

发布于 2013-04-25 14:10:56

16楼

我来试试说明下,看看能不能帮你讲明白

首先,modbus通讯,主站发过来来的询问报文里,肯定含有需要查询的寄存器地址,没有办法,这是modbus协议决定的。
第二,你用的modsim或是Modscan等调试工具或是标准的modbus设备,里面都有0XXXXX,1XXXXX,3XXXXX,4XXXXX这样4类寄存器,这些都是基于协议要求,软件或产品在管理内存时,分别规划好了4个区域,用来对应4个寄存器。 这是成熟软件或是产品已经做好了,不用你做,但你要知道有什么回事。

第三:西门子的S7系统并没有帮你规划好这样的寄存器对应区域,因此,西门子的手册里需要在硬件组态里配置功能码对应的地址区域, 其目的就是让你给安排下0XXXXX,1XXXXX,3XXXXX,4XXXXX这4类寄存器和西门子S7系统里的数据存储区域的对应关系。至于怎么在硬件组态里配置,不用看手册,打开界面基本上就知道怎么回事了,这里不啰嗦了。

只是,西门子的硬件配置里对应关系表设计的,看起来和用起来都不是很爽。其实如果当初在设计时所有的4类寄存器都对应同一个DB块,只是对应不同的偏移地址时,那么配置起来就一目了然了。

也正因为此,我从来不用西门子的dongle来做,自己编写了功能块,不但省掉了dongle的费用,还把所有需要通讯的数据放在一个db块里,只要定义几个偏移地址就行了。
莫等闲,白了少年头,空悲切!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。