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

三菱Mitsubishi

抖音 德嘉 泓格论坛 FLIR红外热像论坛
工控论坛首页 三菱Mitsubishi → 浏览主题: FX5U MODBUS数据转换问题
发表新帖 回复该主题
回帖:17个,阅读:1164 [上一页] [1] [2] [下一页]
* 帖子主题:

FX5U MODBUS数据转换问题

分享到
27456
guanyumou 版主
文章数:10485
年度积分:639
历史总积分:27456
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2021/11/27 17:19:57
#10楼
以下是引用twtynijj2021/11/27 9:03:23的发言:
附件 捕获.jpg

关工手册上的意思 是要读两个连续的MODBUS地址  00C6H和00C7H 里面存放的就是所要的数据 。这种情况连续两怎么读呢。两个组成的一个数据!
32位整数?如果数据不对,高低16位互换一下
如果地址不对,错一位试试。
+8
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
40798
YXBK 版主
文章数:18697
年度积分:1212
历史总积分:40798
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2021/11/27 20:48:38
#11楼
回复 #7楼 twtynijj
应该是高低位的问题,东方马达 C6是上位 C7是下位, PLC读取后   C6对应D200  C7对应D201

而在PLC里面的32位是D201 D200这样排列的,刚好高低位相反,所以要互换一下。

附件 微信截图_20211127204409.jpg
[此贴子已经被作者于2021/11/27 20:56:17编辑过]
+8
大家一起学习
9812
twtynijj
文章数:2536
年度积分:383
历史总积分:9812
注册时间:2009/7/15
发站内信
2016国庆活动(三)
发表于:2021/11/27 22:30:12
#12楼
回复 #11楼 YXBK
版主 互换一下意思我读C7吗?  ADPRW K1 H3 HC7 K2 D200这样读吗?还是读C6然后将结果怎么样转换?
9812
twtynijj
文章数:2536
年度积分:383
历史总积分:9812
注册时间:2009/7/15
发站内信
2016国庆活动(三)
发表于:2021/11/27 22:33:47
#13楼
回复 #10楼 guanyumou
关工 连续的两个 应该就是32位的!哪我是要读C7吗?还是读 C6???然后将结果怎么转换!之前读些仪表!都是单字!没遇到过这情况!
27456
guanyumou 版主
文章数:10485
年度积分:639
历史总积分:27456
注册时间:2008/7/13
发站内信
2018论坛优秀版主
2018春节活动(三)
2017论坛优秀版主
2017国庆活动(二)
2017春节活动(三)
发表于:2021/11/27 22:54:06
#14楼
以下是引用twtynijj2021/11/27 22:33:47的发言:
关工 连续的两个 应该就是32位的!哪我是要读C7吗?还是读 C6???然后将结果怎么转换!之前读些仪表!都是单字!没遇到过这情况!
YXBK版主说的要不要加你,主要取决于你程序中的C6是如何来的,手册上的吗?三菱ADPRW指令中用的是寄存器地址进行寻址,西门子中用寄存器编号进行寻址,用寄存器编号寻址时就要给实际地址加“1”,你把手册发出来,我给你做判断即可。
===========================
回复完,才看到你把手册发出来了,那么这个应该不牵扯什么加1不加1,手册给出的就是寄存器实际地址,要么用04功能码读,要么用03功能码读即可,如果读出的数据不对,那么一般是高低16位互换一下即可,你想想嘛,一个32位长整数,由4个字节组成,它的顺序无非是ABCD、BADC、CDAB、DCBA。
===========================
从00C6开始读,连续读2个寄存器即可。
[此贴子已经被作者于2021/11/27 22:57:13编辑过]
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
40798
YXBK 版主
文章数:18697
年度积分:1212
历史总积分:40798
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2021/11/28 8:40:36
#15楼
以下是引用twtynijj2021/11/27 22:30:12的发言:
版主 互换一下意思我读C7吗?  ADPRW K1 H3 HC7 K2 D200这样读吗?还是读C6然后将结果怎么样转换?


还是用C6,至于怎么转换我目前想到的办法是

MOV D200 D301
MOV D201 D300

这样就互换了,D300就是指令位置了,然后32位监视D300看看。
大家一起学习
9812
twtynijj
文章数:2536
年度积分:383
历史总积分:9812
注册时间:2009/7/15
发站内信
2016国庆活动(三)
发表于:2021/11/29 8:28:38
#16楼
回复 #15楼 YXBK
附件 捕获.jpg
再次感谢版主 照您的方法,成功读出了正的值。以前只用2个字节1个字的。直接读出。这个32位的4个字节,且数据位是反的。还是第一次遇到。非常感谢。解决了。
20011
bnnyygy
文章数:5698
年度积分:677
历史总积分:20011
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2021/11/29 17:30:22
#17楼
和我前几天调试的电表一样,

高低字互换一下就OK了
工控学堂推荐视频:

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

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

62.4004