945191666基于用PLC系統(tǒng)兩線連接型數(shù)顯儀表的設(shè)計_第1頁
945191666基于用PLC系統(tǒng)兩線連接型數(shù)顯儀表的設(shè)計_第2頁
945191666基于用PLC系統(tǒng)兩線連接型數(shù)顯儀表的設(shè)計_第3頁
945191666基于用PLC系統(tǒng)兩線連接型數(shù)顯儀表的設(shè)計_第4頁
945191666基于用PLC系統(tǒng)兩線連接型數(shù)顯儀表的設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、0 引言可編程邏輯控制器簡稱plc(programmable logic controller),具有編程簡單、可靠性高、通用性強和使用方便等特點,廣泛應(yīng)用于工業(yè)控制中的各類生產(chǎn)過程1。目前的plc系統(tǒng)多用指示燈來顯示生產(chǎn)過程或設(shè)備的狀態(tài)信號,或借助于專用的人機界面(hmi)、工業(yè)pc來顯示過程變量或設(shè)置系統(tǒng)參數(shù)。hmi和ipc不僅增加了plc系統(tǒng)的成本,而且無法適應(yīng)高溫、高濕熱、多粉塵的工作環(huán)境?;趌ed的數(shù)顯儀表具有環(huán)境適應(yīng)性強、顯示直觀、醒目等優(yōu)點,可以滿足某些工業(yè)現(xiàn)場的特殊顯示需求。然而,如果使用plc系統(tǒng)的i/o直接驅(qū)動數(shù)碼管進行顯示,則需要占用大量的plc系統(tǒng)i/o資源。本文采用

2、單片機和程序控制技術(shù),通過特定的傳輸時序,只需使用plc系統(tǒng)的2個i/o點即可實現(xiàn)其參數(shù)顯示。1  硬件設(shè)計以stc89c51為核心實現(xiàn)的plc系統(tǒng)兩線連接型數(shù)顯儀表的硬件組成如圖1所示。整個硬件系統(tǒng)主要由stc89c51單片機、輸入接口、程序下載接口、數(shù)碼管顯示驅(qū)動電路、按鍵輸入(可選)和報警輸出(可選)等部分組成。stc89c51和標準80c51保持硬件結(jié)構(gòu)和指令系統(tǒng)兼容,提高了時鐘速率,擴充了在系統(tǒng)編程(isp)、在應(yīng)用編程(iap)、電源欠壓檢測與復(fù)位、看門狗復(fù)位等功能,其i/o口經(jīng)過了特殊的設(shè)計,使其在工業(yè)控制環(huán)境中具有極高的可靠性2。圖1  plc系統(tǒng)兩線連接型

3、數(shù)顯儀表的硬件組成1.1 plc系統(tǒng)輸入接口plc系統(tǒng)通過兩個輸出點將顯示數(shù)據(jù)按照一定的時序傳給數(shù)顯儀表。plc系統(tǒng)一般有繼電器出、可控硅輸出、晶體管輸出和24v直流電壓輸出等多種形式可供選擇,一般使用其晶體管輸出或24v輸出形式經(jīng)過相應(yīng)的轉(zhuǎn)換電路連接數(shù)顯儀表。為了適應(yīng)兩種輸出形式,采用光電耦合器統(tǒng)一將plc系統(tǒng)的輸出信號轉(zhuǎn)換為ttl電平信號。如果plc系統(tǒng)的輸出形式為24vdc,例如西門子的s7系列plc,則plc輸出與光電耦合器輸入側(cè)的連接如圖2所示。如果plc系統(tǒng)的輸出為晶體管集電極開路或漏極開路輸出,如三菱的fx系列plc,則plc輸出與光電耦合器輸入側(cè)的連接如圖3所示。無論采用何種連

