衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡單認識libmodbus開發庫

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-11-13 15:42 ? 次閱讀

第11章 libmodbus剖析與編程

11.1libmodbus開發庫

11.1.1 功能概要

libmodbus是一個免費的跨平臺Modbus庫,支持RTU和TCP,遵循LGPL V2.1+協議,兼容Linux、Mac OS X、FreeBSD、QNX和Windows等操作系統。它可通過串口或TCP網絡與符合Modbus協議的設備發送/接收數據,方便開發者構建應用程序或將Modbus通信集成到設備中。

作為開源軟件,還可以從GitHub網站獲取最新版本的代碼。

11.1.2 源碼獲取

libmodbus的源碼不斷更新,本教程選擇版本v3.1.10。

如下圖下載

c3cd4996-a174-11ef-93f3-92fbcf53809c.png

本源碼也放在網盤中如下目錄里:

c3d90d44-a174-11ef-93f3-92fbcf53809c.png

解壓后,簡單查看源代碼根目錄的構成:

①doc目錄:libmodbus庫的各API接口說明文檔。

②m4目錄:存放GNU m4文件,在這里對理解代碼沒有意義,可忽略。

③src目錄:全部libmodbus源文件。

tests目錄:包含自帶的測試代碼,其他文件對理解源代碼關系不大,可以暫時忽略。

圖6-1 解壓libmodbus源代碼:

c3f0fc06-a174-11ef-93f3-92fbcf53809c.png

進一步展開src代碼目錄,如圖6-3所示:

圖6-2 libmodbus源碼構成:

c3f89c7c-a174-11ef-93f3-92fbcf53809c.png

各文件作用如下:

win32:定義在Windows下使用Visual Studio編譯時的項目文件和工程文件以及相關配置選項等。其中,modbus-9.sln默認使用Visual Studio 2008。

Makefile.am:Makefile.am是Linux下AutoTool編譯時讀取相關編譯參數的配置文件,用于生成Makefile文件,因為用于Linux下開發,所以在這里暫時忽略。

modbus.c:核心文件,實現Modbus協議層,定義共通的Modbus消息發送和接收函數各功能碼對應的函數。

modbus.h:libmodbus對外暴露的接口API頭文件。

modbus-data.c:數據處理的共通函數,包括大小端相關的字節、位交換等函數。

modbus-private.h:libmodbus內部使用的數據結構和函數定義。

modbus-rtu.c:通信層實現,RTU模式相關的函數定義,主要是串口的設置、連接及消息的發送和接收等。

modbus-rtu.h:RTU模式對外提供的各API定義。

modbus-rtu-private.h:RTU模式的私有定義。

modbus-tcp.c:通信層實現,TCP模式下相關的函數定義,主要包括TCP/IP網絡的設置連接、消息的發送和接收等。

modbus-tcp.h:定義TCP模式對外提供的各API定義。

modbus-tcp-private.h:TCP模式的私有定義。

modbus-version.h.in:版本定義文件。

11.1.3 libmodbus與應用程序的關系

libmodbus是一個免費的跨平臺支持RTU和TCP的Modbus開發庫,借助于libmodbus發庫能夠非常方便地建立自己的應用程序或者將Modbus通信協議嵌入單體設備libmodbus開發庫與應用程序的基本關系如圖6-4所示。

圖6-3 應用程序與libmodbus的關系:

c40758c0-a174-11ef-93f3-92fbcf53809c.png

在對libmodbus的接口及代碼框架簡單了解之后,不妨再深入細節一探究竟,看看libmodbus都實現了哪些基礎功能,以及源代碼中對Modbus各功能碼和消息頓是如何包裝的。具體內容請參看下一章。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • MODBUS
    +關注

    關注

    28

    文章

    1820

    瀏覽量

    77308
  • LibModbus
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7270
  • 開發庫
    +關注

    關注

    0

    文章

    7

    瀏覽量

    4867

