微控制器在科研試驗中實現(xiàn)的前端設(shè)備的遠程復(fù)位控制
在蘭州重離子加速器冷卻儲存環(huán)工程(HIRFL-CSR)的調(diào)試階段,需要將由HIRFL重離子加速器獲得的束流注入冷卻儲存環(huán)(CSR)當中。在束流調(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)遠程復(fù)位系統(tǒng),使束流調(diào)節(jié)人員在中心控制室的計算機上用鼠標很快就可以復(fù)位前端網(wǎng)關(guān),提高了束流調(diào)節(jié)效率。
本文引用地址:http://butianyuan.cn/article/149022.htm圖1
該網(wǎng)關(guā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è)標準的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),當內(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)的嚴重干擾,從而復(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ò)上單片機電路饃塊編號,當AT89C51程序檢測到網(wǎng)絡(luò)上出現(xiàn)自己的命令時,就繼續(xù)執(zhí)行程序進行相應(yīng)的復(fù)位操作,否則當逐個識別到不是自己的命令時,就會馬上消除緩沖區(qū)的字符,重新獲取網(wǎng)絡(luò)上的命令。采用這種查詢方式工作的單片機當總線上出現(xiàn)亂碼數(shù)據(jù)的時候,不會發(fā)生誤操作,因為只有輸入命令的字符和順序都符合被定義的命令格式時才能夠成功輸入命令,完成相應(yīng)的復(fù)位操作,錯一個字符就得重新輸入,這樣的程序結(jié)構(gòu)比起單純的查詢輸入不僅能夠消除網(wǎng)絡(luò)上傳送過來的亂碼,而且當輸入命令錯誤時,立即可以重新輸入,避免了單純查詢方式的輸入命令出錯還必須得輸完規(guī)定的字符才能重新輸入的方式,提高了操作效率。
圖2
2。2控制室界面應(yīng)用程序
控制室界面應(yīng)用程序主要由VC++編寫,核心是Socket編程。Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規(guī)范,最初是由美國加州Berkley大學提出的,它定義兩臺計算機間進行通信的規(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。
電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理
評論