打印
[应用相关]

modbus协议通讯的问题

[复制链接]
958|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Thor9|  楼主 | 2016-8-24 17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的板子是stm32vet6,用到modbus通讯,但是初次接触modbus,modbus的文档也看了不少,但是程序里不知道怎么写来实现modbus的强大功能,目前我想先用modbus先实现接受和发送数据,但是不知道代码是怎样的,求大家能指导一下,或者大家有做过modbus这一块的,希望可以分享一下经验或者资料,感激不尽
沙发
Rollo| | 2016-8-24 17:51 | 只看该作者
用的谁的板子,去看看正点原子和奋斗的资料,也去看看金沙滩宋老师的书,宋老师的书,最后讲到了这个总线

使用特权

评论回复
板凳
Bjorn| | 2016-8-24 18:11 | 只看该作者
RS485需要用到3个IO,RX、TX、EN,EN=0时代表MCU处于接收数据状态,EN=1时时代表MCU处于发送数据状态,RS485是使用差分信号的传输数据的,所以连接外部的电路只需要接两根线A和B(RS232外部接三根线RX、TX、GND),RS485跟RS232很像,这个很简单,只要会串口收发数据RS485也就会了。ModBus只是个虚拟的通讯协议,虚拟一些寄存器并向里面读写数据,一般使用0x03读寄存器模式,0x10写寄存器模式,再加上CRC校验

使用特权

评论回复
地板
mmuuss586| | 2016-8-24 18:56 | 只看该作者
网上先找些参考代码呗

使用特权

评论回复
5
sonicll| | 2016-8-24 20:25 | 只看该作者
先搞定串口硬件收发,modbus只是个软件协议

使用特权

评论回复
6
mzy202| | 2016-8-24 22:58 | 只看该作者
modbus 的资料很多呀, 可以买一个逻辑分析仪来带硬件学习一下

使用特权

评论回复
7
dongnanxibei| | 2016-8-25 08:24 | 只看该作者
搞懂这个协议,如果没有支持的硬件收发器就IO模拟。

使用特权

评论回复
8
ayrz2010| | 2017-3-8 11:12 | 只看该作者
看样子楼主只是简单的了解了一些modbus基础知识,但是不够系统和全面。
其实,modbus虽然比较简单,但是如果不注意有很多坑,
特别是寄存器的位数,大小端处理,浮点数,长整数的处理等等。
目前也没有什么合适的书籍系统介绍,帮助理解的。

刚刚搜了一下,只有最近清华出版的《Modbus软件开发实战指南》不错,
应该是Modbus开发方面第一书,很系统很全面,各种代码都是开源的。
内容着重讲述如何快速入门并精通Modbus软件开发技术,
适用于初学Modbus通信协议的读者,可以看看。
item.jd.com/11536091028.html

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

108

主题

843

帖子

2

粉丝