PMAC支持的通用G、M代码及复合G、M代码
4.2.1PMAC支持的通用G、M代码PMAC卡允许执行机床类型的RS-274(G代码)程序,PMAC将把G、M、T和D代码作为子例程来调用[45]。当PMAC在运动程序中遇到字母G后面带数值N的时候,便认为是调用子程序Program1000中数值N程序段。为了增加程序的可读性,我们采用GOSUB^fm命令,此命令使运动程序跳转型到同一运动程序段中{数值}指定的行号(N或0),当程序遇到GOSUB后的RETURN命令后马上返回。例如,G17将导致直接跳转至PROG1000的N17000;G117将导致程序直接跳转到PROG1010的N17000;G973.1会导致跳至PROG1090的N73100。M使用PROGlOnl,T代码使用PROG10n2,D代码使用PROG10n3。大多数时候,这些代码的数字范围在0到99内,所以执行它们只需要PROGslOOO,1001、1002和1003被要求来执行它们。对于那些想延伸代码数字超过100的用户,执行它们将要求PROGslOlO、1011等等。制造商的任务是对运动程序lOnO到10n3编写对应程序,来实现他想要的动作,程序编写完成后便可执行对零件程序员和机器操作员不可见的程序[46]。许多代码都已经是十分标准了,PMAC卡已经提供了这些例子,如表4-2、表4-3所示:表4-2PMAC支持的标准G代码 G代码 解释 备注 G00 快速点到点定位 RAPID命令 G01 直线插补方式 LINEAR命令 G02 平面顺时针圆弧模式 CIRCLE1命令 G03 平面逆时针圆弧模式 CIRCLE2命令 G04 暂停 DWELL命令 G09 精确的停止 DWELL命令 G17 选择XY平面 NORMALK-1命令 G18 选择ZX平面 NORMALJ-1命令 G19 选择YZ平面 NORMALI-1命令 G40 关断刀具半径补偿 CC0命令 G41 左刀具半径左补偿 CC1命令 G42 右刀具半径右补偿 CC2命令 G90 绝对值编程 ABS命令 G91 增量值编程 INC命令 表4-3PMAC支持的标准M代码 M代码 解释 备注 M00 编程停止 STOP命令 M01 选项停止 假设输出点Ml=l时发STOP命令 M02 程序结束 RETURN命令,返回程序顶部 M03 主轴正转 CMD“#4J+” M04 主轴反转 CMD“#4卜” 表4-3PMAC支持的标准M代码(续) M代码 解释 备注 M05 主轴停止 CMD“#4J" M07 冷却液打开(喷雾) 假设输出点M7=l M08 冷却液打开(大量) 假设输出点M8=l M09 冷却液关断 假设输出点M7=0和M8=0 M30 循环的结束程序 RETURN命令,返回程序开始处 4.2.2复合G、M代码固定循环G代码精工机床是一种按照事先编制好的零件加工程序自动进行高效加工的设备。G代码作为一种通用机床语言,用来实现精工程序的编程,以便实现各进给轴的精确运动。以常用CNC加工中心精工系统深孔加工循环(G83)代码为例进行分析研究。1.1加工中心G83代码分析精工加工中,某些加工动作循环已经典型化[47]。例如,钻孔、镗孔的动作,主要由孔定位、快进、工进、快退等动作组成,典型加工动作程序已经事先定制,存储于内存储器中,需要时可直接调用相应G代码即可,从而简化编程工作。常用立式加工中心精工系统固定循环G代码的程序格式主要有:数据形式、返回点平面、孔加工方式、孔位置数据、孔加工数据和循环次数[48]。现在以深孔加工循环(G83)代码为例进行介绍,其程序格式如下:G98(G99)G83X_Y_Z_R_P_Q_F_K_式中第一个G代码(G98或者G99)为返回点平面G代码,G98为返回初始平面,G99为返回R点平面。X、Y:孔的位置。Z:绝对编程时是孔底Z点的坐标值;增量编程时是孔底Z点与R点的距离。R:绝对编程时是R点的坐标值;增量编程时是初始点与R点距离。P:刀具在孔底暂停时间。Q:为每次进刀量。F:钻孔进给速度。K:循环次数。G83加工固定循环如图4-5所示。刀具先快速定位至X、Y所指定的坐标位置,再快速定位至R点,接着以F所指定的进给速率向下钻削Q所指定距离后(Q必为正值,用增量值表示),快速退刀回R点,再向下快速定位于前一切削深度上方距离d处(由系统内部参数设定),再向下钻削Q+d所指定的距离后,再快速退回R点,以后依此方式一直钻孔到Z所指定的孔底位置[49]。此处的“d”表示刀具间歇进给时,每次下降由快速转为切削进给前这一点与前一次切削进给下降的点之间的距离,由系统内部参数设定。1.2G83代码程序开发现在以常用线轨加工中心控系统深孔加工循环(G83)代码为例,对此代码进行程序编写。其关键程序见附录一。G83代码程序编写的大致流程图如图4-6所示。2.3基于PMAC的精工常用坐标系的实现根据精工加工中心坐标系命令G16、G43、G44、G52、G53、G54、G55、G56、G57、G58、G59的特点,需应用矩阵转换中的平移矩阵,即需将对刀测得的坐标偏移量或者加工程序输入的数值赋给平移矩阵中的Dll、D12、D13,而Dll、D12、D13是由连续的三个Q变量赋值的。根据坐标系命令G20、G21、G50、G51.1、G68的特点,需要应用矩阵转换中的旋转矩阵,即将加工程序输入的数值赋给旋转矩阵中的R11-R33,而R11-R33是由连续的九个Q变量赋值的。现以G54、G51为代表说明具体实现方法。命令G54的格式:G54X_Y_Z_我们只需将对刀测得的坐标偏移量XYZ后面的数值赋给Q40、Q41、Q42,然后程序执行ADIS40即可。命令G51的格式:G51X_Y_Z_P_,只需将P的数值赋给旋转矩阵中的Q50、Q54、Q59,其余Q变量为0,然后程序执行AROT50即可。如果既用到旋转矩阵又用到平移矩阵,则将两者结合用即可。其关键程序见附录一。无论工件在何种坐标系下进行加工,其坐标值都要转化为机床机械坐标系上的坐标值5()。可做这样的计算:工件在机床机械坐标系上X的坐标值=X偏置+刀具长度补偿+刀具半径补偿+刀具磨耗+X旋转后的坐标+X镜像后的坐标+X经极坐标转换后的坐标+程序中的X坐标。M代码M代码作为一种通用机床语言,用来实现精工程序的编程,当多次运行相同的轨迹时,可以将这段轨迹编成一个独立的程序存储在机床的存储器当中,被别的程序所调用,这样的程序叫做子程序[52]。子程序执行顺序如图4-9所示。指令格式:M98P—L—;M99;解释:P:子程序号,如:P100;L:调用次数。PMAC卡允许执行机床类型的M代码程序,PMAC将把M代码作为子例程来调用,需要程序执行其子程序然后返回执行程序的下一行时,可利用CALL指令来实现。CALL命令使运动程序跳转到另一个运动程序,当程序遇到RETURN命令后马上返回。输入到PMAC的子程序与主程序一样,用PROGn作标号(这样一个程序可以像调用子程序一样调用其它程序)。PROG的标题号n为CALL提交后的值:CALL7将执行PR0G7并返回。紧接在CALL后的值可以包含小数。如果没有小数部分,则被调用的程序段从头开始。如果存在小数部分,则被调用的程序跳转到由小数部分指定标号的行(如果该标号不存在则PMAC会产生错误并停止执行程序)。TurboPMAC使用五位小数作为行标号,如果位数不足,PMAC将自动补零。例如,CALL35.1被翻译为CALL35.10000,这将使跳转到程序35的标号N10000处执行[46]。M98命令关键程序如下:N98000read(P,L)If(Q100&800>0)cishu=q112//子程序调用次数Elseq112=1EndIfIf(Q100&8000>0)cxhao=q116//P程序号EndIfp1000=1While(p1000!>q112)call(cxhao)p1000=p1000+1EndWhilereturnN99000dwell1return本文采摘自“基于PMAC的加工中心开放式精工系统研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找wnsr888手机版相关的文章! 本文由海天精工整理发表文章均来自网络仅供学习参考,转载请注明!