4、接方式,轉(zhuǎn)換后進入stc89c51單片機的信號邏輯都與plc系統(tǒng)的輸出邏輯保持一致。使用光電耦合器實現(xiàn)信號轉(zhuǎn)換,有利于提高系統(tǒng)的抗干擾能力,因為干擾信號即使具有較高的電壓幅值,但其能量相對較小,形成的微弱電流一般不足以使光電耦合器導通3。轉(zhuǎn)換后的兩路信號分別作為數(shù)據(jù)線和時鐘線,連接到單片機的兩個外中斷輸入引腳,便于使用中斷方式傳輸顯示數(shù)據(jù)。圖2  電壓輸出型plc接口圖3  晶體管輸出型plc接口1.2  程序下載接口借助于isp編程功能,可以通過rs-232c接口將程序代碼從計算機下載到單片機內(nèi)部的flash中。程序下載接口一般設(shè)計為標準的rs-232接口,使用

5、一片max232轉(zhuǎn)換芯片即可實現(xiàn)。1.3  數(shù)碼管驅(qū)動電路為了確保數(shù)碼管的顯示亮度,使用兩片74hc245實現(xiàn)數(shù)碼管的驅(qū)動。其中一片74hc245用于驅(qū)動4位共陰極數(shù)碼管的段碼,其輸入和單片機的p0口連接,輸出則經(jīng)限流電阻限流后與4位數(shù)碼管的8個段碼引腳連接。另一片74hc245驅(qū)動4位數(shù)碼管的位碼,其輸入和單片機的p1.0p1.3連接,輸出則分別和4位數(shù)碼管的公共端連接。2 傳輸時序1臺數(shù)顯儀表和plc實現(xiàn)數(shù)據(jù)傳輸時需占用plc的2個輸出點,分別用作數(shù)據(jù)線和時鐘線。由于顯示數(shù)據(jù)的傳輸是串行的,因此必須設(shè)計相應(yīng)的傳輸時序。構(gòu)建雙方的傳輸時序時必須充分考慮plc系統(tǒng)的工作原理、輸出特性

6、及其差異以及傳輸過程的可靠性等問題。綜合考慮這些因素后所設(shè)計的傳輸時序如圖4所示。傳輸1次顯示數(shù)據(jù)總共需要21個時鐘周期,其中3個時鐘用于同步信號,16個時鐘用于傳輸顯示數(shù)據(jù)的4位bcd碼或特定的提示字符,2個時鐘用于傳輸2位表示小數(shù)點顯示位置的信息。顯示數(shù)據(jù)和小數(shù)點位置信息的低位在前,高位在后。例如,圖4表示傳輸?shù)娘@示數(shù)據(jù)為8951,小數(shù)點位置信息為10,表示小數(shù)點在十位之后,因此最終顯示數(shù)據(jù)為895.1。圖4  數(shù)顯儀表和plc系統(tǒng)之間的傳輸時序由于plc系統(tǒng)基于掃描原理周而復(fù)始地刷新輸入信號、執(zhí)行用戶程序和輸出運行結(jié)果4,在一個掃描周期內(nèi)讓plc系統(tǒng)的輸出信號發(fā)生跳變難于實現(xiàn),

7、因此圖4的一個時鐘周期需要占用plc系統(tǒng)的兩個掃描周期。每次傳輸過程增設(shè)3個同步脈沖是為了提高傳輸過程的可靠性,確保plc系統(tǒng)及其傳輸線路無論出現(xiàn)何種故障,都可以在故障恢復(fù)后的一個傳輸周期內(nèi)正確地傳輸顯示數(shù)據(jù)。3  軟件設(shè)計數(shù)顯儀表的程序由初始化、外中斷0服務(wù)程序、外中斷1服務(wù)程序和定時器t0中斷服務(wù)程序4部分組成。t0每隔5ms中斷1次,在其中斷服務(wù)程序中根據(jù)接收到的顯示數(shù)據(jù)及其小數(shù)點位置信息完成4位數(shù)碼管的動態(tài)顯示。外中斷0服務(wù)程序用于檢測同步信號,外中斷1服務(wù)程序用于接收16位顯示數(shù)據(jù)的bcd編碼和2位表示小數(shù)點顯示位置的信息。3.1  外中斷0服務(wù)程序外中斷0由數(shù)據(jù)

