基于高檔數控的實時多任務實現
在線程優先級設置中,通信線程的優先級最高,這使得通信線程在需要CPU時間片等資源時,能夠順利的搶占其他線程的資源,保證上下位機的通信順暢,使下位機在加工時能夠平穩的實現進程,并且使下位機在出現異常情況時能及時通知上位機。由于通信這一動作是依照某種頻率進行的,因此通信線程不會一直占用CPU資源,從而不會因為它的優先級高使其他線程無法運行。
具體實現原理架構如圖1所示。本文引用地址:http://www.104case.com/article/162207.htm
2.2 系統線程的具體實現
Delphi提供了許多與多線程編程相關的組件,其中最重要的是Tthread類,本文就是利用它來實現多線程編程。該類封裝了大多數與線程相關的方法,使用Tthread類大大簡化了多線程程序的開發步驟。Tthread類是一個抽象類,不可以直接創建它的實例,但是可以創建它的派生類。創建方法在Delphi菜單中依次選擇“File”→“New”→“Other”→“New”,選擇“Thread Object”項,在對話框中輸入新的線程類的名稱,確認后即創建了一個新的線程類:
其中:“private”及“protected”用來定義變量和程序函數,“procedure Execute;override;”是線程函數,用來編寫線程的執行部分。同時Delphi還提供了各種函數用來運行和終止線程等。創建了線程的派生類后可以生成該類的對象,來表示應用程序的執行線程。各個線程創建好后將NC的解釋程序、通信程序等放在各自線程函數內,再創建線程的對象,設置幾個線程就生成幾個對象,在對象內編寫打開或終止線程等函數來控制線程的運行。
3 結語
基于Windows平臺的高檔數控實時操作系統的開發,實現了不僅能向Windows平臺添加實時功能,而且使這些實時功能具有很好的可擴展性。本課題下步的目標是將此實時系統的設計實現在Windows XPEmbedded平臺上,使其具備高檔數控系統需要的嵌入式設備的特性。
評論