柳德志
(南京華得瑞科技有限責任公司,江蘇 南京 210015)
某廠國外進口控制系統采用軟硬件純進口的方式,控制設備和控制應用軟件均為國外原產。由于技術的保密和壟斷,國外設備廠家不提供原有控制應用系統的安裝盤,只提供隨機鏡像文件,當系統故障后,廠家只能將鏡像文件直接恢復至新的工控機來恢復系統,而無法用一臺新的工控機經過安裝系統和控制應用軟件等這種常規方式恢復系統,沒有控制軟件的原始安裝文件,這種系統稱為“黑盒”系統。
隨著運行時間的增長,裝載控制應用軟件的工控機老化嚴重,老的工控機備件采購困難,新的工控機無法安裝原有控制軟件系統。國外廠家給出的方案是如果要升級控制應用系統軟件需要將原有控制系統整體升級,將需要升級底層的硬件系統,涉及的費用很高,周期很長。
原控制系統為軟件、工控機加硬件的結構,控制應用系統軟件為專用軟件安裝與一臺搭載Windows NT操作系統的工控機,控制應用系統軟件采用專用協議與硬件進行通信,具體結構如圖1。

圖1 系統結構圖
由于技術保密性的原因,目前國內還沒有完全掌握此控制系統的技術,隨著時間的推移,原工控機型號停產,新的工控機已經無法運行原廠家給出的鏡像文件,主要是Windows NT系統無法在新的工控機上運行,但是底層的硬件系統仍然在正常生產供貨,國外廠家給出的解決方案是把硬件系統和軟件系統一起升級,但是沒有備件的只是裝載軟件系統的工控機,一起升級造價太高,嚴重資源浪費。
通過測試發現原Windows NT系統的兼容性較強,對硬件要求很低,原控制軟件的體量較小,只是因為近年計算機硬件更新換代太快,造成Windows NT系統不支持新的計算機硬件。原系統只是通過以太網與外界進行通信,硬件系統只依賴于以太網卡。
國外廠家給的鏡像文件包含控制應用系統軟件、軟件的授權、網卡的驅動、專用通信軟件等一系列已經配置好的文件。測試發現,將此鏡像文件恢復到年代相同的工控機,只要將網卡驅動重新安裝,軟件就可以正常運行,也就是只要工控機的硬件能夠運行Windows NT系統,鏡像文件就能夠使用。
可以將原有“黑盒”系統不做分析,將其作為一個整體來使用,不分析內部軟件的構成,不需要內部軟件的原始安裝文件。
基于這一系列的技術測試,總結出兩種升級方案。
虛擬機指通過軟件模擬的出具有完整硬件系統功能的、運行在一個完全隔離環境中的完整計算機系統。在實體計算機中能夠完成的工作在虛擬機中都能夠實現。在計算機中創建虛擬機時,需要將實體機的部分硬盤和內存容量作為虛擬機的硬盤和內存容量。每個虛擬機都有獨立的CMOS、硬盤和操作系統,可以像使用實體機一樣對虛擬機進行操作[1]。
現有的虛擬機的虛擬化操作界面很友好,可以像操作實體機一樣來操作虛擬機,虛擬機內部的操作系統與實體機可以一致,也可以不一致,在同一個實體機上可以創建和運行多臺虛擬機。
因此,虛擬機成為解決硬件與軟件不匹配類問題的一個比較好的方法,這種方案已經被國內眾多廠家的使用。
虛擬機需要依存于一臺實體機內,因此使用虛擬機首先需要安裝一臺實體機。在一臺新的工控機內安裝Windows操作系統,安裝設備的驅動,使實體機能夠正常的工作。
在實體機內安裝虛擬機軟件,用虛擬機軟件創建一個Windows NT的虛擬機,用于Windows NT系統對硬件的開銷比較小,分配10 GB硬盤,256 MB內存就足夠了。
將國外廠家給的鏡像文件用鏡像軟件恢復到虛擬機內,啟動系統,安裝虛擬機的增強工具,使系統可以使用虛擬接自帶的虛擬硬件,包括網卡等,重新安裝網卡驅動,設置IP地址,新的控制系統就能夠正常運行。
處于對項目的嚴謹,綜合比較了幾款常用虛擬機軟件的長時間運行狀態。

表1 常用虛擬機軟件運行狀態對比表

表2 常用虛擬機軟件運行問題匯總表
由于Windows NT系統較為古老,在虛擬機內將Windows NT用系統升級安裝的方式升級到Windows 2000重新測試,測試結果如下。

