組態(tài)王與單片機(jī)多機(jī)串口通信_(tái)第1頁(yè)
組態(tài)王與單片機(jī)多機(jī)串口通信_(tái)第2頁(yè)
組態(tài)王與單片機(jī)多機(jī)串口通信_(tái)第3頁(yè)
組態(tài)王與單片機(jī)多機(jī)串口通信_(tái)第4頁(yè)
組態(tài)王與單片機(jī)多機(jī)串口通信_(tái)第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、-文章轉(zhuǎn)載組態(tài)王與單片機(jī)多機(jī)串口通信的設(shè)計(jì)1引言隨著工業(yè)化要求提高,分布式系統(tǒng)發(fā)展以及控制設(shè)備與監(jiān)控設(shè)備之間通訊需要,組態(tài)軟 件設(shè)計(jì)的監(jiān)控系統(tǒng)逐步普及?,F(xiàn)在組態(tài)軟件繁多,比如KingVieW(組態(tài)王)、MCGS、WinCC 等。KingView軟件基于Microsoft Windows XP, NT / 2000操作系統(tǒng).具有友好的人機(jī)操作 界面、強(qiáng)大的IO設(shè)備端口驅(qū)動(dòng)能力,可與各種PLC、智能儀表、智能模塊、板卡、變頻器 等實(shí)時(shí)通訊。由于在檢測(cè)大量模擬量的工業(yè)現(xiàn)場(chǎng)使用PLC與組態(tài)軟件通訊勢(shì)必增加產(chǎn)品成 本。而單片機(jī)接口豐富,與A/D轉(zhuǎn)換模塊組合可以完成相同的工作,并且系統(tǒng)可靠、成本 低。2組

2、態(tài)王與單片機(jī)的串口通訊方法目前,組態(tài)王與單片機(jī)的通信多是通過(guò)動(dòng)態(tài)數(shù)據(jù)交換(DDE)或通過(guò)自己開(kāi)發(fā)通訊驅(qū)動(dòng)程 序完成。DDE是Windows平臺(tái)上的一個(gè)完整的通信協(xié)議,組態(tài)王通過(guò)該協(xié)議與其他應(yīng)用程 序交換數(shù)據(jù)。但不可靠和非實(shí)時(shí)。而自己開(kāi)發(fā)通訊驅(qū)動(dòng)程序會(huì)帶來(lái)設(shè)計(jì)困難,增加系統(tǒng)開(kāi)發(fā) 周期,可行性不高。組態(tài)王專(zhuān)門(mén)提供一種與單片機(jī)多機(jī)串口通信方法,可滿(mǎn)足大多數(shù)系統(tǒng)需 求。3 PC機(jī)與單片機(jī)的硬件接口電路圖1為上位PC機(jī)與下位單片機(jī)80C51的連接電路。PC機(jī)與單片機(jī)本身都自帶串行通 訊接口,但由于在分布式系統(tǒng)中PC機(jī)與各單片機(jī)的分布不集中,不能利用RS-232通訊傳 輸,只能改用RS-485。RS-48

3、5采用差分式傳輸信號(hào),最大傳輸距離為1 219 m.最大傳輸 速率為10 Mb/s.對(duì)同時(shí)出現(xiàn)的兩條信號(hào)線A、B的干擾有較強(qiáng)的抑制能力。當(dāng)兩條線絞 在一起時(shí),被通信各種分布參數(shù)耦合過(guò)來(lái)的干擾信號(hào)可平均地分配到這兩條線上,因此對(duì) RS-485的差分式傳輸線路而言,用雙絞線可獲得較強(qiáng)的抗干擾能力。RS-485采用二線與四 線平衡傳輸方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信,但需要在傳輸線上接電阻(約120 Q)。RS-232/XI85轉(zhuǎn)換橫抉雌785總線圖I PC機(jī)與單片機(jī)采用RS-485總線的連接電路由于80C51系列單片機(jī)STC89C52串行接口的,TTL電氣特性與RS-485電氣特性不相 符,S

