HIRFL-CSR真空控制系統的設計及其應用
引言
國家“九五”重大科學(xué)工程項目HIRFL-CSR(蘭州重離子加速器冷卻儲存環(huán)工程)主環(huán)真空系統全線(xiàn)非標部件和標準設備的安裝、檢漏在2004年初已經(jīng)完成,經(jīng)烘烤后真空度達到10-11mbar的超高真空環(huán)境。放置于加速器注入線(xiàn)和主環(huán)真空腔體和束運線(xiàn)上的各類(lèi)高/低真空泵達幾百個(gè), 需要檢測和控制的真空計和高真空電源也近百個(gè), 為了實(shí)現遠程開(kāi)/關(guān)各種真空計和高真空電源,定時(shí)檢測真空計讀數和狀態(tài),并需要為中央控制中心提供異常(定值點(diǎn)越界)報警和提示。運行時(shí), 超高真空系統任何一處束流線(xiàn)發(fā)生真空故障就會(huì )造成束流丟失、儀器設備損壞、加速器停運的嚴重后果。因此加速器必須具有響應快速、安全可靠的真空保護與控制系統。
1 系統硬件組成
本控制系統的核心是自主設計的可以兼容各種真空計,真空泵和高真空電源要求的基于MSP430F149的控制模塊VAC400。每個(gè)模塊連接一臺或多臺真空計或真空泵,用來(lái)采集它們的模擬/數字量和狀態(tài)碼,數據經(jīng)RS-485串行總線(xiàn)上傳到中央控制機進(jìn)行在線(xiàn)監視/顯示,并把中央控制機發(fā)送來(lái)的測控命令直接作用于真空計,電源或電磁閥,完成巡檢測控。每個(gè)VAC400都有一個(gè)唯一的標識碼(或地址),每個(gè)RS-485線(xiàn)上最多可以連接32個(gè)VAC400模塊, 每次通信周期中,只容許一個(gè)下位機與上位機通訊,通訊連接采用握手方式, ADC采集的數據不斷自動(dòng)更新并發(fā)送給上位機讀出顯示。VAC400與真空計通信速率為 9600bps。INTRANET用戶(hù)通過(guò)訪(fǎng)問(wèn)上位機來(lái)實(shí)現對特定真空計特定功能的操作。
2 系統軟件設計
系統軟件的設計關(guān)鍵是要針對不同的控制對象真空計IM520,真空計IT23和真空泵GST-03L這些不同儀器設備自身的控制命令進(jìn)行設計,而且需要輸出與被控儀器實(shí)際顯示的數據類(lèi)型和單位相一致的結果。同時(shí)當中央控制中心發(fā)出本設備其他操作命令或者其他設備的操作命令時(shí),需能產(chǎn)生中斷執行,并獲取相應的數據。針對不同的被控設備,我們改變相應的主函數部分注入模塊,從而實(shí)現了復雜多變的系統任務(wù)。
2.1 真空計IM520控制部分程序
系統需獲取真空計IM520的真空值數據,而真空值與電壓值成復雜的函數關(guān)系,由于MSP430無(wú)法實(shí)現復雜函數的計算,所以用 MSP430只顯示電壓值,后續轉換需要用其他軟件設計。MSP430的ADC寄存器可顯示十六進(jìn)制整數,人機交互界面需要直觀(guān)的帶三位小數的十進(jìn)制浮點(diǎn)數的電壓值,下面的ADC函數就是實(shí)現這一功能:
void ADC(void)
?。?unsigned tra[4]; int j;
TXBUF1=ADDRESS; //輸出模塊名稱(chēng)并在其后加“;”和空格
while ((UTCTL10x01)==0);
TXBUF1=58;
while ((UTCTL10x01)==0);
TXBUF1=‘ ‘;
while ((UTCTL10x01)==0);
if(Buffer[2]==‘r‘)//判斷是否輸入讀取 ADC數據的命令
?。?/P>
for(i=0;i4;i++)
?。?ADC12CTL0 =~ 0x02;//在進(jìn)行設置時(shí)首先復位ADC的轉換使能
ADvalue[i]=ADC12MEM[i]; //讀取數據
/*將讀取的十六進(jìn)制數轉換成輸出三位小數的十進(jìn)制浮點(diǎn)數*/
tra[i]=ADvalue[i]*10000.00/4095.00;
ADbit[0]=tra[i]%10;
ADbit[1]=(tra[i]/10)%10;
ADbit[2]=(tra[i]/100)%10;
ADbit[3]=22;
ADbit[4]=(tra[i]/1000)%10;
/*循環(huán)輸出ADC12MEMx里的數據*/
for(j=4;j>=0;j——)
?。?/P>
TXBUF1=Hex2ASCII(ADbit[j]);
while ((UTCTL10x01)==0);
?。?/P>
TXBUF1=‘ ‘; //輸出空格與下一組 ADC數據相間隔
while ((UTCTL10x01)==0);
?。?/P>
TXBUF1=13; //顯示數據之后換行,執行下一次循環(huán)顯示
while ((UTCTL10x01)==0);
ADC12CTL0 |= 0x02; } // 使能ADC轉換
?。?/P>
真空計監視的真空設備的數據需要自動(dòng)傳送給中央控制中心,以便實(shí)現實(shí)時(shí)監控。下面程序部分實(shí)現以MSP430 F149為核心的控制模塊自動(dòng)將數據傳送給遠控的計算機。
評論