数控编程程序的格式
详细内容
数控加工程序是由一系列机床数控装置能辨识的指令有序结合而构成的。程序的组成形式随数控系统功能的强弱而略有不同。对功能较强的数控系统加工程序可分为主程序和子程序。但不论是主程序还是子程序,每一个程序都是由程序号、程序段和程序结束符等几个部分组成。例如:
O0001
N10 G92 X0 Y0 Z1.0;
N20 S300 M03;
N30 G90 G00 X-5.5 Y-6;
……
N160 M30;
%
以上程序中,“O0001”是程序号,“%”是程序结束符,其间每一行都称为一个程序段(Block),程序段是由一个或若干个字(Word)组成的,如N10、S300、M03、X-5.5、G00等都是一个字,每个字都是数控机床为完成某一特定动作的指令。字是由表示地址的字母(见表2-1)、数字和符号组成的。即字母和数字组成字,字组成程序段,程序段组成程序。每一程序段后面加一结束符号“;(EOB)”,以表示一个程序段的结束。
1.程序号
目前的计算机数控(C)机床,都具有记忆程序的功能,能将程序存储在内存内。为了区别不同的程序,在程序的最前端加上程序号码。程序号码以地址O及1~9999范围内的任意数字组成。
不同的数控系统程序号地址码也有所区别。通常FANUC系统用“O”,SINUMERIK系统用“%”,而AB8400系统用“P”作为程序号的地址码。编程时一定要根据说明书的规定作指令,否则系统是不会执行的。
2.程序段
程序段的格式可分为地址格式、分隔顺序格式、固定程序段格式和可变程序段格式等。最常用的是可变程序段格式。
所谓可变程序段格式,就是程序段的长短,随字数和字长(位数)都是可变的。
JB3832—1985《数控机床轮廓和点位切削加工可变程序段格式》中推荐用可变程序段格式。程序段是由程序段号(字)、地址、数字、符号等组成。各字后有地址,字的排列顺序要求不严格,数据的位数可多可少,不需要的字以及与上一程序段相同的续效字可以不写。该格式的优点是程序简短、直观以及容易检查和修改。
程序段的格式如下:
N__ G__ X__ Y__ Z__ …… F__ S__ M__ …… LF(或 ;)
顺序号 准备功能 坐标值 其他坐标 工艺性指令 附加指令 结束代码
地址功能含 义地址功能含 义A坐标字绕X轴旋转N顺序号程序段顺序号B坐标字绕Y轴旋转O程序号程序号、子程序号的指定C坐标字绕Z轴旋转P暂停时间或程序中某功能的开始使用的顺序号D补偿号刀具半径补偿指令Q固定循环终止段号或固定循环中的定距离E第二进给功能R坐标字固定循环中定距离或圆弧半径的指定F进给功能进给速度的指令S主轴功能主轴转速的指令G准备功能指令动作方式T刀具功能刀具编号的指令H补偿号补偿号的指令U坐标字与X轴平行的附加轴的增量坐标值I坐标字圆弧圆心X向坐标V坐标字与Y轴平行的附加轴的增量坐标值J坐标字圆弧圆心Y向坐标W坐标字与Z轴平行的附加轴的增量坐标值K坐标字圆弧圆心Z向坐标X坐标字X轴的坐标值或暂停时间L重复次数固定循环及子程序的重复次数Y坐标字Y轴的坐标值M辅助功能机床开/关指令Z坐标字Z轴的坐标值地址码中英文字母的含义表
程序段格式说明:
(1)顺序号 数控程序的每一段之前可以加一顺序号,用地址N后面加上1 ~ 9999中任意数字表示。大多数数控系统在编程人员通过操作面板输入加工程序时,系统在每个程序段的开头会自动生成顺序号,且从10开始至9990(这样生成的目的是为了修改程序时,在程序段间插入新的程序段,而不会出现相同的程序号)。程序段中顺序号的加入是为了在编制、修改程序时容易分清各程序段及容易找到要修改的程序。顺序号的有无对数控机床的加工运行没有影响。在C内存不足的情况下,用DNC传输时,可以用传输软件把顺序号全部省略,以节省内存。
(2)准备功能 准备功能是使数控机床作好某种操作准备的指令,用地址G和两位数字表示,从G00~G99共100种。
(3)坐标字(尺寸字) 尺寸字由地址码、符号(+、-)及绝对(或增量)数值构成。尺寸字的地址码有X、Y、Z、U、V、W、P、Q、R、A、B、C、I、J、K、D、H等。坐标值的输入最大值可为±99999.999,但输入的实际值范围必须根据机床本身的大小来定。输入时“+”号可省略。在输入整数时,对有的数控系统来说,小数点后面的三个0可以不输入,但小数点必须输入,如X88.000可在输入时只输入X88.;有的数控系统整数后面的小数点及0都可以不输入,具体情况根据不同的数控系统来确定。
(4)工艺性指令 进给功能表示刀具中心运动的进给速度,由地址码F和后面数字构成。主轴转速功能由地址码S和其后面的数字组成。辅助功能也叫M功能或M代码,它是控制机床系统的开关功能的一种命令。由地址码M和后面的两位数字组成,从M00~M99共100种。
(5)附加指令 包括固定循环及子程序的重复次数指令、刀具补偿号指令、刀具编号指令及暂停时间指令等。
(6)程序段结束 写在每一程序段之后,表示程序段结束。对于不同的数控系统有不同的结束代码。当用“ISO”标准代码时,结束符为“LF”或“NL”;用“EIA”标准代码时为“CR”;有的用符号“;”或“*”表示;有的直接回车即可。
(7)选择性程序段删除“/” 在程序段的最前端加一斜线“/”时,表示该程序段是否被执行,由操作面板上的选择性程序段删除开关来决定。当此开关处于“ON”(灯亮)时,则该程序段会被忽略而不被执行;当此开关处于“OFF”(灯熄)时,则该程序段会被执行。所以程序中有“/”指令的程序段可由操作者视情况选择该程序段是否被执行。“/”指令常置于程序段的最前端,若是置于程序段中的任何位置,则从“/”至“;”(程序段结束)间的所有指令可被忽略而不执行。
(8)对有的数控系统,G、T、S、M指令不允许共段。
3.程序结束符
国产数控系统一般都没有程序结束符,FANUC数控系统的结束符为“%”,SIEMENS数控系统的结束符为“RET”。