Modbus 軟件開發實戰指南, 2/e
楊更更
買這商品的人也買了...
-
$580$493 -
$1,374$1,305 -
$480$470 -
$420$332 -
$480$432 -
$500$390 -
$500$390 -
$780$608 -
$356工業互聯網安全
-
$449三菱 FX5U PLC 編程從入門到精通
-
$774$735 -
$650$507 -
$654$621 -
$600$468 -
$594$564 -
$1,200$948 -
$580$493 -
$458測試開發實戰教程
-
$332工業控制網絡蜜罐攻防博弈理論
-
$454高級 C/C++ 編譯技術 (典藏版)
-
$407電子硬件工程師入職圖解手冊 硬件知識篇
-
$760工業互聯網安全
-
$594$564 -
$690$538 -
$720$562
相關主題
商品描述
Modbus是工業自動化領域廣泛使用的通信協議之一,隨著電子、電腦和通信技術的不斷發展,特別是物聯網以及“互聯網+”等概念的興起,Modbus通信技術也從串行總線發展到了Modbus TCP,方興未艾。為了讓廣大在校學生、工業控制和自動化工程師及技術人員瞭解Modbus協議的內涵,掌握Modbus通信技術的軟件開發方法,作者從初學者的角度,由淺入深,循循善誘,以文字和圖片相結合的方式撰寫了本書。 本書共13章,首先介紹Modbus協議,特別是功能碼消息幀的定義,然後從軟件開發的角度詳細介紹輔助調試工具、軟件開發環境的構築,重點介紹和解析libmodbus開發庫的源代碼,以及libmodbus在不同語言環境下的開發技巧。閱讀本書可快速入門並精通Modbus軟件開發技術。作為軟件技術開發指南類書籍,本書不僅僅局限於Modbus通信協議,對其他通信協議的軟件開發也有很高的參考價值。 本書可作為各大高校、工程設計院、系統集成商和工廠企業的Modbus通信協議開發人員學習軟件設計和開發的入門指導書籍,也可作為工業自動化及物聯網開發領域工程技術人員的參考書籍,還可供廣大自動化與通信專業的教師、學生及物聯網開發愛好者閱讀。
作者簡介
2003年學生清華大學;
先後進入中國航天科工集團公司、日本橫河電機株式會社等500強企業工作;一直從事軟件技術研究工作,並了解並通現場總線通信協議。
目錄大綱
第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 PollSlave互聯互通20
2.5Visual Studio 2015 的安裝24
第3章Modbus協議的相關知識27
3.1協議概要28
3.2Modbus控制器29
3.2.1 種類說明29
3.2.2阻抗地址分配30
3.3 Modbus消息幀格式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.2校驗CRC35
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核心結構體定義197
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_status()113
6.4.2函數read_registers()118
6.4.3函數write_single()121
6.4.4函數modbus_mapping_new_start_address()123
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