lzscan 发表于 2013-11-22 22:52:51

Modbus通讯协议简化



eduhf_123 发表于 2013-11-22 23:05:25

6次下载、0人回复。

我来向楼主道一声“辛苦了”。

gdjsfy_86 发表于 2013-11-22 23:45:45

楼主辛苦啦

arm7tdmi 发表于 2013-11-23 00:04:38

Thank you.楼主.

McuPlayer 发表于 2013-11-23 00:07:30

群主自己整理的吗?
大致浏览了一下,不错,挺系统的。

donglaile 发表于 2013-11-23 00:14:22

顶顶,下来学学

wsm80828 发表于 2013-11-23 01:37:26

谢谢分享

ghostxdy 发表于 2013-11-23 06:50:53

多谢LZ!

weichao4808335 发表于 2013-11-23 08:15:13

mark!!!

liuruoshui 发表于 2013-11-23 09:00:15

网络又不好,过会下载看看!

lizhihuanok 发表于 2013-11-23 09:11:51

表示支持

stely 发表于 2013-11-23 09:14:49

好资料的帮顶。

lr120363092 发表于 2013-11-23 09:32:17

正需要,整理得很好!!顶

lzscan 发表于 2013-11-23 10:05:46

McuPlayer 发表于 2013-11-23 00:07 static/image/common/back.gif
群主自己整理的吗?
大致浏览了一下,不错,挺系统的。

不是自己的,最近也在做这个,所以感觉很有用。

sokou 发表于 2013-11-23 10:27:43

下载下来。研究一下Modbus协议

lans0625 发表于 2013-11-23 10:32:11

谢谢楼主分享。。。。{:victory:}

mao001 发表于 2013-11-23 10:37:26

大概看了下,不错

gyqjc 发表于 2013-11-23 10:59:09

下来看看,谢谢分享。

u123321 发表于 2013-11-23 11:11:47

楼主辛苦,下载了,谢谢

meirenai 发表于 2013-11-23 12:32:32

楼主好人   

XIVN1987 发表于 2013-11-23 12:34:27

也正要做,感谢楼主。

fengxin32 发表于 2013-11-23 13:24:13

MODBUS还是很常用的,自己做小东西的时候可以用这个简化版^_^

qi1985 发表于 2013-11-23 13:25:30

支持楼主

syauxwm 发表于 2013-11-25 18:11:16

很好的东西,很容易理解!

zhang_mike2000 发表于 2013-11-25 19:55:59

很好的东西,很容易理解!

jetli 发表于 2013-11-25 20:15:09

好东西{:victory:}

worldsing 发表于 2013-11-25 21:24:22

我来配上源代码,嘿嘿

stm32f103c8上亲测的代码

FreeModbus超级精简版

点击下载

worldsing 发表于 2013-11-25 21:28:17

本帖最后由 worldsing 于 2013-11-25 21:34 编辑

定时器操作在stm32平台下基本不用改
   a、定时器初始化;   xMBPortTimersInit()
   b、开定时器及中断; vMBPortTimersEnable()
   c、关定时器及中断; vMBPortTimersDisable()
   d、定时器溢出中断服务程序;TIME_IQR_HANDLER()
   串口操作:
   a、串初始化;   xMBPortSerialInit()
   b、串口发送中断、接收中断; UART_IQR_HANDLER()
   c、串口收发控制; vMBPortSerialEnable()
   开关量操作 CPU硬件寄存器类型指针定义,用于定义IO输入和输出,
   注意在此定义的IO必须初始化为输入或输出。
   typedef volatile uint32_t * CPURegistertype;
    //线圈状态, 存储格式:&IO输出口寄存器, 引脚号
    MBCoilType MBCoils = {
      &(GPIOB->ODR), 12, //PB12做为输出线圈
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
    };

    //离散开关输入状态, 存储格式:&IO输出口寄存器, 引脚号
    MBDiscreteType MBDiscretes = {
      &(GPIOB->ODR), 12, //PB12做为离散输入
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
      &(GPIOB->ODR), 12,
    };
http://images.cnitblog.com/blog/519704/201311/25161103-145b25eac70e44f9a94087b0787524d8.png

欢迎大家交流

worldsing 发表于 2013-11-25 21:32:13

哦对了,这个代码只留了RTU模式

在Maga128/8上也测过了{:smile:}{:smile:}

lzscan 发表于 2013-11-25 23:00:51

worldsing 发表于 2013-11-25 21:24
我来配上源代码,嘿嘿

stm32f103c8上亲测的代码


好东西,谢谢啦

wthzack 发表于 2013-11-26 00:30:47


楼主辛苦啦

