Cimatron的后置处理技术doc.docx

上传人:b****8 文档编号:29903508 上传时间:2023-08-03 格式:DOCX 页数:25 大小:223.91KB
下载 相关 举报
Cimatron的后置处理技术doc.docx_第1页
第1页 / 共25页
Cimatron的后置处理技术doc.docx_第2页
第2页 / 共25页
Cimatron的后置处理技术doc.docx_第3页
第3页 / 共25页
Cimatron的后置处理技术doc.docx_第4页
第4页 / 共25页
Cimatron的后置处理技术doc.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Cimatron的后置处理技术doc.docx

《Cimatron的后置处理技术doc.docx》由会员分享,可在线阅读,更多相关《Cimatron的后置处理技术doc.docx(25页珍藏版)》请在冰豆网上搜索。

Cimatron的后置处理技术doc.docx

Cimatron的后置处理技术doc

后处理修改详解

〖第一课〗了解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行),等等

控制菜单中的两个重要有关图标解释一下:

一,DFPOST,这个就是我在一楼中说的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文件已经创建了)

Presstoexit.(按回车退出)

再次按下回车,退出此界面。

作用:

编译一个正确的EXF文件到DEX文件,以备CimatronNC在POST时调用。

例二:

准备工作:

打开Demo.exf文件,用记事本就可以打开了,在里面添加一行:

output$"(Test)";

放在BEGINNINGOFPROC:

的上面,存盘退出。

具体操作:

先按例一的操作,结束后,用E/IT打开一个图档,然后POST一条刀路,应该在前三行会出现(Test)字符,如下:

%

O0100

(Test)

T01

G90G80G00G17G40M23

G43H01Z100.S1000M03

G00X-3.Y0.0Z100.M09

作用:

正确地修改和编译。

如果此项不成功,请检查步骤是否有错,并继续看例三。

与GPP修改有关地方

 

第二课〗DEF文件定制及相关项目解释

Def文件,可以算作是一个通用定义,比方说各代码的定义,输出格式等等,有的要4位小数,有的只要2位小数,都可以在这里定义。

例一:

目标:

去掉程序中输出的M09。

具体操作:

打开控制面板,找到DFPost并单击他。

光标移到demo下面,并按下回车。

会出现下列的对话菜单:

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

光标移到第六项,按下回车,再移到第8项,这一项是指关闭冷却方式的代码,光标会停在M09的M上,按三次空格,再按下回车。

修改结束。

如何让这次改动生效?

不是按下ESC退出就可以了的,您必须有一个存盘退出的过程。

按下ESC,一共需要2次,这时对话框显得有些乱,多进入退出几次,可以改善这一状况,如图所示。

第一项,问您什么文件名,这个当然不用动了。

第二项,是否保存?

当然是YES了,一般来说,这个也不用动他。

第三项,是否替换?

这时候要按下键,把他切换为YES。

第四项,准备一个输出文件?

这个不用理他。

准备好这四项的确定后,按下Ctrl+Z(先按住Ctrl键不放,然后再按下Z键,再一起放开),保存就生效了,再按下回车退出,关闭这个对话框

打开DEMO.EXF文件,找到以下内容:

********************************************************

INTERACTION(USER_1)    "MAIN-PROGRAM-NUMBER"    MainNum    =100  ;主程序号

INTERACTION(TOOL)      "DIACOMP=TOOL+"    DiaComp    =50  ;刀补号

INTERACTION(USER_1)    "TOOL-CHANGE-PROGRAM"    ChangeTool  =8000;换刀子程序号

INTERACTION(CHARACTER)  "SEQUENCING"      NumYN    ="N"  ;是否需要行号

INTERACTION(SEQUENCING)  "SEQUENC-START"        SeqStart  =10  ;起始行号

INTERACTION(SEQUENCING)  "SEQUENC-INCR."        SeqIncr    =[upload=jpg]10  ;行号增量

INTERACTION(CHARACTER)  "SUBROUTINES"      Sub      ="Y"  ;是否输出子程序

INTERACTION(USER_1)    "SUB-PROGRAM-NUMBER"    StartSubNum=1000;子程序号

********************************************************

菜单说明:

  INTERACTION交互作用,是执行后处理时的一些交互的内容:

  (CHARACTER)字符类型,仅指定义的符号

  (USER_1)格式类型,性质同变量格式,余同。

  

  “XXXX.....XXXX”交互菜单显示内容

  MainNum定义符,其定义的值或者字符由编程者输入。

例:

当主程序号输入5时,相应的输出部分内容“MainNum”则用5取代。

  *-----output  

    IF_SET(FlagSeq_EQ_YES)

      OUTPUT"%"\J"O"MainNum  ;  ----NC文件输出为%O5

    ELSE

      OUTPUT"%"\J"O"MainNum  ;  ----NC文件输出为%O5

    END_IF;

交互菜单界面

如果需要添加新的交互内容,只需要添加一个交互行就可以了,当然需要注意被交互的内容格式是字符型还是实数型。