4、TC89C52不能與RS-485直接連接,需要電氣轉(zhuǎn)換。這里采用Maxim公司的MAX485,rInrIn3114圖2為其接口電路。圖 2 STC89C52 與 MAX485 接 口電路圖2為其接口電路。圖2中,MAX485的RE和DE南STC89C52單片機(jī)的P1. 7控制。由于MAX485以 半雙工的方式工作,因此由P1. 7控制其發(fā)送與接收。當(dāng)P1. 7為高電平時(shí),驅(qū)動(dòng)器使能 而接收器為高阻態(tài),此時(shí)可發(fā)送數(shù)據(jù);而當(dāng)P1. 7為低電平時(shí).接收器使能而驅(qū)動(dòng)器為高 阻態(tài),此時(shí)接收數(shù)據(jù)。另外由于PC機(jī)的COM 口是基于RS-232的串行通訊口 .其電氣特 性與RS-485不一致,因此也需電平轉(zhuǎn)換

5、。圖3為單片機(jī)地址設(shè)置電路,單片機(jī)STC89C52的P1 口的低4位用于設(shè)定本機(jī)地址, 通過(guò)4位DIP開(kāi)關(guān)的組合最多可設(shè)定16種地址。如當(dāng)4位開(kāi)關(guān)全部斷開(kāi)時(shí),對(duì)應(yīng)的本機(jī)地 址是11 11。下位單片機(jī)在開(kāi)始工作前需先設(shè)定自己的地址,這樣,在開(kāi)機(jī)自檢時(shí)下位單機(jī) 片 就 能 獲 取 本 機(jī) 地 址。4系統(tǒng)通訊協(xié)議設(shè)計(jì)組態(tài)王提供了通過(guò)PC機(jī)與單片機(jī)串口進(jìn)行十六進(jìn)制數(shù)據(jù)通訊的驅(qū)動(dòng),而驅(qū)動(dòng)中已經(jīng)規(guī) 定好其通訊協(xié)議。4. 1通訊參數(shù)通訊參數(shù)包括數(shù)據(jù)位、停止位、波特率、校驗(yàn)方式。其中,數(shù)據(jù)位、停止位、波特率由 單片機(jī)決定。組態(tài)王中的設(shè)定和單片機(jī)一致即可。校驗(yàn)方式參照“數(shù)據(jù)傳輸格式”部分。4. 2數(shù)據(jù)傳輸格式與

6、協(xié)議說(shuō)明格式1組態(tài)王發(fā)送地址請(qǐng)求格式(檢驗(yàn)位為1):ENQwDalaTyp 已DataAddrENQwDalaTyp 已DataAddrDataEOTCRC ACKErrorCodeETXCRC單片機(jī)應(yīng)答寫(xiě)數(shù)據(jù)格式(正確)(檢驗(yàn)位為0):格式7ENQSlaEOTCRC格式2單片機(jī)應(yīng)答地址格式(檢驗(yàn)位為0):ACKStaETXCRC格式3組態(tài)王讀數(shù)據(jù)請(qǐng)求格式(檢驗(yàn)位為0):ENQRDatalypeData Ad drDataNuin! EOTCRC格式4單片機(jī)應(yīng)答讀數(shù)據(jù)格式(正確)(檢驗(yàn)位為O):ACK:DalaLungData* - ETXCRC格式5單片機(jī)應(yīng)答讀數(shù)據(jù)格式(錯(cuò)誤)(檢驗(yàn)位為0)

7、:NAKErrorCodeETX !CRC !格式6組態(tài)王寫(xiě)數(shù)據(jù)請(qǐng)求格式(檢驗(yàn)位為O):協(xié)議具體說(shuō)明如下:ENQ(頭):H05,詢(xún)問(wèn),請(qǐng)求幀的開(kāi)始代碼;ACK(頭):H06,確認(rèn),ACK應(yīng)答幀的開(kāi)始代碼;NAK(頭):H15,否認(rèn),NAK應(yīng)答幀的開(kāi)始代碼;EOT(尾):H04,正文的結(jié)束,請(qǐng)求幀的結(jié)束ASCII代碼;ETX(尾):H03,結(jié)束正文,應(yīng)答幀的結(jié)束ASCII代碼;數(shù)據(jù)傳輸:所有數(shù)據(jù)均為16進(jìn)制數(shù);Sta:設(shè)備地址,1個(gè)字節(jié),組態(tài)王設(shè)備地址范圍為0255,此地址為單片機(jī)的地址, 由單片機(jī)中的程序決定;R:讀標(biāo)志,1個(gè)字節(jié)(0 x52);W:寫(xiě)標(biāo)志,1個(gè)字節(jié)(0 x57);DataTy