ddcchh 发表于 2013-11-26 04:32:44

楼主辛苦啦

yp19820523 发表于 2013-11-26 09:00:36

谢谢楼主分享,下来看看

byrin219 发表于 2013-11-26 09:03:49

顶一个,不错.楼主有心了!

北小斗 发表于 2013-11-26 09:09:01

感谢LZ,最近可能正好用到

OurWay 发表于 2013-11-26 09:17:10

这说明和程序都有了,收藏下,谢谢{:smile:}

ilikemcu 发表于 2013-11-26 20:39:23

很好谢谢!

lidar 发表于 2013-12-1 22:19:07

最近在看modbus,分享了

stingxing 发表于 2013-12-14 22:36:01

谢谢分享{:smile:}

JACK847070222 发表于 2013-12-24 20:57:05

辛苦了

wavelee123 发表于 2013-12-26 09:39:44


谢谢分享{:lol:}

shiqianjudan 发表于 2013-12-26 12:28:03

多谢楼主分享,这么好的东西

kxb 发表于 2013-12-26 12:46:38


多谢楼主分享

小溪 发表于 2013-12-30 07:58:19

worldsing 发表于 2013-11-25 21:24
我来配上源代码,嘿嘿

stm32f103c8上亲测的代码


谢谢,收下,学习了

himan 发表于 2013-12-30 08:12:15

下载看看   

hygs 发表于 2013-12-30 08:49:18

谢谢分享

奮闘ing 发表于 2013-12-30 09:31:31

顶一下!!!

newcanking 发表于 2013-12-30 09:44:40

好东西,有空看一下,值得学习

fbestwish 发表于 2014-2-19 16:03:37

很用心,很实用。感谢楼主的分享

livelei 发表于 2014-2-25 17:40:54

最近对modbus比较感兴趣 谢谢楼主!

苹果520 发表于 2014-2-26 16:32:05

先顶,再下载!!!!{:smile:}{:smile:}{:smile:}{:smile:}

jzhang123 发表于 2014-3-9 19:16:08

还是mark,同时感谢楼主的无私奉献

zqy517 发表于 2014-3-9 20:16:44


Thank you.楼主.

zishuangfei 发表于 2014-3-11 08:54:10

谢谢辛苦啦

michael8081 发表于 2014-3-14 21:58:42

mrak            

cui0510 发表于 2014-4-1 16:29:14

正好用到 看看简化了什么

skyformat 发表于 2014-4-1 22:03:09

谢谢楼主分享。学习学习

xingmazhao 发表于 2014-4-12 19:24:34

mark{:smile:}

weiwei4 发表于 2014-4-12 21:00:56

谢谢分享!

huangxiaowei 发表于 2014-4-15 09:38:05

      mark!

virgoshh0130 发表于 2014-4-15 09:41:56

好资料的帮顶。

jsntzxh 发表于 2014-4-15 09:43:42

好资料,学习

vpacific 发表于 2014-5-3 09:41:50

看看。。。。原来做过
可能有些用处吧

f117_2r 发表于 2014-5-4 00:09:08

正需要,整理得很好!!顶

zhiwei 发表于 2014-5-4 08:01:22

看看,多谢。

slayer 发表于 2014-5-4 08:23:37

确实还是不错的

unifax001 发表于 2014-5-13 17:42:28

好东西 下来看看啊

wkman 发表于 2014-5-13 18:04:32

源码,谁传上来...那个baidu的分享已经关闭了 {:shocked:}

xyz543 发表于 2014-5-14 11:12:44

wkman 发表于 2014-5-13 18:04
源码,谁传上来...那个baidu的分享已经关闭了

wkman 兄,Here Please ->   {:smile:}

wkman 发表于 2014-5-14 14:07:47

xyz543 发表于 2014-5-14 11:12
wkman 兄,Here Please ->

造福广大网友{:handshake:} 多谢!{:victory:}

xyz543 发表于 2014-5-14 14:49:26

wkman 发表于 2014-5-14 14:07
造福广大网友 多谢!

您客气了,其实在他的 Blog 内就有。 {:smile:}

MINI2440 发表于 2014-5-14 14:51:09

收藏 了、、、、、

flotox 发表于 2014-5-14 15:45:15

谢谢 MARKMARKMARK

cmheia 发表于 2014-5-14 16:01:53

正需要,整理得很好!!顶{:lol:}

ddcchh 发表于 2014-5-14 17:34:33




我来向楼主道一声“辛苦了”。

lantian0099 发表于 2014-5-15 01:01:32

谢谢分享,顶一个!!!

qlb1234 发表于 2014-5-15 06:08:14

