0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)ModBus通訊協(xié)議軟件包簡(jiǎn)介

英創(chuàng)信息技術(shù) ? 來(lái)源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-02-14 09:38 ? 次閱讀

ModBus通訊協(xié)議簡(jiǎn)介

Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議。通過(guò)此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設(shè)備主動(dòng)查詢(xún)和操作從設(shè)備。一般將主控設(shè)備方所使用的協(xié)議稱(chēng)為Modbus Master,從設(shè)備方使用的協(xié)議稱(chēng)為Modbus Slave。典型的主設(shè)備包括工控機(jī)和工業(yè)控制器等;典型的從設(shè)備如PLC編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232RS485),也可以選擇以太網(wǎng)口。其通信遵循以下的過(guò)程:

●主設(shè)備向從設(shè)備發(fā)送請(qǐng)求

●從設(shè)備分析并處理主設(shè)備的請(qǐng)求,然后向主設(shè)備發(fā)送結(jié)果

●如果出現(xiàn)任何差錯(cuò),從設(shè)備將返回一個(gè)異常功能碼

英創(chuàng)ModBus通訊協(xié)議軟件產(chǎn)品簡(jiǎn)介

英創(chuàng)公司推出的ModBus通訊協(xié)議軟件產(chǎn)品主要應(yīng)用于英創(chuàng)ARM9嵌入式主板環(huán)境,英創(chuàng)工控主板均帶有豐富的串口、網(wǎng)絡(luò)資源、通用GPIO接口等,同時(shí)具有強(qiáng)大的處理能力。結(jié)合ModBus通訊協(xié)議軟件,就可非常方便地構(gòu)成符合ModBus通訊規(guī)范的主控(Master)及設(shè)備(Slave)的應(yīng)用平臺(tái)。針對(duì)ModBus通訊的主從方式這一特點(diǎn),英創(chuàng)公司的ModBus通訊協(xié)議軟件包分為兩個(gè)可獨(dú)立使用的部分,即“ModBus主控協(xié)議軟件”(簡(jiǎn)稱(chēng)modbus_Master)以及“ModBus設(shè)備方協(xié)議軟件”(簡(jiǎn)稱(chēng)modbus_Slave)。目前英創(chuàng)ModBus通訊協(xié)議軟件運(yùn)行于WinCE環(huán)境下,均以C函數(shù)加靜態(tài)LIB庫(kù)的形式提供給客戶(hù)。其主要特征如下:

●非常適用于實(shí)時(shí)的工業(yè)應(yīng)用

●可以支持基于串口的ModBus通訊協(xié)議應(yīng)用或TCP的ModBus通訊協(xié)議應(yīng)用

●RTU傳輸模式

●支持大多數(shù)的Modbus功能碼操作,包括對(duì)線(xiàn)圈、離散開(kāi)關(guān)輸入的位操作,以及對(duì)寄存器的字節(jié)操作

●支持廣播地址

●可以靈活設(shè)置ModBus通訊的超時(shí)時(shí)間

●可以獲取通訊中傳輸協(xié)議的錯(cuò)誤代碼的詳細(xì)信息

英創(chuàng)ModBus協(xié)議軟件通訊關(guān)系圖

英創(chuàng)ModBus協(xié)議軟件支持的功能碼

功能碼 描述
1 讀單個(gè)線(xiàn)圈
2 讀離散量輸入
3 讀多個(gè)寄存器
4 讀輸入寄存器
5 寫(xiě)單個(gè)線(xiàn)圈
6 寫(xiě)單個(gè)寄存器
15 寫(xiě)多個(gè)線(xiàn)圈
16 寫(xiě)多個(gè)寄存器
22 屏蔽寫(xiě)寄存器
23 讀/寫(xiě)寄存器

軟件基本使用方法

為了方便應(yīng)用程序的使用,對(duì)不同的通訊介質(zhì)保持一致的代碼形式,英創(chuàng)所提供的ModBus協(xié)議軟件(包括modbus_Master和modbus_Slave)中的API函數(shù)可以同時(shí)支持基于串口和TCP的Modbus協(xié)議,應(yīng)用程序只需要在調(diào)用初始化函數(shù)時(shí),用不同參數(shù)區(qū)分即可,有關(guān)參數(shù)的說(shuō)明請(qǐng)參見(jiàn)相應(yīng)的頭文件:modbus_Master.h和modbus_Slave.h

