首页 理论教育程序段的组成及代码分类

程序段的组成及代码分类

【摘要】:主程序的结束标记用辅助机能代码M02或M30表示,子程序的结束标记用M99表示。图2.1-1 程序段的基本组成5)切削速度是多少?反之,仅在编入的程序段中有效的代码,则称为单段有效代码或单段有效指令。

1.程序与编程

数控机床是一种根据加工程序,进行高效、自动加工的设备。为了使CNC能根据零件加工的要求,控制机床动作,必须将这些要求以CNC能够识别的指令告知CNC,这些指令的集合称为数控加工程序,简称程序。编写程序的过程称为编程。

加工程序不仅关系到能否加工出合格的零件,而且还影响到加工精度、加工效率,甚至设备的安全。理想的加工程序,不仅要保证加工零件符合图样要求,且还应充分利用CNC功能,使加工程序简洁、高效。

编程方法有手工编程和自动编程两种。所谓手工编程,是指从分析图样、确定工艺、计算坐标、编制程序、输入程序、校验程序等全部工作都通过人工完成。手工编程不需要专门设备,程序容易阅读和检查,但对于轮廓复杂的工件,其轨迹的计算会十分困难与费时,因此,它适合于加工批量大、轮廓简单的零件加工。

所谓自动编程,是指程序编制的大部分或全过程都由计算机完成。自动编程可以解决手工编程无法完成的复杂零件轨迹计算,适合于复杂零件的编程。自动编程的方法主要有语言式和图形交互式两种,前者是以高级语言表示全部加工内容,计算机通过批处理一次性处理、生成加工程序;后者是通过人机对话,利用CAD/CAM功能自动生成加工程序。为了提高编程效率,先进的CNC中一般都具备对话式编程、引导编程、蓝图(轮廓)编程等功能。

2.程序字与格式

程序字又称指令代码,它是组成程序的基本单位。在CNC上,把程序中的英文字母和字符,如X、Y、Z、A、B、C、%等,称为地址;将数字0~9和小数点、+/-号称为数字;地址和数字的组合称为程序字。通常而言,不同地址代表不同类指令,后缀的数字用来区分同类指令。

程序字的使用需要注意以下几点:

1)程序字是程序的本单位,一般来说,程序中不应该(或不允许)使用单独的地址或数字;程序字中的字母与数字的先后次序不可颠倒。

2)CNC对程序字的格式有规定的要求,这一格式称为CNC的输入格式,CNC无法识别不符合格式要求的代码。表2.1-1所示为FS-0iD的输入格式一览表,这一格式对于FS-0iD的所有规格都适用。

表2.1-1 FS-0iD输入格式一览表

978-7-111-41794-1-Chapter02-1.jpg

使用时应注意,表2.1-1中的输入范围只是CNC允许的范围,它不是机床实际可达到的参数,故编程时必须根据机床的工作台移动范围、刀具数、最高主轴转速、快进速度等,来确定程序参数的范围。

3.程序的组成

以下是一段最简单的FS-0iD加工程序。

978-7-111-41794-1-Chapter02-2.jpg

从该程序可见,程序以O0001开头、M30结束,每一行以“;”作为分行标记。这里的O0001称为程序号;M30(或M02)称为结束标记;每一行程序代表一条独立的指令,称为一个程序段。程序号、结束标记、程序段是加工程序的三要素。

(1)程序号

程序号是加工零件的代号,它应位于程序的开始位置,并占一单独的程序段。程序号可由地址O或%后缀若干位数字组成,在部分CNC中,程序号还可直接用文件名(如%TEST1等)代替。在同一CNC中,程序号不可重复。

在FS-0iD上,程序号O9999、O-9999、O0000等通常用于换刀、工作台交换等特殊动作的控制,这些程序一般由机床生产厂家编制,机床用户应尽量避免使用。

(2)结束标记

程序结束标记代表着一个加工程序的结束,它应位于程序的最后,并占一单独程序段。主程序的结束标记用辅助机能代码M02或M30表示,子程序的结束标记用M99表示。

(3)程序段

程序段是加工程序的主体,其长度和数量原则上只受CNC存储器容量的限制。程序段由N及后缀的数字——顺序号或程序段号开头、以CR或LF结束,实际使用时,一般以符号“;”来表示CR或LF。

一个完整的加工程序段,除程序段号、结束标记外,其主体部分应具备图2.1-1所示的基本数据,即为了将刀具从P1点移到P2点,必须在程序段中明确以下几点:

1)移动的目标是那里?——终点坐标。

2)沿什么样的轨迹移动?——准备机能。

3)移动速度要多快?——F代码。

4)选择哪一把刀移动?——T代码。

978-7-111-41794-1-Chapter02-3.jpg

图2.1-1 程序段的基本组成

5)切削速度是多少?——S代码。

6)机床还需要辅助哪些动作?——M代码。

如对于程序段:

N10 G90 G01 X100.0 Y100.0 F100 S300 T01 M03;

其移动目标为X100、Y100;移动轨迹为直线(G01插补);移动速度为100mm/min(F100);刀具为1号刀(T1);主轴转速为300r/min(S300,切削速度VD·SD为刀具或工件直径);机床辅助动作为主轴正转(M03)。

在实际加工程序中,对于复杂的轮廓运动,有时还需要更多的参数,如

N5 G91 G02 X100.0 Y100.0 I50.0 J0 F100 S300 T1 M03;等。

程序段中的程序字排列次序一般应为N、G、X/Y/Z、插补参数、F、S、T、M。其中,用来确定运动轨迹的准备机能代码G,在一个程序段中可能有多个;但其他代码一般都只编写一个,以提高程序的可靠性

程序段号在程序中只起到指示跳转、检索位置的作用,它在同一程序内原则上不应重复使用。程序段号不一定按从小到大的次序编写,也可省略,省略段号的程序段不能作为跳转或检索的目标位置。

为了便于对程序段的执行进行控制,N号前面还可加符号/、/1~/8,如“/N100 G00X100 Y100;”这样的程序段称为可跳过程序段,它可通过操作面板控制CNC的“程序段跳过”信号,选择正常执行或是忽略(跳过)这些程序段。

4.模态代码

根据以上程序段的要求,为保证动作的正确执行,每一程序段都需要有终点坐标、准备机能、F/S/T/M代码等,这样必将出现大量指令的重复,使程序十分冗长。为此,在CNC中规定了这样一些代码指令:它们在某一程序段上执行后,可一直保持有效,直到被撤销,这些代码称为模态代码或模态指令。反之,仅在编入的程序段中有效的代码,则称为单段有效代码或单段有效指令。

模态代码和单段有效代码有CNC生产厂家规定,一般而言,绝大多数G代码及所有坐标位置代码、S/F/T/M代码均为模态代码。

5.代码分组和开机默认

模态代码大大简化了加工程序,但由于它持续有效,故必须有相应的撤销指令,因此,需要进行代码分组。所谓代码分组,就是将CNC不可能同时执行的代码指令归为同一组,这样的代码有相互取代的作用,以此来改变模态代码的状态。同组代码在一个程序段中只能有一个生效,一般而言,编入两个以上同组代码时,最后输入的代码有效;但不同组代码在程序段中可编入多个。

为了防止编程时的遗漏,CNC也像计算机一样,在每组的模态代码中选择一个,作为开机默认代码,此代码在开机或CNC复位时可自动生效。这些代码在开机或复位状态下执行加工程序时,即使在程序中没有编写,也同样有效。

FS-0iD的模态代码、单段有效代码、代码分组、开机默认代码可参见本书第3章和第4章。