組態(tài)王與單片機多機串口通信設計_第1頁
組態(tài)王與單片機多機串口通信設計_第2頁
組態(tài)王與單片機多機串口通信設計_第3頁
組態(tài)王與單片機多機串口通信設計_第4頁
組態(tài)王與單片機多機串口通信設計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、輸信號,最大傳輸距離為1 219 m.最大傳 輸速率為10 Mb/s.對同時出現(xiàn)的兩條信號線A、B的干擾有較強的抑制能力。當兩條線 絞在一起時,被通信各種分布參數(shù)耦合過來的干擾信號可平均地分配到這兩條線上,因此對 RS-485的差分式傳輸線路而言,用雙絞線可獲得較強的抗干擾能力。RS-485采用二線與 四線平衡傳輸方式,二線制可實現(xiàn)真正的多點雙向通信,但需要在傳輸線上接電阻約120 QX上位pc機RS-485 線RS-485RS-485RS-4858051N#8051上位pc機RS-485 線RS-485RS-485RS-4858051N#80512#相符,STC89C52不能與RS-485直

4、接連接需要電氣轉(zhuǎn)換。這里采用Maxim公司的MA80511#圖1 PC機與單片機采用RS-485總線的連接電路由于80C51系列單片機STC89C52串行接口的,TTL電氣特性與RS-485電氣特性不X485,圖2為其接口電路。+5VOCi0. 1 JJF+5VOCi0. 1 JJF4020vcc RXDP1. 7 VSSTXD108h2RXD VCCREBDEATXD87 r11343 LMAX485STC89C52r圖 2 STC89C52 與 MAX485 接 口電路圖2中,MAX485的RE和DE南STC89C52單片機的P1. 7控制。由于MAX485以半雙工的方式工作,因此由P1.

5、 7控制其發(fā)送與接收。當P1. 7為高電平時,驅(qū)動器使 能而接收器為高阻態(tài),此時可發(fā)送數(shù)據(jù);而當P1. 7為低電平時.接收器使能而驅(qū)動器為高阻態(tài),此時接收數(shù)據(jù)。另外由于PC機的COM 口是基于RS-232的串行通訊口.其電氣 特性與RS-485不一致,因此也需電平轉(zhuǎn)換。圖3為單片機地址設置電路,單片機STC89C52的P1 口的低4位用于設定本機地址, 通過4位DIP開關的組合最多可設定16種地址。如當4位開關全部斷開時,對應的本機地 址是11 11。下位單片機在開始工作前需先設定自己的地址,這樣,在開機自檢時下位單機 片就能獲取本機地址。+5VDDrDDDrD圖3單片機地址設置電路4系統(tǒng)通訊

6、協(xié)議設計組態(tài)王提供了通過PC機與單片機串口進行十六進制數(shù)據(jù)通訊的驅(qū)動,而驅(qū)動中已經(jīng)規(guī) 定好其通訊協(xié)議。4. 1通訊參數(shù)通訊參數(shù)包括數(shù)據(jù)位、停止位、波特率、校驗方式。其中,數(shù)據(jù)位、停止位、波特率由 單片機決定。組態(tài)王中的設定和單片機一致即可。校驗方式參照數(shù)據(jù)傳輸格式”部分。4. 2數(shù)據(jù)傳輸格式與協(xié)議說明格式1組態(tài)王發(fā)送地址請求格式(檢驗位為1):ENQ(頭):H05,詢問,請求幀的開始代碼;ACK*H06確認,ACK應答幀的開始代碼;NAK(頭):H15否認,NAK應答幀的開始代碼;EOT(尾):H04正文的結束,請求幀的結束ASCII代碼;ETX(尾):H03結束正文,應答幀的結束ASCII代

7、碼;數(shù)據(jù)傳輸:所有數(shù)據(jù)均為16進制數(shù);Sta:設備地址,1個字節(jié),組態(tài)王設備地址范圍為0255,此地址為單片機的地址,由單片機中的程序決定;R:讀標志,1個字節(jié)(0 x52);W:寫標志,1個字節(jié)(0 x57);DataType:需要交換的數(shù)據(jù)類型,1字節(jié)。其中“1”代表字節(jié),“2”代表字,“3”代表浮點型;DataNum :讀取數(shù)據(jù)的個數(shù),1字節(jié);DataAddr:數(shù)據(jù)偏移地址,2字節(jié),低字節(jié)在前,高字節(jié)在后;Data:實際傳輸?shù)臄?shù)據(jù),低字節(jié)在前,高字節(jié)在后;DataLong:單片機返回Data的字節(jié)數(shù),2字節(jié),低字節(jié)在前,高字節(jié)在后:CRC:為從第1個字節(jié)至CRC前的所有字節(jié)的異或值,1字

8、節(jié);ErrorCode:錯誤代碼,“0”代表正確應答,“1”代表數(shù)據(jù)類型錯誤,“2”代表數(shù)據(jù)范圍超限,“3”代表指令無法識別。5單片機通訊程序流程設計圖4為組態(tài)王程序流程,圖5為單片機通訊程序流程。80C51系列單片機多機通訊可歸納如下:收到數(shù)據(jù)發(fā)岫嘛汞(格式1)收到數(shù)據(jù)發(fā)岫嘛汞(格式1)圖4組態(tài)王程序流程組態(tài)主讀數(shù)據(jù) 請求(格式3)_初始化獲取本機地址*發(fā)送應答地址(格式2), SM-0發(fā)送數(shù)據(jù)格式5發(fā)送數(shù)據(jù)(格式4)|SM2設為1只接收地址發(fā)送應答地址(格式2), SM-0發(fā)送數(shù)據(jù)格式5發(fā)送數(shù)據(jù)(格式4)|圖5單機片程序流程上位機的SM2=0,所有下位機的SM2=1,以便只接收上位機發(fā)來的地址;上位機給下位機發(fā)送地址時,第9數(shù)據(jù)位應該為1,以指示下位機接收這個地 址;所有下位機在SM2=1, RB8=1和RI=0時,接收上位機發(fā)來的地址,進入相應 中斷服務程序,并與本機地址相比較,以確認是否為被尋址的下位機;被尋址下位機通過指令清除SM2,以便正常接收上位機發(fā)送來的數(shù)據(jù),并向上 位機發(fā)回接收到的地址以便核實。未被尋址的下位機保持SM2=1,并退出各自的中 斷服務程序

溫馨提示

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

評論

0/150

提交評論