Modbus軟體開發實戰指南(第2版)

Modbus軟體開發實戰指南(第2版)

《Modbus軟體開發實戰指南(第2版)》是2021年清華大學出版社出版圖書,作者是楊更更。

基本介紹

  • 中文名:Modbus軟體開發實戰指南(第2版)
  • 作者:楊更更
  • 出版時間:2021年11月1日
  • 出版社:清華大學出版社
  • ISBN:9787302588931
  • 定價:78 元
內容簡介,目錄,

內容簡介

Modbus是工業自動化領域廣泛使用的通信協定之一,隨著電子、計算機和通信技術的不斷發展,特別是物聯網以及“網際網路+”等概念的興起,Modbus通信技術也從串列匯流排發展到了Modbus TCP,方興未艾。為了讓廣大在校學生、工業控制和自動化工程師及技術人員了解Modbus協定的內涵,掌握Modbus通信技術的軟體開發方法,作者從初學者的角度,由淺入深,循循善誘,以文字和圖片相結合的方式撰寫了本書。  本書共13章,首先介紹Modbus協定,特別是功能碼訊息幀的定義,然後從軟體開發的角度詳細介紹輔助調試工具、軟體開發環境的構築,重點介紹和解析libmodbus開發庫的原始碼,以及libmodbus在不同語言環境下的開發技巧。閱讀本書可快速入門並精通Modbus軟體開發技術。

目錄

