3. 3軟PLC任務線程的調度
多線程程序是指在一個進程中同時運行多個線程,每個線程完成不同的任 務。采用多線程編程可充分利用進程中的共享資源、減少進程切換所需的資源切 換、從而大幅提升CPU的使用效率,多用于需要花大量時間處理以及處理大量 10數據等耗時的應用程序。
軟PLC運行系統主要是對I/O輸入輸出影響區的數據進行處理,采用多線 程編程可提升控制系統的性能,因此在程序啟動后主線程會為每個任務創建對應 的線程。然而通用PC機只有一個CPU,每一時刻只能執行一個任務線程,多個 線程之間通過快速地進行切換來實現運行。因此要實現軟PLC運行系統多任務 的并行運行就必須對任務線程進行調度,確保每個任務順序執行。下面在介紹操 作系統調度原理的基礎上給出本軟PLC系統的調度方法。
線程是操作系統的最小調度單位。對于通用PC機而言,計算機操作系統以 輪轉方式向每個任務線程提供運行時間片,利用“中斷”機制對線程的運行狀態 進行切換,從而確保每個任務線程都能得到CPU時間片而被執行。
軟PLC運行系統需要對系統管理任務、通信任務、程序執行任務以及I/O 讀寫任務進行調度。通信任務包括軟PLC與HMI進程的通訊任務、軟PLC與軟 CNC的通訊任務,I/O讀寫任務包括I/O讀任務和I/O寫任務。每個任務線程對 應就緒、運行、終止和阻塞四種狀態,因此對軟PLC運行系統多個任務的調度 可通過改變任務線程的狀態來實現。本文結合以下兩種方式對任務線程進行調 度。
直接調度
直接調度按任務執行的先后順序設定任務線程的優先級進行調度,使任務線 程隊列中的優先級最高的任務優先獲得CPU時間片而被操作系統調用執行。
RTX實時子系統提供了 128個線程優先級,其系統內核按照優先級從高到 低的順序安排任務線程占有CPU資源。由于采用搶占式調度算法,所以RTX允 許高優先級的任務打斷正在運行的低優先級任務線程,以此搶占對CPU的控制 權,這非常方便我們對軟PLC運行系統的每個任務線程進行調度和管理。
在軟PLC運行系統的設計過程中,系統任務管理線程負責軟PLC運行系統 所有任務的調度,不應被軟PLC系統中的其它任務線程所打斷,因此設置為第 一優先級。通訊任務線程和I/O讀寫任務線程用于提供操作數和指令,是執行用 戶程序的先決條件,所以設置為第二優先級。程序執行任務設置為第三優先級, 其中快速執行任務線程的優先級高于普通執行任務線程。
間接調度
間接調度采用同步對象進行調度,利用多個任務為爭奪同一臨界資源引起的 互斥來協調多任務的運行。也就是說只有獲得同步對象句柄的任務線程才能被執行,對共享資源進行操作,未獲得的任務線程只能等待同步對象被釋放。
RTX提供四種同步對象:信號量對象Semaphore、事件對象Event、互斥體 X寸象Mutex和共享內存對象SharedMemory。其中事件對象Event具有使用簡單、 易于實現多個任務的同步運行等優點,所以軟PLC運行系統為每個任務創建了 相應的事件對象,利用函數RtWaitForSingleObjectG等待單個事件對象的信號狀 態,以及函數RtWaitForSingleObjects〇等待多個事件對象的信號狀態。當等待時 間達到設定值時,改變當前執行線程的狀態,轉去執行獲得同步事件對象句柄的 任務線程,執行完返回當前任務線程繼續執行;若設定的等待時間為INFINITE, 則當前任務線程一直等待同步事件對象句柄。這使程序運行過程中只有一個任務 線程能夠操作數據共享區,從而保證數據訪問的安全性。
軟PLC運行系統創建的事件對象初始時都處于FALSE(無信號)狀態,在事 件被觸發后變為有信號狀態,事件所對應的任務線程獲得臨界區資源被執行,然 后利用RtResetEventG函數重置為無信號狀態,讓軟PLC運行系統觸發其它事件 對象,以此協調多任務的運行。軟PLC任務線程的調度過程如圖3.8所示。
本文采摘自“五軸數控加工中心軟PLC控制系統的研究”,因為編輯困難導致有些函數、表格、圖片、內容無法顯示,有需要者可以在網絡中查找相關文章!本文由伯特利數控整理發表文章均來自網絡僅供學習參考,轉載請注明!
2021-09
星瀚系列是宇匠數控打造的顛覆性產品,在高精度加工的情況下保證高速、高剛的特性,是真正意義的高速加工中心,其性能及質量可媲美進口高速加工中心。同時可配置超聲波系統與石墨集塵系統,亦可運用在陶瓷等硬脆料、石墨等高粉塵料的加工;… [了解更多]
2021-09
星瀚S系列是宇匠數控打造的顛覆性產品,采用全閉環設計,在高精度加工的情況下保證高速、高剛的特性,是真正意義的高速加工中心,其性能及質量可媲美進口高速加工中心。同時可配置超聲波系統與石墨集塵系統,亦可運用在陶瓷等硬脆料、石墨等高粉塵料的加工;… [了解更多]
2021-09
TC系列超聲波陶瓷雕銑機,是利用了超聲波高頻振動原理作用于刀具,使刀具產生了16KHz-40KHz(每秒16000-40000次)的連續高強度脈沖沖擊,帶動磨頭沖擊工作。當工件的局部應力遠遠超過材料脆裂極限,材料局部破碎去除。 適用范圍 特別適用于陶瓷(氧化鋯、氧化鋁、氮化鋁… [了解更多]
2020-10
1 問題的提出數控加工夾具是數控CNC機械制造加工過程中用來 固定加工對象,使之占有正確的位置,以滿足加工工藝條件、迅速、方便、安全地安裝工件的裝置。夾具通常由定位元件、夾緊裝置 、對刀引導元件、分度裝置、連接元件及夾具體等組成[1]。圖1所示零件是應用于系列礦用防爆電器產品上的… [了解更多]