許廣柱,吳錦鳳
(西安航天動力試驗技術研究所,陜西西安710100)
工業控制在很多方面都有實時性的要求,如今,絕大部分工業控制軟件都是基于Windows操作系統設計編制的,如何在多任務的Windows系統上實現實時控制是很多工業程序員頭疼的問題。多年來,有的控制系統以編程極不便利的DOS操作系統為平臺開發設計控制方案,有的購買價格昂貴的實時操作系統設計開發,不但需要人員再培訓,且設計開發周期長。新建的XXX試車臺控制系統,使用了成本相對低廉、實時性較好的嵌入式WinCE5操作系統進行設計。由于WinCE系統仍然是以Windows為核心,即多任務操作系統,實時性方面同樣存在問題。因此,本文就此操作系統下的實時控制提供一套系統解決方案并論述軟件框架的擴展和應用。
WinCE操作系統是多任務系統,就是在“同一時間段內可以同時執行”多個應用軟件,完成多個任務。其實,所謂“同一時間段內同時執行”是相對于使用者感覺而言的。事實上,在同一個時刻WinCE只能夠完成一個指令,使用者感覺是“同時”,是因為WinCE給每個線程分配毫秒級的時間片,并按每線程優先級來依次執行操作,由于時間片很短,人眼睛是不能分辨執行順序的,所以造成了“同時執行”的錯覺,正因為這種時間片分配來執行不同任務的特性,導致了WinCE操作系統不能完成完全性質的實時性控制。
進程:一個進程通常定義為程序的一個實例。……