
没有参数控制,画面内容是自己写的,西门子出厂是没有画面的画面的文本后缀名是xml
下图是画面对应的MXL的文件,希望对你有用!
<let name="input_string" type="string"></let>
<let name="var3" type="string">MM</let>
<let name="Temp_Int" type="int"></let>
<let name="length" type="int">0</let>
<let name="rvar" type="int">0</let>
<menu name="tiaoshi">
<open_form name = "setting_code"/>
<softkey Position = "9">
<caption> 确定</caption>
<function name="stringlength" return="length">input_string</function>
<function name="stringcmp"return="rvar">input_string,var3</function>
<update_controls type="false"/>
<if>
<condition> rvar==0 </condition>
<then>
<function name="stringlength" return="length">input_string</function>
<function name="stringdelete">input_string,0,length</function>
<navigation>tiaoshi2</navigation>
</then>
<else>
<msgbox text="密码输入错误,请重新输入密码!" caption ="信息" retvalue = "Temp_Int" type = "BTN_OK"/>
<if>
<condition>Temp_Int==1</condition>
<then>
<function name="stringlength" return="length">input_string</function>
<function name="stringdelete">input_string,0,length</function>
<op>Temp_Int=0</op>
</then>
</if>
</else>
</if>
</softkey>
<softkey POSITION="8">
<caption> 返回%n 主页</caption>
<navigation>Main</navigation>
</softkey>
</menu>
<form name="setting_code" >
<init>
<DATA_ACCESS type="true"/>
<caption>密码设置界面</caption>
<img xpos="230" ypos="270" name="f:/appl/picbmp"/>
<control name="cinput" xpos="240" ypos="80" width="100" refvar="input_string" fieldtype="edit" hotlink="true">
<property password="true"/>
</control>
</init>
<paint>
<text xpos="145" ypos="80">请输入密码:</text>
</paint>
<timer>
<img xpos="230" ypos="270" name="f:/appl/picbmp"/>
</timer>
<edit_change>
</edit_change>
<focus_in>
</focus_in>
</form>
<menu name="tiaoshi2">
<open_form name="R_list"/>
<softkey POSITION="1">
<caption>输入诊断</caption>
<navigation>input1</navigation>
</softkey>
<softkey POSITION="2">
<caption>输出诊断</caption>
<navigation>output1</navigation>
</softkey>
<softkey POSITION="3"type="user_controlled">
<caption>调试画面</caption>
<state type="PRESSED" />
</softkey>
<softkey POSITION="4">
<caption>功能选项</caption>
<navigation>function</navigation>
</softkey>
<softkey POSITION="5">
<caption>附加功能</caption>
<navigation>m</navigation>
</softkey>
<softkey Position = "6">
<caption>售后电话</caption>
<navigation>tele</navigation>
</softkey>
<softkey position="9">
<caption> 数据%n 激活</caption>
<CONTROL_RESET resetnc="TRUE" />
</softkey>
<softkey position="8">
<caption> 返回%n 主页</caption>
<navigation>main</navigation>
</softkey>
</menu>
<form name="R_list" >
<init>
<caption>调试画面参数</caption>
<let name ="A9" type ="int"></let>
<let name ="A12" type ="int"></let>
<let name ="A15"type ="real"></let>
<let name ="A16"type ="real"></let>
<control name = "A1" xpos = "140" ypos = "30" height="15" width = "80" refvar="nck/Channel/machineAxis/acttoolbasePos[0]" hotlink="true" fieldtype="readonly" format="%93F" font = "3"time="super fast"/><!--X轴机械坐标-->
<control name = "A2" xpos = "140" ypos = "60" height="15" width = "80" refvar="nck/Channel/machineAxis/acttoolbasePos[1]" hotlink="true" fieldtype="readonly" format="%93F" font = "3"time="super fast"/><!--Z轴机械坐标-->
<control name = "A3" xpos = "400" ypos = "30" height="15" width = "80" refvar="nck/Nck/MachineAxis/toolBaseDistToGo[0]" hotlink="true" fieldtype="readonly" format="%93F" font = "3"time="super fast"/><!--X轴剩余行程-->
<control name = "A4" xpos = "400" ypos = "60" height="15" width = "80" refvar="nck/Nck/MachineAxis/toolBaseDistToGo[2]" hotlink="true" fieldtype="readonly" format="%93F" font = "3"time="super fast"/><!--Z轴剩余行程-->
<control name="A5" xpos= "180" ypos="90" width="80"refvar="$MA_POS_LIMIT_PLUS[AX1]" hotlink="true" fieldtype="edit"/><!--X轴正向软限位-->
<control name="A6" xpos= "460" ypos="90" width="80"refvar="$MA_POS_LIMIT_MINUS[AX1]" hotlink="true" fieldtype="edit"/><!--X轴负向软限位-->
<control name="A7" xpos= "180" ypos="120"width="80"refvar="$MA_POS_LIMIT_PLUS[AX3]" hotlink="true" fieldtype="edit"/><!--Z轴正向软限位-->
<control name="A8" xpos= "460" ypos="120"width="80"refvar="$MA_POS_LIMIT_MINUS[AX3]" hotlink="true" fieldtype="edit"/> <!--Z轴负向软限位-->
<control name="A9" xpos= "180" ypos="150"width="80"refvar="$MA_AX_MOTION_DIR[AX1]" hotlink="true" fieldtype="edit"/> <!--X轴运动方向-->
<control name="A10" xpos= "180" ypos="180"width="80"refvar="$MA_ENC_FEEDBACK_POL[0,AX1]"hotlink="true" fieldtype="edit"/> <!--X轴位置反馈极性-->
<control name="A11" xpos= "180" ypos="210"width="80"refvar="$MA_BACKLASH[0,AX1]" hotlink="true" fieldtype="edit"/><!--X轴反向间隙-->
<control name="A12" xpos= "460" ypos="150"width="80"refvar="$MA_AX_MOTION_DIR[AX3]" hotlink="true" fieldtype="edit"/><!--Z轴运动方向-->
<control name="A13" xpos= "460" ypos="180"width="80"refvar="$MA_ENC_FEEDBACK_POL[0,AX3]"hotlink="true" fieldtype="edit"/><!--Z轴位置反馈极性-->
<control name="A14" xpos= "460" ypos="210"width="80"refvar="$MA_BACKLASH[0,AX3]" hotlink="true" fieldtype="edit"/><!--Z轴反向间隙-->
<control name="A15" xpos= "180" ypos="240" width="80"refvar="$MA_LEADSCREW_PITCH[AX1]" hotlink="true" fieldtype="edit"/><!--X轴螺距-->
<control name="A16" xpos= "460" ypos="240" width="80"refvar="$MA_LEADSCREW_PITCH[AX3]" hotlink="true" fieldtype="edit"/><!--Z轴螺距-->
<control name="A17" xpos= "180" ypos="270" width="80"refvar="$MA_NUM_ENCS[0,AX4]" hotlink="true" fieldtype="edit"/><!--编码器数量-->
<control name="A18" xpos= "460" ypos="270" width="80"refvar="$MA_JOG_VELO[0,AX4]" hotlink="true" fieldtype="edit"/><!--主轴点动速度-->
<control name="A19" xpos= "180" ypos="300" width="80"refvar="$MA_AX_MOTION_DIR[0,AX4]" hotlink="true" fieldtype="edit"/><!--主轴运动方向-->
<control name="A20" xpos= "460" ypos="300" width="80"refvar="$MA_ENC_FEEDBACK_POL[0,AX4]" hotlink="true" fieldtype="edit"/><!--主轴位置反馈极性-->
<control name="A21" xpos= "180" ypos="330" width="80"fieldtype="EDIT" refvar="$MN_USER_DATA_INT[24]" hotlink="true" font = "6" />><!--润滑时间间隔-->
<control name="A22" xpos= "460" ypos="330" width="80"fieldtype="EDIT" refvar="$MN_USER_DATA_INT[25]" hotlink="true" font = "6" /><!--润滑输出时间-->
<control name="A23" xpos= "180" ypos="360" width="80"fieldtype="EDIT" refvar="$MN_USER_DATA_INT[20]" hotlink="true" font = "6" /><!--刀塔4,6工位选择-->
</init>
<paint>
<!--box xpos="0" ypos="20"width="1"height="560" color="#000000"/>
<box xpos="559" ypos="20"width="1"height="560" color="#000000"/>
<box xpos="1" ypos="20"width="560"height="3" color="#000000"/-->
<text xpos= "10" ypos="30" font="6" >X轴机床坐标</text>
<text xpos= "10" ypos="60" font="6" >Z轴机床坐标</text>
<text xpos= "290" ypos="30" font="6" >X轴剩余行程</text>
<text xpos= "290" ypos="60" font="6" >Z轴剩余行程</text>
<text xpos= "230" ypos="30" font="6" >mm</text>
<text xpos= "490" ypos="30" font="6" >mm</text>
<text xpos= "230" ypos="60" font="6" >mm</text>
<text xpos= "490" ypos="60" font="6" >mm</text>
<text xpos= "10" ypos="90" font="6">X轴正向软限位MD36110</text>
<text xpos= "290" ypos="90" font="6">X轴负向软限位MD36100</text>
<text xpos= "10" ypos="120" font="6">Z轴正向软限位MD36110</text>
<text xpos= "290" ypos="120" font="6">Z轴负向软限位MD36100</text>
<text xpos= "10" ypos="150" font="6">X轴运动方向 MD32100</text>
<text xpos= "10" ypos="180" font="6">X轴反馈极性 MD32110</text>
<text xpos= "10" ypos="210" font="6">X轴反向间隙 MD32450</text>
<text xpos= "290" ypos="150" font="6">Z轴运动方向 MD32100</text>
<text xpos= "290" ypos="180" font="6">Z轴反馈极性 MD32110</text>
<text xpos= "290" ypos="210" font="6">Z轴反向间隙 MD32450</text>
<text xpos= "10" ypos="240" font="6">X轴螺距 MD31030</text>
<text xpos= "290" ypos="240" font="6">Z轴螺距 MD31030</text>
<text xpos= "10" ypos="270" font="6">编码器数量 MD30200</text>
<text xpos= "290" ypos="270" font="6">主轴点动速度 MD32020</text>
<text xpos= "10" ypos="300" font="6">主轴运动方向 MD32100</text>
<text xpos= "290" ypos="300" font="6">主轴反馈极性 MD32110</text>
<text xpos= "10" ypos="330" font="6">润滑时间间隔单位min</text>
<text xpos= "290" ypos="330" font="6">每次润滑时间单位01s</text>
<text xpos= "10" ypos="360" font="6">刀位的选择(4或6)</text>
<timer>
<MSGBOX text="测试消息" caption="信息" retvalue="result" type="BTN_OK" />
</timer>
</paint>
</form>
MasterCAM后处理文件的修改
MasterCAM系统缺省的后处理文件为MPFANPST,适用于FANUC(法兰克、发那科)数控代码的控制器。其它类型的控制器需选择对应的后处理文件。
由于实际使用需要,用缺省的后处理文件时,输出的NC文件不能直接用于加工。原因是:
⑴进行模具加工时,需从G54~G59的工件坐标系指令中指定一个,最常用的是G54。部分控制器使用G92指令确定工件坐标系。对刀时需定义工件坐标原点,原点的机械坐标值保存在CNC控制器的G54~G59指令参数中。CNC控制器执行G54~G59指令时,调出相应的参数用于工件加工。采用系统缺省的后处理文件时,相关参数设置正确的情况下可输出G55~G59指令,但无法实现G54指令的自动输出。
⑵FANUCPST后处理文件针对的是4轴加工中心,而目前使用量最大的是3轴加工中心,多出了第4轴数据“A0”。
⑶不带刀库的数控铣使用时要去掉刀具号、换刀指令、回参考点动作。
⑷部分控制器不接受NC文件中的注释行。
⑸删除行号使NC文件进一步缩小。
⑹调整下刀点坐标值位置,以便于在断刀时对NC文件进行修改。
⑺普通及啄式钻孔的循环指令在缺省后处理文件中不能输出。使用循环指令时可大幅提高计算速度,缩小NC文件长度。
如果要实现以上全部要求,需对NC文件进行大量重复修改,易于出现差错,效率低下,因此必须对PST(后处理)文件进行修改。修改方法如下:
1、增加G54指令(方法一):
采用其他后处理文件(如MP_EZPST)可正常输出G54指令。由于FANUCPST后处理文件广泛采用,这里仍以此文件为例进行所有修改。其他后处理文件内容有所不同,修改时根据实际情况调整。
选择File>Edit>PST命令,系统d出读文件窗口,选择MpfanPST文件,系统d出如下图所示编辑器。
单击 按钮,系统d出查找对话框,输入“G49”,如下图所示:
单击 按钮,查找结果所在行为:
pbld, n, sgcode, sgplane, "G40", "G49", "G80", sgabsinc, e
插入G54指令到当前行,将其修改为:
pbld, n, sgcode, sgplane, "G40", "G49", "G80", sgabsinc, "G54",e
输出的NC文件修改前对应位置指令为:
N102G0G17G40G49G80G90
修改后变为:
N102G0G17G40G49G80G90G54
查找当前行的上一行:
pbld, n, smetric, e
将其整行删除,或加上“#”成为注释行:
# pbld, n, smetric, e
修改后G21指令不再出现,某些控制器可不用此指令。注意修改时保持格式一致。G21指令为选择公制单位输入,对应的英制单位输入指令为G20。
2、增加G54指令(方法二):
单击 按钮,系统d出查找对话框,输入“force_wcs”,单击 按钮,查找结果所在行为:
force_wcs : no #Force WCS output at every toolchange
将no改为yes,修改结果为:
force_wcs : yes #Force WCS output at every toolchange
输出的NC文件修改前对应位置指令为:
N106G0G90X16Y-145A0S2200M3
修改后变为:
N106G0G90G54X16Y-145A0S2200M3
前一方法为强制输出固定指令代码,如需使用G55~G59指令时,有所不便。多刀路同时输出时,只在整个程序中出现一次G54指令。后一方法同其他后处理文件产生G54指令的原理相同,多刀路同时输出时,每次换刀都会出现G54指令,也可根据参数自动转换成G55~G59指令。
输出三轴加工中心程序的FANUC后处理文件为MP_EZPST,输出4轴加工中心程序的三菱控制器后处理文件为MP520AMPST。
3、删除第四轴数据“A0”,以适应三轴加工中心:
单击 按钮,系统d出查找对话框,输入“Rotary Axis”,单击 按钮,查找结果所在行为:
164 Enable Rotary Axis button y
将其修改为:
164 Enable Rotary Axis button n
修改后第四轴数据不再出现。
4、删除刀具号、换刀指令、回参考点指令,适应无刀库的数控铣机床:
单击 按钮,系统d出查找对话框,输入“M6”,单击 按钮,查找结果所在行为:
if stagetool >= zero, pbld, n, t, "M6", e
将其修改为:
if stagetool >= zero, e # pbld, n, t, "M6",
另一个换刀的位置所在行为:
pbld, n, t, "M6", e
将其删除或改为注释行:
#pbld, n, t, "M6", e
修改后换刀指令行不再出现,通常修改第一个出现“M6”指令的位置即可。
单击 按钮,系统d出查找对话框,输入“sg28ref”,单击 按钮,查找结果所在行为:
pbld, n, sgabsinc, sgcode, sg28ref, "Z0", scoolant, e
pbld, n, sg28ref, "X0", "Y0", protretinc, e
将其修改为:
pbld, n, scoolant, e
# pbld, n, sg28ref, "X0", "Y0", protretinc, e
输出的NC文件修改前对应位置指令为:
N116G91G28Z0M9
修改后变为:
N116M9
PST文件中另有两个类似位置,如使用G92指令确定工件坐标,可对其适当修改。加工结束后,机床各轴不回参考点,便于手动换刀时节省时间。
5、删除NC文件的程序名、注释行:
单击 按钮,系统d出查找对话框,输入“%”,单击 按钮,查找结果所在行为:
"%", e
progno, e
"(PROGRAM NAME - ", progname, ")", e
"(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e
将其删除或改为注释行:
"%", e
# progno, e
# "(PROGRAM NAME - ", progname, ")", e
# "(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")",
输出的NC文件修改前对应位置指令为:
O0010
(PROGRAM NAME - A2)
(DATE=DD-MM-YY - 25-12-04 TIME=HH:MM - 10:45)
修改后以上指令行不再出现。
单击 按钮,系统d出查找对话框,输入“pstrtool”,单击 按钮,查找结果所在行为:
"(", pstrtool, tnote, toffnote, tlngnote, tldia, ")", e
将其删除或改为注释行:
#"(", pstrtool, tnote, toffnote, tlngnote, tldia, ")", e
输出的NC文件修改前对应位置指令为:
(D16R80 TOOL - 2 DIA OFF - 0 LEN - 0 DIA - 16)
修改后以上指令行不再出现。此注释行指明当前刀路所使用的刀具参数,可用于加工前核对加工单,建议保留。法兰克及三菱控制器可以接受注释内容。
6、取消行号:
单击 按钮,系统d出查找对话框,输入“omitseq”,单击 按钮,查找结果所在行为:
omitseq : no #Omit sequence no
将其修改为:
omitseq : yes #Omit sequence no
修改后行号不再出现。
7、调整下刀点坐标值位置:
单击 按钮,系统d出查找对话框,输入“g43”,单击 按钮,查找结果所在行为:
pcan1, pbld, n, sgcode, sgabsinc, pwcs, pfxout, pfyout,
pfcout, speed, spindle, pgear, strcantext, e
pbld, n, "G43", tlngno, pfzout, scoolant, next_tool, e
将其修改为:
pcan1, pbld, n, sgcode, sgabsinc, pwcs, pfxout, pfyout, pfcout, e
pbld, n, sgcode, pfzout, e
pbld, n, speed, spindle, pgear, strcantext, e
pbld, n, "G43", tlngno, scoolant, next_tool, e
输出的NC文件修改前对应位置指令为:
G0G90G54X16Y-145S2200M3
G43H0Z20M8
修改后变为:
G0G90G54X16Y-145
G0Z20
S2200M3
G43H0M8
新的指令顺序使下刀点(安全高度)x、y、z坐标值同其他指令分开,易于在断刀时修改。G43指令在PST文件中有两个位置,如仅使用G54指令时,修改第一个出现“G43”的位置即可。
8、输出普通及啄式钻孔循环指令:
单击 按钮,系统d出查找对话框,输入“usecandrill”,单击 按钮,查找结果相关行为:
usecandrill : no #Use canned cycle for drill
usecanpeck : no #Use canned cycle for Peck
将其修改为:
usecandrill : yes #Use canned cycle for drill
usecanpeck : yes #Use canned cycle for Peck
此修改适用于支持G81、G83钻孔循环指令的控制器。
数控编程技术:NC程序仿真与校验2008年02月20日 星期三 12:26本文应用NC程序仿真校验软件VERICUT,研究了NC程序的仿真技术,分别探讨了手工编写的和由CAD/CAM软件生成的NC程序的校验方法,完成了典型零件手工编写的和由CAD/CAM软件生成的NC程序的切削加工仿真和程序校验。
一、引言
NC程序作为数控加工的信息载体,其正确与否直接影响零件的加工质量。目前实际生产使用的NC程序,在投入加工之前通常采用机床空运行和样件试切,完成NC程序的校验。该方法加工准备周期长,生产成本高,难以实现数控机床的高效率。图形仿真是目前通用的NC校验方法,一般采用离线工作方式,用三维图形直观显示机床、刀具、工件以及辅助设备(机械手等),在计算机上对检验程序进行编译,并驱动图形加工系统进行准实时加工,检查NC代码中的语法和语意错误,实现干涉校验。NC程序仿真能直观安全地模拟、验证、分析切削过程,免去了以往样件生产的样件材料损耗、刀具磨损、机床清理等,从而缩短生产准备周期,降低成本。本文选择了两个典型零件作为研究对象,探讨利用计算机辅助技术生成NC程序,然后进行仿真校验的技术问题。
以Unigraphics NX和VERICUT 53为工具。在Unigraphics NX/Modeling模块中做零件和模型造型,用VB和Unigraphics NX/Manufacturing等软件生成NC程序,再用VERICUT 53仿真软件实现NC程序仿真校验。
二、NC程序仿真与校验工作流程
VERICUT仿真校验NC程序的工作流程如图1所示。
图1 VERICUT仿真校验NC程序的工作流程
几乎所有形式的NC程序代码都可以作为VERICUT的输入程序,包括手工编写的纯文本格式的数控加工程序。M&G代码与APT形式的CL文件一样,都可以被VERICUT直接执行。类似真实加工的是,VERICUT需要刀具轨迹代码,需要对于被加工的原材料的描述,也需要对于切削刀具的描述。验证过程的结果之一是一个加工过的三维实体模型——产品。结果之二是一个报告——包含模拟加工过程所监测到的所有错误信息的日志报告。
三、VERICUT实现NC程序仿真校验的方法和步骤
1 手工编写的NC程序仿真校验
对于这种情况,这里以一个用VB编写的纯文本数控加工程序为例加以说明。如图2所示的是一个已经粗加工的零件,要对其顶面进行精加工。顶面为一不能用CAD软件完成造型的三维空间曲面,原曲面上相应点的坐标是在三坐标测量机上测量得到的,只能根据这些坐标值进行编程,然后加工出曲面。用VB编写的数控程序有5万多行,程序的校验原先是在数控机床上对样件进行试切完成的,要经历试切→测量→修改程序→再试切的程序校验过程,整个过程既费工又费时,而且效果也不理想。改用VERICUT对NC程序进行仿真和校验,不仅节省时间和降低成本,而且效果很好。
图2 毛坯模型
本例为了获得好的仿真效果,利用Unigraphics NX制作了一个近似的实体模型。模型制作好后,输出为IGS文件并保存。仿真需要完成三个 *** 作步骤:准备NC程序;准备被加工零件的原材料模型;完成仿真。
进入VERICUT主界面,首先定义工作环境,单击File→Properties,Default Units=Millimeter设置为公制毫米单位,然后单击File→New Session新建一个USR文件。在其中定义刀具路径、毛坯和刀具,并完成仿真。
(1)毛坯
单击VERICUT主菜单的Model→Model Definition:Import标签,单击Browse,点选保存IGS原材料模型文件的目录,选择预先制作好的原材料模型文件。取Tolerance=0005,单击Apply,被加工零件的原材料模型即被输入VERICUT主界面,如图1所示。
(2)NC程序
手工编写的NC程序如图2所示。共5万多行,预先编好的NC程序保存为纯文本格式。NC程序以顶面中心为编程原点,精加工工序使用的刀具为φ20球头铣刀。NC程序调用步骤:单击Setup menu→Toolpath:Toolpath Type=G-Code Data,单击Add,选择预先编好的程序文件,单击Ok,刀具路径文件被调入VERICUT。
图3 NC程序
(3)刀具
根据程序的要求,在VERICUT中定义刀具,可以从VERICUT附带的刀具库中选择。步骤是:单击Setup→Tool Manager→File→Open,在VERICUT的安装目录下,找到刀具库文件fanuc3xmtls,并打开。对ID号为1的刀具进行编辑,改为φ20的球头铣刀,并将其Gage Offest设为零。删除其余刀具,将修改的结果另存至相应的目录。
(4)数控系统
这里要为VERICUT仿真环境指定一个数控系统控制文件。可直接从VERICUT的库文件中选择相应的数控系统控制文件,本例选用的控制文件是fan0m·ctl (mill)。调用步骤:单击Setup→Control→Open,在VERICUT安装目录下找到库文件fan0m·ctl,并打开。该文件是一个文本文件,包含数控系统如何处理G代码的指令、程序的格式、机器码编写规则和程序调用的规则等,用于将刀具路径编译为机床能识别的机器码。
(5)机床
要根据实际机床定义仿真的机床组件。下面以Funac-3Axis立式加工中心为例,说明如何添加机床各轴组件到组件树形关系中。
☆在Base下建立Z轴,并定义Z轴零点相对于机床零点的位置;
☆在Z轴上建立刀具Tool,并定义其相对于机床零点的位置;
☆再在Base下建立Y轴,在Y轴上建立X轴;
☆然后利用剪切、粘贴功能,将组件树形关系调整为如图(4)所示结构。
图4 组件树形关系
说明:机床组件中各轴零点均设在毛坯底面中心,刀具Tool的Z坐标根据程序中的G92指令和毛坯顶面中心至底面中心的高度设置,类似于在数控机床上将工件坐标零点设置在毛坯顶面的中心。
(6)仿真
这里要确保刀具路径的原点与机床各组件的零点相符。本例根据以上的设置将刀具路径原点设在Stock_Origin。设置步骤:单击Setup menu→Toolpath:在刀具原点列表下拉菜单中,点选Stock_Origin,然后单击Ok。
单击Play to End图标即可仿真刀具切削过程。仿真过程中,打开Info/Status窗口,则在动态切削过程的同时,还能实时得到其相应的刀具位置、错误信息、警告信息、刀具信息等,如图5所示。
a)仿真切削过程 b)有误切程序的仿真结果 c)调整后的程序仿真结果
图5 仿真结果
查看日志文件,可得到VERICUT记录的错误信息和警告信息。如有错误,则会显示发生错误的程序段。如记录数均为零,则说明NC程序通过了VERICUT的验证。
2 Unigraphics NX/Manufacturing中生成的NC程序仿真校验
对于这种情况,本文着重探讨NC程序的仿真校验。尽管在Unigraphics NX/Manufacturing中,生成刀具路径时,Unigraphics NX/Manufacturing提供了加工仿真功能,但是对一些复杂零件的刀具路径在实际加工前还应对NC程序进行进一步的验证。如图6所示的零件,在Unigraphics NX/Manufacturing中编制刀具路径时,经加工仿真未发现问题,用默认的三轴铣后处理器将刀具路径后处理生成NC程序,再用VERICUT进行验证,却出现了错误报告,错误程序段为N3340 G2 X59026 Y33681 I-3391 F250,圆弧插补缺少J地址字,对应的刀具路径如图6a所示。类似的错误有好几处,这样的错误一般难以检查发现。但用VERICUT软件很容易就能发现问题。经VERICUT仿真的NC程序,除了能在动态切削过程的同时,实时得到其相应的刀具位置、错误信息、警告信息、刀具信息外,还生成相应的日志报告。报告中详细记载了错误的性质和相应的程序段,通过路径重放还能再现错误发生的过程,而且能立即在路径重放窗口中对相应的程序段进行修改。如图6b为原错误程序段修改后的路径重放。
图6 一个盘型零件
三、结束语
利用VERICUT仿真校验NC程序可以在计算机上模拟整个NC机床的切削环境,而不必在实际的机床上运行。它降低甚至消除了在机床上验证输出的必要性。利用该技术不仅节省了编程和调试的时间,还减少了重复性的工作、消除了损坏零件及损坏机床的可能性。
机械加工工艺师手册 (好书推荐)
数控编程技巧:教你怎么样确定走刀路线和安排加工顺序
数控编程技巧:数控加工必备的基础知识
数控编程技巧:学数控必须掌握的几个要点(初学必读本)
1、fnc(cj)
跳转指令
2、fnc01
fnc02
fnc06(call
sret
fend)
调用子程序
3、fnc03
fnc04
fnc05(iret
ei
di)中断处理
4、fnc07(wdt)看门狗定时器
5、fnc08
fnc09(for
next)程序循环
数据传送、区域比较应用指令
1、fnc10(cmp)
比较
2、fnc11(zcp)区域比较
3、fnc12(mov)
传送应用指令
4、fnc13
(smov)数据移位应用指令
5、fnc14(cml)数据反相传送应用指令
6、fnc15
(bmov)
成批传送
7、fnc16
(fmov)
多点传送应用指令
8、fnc17
(xchp)
数据交换
9、fnc18(bcd)
将bin转换为bcd
10、fnc19(bin)
将bck转换为bin
四则运算逻辑应用指令
1、fnc20(add)
加法应用指令
2、fnc21(sub)
减法
3、fnc22(mul)
二进制乘法
4、fnc23(div)
二进制除法
5、fnc24(inc)
增加
6、fnc25(dec)
减少
7、fnc26(wand)
逻辑与
8、fnc27(wor)
逻辑或
9、fnc28(wxor)
二进制互斥逻辑异或
10、fnc29(neg)
求补码
旋转、位移应用指令
1、fnc30、fnc31(rorp、rolp)左、右旋转
2、fnc32
fnc33(rcrp、rclp)包含进位标识的左、右旋转
3、fnc34、fnc35(sftrp、sftlp)位数据左、右移
4、fnc36、fnc37(wsfrp、wsflp)字符数据左、右移
5、fnc38、fnc39(sfwrp、wfrdp)字符数据位移写入与读出
数据处理应用指令
1、fnc40(zrst)区域数据复位
2、fnc41(deco)译码
3、fnc42(enco)编码
4、fnc43(sum)on位总数计算
5、fnc44(bon)on位判断
6、fnc45(mean)平均值
7、fnc46、fnc47(ans、anr)警报线圈的输出与复位
8、fnc48(sqr)开平方
高速处理应用指令
1、fnc50(rer)输入/输出信号立即处理
2、fnc51(reff)改变输入端响应时间
3、fnc52(mtp)矩阵输入
4、fnc53(dhscs)高速计数器比较设置
5、fnc54(dhscr)高速计数器比较复位
6、fnc55(dhsz)高速计数器区域比较
7、fnc56(spd)脉冲密度
8、fnc57(plsy)脉冲输出
9、fnc58(pwm)脉冲宽度调制
10、fnc59(plsr)加减速脉冲输出
宏应用指令
1、fnc60(ist)步进运转状态设定
2、fnc61(ser)多笔数据比较
3、fnc62(absd)绝对式控制
4、fnc63(incd)相对式控制
5、fnc64(timr)调整式定时器
6、fnc65(stmr)
特殊定时器
7、fnc66(altp)交替信号
8、fnc67(ramp)求斜率
9、fnc69(sort)数据排序
外部设定显示应用指令
1、fnc70(tky)10个按钮输入
2、fnc71(hky)16个按钮键输入
3、fnc72(dsw)指拨开关
4、fnc73(segd)7段数码管译码
5、fnc74(segl)7段数码扫描
6、fnc75(arws)箭头开关外部设定调整
以上就是关于西门子808D 用户 自定义键怎么用全部的内容,包括:西门子808D 用户 自定义键怎么用、有谁能给我一个MASTER CAM8的西门子802D加工中心的后处理程序、数控编程技术:NC程序仿真与校验等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)