国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于高檔數(shù)控系統(tǒng)的實時多任務實現(xiàn)

發(fā)布時間:2016-9-18 11:03    發(fā)布者:designapp
引言

實時性是數(shù)控系統(tǒng)一項重要的性能指標。

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

1 進程與線程以及多線程技術

Windows操作系統(tǒng)既支持多進程,又支持多線程。一個進程就是應用程序的一個實例,一次執(zhí)行過程也就是調入內存準備執(zhí)行的程序,包括當前執(zhí)行的應用程序的執(zhí)行代碼和程序執(zhí)行相關的一些環(huán)境信息。每個進程擁有整臺計算機的資源,無須知道其他進程在計算機中的信息。通常每個進程至少有一個線程在執(zhí)行所屬地址空間中的代碼,該線程稱為主線程,如果該主線程運行結束,系統(tǒng)將自動清除進程及其他地址空間。

線程是進程內部執(zhí)行的路徑,是操作系統(tǒng)分配CPU時間的基本實體,是程序運行的最小單位。每個進程都由主線程開始進行應用程序的執(zhí)行。線程由一個堆棧、CPU寄存器的狀態(tài)和系統(tǒng)調用列表中的一個人口組成。每個進程可以包含一個以上的線程,這些線程可以同時獨立地執(zhí)行進程地址空間中的代碼,共享進程中的所有資源。

Windows系統(tǒng)分配處理器時間的最小單位是線程,系統(tǒng)不停地在各個線程之間切換。在PC機中,同一時間只有一個線程在運行。通常系統(tǒng)為每個線程劃分的時間片很小(ms級別),這樣快速系統(tǒng)的實時性就有了保障。

要實現(xiàn)多線程編程,可建立輔助線程(Worker Thread)和用戶界面線程(User Interface Thread)。輔助線程主要用來執(zhí)行數(shù)控程序、坐標顯示、動態(tài)仿真和數(shù)據(jù)預處理;用戶界面線程用來處理用戶的輸入,響應用戶產(chǎn)生的事件和消息。

2 實時多任務的實現(xiàn)

數(shù)控系統(tǒng)軟件具有實時性和多任務兩大特點。數(shù)控系統(tǒng)中要管理和控制的任務很多,如當數(shù)控系統(tǒng)正處于加工控制狀態(tài)時,為了保證加工的連續(xù)性,在各個程序段之間不停頓,各數(shù)控加工程序段的預處理、插補計算、位置控制和各種輔助控制任務都要及時進行;為了使操作人員及時了解和干預數(shù)控系統(tǒng)的工作狀態(tài),系統(tǒng)在執(zhí)行加工任務的同時還應該及時進行一些人機交互工作,即顯示加工狀態(tài)、接收操作人員通過操作面板輸入的各種改變系統(tǒng)狀態(tài)的控制信號等。為了及時檢查和預報軟、硬件的各種故障,系統(tǒng)在運行控制程序和人機交互程序同時還要及時運行診斷程序;此外,系統(tǒng)還可能被要求及時完成通信等其他任務。可見,理想的數(shù)控程序,應具有實時多任務的處理能力。

針對數(shù)控系統(tǒng)軟件的實時性和多任務性兩大特點,采用分時并行處理技術來確定數(shù)控系統(tǒng)軟件結構。分時并行處理技術是指一個處理器同時完成多種任務。系統(tǒng)用時間片輪換的方式處理和完成各任務,即按照某種輪換次序給每個任務分配一段CPU時間進行各任務的處理。從微觀上看,各任務分時占用CPU;從宏觀的角度來看,在一段時間內,CPU并行完成了多個任務。在軟件設計中,利用Windows的多線程技術以“資源分時共享”為原則,有效地解決CNC系統(tǒng)的實時多任務問題。應用優(yōu)先級搶占方式來進行線程調度,以滿足系統(tǒng)的實時性要求,利用時間重疊和資源共享的方法來實現(xiàn)并行處理。

2.1 系統(tǒng)線程的總體設計

Windows提供兩種線程,輔助線程和主線程。主線程有窗口,因此它有自己的消息循環(huán),可以處理消息,使程序能夠迅速響應命令和其他事件;輔助線程沒有窗口,所以它不需要處理消息。它可用于完成一些費時的工作,以免在由主線程處理這些工作時阻礙程序消息的處理。軟件設計時有并行要求的模塊置于獨立的線程中,以實現(xiàn)系統(tǒng)的多任務并行工作。根據(jù)對系統(tǒng)實時多任務的分析,將軟件系統(tǒng)中的線程設計為:

(1)主線程

主線程是應用系統(tǒng)啟動時創(chuàng)建的第一個線程,其他線程都是由主線程直接或間接創(chuàng)建。主線程主要負責創(chuàng)建客戶界面、數(shù)據(jù)顯示、與客戶交互、系統(tǒng)初始化以及對其他線程進行監(jiān)控。

