<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于高檔數控的實(shí)時(shí)多任務(wù)實(shí)現

基于高檔數控的實(shí)時(shí)多任務(wù)實(shí)現

作者: 時(shí)間:2011-04-07 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:為了解決系統對控制軟件性的要求,提出了分時(shí)并行處理的設計方法,以環(huán)境下多線(xiàn)程技術(shù)的原理為依據,用Delphi提供的多線(xiàn)程編程組件完成了系統線(xiàn)程的具體,并且以開(kāi)發(fā)實(shí)例的方式給出了多線(xiàn)程技術(shù)在系統響應中的應用。實(shí)時(shí)多,顯著(zhù)提高了CPU的利用率,并使系統的可靠性得到了保證。
關(guān)鍵詞:系統;分時(shí)并行處理;實(shí)時(shí)控制;多線(xiàn)程技術(shù)

0 引言
實(shí)時(shí)性是數控系統一項重要的性能指標。
通信在IPC(Industrial Personal Computer)與運動(dòng)控制器構成的開(kāi)放式數控系統開(kāi)發(fā)平臺上,雖然這種主從式結構,確保了運動(dòng)控制指令在運動(dòng)控制器內高速、實(shí)時(shí)的被執行,但在PC平臺上,仍需要完成諸如實(shí)時(shí)顯示、預處理計算、系統狀態(tài)監控等許多。為了保證系統的實(shí)時(shí)性能,擬采用多線(xiàn)程技術(shù),通過(guò)多并行處理的方式,提高系統實(shí)時(shí)性。

1 進(jìn)程與線(xiàn)程以及多線(xiàn)程技術(shù)
Windows操作系統既支持多進(jìn)程,又支持多線(xiàn)程。一個(gè)進(jìn)程就是應用程序的一個(gè)實(shí)例,一次執行過(guò)程也就是調入內存準備執行的程序,包括當前執行的應用程序的執行代碼和程序執行相關(guān)的一些環(huán)境信息。每個(gè)進(jìn)程擁有整臺計算機的資源,無(wú)須知道其他進(jìn)程在計算機中的信息。通常每個(gè)進(jìn)程至少有一個(gè)線(xiàn)程在執行所屬地址空間中的代碼,該線(xiàn)程稱(chēng)為主線(xiàn)程,如果該主線(xiàn)程運行結束,系統將自動(dòng)清除進(jìn)程及其他地址空間。
線(xiàn)程是進(jìn)程內部執行的路徑,是操作系統分配CPU時(shí)間的基本實(shí)體,是程序運行的最小單位。每個(gè)進(jìn)程都由主線(xiàn)程開(kāi)始進(jìn)行應用程序的執行。線(xiàn)程由一個(gè)堆棧、CPU寄存器的狀態(tài)和系統調用列表中的一個(gè)人口組成。每個(gè)進(jìn)程可以包含一個(gè)以上的線(xiàn)程,這些線(xiàn)程可以同時(shí)獨立地執行進(jìn)程地址空間中的代碼,共享進(jìn)程中的所有資源。
Windows系統分配處理器時(shí)間的最小單位是線(xiàn)程,系統不停地在各個(gè)線(xiàn)程之間切換。在PC機中,同一時(shí)間只有一個(gè)線(xiàn)程在運行。通常系統為每個(gè)線(xiàn)程劃分的時(shí)間片很小(ms級別),這樣快速系統的實(shí)時(shí)性就有了保障。
要實(shí)現多線(xiàn)程編程,可建立輔助線(xiàn)程(Worker Thread)和用戶(hù)界面線(xiàn)程(User Interface Thread)。輔助線(xiàn)程主要用來(lái)執行數控程序、坐標顯示、動(dòng)態(tài)仿真和數據預處理;用戶(hù)界面線(xiàn)程用來(lái)處理用戶(hù)的輸入,響應用戶(hù)產(chǎn)生的事件和消息。