1、modbus_Master的應(yīng)用

作為Modbus客戶(hù)端模式的應(yīng)用,主要是準(zhǔn)備請(qǐng)求并向服務(wù)器設(shè)備發(fā)送請(qǐng)求,并等待服務(wù)器的響應(yīng)。在做此類(lèi)應(yīng)用開(kāi)發(fā)時(shí),用戶(hù)可參考Modbus標(biāo)準(zhǔn)文獻(xiàn)以及被控設(shè)備的通訊接口數(shù)據(jù)手冊(cè),直接調(diào)用英創(chuàng)提供的modbus_Master軟件包提供了相應(yīng)的操作API函數(shù),來(lái)完成對(duì)服務(wù)器設(shè)備的訪(fǎng)問(wèn)和控制。在進(jìn)行此類(lèi)應(yīng)用開(kāi)發(fā)時(shí),用戶(hù)只需要包含modbus_master.h/ modbus_master.lib 即可。

2、modbus_Slave的應(yīng)用

作為ModBus服務(wù)器模式的應(yīng)用,主要需要實(shí)現(xiàn)了對(duì)于ModBus應(yīng)用報(bào)文的分析與響應(yīng),但這還只是ModBus整個(gè)通訊的一部分,另一部分是還需要有對(duì)應(yīng)用數(shù)據(jù)的訪(fǎng)問(wèn),這部分的內(nèi)容則需要用戶(hù)自己來(lái)進(jìn)行定義。為了方便客戶(hù)的使用,在modbus_Slave軟件包中通過(guò)函數(shù)指針的形式,實(shí)現(xiàn)了這些用戶(hù)接口函數(shù)的自動(dòng)加載,將用戶(hù)應(yīng)用數(shù)據(jù)處理和ModBus應(yīng)用報(bào)文響應(yīng)關(guān)聯(lián)起來(lái)。用戶(hù)只需根據(jù)需求定義這些接口函數(shù)來(lái)實(shí)現(xiàn)相應(yīng)的功能,各個(gè)函數(shù)具體的定義是通過(guò)專(zhuān)門(mén)的一個(gè)CPP文件:DataProvider.cpp來(lái)實(shí)現(xiàn)。

由此可見(jiàn)在這類(lèi)的開(kāi)發(fā)應(yīng)用時(shí),需包含兩個(gè)部分的內(nèi)容,一部分是 modbus_slave.h/ modbus_slave.lib定義的API函數(shù);另一部分是DataProvider.h /DataProvider.cpp定義的用戶(hù)數(shù)據(jù)接口函數(shù),其中接口函數(shù)需要用戶(hù)在DataProvider.cpp中具體實(shí)現(xiàn)。

為了及時(shí)地響應(yīng)ModBus應(yīng)用報(bào)文,需要注意的是在程序設(shè)計(jì)時(shí)應(yīng)設(shè)計(jì)一個(gè)線(xiàn)程反復(fù)調(diào)用modbus_Slave執(zhí)行函數(shù),該函數(shù)為阻塞模式。

舉例如下:

(1)啟動(dòng)modbus設(shè)備方協(xié)議

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

或者

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

(2)線(xiàn)程中調(diào)用執(zhí)行函數(shù)Serverloop 響應(yīng)請(qǐng)求

while( 1 )

{

// 調(diào)用執(zhí)行函數(shù),用于對(duì)ModBus報(bào)文的分析和響應(yīng)。

result = mbusSlave_ServerLoop( hPort );

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

{

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

wcscpy( szText, mbusSlave_GetErrorText( result ) );

i1 = wcslen( szText );

if( i1>0 )

{

wcstombs( strText, szText, i1 );

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

}

}

}

