版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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选择相关类型[在此可修改如最大(小)整(小)数位,等等内容]见图:例如:你的行号最大只认是99999,则可以修改行号类型(左图第6行)中的最大整数位为5(右图第1行);又如:你要求程序输出保留小数3位,则修改坐标类型(左图第1行)中的最大小数位为3(右图第2行),等等控制菜单中的两个重要有关图标解释一下:一,DFPOS,这个就是我在一楼中说的DEF修改器,里面有相关的G代码定义,如果你愿意,可以把直线插补定义成G08(随便举的例子),当然还有一个更重要的是,有些朋友不希望在程序中输出M09也可以在这里改。二,DFEXF这个就是编译器,任何后处理源代码的修改,都必须要通过这个编译器编译成功后,才能生效。在正式开课后,会针对这两个命令做进一步的解释。可以说,不会这两个功能,就相当于不会改后处理,不会改后处理,那就相当于不会用Cimatron。因为每一台机床的控制系統都可能会不一样,Cimatron并没有提供更多的后处理来供您使用,当您换一个环境,或是增加一台机床,都可能面临后处理的问题。可以说,修改后处理,比学习几个刀路会来得更实在一些。第一课中,我们需要来给大家讲解一下编译的过程,希望大家不要嫌简单。例一:准备工作:找到POST文件夹,并找到DEMO.exf,Demo.def,Demo.dex这三个文件。具体操作:不需要做任何修改。首先打开MainMenu或者是CimatronEControlPanel(E的控制面板),找到dfexf这个项目,单击他,出现如下提示:CIMATRONEexternalfiledefinitionprogram(version7.0)Enterfilenamewithoutextension(.exf) 请直接输入demo按下回车。此时会提示ENDOFCOMPILATION:validdemo.dexcreated(有效的demo.dex文件已经创建了)Press<CR>toexit.(按回车退出)再次按下回车,退出此界面。作用:编译一个正确的EXF文件到DEX文件,以备CimatronNC在POST寸调用。例二:准备工作:打开Demo.exf文件,用记事本就可以打开了,在里面添加一行 :output$"(Test)";放在BEGINNINGOFPRO的上面,存盘退出。
具体操作:先按例一的操作,结束后,用E/IT打开一个图档,然后POST一条刀路,应该在前三行会出现(Test)字符,如下:%00100(Test)T01G90G80G00G17G40M23G43H01Z100.S1000M03G00X-3.Y0.0Z100.M09作用:正确地修改和编译。如果此项不成功,请检查步骤是否有错,并继续看例三。与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位小数,有的只要2位小数,都可以在这里定义例一:目标:去掉程序中输出的M09。具体操作:打开控制面板,找到DFPost并单击他。光标移到demo下面,并按下回车。会出现下列的对话菜单: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;行号增量甲坦慎艮腌蛭钢创霁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交互作用,是执行后处理时的一些交互的内容:(CHARACTER)符类型,仅指定义的符号(USER_1格式类型,性质同变量格式,余同。“XXXX..…XXXX”交互菜单显示内容MainNum定义符,其定义的值或者字符由编程者输入。例:当主程序号输入5时,相应的输出部分内容“MainNum则用5取代。*——outputIF_SET(FlagSeq_EQ_YES)OUTPUT"%"\J"O"MainNum;----NC 文件输出为%05ELSEOUTPUT"%"\J"O"MainNum;----NC 文件输出为%05END_IF;如果需要添加新的交互内容,只需要添加一个交互行就可以了,当然需要注意被交互的内容格式是字符型还是实数型。假如我要出两种不同程序头的后处理,可以在楼上的菜单中,增加一行 :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;判断结束当编程者在交互区输入丫或非丫时,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>第一项:纸带中最多的块数,所谓块数,指的是纸带中的任意一个指令的存在,比方说“G01,就算一个BLOCK“X1O0,也算一个BLOCK第二项,纸带的最大长度。这个代表的是米数(是纸带长度还是刀路长度没有去具体了解,字面意思理解是纸带长度)。第三项,是否在分开的文件中引用子程序。这一段的设置,在我们大多数地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这个参数一定要小心修改〜第六项:刀具起始点,分别为路径起点,第一程序起点。第七项:坐标原点,分别为机床原点,第一程序原点,当前程序原点。上面这两项,没必要的话,不要去弄他,一,四项一般来说,也不要去动他。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>钻孔循环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>实数上面的就是变量定义的,舜江候兄没有讲得太清楚,我补充上来。其中尖括号里的内容就是默认值,对应在下面的变量格式里。如:<430000~-.101>最大4位整数,3位小数,整数最小位数为0,小数最小位数为0,前导零不要,后导零不要,正号不输出,负号为“,”,小数点为“.",,后面几位我也不是太清楚,所以就不说了。有一种情况,不知道大家是否会遇到,你们可以立即测试一下。通过2点画一个R足够大的圆,比方说R4000Q两点距离为200,然后沿线做一条刀路,看看POSTB来的刀路是否也是R4000Q如果不是,那就把第一项Coordinates的值改一下,这一项的用处大家应该知道了,后面就不多解释了。 我们在用EXF文件定义中,会用到这些变量格式,有一节变量定义中,大家可以看到各种值用的是什么格式,如果有必要的话,就修改他,或者用自定义的格式(User1~10)。ThevaluesenteredbelowarethedefaultsettingsforCoordinates,1.above.<430000A-.101>SeeChapter3inthismanualforadetailedexplanationofmodalvariablevalues(Item12).FormatOptionsMax.digitsforintegerpart<4>整数位数Max.digitsforfractionalpart<3>小数位数Min.digitsforintegerpart<0>整数最小位数Min.digitsforfractionalpart<0>小数最小位数Leadingzeroes<NO,YES>前导零。就是说如果出现“0.02”这样的值,是否需要前导的零,如果选NO的话,输出就是“.02”Trailingzeroes<NO,YES>这个应该是后导的零吧,小数位数是3,如果有"0.2"这样的数,小数位数不足3,后面补零输出为"0.200",这个我没有去测试。Characterforthe+sign<>正号,这个不需要,所以是空的。Characterforthe-sign<->负号Characterfordecimalpoint<.>小数点Usedecimalpt.forwholenumbers?.<YES,NO>Representationofvalue0<0>0的特殊表达Modalvalue?<YES,NO>Notes:Max.digitsforintegerpart/Max.digitsforfractionalpart<=9整数部分和小数部分最大位数是9,以后不要说Cimatron没精度了,Cimatron的精度绝对在浮点运算水平上。ForRealformat,Max.digitsforintegerpartandMax.digitsforfractionalpartareinternallysetto14Real模式(实数)最大位数为14。第四课EXF的重要区段变量许多段落在里的exf文件里,都可以看到。用法比较简单,只需要在段落开始的时候写上段名(后面要有一个冒号),就表示这一段开始。例如:BEGINNINGOFPROC:OUTPUT$"(Procname:"proc_name")"; 这就表示,在程序起始时,先输出程序名。直到该段代码运行完毕,遇到下一个段名 (如“LINEARMOTION:),才会结束这一段。输出的内容,全部都在程序起始的部位。可能解释得不是很清楚,大家细细去体会一下,如果谁能说得更清楚更明白一点的,欢迎补充〜除此以外,还有几个很重要的区域,掌握后,对定制 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;上面这个部分就是变量/常量定义,这些都属于自定义变量,所以要告诉系统,这些变量分别属于什么格式,格式指定正确,可以节省内存,加快程序运行效率,另外,也不会出错。说到这里,稍有编程基础的人就知道变量定义的重要性,例如一个数字2356,如果要用文本方式存储(无限制,一个数字一个字节),需要占用4个字节,而用短整数方式存储(最大65535),只需要占用2个字节,而用长整方式存储(最大4294967295),需要4个字节。象还有些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;上面的部分内容,就是一个交互区,这些是在Post前,接受的一些自定义内容,有些高手,把其中某项输入加以判断,分别输出不同的代码(如同时支持Fanuc,三菱,Sim802s的后处理),这一点,舜江侯兄玩得很精,可机会的话,可以请他再给大家加以详细解释。这部分代码,每行有四个部分INTERACTION(USER_1)"MAIN-PROGRAM-NUMBER"MainNum=10其0中;INTERACTI0N(USER_1)这一部分,指示这是一个USER_格式的交互操作,其中USER_的格式在def中定义,而该项的操作对象(变量)是MainNum。“MAINPROGRAMUMBER,这一部分,是指示的在Cimatron软件中显示的文字内容或提示,记住,如果你的系统不支持中文,请不要在这里写下中文字符,特别是 IT。E版支持中文的显示,没有问题。MainNum,被操作的变量,也就是这里输出的数值或文本,将在确定后,传送到对应的变量MainNum中,在处理过程中,该项的值就是您输出的数值。=100,默认值,该值在您输出后,会被改变。最后不要忘记,一定要在行尾加上分号";"。所有字符,一定要输入半角英文,引号内的内容除外,切记〜不过也有特殊的情况,象X,Y,Z这一类的字符,是在引号内的,您也不可以输出全角字母,因为就算Cimatron编译通过了,机床也不会认,,,(XYZ)这样的全角字符,和括号里的XYZ比较一下就知道有什么区别了。下面,我们来做一些练习,学习交互区的操作。练习一汉化: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;然后编译,执行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是指输出一个换行符,如果不加换行符,那么后面的内就会直接根上来,导致一行可能不被机床识别的代码。这只是举的一个例子,实际中,用这个输出编程员的名字是不可以的,因为他只能识别两个字节(2个英文字母,1个中文汉字)的内容,大家试一下把Programmer=“张”改成“张三”便知。另外要注意的一点是,所以的交互区用到的变量都不需要预先定义,因为在交互的时候,也就定义了变量。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;这一节是输出子程序和程序号,一般没必要的话,不要去改动他,程序行号在后面还有部分代码的,在后面我们会分别讲述。可能有的朋友想默认不输出子程序,把INTERACTION(CHARACTEF是否输出子程序"Sub="Y";后的"Y"改成"N"就可以了。在您的Program文件夹下,有一大堆chm文件,或者在Cimatron中按下F1也可以打开Help,IT是无效的哦〜因为是英文的,所以大家读起来可能会有一些困难,这时候要借助一些翻译软件来学习了,英文不好的朋友,不要气馁,慢慢地读。BlocksandTheirVariables在这一节中,标明的是每个段及其能识别的变量,也就是说,这些段只能识别这些变量。例如:在ENDOFPRO(这一段中,能识别的变量就是N_FED_TIMEN_FST_TIMEN_GEN_TIM这三个,这就是为什么有些朋友在输出加工时间时,为什么想在程序头中输出而进行不了的原因,可以在反过来看看Begginofproc这一节,是不支持这几个变量的。在这一节下面,FormatsforVariables也是非常有用的,这个列举出了所有的变量以及其使用的相关信息,大家以后在定制后处理的时候,要随时翻查这一内容。ExecutableBlockStatements这一节中是关于程序流程控制的部分,也是非常有用的,大家先看,后面会一一细讲。〖第五课〗几个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就是在交互区中曾经赋过值的。FlagSeq=NQ;FlagSub=NQ;还是赋值,NO已经被赋值为0了,那么现在FlagSeq和FlagSub都等于0。IF_SET(NumYN_EQ_"y")FlagSeq=YES;END_IF;IF_SET(NumYN_EQ_"Y")FlagSeq=YES;END_IF;开始判断,如果NumY等于“Y'或"y"(因为他区分大小写,所以要写两句),那么FlagSeq的值就变成1。注意后面还要有END_IF这时候,大家要参考一下GPP里的帮助了。“_EQ_就是一个逻辑判断,判断前后两项的内容是否相等。IF_SET最标准的写法就是:IF_SET(条件)满足条件执行的语句;ELSE不满足条件执行的语句;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一节。 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;这一节是轴相关操作的,不用改。 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前面有空格的,下面还有一段解释是和这一节有点儿关系的,继续看。*--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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《知识产权培训》课件
- 《种酿酒白葡萄》课件
- 《诊断原则》课件
- 单位管理制度集合大全【人员管理】
- 单位管理制度合并选集员工管理篇
- 单位管理制度分享合集【员工管理篇】十篇
- 单位管理制度分享大合集【员工管理篇】
- 单位管理制度范例汇编【员工管理】十篇
- 七年级英语SpringFestival课件
- 单位管理制度呈现大全【员工管理篇】
- 承德市承德县2022-2023学年七年级上学期期末历史试题【带答案】
- CJT511-2017 铸铁检查井盖
- 转科患者交接记录单
- 现代汉语智慧树知到期末考试答案章节答案2024年昆明学院
- 人教版六年级数学(上册)期末调研题及答案
- 舞蹈疗法在减少压力和焦虑中的作用
- 计算机应用专业大学生职业生涯规划
- 设备的故障管理
- 女性妇科保健知识讲座
- 《电力系统治安反恐防范要求 第3部分:水力发电企业》
- 2024年小学教师听课、评课制度
评论
0/150
提交评论