NC编程基本原理程序名称在编制程序时可以按以下规则确定程序名:开始的两个符号必须是字母,其后的符号可以是字母,数字或下划线,最多为16个字符,不得使用分隔符举例:RAHMEN52程序结构1.结构和内容NC程序由各个程序段组成。每一个程序段执行一个加工步骤。程序段由若干个字组成。最后一个程序段包含程序结束符:M2。2.NC程序结构程序段字字字…;注释程序段N10G0X20…;第一程序段程序段N20G2Z37…;第二程序段程序段N30G91……;…程序段N40………程序段N50M2;程序结束字结构及地址1.功能/结构字是组成程序段的元素,由字构成控制器的指令。字由以下几部分组成•地址符地址符一般是一字母。•数值数值是一个数字串,它可以带正负号和小数点。正号可以省略不写。2.多个地址符一个字可以包含多个字母,数值与字母之间用符号“=”隔开。举例:CR=5.23此外,G功能也可以通过一个符号名进行调用(参见章节“指令表”)。举例:SCALE;打开比例系数。3.扩展地址对于如下地址;R计算参数HH功能I,J,K插补参数/中间点地址可以通过1到4个数字进行地址扩展。在这种情况下,其数值可以通过“=”进行赋值(参见章节“指令表”)。举例:R10=6.234H5=12.1I1=32.67程序段结构1.功能一个程序段中含有执行一个工序所需的全部数据.程序段由若干个字和段结束符“LF”组成.在程序编写过程中进行换行时或按输入键时可以自动产生段结束符.2.字顺序程序段中有很多指令时建议按如下顺序:N…G…X…Y…Z…F…S…T…D…M…程序段号说明以5或10为间隔选择程序段号,以便以后插入程序段时不会改变程序段号的顺序。3.可被跳跃的程序段那些不需在每次运行中都执行的程序段可以被跳跃过去,为此应在这样的程序段的段号字之前输入斜线符“/”。通过操作机床控制面板或者通过接口控制信号可以使跳跃程序段功能生效。几个连续的程序段可以通过在其所有的程序段段号之前输入斜线符“/”被跳跃过去。在程序运行过程中,一旦跳跃程序段功能生效,则所有带“/”符的程序段都不予执行,当然这些程序段中的指令也不予考虑。程序从下一个没带斜线符的程序段开始执行。3.注释利用加注释的方法可在程序中对程序段进行说明,注释可作为对操作者的提示显示在屏幕上。4.信息信息编程在一个独立的程序段中。信息显示在专门的区域,并且一直有效,除非被一个新的信息所替代,或者程序结束。一个信息最多可以显示65个字符。一个空的信息会清除以前的信息。MSG(这是信息文本)5.例子N10;G&S公司订货号12A71N20;泵部件17,图纸号:123677N30;程序编制员H.Adam,部门TV4N40MSG(“ROUGHUNMACHINEDPART”):50G17G54G94F470S20D0M3;主程序段N60G0G90X100Y200N70G1Z185.6N80X112/N90X118Y180;程序段可以被跳跃N100X118Y120N110G0G90X200N120M2;程序结束字符集在编程中可以使用以下字符,它们按一定的规则进行编译。1.字母A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z大写字母和小写字母没有区别.2.数字0,1,2,3,4,5,6,7,8,93.可打印的特殊字符(园括号开)园括号闭[方括号开]方括号闭小于大于:主程序,标志符结束=赋值,相等部分/除号,跳跃符*乘号+加号,正号-减号,负号“引号_字母下划线.小数点,逗号,分隔符;注释标志符%预定,没用&预定,没用’预定,没用$预定,没用?预定,没用!预定,没用4.不可打印的特殊LF程序段结束符字符空格字之间的分隔符,空白字制表键预定,没用指令表地址含义赋值说明编程D刀具刀补号0…9整数,不带符号用于某个刀具T…的补偿参数:D0表示补偿值=0一个刀具最多有9个D号D…F0.001…99999.999刀具/工件的进给F…速度,对应G94或G95,单位分别为毫米/分钟或毫米/转F进给率(与G4一起可以编程停留时0.001…99999.999停留时间,单位秒G4F…单独运行间)GG功能(准备功能字)已事先规定G功能按G功能组划分,一个程序段中只能有一个G功能组中的一个G功能指令。G功能按模态有效(直到被同组中其它功能替代),或者以程序段方式有效。G功能组:G…G0快速移动1:运动指令G0X…Y…Z…G1直线插补(插补方式)模态有效G1X…Y…Z…F…G2顺时针圆弧插补G2X…Y…Z…I…K……;圆心和终点G2X…Y…CR=…F…;半径和终点G2AR=…I…J…F…;张角和圆心G2AR=…X…Y…F…;张角和终点G3逆时针园弧插补G3….;其它同G2CIP中间点圆弧插补CIPX…Y…Z…I1=…K1=…F…G33恒螺距的螺纹切削S…M…;主轴转速,方向G33Z…K…在Z轴方向上带补偿夹具攻丝.G331不带补偿夹具切削内螺纹N10SPOS=主轴处于位置调节状态N20G331Z…K…S…;在Z轴方向不带补偿夹具攻丝;右旋螺纹或左旋螺纹通过螺距的符号(比如K+)确定:+:同M3-:同M4G332不带补偿夹具切削内螺纹.退刀G332Z…K…;不带补偿夹具切削螺纹.Z退刀;螺距符号同G331CT带切线的过渡圆弧插补N10…N20CTZ…X…F.圆弧以前一段切线为过渡.G4快速移动2:特殊运行,程序段方式有效G4F…或G4S….;自身程序段G63快速移动G63Z…F…S…M…G74回参考点G74X…Y…Z…G75回固定点G75X…Y…Z…;自身程序段TRANS可编程的偏置3:写存储器,程序段方式有效TRANSX…Y…Z…自身程序段ROT可编程的旋转ROTRPL=…;在当前平面中旋转G17到G19SCALE可编程比例系数SCALEX…Y…Z…在所给定轴方向比例系数,自身程序段MIRROR可编程镜像功能MIRRORX0改变方向的坐标轴,自身程序段ATRANS附加可编程的偏置ATRANSX…Y…Z…自身程序段AROT附加可编程的旋转AROTRPL=…;在当前平面中旋转G17到G19ASCALE附加可编程比例系数ASCALEX…Y…Z…在所给定轴方向比例系数,自身程序段AMIRROR附加可编程镜像功能AMIRRORX0改变方向的坐标轴,自身程序段G25主轴转速下限G25S…;自身程序段G26主轴转速上限G26S…;自身程序段G110极点尺寸,相对于上次编程的设定位置G110X…Y…极点尺寸,直角坐标,比如G17G110RP…AP…极点尺寸,极坐标;自身程序段G111极点尺寸,相对于当前工件坐标系的零点G111X…Y…极点尺,寸直角坐标,比如G17G111RP…AP…极点尺寸,极坐标;自身程序段G112极点尺寸,相对于上次有效的极点G112X…Y…极点尺,寸直角坐标,比如G17G112RP…AP…极点尺寸,极坐标;自身程序段G17*X/Y平面6:平面选择G17…所在平面的垂直轴为刀具长度补偿轴G18Z/X平面模态有效G19Y/Z平面G40刀尖半径补偿方式的取消7:刀尖半径补偿模态有效G41调用刀尖半径补偿,刀具在轮廓左侧移动G42调用刀尖半径补偿,刀具在轮廓右侧移动G500取消可设定零点偏置8:可设定零点偏置模态有效G54第一可设定零点偏置G55第二可设定零点偏置G56第三可设定零点偏置G57第四可设定零点偏置G58第五可设定零点偏置G59第六可设定零点偏置G53按程序段方式取消可设定零点偏置9:取消可设定零点偏置段方式有效G153按程序段方式取消可设定零点偏置,包括框架G60*准确定位10:定位性能模态有效G64连续路径方式G9准确定位,单程序段有效11:程序段方式准停段方式有效G601在G60,G9方式下准确定位,精12:准停窗口模态有效G602在G60,G9方式下准确定位,粗G70英制尺寸13:英制/公制尺G71*公制尺寸寸模态有效G700英制尺寸,也用于进给率FG710公制尺寸,也用于进给率FG90*绝对尺寸14:绝对尺寸/增量尺寸模态有效G91增量尺寸G94*进给率F,单位毫米/分15:进给/主轴模态有效G95主轴进给率F,单位毫米/转CFC圆弧加工时打开进给率修调16:进给率修调偿模态有效CFTCP关闭进给率修调G901在圆弧段进给补偿“开”G900进给补偿“关”G450圆弧过渡18:刀尖半径补偿时拐角特性模态有效G451等距线的交点BRISK轨迹跳跃加速21:加速度特性模态有效SOFT*轨迹平滑加速FFOWF预控关闭预控模态有效FFOWN*预控打开WALIMON*工作区域限制生效工作区域限制模态有效适用于所有轴,通过设定数据激活;值通过G25,G26设置WALIMOF工作区域限制取消G920*西门子方式其它NC语言G921其它方式模态有效带*的功能在程序启动时生效(如果没有编程新的内容,指用于“铣削”时的系统变量).HH0=T0H9999H功能±0.000001…9999.9999(8个十进制数据位)或使用指数形式用于传送到PLC的数值,其定义由机床制造厂家确定。H0=…H9999=…e.g.H7=23.456I插补参数±0.001…99999.999螺纹:0.001…20000.000X轴尺寸,在G2和G3中为圆心坐标:在G33,G331,G332中则表示螺距大参见G2,G3,G33,G331和G332J插补参数±0.001…99999.999螺纹:Y轴尺寸,在G2和G3中为圆心坐参见G2,G3,G33,G331和G3320.001…20000.000标:在G33,G331,G332中则表示螺距大K插补参数±0.001…99999.999螺纹:0.001…20000.000Z轴尺寸,在G2和G3中为圆心坐标:在G33,G331,G332中则表示螺距大参见G2,G3,G33,G331和G332I1圆弧插补的中间点±0.001…99999.999螺纹:0.001…20000.000属于X轴;用于CIP进行圆弧插补的参数参见CIPJ1圆弧插补的中间点±0.001…99999.999螺纹:0.001…20000.000属于Y轴;用于CIP进行圆弧插补的参数参见CIPK1圆弧插补的中间点±0.001…99999.999螺纹:0.001…20000.000属于Z轴;用于CIP进行圆弧插补的参数参见CIPL子程序名及子程序7位十进制整数,无符号可以选择L1…L9999999;子程序调用需要一个独立的程序段。注意:L…;自身程序段调用L0001不等于L1M辅助功能0…99整数,无符号用于进行开关操作,如“打开”冷却液,一个程序段中最多有5个M功能M...M0程序停止用M0停止程序的执行:按“启动”键加工继续执行。M1程序有条件停止与M0一样,但仅在“条件停(M1)有效”功能被软键或接口信号触发后才生效。M2程序结束在程序的最后一段被写入M3主轴顺时针旋转M4主轴逆时针旋转M5主轴停M6更换刀具在机床数据有效时用M6更换刀具,其它情况下直接用T指令进行。N副程0…99999999整数,与程序段段号一起比如:N20序段无符号标识程段,N位于程序段开始:主程序段0…99999999整数,无符号指明主程序段,用字符“:”取代副程序段的地址符“N”。主程序段中必须包含其加工所需的全部指令比如:20P子程序调用次数1…9999整数,无符号在同一程序段中多次调用子程序比如:N10L871P3;调用三次比如:L781P…;自身程序段RET子程序结束代替M2使用,保证路径连续运行RET;自身程序段S主轴转速,在G4中表示暂停时间0.001…99999.999主轴转速单位是转/分,在G4中作为暂停时间S…T刀具号1…32000整数,无符号可以用T指令直接更换刀具,可由M6进行。这可由机床数据设定T…X坐标轴±0.001…99999.999位移信息X…Y坐标轴±0.001…99999.999位移信息Y…Z坐标轴±0.001…99999.999位移信息Z…AR圆弧插补0.00001…359.99999单位是度,用于在