lzmtxp99
级别: 家园常客
精华主题: 0
发帖数量: 506 个
工控威望: 730 点
下载积分: 2103 分
在线时间: 535(小时)
注册时间: 2010-12-16
最后登录: 2026-03-05
查看lzmtxp99的 主题 / 回贴
楼主  发表于: 22天前
最近用西门子S7-1200用了MODBUS RTU与智能设备通信,同时用了MODBUS TCP与上位机通信,但是有一个问题就是MODBUS RTU有一个访问地址40001没法替换,只能用这个地址,同时MODBUS TCP的访问的起始地址也是从40001开始的,就像问下这两个通信的起始地址是不是同一个,还有就是MODBUS TCP的起始地址能不能改到400001?
森利德
向大佬学习 向大佬致敬
级别: 工控侠客
精华主题: 0
发帖数量: 1167 个
工控威望: 4368 点
下载积分: 3725 分
在线时间: 316(小时)
注册时间: 2023-01-16
最后登录: 2026-03-24
查看森利德的 主题 / 回贴
1楼  发表于: 21天前
图片:
给你个换算表格 你参考下
fczxjh
级别: 论坛先锋
精华主题: 0
发帖数量: 738 个
工控威望: 1803 点
下载积分: 367 分
在线时间: 311(小时)
注册时间: 2019-07-15
最后登录: 2026-03-24
查看fczxjh的 主题 / 回贴
2楼  发表于: 21天前
首先RTU物理层面是串口,而TCP是网口。协议上是MODBUS的两种分支。

在PLC上,你用的不同协议通信,各自有各自的通信块、数据块、轮询、主站子站,

也就是说RTU和TCP是互不干涉的,相当于两条街都有一间房子40001,但是这是不同的两个房子,之间没有关系
楼主留言:
好的,谢谢
本帖最近评分记录:
  • 下载积分:+5(wzbarley) 正解!
  • 下载积分:+5(sunper) 这个解释通透 通俗易懂
    龙云浪子
    级别: 工控侠客
    精华主题: 0
    发帖数量: 451 个
    工控威望: 3343 点
    下载积分: 7985 分
    在线时间: 482(小时)
    注册时间: 2013-01-18
    最后登录: 2026-03-23
    查看龙云浪子的 主题 / 回贴
    3楼  发表于: 21天前
    引用
    引用第2楼fczxjh于2026-03-03 16:57发表的 Re:问个简单的问题:西门子MODBUS TCP 与MODBUS RTU的地址是不是同一地 .. :
    首先RTU物理层面是串口,而TCP是网口。协议上是MODBUS的两种分支。

    在PLC上,你用的不同协议通信,各自有各自的通信块、数据块、轮询、主站子站,

    也就是说RTU和TCP是互不干涉的,相当于两条街都有一间房子40001,但是这是不同的两个房子,之间没有关系

    我觉得前面说的都对,但是结论错了。40001都是同一个“罗马”,条条大路通罗马,不同的协议则是去“罗马”的方式不同,是走路去,还是坐高铁/飞机去?
    楼主留言:
    好的,谢谢
    wzbarley
    好好学习,天天向上。
    级别: 略有小成
    精华主题: 0
    发帖数量: 222 个
    工控威望: 267 点
    下载积分: 30323 分
    在线时间: 391(小时)
    注册时间: 2023-09-27
    最后登录: 2026-03-22
    查看wzbarley的 主题 / 回贴
    4楼  发表于: 21天前
    引用
    引用第3楼龙云浪子于2026-03-03 20:54发表的 Re:西门子MODBUS TCP 与MODBUS RTU的地址是不是同一地址 :

    我觉得前面说的都对,但是结论错了。40001都是同一个“罗马”,条条大路通罗马,不同的协议则是去“罗马”的方式不同,是走路去,还是坐高铁/飞机去?

    RTU是对设备,TCP是对上位机;怎么能是同一个罗马呢?是同名的两个地方罢了。
    楼主留言:
    好的,谢谢
    好好学习,天天向上。
    bifujian100
    苦海无边
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 1251 个
    工控威望: 1568 点
    下载积分: 6605 分
    在线时间: 79(小时)
    注册时间: 2023-12-12
    最后登录: 2026-03-23
    查看bifujian100的 主题 / 回贴
    5楼  发表于: 15天前
    我觉得3楼说的对
    山坡羊·潼关怀古
    元·张养浩

    峰峦如聚,波涛如怒,山河表里潼关路。
    望西都,意踌躇。
    伤心秦汉经行处,宫阙万间都做了土。

    兴,百姓苦;亡,百姓苦。(神之预言)
    往事如风
    科技改变制造
    级别: 网络英雄

    精华主题: 0
    发帖数量: 12199 个
    工控威望: 20007 点
    下载积分: 16262 分
    在线时间: 2862(小时)
    注册时间: 2013-01-31
    最后登录: 2026-03-24
    查看往事如风的 主题 / 回贴
    6楼  发表于: 14天前
    引用
    引用楼主lzmtxp99于2026-03-03 13:44发表的 问个简单的问题:西门子MODBUS TCP 与MODBUS RTU的地址是不是同一地址? :
    最近用西门子S7-1200用了MODBUS RTU与智能设备通信,同时用了MODBUS TCP与上位机通信,但是有一个问题就是MODBUS RTU有一个访问地址40001没法替换,只能用这个地址,同时MODBUS TCP的访问的起始地址也是从40001开始的,就像问下这两个通信的起始地址是不是同一个,还有就是MODBUS TCP的起始地址能不能改到400001?

    说明MODBUS-TCP 需要体现一个站号的,所以理论上这个40001与RTU中的40001只要站号不同,就可以使用
    三人行者必有我师 ,择其善者而从之
    格林
    我听到了花开的声音,也看到了花落的结局.
    级别: 工控侠客
    精华主题: 0
    发帖数量: 161 个
    工控威望: 3418 点
    下载积分: 3782 分
    在线时间: 62(小时)
    注册时间: 2011-06-08
    最后登录: 2026-03-23
    查看格林的 主题 / 回贴
    7楼  发表于: 6天前
    MODBUS-RTU的报文格式是:站号+功能码+起始地址+连续地址长度+CRC校验码。
    同时读取多个从站的40001寄存器的时候是通过站号区分的。
    MODBUS-TCP协议是将MODBUS-RTU的报文内容嵌入到TCP数据帧中并取消了CRC校验码,例如MODBUS-RTU的主站报文为:01 03 00 00 00 01 84 0A   01是站号,03是功能码,00 00是起始地址,00 01是连续地址长度,84 0A是CRC校验码。
    那么在TCP报文中也能找到01 03 00 00 00 01这串数字
    格林
    我听到了花开的声音,也看到了花落的结局.
    级别: 工控侠客
    精华主题: 0
    发帖数量: 161 个
    工控威望: 3418 点
    下载积分: 3782 分
    在线时间: 62(小时)
    注册时间: 2011-06-08
    最后登录: 2026-03-23
    查看格林的 主题 / 回贴
    8楼  发表于: 前天
    通过MODBUS-RTU或MODBUS-TCP访问西门子的MODBUS地址是一样的,MODBUS-RTU走的是485总线,MODBUS-TCP走的是网线,在MODBUS-TCP报文中有一部分字节内容与MODBUS-RTU的字节内容相同,只是去掉了CRC校验码。