表3 Windows NT升級到Windows 2000問題匯總表
綜合以上測試結果選擇Virtual Box虛擬機進行現場測試,經過現場長時間的運行,Virtual Box的虛擬機運行穩定,可以有效地在新的工控機上運行老控制應用系統,與宿主系統無縫結合,由于系統硬件更強,使系統運行更加順暢。但是仍然存在宿主機內存增長的情況,需要幾個月后重新將工控機關機重新啟動一次,釋放內存。
下面著重介紹另外一種方法,借助虛擬機進行操作系統的升級。
新的工控機能夠安裝新的操作系統是因為新的操作系統能夠支持新的硬件,如果能將“黑盒”系統的操作系統升級到較新的操作系統,那么這個“黑盒”系統就可以在新的工控機上運行[2]。
在虛擬機方案中已經測試過將“黑盒”系統的Windows NT操作系統升級到Windows 2000操作系統應用軟件仍然能夠正常運行,這是因為在Windows操作系統的升級安裝過程中會保留個人的文檔、原有系統安裝的軟件以及注冊表中的軟件注冊等內容。
由于老的工控機性能較差,在老工控機上可以運行Windows NT操作系統,但是升級操作系統運行困難;新的工控機性能較好,能夠完成升級操作系統的工作又無法運行老的Windows NT鏡像文件,因此陷入一個矛盾的境地。這種情況下,如果使用虛擬機的方式可以破解此困境。具體升級過程如圖2所示。過程比較清晰,但是具體實施過程中會出現一些意料之外的情況,根據實施經驗總結如下。

圖2 操作過程示意圖
從原老工控機中用軟件產生鏡像文件,由于原工控機較為古老,將硬盤拆到一臺新的計算機上用鏡像軟件進行操作會方便得多。
在一臺性能較好的工控機中正常安裝Windows操作系統,安裝驅動程序,安裝虛擬機軟件,并建立一個虛擬機。
通過前期的經驗總結,由于各種虛擬機內虛擬的硬件各不相同,因此在系統升級的過程中也會出現不同的問題,Virtual Box的硬件兼容性比較好,后面的操作均在Virtual Box虛擬機內進行,VMware Workstation在升級操作中會出現升級后重新啟動藍屏的現象。
將鏡像還原到用Virtual Box建立的虛擬機中,虛擬機的建立可以選擇較大的硬盤和內存方便后面系統的升級。
將Windows 2000的ISO文件加載到虛擬機的光驅中,進入Windows NT系統后,運行光盤文件,選擇升級到Windows 2000系統。
原Windows NT系統的鏡像文件的硬盤格式是FAT32的,因此在升級到Windows 2000的過程中需要將硬件格式轉換成NTFS。
在虛擬機中加載新的操作系統進行操作系統的升級安裝,依次進行Wi ndows NT→Wi ndows 2000→Windows XP→Windows vista→Windows 7,
直到最后Windows 7操作系統升級完成。
在Windows XP升級到Windows vista系統過程中可能會提示更新失敗,是因為硬盤不夠大,需要用軟件將硬件調整到30 GB就可以正常升級。
在所有升級過程中都會進行兼容性檢查,一般出現的不兼容問題都是硬件驅動問題,可以不用理會繼續升級。
在升級過程中也會出現移動鼠標藍屏的現象,這個是因為虛擬機對硬件兼容性的問題,可以使用鍵盤完成升級安裝。
因為所有的中間態操作系統都是過渡,因此每次升級系統均不需要安裝驅動軟件,也不需要安裝虛擬機的增強工具。
將已經升級到Windows 7系統的虛擬機用鏡像軟件產生鏡像文件,將鏡像文件恢復到新的工控機中。
在新的工控機重新安裝系統硬件的驅動程序,并調整顯示分辨率,網卡IP等,使原有控制軟件適應新的系統。
經測試新的控制軟件能夠正常運行,原有的設置均保持不變。經現場長時間運行,沒有發現異常情況。
Windows操作系統的運行需要硬件設備的支撐,由于操作系統更新較快,刪除了一些老舊的硬件設備的驅動程序,而且新的系統性能越來越好,但是對硬件資源的需求越來越高,所以出現了老的工控機上無法安裝新操作系統的問題。
老的操作系統由于缺少新的硬件的驅動程序,因此也無法安裝在新的工控機上。
由于虛擬機硬件調整方便,所以用它作為載體來運行不同的操作系統較為方便,最終是要在實體機上運行的,所以虛擬機只是一個外殼,這是一個“借尸還魂”的操作。充分利用了虛擬機調整方便和兼容性好的優點來實現項目的目標。
兩種方式都能實現“黑盒”控制系統的升級,虛擬化的方式是一種常用手段,能夠滿足絕大部分應用的需求,但是存在運行過程中虛擬機軟件占用系統內存和運行人員會意外關閉虛擬機軟件的風險;從利用虛擬機升級到最新的系統,然后再鏡像回工控機的方式能夠真正地實現控制系統的升級,但是也有他的局限性,這種方式要求原應用軟件對系統依賴較低,而且原系統試32位的,新系統只能升級到32位,對原應用軟件的兼容性要求較高。
虛擬化的方式是常規方式,利用虛擬機升級的方式是一種參考,在原應用軟件允許的基礎上可以進行一些嘗試,能夠實現出比虛擬化更好的效果。
無論采用何種方式,均能節約資金,延長控制系統的壽命,并為很多系統的國產化爭取了時間,在升級過程中會對原有控制系統更加了解,為一些進口設備的國產化奠定技術基礎。■