微控制器在科研試驗中實現(xiàn)的前端設(shè)備的遠(yuǎn)程復(fù)位控制
在蘭州重離子加速器冷卻儲存環(huán)工程(HIRFL-CSR)的調(diào)試階段,需要將由HIRFL重離子加速器獲得的束流注入冷卻儲存環(huán)(CSR)當(dāng)中。在束流調(diào)節(jié)的過程中因為控制系統(tǒng)操作平凡,實時性要求高,網(wǎng)絡(luò)上的數(shù)據(jù)量大大增加,致使前端網(wǎng)關(guān)要吞吐電源控制模塊的大量數(shù)據(jù);另外,前端網(wǎng)關(guān)和電源控制模塊與強電控制系統(tǒng)在電器上發(fā)生連接,前端網(wǎng)關(guān)和電源控制模塊微系統(tǒng)有時受到強電控制系統(tǒng)影響,這樣就增加了前端網(wǎng)關(guān)死機的可能。中心控制室的束流調(diào)節(jié)人員在調(diào)節(jié)束流的過程中如果發(fā)現(xiàn)前端網(wǎng)關(guān)死機,就必須到現(xiàn)場復(fù)位網(wǎng)關(guān)后調(diào)節(jié)束流的工作才能順利進行,這樣對于調(diào)節(jié)人員來說,既費時又費力,工作效率受到影響。為了提高調(diào)束效率,減輕調(diào)節(jié)人員的體力勞動,我們設(shè)計并實現(xiàn)了HIRFL-CSR束流注入線網(wǎng)關(guān)遠(yuǎn)程復(fù)位系統(tǒng),使束流調(diào)節(jié)人員在中心控制室的計算機上用鼠標(biāo)很快就可以復(fù)位前端網(wǎng)關(guān),提高了束流調(diào)節(jié)效率。
圖1
該網(wǎng)關(guān)遠(yuǎn)程復(fù)位系統(tǒng)主要由AT89C51單片機硬件電路、復(fù)位網(wǎng)關(guān)、AT89C51單片機信號處理程序、控制室界面應(yīng)用程序組成,其系統(tǒng)結(jié)構(gòu)示意圖如圖1。
1硬件結(jié)構(gòu)與原理
1。1單片機硬件電路
單片機硬件電路分為:信號轉(zhuǎn)換電路、AT89C51單片機、隔離電路、繼電器電路等。
信號轉(zhuǎn)換電路是全雙工工作的,其功能主要有兩個:一是用來將復(fù)位網(wǎng)關(guān)發(fā)送過來的MAX485信號轉(zhuǎn)成AT89C51單片機P3口可接收的RS232信號,然后由AT89C51根據(jù)信號進行處理再通過P2口選擇相應(yīng)的繼電器復(fù)位相應(yīng)的網(wǎng)關(guān);二是由另外一片MAX485把AT89C51的P3口送來的信號轉(zhuǎn)換成復(fù)位網(wǎng)關(guān)接收的MAX485總線信號。
AT89C51是一種低功耗,高性能CMOS8位微控制器,具有4K字節(jié)閃存,可編程可擦除存儲器。該微控制器采用Atmel高密度,非易失性存儲器制造技術(shù),與工業(yè)標(biāo)準(zhǔn)的MSC-51指令集和I/O管腳相兼容,其編程開發(fā)軟件可用KeiluVision2,編程方便、效率高。AT89C51為很多嵌入式控制應(yīng)用提供了非常靈活而又價格便宜的方案,它的主要性能有:4K字節(jié)的閃存,128字節(jié)的RAM,32個I/O口,2個16位的定時器,5個兩極中斷源結(jié)構(gòu),1個全雙工串行口,片內(nèi)振蕩器和時鐘電路。由于AT89C51性價比高,因此我們用AT89C51來實現(xiàn)復(fù)位硬件電路的微處理器。
本系統(tǒng)中的AT89C51單片機主要對接收到的信號實現(xiàn)智能處理,然后通過向P2口傳送信號選擇繼電器完成復(fù)位操作。因為單片機P2口外部輸出隔離電路采用集電極開路的光電隔離器件,繼電器電路采用上拉電阻和光電隔離器件串接,所以內(nèi)部P2口寄存器某位置0時外部相應(yīng)繼電器電路不導(dǎo)通,前端網(wǎng)關(guān)處于正常工作狀態(tài),當(dāng)內(nèi)部P2口寄存器某位置1時外部相應(yīng)的繼電器電路導(dǎo)通,繼電器導(dǎo)通3秒,相應(yīng)的網(wǎng)關(guān)斷電3秒復(fù)位,復(fù)位成功后單片機通過P3口向網(wǎng)絡(luò)返回復(fù)位成功信息。
1。2復(fù)位網(wǎng)關(guān)
復(fù)位網(wǎng)關(guān)的主要功能是完成中心控制室應(yīng)用程序和AT89C51單片機硬件電路模塊的連接。因為該網(wǎng)關(guān)與AT89C51電路模塊之間的數(shù)據(jù)吞吐量非常小,而且AT89C51電路模塊與電源之間沒有在電器上連接,避免了強電控制電路對單片機系統(tǒng)的嚴(yán)重干擾,從而復(fù)位電路的穩(wěn)定性和可靠性得以保證。一塊復(fù)位網(wǎng)關(guān)可以扇出數(shù)塊復(fù)位電路,一塊復(fù)位電路至少可以復(fù)位8塊網(wǎng)關(guān),所以一塊復(fù)位網(wǎng)關(guān)可以管理數(shù)十塊前端網(wǎng)關(guān)的復(fù)位工作,同時復(fù)位網(wǎng)關(guān)和AT89C51電路之間采用MAX485總線,因此AT89C51單片機硬件電路可以分布在較大范圍的位置來復(fù)位分散布局的網(wǎng)關(guān)。
2軟件描述
2。1AT89C51單片機程序
AT89C51單片機信號處理程序是用KeiluVision2編寫,程序主要采用查詢方式工作,可消除亂麻,被消除亂麻位數(shù)可以自己定義,輸入命令出錯時可重新輸入,單片機操作成功后可返回成功信息。整個程序的流程圖如圖2所示。
該單片機的程序首先加入“stdio。h”、“at89x51。h”頭文件,主要用來定義AT89C51的寄存器和調(diào)用系統(tǒng)庫函數(shù),其次聲明一個延時函數(shù)和尋址函數(shù),延時函數(shù)主要用來控制復(fù)位時間的長短,尋址函數(shù)主要用來識別網(wǎng)絡(luò)上單片機電路饃塊編號,當(dāng)AT89C51程序檢測到網(wǎng)絡(luò)上出現(xiàn)自己的命令時,就繼續(xù)執(zhí)行程序進行相應(yīng)的復(fù)位操作,否則當(dāng)逐個識別到不是自己的命令時,就會馬上消除緩沖區(qū)的字符,重新獲取網(wǎng)絡(luò)上的命令。采用這種查詢方式工作的單片機當(dāng)總線上出現(xiàn)亂碼數(shù)據(jù)的時候,不會發(fā)生誤操作,因為只有輸入命令的字符和順序都符合被定義的命令格式時才能夠成功輸入命令,完成相應(yīng)的復(fù)位操作,錯一個字符就得重新輸入,這樣的程序結(jié)構(gòu)比起單純的查詢輸入不僅能夠消除網(wǎng)絡(luò)上傳送過來的亂碼,而且當(dāng)輸入命令錯誤時,立即可以重新輸入,避免了單純查詢方式的輸入命令出錯還必須得輸完規(guī)定的字符才能重新輸入的方式,提高了操作效率。
圖2
2。2控制室界面應(yīng)用程序
控制室界面應(yīng)用程序主要由VC++編寫,核心是Socket編程。Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,最初是由美國加州Berkley大學(xué)提出的,它定義兩臺計算機間進行通信的規(guī)范(也是一種編程規(guī)范),兩臺計算機之間利用一個“通道”進行通信,這個通道就是由通信兩端的套接字組成。Socket屏蔽了底層通信軟件和具體操作系統(tǒng)的差異,使得任何安裝了TCP協(xié)議軟件和實現(xiàn)了套接字規(guī)范的兩臺計算機之間通信成為可能。
大多數(shù)網(wǎng)絡(luò)通信程序可分為兩類:服務(wù)器端和客戶端。由于復(fù)位網(wǎng)關(guān)是基于Linux操作系統(tǒng)的服務(wù)器端,所以本應(yīng)用程序用StreamSocket創(chuàng)建基于Windows的中心控制室客戶端服務(wù)應(yīng)用程序。StreamSocket是面向連接的編程方式,它提供了一系列的數(shù)據(jù)糾錯功能,可以保證在網(wǎng)絡(luò)上傳送的數(shù)據(jù)及時、無誤地到達對方。本界面客戶端應(yīng)用程序的Socket編程模型如圖3。
圖3
本程應(yīng)用程序首先用MFCAppWizard建立一個單文本對話框,其次在對話框里加入IP編輯框、端口編輯框、連接按鈕用來連接復(fù)位網(wǎng)關(guān);加入一些單選按鈕,用來選擇要復(fù)位的前端網(wǎng)關(guān);加入一個編輯對話框,用來顯示接收到的返回信息;加入復(fù)位按鈕,給AT89C51發(fā)送復(fù)位命令。然后,給應(yīng)用程序加入相應(yīng)的CSocket類、函數(shù)、變量。程序編譯完成后,就可以生成Win32Release可執(zhí)行文件,然后安裝到中心控制室實現(xiàn)復(fù)位操作。應(yīng)用程序操作步驟非常簡單,當(dāng)工作人員發(fā)現(xiàn)前端網(wǎng)關(guān)死機時,打開本應(yīng)用程序,輸入復(fù)位網(wǎng)關(guān)的IP和端口號,進行連接,復(fù)位網(wǎng)關(guān)連接成功后,可選擇前端網(wǎng)關(guān)號,點擊復(fù)位按鈕,如果復(fù)位成功,編輯對話框出現(xiàn)復(fù)位成功的信息,工作人員很快可以繼續(xù)調(diào)束。
3結(jié)束語
本文的創(chuàng)新點就是用微處理器實現(xiàn)了在科研試驗當(dāng)中對前端網(wǎng)關(guān)的智能復(fù)位控制,消除了幾年來HIRFL-CSR試驗階段由于前端網(wǎng)關(guān)死機迫使科研工作人員到
現(xiàn)場手動復(fù)位前端網(wǎng)關(guān)的現(xiàn)象,大大方便了束流調(diào)節(jié)人員,提高了科研人員的工作效率。用微處理器實現(xiàn)的前端智能電路模塊,通過中心控制室的網(wǎng)絡(luò)通信應(yīng)用程序的操作,實現(xiàn)了科研試驗環(huán)節(jié)對前端設(shè)備的遠(yuǎn)程控制。該系統(tǒng)自2005年10月開始用于HIRFL-CSR束流注入線以來,工作穩(wěn)定,抗干擾強,沒有發(fā)生誤操作。實踐證明,本系統(tǒng)在前端控制網(wǎng)關(guān)的通訊口發(fā)生數(shù)據(jù)堵塞的情況下,仍然可對前端網(wǎng)關(guān)進行復(fù)位,具有復(fù)位可靠實時性強的優(yōu)點。通過這種遠(yuǎn)程復(fù)位系統(tǒng)在科研控制系統(tǒng)中的實現(xiàn),我們還可以將這種控制方法運用到科研試驗控制的許多環(huán)節(jié),比如:遠(yuǎn)程電源的開關(guān)、遠(yuǎn)程控制控制電磁閥,前端設(shè)備的狀態(tài)采集等。因此,我們的物理專業(yè)的研究人員要有意識地讓微機控制技術(shù)廣泛應(yīng)用到科研試驗的各個環(huán)節(jié),盡量把一些費時費力的工作讓計算機來完成,以提高科研當(dāng)中自動化的程度,從而幫助研究人員在自己的專業(yè)領(lǐng)域做出成績。這就要求就我們的物理專業(yè)的研究人員,首先要學(xué)習(xí)一些計算機專業(yè)的相關(guān)知識,其次,要有應(yīng)用微機算計幫自己搞科研的意識,最后,用微計算機控制的知識實現(xiàn)科研中的自動控制,幫助自己搞好科研。