<mark id="ljfxl"><var id="ljfxl"></var></mark>

          <listing id="ljfxl"></listing>
          <nobr id="ljfxl"><cite id="ljfxl"><p id="ljfxl"></p></cite></nobr>

            <b id="ljfxl"><pre id="ljfxl"></pre></b>

            ModBus通訊協議軟件包

            產品介紹相關資料

            ModBus通訊協議簡介

              Modbus協議是一種已廣泛應用于當今工業控制領域的通用通訊協議。通過此協議,控制器相互之間、或控制器經由網絡(如以太網)可以和其它設備之間進行通信。Modbus協議使用的是主從通訊技術,即由主設備主動查詢和操作從設備。一般將主控設備方所使用的協議稱為Modbus Master,從設備方使用的協議稱為Modbus Slave。典型的主設備包括工控機和工業控制器等;典型的從設備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網口。其通信遵循以下的過程:

              ● 主設備向從設備發送請求

              ● 從設備分析并處理主設備的請求,然后向主設備發送結果

              ● 如果出現任何差錯,從設備將返回一個異常功能碼


            英創ModBus通訊協議軟件產品簡介

              英創公司推出的ModBus通訊協議軟件產品主要應用于英創ARM9嵌入式主板環境,英創工控主板均帶有豐富的串口、網絡資源、通用GPIO接口等,同時具有強大的處理能力。結合ModBus通訊協議軟件,就可非常方便地構成符合ModBus通訊規范的主控(Master)及設備(Slave)的應用平臺。針對ModBus通訊的主從方式這一特點,英創公司的ModBus通訊協議軟件包分為兩個可獨立使用的部分,即“ModBus主控協議軟件”(簡稱modbus_Master)以及“ModBus設備方協議軟件”(簡稱modbus_Slave)。目前英創ModBus通訊協議軟件運行于WinCE環境下,均以C函數加靜態LIB庫的形式提供給客戶。其主要特征如下:

              ● 非常適用于實時的工業應用

              ● 可以支持基于串口的ModBus通訊協議應用或TCP的ModBus通訊協議應用

              ● RTU傳輸模式

              ● 支持大多數的Modbus功能碼操作,包括對線圈、離散開關輸入的位操作,以及對寄存器的字節操作

              ● 支持廣播地址

              ● 可以靈活設置ModBus通訊的超時時間

              ● 可以獲取通訊中傳輸協議的錯誤代碼的詳細信息


            英創ModBus協議軟件通訊關系圖


            英創ModBus協議軟件支持的功能碼

            功能碼

            描述

            1

              讀單個線圈

            2

              讀離散量輸入

            3

              讀多個寄存器

            4

              讀輸入寄存器

            5

              寫單個線圈

            6

              寫單個寄存器

            15

              寫多個線圈

            16

              寫多個寄存器

            22

              屏蔽寫寄存器

            23

              讀/寫寄存器


            軟件基本使用方法

              為了方便應用程序的使用,對不同的通訊介質保持一致的代碼形式,英創所提供的ModBus協議軟件(包括modbus_Master和modbus_Slave)中的API函數可以同時支持基于串口和TCP的Modbus協議,應用程序只需要在調用初始化函數時,用不同參數區分即可,有關參數的說明請參見相應的頭文件:modbus_Master.h和modbus_Slave.h


              1、modbus_Master的應用

              作為Modbus客戶端模式的應用,主要是準備請求并向服務器設備發送請求,并等待服務器的響應。在做此類應用開發時,用戶可參考Modbus標準文獻以及被控設備的通訊接口數據手冊,直接調用英創提供的modbus_Master軟件包提供了相應的操作API函數,來完成對服務器設備的訪問和控制。在進行此類應用開發時,用戶只需要包含modbus_master.h/ modbus_master.lib 即可。


              2、modbus_Slave的應用

              作為ModBus服務器模式的應用,主要需要實現了對于ModBus應用報文的分析與響應,但這還只是ModBus整個通訊的一部分,另一部分是還需要有對應用數據的訪問,這部分的內容則需要用戶自己來進行定義。為了方便客戶的使用,在modbus_Slave軟件包中通過函數指針的形式,實現了這些用戶接口函數的自動加載,將用戶應用數據處理和ModBus應用報文響應關聯起來。用戶只需根據需求定義這些接口函數來實現相應的功能,各個函數具體的定義是通過專門的一個CPP文件:DataProvider.cpp來實現。


              由此可見在這類的開發應用時,需包含兩個部分的內容,一部分是 modbus_slave.h/ modbus_slave.lib定義的API函數;另一部分是DataProvider.h /DataProvider.cpp定義的用戶數據接口函數,其中接口函數需要用戶在DataProvider.cpp中具體實現。


              為了及時地響應ModBus應用報文,需要注意的是在程序設計時應設計一個線程反復調用modbus_Slave執行函數,該函數為阻塞模式。


              舉例如下:

              (1)啟動modbus設備方協議

              hPort = mbusSlave_StartupServer( _T('*'), 1, 10000, mbusSlave_Interface );

              或者

              hPort=mbusSlave_StartupServer( _T('COM3:9600-8-1-0'),1,10000, mbusSlave_Interface );


              (2)線程中調用執行函數Serverloop 響應請求

              while( 1 )

              {

                // 調用執行函數,用于對ModBus報文的分析和響應。

                result = mbusSlave_ServerLoop( hPort );

                if( result!=0 ) // 檢查是否返回錯誤

                {

                  // 出錯處理:本例為獲取并打印錯誤代碼的文本信息

                  wcscpy( szText, mbusSlave_GetErrorText( result ) );

                  i1 = wcslen( szText );

                  if( i1>0 )

                  {

                    wcstombs( strText, szText, i1 );

                    printf( ' error code: %s!\n', strText );

                  }

                }

              }


              之前英創公司提供的ModBus通訊協議軟件,均是以C函數加靜態庫(modbus.lib或libmodbus.a文件)的形式提供給客戶。隨著越來越多的客戶使用,英創將ModBus通訊協議,特別是主控協議軟件(簡稱modbus_Master)以動態庫(modbus_Master.dll或libmbusmaster.so文件)的形式預裝到英創嵌入式工控主板內核系統中,以方便客戶應用程序的調用。預裝Modbus協議的工控主板包括英創ESM系列所有主板(ESM6802、ESM6800、ESM335x、ESM928x等)。


            相關參考資料


            4~20mA電流環采集應用方案WinCE下的Modbus主控通訊協議軟件

            WinCE下的Modbus設備方協議軟件英創嵌入式Linux工控主板支持Modbus主控協議軟件

            Linux下的Modbus設備方協議軟件介紹ESM6802支持Qt MODBUS程序開發

            在英創主板中預裝Modbus通訊協議
            Go Top
            波多野结衣中文字幕在观线看 百度“好物新知节”黄金专场直播单场成交额突破一千万 近日, 百度双十一“好物新知节”推出“探秘黄金工厂”直播,这也是“好物新知节”的首场黄金专场直播。直播间内,主播带领网友“云参观”金条的制作过程,并上线了近50款品牌特价黄金制品,截止当天17:30直播结束,一场直播成交额突破1000万元。   据介绍,作为本次“好物新知节”的主打产品之一,黄金专场通过直播参观和讲解的方式,让网友在了解黄金制作知识和投资知识的基础上,再根据个人需求自由选购。   据悉,百度“好物新知节”将一直持续至11月20日,接下来还将有更多场次的黄金专场直播,以及更多美妆、数码、宝石、名酒、家居和秋冬服饰等好物大促直播,如iPhone 12 Pro Max、瑞丽家居、百雀羚、延边原产地三农产品等都将亮相直播间。 东北风情熟女之惑