求助,帮我分析下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,我也没看出什么问题来。请各位大侠帮忙指点下是哪里出了点问题呢? 楼主,我最近也在搞ModbusMaster跟远传水表的通信,能发个github上SimpleModbusMaster.h库的链接吗?谢谢。 程序发来看看~ 18353626527 发表于 2016-2-26 08:34 static/image/common/back.gif
程序发来看看~
谢谢,已经搞定了,用了一个单独的MAX485芯片。集成的有问题 kagetang 发表于 2016-4-12 17:40 static/image/common/back.gif
谢谢,已经搞定了,用了一个单独的MAX485芯片。集成的有问题
我也是MODBUS rtu协议,Arduino作为主站的程序发一份啊、[email protected] 谢谢 爱上即可 发表于 2016-4-13 10:26 static/image/common/back.gif
我也是MODBUS rtu协议,Arduino作为主站的程序发一份啊、 谢谢
你要到了程序了吗? :Q要程序何用?这个不都是在github上么? 哥们,你也是用这家的模块吗?TDM&TMD 系列MODBUS-RTU 协议简要说明,,,方便分享程序出来看看吗?
页:
[1]