柳德志
(南京華得瑞科技有限責任公司,江蘇 南京 210015)
某廠國外進口控制系統(tǒng)采用軟硬件純進口的方式,控制設備和控制應用軟件均為國外原產。由于技術的保密和壟斷,國外設備廠家不提供原有控制應用系統(tǒng)的安裝盤,只提供隨機鏡像文件,當系統(tǒng)故障后,廠家只能將鏡像文件直接恢復至新的工控機來恢復系統(tǒng),而無法用一臺新的工控機經過安裝系統(tǒng)和控制應用軟件等這種常規(guī)方式恢復系統(tǒng),沒有控制軟件的原始安裝文件,這種系統(tǒng)稱為“黑盒”系統(tǒng)。
隨著運行時間的增長,裝載控制應用軟件的工控機老化嚴重,老的工控機備件采購困難,新的工控機無法安裝原有控制軟件系統(tǒng)。國外廠家給出的方案是如果要升級控制應用系統(tǒng)軟件需要將原有控制系統(tǒng)整體升級,將需要升級底層的硬件系統(tǒng),涉及的費用很高,周期很長。
原控制系統(tǒng)為軟件、工控機加硬件的結構,控制應用系統(tǒng)軟件為專用軟件安裝與一臺搭載Windows NT操作系統(tǒng)的工控機,控制應用系統(tǒng)軟件采用專用協(xié)議與硬件進行通信,具體結構如圖1。
圖1 系統(tǒng)結構圖
由于技術保密性的原因,目前國內還沒有完全掌握此控制系統(tǒng)的技術,隨著時間的推移,原工控機型號停產,新的工控機已經無法運行原廠家給出的鏡像文件,主要是Windows NT系統(tǒng)無法在新的工控機上運行,但是底層的硬件系統(tǒng)仍然在正常生產供貨,國外廠家給出的解決方案是把硬件系統(tǒng)和軟件系統(tǒng)一起升級,但是沒有備件的只是裝載軟件系統(tǒng)的工控機,一起升級造價太高,嚴重資源浪費。
通過測試發(fā)現(xiàn)原Windows NT系統(tǒng)的兼容性較強,對硬件要求很低,原控制軟件的體量較小,只是因為近年計算機硬件更新?lián)Q代太快,造成Windows NT系統(tǒng)不支持新的計算機硬件。原系統(tǒng)只是通過以太網(wǎng)與外界進行通信,硬件系統(tǒng)只依賴于以太網(wǎng)卡。
國外廠家給的鏡像文件包含控制應用系統(tǒng)軟件、軟件的授權、網(wǎng)卡的驅動、專用通信軟件等一系列已經配置好的文件。測試發(fā)現(xiàn),將此鏡像文件恢復到年代相同的工控機,只要將網(wǎng)卡驅動重新安裝,軟件就可以正常運行,也就是只要工控機的硬件能夠運行Windows NT系統(tǒng),鏡像文件就能夠使用。
可以將原有“黑盒”系統(tǒng)不做分析,將其作為一個整體來使用,不分析內部軟件的構成,不需要內部軟件的原始安裝文件。
基于這一系列的技術測試,總結出兩種升級方案。
虛擬機指通過軟件模擬的出具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)。在實體計算機中能夠完成的工作在虛擬機中都能夠實現(xiàn)。在計算機中創(chuàng)建虛擬機時,需要將實體機的部分硬盤和內存容量作為虛擬機的硬盤和內存容量。每個虛擬機都有獨立的CMOS、硬盤和操作系統(tǒng),可以像使用實體機一樣對虛擬機進行操作[1]。
現(xiàn)有的虛擬機的虛擬化操作界面很友好,可以像操作實體機一樣來操作虛擬機,虛擬機內部的操作系統(tǒng)與實體機可以一致,也可以不一致,在同一個實體機上可以創(chuàng)建和運行多臺虛擬機。
因此,虛擬機成為解決硬件與軟件不匹配類問題的一個比較好的方法,這種方案已經被國內眾多廠家的使用。
虛擬機需要依存于一臺實體機內,因此使用虛擬機首先需要安裝一臺實體機。在一臺新的工控機內安裝Windows操作系統(tǒng),安裝設備的驅動,使實體機能夠正常的工作。
在實體機內安裝虛擬機軟件,用虛擬機軟件創(chuàng)建一個Windows NT的虛擬機,用于Windows NT系統(tǒng)對硬件的開銷比較小,分配10 GB硬盤,256 MB內存就足夠了。
將國外廠家給的鏡像文件用鏡像軟件恢復到虛擬機內,啟動系統(tǒng),安裝虛擬機的增強工具,使系統(tǒng)可以使用虛擬接自帶的虛擬硬件,包括網(wǎng)卡等,重新安裝網(wǎng)卡驅動,設置IP地址,新的控制系統(tǒng)就能夠正常運行。
處于對項目的嚴謹,綜合比較了幾款常用虛擬機軟件的長時間運行狀態(tài)。
表1 常用虛擬機軟件運行狀態(tài)對比表
表2 常用虛擬機軟件運行問題匯總表
由于Windows NT系統(tǒng)較為古老,在虛擬機內將Windows NT用系統(tǒng)升級安裝的方式升級到Windows 2000重新測試,測試結果如下。
表3 Windows NT升級到Windows 2000問題匯總表
綜合以上測試結果選擇Virtual Box虛擬機進行現(xiàn)場測試,經過現(xiàn)場長時間的運行,Virtual Box的虛擬機運行穩(wěn)定,可以有效地在新的工控機上運行老控制應用系統(tǒng),與宿主系統(tǒng)無縫結合,由于系統(tǒng)硬件更強,使系統(tǒng)運行更加順暢。但是仍然存在宿主機內存增長的情況,需要幾個月后重新將工控機關機重新啟動一次,釋放內存。
下面著重介紹另外一種方法,借助虛擬機進行操作系統(tǒng)的升級。
新的工控機能夠安裝新的操作系統(tǒng)是因為新的操作系統(tǒng)能夠支持新的硬件,如果能將“黑盒”系統(tǒng)的操作系統(tǒng)升級到較新的操作系統(tǒng),那么這個“黑盒”系統(tǒng)就可以在新的工控機上運行[2]。
在虛擬機方案中已經測試過將“黑盒”系統(tǒng)的Windows NT操作系統(tǒng)升級到Windows 2000操作系統(tǒng)應用軟件仍然能夠正常運行,這是因為在Windows操作系統(tǒng)的升級安裝過程中會保留個人的文檔、原有系統(tǒng)安裝的軟件以及注冊表中的軟件注冊等內容。
由于老的工控機性能較差,在老工控機上可以運行Windows NT操作系統(tǒng),但是升級操作系統(tǒng)運行困難;新的工控機性能較好,能夠完成升級操作系統(tǒng)的工作又無法運行老的Windows NT鏡像文件,因此陷入一個矛盾的境地。這種情況下,如果使用虛擬機的方式可以破解此困境。具體升級過程如圖2所示。過程比較清晰,但是具體實施過程中會出現(xiàn)一些意料之外的情況,根據(jù)實施經驗總結如下。
圖2 操作過程示意圖
從原老工控機中用軟件產生鏡像文件,由于原工控機較為古老,將硬盤拆到一臺新的計算機上用鏡像軟件進行操作會方便得多。
在一臺性能較好的工控機中正常安裝Windows操作系統(tǒng),安裝驅動程序,安裝虛擬機軟件,并建立一個虛擬機。
通過前期的經驗總結,由于各種虛擬機內虛擬的硬件各不相同,因此在系統(tǒng)升級的過程中也會出現(xiàn)不同的問題,Virtual Box的硬件兼容性比較好,后面的操作均在Virtual Box虛擬機內進行,VMware Workstation在升級操作中會出現(xiàn)升級后重新啟動藍屏的現(xiàn)象。
將鏡像還原到用Virtual Box建立的虛擬機中,虛擬機的建立可以選擇較大的硬盤和內存方便后面系統(tǒng)的升級。
將Windows 2000的ISO文件加載到虛擬機的光驅中,進入Windows NT系統(tǒng)后,運行光盤文件,選擇升級到Windows 2000系統(tǒng)。
原Windows NT系統(tǒng)的鏡像文件的硬盤格式是FAT32的,因此在升級到Windows 2000的過程中需要將硬件格式轉換成NTFS。
在虛擬機中加載新的操作系統(tǒng)進行操作系統(tǒng)的升級安裝,依次進行Wi ndows NT→Wi ndows 2000→Windows XP→Windows vista→Windows 7,
直到最后Windows 7操作系統(tǒng)升級完成。
在Windows XP升級到Windows vista系統(tǒng)過程中可能會提示更新失敗,是因為硬盤不夠大,需要用軟件將硬件調整到30 GB就可以正常升級。
在所有升級過程中都會進行兼容性檢查,一般出現(xiàn)的不兼容問題都是硬件驅動問題,可以不用理會繼續(xù)升級。
在升級過程中也會出現(xiàn)移動鼠標藍屏的現(xiàn)象,這個是因為虛擬機對硬件兼容性的問題,可以使用鍵盤完成升級安裝。
因為所有的中間態(tài)操作系統(tǒng)都是過渡,因此每次升級系統(tǒng)均不需要安裝驅動軟件,也不需要安裝虛擬機的增強工具。
將已經升級到Windows 7系統(tǒng)的虛擬機用鏡像軟件產生鏡像文件,將鏡像文件恢復到新的工控機中。
在新的工控機重新安裝系統(tǒng)硬件的驅動程序,并調整顯示分辨率,網(wǎng)卡IP等,使原有控制軟件適應新的系統(tǒng)。
經測試新的控制軟件能夠正常運行,原有的設置均保持不變。經現(xiàn)場長時間運行,沒有發(fā)現(xiàn)異常情況。
Windows操作系統(tǒng)的運行需要硬件設備的支撐,由于操作系統(tǒng)更新較快,刪除了一些老舊的硬件設備的驅動程序,而且新的系統(tǒng)性能越來越好,但是對硬件資源的需求越來越高,所以出現(xiàn)了老的工控機上無法安裝新操作系統(tǒng)的問題。
老的操作系統(tǒng)由于缺少新的硬件的驅動程序,因此也無法安裝在新的工控機上。
由于虛擬機硬件調整方便,所以用它作為載體來運行不同的操作系統(tǒng)較為方便,最終是要在實體機上運行的,所以虛擬機只是一個外殼,這是一個“借尸還魂”的操作。充分利用了虛擬機調整方便和兼容性好的優(yōu)點來實現(xiàn)項目的目標。
兩種方式都能實現(xiàn)“黑盒”控制系統(tǒng)的升級,虛擬化的方式是一種常用手段,能夠滿足絕大部分應用的需求,但是存在運行過程中虛擬機軟件占用系統(tǒng)內存和運行人員會意外關閉虛擬機軟件的風險;從利用虛擬機升級到最新的系統(tǒng),然后再鏡像回工控機的方式能夠真正地實現(xiàn)控制系統(tǒng)的升級,但是也有他的局限性,這種方式要求原應用軟件對系統(tǒng)依賴較低,而且原系統(tǒng)試32位的,新系統(tǒng)只能升級到32位,對原應用軟件的兼容性要求較高。
虛擬化的方式是常規(guī)方式,利用虛擬機升級的方式是一種參考,在原應用軟件允許的基礎上可以進行一些嘗試,能夠實現(xiàn)出比虛擬化更好的效果。
無論采用何種方式,均能節(jié)約資金,延長控制系統(tǒng)的壽命,并為很多系統(tǒng)的國產化爭取了時間,在升級過程中會對原有控制系統(tǒng)更加了解,為一些進口設備的國產化奠定技術基礎?!?/p>