最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

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

出處:ses2006 發(fā)布于:2007-04-20 20:37:51

工業(yè)控制中經(jīng)常需要觀察系統(tǒng)的運(yùn)行狀態(tài)或者修改運(yùn)行參數(shù)。觸摸屏能夠直觀、生動(dòng)地顯示運(yùn)行參數(shù)和運(yùn)行狀態(tài),而且通過(guò)觸摸屏畫(huà)面可以直接修改系統(tǒng)運(yùn)行參數(shù),人機(jī)交互性好。單片機(jī)廣泛應(yīng)用于工控領(lǐng)域中,與觸摸屏配合,可組成良好的人機(jī)交互環(huán)境。

觸摸屏與單片機(jī)通信,需要根據(jù)觸摸屏采用的通信協(xié)議為單片機(jī)編寫(xiě)相應(yīng)的通信程序。Modbus協(xié)議是美國(guó)Modicon公司推出的,一種有效支持控制器之間以及控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))與其他設(shè)備之間進(jìn)行通信的協(xié)議。本文以STC 89C51單片機(jī)和人機(jī)電子有限公司的eView觸摸屏為例,介紹其通信程序的開(kāi)發(fā)過(guò)程。

1 系統(tǒng)結(jié)構(gòu) 實(shí)現(xiàn)觸摸屏與單片機(jī)的通信,主要是解決通信協(xié)議的問(wèn)題。本文使用開(kāi)放的Modbus通信協(xié)議,以觸摸屏作主站,單片機(jī)作從站。eView觸摸屏本身支持:Modbus通信協(xié)議,如果單片機(jī)也支持Modbus協(xié)議,就可以進(jìn)行通信了。eView觸摸屏支持RS-232和RS-485兩種通信接口。在工業(yè)控制領(lǐng)域,由于RS-485具有可靠性高、傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),所以在本系統(tǒng)中觸摸屏與單片機(jī)通信采用RS-485連接,傳輸速率沒(méi)置為9 600 kbps。RS-485信號(hào)傳輸是一種半雙工的傳輸方式,單片機(jī)通過(guò)一個(gè)RS-232/RS-485無(wú)源轉(zhuǎn)換器把232信號(hào)轉(zhuǎn)換成485信號(hào),連接到eView觸摸屏上。為該系統(tǒng)的原理圖。

單片機(jī)控制系統(tǒng)采用STC89C51系列單片機(jī),其內(nèi)部集成MAX810/STC810專用復(fù)位電路(原有外部復(fù)位可繼續(xù)保留,與Intel 8051引腳兼容),具有抗干擾能力強(qiáng)、加密性強(qiáng)、高抗靜電(ESD)、超低功耗等特點(diǎn),而且價(jià)格低廉。在本系統(tǒng)中,觸摸屏是上位機(jī),單片機(jī)是下位機(jī)。

2 Modbus協(xié)議

2.1 Modbus協(xié)議簡(jiǎn)介

Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語(yǔ)言。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))與其他設(shè)備之間可以通信。它已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn)。不同廠商生產(chǎn)的控制設(shè)備可以通過(guò)它連成工業(yè)網(wǎng)絡(luò),集中監(jiān)控。

