Cimatron的后置处理技术7438240598Word格式.docx
《Cimatron的后置处理技术7438240598Word格式.docx》由会员分享,可在线阅读,更多相关《Cimatron的后置处理技术7438240598Word格式.docx(21页珍藏版)》请在冰豆网上搜索。
![Cimatron的后置处理技术7438240598Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/11/98ec6583-86eb-4fe9-adee-6a27803c65c7/98ec6583-86eb-4fe9-adee-6a27803c65c71.gif)
你的行号最大只认是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文件已经创建了)Press<
CR>
toexit.(按回车退出)
再次按下回车,退出此界面。
作用:
编译一个正确的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.PROGRAMMINGMODEANDUNIT3.FORMATS
4.POSITIONINGCODES(Notinuse)
5.MESSAGESANDINSERTS6.MACHINEPARAMETERS
7.LINEARMOTION
8.CIRCULARMOTION
9.NURBSMOTIONS
10.CANNEDCYCLES
11.OUTPUTFILES
12.POSTPR/EXPSTINTERFACE
光标移到第六项,按下回车,再移到第8项,这一项是指关闭冷却方式的代码,光标会停在M09的M上,按三次空格,再按下回车。
修改结束。
如何让这次改动生效,不是按下ESC退出就可以了的,您必须有一个存盘退出的过程。
按下ESC,一共需要2次,这时对话框显得有些乱,多进入退出几次,可以改善这一状况,如图所示。
第一项,问您什么文件名,这个当然不用动了。
第二项,是否保存,当然是YES了,一般来说,这个也不用动他。
第三项,是否替换,这时候要按下<
TAB>
键,把他切换为YES。
第四项,准备一个输出文件,这个不用理他。
准备好这四项的确定后,按下Ctrl+Z(先按住Ctrl键不放,然后再按下Z键,再一起放开),保存就生效了,再按下回车退出,关闭这个对话框
打开DEMO.EXF文件,找到以下内容:
********************************************************
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=[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
%"
O"
----NC文件输出为%O5
END_IF;
交互菜单界面
如果需要添加新的交互内容,只需要添加一个交互行就可以了,当然需要注意被交互的内容格式是字符型还是实数型。
假如我要出两种不同程序头的后处理,可以在楼上的菜单中,增加一行:
CONTTYPE_SELECT"
CONTTYPE="
字符型的交互内容
在EXF文件程序头输出部分改成下面内容就可以了
IF_SET(CONTTYPE_EQ_"
y"
)CONTTYPE="
END_IF;
大小写设别
)如果CONTTYPE=Y
%_N_DM_MPF"
\J;
$PATH=/_N_MPF_DIR"
G90G00G17G64G54"
ELSE反之
G90G00G17G40G54"
判断结束
当编程者在交互区输入Y或非Y时,NC文件程序头分别为:
%_N_DM_MPF
$PATH=/_N_MPF_DIR_MPF
G90G00G17G64G54
或:
G90G00G17G40G54
....
有不少人或许对上面的条件判断不大了解,可翻旧贴查看~
主要判断符号如下:
等于_EQ_
不等于_NE_
大于_GT_
小于_LT_
大于等于_GE_
小于等于_LE_
第三颗定义DEF文件
TapeInformation
Whenthemaximumnumberofblocksortapelengthisreachedduringanexecution,thetapewi
llbecutautomaticallyandawarningmessagewillbeissued.
1.Maximumno.ofblocksintape<
>
2.Maximumtapelength(inmeters)<
60.0>
3.Subroutinesinseparatefiles<
YES,NO>
第一项:
纸带中最多的块数,所谓块数,指的是纸带中的任意一个指令的存在,比方说“G01”,就算一个BLOCK,“X100”,也算一个BLOCK。
第二项,纸带的最大长度。
这个代表的是米数(是纸带长度还是刀路长度没有去具体了解,字面意思理解是纸带长度)。
第三项,是否在分开的文件中引用子程序。
这一段的设置,在我们大多数地CNC应用中,是很少接触到的,所以如果没有必要的话就不要去动他了,这个大家能够了解一下就可以了,留在脑中以防万一。
ProgrammingModeandUnit
Questions1through4areforinformationalpurposesonly.Everylengthunit(X,Y,Z,I,J,K)willbe
multipliedbytheFactorforlengthunits.
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>
编程模式,分别为绝对值编程,相对值编程,混合编程。
第二项:
使用绝对值坐标的命令(默认为G90)
第三项:
使用相对值坐标的命令(默认为G91)
第四项:
长度单位(公制,英制,混合)
第五项:
比例因子(默认为1.0),这是一个非常有用的功能,许多人都问过,但我一般都没有去回答,因
为涉及到前面的那些基本操作和理解,要一个一个地说清楚,是一件很郁闷的事。
当你的工件忘记放收缩
了,可以用这个让刀路放收缩,注意,这个是绝对的,也就是说,你的工件图形和目标工件,必须存在的
是一个固定的比例关系,不可以是型腔要放收缩,而导柱孔不需要放收缩,要放就一起放,除非你深入地
去理解他,操作他。
如果零件的缩水是0.008,那么这里就输入1.008,图形中的100mm,加工后就变成了
100.8mm,这个参数一定要小心修改~
第六项:
刀具起始点,分别为路径起点,第一程序起点。
第七项:
坐标原点,分别为机床原点,第一程序原点,当前程序原点。
上面这两项,没必要的话,不要去弄他,一,四项一般来说,也不要去动他。
Note:
6.ToolStartPoint:
IfTPHOMEischosen,X_HOME,Y_HOME,andZ_HOMEwillbethecoordinate
softhetoolpathstartpoint.If1STPROCHOMEischosen,thecoordinateswillreflectthe
startpointoftheprocedure.
7.Coordinateorientation:
If1STPROCischosen,theoutputorientationwillbethesameas
thatofthefirstoutputprocedure.IfCURPROCischosen,theoutputorientationwillbet
hesameasTPLIST.
Formats
Thereareeighteenformatoptionquestionsforeachofthefollowingformats.Theyarelistedbelowtheformats.Thedefaultvaluesfortheformatseachhaveavaluewithtwelvepositions.Eachpositionrepresentsananswerforoneofthetwelveformatoptionquestions.
IfaquestionistobeansweredYESorNO,0isNOand1isYES.Thetilde~symbolrepresentsanycharacterbutablank.Ablankspaceinthedefaultpositionindicatesthatnocharacterorspacewillbeinsertedinthespecifiedposition.
FortechnicalreasonsthevaluesrepresentingtheanswerstoFormatOptions11and12arereversed,i.e.the11thpositioncorrespondstoFormatOption12andthe12thpositioncorrespondstoFormatOption11.
Characterisaformattypewhichmaybeassignedinplaceoftheformattypeslisted.ItisnotdefinedwiththeDFPOSTquestions.Itassignsamodalstatus,bydefault.VariablesformattedasCharactermaycontainupto20characters.
User_1toUser_10areuser-definedformattypesandareexplainedinSection3.2.
Coordinates<
430000~-.101>
坐标
Angles<
角度
Feed<
51001~~101>
进给(不可以有负值哦)
Spindle_speed<
51001~~.101>
转速
Dwell<
430000~~.101>
钻孔循环
Sequencing<
行号
Tool<
40000~~.001>
刀具
User_1<
430000~-.001>
自定义
User_2<
User_3<
User_4<
User_5<
User_6<
User_7<
User_8<
User_9<
User_10<
Real<
355511~-.100>
实数
上面的就是变量定义的,舜江候兄没有讲得太清楚,我补充上来。
其中尖括号里的内容就是默认值,对应在下面的变量格式里。
如:
<
最大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<
小数最小位数
Leadingzeroes<
NO,YES>
前导零。
就是说如果出现“0.02”这样的值,是否需要前导的零,如果选NO的话,输出就是“.02”Trailingzeroes<
这个应该是后导的零吧,小数位数是3,如果有"
0.2"
这样的数,小数位数不足3,后面补零输出为"
0.200"
,
这个我没有去测试。
Characterforthe+sign<
正号,这个不需要,所以是空的。
Characterforthe-sign<
->
负号
Characterfordecimalpoint<
.>
小数点
Usedecimalpt.forwholenumbers?
.<
Representationofvalue0<
0的特殊表达
Modalvalue?
<
,,,
Notes:
注意
Max.digitsforintegerpart/Max.digitsforfractionalpart<
=9
整数部分和小数部分最大位数是9,以后不要说Cimatron没精度了,Cimatron的精度绝对在浮点运算水平上。
ForRealformat,Max.digitsforintegerpartandMax.digitsforfractionalpartareinternallysetto14
Real模式(实数)最大位数为14。