Cimatron的后置處理技術7438240598_第1頁
Cimatron的后置處理技術7438240598_第2頁
Cimatron的后置處理技術7438240598_第3頁
Cimatron的后置處理技術7438240598_第4頁
Cimatron的后置處理技術7438240598_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Cimatron的后置處理技術7438240598后處理修改詳解〖第一課〗了解GPP后處理必須的過程GPP后處理,必須的過程莫過編譯了。后處理修改的過程如下:一、有記事本或專用的后處理修改器來修改 EXF文件,EXF文件又稱源代碼。二、 編譯,利用修改好的EXF文件,生成可用的DEX文件。三、 測試,看看您修改的后處理是否合乎您的需要。另外,有些修改內容是不在EXF中,而是屬于DEF的內容,這時候不需要修改EXF文件,只需要用另外的工具來修改就可以了。下面會給出圖片來解釋。打開DEMO.EXF開頭的內容就是關于自定義的變量類型了*defineprivatevariables:FORMAT(SEQUENCING)SeqSubSeq;-行-號類型有關的變量FORMAT(TOOL)CutterCompFirstToolLastTool;--刀具類型有關的變量FORMAT(COORDINATES)XoldYoldZoldDXcenterDYcenterDZcenter;--坐標類型有關的變量FORMAT(COORDINATES)ZinitClearDepth;FORMAT(COORDINATES)XhomeYhomeZhome;FORMAT(COORDINATES)XfirstOriginYfirstOriginZfirstOrigin;FORMAT(USER_1)CurrSubNum;FORMAT(coordinates)ORIGOLDIORIGOLDJORIGOLDK;*defineprivateflags:FORMAT(USER_2)FlagSubFlagSeqFlagSpin;--與用戶2定義的類型有關的變量FORMAT(USER_2)FirstOriginChangeFlagErrorFlagrotmac;*defineprivateconstants:FORMAT(USER_2)YESNO;changetheformatofexistingvariables:FORMAT(USER_1)SUB_NUMBER;此處偶把其看作是"戶籍登記處",用戶自己定義的變量必須在此登記,否則將編譯錯誤.一旦選定類型,其變量格式由*.DEF文件對應部分控制。(DEF文件對應位置操作:主菜單-NC-DFPOST后處理名-FORMATS選擇相關類型[在此可修改如最大(小)整(?。?shù)位,等等內容]見圖:例如:你的行號最大只認是99999,則可以修改行號類型(左圖第6行)中的最大整數(shù)位為5(右圖第1行);又如:你要求程序輸出保留小數(shù)3位,則修改坐標類型(左圖第1行)中的最大小數(shù)位為3(右圖第2行),等等控制菜單中的兩個重要有關圖標解釋一下:一,DFPOS,這個就是我在一樓中說的DEF修改器,里面有相關的G代碼定義,如果你愿意,可以把直線插補定義成G08(隨便舉的例子),當然還有一個更重要的是,有些朋友不希望在程序中輸出M09也可以在這里改。二,DFEXF這個就是編譯器,任何后處理源代碼的修改,都必須要通過這個編譯器編譯成功后,才能生效。在正式開課后,會針對這兩個命令做進一步的解釋??梢哉f,不會這兩個功能,就相當于不會改后處理,不會改后處理,那就相當于不會用Cimatron。因為每一臺機床的控制系統(tǒng)都可能會不一樣,Cimatron并沒有提供更多的后處理來供您使用,當您換一個環(huán)境,或是增加一臺機床,都可能面臨后處理的問題??梢哉f,修改后處理,比學習幾個刀路會來得更實在一些。第一課中,我們需要來給大家講解一下編譯的過程,希望大家不要嫌簡單。例一:準備工作:找到POST文件夾,并找到DEMO.exf,Demo.def,Demo.dex這三個文件。具體操作:不需要做任何修改。首先打開MainMenu或者是CimatronEControlPanel(E的控制面板),找到dfexf這個項目,單擊他,出現(xiàn)如下提示:CIMATRONEexternalfiledefinitionprogram(version7.0)Enterfilenamewithoutextension(.exf) 請直接輸入demo按下回車。此時會提示ENDOFCOMPILATION:validdemo.dexcreated(有效的demo.dex文件已經(jīng)創(chuàng)建了)Press<CR>toexit.(按回車退出)再次按下回車,退出此界面。作用:編譯一個正確的EXF文件到DEX文件,以備CimatronNC在POST寸調用。例二:準備工作:打開Demo.exf文件,用記事本就可以打開了,在里面添加一行 :output$"(Test)";放在BEGINNINGOFPRO的上面,存盤退出。

具體操作:先按例一的操作,結束后,用E/IT打開一個圖檔,然后POST一條刀路,應該在前三行會出現(xiàn)(Test)字符,如下:%00100(Test)T01G90G80G00G17G40M23G43H01Z100.S1000M03G00X-3.Y0.0Z100.M09作用:正確地修改和編譯。如果此項不成功,請檢查步驟是否有錯,并繼續(xù)看例三。與GPP修改有關地方CimutroiiE第二課〗DEF文件定制及相關項目解釋與GPP修改有關地方CimutroiiE第二課〗DEF文件定制及相關項目解釋W-rtnrrirn1'Pndu1--hrmi卩一燈』_i|J H皆.L-fc_-L.IET|47ii*!!-*1-F;/V4Tri-**Zb-廣1.;1.!%17 ? ■it心*112aI-L27—ar*吋1-f女tr為琨Def文件,可以算作是一個通用定義,比方說各代碼的定義,輸出格式等等,有的要4位小數(shù),有的只要2位小數(shù),都可以在這里定義例一:目標:去掉程序中輸出的M09。具體操作:打開控制面板,找到DFPost并單擊他。光標移到demo下面,并按下回車。會出現(xiàn)下列的對話菜單:TAPEINFORMATIONPROGRAMMINGMODEANDUNIT3.FORMATSPOSITIONINGCODES(Notinuse)MESSAGESANDINSERTS6.MACHINEPARAMETERSLINEARMOTIONCIRCULARMOTIONNURBSMOTIONSCANNEDCYCLESOUTPUTFILESPOSTPR/EXPSTINTERFACE光標移到第六項,按下回車,再移到第8項,這一項是指關閉冷卻方式的代碼,光標會停在M09的M上,按三次空格,再按下回車。修改結束。如何讓這次改動生效,不是按下ESC退出就可以了的,您必須有一個存盤退出的過程。按下ESC一共需要2次,這時對話框顯得有些亂,多進入退出幾次,可以改善這一狀況,如圖所示。第一項,問您什么文件名,這個當然不用動了。第二項,是否保存,當然是YES了,一般來說,這個也不用動他。第三項,是否替換,這時候要按下<TAB鍵,把他切換為YES第四項,準備一個輸出文件,這個不用理他。準備好這四項的確定后,按下Ctrl+Z(先按住Ctrl鍵不放,然后再按下Z鍵,再一起放開),保存就生效了,再按下回車退出,關閉這個對話框打開DEMO.EX文件,找到以下內容:********************************************************INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=1主程序號INTERACTION(TOOL)"DIACOMP=TOOL+<xx>"DiaComp=50刃補號INTERACTION(USER_1)"TOOL-CHANGE-PROGRAM"ChangeTool=8000換刀子程序號INTERACTION(CHARACTER)"SEQUENCING<Y/N>"NumYN="N"否需要行號INTERACTION(SEQUENCING)"SEQUENC-START"SeqStart=10起始行號INTERACTION(SEQUENCING)"SEQUENC-INCR."SeqIncr=[upload=jpg]10;行號增量甲坦慎艮腌蛭鋼創(chuàng)霽5艸_耐2冃bbEc!--fd tluniQTOC\o"1-5"\h\zSaucdefinition? VESReplaceit? HOPr£pareaprintautFile? NOINTERACTION(CHARACTER)"SUBROUTINES<Y/N>"Sub="Y"是否輸出子程序INTERACTION(USER_1)"SUB-PROGRAM-NUMBER"StartSubNum=100子程序J號********************************************************菜單說明:INTERACTION交互作用,是執(zhí)行后處理時的一些交互的內容:(CHARACTER)符類型,僅指定義的符號(USER_1格式類型,性質同變量格式,余同?!癤XXX..…XXXX”交互菜單顯示內容MainNum定義符,其定義的值或者字符由編程者輸入。例:當主程序號輸入5時,相應的輸出部分內容“MainNum則用5取代。*——outputIF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;----NC 文件輸出為%05ELSEOUTPUT"%"\J"O"MainNum;----NC 文件輸出為%05END_IF;如果需要添加新的交互內容,只需要添加一個交互行就可以了,當然需要注意被交互的內容格式是字符型還是實數(shù)型。假如我要出兩種不同程序頭的后處理,可以在樓上的菜單中,增加一行 :INTERACTION(CHARACTER)"CONTTYPE_SELECT"CONTTYPE=字符型的交互內容在EXF文件程序頭輸出部分改成下面內容就可以了IF_SET(CONTTYPE_EQ_"y")CONTTYPE="Y";END_IF;大小寫設別IF_SET(CONTTYPE_EQ_"Y")女口果CONTTYPE=YOUTPUT"%_N_DM_MPF"\J;OUTPUT";$PATH=/_N_MPF_DIR"\J"G90GOOG17G64G54";ELSE反之OUTPUT"%"\J"G90GOOG17G40G54";END_IF;判斷結束當編程者在交互區(qū)輸入丫或非丫時,NC文件程序頭分別為:%_N_DM_MPF;$PATH=/_N_MPF_DIR_MPFG90G00G17G64G54或:%G90G00G17G40G54有不少人或許對上面的條件判斷不大了解,可翻舊貼查看?主要判斷符號如下:等于_EQ_不等于_NE_大于_GT_小于_LT_大于等于_GE_小于等于_LE_第三顆定義DEF文件TapeInformationWhenthemaximumnumberofblocksortapelengthisreachedduringanexecution,thetapewillbecutautomaticallyandawarningmessagewillbeissued.1.Maximumno.ofblocksintape<>2.Maximumtapelength(inmeters)<60.0>3.Subroutinesinseparatefiles<YES,NO>第一項:紙帶中最多的塊數(shù),所謂塊數(shù),指的是紙帶中的任意一個指令的存在,比方說“G01,就算一個BLOCK“X1O0,也算一個BLOCK第二項,紙帶的最大長度。這個代表的是米數(shù)(是紙帶長度還是刀路長度沒有去具體了解,字面意思理解是紙帶長度)。第三項,是否在分開的文件中引用子程序。這一段的設置,在我們大多數(shù)地CNC應用中,是很少接觸到的,所以如果沒有必要的話就不要去動他了,這個大家能夠了解一下就可以了,留在腦中以防萬一。ProgrammingModeandUnitQuestions1through4areforinformationalpurposesonly.Everylengthunit(X,Y,Z,I,J,K)willbemultipliedbytheFactorforlengthunits.Programmingmode<ABSOLUTE,INCREMENTAL,BOTH>Codeforabsolutecoordinates<G9O>Codeforincrementalcoordinates<G91>Lengthunitofmeasurement<METRIC,INCHES,BOTH>Factorforlengthunits<1.O>ToolStartPoint<TPHOME,1STPROCHOME>Coordinateorientation<MACSYS,1stPROC,CURPROC>第一項:編程模式,分別為絕對值編程,相對值編程,混合編程。第二項:使用絕對值坐標的命令(默認為G9O)第三項:使用相對值坐標的命令(默認為G91)第四項:長度單位(公制,英制,混合)第五項:比例因子(默認為1.O),這是一個非常有用的功能,許多人都問過,但我一般都沒有去回答,因為涉及到前面的那些基本操作和理解,要一個一個地說清楚,是一件很郁悶的事。當你的工件忘記放收縮了,可以用這個讓刀路放收縮,注意,這個是絕對的,也就是說,你的工件圖形和目標工件,必須存在的是一個固定的比例關系,不可以是型腔要放收縮,而導柱孔不需要放收縮,要放就一起放,除非你深入地去理解他,操作他。如果零件的縮水是0.008,那么這里就輸入1.008,圖形中的100mm加工后就變成了100.8mm這個參數(shù)一定要小心修改?第六項:刀具起始點,分別為路徑起點,第一程序起點。第七項:坐標原點,分別為機床原點,第一程序原點,當前程序原點。上面這兩項,沒必要的話,不要去弄他,一,四項一般來說,也不要去動他。Note:6.ToolStartPoint:IfTPHOMEischosen,X_HOME,Y_HOME,andZ_HOMEwillbethecoordinatesofthetoolpathstartpoint.If1STPROCHOMEischosen,thecoordinateswillreflectthestartpointoftheprocedure.7.Coordinateorientation:If1STPROCischosen,theoutputorientationwillbethesameasthatofthefirstoutputprocedure.IfCURPROCischosen,theoutputorientationwillbethesameasTPLIST.FormatsThereareeighteenformatoptionquestionsforeachofthefollowingformats.Theyarelistedbelowtheformats.Thedefaultvaluesfortheformatseachhaveavaluewithtwelvepositions.Eachpositionrepresentsananswerforoneofthetwelveformatoptionquestions.IfaquestionistobeansweredYESorNO,0isNOand1isYES.Thetilde~symbolrepresentsanycharacterbutablank.Ablankspaceinthedefaultpositionindicatesthatnocharacterorspacewillbeinsertedinthespecifiedposition.Note:FortechnicalreasonsthevaluesrepresentingtheanswerstoFormatOptions11and12arereversed,i.e.the11thpositioncorrespondstoFormatOption12andthe12thpositioncorrespondstoFormatOption11.Characterisaformattypewhichmaybeassignedinplaceoftheformattypeslisted.ItisnotdefinedwiththeDFPOSTquestions.Itassignsamodalstatus,bydefault.VariablesformattedasCharactermaycontainupto20characters.User_1toUser_10areuser-definedformattypesandareexplainedinSection3.2.Coordinates<430000~-.101>坐標Angles<430000~-.101>角度Feed<51001~~101>進給(不可以有負值哦)Spindle_speed<51001~~.101>轉速Dwell<430000~~.101>鉆孔循環(huán)Sequencing<51001~~101>行號Tool<40000~~.001>刀具User_1<430000~-.001>自定義User_2<430000~-.001>自定義User_3<430000~-.101>自定義User_4<430000~-.101>自定義User_5<430000~-.101>自定義User_6<430000~-.101>自定義User_7<430000~-.101>自定義User_8<430000~-.101>自定義User_9<430000~-.101>自定義User_10<430000~-.101>自定義Real<355511~-.100>實數(shù)上面的就是變量定義的,舜江候兄沒有講得太清楚,我補充上來。其中尖括號里的內容就是默認值,對應在下面的變量格式里。如:<430000~-.101>最大4位整數(shù),3位小數(shù),整數(shù)最小位數(shù)為0,小數(shù)最小位數(shù)為0,前導零不要,后導零不要,正號不輸出,負號為“,”,小數(shù)點為“.",,后面幾位我也不是太清楚,所以就不說了。有一種情況,不知道大家是否會遇到,你們可以立即測試一下。通過2點畫一個R足夠大的圓,比方說R4000Q兩點距離為200,然后沿線做一條刀路,看看POSTB來的刀路是否也是R4000Q如果不是,那就把第一項Coordinates的值改一下,這一項的用處大家應該知道了,后面就不多解釋了。 我們在用EXF文件定義中,會用到這些變量格式,有一節(jié)變量定義中,大家可以看到各種值用的是什么格式,如果有必要的話,就修改他,或者用自定義的格式(User1~10)。ThevaluesenteredbelowarethedefaultsettingsforCoordinates,1.above.<430000A-.101>SeeChapter3inthismanualforadetailedexplanationofmodalvariablevalues(Item12).FormatOptionsMax.digitsforintegerpart<4>整數(shù)位數(shù)Max.digitsforfractionalpart<3>小數(shù)位數(shù)Min.digitsforintegerpart<0>整數(shù)最小位數(shù)Min.digitsforfractionalpart<0>小數(shù)最小位數(shù)Leadingzeroes<NO,YES>前導零。就是說如果出現(xiàn)“0.02”這樣的值,是否需要前導的零,如果選NO的話,輸出就是“.02”Trailingzeroes<NO,YES>這個應該是后導的零吧,小數(shù)位數(shù)是3,如果有"0.2"這樣的數(shù),小數(shù)位數(shù)不足3,后面補零輸出為"0.200",這個我沒有去測試。Characterforthe+sign<>正號,這個不需要,所以是空的。Characterforthe-sign<->負號Characterfordecimalpoint<.>小數(shù)點Usedecimalpt.forwholenumbers?.<YES,NO>Representationofvalue0<0>0的特殊表達Modalvalue?<YES,NO>Notes:Max.digitsforintegerpart/Max.digitsforfractionalpart<=9整數(shù)部分和小數(shù)部分最大位數(shù)是9,以后不要說Cimatron沒精度了,Cimatron的精度絕對在浮點運算水平上。ForRealformat,Max.digitsforintegerpartandMax.digitsforfractionalpartareinternallysetto14Real模式(實數(shù))最大位數(shù)為14。第四課EXF的重要區(qū)段變量許多段落在里的exf文件里,都可以看到。用法比較簡單,只需要在段落開始的時候寫上段名(后面要有一個冒號),就表示這一段開始。例如:BEGINNINGOFPROC:OUTPUT$"(Procname:"proc_name")"; 這就表示,在程序起始時,先輸出程序名。直到該段代碼運行完畢,遇到下一個段名 (如“LINEARMOTION:),才會結束這一段。輸出的內容,全部都在程序起始的部位??赡芙忉尩貌皇呛芮宄?,大家細細去體會一下,如果誰能說得更清楚更明白一點的,歡迎補充?除此以外,還有幾個很重要的區(qū)域,掌握后,對定制 EXF有很大的幫助。從頂部看起:DEMO3axesPostProcessorforFANUC*CIMATRON90VER9.0Lastupdate:23-FEB-1998********************************************************FORMAT(SEQUENCING)SeqSubSeqCNTRL_NUMNURBS_DEGcountfirstdeg;FORMAT(TOOL)CutterCompFirstToolLastTool;FORMAT(COORDINATES)XoldYoldZoldDXcenterDYcenterDZcenter;FORMAT(COORDINATES)ZinitClearDepthCNTRL_XCNTRL_YCNTRL_ZKNOT_;FORMAT(COORDINATES)XhomeYhomeZhome;FORMAT(COORDINATES)XfirstOriginYfirstOriginZfirstOrigin;FORMAT(USER_1)CurrSubNum;FORMAT(coordinates)ORIGOLDIORIGOLDJORIGOLDK;*defineprivateflags: 私有標記FORMAT(USER_2)FlagSubFlagSeqFlagSpin;FORMAT(USER_2)FirstOriginChangeFlagErrorFlagrotmac;*defineprivateconstants: 私有常量FORMAT(USER_2)YESNO;*changetheformatofexistingvariables: 變更已存在變量格式FORMAT(USER_1)SUB_NUMBER;上面這個部分就是變量/常量定義,這些都屬于自定義變量,所以要告訴系統(tǒng),這些變量分別屬于什么格式,格式指定正確,可以節(jié)省內存,加快程序運行效率,另外,也不會出錯。說到這里,稍有編程基礎的人就知道變量定義的重要性,例如一個數(shù)字2356,如果要用文本方式存儲(無限制,一個數(shù)字一個字節(jié)),需要占用4個字節(jié),而用短整數(shù)方式存儲(最大65535),只需要占用2個字節(jié),而用長整方式存儲(最大4294967295),需要4個字節(jié)。象還有些User_2的變量,就是我們在Def中講到的,大家可以去看看這些變量的格式。INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=100;INTERACTION(TOOL)"DIACOMP=TOOL+<xx>"DiaComp=50;INTERACTION(USER_1)"TOOL-CHANGE-PROGRAM"ChangeTool=8000;INTERACTION(CHARACTER)"SEQUENCING<Y/N>"NumYN="N";INTERACTION(SEQUENCING)"SEQUENC-START"SeqStart=10;INTERACTION(SEQUENCING)"SEQUENC-INCR."SeqIncr=10;INTERACTION(CHARACTER)"SUBROUTINES<Y/N>"Sub="Y";INTERACTION(USER_1)"SUB-PROGRAM-NUMBER"StartSubNum=1000;上面的部分內容,就是一個交互區(qū),這些是在Post前,接受的一些自定義內容,有些高手,把其中某項輸入加以判斷,分別輸出不同的代碼(如同時支持Fanuc,三菱,Sim802s的后處理),這一點,舜江侯兄玩得很精,可機會的話,可以請他再給大家加以詳細解釋。這部分代碼,每行有四個部分INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=10其0中;INTERACTI0N(USER_1)這一部分,指示這是一個USER_格式的交互操作,其中USER_的格式在def中定義,而該項的操作對象(變量)是MainNum?!癕AINPROGRAMUMBER,這一部分,是指示的在Cimatron軟件中顯示的文字內容或提示,記住,如果你的系統(tǒng)不支持中文,請不要在這里寫下中文字符,特別是 IT。E版支持中文的顯示,沒有問題。MainNum,被操作的變量,也就是這里輸出的數(shù)值或文本,將在確定后,傳送到對應的變量MainNum中,在處理過程中,該項的值就是您輸出的數(shù)值。=100,默認值,該值在您輸出后,會被改變。最后不要忘記,一定要在行尾加上分號";"。所有字符,一定要輸入半角英文,引號內的內容除外,切記?不過也有特殊的情況,象X,Y,Z這一類的字符,是在引號內的,您也不可以輸出全角字母,因為就算Cimatron編譯通過了,機床也不會認,,,(XYZ)這樣的全角字符,和括號里的XYZ比較一下就知道有什么區(qū)別了。下面,我們來做一些練習,學習交互區(qū)的操作。練習一漢化:INTERACTION(USER_1)主"程序序號"MainNum=100;INTERACTION(TOOL)"刀具補償"DiaComp=50;INTERACTION(USER_1)"換刀子程序"ChangeTool=8000;INTERACTION(CHARACTER)是"否輸出行號<Y/N>"NumYN="N";INTERACTION(SEQUENCING行號起始值"SeqStart=10;INTERACTION(SEQUENCING)行"號增量值"SeqIncr=10;INTERACTION(CHARACTER)"是否輸出子程序"Sub="Y";INTERACTION(USER_1)"子程序號"StartSubNum=1000;然后編譯,執(zhí)行POST看看有什么變化沒有。以上操作,請在 CimatronE版或CimatronIT中文版下進行

練習二增加一個操作項。INTERACTION(CHARACTER^程員"Programmer="張";然后在BEGINNINGOFTAPE段中加入相應的內容,例如加在%號前面*——outputOUTPUT$"(編程員:"Programmer")"\J;IF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;ELSEOUTPUT"%"\J"O"MainNum;END_IF;在程序中,\J是指輸出一個換行符,如果不加換行符,那么后面的內就會直接根上來,導致一行可能不被機床識別的代碼。這只是舉的一個例子,實際中,用這個輸出編程員的名字是不可以的,因為他只能識別兩個字節(jié)(2個英文字母,1個中文漢字)的內容,大家試一下把Programmer=“張”改成“張三”便知。另外要注意的一點是,所以的交互區(qū)用到的變量都不需要預先定義,因為在交互的時候,也就定義了變量。NEW_LINE_IS$;IF_SET(FlagSeq_EQ_NO)OUTPUT\J;ELSEIF_SET(FlagSub_EQ_NO)OUTPUT\J"N"Seq;Seq=Seq+SeqIncr;ELSEOUTPUT\J"N"SubSeq;SubSeq=SubSeq+SeqIncr;END_IF;END_IF;這一節(jié)是輸出子程序和程序號,一般沒必要的話,不要去改動他,程序行號在后面還有部分代碼的,在后面我們會分別講述??赡苡械呐笥严肽J不輸出子程序,把INTERACTION(CHARACTEF是否輸出子程序"Sub="Y";后的"Y"改成"N"就可以了。在您的Program文件夾下,有一大堆chm文件,或者在Cimatron中按下F1也可以打開Help,IT是無效的哦?因為是英文的,所以大家讀起來可能會有一些困難,這時候要借助一些翻譯軟件來學習了,英文不好的朋友,不要氣餒,慢慢地讀。BlocksandTheirVariables在這一節(jié)中,標明的是每個段及其能識別的變量,也就是說,這些段只能識別這些變量。例如:在ENDOFPRO(這一段中,能識別的變量就是N_FED_TIMEN_FST_TIMEN_GEN_TIM這三個,這就是為什么有些朋友在輸出加工時間時,為什么想在程序頭中輸出而進行不了的原因,可以在反過來看看Begginofproc這一節(jié),是不支持這幾個變量的。在這一節(jié)下面,F(xiàn)ormatsforVariables也是非常有用的,這個列舉出了所有的變量以及其使用的相關信息,大家以后在定制后處理的時候,要隨時翻查這一內容。ExecutableBlockStatements這一節(jié)中是關于程序流程控制的部分,也是非常有用的,大家先看,后面會一一細講?!嫉谖逭n〗幾個BEGINNINGS第一個段,BEGINNINGOFTAPE:在DEMOP,是這樣的內容。YES=1;NO=0;Seq=SeqStart;YESNQ是兩個自定義的變量,先來個賦值。賦值就是一個流程控制,也是一個最基本的語法,例如,Time=0.001,Time=Time+N_GEN_TIME第一個的意思是讓Time的值為0.001,第二個的意思是指,把Time原有的值去加上N_GEN_TIME的值,然后把結果再賦給TIME=上面Seq=seqstart,其中SeqStart就是在交互區(qū)中曾經(jīng)賦過值的。FlagSeq=NQ;FlagSub=NQ;還是賦值,NO已經(jīng)被賦值為0了,那么現(xiàn)在FlagSeq和FlagSub都等于0。IF_SET(NumYN_EQ_"y")FlagSeq=YES;END_IF;IF_SET(NumYN_EQ_"Y")FlagSeq=YES;END_IF;開始判斷,如果NumY等于“Y'或"y"(因為他區(qū)分大小寫,所以要寫兩句),那么FlagSeq的值就變成1。注意后面還要有END_IF這時候,大家要參考一下GPP里的幫助了?!癬EQ_就是一個邏輯判斷,判斷前后兩項的內容是否相等。IF_SET最標準的寫法就是:IF_SET(條件)滿足條件執(zhí)行的語句;ELSE不滿足條件執(zhí)行的語句;END_IF;IF_SET(Sub_EQ_"y")Sub="Y";END_IF;IF_SET(Sub_EQ_"Y")SET_OFFNO_SUBROUT;ELSESET_ONNO_SUBROUT;END_IF;這里有一個SET_ON語句,看GPP中SystemFlags一節(jié)。 Unitmatrix(MUSTbeinputinthisorder!!!)OT_MAT1=1.0;ROT_MAT2=0.0;ROT_MAT3=0.0;ROT_MAT4=0.0;ROT_MAT5=1.0;ROT_MAT6=0.0;ROT_MAT7=0.0;ROT_MAT8=0.0;ROT_MAT9=1.0;這一節(jié)是軸相關操作的,不用改。 shiftalldataaccordingtotheMCHINEZEROindicatedbytheuserinthePOSTPRinteractionTRANS_MATX=0-X_MACH;TRANS_MATY=0-Y_MACH;TRANS_MATZ=0-Z_MACH; shifttheHOMEaccordingtotheMCHINEZEROindicatedbytheuserinthePOSTPRinteractionXhome=X_HOME-X_MACH;Yhome=Y_HOME-Y_MACH;Zhome=Z_HOME-Z_MACH; toollocationisHOMEXold=X_HOME;Yold=Y_HOME;Zold=Z_HOME; For1stORIGINCHANGEFirstOriginChange=YES;MCH_FEED=9999;以上內容,通通略過。IF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;ELSEOUTPUT"%"\J"O"MainNum;END_IF;如果FLAGSE這一項為1的話,輸出%0100否則輸出%O100呀口O前面有空格的,下面還有一段解釋是和這一節(jié)有點兒關系的,繼續(xù)看。*--Forthefirstoriginchange0RIG0LDI=0;0RIG0LDJ=0;0RIG0LDK=1;flagrotmac=no;在BEGINNINGOFTAPE前面,還有一段NEW_LINE_IS$;IF_SET(FlagS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論