xukai871105 发表于 2012-7-14 21:42:09

MODBUS 协议整理

本帖最后由 xukai871105 于 2012-7-14 21:43 编辑

前段时间详细研究了MODBUS协议
网上也可以下载到MODBUS的协议说明,但是个人感觉写的有点乱,所以我自己精简了一下!

在使用MODBUS的时候请大家注意两个地址!
一个是PLC定义的地址,例如1XXXX,2XXXX,3XXXX,4XXXX
一个是MODBUS定义的地址,一般都是16位整数,例如0x0002,0x0003
这些地址有对应关系,在文中也有说明。

还有,虽然MODBUS的指令很多,但是从输入输出,可读可写,单个操作多个操作来理解的话
modbus还是很工整的协议。

modbus本质来说还是四种寄存器,AO AI DO DI。这个和PLC中德概念还是统一的。
在文中有简单的说明。

最后这段时间实在是有点忙,不然可以把freemodbus的东西和大家分享一下!
不好意思,个人精力有限啊!

283868130 发表于 2012-7-14 22:21:55

沙发
简单明了,顶LZ

bsz84 发表于 2012-7-14 22:50:51

mark,顶LZ

lollipop 发表于 2012-7-14 23:37:35

modbus本质来说还是四种寄存器,AO AI DO DI。这个和PLC中德概念还是统一的。

因为这玩意一开始就是用在PLC上的

tangsizu 发表于 2012-7-14 23:43:48

顶一个!

haffman1 发表于 2012-7-14 23:58:51

顶一个!

283868130 发表于 2012-8-14 19:05:40

今天有用到,顶一下!

LEO9988 发表于 2012-8-20 21:41:48

始终搞不懂,4X001对应的单片机地址是001还是40001?

xukai871105 发表于 2012-8-21 11:20:53

不能说是单片机地址,我喜欢称之为协议地址!
40001对应0x0000!

yyg_760921 发表于 2012-9-7 15:15:24

挺好的

zhang8198 发表于 2012-9-20 17:30:45

{:smile:}{:smile:}{:smile:}

xml2028 发表于 2012-9-20 17:46:46

顶一个!

wujh 发表于 2012-9-20 17:52:30

好东西,顶

xshflove 发表于 2012-10-5 23:12:55

谢谢你,这些时间正在收集MODBUS 协议的资料。{:victory:}

xukai871105 发表于 2012-10-6 14:26:10

xshflove 发表于 2012-10-5 23:12 static/image/common/back.gif
谢谢你,这些时间正在收集MODBUS 协议的资料。

我发现里面还有不少的错误,找些时间还要好好修改一下!

wkman 发表于 2012-10-6 15:16:52

嗯,不错。看看 {:victory:}

zodiac1111 发表于 2012-10-6 16:30:00

www.modbus.org 上面有很多资料,比较权威吧.前段时间搞modbus/tcp的时候找到很多的资料.例如

[*]http://www.simplymodbus.ca/TCP.htm (这个不是modbus.org.)
[*]mbap http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf
[*]mbap实现指导 http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf
[*]mobus说明书 http://www.modbus.org/specs.php

xukai871105 发表于 2012-10-7 10:23:32

zodiac1111 发表于 2012-10-6 16:30 static/image/common/back.gif
www.modbus.org 上面有很多资料,比较权威吧.前段时间搞modbus/tcp的时候找到很多的资料.例如

[*]http://ww ...

非常感谢您的资料!

e315 发表于 2012-10-7 10:47:54

资料很齐全,很好,谢谢。

smallmount 发表于 2012-10-8 17:08:10

今天调modbus,顶一下帖子

honeybear 发表于 2012-10-9 17:47:10

好资料,顶!

blueskyzz 发表于 2012-11-26 23:27:24

顶一下好好研究一下

meirenai 发表于 2012-11-27 00:47:17

mark         

xukai871105 发表于 2012-11-27 21:11:55

meirenai 发表于 2012-11-27 00:47 static/image/common/back.gif
mark

我会再好好整理的,这个里面有好多错误!

judge 发表于 2012-12-9 10:07:36

学习中,谢谢楼主分享。

tyqhaha 发表于 2013-2-13 16:23:06

一直以为MBUS是modbus缩写的,罪过罪过

xizi 发表于 2013-2-13 21:30:28

实在不理解为什么MODBUS定义的地址与PLC地址要出现错位?既然PLC在先,MODBUS在后,MODBUS定义地址时严格跟随PLC不挺好吗?

xukai871105 发表于 2013-2-13 22:36:52

xizi 发表于 2013-2-13 21:30 static/image/common/back.gif
实在不理解为什么MODBUS定义的地址与PLC地址要出现错位?既然PLC在先,MODBUS在后,MODBUS定义地址时严格跟 ...

我个人觉得PLC的定义有问题。
PLC的厂家很多,现在也各自为战,你不服我我不服你!
自然就会产生和标准MODBUS不相同的地址

个人不是很懂PLC,总是无法理解为什么PLC要使用梯形图。
一旦使用了梯形图,基本的程序框架就无法实现,例如if-else do-while;for;switch-case。

吐槽一下,就怪自己PLC水平太臭!

不过再吐槽一下,arduino再集成下去的话是否可以成为下一代PLC呢!