假如我要出两种不同程序头的后处理,可以在楼上的菜单中,增加一行:

INTERACTION(CHARACTER)  "CONTTYPE_SELECT"      CONTTYPE  ="N"  ;  字符型的交互内容

在EXF文件程序头输出部分改成下面内容就可以了

IF_SET(CONTTYPE_EQ_"y")  CONTTYPE="Y";END_IF;  大小写设别

  IF_SET(CONTTYPE_EQ_"Y")  如果CONTTYPE=Y

      OUTPUT"%_N_DM_MPF"\J;

      OUTPUT";$PATH=/_N_MPF_DIR"\J"G90G00G17G64G54";

    ELSE    反之

      OUTPUT"%"\J"G90G00G17G40G54";

    END_IF;  判断结束

当编程者在交互区输入Y或非Y时,NC文件程序头分别为:

%_N_DM_MPF

;$PATH=/_N_MPF_DIR_MPF

G90G00G17G64G54

或:

%

G90G00G17G40G54

....

有不少人或许对上面的条件判断不大了解,可翻旧贴查看!

主要判断符号如下:

  等于          _EQ_

  不等于        _NE_

  大于          _GT_

  小于          _LT_

  大于等于      _GE_

  小于等于      _LE_

 

第三颗定义DEF文件

 

TapeInformation

Whenthemaximumnumberofblocksortapelengthisreachedduringanexecution,thetapewillbecutautomaticallyandawarningmessagewillbeissued.

1.Maximumno.ofblocksintape<>

2.Maximumtapelength(inmeters)  <60.0>

3.Subroutinesinseparatefiles  

第一项:

纸带中最多的块数,所谓块数,指的是纸带中的任意一个指令的存在,比方说“G01”,就算一个BLOCK,“X100”,也算一个BLOCK。

第二项,纸带的最大长度。

这个代表的是米数(是纸带长度还是刀路长度没有去具体了解,字面意思理解是纸带长度)。

第三项,是否在分开的文件中引用子程序。

这一段的设置,在我们大多数地CNC应用中,是很少接触到的,所以如果没有必要的话就不要去动他了,这个大家能够了解一下就可以了,留在脑中以防万一。

ProgrammingModeandUnit

Questions1through4areforinformationalpurposesonly.Everylengthunit(X,Y,Z,I,J,K)willbemultipliedbytheFactorforlengthunits.

1.Programmingmode  

2.Codeforabsolutecoordinates  

3.Codeforincrementalcoordinates  

4.Lengthunitofmeasurement  

5.Factorforlengthunits  <1.0>

6.ToolStartPoint  

7.Coordinateorientation  

第一项:

编程模式,分别为绝对值编程,相对值编程,混合编程。

第二项:

使用绝对值坐标的命令(默认为G90)

第三项:

使用相对值坐标的命令(默认为G91)

第四项:

长度单位(公制,英制,混合)

第五项:

比例因子(默认为1.0),这是一个非常有用的功能,许多人都问过,但我一般都没有去回答,因为涉及到前面的那些基本操作和理解,要一个一个地说清楚,是一件很郁闷的事。

当你的工件忘记放收缩了,可以用这个让刀路放收缩,注意,这个是绝对的,也就是说,你的工件图形和目标工件,必须存在的是一个固定的比例关系,不可以是型腔要放收缩,而导柱孔不需要放收缩,要放就一起放,除非你深入地去理解他,操作他。

如果零件的缩水是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.

 

 

Formats

Thereareeighteenformatoptionquestionsforeachofthefollowingformats.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足够大的圆,比方说R40000,两点距离为200,然后沿线做一条刀路,看看POST出来的刀路是否也是R40000,如果不是,那就把第一项Coordinates的值改一下,这一项的用处大家应该知道了,后面就不多解释了。

我们在用EXF文件定义中,会用到这些变量格式,有一节变量定义中,大家可以看到各种值用的是什么格式,如果有必要的话,就修改他,或者用自定义的格式(User1~10)。

ThevaluesenteredbelowarethedefaultsettingsforCoordinates,1.above.<430000^-.101>

SeeChapter3inthismanualforadetailedexplanationofmodalvariablevalues(Item12).

FormatOptions

Max.digitsforintegerpart  <4>

整数位数

Max.digitsforfractionalpart<3>

小数位数

Min.digitsforintegerpart<0>

整数最小位数

Min.digitsforfractionalpart<0>

小数最小位数

Leadingzeroes

前导零。

就是说如果出现“0.02”这样的值,是否需要前导的零,如果选NO的话,输出就是“.02”

Trailingzeroes

这个应该是后导的零吧,小数位数是3,如果有"0.2"这样的数,小数位数不足3,后面补零输出为"0.200",这个我没有去测试。

Characterforthe+sign<>

正号,这个不需要,所以是空的。

Characterforthe-sign<->

负号

Characterfordecimalpoint<.>

小数点

Usedecimalpt.forwholenumbers?

.

Representationofvalue0<0>

0的特殊表达

Modalvalue?

Notes:

注意

Max.digitsforintegerpart/Max.digits

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1