在YF-D160160數控雕銑機的數控系統軟件中,采用了前后臺型的多線程結構形式。前臺程序是一個實時中斷服務程序承擔了幾乎全部的實時功能,實現與機床動作直接相關的功能。前臺程序由系統主線程和定時器控制,主要完成界面管理、功能控制、系統管理等,并負責響應按鍵與界面輸入的數據,即實現管理層的功能。后臺程序是一個循環執行程序,承擔一些實時性能不高的功能如輸入,譯碼,數據處理等插補準備工作。后臺程序放在輔助線程中,負責進行數控代碼的編譯處理,向PMAC發送命令以及實時數據采集,實現了控制層的功能。在后臺程序循環運行的過程中,前臺的實時中斷程序不斷地定時插入,二者密切配合,共同完成零件的加工任務。
Windows CE是微軟公司開發的一個開放、可升級的32位嵌入式操作系統。Windows CE具有模塊化、結構化和基于Win32應用程序接口以及與處理器無關等特點。相對于DOS,Windows CE .NET是運行于保護模式的多線程32位操作系統,特別適合數控系統的多任務并行機制,而它的內存保護功能對于數控系統的穩定性具有重要意義。相對Windows桌面操作系統,WindowsCE.NET是嵌入式實時操作系統,其獨特體系結構和運行機制使其能夠快速響應外部中斷觸發,并調度相關應用程序進行處理,因此它可以滿足數控系統的實時性要求。
在已有的同類數控系統中,大多數系統是基于DOS環境的,其綜合性能相對于Windows環境就弱一些,尤其是人機交互界面、多任務以及開放性方面比較差。主從計算機間的實時信息交換通訊是實現上下位機間協調工作的關鍵。YF-D160160數控雕銑機的數控系統在實時性要求方面與機器人控制相似,如果使用Windows中專用的定時器控件Timer,雖然使用很方便,可以實現一定的定時功能,但最小計時精度僅為55ms,且定時器消息在多任務操作系統中的優先級很低,不能得到及時響應,無法滿足實時控制環境下的應用。所以考慮使用精度更高的多媒體定時器,它可以實現精度為1ms的高精度定時,可以滿足YF-D160160數控雕銑機的數控系統的實時性要求。多媒體定時器不依賴于消息機制,而是由函數TimerSetEvent()產生一個獨立的線程,在一定的中斷次數到達后,直接調用預先設置好的回調函數進行處理,而不必等到應用程序的消息隊列為空。因而設置該回調函數來完成周期掃描I/O卡的輸入端口,以及向系統定時發送消息,使其及時更新界面和界面中的數據。為提高系統的可靠性,多媒體定時器在整個控制程序初始化時開啟,并在系統退出時刪除定時器以釋放系統資源。每一個Windows應用程序都是一個進程,并由線程來負責執行包含在進程地址空間中的代碼。實際上,每個進程可以擁有多個線程,它們在進程的地址空間中“同時地”執行代碼。