Modbus通讯协议简化
6次下载、0人回复。
我来向楼主道一声“辛苦了”。 楼主辛苦啦 Thank you.楼主. 群主自己整理的吗?
大致浏览了一下,不错,挺系统的。 顶顶,下来学学 谢谢分享 多谢LZ! mark!!! 网络又不好,过会下载看看! 表示支持 好资料的帮顶。 正需要,整理得很好!!顶 McuPlayer 发表于 2013-11-23 00:07 static/image/common/back.gif
群主自己整理的吗?
大致浏览了一下,不错,挺系统的。
不是自己的,最近也在做这个,所以感觉很有用。 下载下来。研究一下Modbus协议 谢谢楼主分享。。。。{:victory:} 大概看了下,不错 下来看看,谢谢分享。 楼主辛苦,下载了,谢谢 楼主好人 也正要做,感谢楼主。 MODBUS还是很常用的,自己做小东西的时候可以用这个简化版^_^ 支持楼主 很好的东西,很容易理解! 很好的东西,很容易理解! 好东西{:victory:} 我来配上源代码,嘿嘿
stm32f103c8上亲测的代码
FreeModbus超级精简版
点击下载 本帖最后由 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
欢迎大家交流
哦对了,这个代码只留了RTU模式
在Maga128/8上也测过了{:smile:}{:smile:} worldsing 发表于 2013-11-25 21:24
我来配上源代码,嘿嘿
stm32f103c8上亲测的代码
好东西,谢谢啦
楼主辛苦啦 楼主辛苦啦 谢谢楼主分享,下来看看 顶一个,不错.楼主有心了! 感谢LZ,最近可能正好用到 这说明和程序都有了,收藏下,谢谢{:smile:} 很好谢谢! 最近在看modbus,分享了 谢谢分享{:smile:} 辛苦了
谢谢分享{:lol:} 多谢楼主分享,这么好的东西
多谢楼主分享 worldsing 发表于 2013-11-25 21:24
我来配上源代码,嘿嘿
stm32f103c8上亲测的代码
谢谢,收下,学习了 下载看看 谢谢分享 顶一下!!! 好东西,有空看一下,值得学习 很用心,很实用。感谢楼主的分享 最近对modbus比较感兴趣 谢谢楼主! 先顶,再下载!!!!{:smile:}{:smile:}{:smile:}{:smile:} 还是mark,同时感谢楼主的无私奉献
Thank you.楼主. 谢谢辛苦啦 mrak 正好用到 看看简化了什么 谢谢楼主分享。学习学习 mark{:smile:} 谢谢分享! mark! 好资料的帮顶。 好资料,学习 看看。。。。原来做过
可能有些用处吧
正需要,整理得很好!!顶 看看,多谢。 确实还是不错的 好东西 下来看看啊 源码,谁传上来...那个baidu的分享已经关闭了 {:shocked:} wkman 发表于 2014-5-13 18:04
源码,谁传上来...那个baidu的分享已经关闭了
wkman 兄,Here Please -> {:smile:} xyz543 发表于 2014-5-14 11:12
wkman 兄,Here Please ->
造福广大网友{:handshake:} 多谢!{:victory:} wkman 发表于 2014-5-14 14:07
造福广大网友 多谢!
您客气了,其实在他的 Blog 内就有。 {:smile:} 收藏 了、、、、、 谢谢 MARKMARKMARK 正需要,整理得很好!!顶{:lol:}
我来向楼主道一声“辛苦了”。
谢谢分享,顶一个!!! 說是簡化,實質上簡化了些甚麼?
我用了五分鐘來看這份PDF,發現他和官方的協議一樣,但他將官方文檔裏很多概念(ADU、PDU等)都省略了,exception亦沒有提到,衹是簡略地提到幾箇function code。
這就是簡化的Modbus協議?還是官方協議文檔無節操亂刪減版?
我個人的見解是,如果你不懂Modbus,那麼你看了這份資料之後,亦不會懂;如果你本來就懂,那你看這份文檔純粹是浪費時間。
有資料上傳當然好,但資料本身的品質亦是很關鍵。我個人希望大家以後不要上傳無甚價值,或者搜索引擎非常容易找得到的資料。我不想這裏變成不加篩選的資料收集處。 mark!
{:lol:} 这资料好!赞一个! 楼主辛苦啦 okok 还可以 值得参考 qlb1234 发表于 2014-5-15 06:08
說是簡化,實質上簡化了些甚麼?
我用了五分鐘來看這份PDF,發現他和官方的協議一樣,但他將官方文檔裏很多 ...
只能说你水平太高,别人跟不上,我也不想论坛变成无视菜鸟的高手的聚集地。 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
對初學者真正有幫助的,是直接展示給他看,而非將文檔精簡掉。
再者,精簡過的文檔,確定不會因不詳不實,令初學者造成誤解?此中造成的時間浪費,哪一箇多? 快速熟悉modbus,好资料 辛苦了 用modbus已经很多年了,还是收藏下 下载看看 下来学习下 有空先了解下 谢谢楼主 谢了,楼主 谢谢楼主
顶起顶起顶起~~~~~~~~~~ 谢谢楼主的分享 谢谢分享 顶下,modbus简单协议! modbus全部的太多了,一般03和06协议就够了 下载顶贴! 楼主很有奉献精神。现在有时不太想自己完整的编写大妈,我就会去github直接下别人的lib库,省心,也看看别人写的代码 谢谢分享
页:
[1]
2