請選擇:
請輸入關鍵字:
CNC系統(tǒng)巨量NC程序解釋實現的方法
CNC系統(tǒng)巨量NC程序解釋實現的方法 熊清平 張正勇 李作清 在數控加工中,對于復雜零件的加工,如水輪機葉片,用CAD/CAM生成的基于微小直線段的NC程序能達到幾兆。對于這些程序量非常大的NC程序,稱之為巨量NC程序。 對于專用體系結構的CNC系統(tǒng),NC程序存儲空間有限,在解釋巨量NC程序時,一般采用RS-232通訊接口,邊傳送邊加工,加工復雜零件較不便,同時也增加了數控加工系統(tǒng)的成本,降低了數控加工的可靠性。對于基于工業(yè)PC平臺的CNC系統(tǒng),只有640k的基本內存,由于操作系統(tǒng)和CNC系統(tǒng)控制軟件占用一定的內存空間,當要解釋運行巨量NC程序時,一般將巨量NC程序分成多個程序塊,系統(tǒng)根據每塊程序大小進行內存分配,如分配不合理,則需重新分塊,這給操作帶來不便。華中Ⅰ型CNC系統(tǒng)以工業(yè)PC為平臺,對于巨量程序的加工,通過使用系統(tǒng)的擴展內存實現巨量NC程序的解釋,同時要兼容處理類似高級語言BASIC編寫的NC程序。根據用戶的加工程序的最大需要,來配置系統(tǒng)的擴展內存。系統(tǒng)使用擴展內存,充分利用PC的軟件資源,使用擴展內存設備管理程序EMM386.EXE,用DOS的67H號中斷對高端內存的物理頁的讀寫,完成對擴展內存的邏輯頁操作[1]。CNC系統(tǒng)運行前,需在CONFIG.SYS文件中裝載: DEVICE=C:\HIMEM.SYS DEVICE=C:\EMM386.EXE 1 NC程序的裝載 在NC程序裝入之前,檢測程序檢測有多大的擴展內存,能運行多大的NC程序,根據所要求加工的NC程序判斷能否裝載。 無論是手工編制的NC程序還是巨量NC程序,運行時統(tǒng)一采用擴展內存進行裝載。為了使用系統(tǒng)的擴展內存,需調用DOS的67H中斷的多項子功能。首先申請一個包含一定邏輯頁數的句柄,然后把這些擴展內存清空,清空后再把NC程序調入擴展內存,這樣所要加工的NC程序的大小與系統(tǒng)的基本內存無關,只與系統(tǒng)的擴展內存有關。只要CNC系統(tǒng)的擴展內存滿足就能把NC程序裝入并投入運行。NC程序首先裝入高端內存的物理頁,再通過物理頁和邏輯頁的映射關系,把NC程序裝入擴展內存邏輯頁。程序開始運行以后,可以根據提示的剩余的內存選擇所要編輯的程序。 2 巨量NC程序的解釋 程序裝入擴展內存的邏輯頁后,對程序的解釋操作在高端內存的物理頁中進行,這時要把擴展內存邏輯頁的內容分頁映射到高端內存的物理頁,再對物理頁中的NC程序進行解釋。對高端內存的物理頁進行操作,必須不斷地考慮程序指針的變換中所涉及的邏輯頁的轉換以及程序指針的邏輯頁數是否超過這個句柄所擁有的總的邏輯頁數等問題[2]。這就要求在程序指針變換時記錄下程序指針所對應的擴展內存上的邏輯頁中的邏輯位置,稱為程序邏輯指針。把程序指針在高端內存物理頁中的實際物理位置稱作程序實際指針。程序邏輯指針在擴展內存中從邏輯低地址移向邏輯高地址,程序實際指針只是在物理頁中往復地從頭至尾地移動,直到所有的程序行解釋執(zhí)行完畢。程序邏輯指針和程序實際指針有一種對應關系,設計一個結構體來代替基于系統(tǒng)S基本內存的程序解釋器的程序指針,用來記錄程序的邏輯位置。 struct Page ProgPtr{ charhugeProgPtr;.∥物理頁中程序實際指針 int NumOfCurPage;∥當前的邏輯頁 int PagenumOfHandle;∥句柄所擁有的邏輯頁數 unsigned int Handle;∥當前程序句柄} 在具體的解釋器實現中要考慮到程序實際指針和程序邏輯指針處于頁首和頁末的情況。當程序實際指針和程序邏輯指針在頁首時,程序邏輯指針的下個位置可能在前一邏輯頁末尾,程序實際指針可能要退到物理頁的末尾。而當程序實際指針和程序邏輯指針在頁末時,程序邏輯指針的下個位置可能在后一邏輯頁首,程序實際指針可能從物理頁的頁尾移到物理頁的頁首。針對這2種情況進行處理,設計了2個處理函數: struct PageProgPtr TreatOfFrameEnd(struct PageProgPtr); struct PageProgPtr TreatOfFrameStart(struct PageProgPtr); 通過這種處理保證程序實際指針在物理頁中和程序邏輯指針在擴展內存的邏輯頁中的準確性。 由于在程序解釋時程序實際指針只在物理頁中來回變化,而程序邏輯指針在擴展內存的邏輯頁中移動,在解釋器的設計中必須把程序實際指針和程序邏輯指針結合在一起考慮。解釋器通過解釋高端內存中物理頁的內容來完成擴展內存的NC程序的解釋任務。 解釋器解釋NC程序所得到的數據送到一個環(huán)形緩沖隊列中,當填滿緩沖隊列后,解釋任務就停止。當插補器從解釋器中取走數據,使緩形隊列中有空單元時,通過任務調度把解釋器再次激活,這樣解釋器和插補器就能協調工作。 3 關于巨量NC程序和類似高級語言BASIC編寫的NC程序兼容處理 在一般NC代碼解釋器中,只能進行ISO代碼的NC程序解釋,而對于帶有高級語言特性的一些NC語句如DO—WHILE語句、IF語句、GOTO語句等和宏變量不支持。對于帶有高級語言特性的NC語句的解釋有2種方法:第1種方法是做2個解釋器分別對ISO代碼的NC程序和類似高級語言編寫的NC程序進行解釋;第2種方法是做1個兼容的通用解釋器,它對2種程序都能處理。第1種方法思路簡單,解釋器編程容易,由于ISO代碼的NC程序和類似高級語言編寫的NC程序只能分別編寫,NC程序的處理能力不強;第2種方法解釋器編程較難,但程序的解釋功能較強,在ISO代碼的程序中可以帶有一些高級語言特性的語句如DO—WHILE語句,這樣用戶所編寫的NC程序的處理功能可以很強。 在華中Ⅰ型CNC系統(tǒng)的解釋器中,采用的是第2種方法,進行巨量NC程序和類似高級語言編寫的NC程序進行兼容處理,保證在巨量NC程序中也能加入一些高級語言的特性,這就要進行類似高級語言的表達式計算、子程序的調用和程序跳轉等高級語言處理過程。 在基于基本內存的NC程序解釋器中,對于類似高級語言BASIC編寫的NC程序的子程序標號和跳轉標號的處理一般先通過掃描整個程序而形成子程序表和標號表,再每次遇到NC調用子程序或執(zhí)行跳轉程序時,通過查表來找到子程序的地址或跳轉的目的地址。這樣不僅浪費內存,而且影響解釋任務的執(zhí)行速度。如果NC標號非常多,就會占用較多的基本內存,而且解釋程序的速度非常慢,特別是CAD/CAM所生成的巨量NC程序,基本上每行都有N標號,更容易出現這樣的問題。由于使用擴展內存不僅要對一般的手工編制的較短NC程序進行處理,而且要對巨量NC程序進行處理,采用直接尋址,每次遇到子程序和跳轉程序指令時,通過比較標號,找到目的地址執(zhí)行,這樣既節(jié)省系統(tǒng)的基本內存,又提高系統(tǒng)的處理速度和CNC運行的穩(wěn)定性。通過2個函數來解決這個問題: struct PageProgPtr Find_Nlabel(struct PageProgPtr); struct PageProgPtr Find_Ocode(struct PageProgPtr); 4 擴展內存的資源競爭問題 為了節(jié)約基本內存,要編輯的程序也裝入擴展內存,這也通過一個句柄進行操作。在程序的編輯時,所要編輯的程序從擴展內存的邏輯頁輪流裝入高端內存的物理頁,所有程序的編輯都在高端內存進行,從而保證在程序編輯過程不占用基本內存。 由于所編輯程序和運行的程序都是通過高端內存對擴展內存進行操作,存在資源競爭的問題。在系統(tǒng)中,擴展內存都是通過句柄進行操作的,通過EMM386.EXE文件對擴展內存的邏輯頁進行管理,只要能申請到相應擴展內存的句柄,就能保證擴展內存的邏輯頁使用不發(fā)生沖突。在高端內存中,總共有每頁16k的4頁物理頁,把這些物理頁進行分配,程序解釋運行使用第1頁,而程序編輯使用第2頁,由于EMM386.EXE程序本身能保證67H中斷的重入問題,通過這樣內存的分配方式,解決了擴展內存資源競爭問題[3]。 5 結束語 筆者利用系統(tǒng)的擴展內存實現了在CNC系統(tǒng)中解釋巨量NC程序;谙到y(tǒng)擴展內存所做的NC解釋器和編輯器使運行程序和編輯程序的大小與基本內存無關,而只與擴展內存有關。計算機可配置的擴展內存越來越大,現已能達到256M,而現階段8M的擴展內存已能滿足一般巨量NC程序運行和編輯的要求,這給更復雜零件加工程序一次裝載解釋運行提供更大的方便。同時,在多通道的CNC系統(tǒng)軟件中,由于每增加一個通道大約要增加到最大20k到30k的內存開銷,解釋器和編輯器利用擴展內存也能讓多通道CNC系統(tǒng)增加更多的通道數,控制更多的獨立過程,這對FMS、CIMS的實現也有一定的意義。采用該方法所設計的NC代碼解釋器,已運用到華中Ⅰ型數控系統(tǒng)上。 參考文獻 [1] 黃山,萬玉丹.DOS的全部剖析與編程啟示.北京:學苑出版社,1993:85~87 [2] [美]TerryDettmann著,熊桂喜,陸益民,黎軍英等譯.DOS程序員參考手冊.北京:清華大學出版社,1996:158~162 [3] 熊清平,孫聯勝,劉延巍.CNC實時多任務操作系統(tǒng).機械與電子,1997(3):20~22
|
 |
