2026年03月18日 08:48:20 来源:东莞市宇匠数控设备有限公司 >> 进入该公司展台 阅读量:1
4.2.1 PMAC支持的通用G、M代码
PMAC卡允许执行机床类型的RS-274(G代码)程序,PMAC将把G、M、T和D代 码作为子例程来调用[45]。当PMAC在运动程序中遇到字母G后面带数值N的时候,便认 为是调用子程序Program 1000中数值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-2 PMAC支持的标准G代码
| G代码 | 解释 | 备注 |
| G00 | 快速点到点定位 | RAPID命令 |
| G01 | 直线插补方式 | LINEAR命令 |
| G02 | 平面顺时针圆弧模式 | CIRCLE 1 命令 |
| G03 | 平面逆时针圆弧模式 | CIRCLE2 命令 |
| G04 | 暂停 | DWELL命令 |
| G09 | 精确的停止 | DWELL命令 |
| G17 | 选择XY平面 | NORMALK-1 命令 |
| G18 | 选择ZX平面 | NORMAL J -1命令 |
| G19 | 选择YZ平面 | NORMAL I -1命令 |
| G40 | 关断刀具半径补偿 | CC0命令 |
| G41 | 左刀具半径左补偿 | CC1命令 |
| G42 | 右刀具半径右补偿 | CC2命令 |
| G90 | 值编程 | ABS命令 |
| G91 | 增量值编程 | INC命令 |
| 表4-3 PMAC支持的标准M代码 | ||
| M代码 | 解释 | 备注 |
| M00 | 编程停止 | STOP命令 |
| M01 | 选项停止 | 假设输出点Ml=l时发STOP命令 |
| M02 | 程序结束 | RETURN命令,返回程序顶部 |
| M03 | 主轴正转 | CMD “#4J+” |
| M04 | 主轴反转 | CMD “#4卜” |
| 表4-3 PMAC支持的标准M代码(续) | ||
| M代码 | 解释 | 备注 |
| M05 | 主轴停止 | CMD “#4J" |
| M 07 | 冷却液打开(喷雾) | 假设输出点M7=l |
| M 08 | 冷却液打开(大量) | 假设输出点M8=l |
| M 09 | 冷却液关断 | 假设输出点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) G83 X_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.2 G83代码程序开发
现在以常用线轨加工中心控系统深孔加工循环(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的格式:G54 X_ Y_Z_我
们只需将对刀测得的坐标偏移量XYZ后面的数值赋给Q40、Q41、Q42,然后程序执行ADIS 40即可。命令G51的格式:G51 X_Y_Z_P_ ,只需将P的数值赋给旋转矩阵中的Q50、
Q54、Q59,其余Q变量为0,然后程序执行AROT50即可。如果既用到旋转矩阵又用到 平移矩阵,则将两者结合用即可。其关键程序见附录一。
无论工件在何种坐标系下进行加工,其坐标值都要转化为机床机械坐标系上的坐标值 5()。可做这样的计算:工件在机床机械坐标系上X的坐标值=X偏置+刀具长度补偿+刀具 半径补偿+刀具磨耗+X旋转后的坐标+X镜像后的坐标+X经极坐标转换后的坐标+程序中 的X坐标。
M代码
M代码作为一种通用机床语言,用来实现数控程序的编程,当多次运行相同的轨迹时, 可以将这段轨迹编成一个独立的程序存储在机床的存储器当中,被别的程序所调用,这样 的程序叫做子程序[52]。子程序执行顺序如图4-9所示。
指令格式: M98 P— L—;
M99;
解释: P:子程序号,如:P100;
L:调用次数。
PMAC卡允许执行机床类型的M代码程序,PMAC将把M代码作为子例程来调用, 需要程序执行其子程序然后返回执行程序的下一行时,可利用CALL指令来实现。
CALL命令使运动程序跳转到另一个运动程序,当程序遇到RETURN命令后马上返 回。输入到PMAC的子程序与主程序一样,用PROGn作标号(这样一个程序可以像调用
子程序一样调用其它程序)。PROG的标题号n为CALL提交后的值:CALL7将执行 PR0G7并返回。紧接在CALL后的值可以包含小数。如果没有小数部分,则被调用的程 序段从头开始。如果存在小数部分,则被调用的程序跳转到由小数部分指定标号的行(如 果该标号不存在则PMAC会产生错误并停止执行程序)。Turbo PMAC使用五位小数作为 行标号,如果位数不足,PMAC将自动补零。例如,CALL 35.1 被翻译为 CALL35.10000,这将使跳转到程序 35 的标号 N10000 处执行[46]。M98 命令关键程序如下:
N98000 read (P ,L)
If (Q100&800 > 0) cishu = q112 //子程序调用次数
Else q112 =1
EndIf
If (Q100&8000 > 0)
cxhao=q116 //P 程序号
EndIf
p1000=1
While (p1000 !> q112)
call (cxhao)
p1000 = p1000 + 1
EndWhile
return
N99000
dwell 1
return
本文采摘自“基于PMAC的加工中心开放式数控系统研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!