红尘客 发表于 2013-2-21 17:40:45

modbus 就是modbus 跟PLC没关系。 PLC只是应用这个协议而已。单独弄明白了,再来看是如何应用的

123xinbu 发表于 2013-3-6 16:51:56

分享快乐

爱电子1122 发表于 2013-3-23 20:31:44

能qq交流下modbus吗qq:2572136520,我一直想用51搞个,不知道怎么个思路

xukai871105 发表于 2013-3-24 10:00:38

爱电子1122 发表于 2013-3-23 20:31 static/image/common/back.gif
能qq交流下modbus吗qq:2572136520,我一直想用51搞个,不知道怎么个思路

我现在的水平,只能做modbus从机,modbus主机功能做的不完善!

请问你要解决什么问题,我还有一个帖子是关于freemodbus的应用的,请问是否可以满足你的应用!

爱电子1122 发表于 2013-3-24 14:48:53

我的是传感器采用rtu走modbus

milked 发表于 2013-3-25 14:12:34

bu cuo jing hua

leexu 发表于 2013-3-25 14:34:29

谢谢分享。

userstar 发表于 2013-3-25 22:08:29

正在学习modbus,你的资料非常好,下载研究,谢谢

sky_zhangchao 发表于 2013-5-3 10:50:57

非常感谢

jcrorxp 发表于 2013-5-3 10:57:35

{:smile:}
感谢分享, 这个是远程抄表用的?

xukai871105 发表于 2013-5-3 10:58:51

sky_zhangchao 发表于 2013-5-3 10:50 static/image/common/back.gif
非常感谢

里面有很多的错误,我这几天也在修改!

不对的地方请各位原谅了!

xo37 发表于 2013-5-8 13:54:46

从单片机 到PLC 又回到单片机……

lidar 发表于 2013-5-8 22:39:37

支持原创,分享了

cxm007 发表于 2013-6-17 14:09:09

正好缺这个概念,充电。。。

myxiaonia 发表于 2014-8-17 10:46:00

这个文档现在是无错了吗

xukai871105 发表于 2014-8-17 10:50:33

myxiaonia 发表于 2014-8-17 10:46
这个文档现在是无错了吗

不是,这个论坛发了帖子之后没有办法修改,所以写错的只能写错了!
http://blog.csdn.net/xukai871105/article/details/16368615

myxiaonia 发表于 2014-8-17 16:58:22

xukai871105 发表于 2014-8-17 10:50
不是,这个论坛发了帖子之后没有办法修改,所以写错的只能写错了!
http://blog.csdn.net/xukai871105/ar ...

我一直在看这个有错版本啊,看看新的

mikeliujia 发表于 2014-10-15 14:19:40

请问徐大哥,能不能发一帧功能码为04的报文,然后接收到比如1000个保持寄存器的内容呢?还有为什么modbus调试精灵,读的寄存器超过100个就说“读出数量数据格式不合规范,放弃读操作呢”?

xukai871105 发表于 2014-10-16 09:16:06

mikeliujia 发表于 2014-10-15 14:19
请问徐大哥,能不能发一帧功能码为04的报文,然后接收到比如1000个保持寄存器的内容呢?还有为什么modbus调 ...

你说的modbus调试精灵我没有印象
1000个寄存器好像有点多了,超过了modbus的限制了。

mikeliujia 发表于 2014-10-16 21:03:18

xukai871105 发表于 2014-10-16 09:16
你说的modbus调试精灵我没有印象
1000个寄存器好像有点多了,超过了modbus的限制了。 ...

嗯,谢谢,我刚刚弄清楚了,是最多125个寄存器,那个精灵确实不大好用,我改用modbuspoll了,
想再请教您一个问题,就是比如:我可以,读取100个保持寄存器,从0号开始,可是为什么从100号开始,如果再读100个,就有几个(大概4、5个)寄存器的内容每次都会变呢?读一次变一次的很奇怪。

smiler 发表于 2014-10-21 14:18:21

本帖最后由 smiler 于 2014-10-21 14:20 编辑

谢谢楼主分享

xukai871105 发表于 2014-10-22 09:00:23

mikeliujia 发表于 2014-10-16 21:03
嗯,谢谢,我刚刚弄清楚了,是最多125个寄存器,那个精灵确实不大好用,我改用modbuspoll了,
想再请教您 ...

当然可以这样做了!

紫嫣 发表于 2015-2-27 14:22:11

没法下载啊

紫嫣 发表于 2015-2-27 14:30:16

楼上的朋友发的资料不错,下载下来好好看看

只为那梦的轮回 发表于 2015-2-27 14:46:13

谢谢,分享。

aitchow 发表于 2015-2-27 14:56:04

多谢分享, 刚好要这方面的资料

xukai871105 发表于 2015-2-28 11:59:24

aitchow 发表于 2015-2-27 14:56
多谢分享, 刚好要这方面的资料

这里有不少错误,建议你看看博客吧,发现问题,及时留言吧!

lansen0815 发表于 2015-2-28 16:11:57

mark下备用

mk_avatar 发表于 2015-3-23 16:30:02

感谢楼主!!!!!
页: [1]
查看完整版本: MODBUS 协议整理