免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

基于PC機的通用數(shù)控系統(tǒng)軟件的設(shè)計與應(yīng)用

來源:互聯(lián)網(wǎng)

點擊:1001

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: CNC數(shù)控系統(tǒng)多線程

      CNC系統(tǒng)軟件結(jié)構(gòu)的設(shè)計與實現(xiàn)是系統(tǒng)開發(fā)的核心部分。CNC系統(tǒng)實質(zhì)上是一個實時多任務(wù)系統(tǒng),主要實現(xiàn)控制對象的協(xié)調(diào)運動和精確定位,其控制軟件的各功能模塊可認為是交由系統(tǒng)完成的任務(wù)。這些任務(wù)以順序方式或并行方式協(xié)調(diào)運行。因此,系統(tǒng)軟件必須要有一個合理的結(jié)構(gòu)以確保各模塊間的協(xié)調(diào)工作。

    1 CNC系統(tǒng)軟件要求

      CNC系統(tǒng)在高速度、高精度加工控制、圖形顯示等方面應(yīng)具有很強的功能。因此,CNC系統(tǒng)的系統(tǒng)軟件應(yīng)達到以下要求:

      (1)強實時性。CNC系統(tǒng)軟件應(yīng)具有實時的進行數(shù)據(jù)計算和對各種異步事件進行檢測和處理的功能。

      (2)任務(wù)并發(fā)處理與調(diào)度。CNC裝置通常作為一個獨立的過程控制單元應(yīng)用于工業(yè)自動化生產(chǎn)過程中,系統(tǒng)軟件必須完成管理和控制兩大功能。系統(tǒng)的管理部分包括輸入、I/O處理、顯示、診斷等,而控制部分包括譯碼、刀具補償、速度處理和位置控制等。在系統(tǒng)實際運行過程中,這多個任務(wù)中的若干個任務(wù)需要同時工作。對于多個任務(wù)并發(fā)的情況,系統(tǒng)軟件應(yīng)能相應(yīng)進行處理和調(diào)度,提高CPU的利用率,縮短加工時間,提高工作效率。

      (3)開放性。系統(tǒng)軟件應(yīng)能根據(jù)用戶不同的工作環(huán)境進行裁剪和配置,增減控制和管理功能。

      (4)模塊化。各模塊間盡量相互獨立而又能相互配合。

    (5)友好的人機界面。方便用戶進行操作和及時了解系統(tǒng)當前的運行狀態(tài)。

    2 CNC系統(tǒng)軟件的模塊化設(shè)計

      2.1 設(shè)計思路

      根據(jù)Windows的多線程機制,建立CNC系統(tǒng)軟件的多線程模型,將CNC系統(tǒng)中管理、控制功能實現(xiàn)分作若干個模塊,分別置于獨立的線程中,以消息排隊和消息循環(huán)推動CNC系統(tǒng)的運行,那么,系統(tǒng)的整體運行效率將得到較大提高。

      Windows多線程模型建立CNC系統(tǒng)軟件的多線程模型,實際實現(xiàn)是將CNC軟件模塊置于若干獨立的進程中來實現(xiàn)。Windows提供了幾種高效的進程間交換數(shù)據(jù)的機制,如管道、郵路和文件映射等。本文選擇文件映射方式來實現(xiàn)各進程間的數(shù)據(jù)交換。

      所謂文件映射,簡單地說,就是將磁盤文件(或部分)映射到某段內(nèi)存空間,對磁盤文件的訪問轉(zhuǎn)變成對內(nèi)存的訪問,顯然,這大大提高了訪問速度。實際的映射過程是通過若干API函數(shù)來實現(xiàn)的,首先需要創(chuàng)建一個“文件映射對象”,而這個對象是共享的,各個進程可將對象映射到自己的內(nèi)存地址空間,各進程的映射地址不一定相同,但地址中的內(nèi)容卻一定是相同的,各進程對各自的映射地址的訪問都歸結(jié)為對“文件映射對象”的訪問。因此,可以認為“文件映射”是將文件映射到內(nèi)存供各進程共享。

      這種方案在一定程度上提高了系統(tǒng)運行效率,在實際的調(diào)試加工過程中,電機運動也比較流暢,無阻滯現(xiàn)象,以插補運動后得到的圓弧效果來看,這一設(shè)計理論是可行的。

      2.2 CNC系統(tǒng)的多線程模型與模塊設(shè)計

      2.2.1 CNC系統(tǒng)的多線程模型

      CNC系統(tǒng)的多線程模型包括主控制線程、自動加工線程和顯示/面板操作線程。

      主控制線程負責(zé)實時啟動和消除自動加工線程,系統(tǒng)退出時,將消除顯示/面板操作線程。其主要完成的工作內(nèi)容非常復(fù)雜,如系統(tǒng)初始化;數(shù)控加工程序輸入、編輯;參數(shù)設(shè)置;操作功能控制;坐標設(shè)置;語法檢查和文件編譯等。主控線程中應(yīng)設(shè)計一系列相對獨立的功能模塊來分別完成上述任務(wù)。

      自動加工線程主要完成譯碼,刀具補償,插補,產(chǎn)生加工數(shù)據(jù),驅(qū)動控制器工作。加工程序由計算機進行譯碼,刀具補償,速度處理后,得到刀具中心的插補指令數(shù)據(jù)。計算機將這些插補指令數(shù)據(jù)和其他指令數(shù)據(jù)以固定格式存放于一內(nèi)存空間中。每次中斷發(fā)生時,計算機根據(jù)這些指令數(shù)據(jù)進行相應(yīng)的處理。如存在插補指令,則實時算出插補數(shù)據(jù),并送回內(nèi)存空間,運動控制器根據(jù)這些數(shù)據(jù)控制相應(yīng)軸的電機動作。當計算機中一幀指令數(shù)據(jù)讀完后,在插補間隙自動計算出新的插補指令數(shù)據(jù),送回內(nèi)存空間。Windows是一種非獨占式的多任務(wù)系統(tǒng),由于實際加工(特別是插補)對于實時性要求很高,因此選擇采用中斷方式實現(xiàn)對控制器的輸入控制。

      顯示/面板操作線程模塊完成的功能有刀位坐標,刀位運動軌跡顯示,面板操作讀人,故障指示等。

      2.2.2 CNC軟件功能模塊

      開放式的CNC控制系統(tǒng)采用分層的體系結(jié)構(gòu)。分層使得各層實現(xiàn)隔離,層與層間通過標準的接口進行通信,實現(xiàn)較好的可移植性。

      2.3 CNC系統(tǒng)主要軟件模塊的設(shè)計

      2.3.1 菜單總控模塊

      菜單總控模塊是整個系統(tǒng)的頂層調(diào)度模塊,各子系統(tǒng)功能模塊都經(jīng)由它進行調(diào)度執(zhí)行??偪啬K由系統(tǒng)運行界面和各回調(diào)函數(shù)組成?;卣{(diào)函數(shù)完成界面上的控件的事件驅(qū)動操作。通過回調(diào)函數(shù),進入下一級子功能模塊,如NC文件管理、操作管理、刀庫管理和參數(shù)設(shè)置等。

      2.3.2 自動運行模塊

      (1)加工進程的建立與管理。一旦CNC系統(tǒng)接受了一個經(jīng)過_預(yù)處理的NC數(shù)據(jù)文件,并準備開始譯碼一搟,本系統(tǒng)稱其為建立并開始一個加工進程。同時,系統(tǒng)定義的全局性進程數(shù)據(jù)結(jié)構(gòu)MProcess存儲這次加工的所有數(shù)據(jù)。

      (2)譯碼。將經(jīng)過預(yù)處理的NC指令字符串讀入系統(tǒng)進程數(shù)據(jù)結(jié)構(gòu)中的對應(yīng)插補譯碼用數(shù)據(jù)結(jié)構(gòu)的子數(shù)據(jù)結(jié)構(gòu)Ncfileformat中。

      (3)插補和速度計算。在算法的具體實現(xiàn)上,針對一般的直線和圓弧指令插補和要求與主軸同步的螺紋插補的不同要求設(shè)計了不同的運行策略和流程。

      對一般的直線和圓弧指令G01/G02/G03的插補來說,主要矛盾是要保證插補輸出的連續(xù)性與準確性。特別是G02/G03指令,由于插補中主要使用最占用CPU時間的三角函數(shù)計算,再加上軌跡位置的顯示更新,容易影響插補的實時性,造成系統(tǒng)走走停停,影響加工質(zhì)量。為避免這種情況,把更新頻率降到每10次插補刷新一次屏幕,可以減少占用CPU的時間。對螺紋插補來說,關(guān)鍵是要求對主軸聯(lián)動建立嚴格的同步。由于螺紋插補的算法本身比較簡單,只牽扯到不多的乘法運算和流程判斷,占用CPU時間不多。因此,設(shè)計時把它的插補運算部分放入8~10ms的中斷程序中進行運算,在第二次中斷開始時輸出,再配合啟動時預(yù)讀主軸信號進行預(yù)計算的方式,即可同時滿足系統(tǒng)加工的連續(xù)性和實時性的要求。

    3 CNC系統(tǒng)軟件的應(yīng)用

      復(fù)位操作在一定時間內(nèi)未完成,系統(tǒng)提示復(fù)位操作出錯并退出復(fù)位狀態(tài)。用戶在排除故障后可重新進行復(fù)位操作。

      3.1 主界面

      系統(tǒng)的主界面分左右兩部分。左邊是文件編輯區(qū),所有的NC文件在此進行編輯。編輯界面參照Windows風(fēng)格設(shè)計,方便設(shè)計人員使用。右邊為系統(tǒng)運行狀態(tài)顯示區(qū),從上至下分別顯示系統(tǒng)軸運動坐標變化;系統(tǒng)運行狀態(tài)變化(包括是否復(fù)位、運動方式、運動方向、是否允許手輪操作,系統(tǒng)限位報警等);系統(tǒng)輸人輸出端口變化;系統(tǒng)錯誤指示。用戶可方便的了解機床的運行狀態(tài),同步檢查是否出現(xiàn)操作錯誤。一旦發(fā)生錯誤,系統(tǒng)的錯誤指示欄中用紅色字體醒目的向用戶報告相關(guān)的錯誤情況,并伴有蜂鳴器叫聲提示。

      由于系統(tǒng)未復(fù)位(回機械零點),所以系統(tǒng)軸運動坐標顯示為9999.99。一旦完成系統(tǒng)復(fù)位后,系統(tǒng)坐標值即可以隨系統(tǒng)軸運動變化而顯示在屏幕上。

      3.2 復(fù)位

      系統(tǒng)提供全軸,單軸復(fù)位方式。選擇并點擊開始后,系統(tǒng)提示用戶從操作面板上發(fā)一個復(fù)位信號。用戶在操作面板上按下復(fù)位按鈕后,系統(tǒng)即可開始復(fù)位。當系統(tǒng)進行復(fù)位操作時,用戶不能退出此操作界面,以確保復(fù)位操作的安全性。若因某些故障而使得復(fù)位操作在一定時間內(nèi)未完成,系統(tǒng)提示復(fù)位操作出錯并退出復(fù)位狀態(tài)。用戶在排除故障后可重新進行復(fù)位操作。

      3.3 系統(tǒng)參數(shù)設(shè)置

      系統(tǒng)參數(shù)設(shè)置包括系統(tǒng)參數(shù),運動控制卡參數(shù),設(shè)備參數(shù)。系統(tǒng)參數(shù)的設(shè)置與系統(tǒng)運行性能息息相關(guān)。因此,在進行參數(shù)修改時,系統(tǒng)會對操作人員進行密碼驗證。通過驗證后系統(tǒng)顯示參數(shù)修改欄,否則只能看到屏幕上部的參數(shù)報告欄而不能進行修改。

      3.4 刀庫管理

      刀庫管理模塊隨時跟蹤刀具使用情況。用戶進入刀庫管理界面后可了解當前使用刀具的使用和參數(shù)設(shè)置情況,也可以根據(jù)需要隨時修改相關(guān)刀具參數(shù)。針對車床的刀架特點,系統(tǒng)提供對8把刀具的參數(shù)設(shè)置。

      3.5 文件編輯

      系統(tǒng)提供界面友好的NC文件編輯器。用戶所有輸入均自動轉(zhuǎn)為大寫輸入,以符合通用NC文件格式。對用戶輸入的非NC代碼,如Q,B等非法字符或一些非法符號如?、!等不予接受且不能顯示。

      3.6 加工軌跡模擬

      當用戶完成了文件編輯,經(jīng)語法檢查和編譯后,不需上電運行機床就能了解刀具運動情況,如圖4所示。利用系統(tǒng)提供的刀尖運動軌跡模擬這一功能可以觀察系統(tǒng)如何解釋加工文件及如何控制刀具的運行。這一功能使用戶能直觀的了解程序編制出現(xiàn)的錯誤,在一定程度上了機床的運行安全。

    4 小結(jié)

      本文選用Windows98作為系統(tǒng)開發(fā)的操作平臺,確定CNC系統(tǒng)的多線程模型和進行系統(tǒng)軟件的模塊劃分、各功能模塊的具體實現(xiàn)和最終系統(tǒng)軟件的集成應(yīng)用。在系統(tǒng)軟件的設(shè)計中,遵循開放性、模塊化的設(shè)計要求,利用功能強大的Visual Basic6.0作為開發(fā)工具,開發(fā)出其于PC機的通用數(shù)控系統(tǒng)應(yīng)用軟件,該軟件已在CK6140H車床上應(yīng)用,效果良好。

    (審核編輯: 智匯胡妮)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。