技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > Modbus協(xié)議下單片機與eView觸摸屏的通信方法

Modbus協(xié)議下單片機與eView觸摸屏的通信方法

時間:2008-04-03 09:19:00來源:zhangting

導語:?觸摸屏與單片機通信,需要根據(jù)觸摸屏采用的通信協(xié)議為單片機編寫相應(yīng)的通信程序
Modbus協(xié)議由于其具有開放性、透明性、成本低、易于開發(fā)等特點,已成為當今工業(yè)領(lǐng)域通信協(xié)議的首選。 本文介紹了一種基于Modbus通信協(xié)議的eView觸摸屏與常用的51單片機的通信方法。該方法通過C51編程實現(xiàn)Modbus通信,在51系列單片機上具有通用性,有一定的借鑒作用。 工業(yè)控制中經(jīng)常需要觀察系統(tǒng)的運行狀態(tài)或者修改運行參數(shù)。觸摸屏能夠直觀、生動地顯示運行參數(shù)和運行狀態(tài),而且通過觸摸屏畫面可以直接修改系統(tǒng)運行參數(shù),人機交互性好。單片機廣泛應(yīng)用于工控領(lǐng)域中,與觸摸屏配合,可組成良好的人機交互環(huán)境。 觸摸屏與單片機通信,需要根據(jù)觸摸屏采用的通信協(xié)議為單片機編寫相應(yīng)的通信程序。Modbus協(xié)議是美國Modicon公司推出的,一種有效支持控制器之間以及控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))與其他設(shè)備之間進行通信的協(xié)議。本文以STC89C51單片機和人機電子有限公司的eView觸摸屏為例,介紹其通信程序的開發(fā)過程。 1 系統(tǒng)結(jié)構(gòu) 實現(xiàn)觸摸屏與單片機的通信,主要是解決通信協(xié)議的問題。本文使用開放的Modbus通信協(xié)議,以觸摸屏作主站,單片機作從站。eView觸摸屏本身支持Modbus通信協(xié)議,如果單片機也支持Modbus協(xié)議,就可以進行通信了。eview觸摸屏支持RS-232和RS-485兩種通信接口。在工業(yè)控制領(lǐng)域,由于RS-485具有可靠性高、傳輸距離遠、抗干擾能力強等優(yōu)點,所以在本系統(tǒng)中觸摸屏與單片機通信采用RS-485連接,傳輸速率設(shè)置為9600 kbps。RS-485信號傳輸是一種半雙工的傳輸方式,單片機通過一個RS-232/RS-485無源轉(zhuǎn)換器把232信號轉(zhuǎn)換成485信號,連接到eView觸摸屏上。圖1為該系統(tǒng)的原理圖。
單片機控制系統(tǒng)采用STC89C51系列單片機,其內(nèi)部集成MAX810/STC810專用復位電路(原有外部復位可繼續(xù)保留,與Intel 8051引腳兼容),具有抗干擾能力強、加密性強、高抗靜電(ESD)、超低功耗等特點,而且價格低廉。在本系統(tǒng)中,觸摸屏是上位機,單片機是下位機。 2 Modbus協(xié)議 2.1 Modbus協(xié)議簡介 Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))與其他設(shè)備之間可以通信。它已經(jīng)成為一種通用工業(yè)標準。不同廠商生產(chǎn)的控制設(shè)備可以通過它連成工業(yè)網(wǎng)絡(luò),集中監(jiān)控。 Modbus協(xié)議定義了一個控制器能認識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了一控制器請求訪問其他設(shè)備的過程.如何回應(yīng)來自其他設(shè)備的請求,以及怎樣偵測錯誤并記錄;制定了消息域格局和內(nèi)容的公共格式。 當在某一Modbus網(wǎng)絡(luò)上通信時,此協(xié)議決定了每個控制器需要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,以及決定要產(chǎn)生何種行動。如果需要回應(yīng),則控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其他網(wǎng)絡(luò)上,包含了M0dhus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。 2.2 Modbus RTU通信數(shù)據(jù)傳輸模式 當控制器設(shè)備基于Modbus協(xié)議以RTU模式通信時,消息中的每個字節(jié)包含2個4位的十六進制字符。這種方式的主要優(yōu)點是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。 編碼采用8位二進制,十六進制數(shù)0~9和A~F;消息中每個8位域都是由2個十六進制字符組成。組織結(jié)構(gòu)如下:
2.3 Modbus RTU消息幀結(jié)構(gòu) Modbus RTU消息幀結(jié)構(gòu)如下:
(1)地址碼 地址碼為通信傳送的第一個字節(jié)。這個寧節(jié)表明,由用戶設(shè)定地址碼的從機將接收由主機發(fā)送來的信息。每個從機都有具有唯一的地址碼,只有符合地址碼的從機才能響應(yīng)回送,且響應(yīng)回送均以各自的地址碼開始。主機發(fā)送的地址碼則表明將發(fā)送到的從機地址,而從機發(fā)送的地址碼表明回送的從機地址。地址0用作廣播地址,以使所有的從設(shè)備都能認識。 (2)功能代碼 功能代碼為通信傳送的第二個字節(jié)。Modbus通信規(guī)約定義可能的代碼范圍是十進制的1~255。當然,有些代碼適用于所有控制器,有些僅適用于某種控制器,還有些保留以備后用。主機發(fā)送請求,通過功能碼告訴從機執(zhí)行什么動作;從機響應(yīng)請求,從機發(fā)送的功能碼與從主機發(fā)送來的功能碼一樣,表明從機已響應(yīng)主機進行操作。如果從機發(fā)送的功能碼的最高位為1,則表明從機沒有響應(yīng)操作或發(fā)送出錯,主設(shè)備應(yīng)用程序得到異議的回應(yīng)后,典型的處理是重發(fā)消息。表l列出了常用Modbus支持的部分功能碼。
 以讀取線圈狀態(tài)為例說明。主站發(fā)送命令:[設(shè)備地址][命令號01][起始寄存器地址高8位][低8位][讀取的寄存器數(shù)高8位][低8位][CRC校驗的低8位][高8位]。從站響應(yīng):[設(shè)備地址][命令號01][返回的字節(jié)個數(shù)][數(shù)據(jù)1][數(shù)據(jù)2]…[數(shù)據(jù)n][CRC校驗的低8位][高8位]。 (3)數(shù)據(jù)區(qū) 數(shù)據(jù)區(qū)根據(jù)功能碼的不同而不同。數(shù)據(jù)區(qū)包含需要從機執(zhí)行什么動作,或由從機采集的返送信息。這些信息可以是實際數(shù)值、設(shè)置點、主機發(fā)送給從機或從機發(fā)送給主機的地址等。例如,功能碼告訴從機讀取寄存器的值,則數(shù)據(jù)區(qū)必須包含要讀取寄存器的起始地址及讀取長度。對于不同的從機,地址和數(shù)據(jù)信息都不相同。 (4)錯誤校驗碼 主機或從機可用校驗碼判別接收信息是否出錯。錯誤檢測域包含一個16位的值(用2個8位的字符來實現(xiàn))。錯誤檢測域的內(nèi)容是通過對消息內(nèi)容進行“循環(huán)冗余檢測”得出的。CRC域附加在消息的最后,添加時先是低字節(jié)然后是高字節(jié),故CRC的高位字節(jié)是發(fā)送消息的最后一個寧節(jié)。錯誤校驗采用CRC-16校驗方法。 3 軟件編程 下面是采用C5l編寫的軟件,主要包括CRC校驗和終端接收及波特率設(shè)置等。由于篇幅有限,其他程序略。
4 總 結(jié) 由于Modhus協(xié)議具有開放性和透明性等特點,而51系列單片機技術(shù)成熟、開發(fā)成本低,二者的結(jié)合將繼續(xù)成為各類通信系統(tǒng)設(shè)計的首選。本設(shè)計方法已經(jīng)應(yīng)用于觸摸屏與單片機通信設(shè)計,并取得了較好效果。這種方法對于編制類似的通信軟件有一定的借鑒作用,部分程序可以直接移植。

標簽:

點贊

分享到:

上一篇:三旺通信以太網(wǎng)交換機在煤礦...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號