OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6206|回复: 16

MODBUS协议,这协议如何实现

[复制链接]

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
发表于 2015-4-27 11:50:13 | 显示全部楼层 |阅读模式
5金钱
看了一些MODBUS协议,但没有完整代码分析,谁写过MODBUS协议,请指导指导

最佳答案

查看完整内容[请看2#楼]

modbus协议  最傻瓜的一种协议了  不明白你为啥看不懂  不外乎  ID 命令字 地址  数据  CRC
世界上最恐怖的事情比我还优秀的人比我还努力学习
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-27 11:50:14 | 显示全部楼层
modbus协议  最傻瓜的一种协议了  不明白你为啥看不懂  不外乎  ID 命令字 地址  数据  CRC
学无止境
回复

使用道具 举报

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
 楼主| 发表于 2015-4-27 16:13:25 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
回复【2楼】jermy_z:
---------------------------------
例如:  
主机对从机读数据操作:
             01             03            00 01           00 01          D5 CA 
         从机地址        功能号       数据地址      读取数据个数    CRC校验
返回内容:  
    01         03            02                0017              F8 4A
  从机地址   功能号     数据字节个数    两个字节数据    CRC校验

主机对从机读数据操作中数据地址是定死的吗?比如会不会出现数据地址是这样的00 00 01,读取数据00 00 00 01有没有这种可能
世界上最恐怖的事情比我还优秀的人比我还努力学习
回复

使用道具 举报

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
 楼主| 发表于 2015-4-27 16:14:28 | 显示全部楼层
回复【2楼】jermy_z:
---------------------------------
判断的时候用不用解析数据地址
世界上最恐怖的事情比我还优秀的人比我还努力学习
回复

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-4-27 20:29:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-27 21:00:56 | 显示全部楼层
回复【4楼】蓝色天空:
---------------------------------
你连modbus协议都不明白  就想去了解代码  有点不会爬就想走的意味
学无止境
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-27 21:02:43 | 显示全部楼层
回复【3楼】蓝色天空:
---------------------------------
你还是百度上找个modbus详解的文档看看吧
学无止境
回复

使用道具 举报

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
 楼主| 发表于 2015-4-28 08:41:38 | 显示全部楼层
回复【7楼】jermy_z:
---------------------------------
回复【7楼】jermy_z:
---------------------------------
好的,我还是再看一会资料
世界上最恐怖的事情比我还优秀的人比我还努力学习
回复

使用道具 举报

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
 楼主| 发表于 2015-4-28 08:42:09 | 显示全部楼层
回复【5楼】xouou_53320:
---------------------------------
还是有点不明白,嘻嘻
世界上最恐怖的事情比我还优秀的人比我还努力学习
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-28 14:59:52 | 显示全部楼层
回复【9楼】蓝色天空:
---------------------------------
在内存里开辟一个数组   寄存器地址就是数组下标
学无止境
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-28 15:00:44 | 显示全部楼层
回复【9楼】蓝色天空:
---------------------------------
写的时候  就往对应的数组元素赋值   读的时候就读对应的元素  

这就是modbus的读写
学无止境
回复

使用道具 举报

16

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
321
金钱
321
注册时间
2014-12-3
在线时间
75 小时
 楼主| 发表于 2015-4-28 15:03:21 | 显示全部楼层
回复【11楼】jermy_z:
---------------------------------
似懂非懂,我试试写一下,看一下这个对吗?等我写出来帮我看一下,谢谢
世界上最恐怖的事情比我还优秀的人比我还努力学习
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-28 15:04:38 | 显示全部楼层
回复【12楼】蓝色天空:
---------------------------------
你可以移植下freemodbus   这个可以当作从机来用
学无止境
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-4-28 15:05:56 | 显示全部楼层
回复【12楼】蓝色天空:
---------------------------------
串口接收判断各字节含义   是  ID  还是 Command  还是  Address  还是 Quantity  还是CRC


说难不难  说简单不简单的
学无止境
回复

使用道具 举报

36

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2015-3-29
在线时间
3 小时
发表于 2015-6-29 13:16:34 | 显示全部楼层
回复【14楼】jermy_z:
---------------------------------
那个寄存器地址到底是怎么回事呢?毕竟地址里要读出数据的!如果定义一个数组,数组里就是数据啊,能不能给我说下呢?多谢了!!!
回复

使用道具 举报

70

主题

6697

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
12687
金钱
12687
注册时间
2012-11-26
在线时间
3710 小时
发表于 2015-6-29 13:29:30 | 显示全部楼层
回复【15楼】wodezpyzz:
---------------------------------
数组下标就是寄存器地址
学无止境
回复

使用道具 举报

0

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2013-8-25
在线时间
12 小时
发表于 2015-6-29 17:06:14 | 显示全部楼层
帮顶。。。。。。。
————————
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 09:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表