(2)譯碼線程

譯碼線程是由主線程創(chuàng)建的,負責程序的譯碼,并將計算結構存入公共數(shù)據(jù)區(qū),為通信線程提供數(shù)據(jù)來源。

(3)通信線程

通信線程負責上下位機間的數(shù)據(jù)傳輸。上下位機間的傳輸以一來一回的形式進行。通信線程接收到下位機傳來的數(shù)據(jù),根據(jù)事先定義好的協(xié)議對它進行識別,并根據(jù)識別的結果來判斷是否需要將插補命令等傳給下位機,還需要通知主線程來處理異常情況。

通信線程所承擔的任務是強實時周期性任務,譯碼線程所承擔的任務是弱實時性任務,主線程承擔的是實時突發(fā)性任務。因此根據(jù)系統(tǒng)任務實時性強弱不同,可為各個線程設置相應的優(yōu)先級來確保實時性。主線程與進程的優(yōu)先級相同,通信線程的優(yōu)先級高于主線程,而譯碼線程的優(yōu)先級高于主線程低于通信線程。

在線程優(yōu)先級設置中,通信線程的優(yōu)先級最高,這使得通信線程在需要CPU時間片等資源時,能夠順利的搶占其他線程的資源,保證上下位機的通信順暢,使下位機在加工時能夠平穩(wěn)的實現(xiàn)進程,并且使下位機在出現(xiàn)異常情況時能及時通知上位機。由于通信這一動作是依照某種頻率進行的,因此通信線程不會一直占用CPU資源,從而不會因為它的優(yōu)先級高使其他線程無法運行。

具體實現(xiàn)原理架構如圖1所示。







2.2 系統(tǒng)線程的具體實現(xiàn)

Delphi提供了許多與多線程編程相關的組件,其中最重要的是Tthread類,本文就是利用它來實現(xiàn)多線程編程。該類封裝了大多數(shù)與線程相關的方法,使用Tthread類大大簡化了多線程程序的開發(fā)步驟。Tthread類是一個抽象類,不可以直接創(chuàng)建它的實例,但是可以創(chuàng)建它的派生類。創(chuàng)建方法在Delphi菜單中依次選擇“File”→“New”→“Other”→“New”,選擇“Thread Object”項,在對話框中輸入新的線程類的名稱,確認后即創(chuàng)建了一個新的線程類:







其中:“private”及“protected”用來定義變量和程序函數(shù),“procedure Execute;override;”是線程函數(shù),用來編寫線程的執(zhí)行部分。同時Delphi還提供了各種函數(shù)用來運行和終止線程等。創(chuàng)建了線程的派生類后可以生成該類的對象,來表示應用程序的執(zhí)行線程。各個線程創(chuàng)建好后將NC的解釋程序、通信程序等放在各自線程函數(shù)內,再創(chuàng)建線程的對象,設置幾個線程就生成幾個對象,在對象內編寫打開或終止線程等函數(shù)來控制線程的運行。

3 結語

基于Windows平臺的高檔數(shù)控實時操作系統(tǒng)的開發(fā),實現(xiàn)了不僅能向Windows平臺添加實時功能,而且使這些實時功能具有很好的可擴展性。本課題下步的目標是將此實時系統(tǒng)的設計實現(xiàn)在Windows XPEmbedded平臺上,使其具備高檔數(shù)控系統(tǒng)需要的嵌入式設備的特性。
本文地址:http://m.qingdxww.cn/thread-173963-1-1.html     【打印本頁】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據(jù)著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發(fā)培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區(qū)

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 视频成人永久免费视频| 天天综合网在线| 日本久久综合网| 亚洲国产欧美在线人成| 一个人的在线观看www| 啊灬啊灬啊灬快高潮视频| 久久国产免费一区二区三区| 伊人久久99热这里只有精品| 色婷婷一区二区三区四区成人网 | 国产69精品9999XXXX| 亚洲91av| 亚洲午夜免费| 伊人日韩| 91精品欧美一区二区三区| 强姧伦久久久久久久久| 欧美精品一二三区| 色综合久久98天天综合| 色yeye免费视频免费看| 性色生活片在线观看| 国产精品成人免费视频99| 美国大臿蕉香蕉大视频| 正在播放国产精品| 清清草免费视频| 亚洲欧美日韩精品久久久| 在线观看精品视频看看播放| 草699一码二码三码四码| 嫩草影院成人| 亚洲成人国产| 亚洲一级成人| 台湾中文娱乐综合久久久| 四级毛片| 国产成人精品男人的天堂网站| 人妻系列合集| 亚洲精品免费在线观看| 亚洲va欧美ⅴa国产va影院| 亚洲男人天堂网址| 九九久久国产精品免费热6| 亚洲国产在线精品第二剧情不卡| 亚洲国产剧情一区在线观看| 天天在线综合网| 伊在人香蕉99久久|