登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:新人求助,FX2N-485BD与采集板MODBUS RTU通信问题

点击:3627 回复:40

   各位师傅们好,本人小弟刚刚接触通信,手头有一台FX2N-128mr主机,FX2N-485BD通信一块,还有一块支持MODBUS   RTU采集板遇到几个问题,想请教各位师傅。
 1,采集板的通信格式9600.1.8.N是不是理解为通信波率9600,1停止位,8数据位,N无效验。
 2,设定三菱PLC寄存器MOV H0C81 D8120
 3,模块地址1,MODBUS功能码04,寄存器地址30001到30016总共16个,读取这16个采集模拟量存入D10到D25中。
 4,程序
RS D0 K6 D10 K16
MOV H1 D0模块地址1
MOV H4 D1功能码04
MOV H0 D2读寄存器地址高位00
MOV H1 D3读寄存器地址低位01
MOV H0 D4读寄存器数量个数高位00
MOV H10 D5读寄存器数量个数低位16这个程序有问题吗?
 5,我读取的数据存在D10到D25中,怎样提出来是不是写程序BMOVP D10 D30 K16把数据存到D30到D45中
最后修改:2019/8/22 15:21:28
19-08-22 13:51

引用 自由的风筝 在 2019/8/22 13:51:05 发言【内容省略】

如果你的PLC是正品PLC,应该有如下问题:
1、使用RS指令时、且Modbus RTU功能码为04时,那么此时发送字节数为8,而非你填写的K6,还要有CRC校验2个字节
2、另外寄存器起始地址应该为00 00,而非你填写的00 01!
最后修改:2019/8/22 15:31:02
19-08-22 15:27
3、接收字节数应该为发送缓冲区中的寄存器个数乘以2、再加5,即就是:
16*2+5=37,而非你填写的16,当然前提是您的PLC是正品三菱PLC,而非仿品PLC(仿品PLC会对RS指令进行改造)
19-08-22 15:33
1,采集板的通信格式9600.1.8.N是不是理解为通信波率9600,1停止位,8数据位,N无效验。
==================
这个理解正确无误!
19-08-22 15:33
附件 IMG_20190822_154209.jpg
 读取寄存器地址高位是H00
读取寄存器低位是H01
这个有无问题
最后修改:2019/8/22 15:45:15
19-08-22 15:44
FX2N-128MR是正品,但是FX2N-485BD不是原装的,是山寨的。
19-08-22 15:48

引用 guanyumou 在 2019/8/22 15:33:51 发言【内容省略】

无效验,是不是理解成我不需要自己计算效验码,即使通信数据发送失败,干扰或者丢失,都不管它。
19-08-22 15:51

引用 guanyumou 在 2019/8/22 15:27:39 发言【内容省略】

9600.1.8.N无效验,是不是不需要自己计算效验码,不需要发送CRC的高位和低位
19-08-22 16:01
RS D0 K6 D10 K16
MOV H1 D0模块地址1
MOV H4 D1功能码04
MOV H0 D2读寄存器地址高位00
MOV H1 D3读寄存器地址低位01
MOV H0 D4读寄存器数量个数高位00
MOV H10 D5读寄存器数量个数低位16这
9600.1.8.N程序中D0到D5分别发送的是模块地址,功能码,读寄存器地址高位,读寄存器地址低位,读寄存器数量高位,读寄存器数量低位,不用发起始位,停止位,效验了吗?
这里是要读16个数值,是不是我的接受寄存器是6+16还是6+32程序如下
RS D0 K6 D10 K22   D10到D32
RS D0 K6 D10 K38   D10到D48
哪个对
19-08-22 16:08
附件:
[本地下载]
看看这个也许对你有用
19-08-22 16:12

上一页下一页

工控新闻

更多新闻资讯