Modbus協(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通信的。它描述了一控制器請(qǐng)求訪問(wèn)其他設(shè)備的過(guò)程,如何回應(yīng)來(lái)自其他設(shè)備的請(qǐng)求,以及怎樣偵測(cè)錯(cuò)誤并記錄;制定了消息域格局和內(nèi)容的公共格式。 當(dāng)在某一Modbus網(wǎng)絡(luò)上通信時(shí),此協(xié)議決定了每個(gè)控制器需要知道它們的設(shè)備地址,識(shí)別按地址發(fā)來(lái)的消息,以及決定要產(chǎn)生何種行動(dòng)。如果需要回應(yīng),則控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其他網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。

2.2 Modbus RTU通信數(shù)據(jù)傳輸模式

當(dāng)控制器設(shè)備基于Modbus協(xié)議以RTU模式通信時(shí),消息中的每個(gè)字節(jié)包含2個(gè)4位的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。

編碼采用8位二進(jìn)制,十六進(jìn)制數(shù)0~9和A~F;消息中每個(gè)8位域都是由2個(gè)十六進(jìn)制字符組成。組織結(jié)構(gòu)如下:

2.3 Modbus RTU消息幀結(jié)構(gòu)

Modbus RTU消息幀結(jié)構(gòu)如下:

(1) 地址碼

地址碼為通信傳送的個(gè)字節(jié)。這個(gè)字節(jié)表明,由用戶設(shè)定地址碼的從機(jī)將接收由主機(jī)發(fā)送來(lái)的信息。每個(gè)從機(jī)都有具有的地址碼,只有符合地址碼的從機(jī)才能響應(yīng)回送,且響應(yīng)回送均以各自的地址碼開(kāi)始。主機(jī)發(fā)送的地址碼則表明將發(fā)送到的從機(jī)地址,而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址。地址0用作廣播地址,以使所有的從設(shè)備都能認(rèn)識(shí)。

(2) 功能代碼

功能代碼為通信傳送的第二個(gè)字節(jié)。Modbus通信規(guī)約定義可能的代碼范圍足十進(jìn)制的1~255。當(dāng)然,有些代碼適用于所有控制器,有些僅適用于某種控制器,還有些保留以備后用。主機(jī)發(fā)送請(qǐng)求,通過(guò)功能碼告訴從機(jī)執(zhí)行什么動(dòng)作;從機(jī)響應(yīng)請(qǐng)求.從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來(lái)的功能碼一樣,表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。如果從機(jī)發(fā)送的功能碼的位為1,則表明從機(jī)沒(méi)有響應(yīng)操作或發(fā)送出錯(cuò),主設(shè)備應(yīng)用程序得到異議的同應(yīng)后,典型的處理足重發(fā)消息。表1列出了常用Modbus支持的部分功能碼。

以讀取線圈狀態(tài)為例說(shuō)明。主站發(fā)送命令:[設(shè)備地址][命令號(hào)01][起始寄存器地址高8位][低8位][讀取的寄存器數(shù)高8位][低8位][CRC校驗(yàn)的低8位][高8位]。從站響應(yīng):[設(shè)備地址][命令號(hào)01][返回的字節(jié)個(gè)數(shù)][數(shù)據(jù)1][數(shù)據(jù)2]…[數(shù)據(jù)n][CRC校驗(yàn)的低8位][高8位]。

(3) 數(shù)據(jù)區(qū)

數(shù)據(jù)區(qū)根據(jù)功能碼的不同而不同。數(shù)據(jù)區(qū)包含需要從機(jī)執(zhí)行什么動(dòng)作,或由從機(jī)采集的返送信息。這些信息可以是實(shí)際數(shù)值、設(shè)置點(diǎn)、主機(jī)發(fā)送給從機(jī)或從機(jī)發(fā)送給主機(jī)的地址等。例如,功能碼告訴從機(jī)讀取寄存器的值,則數(shù)據(jù)區(qū)必須包含要讀取寄存器的起始地址及讀取長(zhǎng)度。對(duì)于不同的從機(jī),地址和數(shù)據(jù)信息都不相同。 (4) 錯(cuò)誤校驗(yàn)碼

主機(jī)或從機(jī)可用校驗(yàn)碼判別接收信息是否出錯(cuò)。錯(cuò)誤檢測(cè)域包含一個(gè)16位的值(用2個(gè)8位的字符來(lái)實(shí)現(xiàn))。錯(cuò)誤檢測(cè)域的內(nèi)容是通過(guò)對(duì)消息內(nèi)容進(jìn)行"循環(huán)冗余檢測(cè)"得出的。CRC域附加在消息的,添加時(shí)先是低字節(jié)然后是高字節(jié),故CRC的高位字節(jié)足發(fā)送消息的一個(gè)字節(jié)。錯(cuò)誤校驗(yàn)采用CRC-16校驗(yàn)方法。

3 軟件編程

下面是采用C51編寫(xiě)的軟件,主要包括CRC校驗(yàn)和終端接收及波特率設(shè)置等。由于篇幅有限,其他程序略。

(1) 波特率設(shè)置


(2) CRC校驗(yàn)函數(shù)


(3) 發(fā)送函數(shù)和判斷函數(shù)


(4) 數(shù)據(jù)幀分析處理函數(shù)
(5) 串口中斷函數(shù)
4 總 結(jié)

由于Modbus協(xié)議具有開(kāi)放性和透明性等特點(diǎn),而51系列單片機(jī)技術(shù)成熟、開(kāi)發(fā)成本低,二者的結(jié)合將繼續(xù)成為各類通信系統(tǒng)設(shè)計(jì)的。本設(shè)計(jì)方法已經(jīng)應(yīng)用于觸摸屏與單片機(jī)通信設(shè)計(jì),并取得了較好效果。這種方法對(duì)于編制類似的通信軟件有一定的借鑒作用,部分程序可以直接移植。


  
關(guān)鍵詞:Modbus協(xié)議下單片機(jī)與eView觸摸屏的通信方法805189C51MAX810  STC810RS-232RS-485

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

SGM7228 SGM8051 SGM8045 圣邦微SGMICRO原裝正品
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫(kù)提出的寶貴意見(jiàn),您的參與是維庫(kù)提升服務(wù)的動(dòng)力!意見(jiàn)一經(jīng)采納,將有感恩紅包奉上哦!