綜合系統(tǒng)設(shè)計(jì)
新型控制系統(tǒng)使用九臺(tái)在Windows 2000下運(yùn)行LabVIEW的Pentium-III PC、FieldPoint I/O硬件、PCI-6602定時(shí)硬件、Delta Tau運(yùn)動(dòng)控制硬件以及以太網(wǎng)通信設(shè)備。最終的系統(tǒng)具有友好的用戶操作員界面,并且所使用的設(shè)備在維護(hù)和升級(jí)方面不僅更加方便而且成本也更低。
我們選擇以太網(wǎng)作為通信,是因?yàn)樗哪陀眯砸约捌湓诠I(yè)網(wǎng)絡(luò)與商業(yè)網(wǎng)絡(luò)已經(jīng)被廣泛使用。一臺(tái)交換式集線器連接所有控制系統(tǒng)內(nèi)所有的PC以及所有六臺(tái)FieldPoint FP-2000網(wǎng)絡(luò)模塊。該網(wǎng)絡(luò)與其它網(wǎng)絡(luò)隔離,從而提高了系統(tǒng)的穩(wěn)定性與安全性。在其中一臺(tái)PC上運(yùn)行DataSocket服務(wù)器,為九臺(tái)聯(lián)網(wǎng)PC之間提供通信平臺(tái)。每一臺(tái)PC都有對(duì)一個(gè)DataSocket數(shù)據(jù)集的寫權(quán)限,而所有九臺(tái)PC都可以讀取任何一個(gè)數(shù)據(jù)集的數(shù)據(jù)。
環(huán)形鐵心研究反應(yīng)堆控制系統(tǒng)的軟件使用LabVIEW 6.1編寫,便于修改、維護(hù)、部署到聯(lián)網(wǎng)的多臺(tái)PC中。
信號(hào)映射與比例變換
我們建立了一個(gè)信號(hào)數(shù)據(jù)表,將標(biāo)簽名稱與FieldPoint I/O通道或DataSocket變量進(jìn)行映射。在完成編輯后,我們將數(shù)據(jù)表保存為用TAB作為分界符的文本文件,供LabVIEW在每次啟動(dòng)時(shí)讀取。其后,LabVIEW將標(biāo)簽名稱映射為適當(dāng)?shù)挠布駾ataSocket通道。電子表還包括高達(dá)5階多項(xiàng)式的單位轉(zhuǎn)換能力,可以將FieldPoint原始數(shù)據(jù)轉(zhuǎn)換為工程單位。我們發(fā)現(xiàn)使用信號(hào)數(shù)據(jù)表十分靈活,因?yàn)槭褂脭?shù)據(jù)表,我們可以方便地編輯信號(hào)名稱、位置以及單位換算,而不用修改LabVIEW代碼。在工作臺(tái)測試中,F(xiàn)ieldPoint設(shè)置與我們計(jì)劃使用的現(xiàn)場有所不同。我們可以方便地修改信號(hào)列表,將I/O通道與可用的FieldPoint硬件進(jìn)行映射,從而使得對(duì)個(gè)別組件的軟件測試成為可能。
I/O仿真器
我們編寫了一個(gè)LabVIEW I/O仿真器,可以不使用硬件完成軟件測試。如果在settings.ini文本文件中關(guān)閉了硬件,我們可以設(shè)置LabVIEW FieldPoint和DataSocket I/O VI讀取和寫入仿真I/O信號(hào)。仿真器VI導(dǎo)入輸入信號(hào),并返回輸出信號(hào)。我們沒有連接硬件,就可以完成軟件測試。這個(gè)方法對(duì)FieldPoint和DataSocket信號(hào)都適用,對(duì)數(shù)字信號(hào)和數(shù)值信號(hào)也都適用。仿真器VI使用由TAB作為分界符的文本文件進(jìn)行保存和載入,方便調(diào)用不同的仿真設(shè)置。由于這些文件兼容電子表格格式,我們還可以使用Excel編輯這些設(shè)置。
所有九臺(tái)PC使用一個(gè)應(yīng)用程序
為九臺(tái)獨(dú)立的PC維護(hù)代碼、創(chuàng)建LabVIEW可執(zhí)行文件是一件困難的事情。各臺(tái)PC上大部分代碼是相同的。其中的困難在于我們需要九臺(tái)PC同時(shí)提供多個(gè)用戶接口——而不是因?yàn)榇a量過大。我們將軟件設(shè)計(jì)為單個(gè)程序進(jìn)行運(yùn)行,根各臺(tái)計(jì)算機(jī)的要求,分別顯示不同的程序。在啟動(dòng)時(shí),程序檢查本地的settings.ini文件進(jìn)行自身身份獲取。其后,軟件載入適當(dāng)?shù)挠脩艚缑妫⑶疫\(yùn)行該計(jì)算機(jī)所需要的I/O程序。通過這種方法,九臺(tái)PC機(jī)上只需發(fā)布和維護(hù)一個(gè)LabVIEW程序。兩臺(tái)運(yùn)動(dòng)控制計(jì)算機(jī)被放置在離控制室約100英尺的地方,一般不使用它們進(jìn)行顯示。由于這些計(jì)算機(jī)包含相同的LabVIEW代碼,我們可以方便地從其他七臺(tái)計(jì)算機(jī)上,以只讀方式運(yùn)行其用戶圖形界面。這樣,我們不回到控制室也可以方便地查看不同的參數(shù)了。
軟件健壯性與看門狗
系統(tǒng)使用離散邏輯硬件或NI PCI-6602定時(shí)板卡處理對(duì)時(shí)間要求嚴(yán)格的操作。程序的掃描時(shí)間更新以及相關(guān)的循環(huán)圖形顯示在每一臺(tái)屏幕上,就表明LabVIEW代碼工作正常。環(huán)形鐵心研究反應(yīng)堆的主計(jì)算機(jī)控制系統(tǒng)以50 ms的循環(huán)周期進(jìn)行工作。九臺(tái)計(jì)算機(jī)中的三臺(tái)不斷地互相監(jiān)視,并具有看門狗關(guān)閉功能。如果三臺(tái)計(jì)算機(jī)中的任何一臺(tái)沒有每隔一秒通過DataSocket更新看門狗,另外兩臺(tái)計(jì)算機(jī)就會(huì)啟動(dòng)看門狗關(guān)閉功能,中止反應(yīng)堆工作。這就防止了計(jì)算機(jī)崩潰以及網(wǎng)絡(luò)故障等問題。在這個(gè)系統(tǒng)中,我們不需要FieldPoint實(shí)時(shí)功能,但我們安裝了FP-2000實(shí)時(shí)模塊,以便將來進(jìn)行升級(jí)。請(qǐng)注意我們使用獨(dú)立的電站保護(hù)系統(tǒng)確保反應(yīng)堆的安全,而不管控制系統(tǒng)是否出現(xiàn)異常或工作故障。
堅(jiān)固的、便于維護(hù)的控制系統(tǒng)
綜上所述,我們安裝了一個(gè)堅(jiān)固的、易于維護(hù)的控制系統(tǒng),用于替換位于Sandia國家實(shí)驗(yàn)室的環(huán)形鐵心研究反應(yīng)堆的陳舊控制系統(tǒng)。新型系統(tǒng)提供了更美觀、更直觀的用戶界面,便于修改的基于LabVIEW的軟件以及成本低廉、便于維護(hù)的先進(jìn)NI硬件。與使用C對(duì)原系統(tǒng)相編程所花費(fèi)的時(shí)間相比,使用LabVIEW編寫新型系統(tǒng)將軟件開發(fā)時(shí)間降低到十分之一。