新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > HIRFL-CSR真空控制系統(tǒng)的設(shè)計(jì)及其應(yīng)用

HIRFL-CSR真空控制系統(tǒng)的設(shè)計(jì)及其應(yīng)用

作者: 時(shí)間:2013-04-16 來源:網(wǎng)絡(luò) 收藏

  引言

  國家“九五”重大科學(xué)工程項(xiàng)目(蘭州重離子加速器冷卻儲(chǔ)存環(huán)工程)主環(huán)真空系統(tǒng)全線非標(biāo)部件和標(biāo)準(zhǔn)設(shè)備的安裝、檢漏在2004年初已經(jīng)完成,經(jīng)烘烤后真空度達(dá)到10-11mbar的超高真空環(huán)境。放置于加速器注入線和主環(huán)真空腔體和束運(yùn)線上的各類高/低真空泵達(dá)幾百個(gè), 需要檢測(cè)和控制的真空計(jì)和高真空電源也近百個(gè), 為了實(shí)現(xiàn)遠(yuǎn)程開/關(guān)各種真空計(jì)和高真空電源,定時(shí)檢測(cè)真空計(jì)讀數(shù)和狀態(tài),并需要為中央控制中心提供異常(定值點(diǎn)越界)報(bào)警和提示。運(yùn)行時(shí), 超高真空系統(tǒng)任何一處束流線發(fā)生真空故障就會(huì)造成束流丟失、儀器設(shè)備損壞、加速器停運(yùn)的嚴(yán)重后果。因此加速器必須具有響應(yīng)快速、安全可靠的真空保護(hù)與控制系統(tǒng)。

  1 系統(tǒng)硬件組成

  本控制系統(tǒng)的核心是自主設(shè)計(jì)的可以兼容各種真空計(jì),真空泵和高真空電源要求的基于的控制模塊VAC400。每個(gè)模塊連接一臺(tái)或多臺(tái)真空計(jì)或真空泵,用來采集它們的模擬/數(shù)字量和狀態(tài)碼,數(shù)據(jù)經(jīng)RS-485串行總線上傳到中央控制機(jī)進(jìn)行在線監(jiān)視/顯示,并把中央控制機(jī)發(fā)送來的測(cè)控命令直接作用于真空計(jì),電源或電磁閥,完成巡檢測(cè)控。每個(gè)VAC400都有一個(gè)唯一的標(biāo)識(shí)碼(或地址),每個(gè)RS-485線上最多可以連接32個(gè)VAC400模塊, 每次通信周期中,只容許一個(gè)下位機(jī)與上位機(jī)通訊,通訊連接采用握手方式, ADC采集的數(shù)據(jù)不斷自動(dòng)更新并發(fā)送給上位機(jī)讀出顯示。VAC400與真空計(jì)通信速率為 9600bps。INTRANET用戶通過訪問上位機(jī)來實(shí)現(xiàn)對(duì)特定真空計(jì)特定功能的操作。


  2 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件的設(shè)計(jì)關(guān)鍵是要針對(duì)不同的控制對(duì)象真空計(jì)IM520,真空計(jì)IT23和真空泵GST-03L這些不同儀器設(shè)備自身的控制命令進(jìn)行設(shè)計(jì),而且需要輸出與被控儀器實(shí)際顯示的數(shù)據(jù)類型和單位相一致的結(jié)果。同時(shí)當(dāng)中央控制中心發(fā)出本設(shè)備其他操作命令或者其他設(shè)備的操作命令時(shí),需能產(chǎn)生中斷執(zhí)行,并獲取相應(yīng)的數(shù)據(jù)。針對(duì)不同的被控設(shè)備,我們改變相應(yīng)的主函數(shù)部分注入模塊,從而實(shí)現(xiàn)了復(fù)雜多變的系統(tǒng)任務(wù)。

  2.1 真空計(jì)IM520控制部分程序

  系統(tǒng)需獲取真空計(jì)IM520的真空值數(shù)據(jù),而真空值與電壓值成復(fù)雜的函數(shù)關(guān)系,由于MSP430無法實(shí)現(xiàn)復(fù)雜函數(shù)的計(jì)算,所以用 MSP430只顯示電壓值,后續(xù)轉(zhuǎn)換需要用其他軟件設(shè)計(jì)。MSP430的ADC寄存器可顯示十六進(jìn)制整數(shù),人機(jī)交互界面需要直觀的帶三位小數(shù)的十進(jìn)制浮點(diǎn)數(shù)的電壓值,下面的ADC函數(shù)就是實(shí)現(xiàn)這一功能:

  void ADC(void)

  { unsigned tra[4]; int j;

  TXBUF1=ADDRESS; //輸出模塊名稱并在其后加“;”和空格

  while ((UTCTL10x01)==0);

  TXBUF1=58;

  while ((UTCTL10x01)==0);

  TXBUF1=‘ ‘;

  while ((UTCTL10x01)==0);

  if(Buffer[2]==‘r‘)//判斷是否輸入讀取 ADC數(shù)據(jù)的命令

 ?。?/P>

  for(i=0;i4;i++)

 ?。?ADC12CTL0 =~ 0x02;//在進(jìn)行設(shè)置時(shí)首先復(fù)位ADC的轉(zhuǎn)換使能

  ADvalue[i]=ADC12MEM[i]; //讀取數(shù)據(jù)

  /*將讀取的十六進(jìn)制數(shù)轉(zhuǎn)換成輸出三位小數(shù)的十進(jìn)制浮點(diǎn)數(shù)*/

  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里的數(shù)據(jù)*/

  for(j=4;j>=0;j——)

 ?。?/P>

  TXBUF1=Hex2ASCII(ADbit[j]);

  while ((UTCTL10x01)==0);

 ?。?/P>

  TXBUF1=‘ ‘; //輸出空格與下一組 ADC數(shù)據(jù)相間隔

  while ((UTCTL10x01)==0);

 ?。?/P>

  TXBUF1=13; //顯示數(shù)據(jù)之后換行,執(zhí)行下一次循環(huán)顯示

  while ((UTCTL10x01)==0);

  ADC12CTL0 |= 0x02; } // 使能ADC轉(zhuǎn)換

  }

  真空計(jì)監(jiān)視的真空設(shè)備的數(shù)據(jù)需要自動(dòng)傳送給中央控制中心,以便實(shí)現(xiàn)實(shí)時(shí)監(jiān)控。下面程序部分實(shí)現(xiàn)以MSP430 F149為核心的控制模塊自動(dòng)將數(shù)據(jù)傳送給遠(yuǎn)控的計(jì)算機(jī)。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