第1章初識Modbus1
1.1背景2
1.2模型3
1.3協定版本4
1.4通信設備5
1.5事務處理6
1.6專業術語7
第2章Modbus開發環境9
2.1虛擬串口軟體10
2.1.1什麼是虛擬串口軟體10
2.1.2使用方法10
2.2Modbus Poll的使用14
2.2.1簡介14
2.2.2功能14
2.2.3使用方法15
2.3Modbus Slave的使用18
2.3.1簡介18
2.3.2功能18
2.3.3使用方法19
2.4Modbus PollSlave互聯互通20
2.5Visual Studio 2015的安裝24
第3章Modbus協定的相關知識27
3.1協定概要28
3.2Modbus暫存器29
3.2.1暫存器種類說明29
3.2.2暫存器地址分配30
3.3Modbus串列訊息幀格式31
3.3.1ASCII訊息幀格式31
3.3.2RTU訊息幀格式31
3.3.3地址域33
3.3.4功能碼域33
3.3.5數據域34
3.4Modbus差錯校驗34
3.4.1LRC校驗34
3.4.2CRC校驗35
3.5位元組序和大小端42
3.5.1來歷42
3.5.2為什麼會有大小端43
3.5.3什麼是“大端”和“小端”43
3.6Modbus TCP訊息幀格式45
3.6.1協定描述45
3.6.2查詢與回響報文示例48
第4章Modbus功能碼詳解49
4.1功能碼概要50
4.201(0x01)讀取線圈/離散量輸出狀態51
4.2.1功能說明51
4.2.2查詢報文51
4.2.3回響報文52
4.2.4藉助工具軟體觀察和理解53
4.302(0x02)讀取離散量輸入值59
4.3.1功能說明59
4.3.2查詢報文60
4.3.3回響報文60
4.403(0x03)讀取保持暫存器值61
4.4.1功能說明61
4.4.2查詢報文61
4.4.3回響報文62
4.504(0x04)讀取輸入暫存器值63
4.5.1功能說明63
4.5.2查詢報文63
4.5.3回響報文64
4.605(0x05)寫單個線圈或單個離散輸出65
4.6.1功能說明65
4.6.2查詢報文65
4.6.3回響報文66
4.706(0x06)寫單個保持暫存器67
4.7.1功能說明67
4.7.2查詢報文67
4.7.3回響報文68
4.808(0x08)診斷功能68
4.8.1功能說明68
4.8.2查詢報文68
4.8.3回響報文69
4.8.4診斷子功能碼70
4.911(0x0B)獲取通信事件計數器73
4.9.1功能說明73
4.9.2查詢報文73
4.9.3回響報文74
4.1012(0x0C)獲取通信事件記錄74
4.10.1功能說明74
4.10.2查詢報文75
4.10.3回響報文75
4.1115(0x0F)寫多個線圈76
4.11.1功能說明76
4.11.2查詢報文76
4.11.3回響報文77
4.1216(0x10)寫多個保持暫存器78
4.12.1功能說明78
4.12.2查詢報文78
4.12.3回響報文79
4.1317(0x11)報告從站ID(僅用於串列鏈路)80
4.13.1功能說明80
4.13.2查詢報文81
4.13.3回響報文81
4.14Modbus異常回響82
第5章libmodbus開發庫85
5.1功能概要86
5.2源碼獲取與編譯86
5.3與應用程式的關係92
第6章libmodbus原始碼解析93
6.1類型與結構定義94
6.1.1精細類型定義94
6.1.2常量定義96
6.1.3核心結構體定義之一97
6.1.4核心結構體定義之二101
6.2常用接口函式102
6.2.1各類輔助接口函式102
6.2.2各類Modbus功能接口函式106
6.2.3數據處理的相關函式或宏定義110
6.3RTU/TCP關聯接口函式111
6.3.1RTU模式關聯函式111
6.3.2TCP模式關聯函式112
6.4部分內部函式詳解113
6.4.1函式read_io_status113
6.4.2函式read_registers118
6.4.3函式write_single121
6.4.4函式modbus_mapping_new_start_address123
6.5開發應用程式基本流程126
第7章完整RTU模式開發範例129
7.1開發RTU Master端130
7.1.1新建工程130
7.1.2添加開發庫132
7.1.3添加套用原始碼133
7.1.4代碼調試141
7.2開發RTU Slave端143
7.2.1新建工程並添加開發庫143
7.2.2添加套用原始碼143
第8章完整TCP模式開發範例147
8.1開發TCP Client端148
8.1.1新建工程148
8.1.2添加開發庫148
8.1.3添加套用原始碼150
8.1.4代碼調試159
8.2開發TCP Server端160
8.2.1新建工程並添加開發庫160
8.2.2添加套用原始碼161
第9章Visual Basic中使用libmodbus165
9.1函式調用約定與修飾名166
9.1.1函式調用約定166
9.1.2函式修飾名167
9.1.3調用約定的使用169
9.2模組定義檔案170
9.3對libmodbus開發庫的改造171
9.3.1添加__stdcall調用符171
9.3.2添加DEF模組定義檔案172
9.4開發Visual Basic程式175
9.4.1創建新項目175
9.4.2添加函式描述檔案177
9.4.3調用libmodbus庫函式182
第10章Visual C#中使用libmodbus187
10.1開發Visual C#程式188
10.1.1創建新項目188
10.1.2添加函式描述檔案190
10.1.3調用libmodbus庫函式195
10.2基於C#的NModbus類庫199
10.2.1什麼是NModbus類庫199
10.2.2NModbus類庫用法200
第11章打造自己的Modbus調試工具205
11.1開發自己的Modbus Poll206
11.1.1軟體需求分析206
11.1.2命令行解析功能207
11.1.3創建應用程式並調試212
11.2開發自己的Modbus Slave234
11.2.1軟體需求分析234
11.2.2創建應用程式並調試236
第12章Java語言開發Modbus應用程式247
12.1開發環境的構建248
12.1.1安裝Java開發環境248
12.1.2Java圖形化開發工具252
12.2開發Modbus RTU程式254
12.2.1準備工作254
12.2.2代碼編寫和調試260
12.3開發Modbus TCP程式271
第13章Go語言開發Modbus應用程式281
13.1開發環境的構建282
13.1.1安裝Go語言開發環境282
13.1.2Go語言圖形化開發工具285
13.2開發Modbus應用程式293
13.2.1準備工作293
13.2.2代碼編寫和調試293
參考文獻298

相關詞條

熱門詞條

聯絡我們