文章標題 |
相關內容 |
|
1
|
艾雷斯IPC在平衡機中的成功應用
|
艾雷斯IPC在平衡機中的成功應用 一、產品概述及應用 構件在運動過程中都將產生慣性力和慣性力矩,這必將在運動副中產生附加的動壓力,從而增大構件中的內應力和運動副中的摩擦,加劇運動副的磨損,降低機械效率和使用壽命。消除慣性力和慣性力矩的影響,改善機構工作性能,這就是研究....
|
詳細
|
2
|
PC在程控鋸切機中的應用
|
PC在程控鋸切機中的應用 鋸切機是甘肅豐收機械廠LGJ32型冷彎成型機組中的重要設備,其功能是保證冷軋機連續(xù)軋制型材或焊管的情況下,將型材切割成要求的長度,且保證具有規(guī)定的定尺精度。目前,我國型材、焊管及不銹鋼管等生產廠家,大多采用繼電器邏輯控制的機械式劇切機,接線復雜,聯鎖繁....
|
詳細
|
3
|
油田抽油機的變革—IMS系列油田抽油機伺服調速節(jié)能控制柜
|
油田抽油機的變革—IMS系列油田抽油機伺服調速節(jié)能控制柜 概述 目前,在我國各油田的抽油機總數已超過10萬臺,是各油田的主要耗能設備。按每臺電機容量30KW(實際上不止于此,在油田使用最多的是37KW和45KW電機,部分使用....
|
詳細
|
4
|
變頻調速控制在擠出機中的應用
|
變頻調速控制在擠出機中的應用 一、導言 近年來,隨著電子設備信息化的發(fā)展,作為物理傳輸介質的各種熱敏性聚合物加工需求也越來多,如PVC電纜料,PE硅烷、過氧化物交聯電纜料,PE交聯屏蔽線等。 生產這些聚合物的關鍵是擠出機。擠出機也隨著越來越高的時效性生產要求....
|
詳細
|
5
|
MICROMASTER MM420 在材料處理上的應用
|
MICROMASTER MM420 在材料處理上的應用 ---- 許多MicroMaster變頻器被應用在較大易碎的薄板材料的處理上。系統(tǒng)由PLC通過數字量和模擬量控制。額外有一個繼電器控制直流制動。 優(yōu)點: 變頻....
|
詳細
|
6
|
康沃變頻器在拉絲機中的應用
|
康沃變頻器在拉絲機中的應用 一、引言 拉絲機是電線電纜行業(yè)主要加工設備之一,主要是將銅線加工成各種規(guī)格細線,一般由放線、水冷、收線及排線等部分組成,其中電氣傳動部份主要由放線電機和收線電機及排線電機實現。隨著變頻技術的不斷推廣,變頻器正日益被用于拉絲機....
|
詳細
|
7
|
S7-200和MM440在鋼絲/鋼管復繞生產線上的應用
|
S7-200和MM440在鋼絲/鋼管復繞生產線上的應用 S7-200和MM440在鋼絲/鋼管復繞生產線上的應用 摘要 在鋼絲/鋼管復繞生產線中,收線電機控制整線速度,排線電機自動跟蹤收線速度,放線電機控制張力。 關鍵詞: 收線速度控制 線徑控制....
|
詳細
|
8
|
沖床改造項目介紹
|
沖床改造項目介紹機床類型:數控沖床 ----控制方式:凸輪方式 ----制造廠商:德國HAAR公司 ----原機床控制系統(tǒng):SIEMENS工控機 ----現機床控制系統(tǒng):SIEMENS 840D數控系統(tǒng)&n....
|
詳細
|
9
|
MicroMaster變頻器應用在較大易碎的薄板材料的處理上
|
MicroMaster變頻器應用在較大易碎的薄板材料的處理上 - 許多MicroMaster變頻器被應用在較大易碎的薄板材料的處理上。系統(tǒng)由PLC通過數字量和模擬量控制。額外有一個繼電器控制直流制動。 優(yōu)點: •&n....
|
詳細
|
10
|
MICROMASTER 420 材料處理應用
|
MICROMASTER 420 材料處理應用 ---- 許多MicroMaster變頻器被應用在較大易碎的薄板材料的處理上。系統(tǒng)由PLC通過數字量和模擬量控制。額外有一個繼電器控制直流制動。 優(yōu)點: 變頻器直接控制電子機械制動器確保....
|
詳細
|
216條記錄 1/22頁 第頁 [首頁] [上頁] [下頁] [末頁] |
注意:網站查詢并不一定完全準確,使用請先核實!
理工論文分類