MODBUS RTU,是現(xiàn)在工控行業(yè)非常重要的一個現(xiàn)場應用協(xié)議。相信做工控現(xiàn)場的師兄都知道。我也因需要,做了個從站,方便大家使用。
經(jīng)自己3個星期的努力,終于把MODBUS RTU在STM32F407控制器上成功實現(xiàn)了,每句話都加注了詳細的說明。
有需要的小伙伴可以選用
截圖如下
主機配置如下 1 modbus poll主機不斷給從機1發(fā)送03讀寄存器命令: Tx:066-01 03 00 00 00 0A C5 CD Modbus RTU 03碼解析 MODBUS應答
示例-03碼.主機Modbus poll軟件命令如下 主站發(fā)出/命令:讀地址006B(十進制107)開始的0003(3)個寄存器地址。 從站返回/應答:03碼,返回06(十進制6)個字節(jié)寄存器,022B(555),0000(0),0064(100) STM32F407從機回答如下 Tx:066-01 03 00 00 00 0A C5 CD 命令解析:讀1號(01)從站寄存器(03),從00(00 00)開始,共10(00 0A)個寄存器。 Rx:067-01 03 14 05 4B 03 EA 08 FF 20 0C 05 4B 03 EA 08 FF 2D 00 2D 00 2D 00 EC 08 應答解析:01:地址;03:功能碼;14:字節(jié)數(shù)量10個(2進制14=10進制20) 05 4B :2進制054B=10進制1355; 03 EA :1002; 08 FF:2303; 20 0C:8204; 05 4B:1355; 03 EA :1002; 08 FF :2303; 2D 00:115200; 2D 00 :115200;2D 00:115200; EC 08 :校驗碼-5112 源程序如下
Tx:068-01 03 00 00 00 0A C5 CD Rx:069-01 03 14 05 4B 03 EA 08 FF 20 0C 05 4B 03 EA 08 FF 2D 00 2D 00 2D 00 EC 08 Tx:070-01 03 00 00 00 0A C5 CD Rx:071-01 03 14 05 4B 03 EA 08 FF 20 0C 05 4B 03 EA 08 FF 2D 00 2D 00 2D 00 EC 08 Tx:072-01 03 00 00 00 0A C5 CD Rx:073-01 03 14 05 4B 03 EA 08 FF 20 0C 05 4B 03 EA 08 FF 2D 00 2D 00 2D 00 EC 08
Modbus通訊.7z
(306.4 KB, 下載次數(shù): 215)
|