之前英創(chuàng)公司提供的ModBus通訊協(xié)議軟件,均是以C函數(shù)加靜態(tài)庫(kù)(modbus.lib或libmodbus.a文件)的形式提供給客戶(hù)。隨著越來(lái)越多的客戶(hù)使用,英創(chuàng)將ModBus通訊協(xié)議,特別是主控協(xié)議軟件(簡(jiǎn)稱(chēng)modbus_Master)以動(dòng)態(tài)庫(kù)(modbus_Master.dll或libmbusmaster.so文件)的形式預(yù)裝到英創(chuàng)嵌入式工控主板內(nèi)核系統(tǒng)中,以方便客戶(hù)應(yīng)用程序的調(diào)用。預(yù)裝Modbus協(xié)議的工控主板包括英創(chuàng)ESM系列所有主板(ESM6802、ESM6800、ESM335x、ESM928x等)。

相關(guān)參考資料

4~20mA電流環(huán)采集應(yīng)用方案 WinCE下的Modbus主控通訊協(xié)議軟件
WinCE下的Modbus設(shè)備方協(xié)議軟件 英創(chuàng)嵌入式Linux工控主板支持Modbus主控協(xié)議軟件
Linux下的Modbus設(shè)備方協(xié)議軟件介紹 ESM6802支持Qt MODBUS程序開(kāi)發(fā)
在英創(chuàng)主板中預(yù)裝Modbus通訊協(xié)議

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11335

    瀏覽量

    210072
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6086

    瀏覽量

    35510
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    安科瑞AWT100-DP 無(wú)線(xiàn)通訊終端,支持串口MODBUS RTU協(xié)議

    產(chǎn)品簡(jiǎn)介 功能:■支持串口MODBUS RTU協(xié)議的數(shù)據(jù)采集,并通過(guò)安科瑞平臺(tái)協(xié)議與安科瑞服務(wù)器通訊。 ■支持多30個(gè)
    的頭像 發(fā)表于 01-02 10:40 ?94次閱讀
    安科瑞AWT100-DP 無(wú)線(xiàn)<b class='flag-5'>通訊</b>終端,支持串口<b class='flag-5'>MODBUS</b> RTU<b class='flag-5'>協(xié)議</b>

    中科創(chuàng)達(dá)榮獲2024年軟件信息技術(shù)服務(wù)優(yōu)秀企業(yè)

    及前百家企業(yè)”名單。中科創(chuàng)達(dá)憑借非凡的技術(shù)實(shí)力與持續(xù)的創(chuàng)新能力,成功入選“2024年度軟件信息技術(shù)服務(wù)競(jìng)爭(zhēng)力百?gòu)?qiáng)企業(yè)”以及“2024年軟件
    的頭像 發(fā)表于 10-30 11:44 ?525次閱讀

    串口屏Modbus通訊協(xié)議詳解

    Modbus是一種開(kāi)放的通信協(xié)議,廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域。它定義了消息結(jié)構(gòu)和設(shè)備間的通信方式,支持多種物理層網(wǎng)絡(luò),如RS-232、RS-485等。本文將詳細(xì)介紹如何在串口屏上實(shí)現(xiàn)Modbus
    的頭像 發(fā)表于 10-20 14:23 ?1622次閱讀

    Modbus協(xié)議網(wǎng)關(guān)簡(jiǎn)介

    ,在工業(yè)控制系統(tǒng)中占據(jù)了重要地位。然而,隨著工業(yè)自動(dòng)化技術(shù)的不斷發(fā)展,不同設(shè)備間通信協(xié)議的多樣性成為了一個(gè)亟待解決的問(wèn)題。Modbus協(xié)議網(wǎng)關(guān)作為這一背景下的產(chǎn)物,成為了連接不同協(xié)議設(shè)
    的頭像 發(fā)表于 09-23 14:51 ?305次閱讀
    <b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關(guān)<b class='flag-5'>簡(jiǎn)介</b>

    串口IEC101、Modbus調(diào)試軟件、調(diào)試助手

    一款支持串口、網(wǎng)口可以按照需求自定義協(xié)議通訊軟件,目前軟件庫(kù)內(nèi)有處理好的101、104、modbus協(xié)議
    的頭像 發(fā)表于 09-02 09:55 ?518次閱讀
    串口IEC101、<b class='flag-5'>Modbus</b>調(diào)試<b class='flag-5'>軟件</b>、調(diào)試助手

    蘋(píng)果推出全新開(kāi)源Swift軟件包

    七月三十一日,蘋(píng)果企業(yè)總部對(duì)外正式發(fā)表公告,宣布昨日(即七月二十九日)成功推出全新的開(kāi)源 Swift 軟件包—— (喚名為 swift-homomorphic-encryption)。此舉旨在為 Swift 編程語(yǔ)言帶來(lái)應(yīng)用便利的同態(tài)加密功能。
    的頭像 發(fā)表于 07-31 15:17 ?414次閱讀

    ModBus Scan32模擬軟件的使用方法

    Modbus采用主從式通信,日常使用較多的是Modbus RTU和Modbus TCP/IP兩種協(xié)議。我司儀表較多為Modbus RTU
    發(fā)表于 07-24 08:04

    瑞薩RX MCU功能安全解決方案簡(jiǎn)介(3)Self-Test自檢軟件包

    RX系列MCU自檢軟件包,包括診斷軟件、安全手冊(cè)、用戶(hù)指南和IEC61508功能安全認(rèn)證文檔。 RX系列MCU診斷軟件已通過(guò)功能安全標(biāo)準(zhǔn)認(rèn)證,因此可以直接集成到您的系統(tǒng)中。無(wú)需進(jìn)行認(rèn)證。
    的頭像 發(fā)表于 07-05 11:30 ?1847次閱讀
    瑞薩RX MCU功能安全解決方案<b class='flag-5'>簡(jiǎn)介</b>(3)Self-Test自檢<b class='flag-5'>軟件包</b>

    Modbus協(xié)議轉(zhuǎn)Profibus協(xié)議網(wǎng)關(guān)接溫控表與PLC通訊

    Modbus協(xié)議轉(zhuǎn)Profibus協(xié)議網(wǎng)關(guān)(XD-MDPB100)則是實(shí)現(xiàn)這一通訊的重要工具。Modbus轉(zhuǎn)Profibus網(wǎng)關(guān)的主要功能是實(shí)現(xiàn)Mo
    的頭像 發(fā)表于 06-21 11:31 ?1963次閱讀
    <b class='flag-5'>Modbus協(xié)議</b>轉(zhuǎn)Profibus<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)接溫控表與PLC<b class='flag-5'>通訊</b>

    TLE9879QXA40_eSL-BAS-EVAL未找到軟件包的原因?

    我使用的是TLE987x EvalBoard。 打開(kāi)我的項(xiàng)目時(shí),彈出了這個(gè)窗口 點(diǎn)擊"Yes" ,打開(kāi)軟件包安裝程序窗口,發(fā)現(xiàn)以下錯(cuò)誤 "
    發(fā)表于 05-24 07:38

    Modbus-RTU通訊協(xié)議是什么?

    Modbus-RTU通訊協(xié)議是一種串行通訊協(xié)議,它可以用于連接不同類(lèi)型的設(shè)備,以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和控制。Mo
    的頭像 發(fā)表于 05-23 15:06 ?669次閱讀

    RT-Thread Studio添加軟件包報(bào)錯(cuò)怎么解決?

    RT-Thread Studio添加軟件包報(bào)錯(cuò)ImportError: No module named psutil
    發(fā)表于 03-01 08:41

    RZ/G柔性軟件包v2.0.1發(fā)布說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《RZ/G柔性軟件包v2.0.1發(fā)布說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 02-21 10:48 ?0次下載
    RZ/G柔性<b class='flag-5'>軟件包</b>v2.0.1發(fā)布說(shuō)明

    RL78系列 Data Flash Library Type04軟件包3.0版發(fā)布說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《RL78系列 Data Flash Library Type04軟件包3.0版發(fā)布說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 02-19 10:06 ?0次下載
    RL78系列 Data Flash Library Type04<b class='flag-5'>軟件包</b>3.0版發(fā)布說(shuō)明

    軟通動(dòng)力與捷創(chuàng)技術(shù)簽訂戰(zhàn)略合作協(xié)議

    近日,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)“軟通動(dòng)力”)與寧波捷創(chuàng)技術(shù)股份有限公司(以下簡(jiǎn)稱(chēng)“捷創(chuàng)技術(shù)”)正式簽訂戰(zhàn)略合作
    的頭像 發(fā)表于 02-03 16:35 ?1144次閱讀