第九章用宏程序工作本章将介绍在冲切工具条上的插入宏命令(InsertMacro)。当冲切的轨迹可作为子程序调用时采用这个功能。插入宏/子过程插入宏命令用于当冲切轨迹可作为子程序被调用时采用。这个功能在您机器内存不足以存放长程序时非常有用。如果您想优化,我们建议您在生成一个宏之前进行优化。如您在带有宏的冲切轨迹生成后优化,您就不得不在优化前使用编辑宏功能(EditMacroUtility)。修改定义宏允许您定义宏,以便以后调用。所有的宏必须在调用之前定义。当您定义宏时,系统为每次操作生成单独的宏程序。取消定义宏作为独立的体素,在体素的次序列表终点可在零件中删除或插入宏。仅仅当宏是当前的状态时可取消宏。调用宏允许在不同的位置调用以前定义的宏。多层宏(宏栅格)允许以前定义的宏被调用和插入一个栅格。宏命令多层宏修改情况#1当您知道栅格点的距离时可插入一个宏栅格。情况#2当您知道栅格的高度和宽度,并希望系统计算栅格点的距离,可插入一个宏栅格。水平先移动在栅格中的第二个宏是沿水平方向。您需要知道几个问题理解宏宏允许被定义为父实体,这个实体又可作为子实体放置在其它位置。子宏程序虽然显示在该位置但并不实际存在。系统只是在该位置简单的调用宏程序的父实体。如果一个宏程序的父实体被修改,所有的子宏程序将反映修改的状况。子宏程序不能被拾取或调用。使用宏的要求如果控制系统支持宏,后置处理过程中控制系统进行宏调用或多层调用,并输出程序。这可以大大减少程序的长度。为了有效地使用宏,您的机床必须支持子程序,后置处理器必须可设置以便输出子程序。如您的机床或后处理器之一不支持,则子程序将被长的程序取代。在此情况下,您只要在Move/Copy功能中关闭移动功能(Move)就可以。如您想在一张板材上就EXPUN22.PRT零件排序,采用移动(Move)和复制(Copy)将生成一个相当长的程序,这可能超过您机器的内存。采用插入宏功能,程序仅比加工一个零件略长一点。图8.1EXPUN22.PRT您将学会定义宏生成多层宏设置宏显示调用宏取消宏编辑宏重新定位宏定义宏在这个练习中,您将为整个零件生成一个宏程序。练习1、打开文件EXPUN22.PRT(图8.1)。2:进入冲切系统3:点击插入宏按钮。定义功能处于缺省状态并发亮。系统提示:拾取图素以便定义宏(当完成后击按钮2)。4:在工作区内用窗口法拾取所有的图素。这样一来拾取了所有的冲切轨迹作为宏。系统将图素变成白色。5:点击按钮2。宏定义对话框弹出(图8.2)。6:键入ALL以便定义宏名称。图8.2宏定义对话框7:点击OK。所有的零件冲切轨迹在工作区域内消失。这可使您判断是否为宏选择了正确的图素。如冲切轨迹没有消失,则它们没有被选为宏。系统提示:选择图素以便定义宏(当完成后击按钮2)。这是为您定义其它的宏程序提供机会。8:点击多层宏功能按钮宏栅格对话框显示这个零件的所有宏的列表。图8.3宏栅格对话框9:在表中选择ALL宏程序,再点击OK。多层栅格功能显示。系统为每一个模具设置独立的子程序。在整张板材上每个模具将进行工作。10:确认情况#1功能键的按钮发亮。11:确认水平先移动按钮发亮。在信息框内,一系列定义栅格的参数显示。系统提示:宏栅格的坐标值。您在规定的位置所定义的宏。12:在捕捉工具条中选择键盘输入按钮。按ENTER键两次以便接受X、Y原点为缺省值0。系统需要知道宏栅格的起始点X和Y值。典型的是X0和Y0。13:键入6.000为X增量(零件之间为1.000),按ENTER键。14:键入5.000为Y增量(零件之间为1.000),按ENTER键。X和Y增量为板材上零件之间分离的距离。15:按ENTER键两次以接受No.X和No.Y缺省值。这些参数定义在X和Y方向的零件数量。缺省值是在X方向为8,在Y方向为7。系统基于板材尺寸、X增量和Y增量进行计算。宏栅格显示(图8.4)。在CAM显示对话框中的宏栅格显示控制如何多的栅格被显示。您可以用显示和重画一个零件、四个零件或拐角零件取代显示整个栅格以便节省显示时间。参考设置宏显示的练习以便得到更多的信息。16:在X0和Y0位置显示MG。为栅格的原点。这点对理解非常重要。因为宏程序并不在屏幕上存在,如果您要修改宏栅格,您需要知道原点的位置。例如,您在错误的位置插入宏栅格,并想移动它。当系统提示您选择图素移动时,可以唯一拾取的对象是栅格的原点。对删除和旋转也同样如此。原点是宏栅格在屏幕上的唯一拾取对象。图8.4宏栅格17:为看到原点是如何工作,点击删除(Erase)按钮。18:尝试去删除在屏幕上的任何冲切轨迹,无法选中。点取MG。整个宏栅格被删除。19:点击Oops恢复宏栅格。20:在文件(File)下拉菜单中选择SaveAs。21:保存零件名为EXMAC1.PRT。22:后处理该零件。下面列出的是一个主程序调用几个子程序。这个程序用Fanuc控制系统生成子程序。一些控制系统如FANTUTP简单的使用重复功能,但不生成独立的子程序。数值也许与您的程序列表不一致,尽管如此,您可以看到子程序如何被调用。这个练习中的一些程序被删除,但您可以从序列号上看到该程序有多长。注意到系统自动的给程序设置序列增量。主程序序号为0001。每一个子程序的序号增加1。EXPUN22.TXTO0001N1G20N2G92X50000Y39370N3G90N4G98X0Y0I6000J5000P7K6[宏原点(X,Y)增量(6,5)#X#Y]N5U1[子程序#1开始]N6X2188Y5250T9N7X2813N8X3750Y5188...N16X2813Y6500N17X2188N18V1[子程序#1结束]N19U2[子程序#2开始]N20X2500Y6750T11N21X3500Y7125N22X5250N23Y4875N24X3500N25X2500Y5000N26V2[子程序#2结束]N27U3[子程序#3开始]...N58V5[子程序#5结束]N59U6[子程序#6开始]N60G72X1000Y8200N61G66I5000J0P-1500Q-200D-5T1N62G72X6000Y3800N63G66I5000J18000P-1500Q-200D-5N64V6[子程序#6结束]N65G75W1Q1[宏调用]N66G75W2Q3[宏调用]N67G75W3Q1[宏调用]N68G75W4Q3[宏调用]N69G75W5Q1[宏调用]N70G75W6Q3[宏调用]N71G50(PARTNAME=EXPUN22)(PROGRAMNUMBER=0001)(MACHINE=TUTORIALPUNCH)(XSHEETWIDTH=50.)(YSHEETHEIGHT=39.37)(PARTSPERBLANK=1)(MATERIAL=)(THICKNESS=.063)(CLAMP1X=6.)(CLAMP2X=40.)(ESTIMATEDHANDLETIME=30SEC.)(ESTIMATEDMACHINETIME=11MIN.50SEC.)(ToolDie)(NameSerial#Serial#TypeKeySizeXsizeYsizeRadiusAngleClear)(--------------------------------------------------------------------------------------------------------------)(001RE/KE1.5000.2000.0000.000.000)(002RE/KE1.5000.2000.00090.000.000)(003SQ/KD0.7500.0000.0000.000.000)(009RO/KE0.1250.0000.0000.000.000)(010RO/KE0.2500.0000.0000.000.000)(011RO/KE0.1880.0000.0000.000.000)创建多层宏如您想定义零件的栅格,以便它们可用模具的宽度来划分,您可以创建多层宏。在下面的练习中,您可以创建三个宏来取代拾取所有的图素构成一个宏程序。在零件中间的图素是一个宏程序。模具冲切左边直线是第二个宏,冲切底部构成第三个宏。当调用宏时,在栅格中左边和底部的将在附加的时间中完成。练习1:再次打开零件文件EXPUN22.PRT。在工作区域内不要保存对零件的改变。2:进入冲切系统。3:使用按钮3,放大零件。4:删除冲切顶部和右侧的轨迹。为删除冲切轨迹,选择模具中心的灰色线。这是在屏幕上实际存在的内容。您所看到的模具在这里仅是为了方便观察。5:点击插入宏按钮。6:这次使用按钮1选择在零件内部的图素。确认没有选择左边和底部模具。7:点击按钮2。宏定义对话框显示。8:键入INSIDE宏名称。然后点击OK。系统提示:选择图素以便定义宏(完成后击按钮2)。9:选择左边冲切轨迹,然后点击按钮2。宏定义对话框显示。10:键入LEFT宏程序名,然后点击OK。系统继续提示:选择图素以便定义宏(完成后击按钮2)。11:选择底部冲切轨迹,然后点击按钮2。12:键入BOTTOM宏程序名,然后点击OK。做宏栅格:1:点击宏栅格修改按钮。宏栅格对话框显示。2:点击宏定义表格中的INSIDE,然后点击OK。3:在捕捉工具条中点击键盘输入按钮。4:定义栅格X0,Y0。5:键入X增量5.200,然后按ENTER键。零件的宽度为5.000,模具宽度为0.200。6:键入Y增量4.200,然后按ENTER键。7:输入No.X值为8,按ENTER键。8:输入No.Y值为7,按ENTER键。9:点击右下角的ZoomAll按钮。零件内冲切轨迹的宏栅格应当显示(图8.5)。图8.5在X和Y方向仅有三个零件,这样便于观察。图8.5零件内冲切轨迹的宏栅格10:再次点击插入宏按钮。再次点击插入宏按钮以便显示栅格功能键。11:点击栅格功能键。12:在宏定义表格中选择LEFT,然后点击OK。13:在捕捉工具条中点击键盘按钮。注意您早先输入的值已成为缺省值。14:按ENTER键两次以便接受X0和Y0。15:按ENTER键两次以便接受X和Y增量。16:输入No.X值9。按ENTER键。存在八个零件,您希望宏冲切八个零件的右边。这就是您为何增加一个数值。17:输入No.Y值7。按ENTER键。应当显示零件上所有的内部和垂直冲切(图8.6)。图8.6内部图素及垂直冲切轨迹18:为底部加工做相同的工作。不要忘记在Y方向增加一击,在X方向退回到数量8。除整张板充满外,您的零件应当看上去如图8.7。19:在文件File下拉菜单中选择SaveAs。20:键入文件名MULTIPLEMACROS.PRT。点击OK。图8.7带有底部冲切轨迹的宏栅格设置宏显示为了节省显示和刷新的时间,您可以在工作区域内改变宏显示的数量。练习1、在Setup下拉菜单中选择CAM显示。2:CAM显示对话框显示出宏程序显示的选项。显示所有零件(ShowAllParts)是您正在使用的显示方式。3:点击显示一个零件选择按钮,点击OK。4:在Utility工具条中选刷新功能(Redraw)。仅第一个宏的栅格显示。5:再次选择Setup下拉菜单中的CAM显示功能。6:点击显示四个零件选择按钮,点击OK。7:在Utility工具条中选刷新功能(Redraw)。在板材的角落上显示四个零件(图8.8)。图8.8显示四个零件8:再次选择Setup下拉菜单中的CAM显示功能。9:点击显示角落零件选择按钮,点击OK。10:在Utility工具条中选择刷新功能(Redraw)。在板材的四个角落上显示零件(图8.9)。图8.9显示角落的零件调用一个宏程序当没有栅格模式时,在一个定义的位置调用宏程序使用宏调用(MacroCall)。在图8.10中,相同的形状在零件中处于不同的位置。对此类型的零件,您可以使用模具适配(Toolfit)加工。如果程序的长度是个问题,您可以使用宏程序并在每个位置调用它。为了使用宏调用,构成宏的图素应当围绕X0、Y0被定义