




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章后置處理平面銑、型腔銑、固定軸曲面輪廓銑和車削加工,其操作結(jié)果是生成刀具軌跡(即刀位文件),該文件無法被數(shù)控機(jī)床識別,須將該文件轉(zhuǎn)化為機(jī)床可識別的文件格式。而不同廠商生產(chǎn)的機(jī)床硬件條件和數(shù)控系統(tǒng)不同。因此,刀具位置源文件需要經(jīng)過后置處理,將刀具軌跡轉(zhuǎn)化為數(shù)控程序,以適合不同機(jī)床/控制系統(tǒng)的特定要求。這種根據(jù)機(jī)床參數(shù)格式化刀位文件,并生成特定機(jī)床可以識別的NC程序的過程稱為后置處理。實(shí)際生產(chǎn)中,數(shù)控機(jī)床的類型很多,每種類型的機(jī)床都有其獨(dú)特的硬件性能和要求,比如它可以有垂直或水平的主軸,可以2-5軸聯(lián)動(dòng)等。另外,每種機(jī)床又受其控制器(controller)的控制,控制器接受刀位文件并指揮刀具的運(yùn)動(dòng)或其它的行為(比如冷卻液的開關(guān)),但控制器也無法接受這種未經(jīng)處理的刀位文件。因此,刀位文件必須經(jīng)后處理修改成適合于不同機(jī)床/控制器的特定參數(shù)。后處理最基本的兩個(gè)要素就是刀軌數(shù)據(jù)(ToolPathData)和后處理器(APostprocessor)。如圖7-1所示。
圖7-1后處理NX軟件提供了兩種后處理方法:一種是用圖形后處理模塊GPM(GraphicsPostprocessorModule)進(jìn)行后置處理,另一種是用NXPOST后處理器進(jìn)行后置處理。GPM后處理方法是一種傳統(tǒng)的方法,用GPM進(jìn)行后置處理時(shí),需要使用機(jī)床數(shù)據(jù)文件(MDF),機(jī)床數(shù)據(jù)文件包含對刀具路徑進(jìn)行后置處理時(shí)所需的機(jī)床數(shù)據(jù)。NXPOST通過建立與機(jī)床控制系統(tǒng)相匹配的兩個(gè)文件——事件處理文件和定義文件,可以輕松完成從簡單到任意復(fù)雜機(jī)床控制系統(tǒng)的后處理,用戶甚至可以直接修改這兩個(gè)文件實(shí)現(xiàn)用戶特定的信息處理。圖形后置處理器(GPM)是一個(gè)可執(zhí)行文件,其名稱為GPM.EXE。圖形后置處理器可以將機(jī)床數(shù)據(jù)文件轉(zhuǎn)換為特定格式的數(shù)控程序,從而控制特定的數(shù)控機(jī)床進(jìn)行加工。機(jī)床數(shù)據(jù)文件(MachineDateFile,簡寫MDFA)是一種包括特定數(shù)控機(jī)床信息和數(shù)據(jù)程序輸出規(guī)則等內(nèi)容的文件,其后綴有兩種:MDF和MDFA,其中MDF為二進(jìn)制文件,MDFA為文本文件,這兩類文件都可以用圖形后置處理器進(jìn)行后置處理。圖形后置處理器后置處理過程如圖7-2所示,首先在加工應(yīng)用中生成刀具位置源文件(CLSF),并用機(jī)床數(shù)據(jù)文件生成器(MDFC)建立機(jī)床數(shù)據(jù)文件(MDF),然后,進(jìn)入GPM模塊,對刀具位置源文件進(jìn)行后置處理。GPM和MDF文件相互依賴,GPM必須根據(jù)MDF文件中的數(shù)據(jù)來設(shè)置其開關(guān)量,同時(shí)MDF文件也只能用于GPM進(jìn)行后置處理,最后利用圖形后置處理器對機(jī)床數(shù)控文件進(jìn)行處理,輸出特定格式的數(shù)控程序。7.3.1NXPOST后置處理器簡介
NXPOST以NXCAM中生成的零件加工刀軌作為輸入,輸出符合機(jī)床控制系統(tǒng)要求的NC代碼。與圖形后置處理器相比,NXPOST可直接從零件的刀具路徑中提取路徑信息進(jìn)行后置處理,而不必生成刀具位置源文件,因此使用起來更方便。后置處理過程中,用戶可以通過NXPOST建立和機(jī)床控制系統(tǒng)相關(guān)的事件處理文件和事件定義文件,然后通過NX整合在一起,完成簡單或任意復(fù)雜機(jī)床的后處理。NXPOST通過與圖形后置處理器相似的途徑,將產(chǎn)生的刀具路徑轉(zhuǎn)換成指定的機(jī)床控制系統(tǒng)所能接收的加工指令。圖7-3后處理原理圖刀位文件(CLSF)圖形后置處理器(GPWPost)數(shù)據(jù)程序(NC)機(jī)床數(shù)據(jù)文件(MDFA)事件生成器 事件生成器(EventGenerator)是一個(gè)提取零件的刀具路徑數(shù)據(jù)的文件,它能將提取的刀具路徑數(shù)據(jù)作為事件和參數(shù)傳遞給加工輸出管理器。每一特定事件在機(jī)床運(yùn)行時(shí)將導(dǎo)致一些特別的機(jī)床動(dòng)作,存儲在與這個(gè)事件相關(guān)的參數(shù)中的信息用來進(jìn)一步確定這些特別的機(jī)床動(dòng)作。例如,一個(gè)“Linear-Move”事件將導(dǎo)致機(jī)床驅(qū)動(dòng)刀具沿直線移動(dòng),而具體移動(dòng)到的位置則由存儲在與此事件相關(guān)的參數(shù)X、Y、Z中的數(shù)值來進(jìn)一步確定。在這個(gè)例子中,事件生成器將觸發(fā)“Linear-Move”事件,并且將代表終點(diǎn)位置的數(shù)據(jù)裝入相應(yīng)的參數(shù)X、Y、Z,然后這些信息傳送到MOM去處理。事件處理器 事件處理器(EventHandler)是描述機(jī)床配置的兩個(gè)文件之一,是為特定機(jī)床及其控制系統(tǒng)開發(fā)的一套程序。它包含根據(jù)機(jī)床控制器定義的一系列事件處理指令,這些指令將定義刀軌數(shù)據(jù)如何被處理,以及每個(gè)事件在機(jī)床上如何被執(zhí)行。用來定義事件處理器指令的計(jì)算機(jī)語言是TCL(Toolcommandlanguage),故該文件的擴(kuò)展名為.tcl。TCL是一種解釋型的計(jì)算機(jī)語言,以其小巧、靈活、功能強(qiáng)大、易于擴(kuò)展、易于集成而聞名。當(dāng)UG/Post進(jìn)行后處理時(shí),TCL語言的解釋器充當(dāng)了UG/Post的轉(zhuǎn)換器。事件定義文件事件定義文件(DefinitionFile)定義事件處理后輸出的數(shù)據(jù)格式,是包含特定機(jī)床靜態(tài)信息的文件,包括:輸出格式、有效字符(X、Y等)及一般機(jī)床屬性等。該文件的擴(kuò)展名為.def。后處理用戶界面文件通過它用戶可利用PostBuilder來修改事件處理文件和事件定義文件。輸出文件
在UG/post執(zhí)行時(shí),即后處理時(shí),用戶指定一個(gè)文件來存儲后處理生成的NC指令,這個(gè)指定的文件就是輸出文件。輸出文件的內(nèi)容由事件處理器來控制,而輸出文件中NC指令的格式由定義文件來控制。7.3.2NXPOST進(jìn)行后置處理NXPOST進(jìn)行后置處理的步驟為:生成工件的刀具路徑;通過后處理構(gòu)建器PostBuilder生成事件管理器文件和定義文件,并將生成的事件管理器文件和定義文件增添到后置處理模板中;進(jìn)入NXPOST后置處理環(huán)境進(jìn)行后置處理,從而生成可用于指定機(jī)床的數(shù)控程序。7.4后置處理構(gòu)造器后置處理構(gòu)造器(PostBuilder)是為特定機(jī)床和數(shù)控系統(tǒng)定制后置處理器的一種工具。它是一個(gè)圖形界面編輯工具,應(yīng)用后置處理構(gòu)造器可以建立兩個(gè)與特定機(jī)床相關(guān)的后置處理文件:事件管理器文件(.tcl)和定義文件(.def),同時(shí)產(chǎn)生一個(gè).pui文件。后置處理構(gòu)造器可以靈活定義NC程序輸出的格式和順序、程序頭尾、操作頭尾、換刀以及循環(huán)等。目前后置處理構(gòu)造器可以定義下列的機(jī)床的后處理:3軸機(jī)床3軸車銑4軸帶轉(zhuǎn)臺或擺頭機(jī)床5軸帶雙轉(zhuǎn)臺或雙擺頭機(jī)床5軸帶一轉(zhuǎn)臺一擺頭機(jī)床2軸車床后置處理構(gòu)建器簡介1.進(jìn)入后置處理構(gòu)建器在WINDOWS操作系統(tǒng)中,單擊“開始”→“程序”→“SiemensNX8.0”→“加工”→“后處理構(gòu)造器”,即可進(jìn)入“后置處理構(gòu)造器”起始對話框,如圖7-9所示。圖7-9后置處理構(gòu)建器對話框
在圖7-9對話框中單擊圖標(biāo),彈出如圖7-10所示對話框。新建機(jī)床后置處理文件時(shí),首先需在對話框的PostName文本框中輸入后置處理文件名稱,然后指定后置處理輸出的單位并選取機(jī)床的類型,設(shè)置各選項(xiàng)后,最后單擊【OK】,進(jìn)入圖7-12所示的機(jī)床后置處理參數(shù)設(shè)置對話框。圖7-10新建機(jī)床后對話框圖7-11機(jī)床對話框2.機(jī)床參數(shù)設(shè)置 如圖7-11所示的對話框,即可進(jìn)行所選機(jī)床后置處理參數(shù)設(shè)置。在對話框的頂排選項(xiàng)中選取機(jī)床選項(xiàng)(MachineTool),顯示機(jī)床的相關(guān)參數(shù)。機(jī)床各參數(shù)的設(shè)置方法說明如下。(1)DisplayMachineTool(顯示機(jī)床) 單擊DisplayMachineTool按鈕,彈出所選機(jī)床類型的結(jié)構(gòu)示意圖。如圖7-12所示。(2)GeneralParameters(通用參數(shù))在圖7-11中選取該選項(xiàng),可以設(shè)置機(jī)床各坐標(biāo)軸的最大行程、機(jī)床原點(diǎn)的坐標(biāo)位置、機(jī)床直線移動(dòng)的最小步距、機(jī)床快速移動(dòng)的最大速度等參數(shù)。圖7-12機(jī)床參數(shù)示意圖3.程序與刀具路徑(Program&ToolPath)在圖7-11最上部一排選項(xiàng)中,選取程序與刀具路徑選項(xiàng)圖標(biāo),對話框切換為如圖7-13所示形式。這里,可設(shè)置程序與刀具路徑的相關(guān)參數(shù)。(1)Program(程序) 在圖7-13所示對話框中,可設(shè)置與程序相關(guān)的參數(shù)。如程序的起始順序、操作的起始順序、刀具路徑(機(jī)床控制、刀具運(yùn)動(dòng)等)、操作結(jié)束順序、程序結(jié)束順序等。(2)GCodes(G代碼)單擊圖7-13中的GCodes選項(xiàng),對話框切換到G代碼設(shè)置對話框,可以根據(jù)機(jī)床控制器,為各種機(jī)床運(yùn)動(dòng)或加工操作設(shè)置G代碼。如直線插補(bǔ)運(yùn)動(dòng)設(shè)置為G01,順圓弧插補(bǔ)運(yùn)動(dòng)設(shè)置為G02,快速運(yùn)動(dòng)設(shè)置為G00等。(3)MCodes(M代碼)單擊圖7-13中的MCodes選項(xiàng),對話框切換到M代碼設(shè)置對話框,可以設(shè)置各種輔助功能代碼,如主軸的起停、冷卻液的開關(guān)、主軸的順時(shí)針旋轉(zhuǎn)或逆時(shí)針旋轉(zhuǎn)、刀具的換刀等。對于M代碼的分配需根據(jù)具體機(jī)床的輔助功能進(jìn)行設(shè)置。(4)WordSummary(字綜合) 該選項(xiàng)用于綜合設(shè)置數(shù)控程序中可能出現(xiàn)的各種代碼。如代碼的數(shù)據(jù)類型(文本類型或數(shù)值型)、代碼符號、整數(shù)的位數(shù)、是否帶小數(shù)及小數(shù)位數(shù)等。(5)WordSequencing(字順序) 該選項(xiàng)設(shè)置程序段中各代碼的順序。如設(shè)置每一程序語句中的G代碼、輔助代碼、各坐標(biāo)軸的坐標(biāo)值等參數(shù)的順序。(6)CustomCommand(用戶命令) 該選項(xiàng)用于自定義后置處理命令。圖7-14機(jī)床后置處理參數(shù)設(shè)置對話框N/C數(shù)據(jù)定義 在圖7-11最上部一排選項(xiàng)中,選取“N/C數(shù)據(jù)定義(N/CDataDefinitions)”選項(xiàng)圖標(biāo),系統(tǒng)彈出如圖7-14所示對話框,可定義相關(guān)N/C數(shù)據(jù)。(1)BLOCK(塊) 該選項(xiàng)定義各種代碼和操作的程序塊。例如,輔助功能應(yīng)包括哪些字符,循環(huán)鉆孔應(yīng)包括哪些代碼和字符等。(2)WORD(字)該選項(xiàng)定義數(shù)控程序中可能出現(xiàn)的各種代碼及其格式。例如,坐標(biāo)軸代碼、準(zhǔn)備功能代碼、進(jìn)給量代碼、刀具代碼等分別采用哪個(gè)字符表示,以及它們的格式等。(3)FORMAT(格式)該選項(xiàng)定義數(shù)控程序中可能出現(xiàn)的各種數(shù)據(jù)格式。如坐標(biāo)值、準(zhǔn)備功能代碼、進(jìn)給量、主軸轉(zhuǎn)速等參數(shù)的數(shù)據(jù)格式。(4)OtherDataElements(其它數(shù)據(jù)元素)該選項(xiàng)定義其他數(shù)據(jù),如程序序號的起始值、增量以及跳過程序段的首字符等。圖7-1呀5機(jī)床后蟲置處理曲參數(shù)設(shè)添置對話鄉(xiāng)豐框5.O港utpu攪tSe嚷ttin道gs(輸出葬設(shè)定)在圖7-11最上部煮一排選孔項(xiàng)中,市選取Outp插utS冒etti慮ngs圖標(biāo),弟系統(tǒng)彈習(xí)出如圖7-15所示的對速話框,可糧控制列表煌文件是否油輸出和輸哈入內(nèi)容以仰及其它控檔制內(nèi)容。(1)Lis器tin臉gF覆ile(列表達(dá)文件)輸出項(xiàng)屬目有X,Y,Z坐標(biāo)值,婦第四、第侮五軸角度柳值,還有李轉(zhuǎn)速和進(jìn)狂給??梢郧f定義打印振頁的長、月寬及文件梨的后綴。(2)Oth戀er筒Opt什ion落s(其它選趟擇)“確定目”按鈕Outp圖utW呼arni窯ngM殊essa宇ge(輸出熄錯(cuò)誤信南息),陡該選項(xiàng)版設(shè)置設(shè)寬置為ON,后置寄處理時(shí)彼輸出錯(cuò)獻(xiàn)誤信息log文件。Disp嫁lay布Verb蜓ose寨Erro赤rMe哈ssag子e(顯示題錯(cuò)誤信破息),堡該選項(xiàng)擁設(shè)置設(shè)咽置為ON,后置處倡理時(shí)顯示債錯(cuò)誤信息既。Sou救rce釣Us盟er’張sT寸cl且fil存e(源用戶Tcl文件),鞭選擇一個(gè)Tcl源文件。Gene創(chuàng)rate邊Vir蛋tual河N/C很Con僑trol明ler售(VMC拴)(產(chǎn)生停虛擬控苦制器)葬,該選閣項(xiàng)設(shè)置義設(shè)置為ON,用于紹集成仿肺真與校湯驗(yàn)(ISV),系統(tǒng)隊(duì)會(huì)另外產(chǎn)捐生一個(gè)*_vn扯c.t怕cl文件。圖7-16機(jī)床后置腔處理參數(shù)鏈設(shè)置對話瞇框(3)Post政Fil推ePr偏ovie敵w(文件醒預(yù)覽)在圖7-1夢1最上部次一排選蝦項(xiàng)中,宇選取Pos把tF翼ile滿Pr束evi快ew圖標(biāo),系搭統(tǒng)彈出如壤圖7-17所示的對某話框,可綱以在后處詢理文件在滴保存之前犁瀏覽定義墾文件和事澆件處理文良件。上面歌的窗口為賤改動(dòng)后最生新內(nèi)容,低下面的窗擊口為舊內(nèi)掏容。7.5定制后處禾理7.5.目1UG棄/Pos匪t的開發(fā)蜓方法UG/P戀ost的開發(fā),鞭其核心是TCL語言的族運(yùn)用。TCL是一種壘解釋型疏的計(jì)算撞機(jī)語言檢,由Joh鄭nK蘇.O辨ust魂erh敘out于加洲伯大學(xué)伯侮克利分影校開發(fā)始成功,絲式目前由SUN微系統(tǒng)燃公司提略供支持五和維護(hù)倒。TCL是一款案自由軟站件,并鋪且它可牲支持Unig縮慧raph切ics扮NX當(dāng)前支持餡的所有平賄臺。雖然騎本質(zhì)上都催是使用TCL語言,傘但具體土實(shí)現(xiàn)上籌卻有兩埋種途經(jīng)霸:Pos蝴tBu魂ild路er和手工編隊(duì)程Post侵Buil嶺der是UG系統(tǒng)為用但戶提供的參后處理器按開發(fā)工具劉。使用它周用戶只需挎要根據(jù)自較己機(jī)床的抬特點(diǎn),在GUI環(huán)境下進(jìn)厘行一系列塵的設(shè)置即析可完成后劫處理器的違開發(fā)。值距得一提是偷,使用Pos甜tBu皆ild儀er不僅生略成事件府處理器堤文件(*.t團(tuán)cl)、定義文信件(*.撲def例),還生溜成一個(gè)深特別的壩文件(*.襯pui譽(yù))。這個(gè)文蘭件是專供Post魄Buil巴der使用的,南記錄著關(guān)替閉Pos絲式tBu桑ild果er時(shí)的配統(tǒng)置,對很后處理育器來說仰,這個(gè)陶文件是走多余的培。關(guān)于Post框Buil疲der的更多信時(shí)息可參見UG幫助文易檔。手工開發(fā)鉛后處理器緩,就是直犧接用TCL語言編寫倚事件處理臥器文件(*.t挖cl)和定義文筍件(*.d劈燕ef)。這要嫩求用戶蒸具有TCL語言的扇基本知喇識,同岸時(shí),還浴要了解UG對TCL語言的侮擴(kuò)展部燙分。雖棵然手工伙開發(fā)后轉(zhuǎn)處理器昆對用戶游技能要拐求較高閃,但手霜工開發(fā)躺靈活、考方便,預(yù)開發(fā)的雙后處理炎器精煉律、易懂偏、執(zhí)行波效率高滴。7.5漫.2TCL語言簡漂介TCL(Too沫lC允omm三and狡La膠ngu文age)即腳寶本命令弟語言,均它是一誓種易學(xué)串易用易剩于擴(kuò)展虛的腳本萍語言,帆主要用加于發(fā)布犯命令給美一些交仔互程序攻如文本塘編輯器龍、調(diào)試覺器和shel蹈l,它有一扶個(gè)簡單的笑語法和很句強(qiáng)可擴(kuò)充始性,可以遷創(chuàng)建新的抖過程以增諸強(qiáng)其內(nèi)建他命令的能貞力。其次坐,它由作蠅為基本靈命令解膚釋器嵌賊入到工寶具(比如編辰輯器、辭調(diào)試器隸等)中的一個(gè)艱庫包組成新,可以被六嵌入應(yīng)用徹程序。這個(gè)庫提供了一疼個(gè)分析器蝕,一組內(nèi)念置的實(shí)用胸命令和一漸個(gè)C接口,其役中,分析鞏器用于執(zhí)行壟內(nèi)部命令碌的例程和達(dá)可以使之估擴(kuò)充(定嚼義新的過嗓程)的庫皮函數(shù),這個(gè)庫還嬌實(shí)現(xiàn)了提樂供通用的脫編程構(gòu)造削的一組內(nèi)各置命令,助比如變量懇、列表、俊表達(dá)式、私條件、循朋環(huán)和過程慚。單個(gè)的貍應(yīng)用程序疫可以用特隊(duì)定于應(yīng)用攝的命令來鞋擴(kuò)展基本鼻的TCL語言;工具通衫過C接口用特浴定于工具佩的命令增轎加內(nèi)置命束令。TCL在與窗口脫組件庫整響合的時(shí)候救特別有吸丑引力,它焰通過提供錄變量、過消程、表達(dá)萍式等機(jī)制橋增進(jìn)了組棉件的可編控程性并允墻許用戶修拒改編程組飯件的外觀慣和動(dòng)作并敵且它在交飾互式程序鐵之間提供木一個(gè)簡單舍但強(qiáng)力的嗚通信機(jī)制灶。7.5篇.2TCL語言簡介TCL語言有三緩個(gè)特色:(1)語法簡除單,容易焰上手;(2)TCL用來執(zhí)行重與控制系忌統(tǒng)相關(guān)的擇程序,TCL具備足影夠的程裳序化能懶力與存擦取檔案鳥、程序彩及網(wǎng)絡(luò)粉的功能酸,供組牽裝既有嶄軟件組娘件以建者立符合旁需求的佛新工具謠。(3)可內(nèi)嵌船到應(yīng)用程敞序中,讓稠軟件使用充者透過程宅序員提供被的高階TCL指令,自棍訂應(yīng)用程牙序的行為蜻。除了上述抱三個(gè)主要爺特色外,鮮下面幾點(diǎn)棄也是TCL語言成功廣的原因:跨平臺,憶可在各種奸系統(tǒng)(UNI沸X、Win濃dow析s、Maci槳ntos弦h等)執(zhí)行TCL程序強(qiáng)大的跨字符串距處理能襲力,協(xié)守助程序抓員使用浮表示式只的規(guī)則孩或樣式投,用來煮搜尋、滅比對、盾粹取或短是取代蕩符合樣呀式的復(fù)藝雜字符啄串??捎肅語言開發(fā)TCL聚Ex暈ten涂sio鞭nL彎ibr浮ary,擴(kuò)充TCL的指令與帽能力??偨Y(jié)來克說,TCL語言就攻像是一戶瓶膠水騰一般,食只要收鑰集可運(yùn)奏用的應(yīng)壩用程序陳與TCL太Pa德cka伶ge,在這膜些接口辜上涂涂雨抹抹,事寫個(gè)簡聚單的TCL脖Scri表pt(配TCL指令的向集合),在短暫熊的時(shí)間內(nèi)隆就可組裝而出一個(gè)新劃工具來。7.5.梯3TC粱L語法簡介1.基本役語法TCL語言的語則法實(shí)際上叫是一些TCL解釋器尖怎樣對TCL命令進(jìn)蜂行分析柄的規(guī)則保的集合偵,TCL的基本劑語法類磚似于UNI過Xs堵hel延l:命令騾由用空紀(jì)格或TAB分隔的一鳥個(gè)或多個(gè)舅字段組成非。第一個(gè)畏字段是命工令的名字價(jià),它可以吐是內(nèi)置命幼令、特定撈于應(yīng)用的南命令、或磁者是由一鐵系列的TCL命令組成閘的過程。獎(jiǎng)在第一個(gè)僑單詞后面瓦的字段都硬作為參數(shù)好傳遞給命湊令。(1)注釋關(guān)于TCL的注釋有聾一個(gè)特殊洗的要求:'#'必須出四現(xiàn)在TCL解釋器期尾望命令的甘第一個(gè)字捆符出現(xiàn)的工地方,才筒被當(dāng)作注門釋。例如:set服a輪1#猜No卻ta嚴(yán)co液mme亦ntset承b匯2;槽#喪thi斬si摟sa世co滑mme禮nt第一個(gè)例刪子中'#'及其后熔面的內(nèi)暖容會(huì)被嚷當(dāng)作set的參數(shù)欠而非注艇釋從而筋導(dǎo)致參餅數(shù)個(gè)數(shù)寸錯(cuò)誤;虧但第二瞇個(gè)被解匪釋為注企釋,因述為'#'前面有猶一個(gè)分鏈號,而奴分號和遇換行一蔑樣被看潛作是命膀令的分鳴隔符。(2)eva尼l命令eval命令是歌一個(gè)用葉來構(gòu)造傾和執(zhí)行TCL腳本的命防令,其語獻(xiàn)法為:eval資arg趴arg喉...它可以接躍收一個(gè)或乒多個(gè)參數(shù)盒,然后把白所有的參鐵數(shù)以空格宴隔開組合戒到一起成西為一個(gè)腳革本,然后帝對這個(gè)腳持本進(jìn)行求對值。(3)sou技rce命令sou績r(jià)ce命令讀一將個(gè)文件并淹把這個(gè)文惑件的內(nèi)容睜作為一個(gè)喂腳本進(jìn)行喘求值。例側(cè)如:sour潛cee圍:/tc欺l&c/幫hell竹o.tc平l注意路徑趟的描述應(yīng)視該和UNIX相同,使治用'/'而不是'\'。2.置換(Sub峽sti祥tut遵ion倘)set嘉x酷10set孟y披100創(chuàng)+故x上面命令符執(zhí)行后,y的值是“100茫+熄x”而不是蘭我們期連望的110。這是因祥為TCL解釋器存在分析錦命令時(shí)校,把所施有的命援令參數(shù)喝都當(dāng)作瞎字符串寸看待,鬼所以x被看作了憑字符串“100默+x”的一部分叼。如果我躺們想使用x的值'10',就必須疑告訴TCL解釋器不:我們壯在這里資期望的書是變量x的值,而呆非字符'x'。怎么尚告訴TCL解釋器呢隙,這就要笨用到TCL語言中吩提供的趨置換功轎能。TCL提供三種耳形式的置炒換:變量攪置換、命配令置換和略反斜杠置董換。每種巷置換都會(huì)益導(dǎo)致一個(gè)身或多個(gè)單膝詞本身被介其他的值秋所代替。史置換可以處發(fā)生在包惡括命令名孟在內(nèi)的每畏一個(gè)單詞強(qiáng)中,而且江置換可以握嵌套。(1)變量醋置換(var男iab甘le功sub崇sti模tut刺ion)變量置換艱由一個(gè)$飼符號標(biāo)記響,變量置鹽換會(huì)導(dǎo)致茶變量的值撐而非變量貢(標(biāo)識符軍)本身被鋼插入到字仁符串中。set層x摸10set甘y10娃0+客$x這時(shí),y的值還不汪是我們想漠要的值110,而是10+1衛(wèi)00,因?yàn)門CL解釋器把10+1郊00看成是一紡個(gè)字符串炎而不是表薪達(dá)式;y要想得到銀值110,還必壘須用命齊令置換疾,使得TCL會(huì)把10+次100看成一個(gè)泊表達(dá)式并耍求值。(2)命令斯置換(com匙man宰ds畏ubs絲式tit唉uti塵on)命令置糟換是由[]括起來的TCL命令及其謀參數(shù),命持令置換會(huì)唇導(dǎo)致某一承個(gè)命令的廟所有或部買分單詞(蛙參數(shù))被儲另一個(gè)命雅令的結(jié)果告所代替。set甚x10set個(gè)y國[ex衛(wèi)pr客100現(xiàn)+$x撒]這時(shí),y的值就是110了。這里殘當(dāng)TCL解釋器遇美到字符'['時(shí),它就吵會(huì)把隨后偶的exp劫r作為一個(gè)歐命令名,喇從而激活惰與expr對應(yīng)的C/C+洽+過程,錫并把exp廊r命令中變怒量置換后愛得到的'10+責(zé)110'傳遞給機(jī)該命令播過程進(jìn)堅(jiān)行處理封。注意,[]中必須是搞一個(gè)合法早的TCL腳本,長份度不限。[]中腳本磚的值為被最后一臨個(gè)命令昨的返回舒值。有了命令恨置換,實(shí)彼際上就表酸示命令之環(huán)間是可以量嵌套的,孤即一個(gè)命耳令的結(jié)果年可以作為柿別的命令炒的參數(shù)。(3)反斜杠屑置換(back壁slas害hsu萄btit歉utio牢n)TCL語言中焦的反斜稼杠置換快類似于C語言中反城斜杠的用圖法,主要棄用于在單壯詞符號中酸插入諸如鏟換行符、渾空格、[、$等被TCL解釋器當(dāng)嗓作特殊符認(rèn)號對待的楚字符。例搬如:set參msg吩mult鴨iple應(yīng)\sp煩ace如果沒艱有'\'的話,TCL會(huì)報(bào)錯(cuò),鋪因?yàn)榻忉専鲿?huì)把這閃里最后兩快個(gè)單詞之醋間的空格德認(rèn)為是分歡隔符,于私是發(fā)現(xiàn)set命令有墻多于兩辱個(gè)參數(shù)則,從而況報(bào)錯(cuò)。遍加入了'\'后,空格犯不被當(dāng)作袖分隔符,'mul丸tipl抬esp裁ace'被認(rèn)為是疏一個(gè)單詞(wo振rd)。(4)雙引偏號和花幕括號除了使你用反斜尾杠外,TCL提供另拿外兩種疏方法來減使得解蒸釋器把校分隔符葡和置換程符等特爆殊字符簽當(dāng)作普資通字符照,而不紅作特殊裂處理,黨這就要頂使用雙瘡引號“勿”和花較括號{}。TCL解釋器逗對雙引恒號中的毯各種分檔隔符將鈴不作處漂理,但單是對換篇行符及妨$和[]兩種置換眨符會(huì)照常雙處理。而昂在花括號社中,所有躲特殊字符窩都將成為待普通字符揮,失去其若特殊意義債,TCL解釋器不目會(huì)對其作價(jià)特殊處理鉛。TCL變量TCL只支持寫一種數(shù)飲據(jù)類型儀:字符嚼串(stri劍ng)。所有倍的命令,朱命令的所扇有的參數(shù)料,命令的繼結(jié)果,所炕有的變量匆都是字符保串。TCL變量根瓶據(jù)其結(jié)鑄構(gòu)的復(fù)腿雜程度址分為“圓簡單變嫂量”和怨“數(shù)組款變量”屆兩類。1.簡單變報(bào)量一個(gè)TCL的簡單漿變量包描含兩個(gè)淘部分:晉名字和咐值,其滾中名字蝦和值都薯可以是巨任意字喪符串。雹不過為勁了更好節(jié)的使用佩變量置俯換功能沿,變量寒名最好曠按C\C雞++語言中療標(biāo)識符攪的命名組規(guī)則命蛋名。這桿是因?yàn)門CL解釋器互在分析另一個(gè)變束量置換勺時(shí),只膛把從$生符號往姻后直到選第一個(gè)李不是字險(xiǎn)母、數(shù)容字或下脂劃線的怪字符之壘間的單究詞符號孩作為要塑被置換死的變量生的名字消。例如:set墾a產(chǎn)2set壤a.1次5set服b$a劫.1在最后犧一個(gè)命幟令行,南我們希票望把變戲量a.1的值付須給b,但是TCL解釋器在虎分析時(shí)只恭把$符號之裝后直到遺第一個(gè)切不是字銳母、數(shù)勵(lì)字或下繞劃線的適字符(這里是'.')之間的單翅詞符號(這里是'a'抄)當(dāng)作要投被置換譽(yù)的變量檔的名字游,所以TCL解釋器望把a(bǔ)置換成2,然后把字彩符串“2.1”付給變搬量b。這顯怠然與我滴們的初惰衷不同永。當(dāng)然佩,如果栽變量名狹中有不勇是字母掏、數(shù)字杰或下劃楊線的字找符又要秘用變量均置換,肌可以用儀花括號廈把變量劑名括起裁來。例憶如:set遣b${殿a.1}2.?dāng)?shù)組變筐量數(shù)組是一趕些元素的淡集合。TCL的數(shù)組艙和一般構(gòu)編程語戀言中的匙數(shù)組有正很大的雅區(qū)別。浩在TCL中,不討能單獨(dú)淘聲明一荷個(gè)數(shù)組王,數(shù)組咸只能和麻數(shù)組元任素一起泡聲明。踐數(shù)組中娃數(shù)組元曬素的名留字包含舟兩部分仙:數(shù)組箭名和數(shù)烏組中元問素的名雁字,TCL中數(shù)組元企素的名字泄(下標(biāo))豪可以為任箭何字符串略。例如:set拼day(瓦M(jìn)ond銀ay)疤1set止da扎y(T佩ues炕day拌)2第一個(gè)命靈令生成一并個(gè)名為day的數(shù)組蠶,同時(shí)楊在數(shù)組笛中生成錯(cuò)一個(gè)名濤為Mon窮day的數(shù)組元栽素,并把才值置為1,第二億個(gè)命令耍生成一敢個(gè)名為Tue振sda挺y的數(shù)組餅元素,盾并把值素置為2。在數(shù)組元它素的置換折中,除了容有括號之白外,數(shù)組膝元素的置齒換和簡單失變量類似濾。例如:set宜aM塑ond趨ayset肥day優(yōu)(Mo界nda幻玉y)贏1set錢b$婦day顏(Mo脖nda融y)傲//努b的值為1,即day(緩Mond蹲ay)的值。set灶c昌$day尿($a)棟//c的值為1,即day犯(Mo儀nda籍y)的值。3.相關(guān)指桑令(1)set指令:TCL的變量可如以隨時(shí)建性立不用事鉛先宣告,冷變量名稱戀的取法也擋沒有任何著限制,所廊以可以使斜用任何字醉符來為變照量命名,嗓甚至變量抹名和指令腔名稱相同液也沒問題景。使用時(shí)度只有一點(diǎn)死要注意的狠就是TCL是大小種寫有區(qū)益別的語同言。通宗常,我仍們以set指令來堂設(shè)定變祥量值:set菌x5set徹y陽6set南PI3胃.14set炮PI*2椒6.2尋8;#注意!變消量名稱是PI*2puts廢$PI蠻*2set美PITCL的set指令除滿了有設(shè)腥定變量君值的用輪途外,蹤蝶也可以您用來取管出變量指的內(nèi)容戒,如上度列程序準(zhǔn)最后一糞行使用set指令取出PI的值(注意!量這邊不否用在變芳量名稱布前加上$符號)。(2)uns嘉et指令用康來刪除被一個(gè)或首多個(gè)變祝量,來何釋放內(nèi)逆存空間釘:unse衛(wèi)tx淚yPITCL變量TCL只支持一命種數(shù)據(jù)類遲型:字符衰串(str湊ing)。所有廢的命令,技命令的所筒有的參數(shù)替,命令的脾結(jié)果,所喬有的變量五都是字符餅串。TCL變量根狡據(jù)其結(jié)凝構(gòu)的復(fù)侍雜程度腿分為“容簡單變定量”和餃“數(shù)組妹變量”結(jié)兩類。1.簡單變弄量一個(gè)TCL的簡單變采量包含兩事個(gè)部分:老名字和值裁,其中名剃字和值都愛可以是任沉意字符串遇。不過為餐了更好的星使用變量袖置換功能鬧,變量名州最好按C\C關(guān)++語言中緒標(biāo)識符姓的命名早規(guī)則命所名。這躍是因?yàn)門CL解釋器在求分析一個(gè)仙變量置換誦時(shí),只把嫌從$符號見往后直到祖第一個(gè)不苗是字母、沃?jǐn)?shù)字或下菌劃線的字迫符之間的關(guān)單詞符號胸作為要被比置換的變既量的名字油。例如:set羊a揀2set謠a.1唯5set誓b攔$a.強(qiáng)1在最后粥一個(gè)命漫令行,痕我們希嘩望把變準(zhǔn)量a.1的值付給b,但是TCL解釋器由在分析憂時(shí)只把$符號之后允直到第一或個(gè)不是字胖母、數(shù)字貼或下劃線儀的字符(這里是'.')之間的腥單詞符疫號(這里是'a'業(yè))當(dāng)作要值被置換茫的變量酷的名字時(shí),所以TCL解釋器蠅把a(bǔ)置換成2,然后把字菜符串“2.1”付給變約量b。這顯榆然與我挪們的初染衷不同休。當(dāng)然儉,如果抱變量名察中有不假是字母忙、數(shù)字麗或下劃恢線的字妙符又要短用變量噴置換,割可以用番花括號會(huì)把變量災(zāi)名括起感來。例拔如:set綱b${愛a.1}2.?dāng)?shù)組變草量數(shù)組是華一些元呢素的集遵合。TCL的數(shù)組和跑一般編程需語言中的詳數(shù)組有很蘇大的區(qū)別傾。在TCL中,不能丈單獨(dú)聲明輝一個(gè)數(shù)組閑,數(shù)組只陜能和數(shù)組貍元素一起嫂聲明。數(shù)俱組中數(shù)組波元素的名霉字包含兩鎮(zhèn)部分:數(shù)已組名和數(shù)轉(zhuǎn)組中元素池的名字,TCL中數(shù)組詞元素的碰名字(暗下標(biāo))巧可以為較任何字遵符串。例如:set芬day(押Mond最ay)寶1set彈da早y(T援ues楚day舊)2第一個(gè)命梁令生成一母個(gè)名為day的數(shù)組,辦同時(shí)在數(shù)故組中生成閑一個(gè)名為Mond耍ay的數(shù)組泛元素,敞并把值已置為1,第二個(gè)虎命令生成作一個(gè)名為Tues色day的數(shù)組袖元素,資并把值續(xù)置為2。在數(shù)組汽元素的矮置換中壤,除了帆有括號況之外,喊數(shù)組元臉?biāo)氐闹脗€(gè)換和簡沈單變量末類似。泰例如:set荷a犁Mond桶ayset腸da蠟y(Mo鄭nday舟)用1set儉b$炸day曾(Mo窄nda挺y)斯//滲b的值為1,即day(笛Mond鋼ay)的值。set麻c京$day母($a)雨//c的值為1,即day環(huán)(Mo窩nda賀y)的值。3.相關(guān)賀指令(1)set指令:TCL的變量可幕以隨時(shí)建汪立不用事需先宣告,貍變量名稱高的取法也儲沒有任何振限制,所拘以可以使瓶用任何字嘩符來為變艦量命名,濾甚至變量保名和指令穗名稱相同雕也沒問題友。使用時(shí)消只有一點(diǎn)門要注意的送就是TCL是大小寫霧有區(qū)別的摧語言。通鴿常,我們役以set指令來獎(jiǎng)設(shè)定變索量值:set品x腔5set慰y填6set月PI3異.14set勝PI單*2壞6.2趣8;#注意!繡變量名辜稱是PI*廢2put露s$診PI*品2set消PITCL的set指令除了持有設(shè)定變兄量值的用牌途外,也袋可以用來殊取出變量要的內(nèi)容,害如上列程鎖序最后一司行使用set指令取洲出PI的值(注意!計(jì)這邊不菊用在變瘋量名稱搞前加上$符號)。(2)unse物t指令用來貫刪除一個(gè)灶或多個(gè)變丘量,來釋移放內(nèi)存空吳間:unse涂tx耕yPI7.5住.5數(shù)據(jù)型顧態(tài)TCL語言的基垂本數(shù)據(jù)型袖態(tài)有:stri刺ng、list、arr析ay、hand熄le(不經(jīng)字常使用煩,不作敞介紹)結(jié)。1.stri款ng字符串圓數(shù)據(jù)型勿態(tài)字符串患是TCL語言最基鼻本的數(shù)據(jù)斃型態(tài),常笛見的字符錯(cuò)串處理指會(huì)令有:stri腸ng、app陣end、form使at、scan以及bina冶ry。(1)str捉ing指令語法:str須ing贏su斯bcm和da飼r(shí)g滋[ar慎g..且.]str儉ing命令具史有強(qiáng)大沉的操作芳字符串嗓的功能,并通過其融中的subc摸md來區(qū)別蛛具體將液要執(zhí)行趙的stri庸ng操作。他福們中的一惠些如下:str制ingleng商thstr盲ing:傳回字清符串的字脅符數(shù)str季ing斑ra伯nge寒st禽rin隆gij:取出str脅ing字符串中歪從i到j(luò)位置的芒字符str攜ing裳in勤dex梁st歉rin油gcha辭rIn善dex:傳回inde耽x位置所在考的字符str湯ing幟to從low寫er融str身ing基[f蝦irs腹t]錢[la戲st]:將所頁定義的封字符串瓜范圍中碎之字符甘轉(zhuǎn)換為判小寫字清符str商ing翁re于pla動(dòng)ce近str雖ing怪fi暢rst平la稀st撐[ne標(biāo)wst怠rin追g]:以空拜字符串融或new紡str豈ing取代指里定范圍拘的字符叢串str歷ing杰eq誘ual便[-蹦noc沙ase戀][清-le氏ngt按hi浴nt]常st值rin忍g1盈str飲ing眼2:比較str董ing漏1和stri廳ng2的內(nèi)容歇,若相遺同傳回1,否則它傳回0stri拔ngm螞atch固[-n講ocas戚e]p稈atte至rns康trin屆g:如果patt誕ern匹配stri戲ng,那么返疊回1,否則返陷回0str壘ing唱co邁mpa劈燕re畢[-n屢oca熊se]沙[-計(jì)len長gth經(jīng)in彈t]播str泄ing窩1s輝tri討ng2:如果有-len輛gth參數(shù),壯那么只輸比較前int個(gè)字符stri籍ngf看irst逐str薯ing1高str跌ing2涂[st哭arti賽ndex游]:在str逗ing葬2中從頭查懸找與stri闖ng1匹配的富字符序慨列,如池果找到切,那么游就返回湊匹配的頂?shù)谝粋€(gè)活字母所程在的位祝置(0-b只ased奧)。如果沒撓有找到,頸那么返回-1str顛ing員tr漢im恰str龍ing渴[c蠅har母s]返回值領(lǐng)為:從str毅ing字符串師的首尾艇刪除掉墻了字符胳集合cha哀rs中的字符凍后的字符字串。如果喂沒有給出cha戒rs,那么將浴刪除掉spac馬es、tabs、newl信ines、car膚ria冤ge嗓ret尼urn挪s這些字符(2)appe患nd指令app雨end指令用來圾將新的項(xiàng)溪目附加到餃指定變量強(qiáng)的內(nèi)容后伸。例:%s艙et紅foo凡ri騎ckrick%a芝ppe魂nd股foo首i卵lov傭ey乖ourick逮ilov持eyou(3)form胸at指令與C語言中的pri磚ntf十分相乒似的指舅令,form熄at指令依據(jù)醉指定的格茅式將字符惑串格式化證。for制mat喚sp仍ec艙val它ue1相va蝦lue袖2…(4)scan指令與C語言中的scan惱f十分相似羞的指令,scan指令依鞭據(jù)指定形的格式貪化條件患剖析字控符串并絡(luò)將結(jié)果秘放入變尤量中。scan吹str奴ing指form練at?畫varN御ame?蜻?va棉r(nóng)Nam旱e?錫…(5)bina傭ry指令bin刮ary惡fo亂rma梨tt暗emp搬lat膛ev例alu刻e?日val干ue鄉(xiāng)豐….?bina淺rys代can朝valu雅ete岸mpla俗tev昆aria鬧ble首?var罩iabl鑼e…?bina燥ry指令比采較復(fù)雜數(shù),只需餓看幾個(gè)bin類ary指令常聲用的用宣法即可使用c為模板(tem除plat哨e),將數(shù)薦值97格式化為ASCI搏I(xiàn)字符:%b斬ina棚ry拜for救mat肚c雀97=>a使用c為模板(te何mpl大ate天),將字夫符6的ASC修II值讀進(jìn)var1變數(shù)中息:%s柔et愚inp竊ut結(jié)6%bi窩nary懷sca收n$i逢nput予cv喘ar1%s虎et封var躲1=>被542.lis招t串行數(shù)據(jù)請型態(tài)list這個(gè)概封念在TCL中是用貌來表示底集合的愚。TCL中l(wèi)is復(fù)t是由一堆虹元素組成僚的有序集咬合,lis紛t可以嵌套宣定義,lis沫t每個(gè)元素期可以是任欠意字符串昆,也可以吼是list。TCL提供了很耍多基本命裁令對lis然t進(jìn)行操役作:(1)list指令語法:lis游t[鎖va派lue如va糟lue蛾...她]:這個(gè)命挎令生成一階個(gè)list,list的元素桐就是所雁有的valu貝e。(2)conc乓at指令語法:conc刺atl闖ist己[lis遣t...件]:這個(gè)命豆令把多個(gè)lis列t合成一易個(gè)list。(3)llen袋gth指令語法:llen懲gth皇list:返回lis泊t的元素昨個(gè)數(shù)。(4)lin羽dex指令語法:lind態(tài)exl際ist循inde駱x:返回list的第ind雖ex個(gè)(0-料bas蔥ed)元素。(5)lra址nge指令語法:lran筍gel活ist濤firs厘tla愉st:返回list的第firs依t(0零-bas奸ed)到第last暑(0-紡base績d)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳統(tǒng)食品企業(yè)2025年技術(shù)改造項(xiàng)目實(shí)施保障措施研究報(bào)告
- 四季特色飲品市場消費(fèi)者購買行為與品牌關(guān)系研究報(bào)告001
- 中草藥足浴培訓(xùn)課件
- 中國歷代疆域變化
- 周口紅色歷史文化課件
- 原地跑步課件作品介紹
- 中國冬夏氣溫課件大全
- 陳鶴琴教育思想與實(shí)踐體系
- 腫瘤患者血管評估體系構(gòu)建
- 中國八音課件
- 云南省大理2025年八年級下學(xué)期語文期末模擬考試卷三套及答案
- 國家開放大學(xué)國開電大《統(tǒng)計(jì)與數(shù)據(jù)分析基礎(chǔ)》形考任務(wù)1-4 參考答案
- 風(fēng)電居間合同協(xié)議書
- 浙江開放大學(xué)2025年《社會(huì)保障學(xué)》形考任務(wù)4答案
- 教育數(shù)字化轉(zhuǎn)型背景下的小學(xué)英語教學(xué)研究
- 醬料研發(fā)知識培訓(xùn)課件
- 2025核輻射突發(fā)事件放射性污染人員洗消流程及技術(shù)要求
- 湖北省黃岡市黃梅縣2023-2024學(xué)年六年級下學(xué)期語文期末質(zhì)量監(jiān)測試卷(含答案)
- 醫(yī)療廢物處置項(xiàng)目可行性研究報(bào)告(范文)
- 常見慢性病的健康管理試題及答案
- 高中英語單詞資料-英譯漢
評論
0/150
提交評論