




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
/后處理修改詳解〖第一課〗了解GPP后處理必須的過程GPP后處理,必須的過程莫過編譯了。后處理修改的過程如下:一、有記事本或?qū)S玫暮筇幚硇薷钠鱽硇薷模臱F文件,EXF文件又稱源代碼。二、編譯,利用修改好的EXF文件,生成可用的DEX文件.三、測試,看看您修改的后處理是否合乎您的需要.另外,有些修改內(nèi)容是不在EXF中,而是屬于DEF的內(nèi)容,這時(shí)候不需要修改EXF文件,只需要用另外的工具來修改就可以了。下面會(huì)給出圖片來解釋。打開DEMO.EXF,開頭的內(nèi)容就是關(guān)于自定義的變量類型了*defineprivat(yī)evariables:FORMAT(SEQUENCING)SeqSubSeq;—-行號(hào)類型有關(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;*defineprivat(yī)eflags:FORMAT(USER_2)FlagSubFlagSeqFlagSpin;--與用戶2定義的類型有關(guān)的變量FORMAT(USER_2)FirstOriginChangeFlagErrorFlagrotmac;*defineprivateconstants:FORMAT(USER_2)YESNO;*changetheformatofexistingvariables:FORMAT(USER_1)SUB_NUMBER;此處偶把其看作是"戶籍登記處",用戶自己定義的變量必須在此登記,否則將編譯錯(cuò)誤。一旦選定類型,其變量格式由*.DEF文件對(duì)應(yīng)部分控制。(DEF文件對(duì)應(yīng)位置操作:主菜單—NC—DFPOST-后處理名—FORMATS—選擇相關(guān)類型[在此可修改如最大(小)整(小)數(shù)位,等等內(nèi)容]見圖:例如:你的行號(hào)最大只認(rèn)是99999,則可以修改行號(hào)類型(左圖第6行)中的最大整數(shù)位為5(右圖第1行);又如:你要求程序輸出保留小數(shù)3位,則修改坐標(biāo)類型(左圖第1行)中的最大小數(shù)位為3(右圖第2行),等等控制菜單中的兩個(gè)重要有關(guān)圖標(biāo)解釋一下:一,DFPOST,這個(gè)就是我在一樓中說的DEF修改器,里面有相關(guān)的G代碼定義,如果你愿意,可以把直線插補(bǔ)定義成G08(隨便舉的例子),當(dāng)然還有一個(gè)更重要的是,有些朋友不希望在程序中輸出M09,也可以在這里改。二,DFEXF,這個(gè)就是編譯器,任何后處理源代碼的修改,都必須要通過這個(gè)編譯器編譯成功后,才能生效。在正式開課后,會(huì)針對(duì)這兩個(gè)命令做進(jìn)一步的解釋.可以說,不會(huì)這兩個(gè)功能,就相當(dāng)于不會(huì)改后處理,不會(huì)改后處理,那就相當(dāng)于不會(huì)用Cimat(yī)ron。因?yàn)槊恳慌_(tái)機(jī)床的控制系統(tǒng)都可能會(huì)不一樣,Cimatron并沒有提供更多的后處理來供您使用,當(dāng)您換一個(gè)環(huán)境,或是增加一臺(tái)機(jī)床,都可能面臨后處理的問題。可以說,修改后處理,比學(xué)習(xí)幾個(gè)刀路會(huì)來得更實(shí)在一些。第一課中,我們需要來給大家講解一下編譯的過程,希望大家不要嫌簡單.例一:準(zhǔn)備工作:找到POST文件夾,并找到DEMO。exf,Demo.def,Demo。dex這三個(gè)文件.具體操作:不需要做任何修改。首先打開MainMenu或者是Cimat(yī)ronEControlPanel(E的控制面板),找到dfexf這個(gè)項(xiàng)目,單擊他,出現(xiàn)如下提示:CIMATRONEexternalprogram(version7。0)=======================================Enterwithoutextension(.exf)請(qǐng)直接輸入demo,按下回車。此時(shí)會(huì)提示ENDOFCOMPILATION:validdemo.dexcreat(yī)ed(有效的demo.dex文件已經(jīng)創(chuàng)建了)Press〈CR>toexit。(按回車退出)再次按下回車,退出此界面。作用:編譯一個(gè)正確的EXF文件到DEX文件,以備CimatronNC在POST時(shí)調(diào)用。例二:準(zhǔn)備工作:打開Demo.exf文件,用記事本就可以打開了,在里面添加一行:output$"(Test)";放在BEGINNINGOFPROC:的上面,存盤退出。具體操作:先按例一的操作,結(jié)束后,用E/IT打開一個(gè)圖檔,然后POST一條刀路,應(yīng)該在前三行會(huì)出現(xiàn)(Test)字符,如下:%O0100(Test)T01G90G80GG43H01Z100。S1000M03G00X—3.Y0.0Z100.M09作用:正確地修改和編譯.如果此項(xiàng)不成功,請(qǐng)檢查步驟是否有錯(cuò),并繼續(xù)看例三。與GPP修改有關(guān)地方第二課〗DEF文件定制及相關(guān)項(xiàng)目解釋Def文件,可以算作是一個(gè)通用定義,比方說各代碼的定義,輸出格式等等,有的要4位小數(shù),有的只要2位小數(shù),都可以在這里定義.
例一:
目標(biāo):去掉程序中輸出的M09。
具體操作:?打開控制面板,找到DFPost并單擊他。?光標(biāo)移到demo下面,并按下回車。?會(huì)出現(xiàn)下列的對(duì)話菜單:?1.TAPEINFORMATION
2.PROGRAMMINGMODEANDUNIT?3.FORMATS?4。POSITIONINGCODES(Notinuse)
5.MESSAGESANDINSERTS?6。MACHINEPARAMETERS
7.LINEARMOTION?8。CIRCULARMOTION?9.NURBSMOTIONS
10.CANNEDCYCLES
11.OUTPUTFILES?12。POSTPR/EXPSTINTERFACE?光標(biāo)移到第六項(xiàng),按下回車,再移到第8項(xiàng),這一項(xiàng)是指關(guān)閉冷卻方式的代碼,光標(biāo)會(huì)停在M09的M上,按三次空格,再按下回車。修改結(jié)束。?如何讓這次改動(dòng)生效?不是按下ESC退出就可以了的,您必須有一個(gè)存盤退出的過程。?按下ESC,一共需要2次,這時(shí)對(duì)話框顯得有些亂,多進(jìn)入退出幾次,可以改善這一狀況,如圖所示。?第一項(xiàng),問您什么文件名,這個(gè)當(dāng)然不用動(dòng)了。?第二項(xiàng),是否保存?當(dāng)然是YES了,一般來說,這個(gè)也不用動(dòng)他。?第三項(xiàng),是否替換?這時(shí)候要按下<TAB>鍵,把他切換為YES.
第四項(xiàng),準(zhǔn)備一個(gè)輸出文件?這個(gè)不用理他。?準(zhǔn)備好這四項(xiàng)的確定后,按下Ctrl+Z(先按住Ctrl鍵不放,然后再按下Z鍵,再一起放開),保存就生效了,再按下回車退出,關(guān)閉這個(gè)對(duì)話框打開DEMO.EXF文件,找到以下內(nèi)容:
********************************************************?INTERACTION(USER_1)
"MAIN—PROGRAM—NUMBER"
MainNum
=100
;主程序號(hào)?INTERACTION(TOOL)
"DIACOMP=TOOL+〈xx>"
DiaComp
=50
;刀補(bǔ)號(hào)
INTERACTION(USER_1)
”TOOL-CHANGE-PROGRAM"
ChangeTool
=8000;換刀子程序號(hào)
INTERACTION(CHARACTER)
"SEQUENCING〈Y/N〉"
NumYN
="N”
;是否需要行號(hào)
INTERACTION(SEQUENCING)
”SEQUENC-START"
SeqStart
=10
;起始行號(hào)?INTERACTION(SEQUENCING)
"SEQUENC-INCR.”
SeqIncr
=[upload=jpg]10
;行號(hào)增量?INTERACTION(CHARACTER)
"SUBROUTINES<Y/N>"
Sub
="Y”
;是否輸出子程序
INTERACTION(USER_1)
"SUB—PROGRAM—NUMBER”
StartSubNum=1000;子程序號(hào)
********************************************************
菜單說明:?
INTERACTION交互作用,是執(zhí)行后處理時(shí)的一些交互的內(nèi)容:?
(CHARACTER)字符類型,僅指定義的符號(hào)?
(USER_1)格式類型,性質(zhì)同變量格式,余同。
?
“XXXX。。.。.XXXX”交互菜單顯示內(nèi)容?
MainNum定義符,其定義的值或者字符由編程者輸入.例:當(dāng)主程序號(hào)輸入5時(shí),相應(yīng)的輸出部分內(nèi)容“MainNum”則用5取代。
*---——output
?
IF_SET(FlagSeq_EQ_YES)
OUTPUT”%”\J”O(jiān)”MainNum
;
-——-NC文件輸出為%O5
ELSE?
OUTPUT"%"\J”O(jiān)"MainNum
;
—NC文件輸出為%O5
END_IF;
?交互菜單界面如果需要添加新的交互內(nèi)容,只需要添加一個(gè)交互行就可以了,當(dāng)然需要注意被交互的內(nèi)容格式是字符型還是實(shí)數(shù)型。?假如我要出兩種不同程序頭的后處理,可以在樓上的菜單中,增加一行:?INTERACTION(CHARACTER)
”CONTTYPE_SELECT”
CONTTYPE
="N”
;
字符型的交互內(nèi)容??在EXF文件程序頭輸出部分改成下面內(nèi)容就可以了??IF_SET(CONTTYPE_(tái)EQ_”y”)
CONTTYPE=”Y";END_IF;
大小寫設(shè)別
IF_SET(CONTTYPE_EQ_"Y")
如果CONTTYPE=Y
OUTPUT"%_N_DM_M(jìn)PF"\J;
OUTPUT";$PATH=/_N_MPF_DIR"\J”G90G00G17G64G54”;?
ELSE
反之?
OUTPUT"%"\J”G90G00G17G40G54";?
END_IF;
判斷結(jié)束當(dāng)編程者在交互區(qū)輸入Y或非Y時(shí),NC文件程序頭分別為:?%_N_DM_MPF
;$PATH=/_N_M(jìn)PF_DIR_M(jìn)PF?G90G00G17G64G54
?或:?%
G90G00G17G40G54?.。..有不少人或許對(duì)上面的條件判斷不大了解,可翻舊貼查看!?主要判斷符號(hào)如下:
等于
_EQ_
不等于
_NE_
大于
_GT_?
小于
_LT_?
大于等于
_GE_(tái)
小于等于
_LE_第三顆定義DEF文件
TapeInformation
Whenthemaximumnumberofblocksortapelengthisreachedduringanexecution,thetapewillbecutautomaticallyandawarningmessagewillbeissued。?
1.Maximumno.ofblocksintape<>
2。Maximumtapelength(inmeters)
〈60.0>
?3。Subroutinesinseparatefiles
<YES,NO〉
第一項(xiàng):紙帶中最多的塊數(shù),所謂塊數(shù),指的是紙帶中的任意一個(gè)指令的存在,比方說“G01",就算一個(gè)BLOCK,“X100”ProgrammingModeandUnit
?Questions1through4areforinformationalpurposesonly.Everylengthunit(X,Y,Z,I,J,K)willbemultipliedbytheFactorforlengthunits.??1。Programmingmode
〈ABSOLUTE,INCREMENTAL,BOTH〉?
2.Codeforabsolutecoordinates
〈G90>?
3.Codeforincrementalcoordinates
<G91>??4。Lengthunitofmeasurement
<METRIC,INCHES,BOTH〉
5.Factorforlengthunits
<1。0>??6.ToolStartPoint
<TPHOME,1STPROCHOME〉
7。Coordinateorientation
<MACSYS,1stPROC,CURPROC〉
?第一項(xiàng):編程模式,分別為絕對(duì)值編程,相對(duì)值編程,混合編程。?第二項(xiàng):使用絕對(duì)值坐標(biāo)的命令(默認(rèn)為G90)
第三項(xiàng):使用相對(duì)值坐標(biāo)的命令(默認(rèn)為G91)
第四項(xiàng):長度單位(公制,英制,混合)?第五項(xiàng):比例因子(默認(rèn)為1。0),這是一個(gè)非常有用的功能,許多人都問過,但我一般都沒有去回答,因?yàn)樯婕暗角懊娴哪切┗静僮骱屠斫?要一個(gè)一個(gè)地說清楚,是一件很郁悶的事.當(dāng)你的工件忘記放收縮了,可以用這個(gè)讓刀路放收縮,注意,這個(gè)是絕對(duì)的,也就是說,你的工件圖形和目標(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)一般來說,也不要去動(dòng)他。Note:
6.ToolStartPoint:IfTPHOMEischosen,X_HOME,Y_HOME,andZ_HOMEwillbethecoordinatesofthetoolpathstartpoint.If1STPROCHOMEischosen,thecoordinateswillreflectthestartpointoftheprocedure。
7.Coordinat(yī)eorientation:If1STPROCischosen,theoutputorientationwillbethesameasthatofthefirstoutputprocedure.IfCURPROCischosen,theoutputorientat(yī)ionwillbethesameasTPLIST.
Formats
Therearee(cuò)ighteenformatoptionquestionsforeachofthefollowingformats。Theyarelistedbelowtheformats。Thedefaultvaluesfortheformat(yī)seachhaveavaluewithtwelvepositions.Eachpositionrepresentsananswerforoneofthetwelveformatoptionquestions。??IfaquestionistobeansweredYESorNO,0isNOand1isYES。Thetilde~symbolrepresentsanycharacterbutablank.Ablankspaceinthedefaultpositionindicatesthatnocharacterorspacewillbeinsertedinthespecifiedposition。?Note:
?FortechnicalreasonsthevaluesrepresentingtheanswerstoFormatOptions11and12arereversed,i.e.the11thpositioncorrespondstoFormat(yī)Option12andthe12thpositioncorrespondstoFormatOption11.?
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〉?行號(hào)
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ǔ)充上來。其中尖括號(hào)里的內(nèi)容就是默認(rèn)值,對(duì)應(yīng)在下面的變量格式里。
如:<430000~-.101>?最大4位整數(shù),3位小數(shù),整數(shù)最小位數(shù)為0,小數(shù)最小位數(shù)為0,前導(dǎo)零不要,后導(dǎo)零不要,正號(hào)不輸出,負(fù)號(hào)為“-”,小數(shù)點(diǎn)為“。"……后面幾位我也不是太清楚,所以就不說了。有一種情況,不知道大家是否會(huì)遇到,你們可以立即測試一下。通過2點(diǎn)畫一個(gè)R足夠大的圓,比方說R40000,兩點(diǎn)距離為200,然后沿線做一條刀路,看看POST出來的刀路是否也是R40000,如果不是,那就把第一項(xiàng)Coordinates的值改一下,這一項(xiàng)的用處大家應(yīng)該知道了,后面就不多解釋了。?我們在用EXF文件定義中,會(huì)用到這些變量格式,有一節(jié)變量定義中,大家可以看到各種值用的是什么格式,如果有必要的話,就修改他,或者用自定義的格式(User1~10).
ThevaluesenteredbelowarethedefaultsettingsforCoordinates,1。above。〈430000^—.101>?See(cuò)Chapter3inthismanualforadetailedexplanationofmodalvariablevalues(Item12).
?FormatOptions??Max.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<>?正號(hào),這個(gè)不需要,所以是空的。?Characterforthe—sign<—>
負(fù)號(hào)?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的精度絕對(duì)在浮點(diǎn)運(yùn)算水平上。?ForRealformat,Max。digitsforintegerpartandMax。digitsforfractionalpartareinternallysetto14
Real模式(實(shí)數(shù))最大位數(shù)為14。第四課EXF的重要區(qū)段變量
許多段落在里的exf文件里,都可以看到。用法比較簡單,只需要在段落開始的時(shí)候?qū)懮隙蚊?后面要有一個(gè)冒號(hào)),就表示這一段開始。?例如:?BEGINNINGOFPROC:?OUTPUT$"(Procname:"proc_name”)";?這就表示,在程序起始時(shí),先輸出程序名。直到該段代碼運(yùn)行完畢,遇到下一個(gè)段名(如“LINEARMOTION:”),才會(huì)結(jié)束這一段。輸出的內(nèi)容,全部都在程序起始的部位。
可能解釋得不是很清楚,大家細(xì)細(xì)去體會(huì)一下,如果誰能說得更清楚更明白一點(diǎn)的,歡迎補(bǔ)充!除此以外,還有幾個(gè)很重要的區(qū)域,掌握后,對(duì)定制EXF有很大的幫助。?從頂部看起:
*DEMO3axesPostProcessorforFANUC?*CIMATRON90VER9。0?*Lastupdate:23-FEB—1998
?********************************************************
*defineprivatevariables:
私有變量?FORMAT(SEQUENCING)
SeqSubSeqCNTRL_NUMNURBS_DEGcountfirstdeg;?FORMAT(TOOL)
CutterCompFirstToolLastTool;?FORMAT(COORDINATES)XoldYoldZoldDXcenterDYcenterDZcenter;
FORMAT(COORDINATES)ZinitClearDepthCNTRL_X
CNTRL_Y
CNTRL_Z
KNOT_;?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)行效率,另外,也不會(huì)出錯(cuò).說到這里,稍有編程基礎(chǔ)的人就知道變量定義的重要性,例如一個(gè)數(shù)字2356,如果要用文本方式存儲(chǔ)(無限制,一個(gè)數(shù)字一個(gè)字節(jié)),需要占用4個(gè)字節(jié),而用短整數(shù)方式存儲(chǔ)(最大65535),只需要占用2個(gè)字節(jié),而用長整方式存儲(chǔ)(最大4294967295),需要4個(gè)字節(jié).
象還有些User_2的變量,就是我們在Def中講到的,大家可以去看看這些變量的格式。INTERACTION(USER_1)
"MAIN-PROGRAM—NUMBER"
MainNum
=100
;?INTERACTION(TOOL)
"DIACOMP=TO(shè)OL+<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?!?/p>
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ī)會(huì)的話,可以請(qǐng)他再給大家加以詳細(xì)解釋。這部分代碼,每行有四個(gè)部分
INTERACTION(USER_1)
”MAIN-PROGRAM-NUMBER"
MainNum
=100
;?其中INTERACTION(USER_1),這一部分,指示這是一個(gè)USER_1格式的交互操作,其中USER_1的格式在def中定義,而該項(xiàng)的操作對(duì)象(變量)是MainNum.
“MAIN-PROGRAM-NUMBER”,這一部分,是指示的在Cimatron軟件中顯示的文字內(nèi)容或提示,記住,如果你的系統(tǒng)不支持中文,請(qǐng)不要在這里寫下中文字符,特別是IT.E版支持中文的顯示,沒有問題。
MainNum,被操作的變量,也就是這里輸出的數(shù)值或文本,將在確定后,傳送到對(duì)應(yīng)的變量MainNum中,在處理過程中,該項(xiàng)的值就是您輸出的數(shù)值.
=100,默認(rèn)值,該值在您輸出后,會(huì)被改變。?最后不要忘記,一定要在行尾加上分號(hào)”;"。
所有字符,一定要輸入半角英文,引號(hào)內(nèi)的內(nèi)容除外,切記!不過也有特殊的情況,象X,Y,Z這一類的字符,是在引號(hào)內(nèi)的,您也不可以輸出全角字母,因?yàn)榫退鉉imatron編譯通過了,機(jī)床也不會(huì)認(rèn)XYZ(XYZ)這樣的全角字符,和括號(hào)里的XYZ比較一下就知道有什么區(qū)別了.下面,我們來做一些練習(xí),學(xué)習(xí)交互區(qū)的操作。練習(xí)一?漢化:?INTERACTION(USER_1)
"主程序序號(hào)"
MainNum
=100
;
INTERACTION(TOOL)
"刀具補(bǔ)償"
DiaComp
=50
;
INTERACTION(USER_1)
”換刀子程序”
ChangeTool
=8000;
INTERACTION(CHARACTER)
”是否輸出行號(hào)<Y/N〉”
NumYN
="N”
;?INTERACTION(SEQUENCING)
"行號(hào)起始值”
SeqStart
=10
;
INTERACTION(SEQUENCING)
"行號(hào)增量值"
SeqIncr
=10
;
INTERACTION(CHARACTER)
"是否輸出子程序"
Sub
="Y”
;
INTERACTION(USER_1)
"子程序號(hào)"
StartSubNum=1000;
然后編譯,執(zhí)行POST,看看有什么變化沒有。以上操作,請(qǐng)?jiān)冢胕matronE版或CimatronI(lǐng)T中文版下進(jìn)行。練習(xí)二?增加一個(gè)操作項(xiàng)。
INTERACTION(CHARACTER)
”編程員”
Programmer="張";?然后在BEGINNINGOFTAPE:段中加入相應(yīng)的內(nèi)容,例如加在%號(hào)前面
*-——-—output?OUTPUT$"(編程員:"Programmer")"\J;
IF_SET(FlagSeq_EQ_YES)?
OUTPUT"%"\J”O(jiān)”MainNum
;?
ELSE?
OUTPUT"%”\J”O(jiān)"MainNum
;?
END_IF;?在程序中,\J是指輸出一個(gè)換行符,如果不加換行符,那么后面的內(nèi)就會(huì)直接根上來,導(dǎo)致一行可能不被機(jī)床識(shí)別的代碼。
這只是舉的一個(gè)例子,實(shí)際中,用這個(gè)輸出編程員的名字是不可以的,因?yàn)樗荒茏R(shí)別兩個(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;
ELSE
IF_SET(FlagSub_EQ_NO)?
OUTPUT\J”N”Seq;?
Seq=Seq+SeqIncr;
ELSE
OUTPUT\J"N"SubSeq;?
SubSeq=SubSeq+SeqIncr;
END_IF;
END_IF;
這一節(jié)是輸出子程序和程序號(hào),一般沒必要的話,不要去改動(dòng)他,程序行號(hào)在后面還有部分代碼的,在后面我們會(huì)分別講述。
可能有的朋友想默認(rèn)不輸出子程序,把?INTERACTION(CHARACTER)
"是否輸出子程序”
Sub
=”Y"
;?后的”Y"改成”N"就可以了。在您的Program文件夾下,有一大堆chm文件,或者在Cimatron中按下F1也可以打開Help,IT是無效的哦!
因?yàn)槭怯⑽牡?所以大家讀起來可能會(huì)有一些困難,這時(shí)候要借助一些翻譯軟件來學(xué)習(xí)了,英文不好的朋友,不要?dú)怵H,慢慢地讀。
?BlocksandTheirVariables?在這一節(jié)中,標(biāo)明的是每個(gè)段及其能識(shí)別的變量,也就是說,這些段只能識(shí)別這些變量。例如:
在ENDOFPROC:這一段中,能識(shí)別的變量就是
N_FED_TIME、N_FST_TIME、N_GEN_TIME這三個(gè),這就是為什么有些朋友在輸出加工時(shí)間時(shí),為什么想在程序頭中輸出而進(jìn)行不了的原因,可以在反過來看看Begginofproc這一節(jié),是不支持這幾個(gè)變量的。
?在這一節(jié)下面,F(xiàn)ormatsforVariables也是非常有用的,這個(gè)列舉出了所有的變量以及其使用的相關(guān)信息,大家以后在定制后處理的時(shí)候,要隨時(shí)翻查這一內(nèi)容。
ExecutableBlockStatements?這一節(jié)中是關(guān)于程序流程控制的部分,也是非常有用的,大家先看,后面會(huì)一一細(xì)講?!嫉谖逭n〗幾個(gè)BEGINNING段第一個(gè)段,BEGINNINGOFTAPE:
在DEMO中,是這樣的內(nèi)容.?
YES
=1;?
NO
=0;?
Seq
=SeqStart;
YES,NO是兩個(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=NO;?
FlagSub=NO;
還是賦值,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;開始判斷,如果NumYN等于“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;?
ELSE
SET_ON
NO_SUBROUT;?
END_IF;
這里有一個(gè)SET_ON語句,看GPP中SystemFlags一節(jié)。
*——---Unitmatrix(MUSTbeinputinthisorder!!!)OT_MAT1
=1.0;ROT_MAT2
=0.0;ROT_MAT3
=0.0;
ROT_M(jìn)AT4
=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)操作的,不用改。
?*--——-shiftalldat(yī)aaccordingtotheMCHINEZEROindicatedbythe
?*
userinthePOSTPRinteraction?
TRANS_MATX=0-X_MACH
;
TRANS_MATY=0-Y_MACH
;
TRANS_MATZ=0-Z_MACH
;??*-—---shifttheHOMEaccordingtotheMCHINEZEROindicatedbythe?*
userinthePOSTPRinteraction?
Xhome=X_HOME-X_MACH
;
Yhome=Y_HOME—Y_M(jìn)ACH
;
Zhome=Z_HOME—Z_M(jìn)ACH
;??*——toollocat(yī)ionisHOME
Xold=X_HOME;?
Yold=Y(jié)_HOME;
Zold=Z_HOME;??*--For1stORIGINCHANGE
FirstOriginChange=YES;
MCH_FEED
=9999;?以上內(nèi)容,通通略過。IF_SET(FlagSeq_EQ_YES)
OUTPUT"%”\J"O”MainNum
;?
ELSE
OUTPUT"%”\J”O(jiān)"MainNum
;?
END_IF;?如果FLAGSEQ這一項(xiàng)為1的話,輸出%O100,否則輸出%O100,%和O前面有空格的,下面還有一段解釋是和這一節(jié)有點(diǎn)兒關(guān)系的,繼續(xù)看.
*--Forthefirstoriginchange
ORIGOLDI=0;ORIGOLDJ=0;ORIGOLDK=1;
flagrotmac=no;?=========================================
在BEGINNINGOFTAPE:前面,還有一段:?NEW_LINE_IS$;?
IF_SET(FlagSeq_EQ_NO)?
OUTPUT\J;?
ELSE?
IF_SET(FlagSub_EQ_NO)?
OUTPUT\J”N"Seq;
Seq=Seq+SeqIncr;
ELSE?
OUTPUT\J"N”SubSeq;?
SubSeq=SubSeq+SeqIncr;?
END_IF;
END_IF;翻譯如下:
新行屬于字符串輸出。
如果設(shè)定為不輸出行號(hào)的話?
在文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 飛機(jī)維修監(jiān)察方案(3篇)
- 物業(yè)外墻維護(hù)維修方案(3篇)
- 高層商業(yè)業(yè)態(tài)規(guī)劃方案(3篇)
- 清理井場積水方案(3篇)
- 增材制造裝備在流體機(jī)械制造的挑戰(zhàn)
- 微架構(gòu)性能影響報(bào)告
- 陜西省咸陽市2024-2025學(xué)年高一下學(xué)期期末質(zhì)量檢測思想政治試卷
- 2025年羅田縣輔警考試練習(xí)題庫(含答案)
- 2025年遼寧沈陽鐵西區(qū)人民陪審員選任考試筆試試題(含答案)
- 全國18名校大聯(lián)考2026屆化學(xué)高三第一學(xué)期期中經(jīng)典模擬試題含解析
- 江西省上饒市2024-2025學(xué)年七年級(jí)下學(xué)期期末語文試題
- 2025年小學(xué)生環(huán)??破罩R(shí)競賽題庫及答案
- 2025至2030年中國乙醇行業(yè)市場全景調(diào)研及發(fā)展趨向研判報(bào)告
- 設(shè)備易損配件管理制度
- 叉車維修方案(3篇)
- 顱內(nèi)感染診療指南
- 兒童腺病毒肺炎
- 2025至2030中國UV打印機(jī)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展報(bào)告
- 2025至2030中國氫化可的松口服片行業(yè)項(xiàng)目調(diào)研及市場前景預(yù)測評(píng)估報(bào)告
- 消防器材介紹課件
- 可研委托合同(合同范本)5篇
評(píng)論
0/150
提交評(píng)論