微控制器在科研試驗中實(shí)現的前端設備的遠程復位控制
在蘭州重離子加速器冷卻儲存環(huán)工程(HIRFL-CSR)的調試階段,需要將由HIRFL重離子加速器獲得的束流注入冷卻儲存環(huán)(CSR)當中。在束流調節的過(guò)程中因為控制系統操作平凡,實(shí)時(shí)性要求高,網(wǎng)絡(luò )上的數據量大大增加,致使前端網(wǎng)關(guān)要吞吐電源控制模塊的大量數據;另外,前端網(wǎng)關(guān)和電源控制模塊與強電控制系統在電器上發(fā)生連接,前端網(wǎng)關(guān)和電源控制模塊微系統有時(shí)受到強電控制系統影響,這樣就增加了前端網(wǎng)關(guān)死機的可能。中心控制室的束流調節人員在調節束流的過(guò)程中如果發(fā)現前端網(wǎng)關(guān)死機,就必須到現場(chǎng)復位網(wǎng)關(guān)后調節束流的工作才能順利進(jìn)行,這樣對于調節人員來(lái)說(shuō),既費時(shí)又費力,工作效率受到影響。為了提高調束效率,減輕調節人員的體力勞動(dòng),我們設計并實(shí)現了HIRFL-CSR束流注入線(xiàn)網(wǎng)關(guān)遠程復位系統,使束流調節人員在中心控制室的計算機上用鼠標很快就可以復位前端網(wǎng)關(guān),提高了束流調節效率。
本文引用地址:http://dyxdggzs.com/article/149022.htm圖1
該網(wǎng)關(guān)遠程復位系統主要由AT89C51單片機硬件電路、復位網(wǎng)關(guān)、AT89C51單片機信號處理程序、控制室界面應用程序組成,其系統結構示意圖如圖1。
1硬件結構與原理
1。1單片機硬件電路
單片機硬件電路分為:信號轉換電路、AT89C51單片機、隔離電路、繼電器電路等。
信號轉換電路是全雙工工作的,其功能主要有兩個(gè):一是用來(lái)將復位網(wǎng)關(guān)發(fā)送過(guò)來(lái)的MAX485信號轉成AT89C51單片機P3口可接收的RS232信號,然后由AT89C51根據信號進(jìn)行處理再通過(guò)P2口選擇相應的繼電器復位相應的網(wǎng)關(guān);二是由另外一片MAX485把AT89C51的P3口送來(lái)的信號轉換成復位網(wǎng)關(guān)接收的MAX485總線(xiàn)信號。
AT89C51是一種低功耗,高性能CMOS8位微控制器,具有4K字節閃存,可編程可擦除存儲器。該微控制器采用Atmel高密度,非易失性存儲器制造技術(shù),與工業(yè)標準的MSC-51指令集和I/O管腳相兼容,其編程開(kāi)發(fā)軟件可用KeiluVision2,編程方便、效率高。AT89C51為很多嵌入式控制應用提供了非常靈活而又價(jià)格便宜的方案,它的主要性能有:4K字節的閃存,128字節的RAM,32個(gè)I/O口,2個(gè)16位的定時(shí)器,5個(gè)兩極中斷源結構,1個(gè)全雙工串行口,片內振蕩器和時(shí)鐘電路。由于A(yíng)T89C51性?xún)r(jià)比高,因此我們用AT89C51來(lái)實(shí)現復位硬件電路的微處理器。
本系統中的AT89C51單片機主要對接收到的信號實(shí)現智能處理,然后通過(guò)向P2口傳送信號選擇繼電器完成復位操作。因為單片機P2口外部輸出隔離電路采用集電極開(kāi)路的光電隔離器件,繼電器電路采用上拉電阻和光電隔離器件串接,所以?xún)炔縋2口寄存器某位置0時(shí)外部相應繼電器電路不導通,前端網(wǎng)關(guān)處于正常工作狀態(tài),當內部P2口寄存器某位置1時(shí)外部相應的繼電器電路導通,繼電器導通3秒,相應的網(wǎng)關(guān)斷電3秒復位,復位成功后單片機通過(guò)P3口向網(wǎng)絡(luò )返回復位成功信息。
1。2復位網(wǎng)關(guān)
復位網(wǎng)關(guān)的主要功能是完成中心控制室應用程序和AT89C51單片機硬件電路模塊的連接。因為該網(wǎng)關(guān)與AT89C51電路模塊之間的數據吞吐量非常小,而且AT89C51電路模塊與電源之間沒(méi)有在電器上連接,避免了強電控制電路對單片機系統的嚴重干擾,從而復位電路的穩定性和可靠性得以保證。一塊復位網(wǎng)關(guān)可以扇出數塊復位電路,一塊復位電路至少可以復位8塊網(wǎng)關(guān),所以一塊復位網(wǎng)關(guān)可以管理數十塊前端網(wǎng)關(guān)的復位工作,同時(shí)復位網(wǎng)關(guān)和AT89C51電路之間采用MAX485總線(xiàn),因此AT89C51單片機硬件電路可以分布在較大范圍的位置來(lái)復位分散布局的網(wǎng)關(guān)。
2軟件描述
2。1AT89C51單片機程序
AT89C51單片機信號處理程序是用KeiluVision2編寫(xiě),程序主要采用查詢(xún)方式工作,可消除亂麻,被消除亂麻位數可以自己定義,輸入命令出錯時(shí)可重新輸入,單片機操作成功后可返回成功信息。整個(gè)程序的流程圖如圖2所示。
該單片機的程序首先加入“stdio。h”、“at89x51。h”頭文件,主要用來(lái)定義AT89C51的寄存器和調用系統庫函數,其次聲明一個(gè)延時(shí)函數和尋址函數,延時(shí)函數主要用來(lái)控制復位時(shí)間的長(cháng)短,尋址函數主要用來(lái)識別網(wǎng)絡(luò )上單片機電路饃塊編號,當AT89C51程序檢測到網(wǎng)絡(luò )上出現自己的命令時(shí),就繼續執行程序進(jìn)行相應的復位操作,否則當逐個(gè)識別到不是自己的命令時(shí),就會(huì )馬上消除緩沖區的字符,重新獲取網(wǎng)絡(luò )上的命令。采用這種查詢(xún)方式工作的單片機當總線(xiàn)上出現亂碼數據的時(shí)候,不會(huì )發(fā)生誤操作,因為只有輸入命令的字符和順序都符合被定義的命令格式時(shí)才能夠成功輸入命令,完成相應的復位操作,錯一個(gè)字符就得重新輸入,這樣的程序結構比起單純的查詢(xún)輸入不僅能夠消除網(wǎng)絡(luò )上傳送過(guò)來(lái)的亂碼,而且當輸入命令錯誤時(shí),立即可以重新輸入,避免了單純查詢(xún)方式的輸入命令出錯還必須得輸完規定的字符才能重新輸入的方式,提高了操作效率。

