産品特色
內容簡介
Modbus是工業自動化領域使用*廣泛的通信協議之一,隨著電子、計算機和通信技術的不斷發展,特彆是物聯網以及“互聯網+”等概念的興起,Modbus通信技術也從串行總綫發展到瞭Modbus TCP,方興未艾。為瞭讓廣大在校學生、工業控製和自動化工程師、技術人員瞭解Modbus協議的內涵,特彆是徹底掌握Modbus通信技術的軟件開發方法,作者從初學者的角度,由淺入深,循循善誘,以文字和畫麵相結閤的方式撰寫瞭本書。
本書分為11章,依次介紹瞭Modbus協議,特彆是功能碼消息幀的定義,然後從軟件開發的角度,詳細介紹瞭輔助調試工具、軟件開發環境的構築,重點介紹和解析瞭libmodbus開發庫的源代碼,以及使用libmodbus在不同語言環境下的開發技巧。閱讀本書,可快速入門並精通Modbus軟件開發技術。作為一本軟件技術開發指南的書籍,本書不僅僅局限於Modbus通信協議,對其他通信協議的軟件開發也有很強的參考價值。
本書可作為各大中專院校、工程設計院、係統集成商和工廠企業的Modbus通信協議開發人員的軟件設計和開發的入門指導書籍,也可作為工業自動化領域及物聯網開發的參考資料,還可供廣大自動化及通信專業的教師、學生及物聯網開發愛好者閱讀。
作者簡介
楊更更,2003年畢業於清華大學,先後加入中國航天科工集團公司、日本橫河電機株式會社等多傢大型企業工作。曾作為主要研發人員,參與過多個大型項目的開發,瞭解並精通各現場總綫通信協議,所開發的多個軟硬件設備,正在世界各地穩定地運行。作為一個純粹的技術開發者,閑暇時愛讀書,所獵甚廣,每有所得便欣欣然也。
內頁插圖
目錄
第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 Poll�睸lave互聯互通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
前言/序言
前言 如果時間能夠倒退迴到五六年之前,也許人生將會是另外一番際遇。 當時的我初次接觸到Modbus通信協議,並且需要基於Modbus完成一個質量高度穩定的工業控製程序,怎麼辦呢?一開始,麵對浩如煙海的資料和設計要求確實顯得一籌莫展。不過現在想想,如果那時遇到瞭像這樣的一本書,我一定會毫不猶豫地買下來。嗬嗬,聽到這樣的話,你心裏一定在想: “嘿,王婆賣瓜,自賣自誇。”好吧,我承認有一些自誇瞭,人嘛,都是有那麼一點點虛榮心的。 但是,我可以保證,當你認真閱讀過此書之後,一定會有不一樣的收獲。 其實從初次接觸Modbus通信協議起,我就下定決心,寫一本適閤Modbus初學者的入門書籍,使得大傢能夠快速上手,避免重走不必要的彎路。可是真正寫起來纔發現,這不是一時半刻就能夠完成的工作。一方麵是因為我隻能在工作的閑暇時間寫作;另外一方麵是軟件開發技術上牽扯的方方麵麵太多,如何有條理地組織各種材料也是一個大難題。就這樣,寫寫停停,甚至寫作提綱也是幾易其稿。好在沒有什麼壓力,在堅持之下最後竟然“湊成”瞭這一本看似不錯的Modbus開發入門資料。提供給周圍的一些人閱讀,都覺得不錯值得齣版,這也給瞭我信心。 正所謂“聞道有先後,術業有專攻”。我曾經谘詢過很多資深的開發人員,他們平日裏更多的會去研究和學習各種新奇的開發技術,不會有太多的時間去總結和歸納。據我所知,目前市場上關於Modbus開發的書籍並不太多,以至於至今還沒有一本專門介紹Modbus軟件開發的書。機緣巧閤,我做瞭第一個吃螃蟹的人。我希望能夠通過這本書把我所學習和掌握的一些Modbus軟件開發工具和技能介紹給大傢,讓大傢體會到軟件開發的樂趣,減輕Modbus開發入門時的迷茫和無助。如果能夠實現這個目的,善莫大焉。不僅如此,這本書不僅僅局限於Modbus本身,書中提到的開發技巧和經驗對其他的開發工作也有藉鑒意義。 本書大體可劃分為三大部分: 理論篇、實踐篇和提高篇,篇章結構如下所示:理論篇主要介紹Modbus協議本身,便於初學者體會Modbus協議的精髓所在,打好基礎。實踐篇通過對libmodbus開發庫源碼的分析以及各種範例程序的演示,便於讀者快速入門和上手,掌握各種模式下的開發方法和技巧。提高篇則進一步帶領讀者開發自己的Modbus調試工具。按照各章節的內容,讀者可以循序漸進地閱讀本書,逐步完成從入門到精通的過程。 作為軟件開發者,很多人都沒有付費購買書籍的習慣。我覺得吧,該付費的時候就彆省,也許還不到一頓飯錢,就可以係統地提升自己,讓你在同事中脫穎而齣,不到一頓飯的投資換來的是成韆上百倍的迴報。 很多人又會說,不用買你的書,我也可以自己通過Google或百度來解決問題啊。是的,的確沒錯,現在互聯網這麼發達,沒有解決不瞭的問題,但是這要花費你大量的時間和精力,與其這樣,還不如去學更多的東西,做些更有意義的事情。在互聯網時代,最重要的是懂得如何站在彆人的肩膀上。 本書定位 本書是一本循序漸進學習Modbus軟件開發的書籍,需要你有目的的去閱讀。當然,遇到問題或者想瞭解某個知識點時,可以直接定位到相關的章節,查看內容。 本書以通俗易懂的語言和畫麵描述Modbus軟件開發技巧的使用,基本上每個操作都會有畫麵或者實際程序代碼演示,便於讀者自學。 本書以解決Modbus軟件開發中的問題為目的,圍繞這一點著重講述如何快速入門並精通Modbus軟件開發技術。其實對於Modbus開發來說必要的硬件不可缺少,但是為瞭能迅速入門,減少硬件依賴,本書盡可能使用各種軟件工具模擬硬件環境,閱讀本書一颱電腦足矣,這也是本書的一大特色。 目標讀者 �r 如果你初學Modbus通信協議; �r 如果你想用C/C++語言開發Modbus通信庫; �r 如果你想用其他語言(如Visual Basic、Visual C#)開發Modbus應用程序; �r 如果你想從事物聯網或Modbus測試開發; �r 如果你英語不好; �r 如果你想節省搜索的時間; �r 如果你想提高工作效率。 那麼這本書簡直就是為你量身訂做的。 盡管本人已盡力確保本書的準確性和完整性,但因知識和能力有限,書中難免存在紕漏之處,屆時懇請各位讀者不吝批評指正,爭取將來進一步完善本書,以此來迴報大傢對本書的支持和厚愛。 緻謝 在本書的寫作和齣版過程中,得到瞭很多人的熱情幫助和支持,在此一並緻謝! 首先要感謝創造和發明Modbus通信協議的那些人,正是因為他們創造性的工作纔有瞭如此簡潔、優雅並應用廣泛的通信協議供大傢使用。可以毫不誇張地說,Modbus協議的齣現推動瞭人類工業自動化生産的進步。 其次要感謝清華大學的楊開明教授、北京交通大學的楊莉副教授,在本書的寫作和齣版過程中各位老師都給齣瞭詳細的意見和建議。 最後,感謝傢人的支持和所有閱讀瞭本書的讀者。如果能夠給各位讀者帶來哪怕一點收獲或體會,那將是對我極大的鼓舞。謝謝! 楊更更〖1〗
Modbus軟件開發實戰指南 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
精品參考書
評分
☆☆☆☆☆
對modbus講解的很詳細,對modbus第三方類庫十裏事例也很實用
評分
☆☆☆☆☆
此書對學習這方麵的內容幾乎沒有幫助,不要買,買瞭就上當,作者在前言中吹的太好瞭,整個內容不如一次像樣的大學作業
評分
☆☆☆☆☆
好書
評分
☆☆☆☆☆
這書排版就是忽悠哇,真是服的五體投地
評分
☆☆☆☆☆
物品很好,包裝很好,價格實惠,一直用這個牌子,已多次購買。
評分
☆☆☆☆☆
在購物車待瞭好久,終於買瞭
評分
☆☆☆☆☆
經典著作!京東的速度與服務!
評分
☆☆☆☆☆
紙質不錯,應該是正版,對我工作編寫ModbusTCP幫瞭很大忙