說是簡化,實質上簡化了些甚麼?
我用了五分鐘來看這份PDF,發現他和官方的協議一樣,但他將官方文檔裏很多概念(ADU、PDU等)都省略了,exception亦沒有提到,衹是簡略地提到幾箇function code。
這就是簡化的Modbus協議?還是官方協議文檔無節操亂刪減版?
我個人的見解是,如果你不懂Modbus,那麼你看了這份資料之後,亦不會懂;如果你本來就懂,那你看這份文檔純粹是浪費時間。
有資料上傳當然好,但資料本身的品質亦是很關鍵。我個人希望大家以後不要上傳無甚價值,或者搜索引擎非常容易找得到的資料。我不想這裏變成不加篩選的資料收集處。

wenliangxc 发表于 2014-7-4 21:50:24

mark!
{:lol:}

gaopmsn 发表于 2014-7-29 16:49:38

这资料好!赞一个!

az8898l 发表于 2014-8-2 06:52:17

楼主辛苦啦

chamgj 发表于 2014-8-6 15:02:54

okok 还可以 值得参考

lzscan 发表于 2014-8-6 17:21:08

qlb1234 发表于 2014-5-15 06:08
說是簡化,實質上簡化了些甚麼?
我用了五分鐘來看這份PDF,發現他和官方的協議一樣,但他將官方文檔裏很多 ...

只能说你水平太高,别人跟不上,我也不想论坛变成无视菜鸟的高手的聚集地。

qlb1234 发表于 2014-8-6 17:52:10

lzscan 发表于 2014-8-6 17:21
只能说你水平太高,别人跟不上,我也不想论坛变成无视菜鸟的高手的聚集地。 ...

我不認爲簡化後的文檔,對初學者有更大的幫助。
我初接觸Modbus時,甚至還不清楚Modbus到底是怎麼回事。看過無數資料後,印象中,衹有兩份對我有幫助,令我開始對Modbus有瞭解。一是某箇網站的Modbus通訊示例,二就是官方文檔。
我認爲對初學者而言,給出實際的例子,是最重要的。你如何嚮一個五歲小孩解釋,甚麼是程序?是嚮他講解二進制,還是點開一箇遊戲讓他玩,然後告訴他,這就是一箇程序?
官方文檔雖然長,術語亦多,但其詳細之處,是數一數二的。他對每一箇Function Code,都有舉例解釋,和抽象描述。以下是他在講述一次具體的01通訊。
Here is an example of a request to read discrete outputs 20–38:
Request Response
Field Name (Hex) Field Name (Hex)
Function 01 Function 01
Starting Address Hi 00 Byte Count 03
Starting Address Lo 13 Outputs status 27-20 CD
Quantity of Outputs Hi 00 Outputs status 35-28 6B
Quantity of Outputs Lo 13 Outputs status 38-36 05
對初學者真正有幫助的,是直接展示給他看,而非將文檔精簡掉。
再者,精簡過的文檔,確定不會因不詳不實,令初學者造成誤解?此中造成的時間浪費,哪一箇多?

guyong2012 发表于 2014-11-7 10:00:09

快速熟悉modbus,好资料

s1j2h3 发表于 2014-11-7 15:13:09

辛苦了   

seawind319 发表于 2014-11-7 16:35:10

用modbus已经很多年了,还是收藏下

yao2013lin 发表于 2014-11-12 12:23:15

下载看看

老马识途 发表于 2014-11-12 12:40:01

下来学习下

livekoko 发表于 2014-11-12 16:17:00

有空先了解下

laoerge 发表于 2014-11-12 19:18:27

谢谢楼主

水缸仔 发表于 2014-11-12 21:07:14

谢了,楼主

Micheal_J 发表于 2014-11-13 13:41:43

谢谢楼主

90soso 发表于 2014-11-13 13:58:10

顶起顶起顶起~~~~~~~~~~

freefei 发表于 2014-11-15 13:53:03

谢谢楼主的分享

qinhya 发表于 2014-11-15 17:03:54

谢谢分享

fiddly 发表于 2014-11-15 17:59:23

顶下,modbus简单协议!

lovecxm 发表于 2014-11-15 19:06:57

modbus全部的太多了,一般03和06协议就够了

猪猪飞鱼 发表于 2015-1-3 16:09:49

下载顶贴!

34071417 发表于 2015-2-9 10:54:19

楼主很有奉献精神。现在有时不太想自己完整的编写大妈,我就会去github直接下别人的lib库,省心,也看看别人写的代码

chenzheng123 发表于 2015-2-9 17:13:29

谢谢分享
页: [1] 2
查看完整版本: Modbus通讯协议简化