原文標題:libmodbus開發庫 - RZ MPU工業控制教程連載(37)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    第6章_libmodbus使用

    libmodbus是一個免費的跨平臺支持RTU和TCP的Modbus,遵循LGPL V2.1+協議。libmodbus支持Linux、Mac Os X、FreeBSD、QNX和Windows等
    的頭像 發表于 06-29 14:36 ?2793次閱讀
    第6章_<b class='flag-5'>libmodbus</b>使用

    【米爾-瑞薩RZ/G2UL開發板】3.libmodbus移植使用

    libmodbus簡介 libmodbus是一個用于實現Modbus通信協議的開源。Modbus是一種在工業自動化領域廣泛使用的通信協議,libmodbus
    發表于 02-02 23:49

    【米爾-全志T113-i開發板試用】移植libmodbus到米爾-全志T113-i開發

    申請米爾-全志T113-i開發板試用的很大一個原因是想測試開發板在工業領域的應用,modbus作為工業領域的一個重要協議,那好就移植libmodbus。 一、源碼下載
    發表于 03-05 22:31

    【龍芯2K0300蜂鳥板試用】+4.libmodbus移植

    1.libmodbus簡介 libmodbus是一個用于實現Modbus通信協議的開源。Modbus是一種在工業自動化領域廣泛使用的通信協議,libmodbus
    發表于 08-18 18:40

    【龍芯2K0300蜂鳥板試用】UART通信測試4、安裝libmodbus及串口收發測試

    lib目錄,可以看到生成的靜態和動態文件,將libmodbus.a靜態文件復制到開發板的
    發表于 09-22 23:45

    libmodbus使用ubuntu系統

    libmodbus使用ubuntu系統使用libmodbusarm-linux使用libmodbus解壓安裝移植編譯modbus從機模擬ubuntu系統使用libmodbusubuntu系統可以直接
    發表于 11-04 07:57

    基于select操作的libmodbus

    libmodbus從軟件包里啟用, libmodbus是基于select操作的,依賴于文件系統和libc,需要在rt-thread中開啟對應的支持。一開始以為作為主站時,有函數可以自動的指定讀取
    發表于 01-11 08:13

    Modbus實際項目—libmodbus驅動的使用

    Modbus驅動,來實現對從設備的讀寫。當然,也可以直接使用別人寫好的Modbus驅動,比如libmodbus,本文將介紹如何使用libmodbus驅動
    發表于 10-28 14:33

    【飛凌i.MX9352開發板試用】 + libmodbus移植 測試 485接口

    和調試Modbus通信。由于其開源性質和跨平臺支持,libmodbus成為了工業自動化領域中廣泛使用的Modbus之一。 i.MX9352開發板上已經設計了兩個RS485接口且電磁兼容電路設計得很到位
    發表于 06-14 12:36

    【悟空派H3開發板免費體驗】4、安裝libmodbus

    做的項目需要和stm32進行串口通信,隨選用Modbus_RTU協議。以下為wukunpi安裝libmodbus的步驟。 下載源碼 可以直接下載附件 *附件
    發表于 10-25 01:29

    libmodbus之嵌入式Linux使用及測試

    libmodbus使用ubuntu系統使用libmodbusarm-linux使用libmodbus解壓安裝移植編譯modbus從機模擬ubuntu系統使用libmodbusubuntu系統可以直接
    發表于 11-01 16:57 ?16次下載
    <b class='flag-5'>libmodbus</b>之嵌入式Linux使用及測試

    簡單認識無源器件

    簡單認識無源器件
    的頭像 發表于 01-12 09:56 ?639次閱讀
    <b class='flag-5'>簡單</b><b class='flag-5'>認識</b>無源器件

    簡單認識變壓器

    簡單認識變壓器
    的頭像 發表于 01-25 10:05 ?1060次閱讀
    <b class='flag-5'>簡單</b><b class='flag-5'>認識</b>變壓器

    移植libmodbus到米爾-全志T113-i開發

    測試開發板在工業領域的應用,modbus作為工業領域的一個重要協議,那好就移植libmodbus。
    的頭像 發表于 03-05 22:37 ?2765次閱讀
    移植<b class='flag-5'>libmodbus</b><b class='flag-5'>庫</b>到米爾-全志T113-i<b class='flag-5'>開發</b>板

    libmodbus源碼框架分析

    libmodbus作為一個優秀且免費開源的跨平臺支持RTU 和 TCP模式的Modbus開發,非常值得大家借鑒和學習。本章對libmodbus源代碼進行閱讀和分析。
    的頭像 發表于 11-21 13:47 ?560次閱讀
    <b class='flag-5'>libmodbus</b>源碼框架分析
    bet365百家乐| 夜总会百家乐的玩法技巧和规则| 百家乐官网机器手怎么做弊| 水果机的规律| 百家乐存在千术吗| 网上玩百家乐官网有钱| 大发888资讯网net| 百家乐真人娱乐注册| 百家乐官网赌博机假在哪里| 大西洋城娱乐| 大地百家乐的玩法技巧和规则| 百家乐官网技巧网址| 百家乐官网游戏补牌规则| 大发888谨慎心态| 网上玩百家乐有钱| 百家乐官网五子棋| 博九最新网址| 全讯网跑狗图| 真人百家乐赌博技巧| 现场百家乐官网投注| 联博娱乐| 百家乐娱乐城| 开心8百家乐游戏| 百家乐官网欧洲赔率| 长顺县| 大发888电话客服| 广东百家乐网| 博狗百家乐官网的玩法技巧和规则| 百家乐官网庄闲必胜手段| 澳门葡京娱乐| 大发888官方备用网址| 权威百家乐信誉网站| 巴厘岛百家乐官网娱乐城| 哪个百家乐官网投注好| 邵武市| 德州扑克 下载| 免费百家乐缩水软件| 太阳城百家乐娱乐官方网| 做生意招财的东西| 百家乐官网国际赌场娱乐网规则| 百家乐官网视频游戏界面|