中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

三菱Mitsubishi

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 三菱Mitsubishi → 浏览主题: FX3U RS485 BD 编写Modbus从站功能码通讯程序
发表新帖 回复该主题
回帖:14个,阅读:974 [上一页] [1] [2] [下一页]
* 帖子主题:

FX3U RS485 BD 编写Modbus从站功能码通讯程序

分享到
538
夜问夜问
文章数:9
年度积分:65
历史总积分:538
注册时间:2016/7/20
发站内信
发表于:2022/12/14 17:30:13
#10楼
di

附件 9bef9111cfb6a2c860539bf00a8c886.jpg

附件 edd537934077c16a163a0a9e9d38b79.jpg

FX3U RS485 BD 编写Modbus功能码03通讯 第四位只能小于255,大于255就通讯不上,找不到问题。
下面提到保持寄存器地址40001,这个40001是什么?对应哪里?

03(0x03)读取保持寄存器值
功能说明
用于读取从设备保持寄存器的内容,不支持广播模式。消息帧中指定了需读取的保持寄存器的起始地址和数目。而保持寄存器中各地址的具体内容和意义,则由设备开发者自行规定。

查询报文
在查询报文中,必须指定保持寄存器的开始地址和需读取的寄存器数量。起始位置由2个字节构成,取值范围为0x00000xFFFF;寄存器数量由2个字节构成,取值范围为0x00010x007D(即十进制1~255),即最多可以连续读取125个寄存器。

有一点特别需要注意,Modbus的保持寄存器和输入寄存器是以字(Word)为基本单位的(1Word=2byte),所以,如果读取保持寄存器地址为40001开始的一个16位(bit)的无符号数,那么返回2个字节(byte),并可以从40002开始读取下一个16位的无符号数。如果需读取寄存器地址40001开始的是一个32位浮点数,则需要返回4个字节,即必须连续读取40001和40002的内容,而且下一个32位浮点数必须从40003开始读取。对于浮点数(或者32位的整数)而言,连续读取的两个寄存器之间存在字节序和大小端的问题,这一点在开发时必须引起注意。
538
夜问夜问
文章数:9
年度积分:65
历史总积分:538
注册时间:2016/7/20
发站内信
发表于:2022/12/15 8:04:15
#11楼
回复 #8楼 guanyumou
感谢提供参考资料,你的视屏确实不错。
27509
guanyumou 版主
文章数:10493
年度积分:692
历史总积分:27509
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2022/12/15 9:51:38
#12楼
FX3U RS485 BD 编写Modbus功能码03通讯 第四位只能小于255,大于255就通讯不上,找不到问题。
下面提到保持寄存器地址40001,这个40001是什么?对应哪里?
===============================
400001指的是第1路保持寄存器,对应的实际地址为0x0000,使用03、06、16、23功能码对其进行读写操作。
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
538
夜问夜问
文章数:9
年度积分:65
历史总积分:538
注册时间:2016/7/20
发站内信
发表于:2022/12/15 10:07:24
#13楼
回复 #12楼 guanyumou
我想请教一下 FX3U RS485 BD 编写Modbus功能码03通讯 数据寄存器中的值为什么能小于255,大于255就通讯不上这是什么原因造成的呢,我用 Modbus Poll和Modbus Slave这两个软件通讯调试数据寄存器写3000都没有问题。
27509
guanyumou 版主
文章数:10493
年度积分:692
历史总积分:27509
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2022/12/15 21:56:35
#14楼
以下是引用夜问夜问2022/12/15 10:07:24的发言:
我想请教一下 FX3U RS485 BD 编写Modbus功能码03通讯 数据寄存器中的值为什么能小于255,大于255就通讯不上这是什么原因造成的呢,我用 Modbus Poll和Modbus Slave这两个软件通讯调试数据寄存器写3000都没有问题。
没看到程序,不好分析。
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
工控学堂推荐视频:

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004