2 實(shí)時(shí)多任務(wù)的實(shí)現
數控系統軟件具有實(shí)時(shí)性和多任務(wù)兩大特點(diǎn)。數控系統中要管理和控制的任務(wù)很多,如當數控系統正處于加工控制狀態(tài)時(shí),為了保證加工的連續性,在各個(gè)程序段之間不停頓,各數控加工程序段的預處理、插補計算、位置控制和各種輔助控制任務(wù)都要及時(shí)進(jìn)行;為了使操作人員及時(shí)了解和干預數控系統的工作狀態(tài),系統在執行加工任務(wù)的同時(shí)還應該及時(shí)進(jìn)行一些人機交互工作,即顯示加工狀態(tài)、接收操作人員通過(guò)操作面板輸入的各種改變系統狀態(tài)的控制信號等。為了及時(shí)檢查和預報軟、硬件的各種故障,系統在運行控制程序和人機交互程序同時(shí)還要及時(shí)運行診斷程序;此外,系統還可能被要求及時(shí)完成通信等其他任務(wù)??梢?jiàn),理想的數控程序,應具有實(shí)時(shí)多任務(wù)的處理能力。
針對數控系統軟件的實(shí)時(shí)性和多任務(wù)性?xún)纱筇攸c(diǎn),采用分時(shí)并行處理技術(shù)來(lái)確定數控系統軟件結構。分時(shí)并行處理技術(shù)是指一個(gè)處理器同時(shí)完成多種任務(wù)。系統用時(shí)間片輪換的方式處理和完成各任務(wù),即按照某種輪換次序給每個(gè)任務(wù)分配一段CPU時(shí)間進(jìn)行各任務(wù)的處理。從微觀(guān)上看,各任務(wù)分時(shí)占用CPU;從宏觀(guān)的角度來(lái)看,在一段時(shí)間內,CPU并行完成了多個(gè)任務(wù)。在軟件設計中,利用Windows的多線(xiàn)程技術(shù)以“資源分時(shí)共享”為原則,有效地解決CNC系統的實(shí)時(shí)多任務(wù)問(wèn)題。應用優(yōu)先級搶占方式來(lái)進(jìn)行線(xiàn)程調度,以滿(mǎn)足系統的實(shí)時(shí)性要求,利用時(shí)間重疊和資源共享的方法來(lái)實(shí)現并行處理。
2.1 系統線(xiàn)程的總體設計
Windows提供兩種線(xiàn)程,輔助線(xiàn)程和主線(xiàn)程。主線(xiàn)程有窗口,因此它有自己的消息循環(huán),可以處理消息,使程序能夠迅速響應命令和其他事件;輔助線(xiàn)程沒(méi)有窗口,所以它不需要處理消息。它可用于完成一些費時(shí)的工作,以免在由主線(xiàn)程處理這些工作時(shí)阻礙程序消息的處理。軟件設計時(shí)有并行要求的模塊置于獨立的線(xiàn)程中,以實(shí)現系統的多任務(wù)并行工作。根據對系統實(shí)時(shí)多任務(wù)的分析,將軟件系統中的線(xiàn)程設計為:
(1)主線(xiàn)程
主線(xiàn)程是應用系統啟動(dòng)時(shí)創(chuàng )建的第一個(gè)線(xiàn)程,其他線(xiàn)程都是由主線(xiàn)程直接或間接創(chuàng )建。主線(xiàn)程主要負責創(chuàng )建客戶(hù)界面、數據顯示、與客戶(hù)交互、系統初始化以及對其他線(xiàn)程進(jìn)行監控。
(2)譯碼線(xiàn)程
譯碼線(xiàn)程是由主線(xiàn)程創(chuàng )建的,負責程序的譯碼,并將計算結構存入公共數據區,為通信線(xiàn)程提供數據來(lái)源。
(3)通信線(xiàn)程
通信線(xiàn)程負責上下位機間的數據傳輸。上下位機間的傳輸以一來(lái)一回的形式進(jìn)行。通信線(xiàn)程接收到下位機傳來(lái)的數據,根據事先定義好的協(xié)議對它進(jìn)行識別,并根據識別的結果來(lái)判斷是否需要將插補命令等傳給下位機,還需要通知主線(xiàn)程來(lái)處理異常情況。
通信線(xiàn)程所承擔的任務(wù)是強實(shí)時(shí)周期性任務(wù),譯碼線(xiàn)程所承擔的任務(wù)是弱實(shí)時(shí)性任務(wù),主線(xiàn)程承擔的是實(shí)時(shí)突發(fā)性任務(wù)。因此根據系統任務(wù)實(shí)時(shí)性強弱不同,可為各個(gè)線(xiàn)程設置相應的優(yōu)先級來(lái)確保實(shí)時(shí)性。主線(xiàn)程與進(jìn)程的優(yōu)先級相同,通信線(xiàn)程的優(yōu)先級高于主線(xiàn)程,而譯碼線(xiàn)程的優(yōu)先級高于主線(xiàn)程低于通信線(xiàn)程。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>