kagetang 发表于 2016-1-23 12:27:08

求助,帮我分析下MODBUS MASTER协议的一些问题

各位大侠好,最近小弟在用SimpleModbusMaster.h的库文件搞MODBUS通讯实验,是从一块支持RS485的多功能表里读取电压信号,表支持MODBUS RTU协议,ARDUINO为主站,表为从站。到目前为止发现以下问题,向给位请教一下。   多功能表和ARDUINO间通过TTL转485模块双绞线连接,在电脑上通过232USB-TTL-485模块,接入485总线,监视多功能表和ARDUINO。ARDUINO是MEGA 2560板子,通过(SERIAL1)连接TTL转485,通过USB(SERIAL)连接电脑。用CAD画个简图,效果不好,见谅。






   打开串口调试软件监视(不是ARDUINO自带的串口监视软件),ARDUINO发送01 03 00 01 00 01 D5 CA 查询电压指令后,多功能表返回 01 03 02 09 3D 7F C5 ,01 是指多功能表从站地址,03是指查询寄存器功能。其中09 3D为2365,多功能表说明书里讲这个值的系数为0.1,那么得到的电压就是236.5V,和多功能表显示一样,没有问题。
   可是我在ARDUINO自带的串口监视器里发现,在ARDUINO分析多功能表返回的数据 01 03 02 09 3D 7F C5 时,无法正确得到这些返回值。比如我监视了第一帧数据frame(地址)和第二帧数据frame(功能),按道理应该为01 和03,可是都显示的是255255,偶尔会显示223。难道我的frame(地址)里的数据为255(11111111)?这些1是从哪里来的呢?SimpleModbusMaster.h的库文件是github上下载的,除了将默认的通讯串口由SERIAL改为SERIAL1,我也没看出什么问题来。请各位大侠帮忙指点下是哪里出了点问题呢?

dake1478 发表于 2016-1-29 15:57:08

楼主,我最近也在搞ModbusMaster跟远传水表的通信,能发个github上SimpleModbusMaster.h库的链接吗?谢谢。

18353626527 发表于 2016-2-26 08:34:49

程序发来看看~

kagetang 发表于 2016-4-12 17:40:42

18353626527 发表于 2016-2-26 08:34 static/image/common/back.gif
程序发来看看~

谢谢,已经搞定了,用了一个单独的MAX485芯片。集成的有问题

爱上即可 发表于 2016-4-13 10:26:41

kagetang 发表于 2016-4-12 17:40 static/image/common/back.gif
谢谢,已经搞定了,用了一个单独的MAX485芯片。集成的有问题

我也是MODBUS rtu协议,Arduino作为主站的程序发一份啊、[email protected] 谢谢

风度 发表于 2016-5-23 11:25:43

爱上即可 发表于 2016-4-13 10:26 static/image/common/back.gif
我也是MODBUS rtu协议,Arduino作为主站的程序发一份啊、 谢谢

你要到了程序了吗?

迷你强 发表于 2016-5-30 09:45:43

:Q要程序何用?这个不都是在github上么?

klwnrqq 发表于 2018-2-28 22:28:25

哥们,你也是用这家的模块吗?TDM&TMD 系列MODBUS-RTU 协议简要说明,,,方便分享程序出来看看吗?
页: [1]
查看完整版本: 求助,帮我分析下MODBUS MASTER协议的一些问题