8、pe:需要交換的數(shù)據(jù)類(lèi)型,1字節(jié)。其中“1”代表字節(jié),“2”代表字,“3”代 表浮點(diǎn)型;DataNum :讀取數(shù)據(jù)的個(gè)數(shù),1字節(jié);DataAddr:數(shù)據(jù)偏移地址,2字節(jié),低字節(jié)在前,高字節(jié)在后;Data :實(shí)際傳輸?shù)臄?shù)據(jù),低字節(jié)在前,高字節(jié)在后;DataLong:?jiǎn)纹瑱C(jī)返回Data的字節(jié)數(shù),2字節(jié),低字節(jié)在前,高字節(jié)在后:CRC:為從第1個(gè)字節(jié)至CRC前的所有字節(jié)的異或值,1字節(jié);ErrorCode:錯(cuò)誤代碼,“0”代表正確應(yīng)答,“1”代表數(shù)據(jù)類(lèi)型錯(cuò)誤,“2”代表數(shù)據(jù)范 圍超限,“3”代表指令無(wú)法識(shí)別。5單片機(jī)通訊程序流程設(shè)計(jì)圖4為組態(tài)王程序流程,圖5為單片機(jī)通訊程序流程。80C51系列單片機(jī)

9、多機(jī)通訊可歸 納如下:(開(kāi)始)如態(tài)主讀數(shù)據(jù) 請(qǐng)求(格式3)請(qǐng)求(格式3 )發(fā)送地址請(qǐng)求.如態(tài)主讀數(shù)據(jù) 請(qǐng)求(格式3)請(qǐng)求(格式3 )圖4租態(tài)王程序流程Coo地址符合2應(yīng)答正確?發(fā)送數(shù)據(jù)(格式4)SM2設(shè)為1 只接收地址Coo地址符合2應(yīng)答正確?發(fā)送數(shù)據(jù)(格式4)SM2設(shè)為1 只接收地址發(fā)送應(yīng)答地址(格式2)f SM-0N發(fā)送數(shù)據(jù)格式圖5單機(jī)片程序流程上位機(jī)的SM2=0,所有下位機(jī)的SM2=1,以便只接收上位機(jī)發(fā)來(lái)的地址;上位機(jī)給下位機(jī)發(fā)送地址時(shí),第9數(shù)據(jù)位應(yīng)該為1,以指示下位機(jī)接收這個(gè)地址;所有下位機(jī)在SM2=1,RB8=1和RI=0時(shí),接收上位機(jī)發(fā)來(lái)的地址,進(jìn)入相應(yīng)中斷服務(wù) 程序,并與本機(jī)地址相比較,以確認(rèn)是否為被尋址的下位機(jī);被尋址下位機(jī)通過(guò)指令清除SM2,以便正常接收上位機(jī)發(fā)送來(lái)的數(shù)據(jù),并向上位機(jī)發(fā) 回接收到的地址以便核實(shí)。未被尋址的下位機(jī)保持SM2=1,并退出各自的中斷服務(wù)程序;完成上位機(jī)和被尋址下位機(jī)之間的數(shù)據(jù)通信后,被尋址從機(jī)使SM2=1,并退出中斷服 務(wù)程序,等待下次通信。6結(jié)束語(yǔ)該系統(tǒng)實(shí)現(xiàn)組態(tài)王軟件與單片機(jī)多機(jī)的實(shí)時(shí)通信,已經(jīng)在實(shí)際項(xiàng)目中得到應(yīng)用。應(yīng)用的 結(jié)果表明該設(shè)計(jì)方法簡(jiǎn)單有效,實(shí)時(shí)性好,成本低廉,可以在控制與監(jiān)控系統(tǒng)中推廣應(yīng)用。關(guān)于我們I聯(lián)系我

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論