PLC 工控機(jī) 嵌入式系統(tǒng) 人機(jī)界面 工業(yè)以太網(wǎng) 現(xiàn)場總線 變頻器 機(jī)器視覺 DCS PAC/PLMC SCADA 工業(yè)軟件 ICS信息安全 應(yīng)用方案 無線通訊
成都英創(chuàng)信息技術(shù)有限公司
參 考 價 | 面議 |
產(chǎn)品型號
品 牌
廠商性質(zhì)經(jīng)銷商
所 在 地
聯(lián)系方式:魏小姐查看聯(lián)系方式
更新時間:2021-01-22 12:21:59瀏覽次數(shù):406次
聯(lián)系我時,請告知來自 智能制造網(wǎng)暫無信息 |
Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議,英創(chuàng)提供支持該協(xié)議的軟件包
ModBus通訊協(xié)議簡介
Modbus協(xié)議是一種已廣泛應(yīng)用于當(dāng)今工業(yè)控制領(lǐng)域的通用通訊協(xié)議。通過此協(xié)議,控制器相互之間、或控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))可以和其它設(shè)備之間進(jìn)行通信。Modbus協(xié)議使用的是主從通訊技術(shù),即由主設(shè)備主動查詢和操作從設(shè)備。一般將主控設(shè)備方所使用的協(xié)議稱為Modbus Master,從設(shè)備方使用的協(xié)議稱為Modbus Slave。典型的主設(shè)備包括工控機(jī)和工業(yè)控制器等;典型的從設(shè)備如PLC可編程控制器等。Modbus通訊物理接口可以選用串口(包括RS232和RS485),也可以選擇以太網(wǎng)口。其通信遵循以下的過程:
● 主設(shè)備向從設(shè)備發(fā)送請求
● 從設(shè)備分析并處理主設(shè)備的請求,然后向主設(shè)備發(fā)送結(jié)果
● 如果出現(xiàn)任何差錯,從設(shè)備將返回一個異常功能碼
英創(chuàng)ModBus通訊協(xié)議軟件產(chǎn)品簡介
英創(chuàng)公司推出的ModBus通訊協(xié)議軟件產(chǎn)品主要應(yīng)用于英創(chuàng)ARM9嵌入式主板環(huán)境,英創(chuàng)工控主板均帶有豐富的串口、網(wǎng)絡(luò)資源、通用GPIO接口等,同時具有強(qiáng)大的處理能力。結(jié)合ModBus通訊協(xié)議軟件,就可非常方便地構(gòu)成符合ModBus通訊規(guī)范的主控(Master)及設(shè)備(Slave)的應(yīng)用平臺。針對ModBus通訊的主從方式這一特點(diǎn),英創(chuàng)公司的ModBus通訊協(xié)議軟件包分為兩個可獨(dú)立使用的部分,即“ModBus主控協(xié)議軟件"(簡稱modbus_Master)以及“ModBus設(shè)備方協(xié)議軟件"(簡稱modbus_Slave)。目前英創(chuàng)ModBus通訊協(xié)議軟件運(yùn)行于WinCE環(huán)境下,均以C函數(shù)加靜態(tài)LIB庫的形式提供給客戶。其主要特征如下:
● 非常適用于實(shí)時的工業(yè)應(yīng)用
● 可以支持基于串口的ModBus通訊協(xié)議應(yīng)用或TCP的ModBus通訊協(xié)議應(yīng)用
● RTU傳輸模式
● 支持大多數(shù)的Modbus功能碼操作,包括對線圈、離散開關(guān)輸入的位操作,以及對寄存器的字節(jié)操作
● 支持廣播地址
● 可以靈活設(shè)置ModBus通訊的超時時間
● 可以獲取通訊中傳輸協(xié)議的錯誤代碼的詳細(xì)信息
英創(chuàng)ModBus協(xié)議軟件通訊關(guān)系圖
英創(chuàng)ModBus協(xié)議軟件支持的功能碼
功能碼 | 描述 |
1 | 讀單個線圈 |
2 | 讀離散量輸入 |
3 | 讀多個寄存器 |
4 | 讀輸入寄存器 |
5 | 寫單個線圈 |
6 | 寫單個寄存器 |
15 | 寫多個線圈 |
16 | 寫多個寄存器 |
22 | 屏蔽寫寄存器 |
23 | 讀/寫寄存器 |
軟件基本使用方法
為了方便應(yīng)用程序的使用,對不同的通訊介質(zhì)保持一致的代碼形式,英創(chuàng)所提供的ModBus協(xié)議軟件(包括modbus_Master和modbus_Slave)中的API函數(shù)可以同時支持基于串口和TCP的Modbus協(xié)議,應(yīng)用程序只需要在調(diào)用初始化函數(shù)時,用不同參數(shù)區(qū)分即可,有關(guān)參數(shù)的說明請參見相應(yīng)的頭文件:modbus_Master.h和modbus_Slave.h
1、modbus_Master的應(yīng)用
作為Modbus客戶端模式的應(yīng)用,主要是準(zhǔn)備請求并向服務(wù)器設(shè)備發(fā)送請求,并等待服務(wù)器的響應(yīng)。在做此類應(yīng)用開發(fā)時,用戶可參考Modbus標(biāo)準(zhǔn)文獻(xiàn)以及被控設(shè)備的通訊接口數(shù)據(jù)手冊,直接調(diào)用英創(chuàng)提供的modbus_Master軟件包提供了相應(yīng)的操作API函數(shù),來完成對服務(wù)器設(shè)備的訪問和控制。在進(jìn)行此類應(yīng)用開發(fā)時,用戶只需要包含modbus_master.h/ modbus_master.lib 即可。
2、modbus_Slave的應(yīng)用
作為ModBus服務(wù)器模式的應(yīng)用,主要需要實(shí)現(xiàn)了對于ModBus應(yīng)用報(bào)文的分析與響應(yīng),但這還只是ModBus整個通訊的一部分,另一部分是還需要有對應(yīng)用數(shù)據(jù)的訪問,這部分的內(nèi)容則需要用戶自己來進(jìn)行定義。為了方便客戶的使用,在modbus_Slave軟件包中通過函數(shù)指針的形式,實(shí)現(xiàn)了這些用戶接口函數(shù)的自動加載,將用戶應(yīng)用數(shù)據(jù)處理和ModBus應(yīng)用報(bào)文響應(yīng)關(guān)聯(lián)起來。用戶只需根據(jù)需求定義這些接口函數(shù)來實(shí)現(xiàn)相應(yīng)的功能,各個函數(shù)具體的定義是通過專門的一個CPP文件:DataProvider.cpp來實(shí)現(xiàn)。
由此可見在這類的開發(fā)應(yīng)用時,需包含兩個部分的內(nèi)容,一部分是 modbus_slave.h/ modbus_slave.lib定義的API函數(shù);另一部分是DataProvider.h /DataProvider.cpp定義的用戶數(shù)據(jù)接口函數(shù),其中接口函數(shù)需要用戶在DataProvider.cpp中具體實(shí)現(xiàn)。
為了及時地響應(yīng)ModBus應(yīng)用報(bào)文,需要注意的是在程序設(shè)計(jì)時應(yīng)設(shè)計(jì)一個線程反復(fù)調(diào)用modbus_Slave執(zhí)行函數(shù),該函數(shù)為阻塞模式。
舉例如下:
(1)啟動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)線程中調(diào)用執(zhí)行函數(shù)Serverloop 響應(yīng)請求
while( 1 )
{
// 調(diào)用執(zhí)行函數(shù),用于對ModBus報(bào)文的分析和響應(yīng)。
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 );
}
}
}
之前英創(chuàng)公司提供的ModBus通訊協(xié)議軟件,均是以C函數(shù)加靜態(tài)庫(modbus.lib或libmodbus.a文件)的形式提供給客戶。隨著越來越多的客戶使用,英創(chuàng)將ModBus通訊協(xié)議,特別是主控協(xié)議軟件(簡稱modbus_Master)以動態(tài)庫(modbus_Master.dll或libmbusmaster.so文件)的形式預(yù)裝到英創(chuàng)嵌入式工控主板內(nèi)核系統(tǒng)中,以方便客戶應(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程序開發(fā) | |
在英創(chuàng)主板中預(yù)裝Modbus通訊協(xié)議 |
您感興趣的產(chǎn)品PRODUCTS YOU ARE INTERESTED IN
商鋪:http://towegas.com/st17927/
主營產(chǎn)品:EM9360嵌入式主板、EM9260嵌入式主板、EM9160嵌入式主板、EM9000嵌入式主板、ETR232H嵌入式網(wǎng)絡(luò)模塊、ETR232i嵌入式網(wǎng)絡(luò)模塊、NetBox-II嵌入式網(wǎng)絡(luò)模塊、其他嵌入式主板、顯示及鍵盤擴(kuò)展模塊,TCP/IP協(xié)議運(yùn)行庫、WebServer開發(fā)軟件包、uCOS-II多任務(wù)操作系統(tǒng)、以太-GPRS/CDMA無線路由軟件、嵌入式系統(tǒng)EDrive應(yīng)用程序框架
智能制造網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ?
請輸入賬號
請輸入密碼
請輸驗(yàn)證碼
請輸入你感興趣的產(chǎn)品
請簡單描述您的需求
請選擇省份
聯(lián)系方式
成都英創(chuàng)信息技術(shù)有限公司