時間:2008-11-18 10:05:00來源:ronggang
摘 要:PLC系統(tǒng)是應用極其廣泛的工業(yè)自動化裝置,但由于沒有配套的數(shù)顯儀表而無法顯示其數(shù)據(jù)或參數(shù)。本文給出了只用兩根I/O線連接PLC系統(tǒng)的數(shù)顯儀表實現(xiàn)方案,詳細介紹了基于STC89C51的硬件組成、時序設計、軟件實現(xiàn)和應用方法。該數(shù)顯儀表可以直接和晶體管輸出或電壓輸出形式的各類PLC連接,實現(xiàn)PLC系統(tǒng)的數(shù)據(jù)或參數(shù)顯示功能。 關鍵詞:STC89C51;PLC;人機接口;數(shù)顯儀表;兩線連接 Abstract:PLC system is a automatic equipment widely used in industry control, but it can’t display its data or parameters as it has no corresponding display unit. This paper introduces a scheme of display meter connecting PLC system with only two output point. It illustrates hardware composing based on STC89C51, timing diagram design, software realization and applicable method. This digital display meter may directly connect with a transistor-output or voltage-output PLC system and display its data or parameters. Keywords:STC89C51;PLC;Human Machine Interface;Digital Display Meter;Two Line Connection 0 引言 可編程邏輯控制器簡稱PLC(Programmable Logic Controller),具有編程簡單、可靠性高、通用性強和使用方便等特點,廣泛應用于工業(yè)控制中的各類生產(chǎn)過程[1]。目前的PLC系統(tǒng)多用指示燈來顯示生產(chǎn)過程或設備的狀態(tài)信號,或借助于專用的人機界面(HMI)、工業(yè)PC來顯示過程變量或設置系統(tǒng)參數(shù)。HMI和IPC不僅增加了PLC系統(tǒng)的成本,而且無法適應高溫、高濕熱、多粉塵的工作環(huán)境?;贚ED的數(shù)顯儀表具有環(huán)境適應性強、顯示直觀、醒目等優(yōu)點,可以滿足某些工業(yè)現(xiàn)場的特殊顯示需求。然而,如果使用PLC系統(tǒng)的I/O直接驅動數(shù)碼管進行顯示,則需要占用大量的PLC系統(tǒng)I/O資源。本文采用單片機和程序控制技術,通過特定的傳輸時序,只需使用PLC系統(tǒng)的2個I/O點即可實現(xiàn)其參數(shù)顯示。 1 硬件設計 以STC89C51為核心實現(xiàn)的PLC系統(tǒng)兩線連接型數(shù)顯儀表的硬件組成如圖1所示。整個硬件系統(tǒng)主要由STC89C51單片機、輸入接口、程序下載接口、數(shù)碼管顯示驅動電路、按鍵輸入(可選)和報警輸出(可選)等部分組成。STC89C51和標準80C51保持硬件結構和指令系統(tǒng)兼容,提高了時鐘速率,擴充了在系統(tǒng)編程(ISP)、在應用編程(IAP)、電源欠壓檢測與復位、看門狗復位等功能,其I/O口經(jīng)過了特殊的設計,使其在工業(yè)控制環(huán)境中具有極高的可靠性[2]。 [align=center] 圖1 PLC系統(tǒng)兩線連接型數(shù)顯儀表的硬件組成[/align] 1.1 PLC系統(tǒng)輸入接口 PLC系統(tǒng)通過兩個輸出點將顯示數(shù)據(jù)按照一定的時序傳給數(shù)顯儀表。PLC系統(tǒng)一般有繼電器出、可控硅輸出、晶體管輸出和24V直流電壓輸出等多種形式可供選擇,一般使用其晶體管輸出或24V輸出形式經(jīng)過相應的轉換電路連接數(shù)顯儀表。為了適應兩種輸出形式,采用光電耦合器統(tǒng)一將PLC系統(tǒng)的輸出信號轉換為TTL電平信號。如果PLC系統(tǒng)的輸出形式為24VDC,例如西門子的S7系列PLC,則PLC輸出與光電耦合器輸入側的連接如圖2所示。如果PLC系統(tǒng)的輸出為晶體管集電極開路或漏極開路輸出,如三菱的FX系列PLC,則PLC輸出與光電耦合器輸入側的連接如圖3所示。無論采用何種連接方式,轉換后進入STC89C51單片機的信號邏輯都與PLC系統(tǒng)的輸出邏輯保持一致。使用光電耦合器實現(xiàn)信號轉換,有利于提高系統(tǒng)的抗干擾能力,因為干擾信號即使具有較高的電壓幅值,但其能量相對較小,形成的微弱電流一般不足以使光電耦合器導通[3]。轉換后的兩路信號分別作為數(shù)據(jù)線和時鐘線,連接到單片機的兩個外中斷輸入引腳,便于使用中斷方式傳輸顯示數(shù)據(jù)。 [align=center] 圖2 電壓輸出型PLC接口 圖3 晶體管輸出型PLC接口[/align] 1.2 程序下載接口 借助于ISP編程功能,可以通過RS-232C接口將程序代碼從計算機下載到單片機內(nèi)部的Flash中。程序下載接口一般設計為標準的RS-232接口,使用一片MAX232轉換芯片即可實現(xiàn)。 1.3 數(shù)碼管驅動電路 為了確保數(shù)碼管的顯示亮度,使用兩片74HC245實現(xiàn)數(shù)碼管的驅動。其中一片74HC245用于驅動4位共陰極數(shù)碼管的段碼,其輸入和單片機的P0口連接,輸出則經(jīng)限流電阻限流后與4位數(shù)碼管的8個段碼引腳連接。另一片74HC245驅動4位數(shù)碼管的位碼,其輸入和單片機的P1.0~P1.3連接,輸出則分別和4位數(shù)碼管的公共端連接。 2 傳輸時序 1臺數(shù)顯儀表和PLC實現(xiàn)數(shù)據(jù)傳輸時需占用PLC的2個輸出點,分別用作數(shù)據(jù)線和時鐘線。由于顯示數(shù)據(jù)的傳輸是串行的,因此必須設計相應的傳輸時序。構建雙方的傳輸時序時必須充分考慮PLC系統(tǒng)的工作原理、輸出特性及其差異以及傳輸過程的可靠性等問題。綜合考慮這些因素后所設計的傳輸時序如圖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。 [align=center] 圖4 數(shù)顯儀表和PLC系統(tǒng)之間的傳輸時序[/align] 由于PLC系統(tǒng)基于掃描原理周而復始地刷新輸入信號、執(zhí)行用戶程序和輸出運行結果[4],在一個掃描周期內(nèi)讓PLC系統(tǒng)的輸出信號發(fā)生跳變難于實現(xiàn),因此圖4的一個時鐘周期需要占用PLC系統(tǒng)的兩個掃描周期。每次傳輸過程增設3個同步脈沖是為了提高傳輸過程的可靠性,確保PLC系統(tǒng)及其傳輸線路無論出現(xiàn)何種故障,都可以在故障恢復后的一個傳輸周期內(nèi)正確地傳輸顯示數(shù)據(jù)。 3 軟件設計 數(shù)顯儀表的程序由初始化、外中斷0服務程序、外中斷1服務程序和定時器T0中斷服務程序4部分組成。T0每隔5ms中斷1次,在其中斷服務程序中根據(jù)接收到的顯示數(shù)據(jù)及其小數(shù)點位置信息完成4位數(shù)碼管的動態(tài)顯示。外中斷0服務程序用于檢測同步信號,外中斷1服務程序用于接收16位顯示數(shù)據(jù)的BCD編碼和2位表示小數(shù)點顯示位置的信息。 3.1 外中斷0服務程序 外中斷0由數(shù)據(jù)信號線的下降沿觸發(fā),在其中斷服務程序中,如果檢測到時鐘線為低電平,則視為同步信號。當檢測到3個同步脈沖后,則表明收到了正確的同步信號,此時關閉外中斷0,開啟外中斷1,借助于外中斷1服務程序接收數(shù)據(jù)。如果在前一次或前兩次中斷服務程序中已檢測同步脈沖而本次未檢測到同步脈沖,則視為無效同步信號。外中斷0服務程序的主要代碼如下: void Int0_Srvice(void) interrupt 0 ?。?p33=1; if(p33==0) SysClock++; //有效,同步脈沖加1 else SysClock=0; //無效,同步脈沖清零 if(SysClock==3) { //檢測到3個同步脈沖 RecEnable=1; //置允許接收標志 EX0=0; //關閉外中斷0 EX1=1; //開放外中斷1 ?。? 3.2 外中斷1服務程序 外中斷1由時鐘信號線的下降沿觸發(fā),在其中斷服務程序中,如果查詢到已建立允許接收標志,則接收16位顯示數(shù)據(jù)的BCD碼和2位小數(shù)點位置信息,并將其轉換為18位并行數(shù)據(jù),存于DispData變量中供T0中斷服務程序進行顯示。由于顯示數(shù)據(jù)和小數(shù)點位置信息都是低位在前,高位在后,所以在程序中使用右移操作實現(xiàn)串行數(shù)據(jù)到并行數(shù)據(jù)的轉換。小數(shù)點位置信息為0~3時,表示小數(shù)點分別位于數(shù)碼管的千位、百位、十位和個位之后。如果小數(shù)點在個位之后,則不顯示小數(shù)點。當接收到18位信息后,則關閉外中斷1,重新開放外中斷0進行下一周期的數(shù)據(jù)傳輸。外中斷1服務程序的主要代碼如下: void Int1_Srvice(void) interrupt 2 ?。?if(RecEnable==1) //允許接收 ?。?p32=1; //檢測數(shù)據(jù)線電平 if(p32==1) RecData=RecData|0x40000; RecData=RecData>>1; //實現(xià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; //開外中斷0 EX1=0; //關外中斷1 }}} 4 應用實例 利用PLC系統(tǒng)的(n+1)個輸出點可以連接n臺數(shù)顯儀表,其中1點用作公共時鐘線,n點用作n臺數(shù)顯儀表的數(shù)據(jù)線。使用數(shù)顯儀表顯示PLC系統(tǒng)的數(shù)據(jù)或參數(shù)時,還必須給PLC系統(tǒng)編寫滿足時序要求的驅動程序。 4.1 PLC驅動程序設計 此處以三菱FX2N PLC系統(tǒng)為例,介紹PLC系統(tǒng)驅動程序的編寫方法。假設使用Y0作為數(shù)據(jù)線,Y1作為時鐘線,則PLC驅動程序的梯形圖如圖5所示。程序中使用D0單元存放顯示數(shù)據(jù),其取值范圍為0~9999,D1單元存放小數(shù)點位置信息,其取值范圍為0~3。占用的資源包括計數(shù)器C0~C1和中間繼電器M100~M131,可以結合用戶程序進行相應的調(diào)整。 [align=center] 圖5 FX2N PLC顯示驅動程序[/align] 4.2 多臺數(shù)顯儀表與PLC系統(tǒng)的連接 多臺數(shù)顯儀表與PLC系統(tǒng)的連接如圖6所示,圖中的1臺FX2N PLC連接了8臺數(shù)顯儀表,PLC的Y10用作公共時鐘線,Y0~Y7分別用作8臺數(shù)顯儀表的數(shù)據(jù)線。PLC系統(tǒng)的驅動程序和圖5類似。由于多臺儀表的時鐘線是公共的,數(shù)據(jù)線是并行輸出的,因此多臺數(shù)顯儀表的數(shù)據(jù)刷新時間和其連接的數(shù)量無關,可以確保PLC系統(tǒng)數(shù)據(jù)顯示的實時性。 5 結論 該數(shù)顯儀表無需知曉任何PLC系統(tǒng)的協(xié)議,僅使用PLC系統(tǒng)的n+1個輸出點即可實現(xiàn)在n臺數(shù)顯儀表上顯示其數(shù)據(jù)或參數(shù)。占用較少的PLC資源,既可擴充PLC系統(tǒng)的外圍顯示設備,又間接地解決了HMI無法適應惡劣工作環(huán)境等實際工程問題。該儀表已應用于垃圾發(fā)電12路遠程手操信號的顯示,應用結果表明其具有極高的可靠性和良好的可維護性。 本文作者創(chuàng)新點:該數(shù)顯儀表解決了PLC系統(tǒng)直接驅動數(shù)碼管占用太多資源的問題,間接地解決了基于PLC系統(tǒng)通信口的一類數(shù)顯儀表需要知曉通信協(xié)議等問題。 參考文獻: [1] 唐明軍,唐慧強,黃金燕.基于ARM的可編程控制器的硬件設計[J].儀表技術與傳感器,2006(5):40-41 [2] 鄔偉奇.STC89系列高性能單片機及其應用[J].微計算機信息,2004(7):92-93 [3] 李正軍.計算機控制系統(tǒng)[M].北京:機械工業(yè)出版社, 2006:94-99 [4] 郁漢琪,盛黨紅,鄧東華.電氣控制與可編程序控制器[M].南京:東南大學出版社,2003:145-152
標簽:
中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。