8、信號線的下降沿觸發(fā),在其中斷服務(wù)程序中,如果檢測到時鐘線為低電平,則視為同步信號。當檢測到3個同步脈沖后,則表明收到了正確的同步信號,此時關(guān)閉外中斷0,開啟外中斷1,借助于外中斷1服務(wù)程序接收數(shù)據(jù)。如果在前一次或前兩次中斷服務(wù)程序中已檢測同步脈沖而本次未檢測到同步脈沖,則視為無效同步信號。外中斷0服務(wù)程序的主要代碼如下:void int0_srvice(void) interrupt 0 p33=1;if(p33=0) sysclock+;  /有效,同步脈沖加1else sysclock=0;    /無效,同步脈沖清零if(sysclock=3)&#

9、160;                  /檢測到3個同步脈沖recenable=1;        /置允許接收標志ex0=0;              /關(guān)閉外中斷0ex1=1;   

10、0;          /開放外中斷13.2  外中斷1服務(wù)程序外中斷1由時鐘信號線的下降沿觸發(fā),在其中斷服務(wù)程序中,如果查詢到已建立允許接收標志,則接收16位顯示數(shù)據(jù)的bcd碼和2位小數(shù)點位置信息,并將其轉(zhuǎn)換為18位并行數(shù)據(jù),存于dispdata變量中供t0中斷服務(wù)程序進行顯示。由于顯示數(shù)據(jù)和小數(shù)點位置信息都是低位在前,高位在后,所以在程序中使用右移操作實現(xiàn)串行數(shù)據(jù)到并行數(shù)據(jù)的轉(zhuǎn)換。小數(shù)點位置信息為03時,表示小數(shù)點分別位于數(shù)碼管的千位、百位、十位和個位之后。如果小數(shù)點在個位之后,則不顯示小數(shù)

11、點。當接收到18位信息后,則關(guān)閉外中斷1,重新開放外中斷0進行下一周期的數(shù)據(jù)傳輸。外中斷1服務(wù)程序的主要代碼如下:void int1_srvice(void) interrupt 2 if(recenable=1)          /允許接收 p32=1;                /檢測數(shù)據(jù)線電平if(p32=1) recdata=recdata|0

12、x40000;recdata=recdata>>1;   /實現(xiàn)串/并轉(zhuǎn)換dataclock+;if(dataclock=19)     /已接收到18位數(shù)據(jù)   /顯示數(shù)據(jù)存于dispdata中dispdata=recdata;recdata=0;sysclock=0;dataclock=0;recdone=1;recenable=0;ex0=1;          /開外中斷0ex1=0;  

13、;        /關(guān)外中斷14  應(yīng)用實例利用plc系統(tǒng)的(n+1)個輸出點可以連接n臺數(shù)顯儀表,其中1點用作公共時鐘線,n點用作n臺數(shù)顯儀表的數(shù)據(jù)線。使用數(shù)顯儀表顯示plc系統(tǒng)的數(shù)據(jù)或參數(shù)時,還必須給plc系統(tǒng)編寫滿足時序要求的驅(qū)動程序。4.1  plc驅(qū)動程序設(shè)計此處以三菱fx2n plc系統(tǒng)為例,介紹plc系統(tǒng)驅(qū)動程序的編寫方法。假設(shè)使用y0作為數(shù)據(jù)線,y1作為時鐘線,則plc驅(qū)動程序的梯形圖如圖5所示。程序中使用d0單元存放顯示數(shù)據(jù),其取值范圍為09999,d1單元存放小數(shù)點位置信息,其取值范圍為03。占用的資源包括計數(shù)器c0c1和中間繼電器m100m131,可以結(jié)合用戶程序進行相應(yīng)的調(diào)整。圖5  fx2n plc顯示驅(qū)動程序4.2  多臺數(shù)顯儀表與plc系統(tǒng)的連接多臺數(shù)顯儀表與plc系統(tǒng)的連接如圖6所示,圖中的1臺fx2n plc連接了8臺數(shù)顯儀表,plc的y10用作公共時鐘線,y0y7分別用作8臺數(shù)顯儀表的數(shù)據(jù)線。plc系統(tǒng)的驅(qū)動程序和圖5類似。由于多臺儀表的時鐘線是公共的,數(shù)據(jù)線是并行輸出

溫馨提示

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

評論

0/150

提交評論