预购商品
书目分类
特别推荐
Modbus是工業自動化領域廣泛使用的通信協定之一,隨著電子、電腦和通信技術的不斷發展,特別是物聯網以及“互聯網+”等概念的興起,Modbus通信技術也從串列匯流排發展到了ModbusTCP,方興未艾。為了讓廣大在校學生、工業控制和自動化工程師及技術人員瞭解Modbus協議的內涵,掌握Modbus通信技術的軟體發展方法,作者從初學者的角度,由淺入深,循循善誘,以文字和圖片相結合的方式撰寫了本書。 本書共13章,首先介紹Modbus協定,特別是功能碼消息幀的定義,然後從軟體發展的角度詳細介紹輔助調試工具、軟體發展環境的構築,重點介紹和解析libmodbus開發庫的原始程式碼,以及libmodbus在不同語言環境下的開發技巧。閱讀本書可快速入門並精通Modbus軟體發展技術。作為軟體技術開發指南類書籍,本書不僅僅局限於Modbus通信協定,對其他通信協定的軟體發展也有很高的參考價值。本書可作為各大高校、工程設計院、系統集成商和工廠企業的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 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.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(001)讀取線圈/離散量輸出狀態51 4.2.1功能說明51 4.2.2查詢報文51 4.2.3回應報文52 4.2.4借助工具軟體觀察和理解53 4.302(002)讀取離散量輸入值59 4.3.1功能說明59 4.3.2查詢報文60 4.3.3回應報文60 4.403(003)讀取保持寄存器值61 4.4.1功能說明61 4.4.2查詢報文61 4.4.3回應報文62 4.504(004)讀取輸入寄存器值63 4.5.1功能說明63 4.5.2查詢報文63 4.5.3回應報文64 4.605(005)寫單個線圈或單個離散輸出65 4.6.1功能說明65 4.6.2查詢報文65 4.6.3回應報文66 4.706(006)寫單個保持寄存器67 4.7.1功能說明67 4.7.2查詢報文67 4.7.3回應報文68 4.808(008)診斷功能68 4.8.1功能說明68 4.8.2查詢報文68 4.8.3回應報文69 4.8.4診斷子功能碼70 4.911(00B)獲取通信事件計數器73 4.9.1功能說明73 4.9.2查詢報文73 4.9.3回應報文74 4.1012(00C)獲取通信事件記錄74 4.10.1功能說明74 4.10.2查詢報文75 4.10.3回應報文75 4.1115(00F)寫多個線圈76 4.11.1功能說明76 4.11.2查詢報文76 4.11.3回應報文77 4.1216(010)寫多個保持寄存器78 4.12.1功能說明78 4.12.2查詢報文78 4.12.3回應報文79 4.1317(011)報告從站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_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
客服公告
热门活动
订阅电子报