圖2
2。2控制室界面應用程序
控制室界面應用程序主要由VC++編寫(xiě),核心是Socket編程。Socket是建立在傳輸層協(xié)議(主要是TCP和UDP)上的一種套接字規范,最初是由美國加州Berkley大學(xué)提出的,它定義兩臺計算機間進(jìn)行通信的規范(也是一種編程規范),兩臺計算機之間利用一個(gè)“通道”進(jìn)行通信,這個(gè)通道就是由通信兩端的套接字組成。Socket屏蔽了底層通信軟件和具體操作系統的差異,使得任何安裝了TCP協(xié)議軟件和實(shí)現了套接字規范的兩臺計算機之間通信成為可能。
大多數網(wǎng)絡(luò )通信程序可分為兩類(lèi):服務(wù)器端和客戶(hù)端。由于復位網(wǎng)關(guān)是基于Linux操作系統的服務(wù)器端,所以本應用程序用StreamSocket創(chuàng )建基于Windows的中心控制室客戶(hù)端服務(wù)應用程序。StreamSocket是面向連接的編程方式,它提供了一系列的數據糾錯功能,可以保證在網(wǎng)絡(luò )上傳送的數據及時(shí)、無(wú)誤地到達對方。本界面客戶(hù)端應用程序的Socket編程模型如圖3。

電子鎮流器相關(guān)文章:電子鎮流器工作原理
評論