新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > HIRFL-CSR真空控制系統的設計及其應用

        HIRFL-CSR真空控制系統的設計及其應用

        作者: 時間:2013-04-16 來源:網絡 收藏

          引言

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

          1 系統硬件組成

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


          2 系統軟件設計

          系統軟件的設計關鍵是要針對不同的控制對象真空計IM520,真空計IT23和真空泵GST-03L這些不同儀器設備自身的控制命令進行設計,而且需要輸出與被控儀器實際顯示的數據類型和單位相一致的結果。同時當中央控制中心發出本設備其他操作命令或者其他設備的操作命令時,需能產生中斷執行,并獲取相應的數據。針對不同的被控設備,我們改變相應的主函數部分注入模塊,從而實現了復雜多變的系統任務。

          2.1 真空計IM520控制部分程序

          系統需獲取真空計IM520的真空值數據,而真空值與電壓值成復雜的函數關系,由于MSP430無法實現復雜函數的計算,所以用 MSP430只顯示電壓值,后續轉換需要用其他軟件設計。MSP430的ADC寄存器可顯示十六進制整數,人機交互界面需要直觀的帶三位小數的十進制浮點數的電壓值,下面的ADC函數就是實現這一功能:

          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數據的命令

          {

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

          { ADC12CTL0 =~ 0x02;//在進行設置時首先復位ADC的轉換使能

          ADvalue[i]=ADC12MEM[i]; //讀取數據

          /*將讀取的十六進制數轉換成輸出三位小數的十進制浮點數*/

          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;

          /*循環輸出ADC12MEMx里的數據*/

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

          {

          TXBUF1=Hex2ASCII(ADbit[j]);

          while ((UTCTL10x01)==0);

          }

          TXBUF1=‘ ‘; //輸出空格與下一組 ADC數據相間隔

          while ((UTCTL10x01)==0);

          }

          TXBUF1=13; //顯示數據之后換行,執行下一次循環顯示

          while ((UTCTL10x01)==0);

          ADC12CTL0 |= 0x02; } // 使能ADC轉換

          }

          真空計監視的真空設備的數據需要自動傳送給中央控制中心,以便實現實時監控。下面程序部分實現以MSP430 F149為核心的控制模塊自動將數據傳送給遠控的計算機。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凤山县| 乡宁县| 双鸭山市| 新巴尔虎右旗| 洪江市| 玛沁县| 专栏| 马鞍山市| 清远市| 南宁市| 紫阳县| 虹口区| 普陀区| 衢州市| 翼城县| 文安县| 宣化县| 墨玉县| 大姚县| 荔浦县| 固镇县| 稷山县| 历史| 德庆县| 福州市| 阿瓦提县| 海口市| 栾城县| 许昌县| 新营市| 洪泽县| 麻栗坡县| 长海县| 民县| 延安市| 二手房| 密山市| 勃利县| 泰州市| 监利县| 辉县市|