在物聯網和互聯網+的時代,不懂Modbus如何玩轉物聯網?全方位解析Modbus軟件開發技巧,一書在手輕松搞定Modbus軟件開發!干貨滿滿,值得一讀。本書以通俗易懂的語言和畫面描述Modbus軟件開發技巧的使用,基本上每個操作都會有畫面或者實際程序代碼演示,便于讀者自學。本書以解決Modbus軟件開發中的問題為目的,圍繞這一點著重講述如何快速入門并精通Modbus軟件開發技術。其實對于Modbus開發來說必要的硬件不可缺少,但是為了能迅速入門,減少硬件依賴,本書盡可能使用各種軟件工具模擬硬件環境,閱讀本書一臺電腦足矣,這也是本書的一大特色。
目標讀者
如果你初學Modbus通信協議;
如果你想用C/C++語言開發Modbus通信庫;
如果你想用其他語言(如Visual Basic、Visual C#)開發Modbus應用程序;
如果你想從事物聯網或Modbus測試開發;
如果你英語不好;
如果你想節省搜索的時間;
如果你想提高工作效率。
那么這本書簡直就是為你量身訂做的。
073799-01.jpg (109.6 KB)
下載附件
2020-4-25 14:17 上傳
Modbus是工業自動化領域使用最廣泛的通信協議之一,隨著電子、計算機和通信技術的不斷發展,特別是物聯網以及“互聯網+”等概念的興起,Modbus通信技術也從串行總線發展到了Modbus TCP,方興未艾。為了讓廣大在校學生、工業控制和自動化工程師、技術人員了解Modbus協議的內涵,特別是徹底掌握Modbus通信技術的軟件開發方法,作者從初學者的角度,由淺入深,循循善誘,以文字和畫面相結合的方式撰寫了本書。
本書分為11章,依次介紹了Modbus協議,特別是功能碼消息幀的定義,然后從軟件開發的角度,詳細介紹了輔助調試工具、軟件開發環境的構筑,重點介紹和解析了libmodbus開發庫的源代碼,以及使用libmodbus在不同語言環境下的開發技巧。閱讀本書,可快速入門并精通Modbus軟件開發技術。作為一本軟件技術開發指南的書籍,本書不僅僅局限于Modbus通信協議,對其他通信協議的軟件開發也有很強的參考價值。
第1章初識Modbus1
1.1背景2
1.2模型4
1.3協議版本4
1.4通信設備6
1.5事務處理6
1.6專業術語9
第2章Modbus開發環境11
2.1虛擬串口軟件12
2.1.1什么是虛擬串口軟件12
2.1.2使用方法13
2.2Modbus Poll的使用16
2.2.1簡介16
2.2.2功能17
2.2.3使用方法18
2.3Modbus Slave的使用21
2.3.1簡介21
2.3.2功能22
2.3.3使用方法232.4Modbus PollSlave互聯互通24
2.5Visual Studio 2015的安裝28
第3章Modbus協議的相關知識31
3.1協議概要32
3.2Modbus寄存器34
3.2.1寄存器種類說明34
3.2.2寄存器地址分配35
3.3Modbus串行消息幀格式35
3.3.1ASCII消息幀格式36
3.3.2RTU消息幀格式36
3.3.3地址域38
3.3.4功能碼域39
3.3.5數據域39
3.4Modbus差錯校驗39
3.4.1LRC校驗40
3.4.2CRC校驗42
3.5字節序和大小端49
3.5.1來歷49
3.5.2為什么會有大小端50
3.5.3什么是“大端”和“小端”51
3.6Modbus TCP消息幀格式53
3.6.1協議描述53
3.6.2查詢與響應報文例56
第4章Modbus功能碼詳解59
4.1功能碼概要60
4.201(0x01)讀取線圈/離散量輸出狀態61
4.2.1功能說明61
4.2.2查詢報文61
4.2.3響應報文62
4.2.4借助工具軟件觀察和理解63
4.302(0x02)讀取離散量輸入值72
4.3.1功能說明72
4.3.2查詢報文72
4.3.3響應報文73
4.403(0x03)讀取保持寄存器值74
4.4.1功能說明74
4.4.2查詢報文74
4.4.3響應報文75
4.504(0x04)讀取輸入寄存器值76
4.5.1功能說明76
4.5.2查詢報文76
4.5.3響應報文77
4.605(0x05)寫單個線圈或單個離散輸出78
4.6.1功能說明78
4.6.2查詢報文79
4.6.3響應報文79
4.706(0x06)寫單個保持寄存器80
4.7.1功能說明80
4.7.2查詢報文80
4.7.3響應報文81
4.808(0x08)診斷功能82
4.8.1功能說明82
4.8.2查詢報文82
4.8.3響應報文83
4.8.4診斷子功能碼84
4.911(0x0B)獲取通信事件計數器87
4.9.1功能說明87
4.9.2查詢報文87
4.9.3響應報文88
4.1012(0x0C)獲取通信事件記錄89
4.10.1功能說明89
4.10.2查詢報文89
4.10.3響應報文90
4.1115(0x0F)寫多個線圈91
4.11.1功能說明91
4.11.2查詢報文91
4.11.3響應報文92
4.1216(0x10)寫多個保持寄存器93
4.12.1功能說明93
4.12.2查詢報文93
4.12.3響應報文95
4.1317(0x11)報告從站ID(僅用于串行鏈路)96
4.13.1功能說明96
4.13.2查詢報文96
4.13.3響應報文97
4.14Modbus異常響應97
第5章libmodbus開發庫101
5.1功能概要102
5.2源碼獲取與編譯102
5.3與應用程序的關系109
第6章libmodbus源碼解析111
6.1類型與結構定義112
6.1.1精細類型定義112
6.1.2常量定義114
6.1.3核心結構體定義之一115
6.1.4核心結構體定義之二120
6.2常用接口函數122
6.2.1各類輔助接口函數122
6.2.2各類Modbus功能接口函數126
6.2.3數據處理的相關函數或宏定義131
6.3RTU/TCP關聯接口函數132
6.3.1RTU模式關聯函數133
6.3.2TCP模式關聯函數135
6.4部分內部函數詳解135
6.4.1函數read_io_status()135
6.4.2函數read_registers()141
6.4.3函數write_single()144
6.4.4函數modbus_mapping_new_start_
address()147
6.5開發應用程序基本流程151
第7章完整RTU模式開發范例153
7.1開發RTU Master端154
7.1.1新建工程154
7.1.2添加開發庫155
7.1.3添加應用源代碼158
7.1.4代碼調試166
7.2開發RTU Slave端169
7.2.1新建工程并添加開發庫169
7.2.2添加應用源代碼169
第8章完整TCP模式開發范例173
8.1開發TCP Client端174
8.1.1新建工程174
8.1.2添加開發庫176
8.1.3添加應用源代碼177
8.1.4代碼調試186
8.2開發TCP Server端189
8.2.1新建工程并添加開發庫189
8.2.2添加應用源代碼189
第9章Visual Basic中使用libmodbus193
9.1函數調用約定與修飾名194
9.1.1函數調用約定194
9.1.2函數修飾名196
9.1.3調用約定的使用198
9.2模塊定義文件198
9.3對libmodbus開發庫的改造200
9.3.1添加__stdcall調用符200
9.3.2添加DEF模塊定義文件201
9.4開發Visual Basic程序204
9.4.1創建新項目204
9.4.2添加函數描述文件205
9.4.3調用libmodbus庫函數213
第10章Visual C#中使用libmodbus217
10.1開發Visual C#程序218
10.1.1創建新項目218
10.1.2添加函數描述文件219
10.1.3調用libmodbus庫函數226
10.2基于C#的NModbus類庫230
10.2.1什么是NModbus類庫230
10.2.2NModbus類庫用法232
第11章打造自己的Modbus調試工具237
11.1開發自己的Modbus Poll238
11.1.1軟件需求分析238
11.1.2命令行解析功能240
11.1.3創建應用程序并調試246
11.2開發自己的Modbus Slave270
11.2.1軟件需求分析270
11.2.2創建應用程序并調試272
參考文獻284
下載地址
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|