




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Cimatron的后置處理技術(shù)7438240598后處理修改詳解〖第一課〗了解GPP后處理必須的過程GPP后處理,必須的過程莫過編譯了。后處理修改的過程如下:一、有記事本或?qū)S玫暮筇幚硇薷钠鱽硇薷?EXF文件,EXF文件又稱源代碼。二、 編譯,利用修改好的EXF文件,生成可用的DEX文件。三、 測試,看看您修改的后處理是否合乎您的需要。另外,有些修改內(nèi)容是不在EXF中,而是屬于DEF的內(nèi)容,這時(shí)候不需要修改EXF文件,只需要用另外的工具來修改就可以了。下面會給出圖片來解釋。打開DEMO.EXF開頭的內(nèi)容就是關(guān)于自定義的變量類型了*defineprivatevariables:FORMAT(SEQUENCING)SeqSubSeq;-行-號類型有關(guān)的變量FORMAT(TOOL)CutterCompFirstToolLastTool;--刀具類型有關(guān)的變量FORMAT(COORDINATES)XoldYoldZoldDXcenterDYcenterDZcenter;--坐標(biāo)類型有關(guān)的變量FORMAT(COORDINATES)ZinitClearDepth;FORMAT(COORDINATES)XhomeYhomeZhome;FORMAT(COORDINATES)XfirstOriginYfirstOriginZfirstOrigin;FORMAT(USER_1)CurrSubNum;FORMAT(coordinates)ORIGOLDIORIGOLDJORIGOLDK;*defineprivateflags:FORMAT(USER_2)FlagSubFlagSeqFlagSpin;--與用戶2定義的類型有關(guān)的變量FORMAT(USER_2)FirstOriginChangeFlagErrorFlagrotmac;*defineprivateconstants:FORMAT(USER_2)YESNO;changetheformatofexistingvariables:FORMAT(USER_1)SUB_NUMBER;此處偶把其看作是"戶籍登記處",用戶自己定義的變量必須在此登記,否則將編譯錯(cuò)誤.一旦選定類型,其變量格式由*.DEF文件對應(yīng)部分控制。(DEF文件對應(yīng)位置操作:主菜單-NC-DFPOST后處理名-FORMATS選擇相關(guān)類型[在此可修改如最大(?。┱ㄐ。?shù)位,等等內(nèi)容]見圖:例如:你的行號最大只認(rèn)是99999,則可以修改行號類型(左圖第6行)中的最大整數(shù)位為5(右圖第1行);又如:你要求程序輸出保留小數(shù)3位,則修改坐標(biāo)類型(左圖第1行)中的最大小數(shù)位為3(右圖第2行),等等控制菜單中的兩個(gè)重要有關(guān)圖標(biāo)解釋一下:一,DFPOS,這個(gè)就是我在一樓中說的DEF修改器,里面有相關(guān)的G代碼定義,如果你愿意,可以把直線插補(bǔ)定義成G08(隨便舉的例子),當(dāng)然還有一個(gè)更重要的是,有些朋友不希望在程序中輸出M09也可以在這里改。二,DFEXF這個(gè)就是編譯器,任何后處理源代碼的修改,都必須要通過這個(gè)編譯器編譯成功后,才能生效。在正式開課后,會針對這兩個(gè)命令做進(jìn)一步的解釋??梢哉f,不會這兩個(gè)功能,就相當(dāng)于不會改后處理,不會改后處理,那就相當(dāng)于不會用Cimatron。因?yàn)槊恳慌_機(jī)床的控制系統(tǒng)都可能會不一樣,Cimatron并沒有提供更多的后處理來供您使用,當(dāng)您換一個(gè)環(huán)境,或是增加一臺機(jī)床,都可能面臨后處理的問題??梢哉f,修改后處理,比學(xué)習(xí)幾個(gè)刀路會來得更實(shí)在一些。第一課中,我們需要來給大家講解一下編譯的過程,希望大家不要嫌簡單。例一:準(zhǔn)備工作:找到POST文件夾,并找到DEMO.exf,Demo.def,Demo.dex這三個(gè)文件。具體操作:不需要做任何修改。首先打開MainMenu或者是CimatronEControlPanel(E的控制面板),找到dfexf這個(gè)項(xiàng)目,單擊他,出現(xiàn)如下提示:CIMATRONEexternalfiledefinitionprogram(version7.0)Enterfilenamewithoutextension(.exf) 請直接輸入demo按下回車。此時(shí)會提示ENDOFCOMPILATION:validdemo.dexcreated(有效的demo.dex文件已經(jīng)創(chuàng)建了)Press<CR>toexit.(按回車退出)再次按下回車,退出此界面。作用:編譯一個(gè)正確的EXF文件到DEX文件,以備CimatronNC在POST寸調(diào)用。例二:準(zhǔn)備工作:打開Demo.exf文件,用記事本就可以打開了,在里面添加一行 :output$"(Test)";放在BEGINNINGOFPRO的上面,存盤退出。
具體操作:先按例一的操作,結(jié)束后,用E/IT打開一個(gè)圖檔,然后POST一條刀路,應(yīng)該在前三行會出現(xiàn)(Test)字符,如下:%00100(Test)T01G90G80G00G17G40M23G43H01Z100.S1000M03G00X-3.Y0.0Z100.M09作用:正確地修改和編譯。如果此項(xiàng)不成功,請檢查步驟是否有錯(cuò),并繼續(xù)看例三。與GPP修改有關(guān)地方CimutroiiE第二課〗DEF文件定制及相關(guān)項(xiàng)目解釋與GPP修改有關(guān)地方CimutroiiE第二課〗DEF文件定制及相關(guān)項(xiàng)目解釋W(xué)-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文件,可以算作是一個(gè)通用定義,比方說各代碼的定義,輸出格式等等,有的要4位小數(shù),有的只要2位小數(shù),都可以在這里定義例一:目標(biāo):去掉程序中輸出的M09。具體操作:打開控制面板,找到DFPost并單擊他。光標(biāo)移到demo下面,并按下回車。會出現(xiàn)下列的對話菜單:TAPEINFORMATIONPROGRAMMINGMODEANDUNIT3.FORMATSPOSITIONINGCODES(Notinuse)MESSAGESANDINSERTS6.MACHINEPARAMETERSLINEARMOTIONCIRCULARMOTIONNURBSMOTIONSCANNEDCYCLESOUTPUTFILESPOSTPR/EXPSTINTERFACE光標(biāo)移到第六項(xiàng),按下回車,再移到第8項(xiàng),這一項(xiàng)是指關(guān)閉冷卻方式的代碼,光標(biāo)會停在M09的M上,按三次空格,再按下回車。修改結(jié)束。如何讓這次改動生效,不是按下ESC退出就可以了的,您必須有一個(gè)存盤退出的過程。按下ESC一共需要2次,這時(shí)對話框顯得有些亂,多進(jìn)入退出幾次,可以改善這一狀況,如圖所示。第一項(xiàng),問您什么文件名,這個(gè)當(dāng)然不用動了。第二項(xiàng),是否保存,當(dāng)然是YES了,一般來說,這個(gè)也不用動他。第三項(xiàng),是否替換,這時(shí)候要按下<TAB鍵,把他切換為YES第四項(xiàng),準(zhǔn)備一個(gè)輸出文件,這個(gè)不用理他。準(zhǔn)備好這四項(xiàng)的確定后,按下Ctrl+Z(先按住Ctrl鍵不放,然后再按下Z鍵,再一起放開),保存就生效了,再按下回車退出,關(guān)閉這個(gè)對話框打開DEMO.EX文件,找到以下內(nèi)容:********************************************************INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=1主程序號INTERACTION(TOOL)"DIACOMP=TOOL+<xx>"DiaComp=50刃補(bǔ)號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í)行后處理時(shí)的一些交互的內(nèi)容:(CHARACTER)符類型,僅指定義的符號(USER_1格式類型,性質(zhì)同變量格式,余同。“XXXX..…XXXX”交互菜單顯示內(nèi)容MainNum定義符,其定義的值或者字符由編程者輸入。例:當(dāng)主程序號輸入5時(shí),相應(yīng)的輸出部分內(nèi)容“MainNum則用5取代。*——outputIF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;----NC 文件輸出為%05ELSEOUTPUT"%"\J"O"MainNum;----NC 文件輸出為%05END_IF;如果需要添加新的交互內(nèi)容,只需要添加一個(gè)交互行就可以了,當(dāng)然需要注意被交互的內(nèi)容格式是字符型還是實(shí)數(shù)型。假如我要出兩種不同程序頭的后處理,可以在樓上的菜單中,增加一行 :INTERACTION(CHARACTER)"CONTTYPE_SELECT"CONTTYPE=字符型的交互內(nèi)容在EXF文件程序頭輸出部分改成下面內(nèi)容就可以了IF_SET(CONTTYPE_EQ_"y")CONTTYPE="Y";END_IF;大小寫設(shè)別IF_SET(CONTTYPE_EQ_"Y")女口果CONTTYPE=YOUTPUT"%_N_DM_MPF"\J;OUTPUT";$PATH=/_N_MPF_DIR"\J"G90GOOG17G64G54";ELSE反之OUTPUT"%"\J"G90GOOG17G40G54";END_IF;判斷結(jié)束當(dāng)編程者在交互區(qū)輸入丫或非丫時(shí),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>第一項(xiàng):紙帶中最多的塊數(shù),所謂塊數(shù),指的是紙帶中的任意一個(gè)指令的存在,比方說“G01,就算一個(gè)BLOCK“X1O0,也算一個(gè)BLOCK第二項(xiàng),紙帶的最大長度。這個(gè)代表的是米數(shù)(是紙帶長度還是刀路長度沒有去具體了解,字面意思理解是紙帶長度)。第三項(xiàng),是否在分開的文件中引用子程序。這一段的設(shè)置,在我們大多數(shù)地CNC應(yīng)用中,是很少接觸到的,所以如果沒有必要的話就不要去動他了,這個(gè)大家能夠了解一下就可以了,留在腦中以防萬一。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>第一項(xiàng):編程模式,分別為絕對值編程,相對值編程,混合編程。第二項(xiàng):使用絕對值坐標(biāo)的命令(默認(rèn)為G9O)第三項(xiàng):使用相對值坐標(biāo)的命令(默認(rèn)為G91)第四項(xiàng):長度單位(公制,英制,混合)第五項(xiàng):比例因子(默認(rèn)為1.O),這是一個(gè)非常有用的功能,許多人都問過,但我一般都沒有去回答,因?yàn)樯婕暗角懊娴哪切┗静僮骱屠斫?,要一個(gè)一個(gè)地說清楚,是一件很郁悶的事。當(dāng)你的工件忘記放收縮了,可以用這個(gè)讓刀路放收縮,注意,這個(gè)是絕對的,也就是說,你的工件圖形和目標(biāo)工件,必須存在的是一個(gè)固定的比例關(guān)系,不可以是型腔要放收縮,而導(dǎo)柱孔不需要放收縮,要放就一起放,除非你深入地去理解他,操作他。如果零件的縮水是0.008,那么這里就輸入1.008,圖形中的100mm加工后就變成了100.8mm這個(gè)參數(shù)一定要小心修改?第六項(xiàng):刀具起始點(diǎn),分別為路徑起點(diǎn),第一程序起點(diǎn)。第七項(xiàng):坐標(biāo)原點(diǎn),分別為機(jī)床原點(diǎn),第一程序原點(diǎn),當(dāng)前程序原點(diǎn)。上面這兩項(xiàng),沒必要的話,不要去弄他,一,四項(xiàng)一般來說,也不要去動他。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>坐標(biāo)Angles<430000~-.101>角度Feed<51001~~101>進(jìn)給(不可以有負(fù)值哦)Spindle_speed<51001~~.101>轉(zhuǎn)速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í)數(shù)上面的就是變量定義的,舜江候兄沒有講得太清楚,我補(bǔ)充上來。其中尖括號里的內(nèi)容就是默認(rèn)值,對應(yīng)在下面的變量格式里。如:<430000~-.101>最大4位整數(shù),3位小數(shù),整數(shù)最小位數(shù)為0,小數(shù)最小位數(shù)為0,前導(dǎo)零不要,后導(dǎo)零不要,正號不輸出,負(fù)號為“,”,小數(shù)點(diǎn)為“.",,后面幾位我也不是太清楚,所以就不說了。有一種情況,不知道大家是否會遇到,你們可以立即測試一下。通過2點(diǎn)畫一個(gè)R足夠大的圓,比方說R4000Q兩點(diǎn)距離為200,然后沿線做一條刀路,看看POSTB來的刀路是否也是R4000Q如果不是,那就把第一項(xiàng)Coordinates的值改一下,這一項(xiàng)的用處大家應(yīng)該知道了,后面就不多解釋了。 我們在用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>前導(dǎo)零。就是說如果出現(xiàn)“0.02”這樣的值,是否需要前導(dǎo)的零,如果選NO的話,輸出就是“.02”Trailingzeroes<NO,YES>這個(gè)應(yīng)該是后導(dǎo)的零吧,小數(shù)位數(shù)是3,如果有"0.2"這樣的數(shù),小數(shù)位數(shù)不足3,后面補(bǔ)零輸出為"0.200",這個(gè)我沒有去測試。Characterforthe+sign<>正號,這個(gè)不需要,所以是空的。Characterforthe-sign<->負(fù)號Characterfordecimalpoint<.>小數(shù)點(diǎn)Usedecimalpt.forwholenumbers?.<YES,NO>Representationofvalue0<0>0的特殊表達(dá)Modalvalue?<YES,NO>Notes:Max.digitsforintegerpart/Max.digitsforfractionalpart<=9整數(shù)部分和小數(shù)部分最大位數(shù)是9,以后不要說Cimatron沒精度了,Cimatron的精度絕對在浮點(diǎn)運(yùn)算水平上。ForRealformat,Max.digitsforintegerpartandMax.digitsforfractionalpartareinternallysetto14Real模式(實(shí)數(shù))最大位數(shù)為14。第四課EXF的重要區(qū)段變量許多段落在里的exf文件里,都可以看到。用法比較簡單,只需要在段落開始的時(shí)候?qū)懮隙蚊ê竺嬉幸粋€(gè)冒號),就表示這一段開始。例如:BEGINNINGOFPROC:OUTPUT$"(Procname:"proc_name")"; 這就表示,在程序起始時(shí),先輸出程序名。直到該段代碼運(yùn)行完畢,遇到下一個(gè)段名 (如“LINEARMOTION:),才會結(jié)束這一段。輸出的內(nèi)容,全部都在程序起始的部位??赡芙忉尩貌皇呛芮宄?,大家細(xì)細(xì)去體會一下,如果誰能說得更清楚更明白一點(diǎn)的,歡迎補(bǔ)充?除此以外,還有幾個(gè)很重要的區(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: 私有標(biāo)記FORMAT(USER_2)FlagSubFlagSeqFlagSpin;FORMAT(USER_2)FirstOriginChangeFlagErrorFlagrotmac;*defineprivateconstants: 私有常量FORMAT(USER_2)YESNO;*changetheformatofexistingvariables: 變更已存在變量格式FORMAT(USER_1)SUB_NUMBER;上面這個(gè)部分就是變量/常量定義,這些都屬于自定義變量,所以要告訴系統(tǒng),這些變量分別屬于什么格式,格式指定正確,可以節(jié)省內(nèi)存,加快程序運(yùn)行效率,另外,也不會出錯(cuò)。說到這里,稍有編程基礎(chǔ)的人就知道變量定義的重要性,例如一個(gè)數(shù)字2356,如果要用文本方式存儲(無限制,一個(gè)數(shù)字一個(gè)字節(jié)),需要占用4個(gè)字節(jié),而用短整數(shù)方式存儲(最大65535),只需要占用2個(gè)字節(jié),而用長整方式存儲(最大4294967295),需要4個(gè)字節(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;上面的部分內(nèi)容,就是一個(gè)交互區(qū),這些是在Post前,接受的一些自定義內(nèi)容,有些高手,把其中某項(xiàng)輸入加以判斷,分別輸出不同的代碼(如同時(shí)支持Fanuc,三菱,Sim802s的后處理),這一點(diǎn),舜江侯兄玩得很精,可機(jī)會的話,可以請他再給大家加以詳細(xì)解釋。這部分代碼,每行有四個(gè)部分INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=10其0中;INTERACTI0N(USER_1)這一部分,指示這是一個(gè)USER_格式的交互操作,其中USER_的格式在def中定義,而該項(xiàng)的操作對象(變量)是MainNum?!癕AINPROGRAMUMBER,這一部分,是指示的在Cimatron軟件中顯示的文字內(nèi)容或提示,記住,如果你的系統(tǒng)不支持中文,請不要在這里寫下中文字符,特別是 IT。E版支持中文的顯示,沒有問題。MainNum,被操作的變量,也就是這里輸出的數(shù)值或文本,將在確定后,傳送到對應(yīng)的變量MainNum中,在處理過程中,該項(xiàng)的值就是您輸出的數(shù)值。=100,默認(rèn)值,該值在您輸出后,會被改變。最后不要忘記,一定要在行尾加上分號";"。所有字符,一定要輸入半角英文,引號內(nèi)的內(nèi)容除外,切記?不過也有特殊的情況,象X,Y,Z這一類的字符,是在引號內(nèi)的,您也不可以輸出全角字母,因?yàn)榫退鉉imatron編譯通過了,機(jī)床也不會認(rèn),,,(XYZ)這樣的全角字符,和括號里的XYZ比較一下就知道有什么區(qū)別了。下面,我們來做一些練習(xí),學(xué)習(xí)交互區(qū)的操作。練習(xí)一漢化:INTERACTION(USER_1)主"程序序號"MainNum=100;INTERACTION(TOOL)"刀具補(bǔ)償"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看看有什么變化沒有。以上操作,請?jiān)?CimatronE版或CimatronIT中文版下進(jìn)行
練習(xí)二增加一個(gè)操作項(xiàng)。INTERACTION(CHARACTER^程員"Programmer="張";然后在BEGINNINGOFTAPE段中加入相應(yīng)的內(nèi)容,例如加在%號前面*——outputOUTPUT$"(編程員:"Programmer")"\J;IF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;ELSEOUTPUT"%"\J"O"MainNum;END_IF;在程序中,\J是指輸出一個(gè)換行符,如果不加換行符,那么后面的內(nèi)就會直接根上來,導(dǎo)致一行可能不被機(jī)床識別的代碼。這只是舉的一個(gè)例子,實(shí)際中,用這個(gè)輸出編程員的名字是不可以的,因?yàn)樗荒茏R別兩個(gè)字節(jié)(2個(gè)英文字母,1個(gè)中文漢字)的內(nèi)容,大家試一下把Programmer=“張”改成“張三”便知。另外要注意的一點(diǎn)是,所以的交互區(qū)用到的變量都不需要預(yù)先定義,因?yàn)樵诮换サ臅r(shí)候,也就定義了變量。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(rèn)不輸出子程序,把INTERACTION(CHARACTEF是否輸出子程序"Sub="Y";后的"Y"改成"N"就可以了。在您的Program文件夾下,有一大堆chm文件,或者在Cimatron中按下F1也可以打開Help,IT是無效的哦?因?yàn)槭怯⑽牡?,所以大家讀起來可能會有一些困難,這時(shí)候要借助一些翻譯軟件來學(xué)習(xí)了,英文不好的朋友,不要?dú)怵H,慢慢地讀。BlocksandTheirVariables在這一節(jié)中,標(biāo)明的是每個(gè)段及其能識別的變量,也就是說,這些段只能識別這些變量。例如:在ENDOFPRO(這一段中,能識別的變量就是N_FED_TIMEN_FST_TIMEN_GEN_TIM這三個(gè),這就是為什么有些朋友在輸出加工時(shí)間時(shí),為什么想在程序頭中輸出而進(jìn)行不了的原因,可以在反過來看看Begginofproc這一節(jié),是不支持這幾個(gè)變量的。在這一節(jié)下面,F(xiàn)ormatsforVariables也是非常有用的,這個(gè)列舉出了所有的變量以及其使用的相關(guān)信息,大家以后在定制后處理的時(shí)候,要隨時(shí)翻查這一內(nèi)容。ExecutableBlockStatements這一節(jié)中是關(guān)于程序流程控制的部分,也是非常有用的,大家先看,后面會一一細(xì)講?!嫉谖逭n〗幾個(gè)BEGINNINGS第一個(gè)段,BEGINNINGOFTAPE:在DEMOP,是這樣的內(nèi)容。YES=1;NO=0;Seq=SeqStart;YESNQ是兩個(gè)自定義的變量,先來個(gè)賦值。賦值就是一個(gè)流程控制,也是一個(gè)最基本的語法,例如,Time=0.001,Time=Time+N_GEN_TIME第一個(gè)的意思是讓Time的值為0.001,第二個(gè)的意思是指,把Time原有的值去加上N_GEN_TIME的值,然后把結(jié)果再賦給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"(因?yàn)樗麉^(qū)分大小寫,所以要寫兩句),那么FlagSeq的值就變成1。注意后面還要有END_IF這時(shí)候,大家要參考一下GPP里的幫助了?!癬EQ_就是一個(gè)邏輯判斷,判斷前后兩項(xiàng)的內(nèi)容是否相等。IF_SET最標(biāo)準(zhǔn)的寫法就是: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;這里有一個(gè)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é)是軸相關(guān)操作的,不用改。 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;以上內(nèi)容,通通略過。IF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;ELSEOUTPUT"%"\J"O"MainNum;END_IF;如果FLAGSE這一項(xiàng)為1的話,輸出%0100否則輸出%O100呀口O前面有空格的,下面還有一段解釋是和這一節(jié)有點(diǎn)兒關(guān)系的,繼續(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)研發(fā)成果知識產(chǎn)權(quán)轉(zhuǎn)讓合同范本
- 2025年度醫(yī)療設(shè)備改造與售后服務(wù)協(xié)議
- 2025年度出租車公司車輛租賃合同修訂版
- 2025抖音主播品牌代言合作框架協(xié)議書
- 2025年C301-I型低壓甲醇合成催化劑合作協(xié)議書
- 2025年度咖啡廳店鋪轉(zhuǎn)讓合同范本
- 2025年創(chuàng)客中心項(xiàng)目發(fā)展計(jì)劃
- 科研部研究項(xiàng)目進(jìn)展與未來規(guī)劃計(jì)劃
- 教學(xué)資源的有效整合與利用計(jì)劃
- 度假村行業(yè)保安工作總結(jié)計(jì)劃
- 人教部編道德與法治五年級下冊單元計(jì)劃
- 旅行社運(yùn)營實(shí)務(wù)電子課件 1.2 了解旅行社核心業(yè)務(wù)部門
- vc約起來史上最全180個(gè)知名投資人聯(lián)系方式
- 中國酒文化英文介紹
- 部編版五年級語文下冊課文四字詞總結(jié)
- 社會穩(wěn)定風(fēng)險(xiǎn)評估報(bào)告風(fēng)險(xiǎn)評估參考
- 綜合交通運(yùn)輸體系認(rèn)知
- GM/T 0115-2021信息系統(tǒng)密碼應(yīng)用測評要求
- YY 0670-2008無創(chuàng)自動測量血壓計(jì)
- JJF 1458-2014磁軛式磁粉探傷機(jī)校準(zhǔn)規(guī)范
- GB/T 324-2008焊縫符號表示法
評論
0/150
提交評論