广告招募

PMAC支持的通用G、M代码及复合G、M代码

2026年03月18日 08:48:20      来源:东莞市宇匠数控设备有限公司 >> 进入该公司展台      阅读量:1

分享:

4.2.1 PMAC支持的通用G、M代码

PMAC卡允许执行机床类型的RS-274(G代码)程序,PMAC将把GMTD代 码作为子例程来调用[45]。当PMAC在运动程序中遇到字母G后面带数值N的时候,便认 为是调用子程序Program 1000中数值N程序段。为了增加程序的可读性,我们采用 GOSUB^fm命令,此命令使运动程序跳转型到同一运动程序段中{数值}指定的行号(N 0),当程序遇到GOSUB后的RETURN命令后马上返回。

例如,G17将导致直接跳转至PROG1000N17000; G117将导致程序直接跳转到 PROG1010 N17000; G973.1 会导致跳至 PROG1090 N73100。M 使用 PROGlOnl,

T代码使用PROG10n2, D代码使用PROG10n3。

大多数时候,这些代码的数字范围在0到99内,所以执行它们只需要PROGslOOO, 1001、1002和1003被要求来执行它们。对于那些想延伸代码数字超过100的用户,执行 它们将要求PROGslOlO1011等等。制造商的任务是对运动程序lOnO10n3编写对应 程序,来实现他想要的动作,程序编写完成后便可执行对零件程序员和机器操作员不可见 的程序[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=0M8=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点平面。XY:孔的位置。Z:编程时是孔底Z点的坐标值;增量编程 时是孔底Z点与R点的距离。R:编程时是R点的坐标值;增量编程时是初始点与R 点距离。P:刀具在孔底暂停时间。Q:为每次进刀量。F:钻孔进给速度。K:循环次数。 G83加工固定循环如图4-5所示。

刀具先快速定位至XY所指定的坐标位置,再快速定位至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

G57G58G59的特点,需应用矩阵转换中的平移矩阵,即需将对刀测得的坐标偏移量 或者加工程序输入的数值赋给平移矩阵中的DllD12、D13,DllD12、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的标题号nCALL提交后的值: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的加工中心开放式数控系统研究”,因为编辑困难导致有些函数、表格、图片、内容无法显示,有需要者可以在网络中查找相关文章!

本文由伯特利数控整理发表文章均来自网络仅供学习参考,转载请注明!

版权与免责声明:
1.凡本网注明"来源:全球供应商网"的所有作品,版权均属于全球供应商网,转载请必须注明全球供应商网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。