Modbus是一種串行通信協(xié)議,是Modicon公司(現(xiàn)在的施耐德電氣 Schneider Electric)于1979年為使用可編程邏輯控制器(PLC)通信而發(fā)表。Modbus已經(jīng)成為工業(yè)領(lǐng)域通信協(xié)議的業(yè)界標(biāo)準(zhǔn)(De facto),并且現(xiàn)在是工業(yè)電子設(shè)備之間常用的連接方式。
Modbus允許多個(gè) (大約240個(gè)) 設(shè)備連接在同一個(gè)網(wǎng)絡(luò)上進(jìn)行通信,舉個(gè)例子,一個(gè)由測量溫度和濕度的裝置,并且將結(jié)果發(fā)送給計(jì)算機(jī)。在數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(SCADA)中,Modbus通常用來連接監(jiān)控計(jì)算機(jī)和遠(yuǎn)程終端控制系統(tǒng)(RTU)。
Modbus有一個(gè)擴(kuò)展版本Modbus Plus(Modbus+或者M(jìn)B+),不過此協(xié)議是Modicon專有的,和Modbus不同。它需要一個(gè)專門的協(xié)處理器來處理類似HDLC的高速令牌旋轉(zhuǎn)。它使用1Mbit/s的雙絞線,并且每個(gè)節(jié)點(diǎn)都有轉(zhuǎn)換隔離裝置,是一種采用轉(zhuǎn)換/邊緣觸發(fā)而不是電壓/水平觸發(fā)的裝置。連接Modbus Plus到計(jì)算機(jī)需要特別的接口,通常是支持ISA(SA85),PCI或者PMCIA總線的板卡。
整個(gè)教程主要介紹Modbus 協(xié)議的基礎(chǔ),主要包括Modbus協(xié)議棧函數(shù)編程實(shí)現(xiàn)、Modbus協(xié)議在串行鏈路編程實(shí)現(xiàn)、Modbus協(xié)議在以太網(wǎng)鏈路編程實(shí)現(xiàn)以及常見問題的解決方法。
前 言 Modbus協(xié)議棧的體系與方法
- 第1講 Modbus協(xié)議棧的體系與方法:Modbus 協(xié)議前世今生
- 第2講Modbus協(xié)議棧的體系與方法:Modubs網(wǎng)絡(luò)體系
- 第3講 Modbus協(xié)議棧的體系與方法:Modbus 協(xié)議棧模型
- 第4講Modbus協(xié)議棧的體系與方法:Modbus 主從網(wǎng)絡(luò)
- 第5講 Modbus協(xié)議棧的體系與方法:Modbus 物理層
- 第6講Modbus協(xié)議棧的體系與方法:Modbus 幀的雛形
- 第7講 Modbus協(xié)議棧的體系與方法:Modbus 幀的完善
- 第8講Modbus協(xié)議棧的體系與方法:Modbus ASCII
- 第9講 Modbus協(xié)議棧的體系與方法:Modbus ASCII幀格式
- 第10講Modbus協(xié)議棧的體系與方法:Modbus RTU幀格式
- 第11講 Modbus協(xié)議棧的體系與方法:讀線圈命令
- 第12講Modbus協(xié)議棧的體系與方法:寫單個(gè)線圈命令
- 第13講 Modbus協(xié)議棧的體系與方法:寫多個(gè)線圈命令
- 第14講Modbus協(xié)議棧的體系與方法:讀離散量命令
- 第15講 Modbus協(xié)議棧的體系與方法:讀取保持寄存器
- 第16講Modbus協(xié)議棧的體系與方法:寫寄存器
- 第17講 Modbus協(xié)議棧的體系與方法:讀輸入寄存器
- 第18講Modbus協(xié)議棧的體系與方法:寄存器編號與協(xié)議地址關(guān)系
- 第19講 Modbus協(xié)議棧的體系與方法:Modbus Tcp 協(xié)議1
- 第20講Modbus協(xié)議棧的體系與方法:Modbus Tcp 協(xié)議2
- 第21講 Modbus協(xié)議棧的體系與方法:STM32CubeMX 創(chuàng)建工程
- 第22講Modbus協(xié)議棧的體系與方法:Modbus 工程完善
- 第23講 Modbus協(xié)議棧的體系與方法:Modbus 調(diào)試軟件使用
- 第24講Modbus協(xié)議棧的體系與方法:讀取保持寄存器編程
- 第25講 Modbus協(xié)議棧的體系與方法:寫單個(gè)寄存器編程
- 第26講Modbus協(xié)議棧的體系與方法:寫多個(gè)寄存器編程
- 第27講 Modbus協(xié)議棧的體系與方法:寫單個(gè)線圈編程
- 第28講Modbus協(xié)議棧的體系與方法:寫多個(gè)線圈編程
- 第29講 Modbus協(xié)議棧的體系與方法:讀取線圈狀態(tài)編程
- 第30講Modbus協(xié)議棧的體系與方法:讀取離散輸入編程
- 第31講 Modbus協(xié)議棧的體系與方法:讀取輸入寄存器編程
- 第32講Modbus協(xié)議棧的體系與方法:優(yōu)化1,使用空閑中斷IDLE,串口接收的精髓
- 第33講 Modbus協(xié)議棧的體系與方法:工優(yōu)化2,使用共用體解決數(shù)據(jù)共存,編程老炮的第二性征
- 第34講Modbus協(xié)議棧的體系與方法:如何上傳負(fù)數(shù),難倒編程新猿
- 第35講 Modbus協(xié)議棧的體系與方法:編程老炮指點(diǎn),上傳負(fù)數(shù)實(shí)現(xiàn)
- 第36講Modbus協(xié)議棧的體系與方法:如何解決多串口都運(yùn)行Modbus協(xié)議,程序員不再脫發(fā)
- 第37講 Modbus協(xié)議棧的體系與方法:終極思考,解決裸奔和用操作系統(tǒng)下的協(xié)議棧復(fù)用
- 第38講Modbus協(xié)議棧的體系與方法:Modbus Tcp
- 第39講 Modbus協(xié)議棧的體系與方法:Modbus Tcp
- 第40講Modbus協(xié)議棧的體系與方法:Modbus 總結(jié)