suiyuan666
级别: 论坛先锋
精华主题: 0
发帖数量: 737 个
工控威望: 1389 点
下载积分: 4942 分
在线时间: 744(小时)
注册时间: 2008-06-15
最后登录: 2024-11-20
查看suiyuan666的 主题 / 回贴
楼主  发表于: 2014-04-30 15:58
图片:
图片:
大家好,我用s7-200读取台达温控表(DTA4848)的温度,但不知道读写从站的数据地址是多少?温控表使用MODBUS  RTU 通讯格式。通讯参数如图所示。谢谢大家指点下!
xuyifu
级别: 略有小成
精华主题: 0
发帖数量: 119 个
工控威望: 262 点
下载积分: 1305 分
在线时间: 134(小时)
注册时间: 2013-08-13
最后登录: 2018-04-28
查看xuyifu的 主题 / 回贴
1楼  发表于: 2014-04-30 17:14
引用
引用楼主suiyuan666于2014-04-30 15:58发表的 S7-200与台达温控表通讯不上 :
大家好,我用s7-200读取台达温控表(DTA4848)的温度,但不知道读写从站的数据地址是多少?温控表使用MODBUS  RTU 通讯格式。通讯参数如图所示。谢谢大家指点下!


西门子MODBUS库只支持RTU格式的,而你的仪表是ASCII的故必须用自由口通讯协议做一个MODBUS  ASCII的协议
附件: S7-200_Modbus通信培训教程.pdf (1041 K) 下载次数:252
网站提示: 请不要用迅雷下载附件,容易出错
附件: S7-200_自由口通信培训教程.pdf (906 K) 下载次数:213
网站提示: 请不要用迅雷下载附件,容易出错
xuyifu
级别: 略有小成
精华主题: 0
发帖数量: 119 个
工控威望: 262 点
下载积分: 1305 分
在线时间: 134(小时)
注册时间: 2013-08-13
最后登录: 2018-04-28
查看xuyifu的 主题 / 回贴
2楼  发表于: 2014-04-30 17:23
如果你的地址是4700H 转化成十进制加40001就是实际的对应地址 但是你的4700H转化成十进制后18176超过了9999,所以要变成400001加18176,418177才是你的对应地址。如果不懂欢迎交流120541058
本帖最近评分记录:
  • 下载积分:+1(yangtongjin)
    xuyifu
    级别: 略有小成
    精华主题: 0
    发帖数量: 119 个
    工控威望: 262 点
    下载积分: 1305 分
    在线时间: 134(小时)
    注册时间: 2013-08-13
    最后登录: 2018-04-28
    查看xuyifu的 主题 / 回贴
    3楼  发表于: 2014-04-30 17:27
    Modbus保持地址通常在40001到49999的范围内。该范围对大多数应用程序来说足够了,但是某些数据映射到保持寄存器的Modbus从站所具有的地址超过9999。这些设备不适合常规的Modbus寻址方案。
    Modbus主设备指令支持通过可选的寻址方法对大于9999的保持寄存器进行寻址。MBUS_MSG指令允许参数"地址"具有附加范围以支持保持寄存器地址的扩充范围。

    400001至465536用于保持寄存器

    例如:要访问保持寄存器16768,MBUS_MSG的"地址"参数应该设置为416768。
    扩充寻址允许访问Modbus协议支持的65536个可能地址的全部范围。该扩充寻址仅支持保持.
    这是我从西门子软件的帮助文件复制的一段。
    xuyifu
    级别: 略有小成
    精华主题: 0
    发帖数量: 119 个
    工控威望: 262 点
    下载积分: 1305 分
    在线时间: 134(小时)
    注册时间: 2013-08-13
    最后登录: 2018-04-28
    查看xuyifu的 主题 / 回贴
    4楼  发表于: 2014-04-30 17:29