基于虛擬機技術的DCS仿真系統(tǒng)設計與實現
而基于虛擬機技術的DCS仿真系統(tǒng)則是把仿真目標放在了控制器本身,而不是控制器程序。在PC中實現一個虛擬的主控制器,控制器程序可以直接運行在虛擬控制器中,使得控制器程序的升級只需要簡單的替換鏡像文件。只有當硬件出現升級的時候,才需要對虛擬控制器進行升級。硬件穩(wěn)定性相對較高,不會出現頻繁地升級。
Level 0的硬件模塊內部邏輯比較簡單,可以使用LabVIEW實現虛擬設備。虛擬控制器將輸出值傳送給虛擬設備,最終虛擬設備根據輸出值在顯示面板中作相應的顯示,同時虛擬設備也可以將自身的某些值傳給虛擬控制器。
綜上所述,整個基于虛擬機技術的DCS仿真系統(tǒng),是由Level 2的實際軟件、Level 1虛擬控制器以及實際的控制器軟件和Level 0虛擬設備模塊組成。由此可以看出,難點是虛擬控制器的實現。
3 虛擬控制器的實現
虛擬機的實現主要有兩種方式:(1)主要由軟件完全模擬目標平臺的每一條指令,所以稱為指令集虛擬機ISA(Instruction Set Architecture),又因為是完全模擬所以又稱模擬器;(2)借助于特定平臺和OS環(huán)境,利用VMM(Virtual Machine Monitor)程序為用戶提供一個高效的虛擬執(zhí)行環(huán)境,其主要特點就是執(zhí)行效率高。由于使用了宿主操作系統(tǒng)的特性對功能進行了虛擬,所以稱為功能級或者抽象級虛擬機,也屬于一種仿真技術[2-3]。
目前控制器的結構主要包括了CPU、內存、網卡、Flash、DOC、雙口RAM、SRAM以及各種端口。其中許多特定的硬件需要模擬,所以選擇指令集虛擬機技術設計虛擬控制器。圖2所示為虛擬控制器的結構圖。

圖2中各個模塊完全按照現實控制器進行劃分和設計。
(1)CPU模塊包括實現指令的模擬和各個寄存器的實現。
(2)內存模塊主要實現內存的模擬,其大小在虛擬控制器啟動時確定,運行期間不能改變。
(3)網卡模塊主要實現虛擬控制器的網卡,使得虛擬控制器可以通過網絡發(fā)送和接收數據。
(4)存儲模塊相當于實現了虛擬機的存儲介質,例如Flash、DOC、電子盤等。
(5)SRAM模塊實現控制器用于掉電保護的SRAM,并用于虛擬機的數據掉電保護。
(6)雙口RAM模塊主要模擬控制器與DP主卡交互數據的雙口RAM。
(7)端口模塊實現控制器上的各個端口,虛擬控制器需要從端口讀取站號,單雙機狀態(tài)、LED燈狀態(tài)和其他狀態(tài)。
(8)顯示模塊主要模擬類似顯示器的作用。
(9)主板模塊在整個虛擬控制器起著協調作用,具有配置整個虛擬控制器的硬件特性,其中還包括定時器。
評論