首页 理论教育 系统宏程序编程与操作技能实训

系统宏程序编程与操作技能实训

时间:2023-03-02 理论教育 版权反馈
【摘要】:要使一个NC程序不仅仅适用于特定数值下的一次加工,或者必须要计算出数值,这两种情况均可以使用计算参数。G代码程序可以读写R参数,在控制系统关闭后数值保持不变。标记符位于程序段段首。条件跳转指令要求指向一个独立的程序段。换刀首次加工时,为防止对刀或工件坐标系零点偏置有误,在程序执行前先进行单段加工,待确定对刀或程序运行平稳后,再取消“单段”加工,采用自动加工。

一、任务布置

完成如图6-3所示的半球面零件加工。零件材料为LY12,毛坯尺寸为80mm×80mm×31mm(长×宽×高)。

图6-3 半球面零件图

【知识目标】

(1)熟悉SINUMERIK系统的R参数、运算符与表达式等代码的意义。

(2)掌握SINUMERIK系统中用变量进行算术运算、逻辑运算和函数的混合运算等表达式功能。

(3)掌握SINUMERIK系统的跳转语句、控制结构等编程格式。

【技能目标】

(1)会编制半球零件的加工程序。

(2)会操作加工中心完成半球零件的加工及质量检测。

二、知识链接

(一)宏程序变量的功能

要使一个NC程序不仅仅适用于特定数值下的一次加工,或者必须要计算出数值,这两种情况均可以使用计算参数。在程序运行时由控制器计算或设定所需要的数值,也可以通过操作面板设定参数数值。如果参数已经赋值,则它们可以在程序中对由变量确定的地址进行赋值。

通过使用变量而非固定值就可以灵活地编制程序。这样就可以对信号做出反应,比如测量值,或者通过使用变量而非固定值,可以把相同的程序用于不同的几何关系。灵活的编程人员运用变量计算和程序转换可以建立一个高度灵活的程序档案,从而省去很多编程工作。

(二)用户变量

1.变量

用户变量可以定义下列变量:

(1)计算参数(R参数)。

(2)全局用户变量(GUD)在所有程序中都有效。

(3)局部用户变量(LUD)在一个程序中有效。

(4)程序全局用户变量(PUD)在一个程序和所调用的子程序中有效。

可以为每个通道以不同值定义各个通道专用的用户变量,输入并显示参数值,可以进行15位以下(包含小数点后的位数)的赋值。如果输入的数字大于15位,将会以指数方式进行显示(15位+EXXX)。

注意:1)用户变量LUD或PUD是否可以使用,取决于当前的控制系统配置。

2)用户变量的读取与写入受钥匙开关和保护等级保护。

2. R参数

R参数(计算参数)是可以在G代码程序中使用的通道专用变量。G代码程序可以读写R参数,在控制系统关闭后数值保持不变。

机床数据确定通道专用的R参数数目范围:R0~R249(取决于机床数据)。其中R0~R99可以自由使用,R100~R249加工循环传递参数,如果没有用到加工循环,那这部分计算参数也同样可以自由使用。

(三)用户变量编程

1.变量的赋值

(1)数值赋值。在±0.0000001…99999999(8位,带符号和小数点)范围内给计算参数赋值。在取整数值时可以去除小数点。正号可省略。

举例:R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678. 1234

(2)指数赋值。用指数表示法可以赋值更大的数值范围:±(10- 300 … 10+300)。指数值写在EX符号之后;最大符号数为10(包括符号和小数点)。EX值范围:-300到+300

举例:R0=-0. 1EX-5;表示R0=-0. 000001

R1=1. 874EX8;表示R1=187400000

注意:一个程序段中可以有多个赋值语句,也可以用计算表达式赋值。

(3)其他赋值。通过给其他的NC地址分配计算参数或参数表达式,可以增加NC程序的通用性。可以用数值、算术表达式或R参数对任意NC地址赋值。但对地址N、G和L例外。赋值时在地址符之后写入符号“=”。赋值语句也可以赋值一负号。给坐标轴地址(运行指令)赋值时,要求有一独立的程序段。

举例:N10 G0 X=R2;表示给X轴赋值

2.参数的计算

在计算参数时也遵循通常的数学运算规则。圆括号内的运算优先进行。另外,乘法和除法运算优先于加法和减法运算,角度计算单位为度。

举例:

N10 R1=R1+1;R1值加上1后得到新的R1

N20 R1=R2+R3 R4=R5-R6 R7=R8 * R9 R10=R11/R12

N30 R13=SIN(25.3);R13等于正弦25.3度

N40 R14=R1 * R2+R3;乘法和除法运算优先于加法和减法运算

N50R14=(R1 * R2)+R3;

N60 R14=R3+R2 * R1;与N40一样

3.程序跳转目标

1)标记符用于标记程序中所跳转的目标程序段,用跳转功能可以实现程序运行分支。

2)标记符可以自由选取,但必须由字母或数字组成,其中开始两个符号必须是字母或下划线。

3)跳转目标程序段中标记符后面必须为冒号。标记符位于程序段段首。如果程序段有段号,则标记符紧跟着段号。

4)在一个程序段中,标记符不能含有其他意义。

举例:

N10 MARKE1:G1 X20;MARKE1为标记符,跳转目标程序段

TR789 : G0 X10 Z20;TR789为标记符,跳转目标程序段没有段号

4.条件跳转

(1)功能

用IF条件语句表示有条件跳转。如果满足跳转条件(也就是值不等于零),则进行跳转。跳转目标只能是有标记符的程序段,该程序段必须在此程序之内。条件跳转指令要求指向一个独立的程序段。在一个程序段中可以有许多个条件跳转指令。使用了条件跳转后有时会使程序得到明显的简化。有条件跳转符号说明见表6-9。

(2)编程

IF条件GOTOF Lable;先前跳转。IF条件GOTOB Lable;向后跳转。

表6-9 有条件跳转符号说明

(3)计算功能

计算功能主要应用于R参数和实数型变量(或常量和功能)。整数型和字符型也是允许的。在计算操作时,通常的数学计算有效。在处理中需优先处理的用圆括号给出。对于三角函数和它的反函数其单位是度(直角=90°)。运算符计算意义见表6-10。

表6-10 运算符计算意义

举例:

(4)比较运算

比较运算可以用于类型为CHAR、 INT、 REAL和BOOL的变量。在字符型时代码值会被比较。在数据类型为STRING、 AXIS和FRAME时可以==和<>,比较运算符含义见表6-11。

比较计算操作的结果总是类型BOOL,比较操作可以用来表达转换条件,完整的表达式也可以进行比较。

表6-11 比较运算符含义

比较运算的结果有两种,一种为“满足”,另一种为“不满足”。“不满足”时,该运算结果值为零。

举例:

IF R10>=100 GOTOF目标

或R11=R10>=100

IF R11 GOTOF目标

R10>=100比较的结果首先存储在R11中。

5.控制结构

(1)解释

IF-ELSE-ENDIF二选一。

LOOP-ENDLOOP无限循环。

FOR-ENDFOR计数循环。

WHILE-ENDWHILE在循环开头有条件的循环。

REPEAT-UNTIL在循环结尾有条件的循环。

(2)功能

控制系统按照编制好的标准顺序处理NC程序段。用这些命令除了能确定程序跳转,还能确定二选一和程序循环。

(3)运行

1)IF-ELSE-ENDIF

IF-ELSE-ENDIF模块用于二选一:

IF(表达式)

NC程序段

ELSE

NC程序段

ENDIF

如果表达式值为TRUE,也就是说条件被满足,这样后面的程序模块被执行。如果条件不满足,ELSE分支被执行。这个ELSE分支可取消。

2)无限循环LOOP

无限循环在无限程序中被应用。在循环结尾总是跳转到循环开头重新进行。

LOOP

NC—程序段

ENDLOOP

3)计数循环FOR

当一个带有一个确定值的操作程序被循环重复,FOR循环就会被运行。记数变量同时会从初始值到最后值增加,初始值必须小于最后值。变量必须属于INT类型。

FOR变量=初始值TO最后值

NC程序段

ENDFOR

4)在循环开头带有条件的程序循环WHILE

只要条件满足,WHILE循环就被执行。

WHILE表达式

NC程序段

ENDWHILE

5)在循环结尾带有条件的程序循环REPEAT

REPEAT循环一旦被执行会不断重复,直到条件被满足为止。

REPEAT

NC程序段

UNTIL(表达式)

6)嵌套的层数

控制结构对部分程序有效。在每个子程序之内,嵌套的层数可以达到8个标准控制结构,具体如图6-4所示。

图6-4 嵌套的层数

三、宏程序编制

1.数学处理及计算

半球面数学处理如图6-5所示。

图6-5 半球面数学处理示意图

设定:初始变量R1=0

则:R2=SIN(R1)* 20

R3=20-COS(R1)*20

R1的区间在0~90°。

2.程序编制

SINUMERIK系统R20球面零件加工程序卡如表6-12所示。

表6-12 SINUMERIK系统半球面零件加工程序卡

注:编程时,程序前几程序段为机床加工的各项准备工作指令,然后才开始编写加工程序。

四、技能实训

1.实训准备

根据项目任务要求,给出半球面零件加工工具、量具、刃具等准备清单,如表6-13所示。

表6-13 半球面零件加工工具、量具、刃具准备清单

2.加工准备

(1)开机,回机床参考点。

(2)检查毛坯是否符合加工要求,并安装工件,把毛坯用等高块垫在下面,放在已校正平行的平口钳中间位置,使上表面高出钳口21~22mm(留有足够的空间完成R20球面零件的铣削加工),用木槌或橡胶锤敲击工件上表面夹紧平口钳。

(3)完成φ50mm面铣刀、φ10mm立铣刀刀具的对刀,分别设定G54坐标原点。

3.程序输入

输入表6-12所列参考程序到数控系统中。

4.模拟加工

校验程序走刀轨迹是否符合机床刀具运行轨迹要求。

5. 自动加工

换刀首次加工时,为防止对刀或工件坐标系零点偏置有误,在程序执行前先进行单段加工,待确定对刀或程序运行平稳后,再取消“单段”加工,采用自动加工。在加工过程中,应根据机床运行情况,调整机床主轴转速和进给倍率,确保机床平稳、高效运行。

6.结束准备

完成零件加工,去除零件毛刺,打扫、清理机床和周围设施,并做好机床保养等工作。

五、质量评价

根据完成零件,按照项目评分表对加工零件进行质量评价,评分表如表6-14所示。

表6-14 半球面零件评分表

六、常见问题解析

(1)用立铣刀加工时要注意刀具半径的考虑。

(2)在参数编程中,变量赋值格式要正确。

七、巩固训练

用SINUMERIK数控系统完成如图6-6所示凹圆球零件的加工。零件材料:LY12,毛坯尺寸:80mm×80mm×31mm,凹圆球零件评分表如表6-15所示。

图6-6 凹圆球零件图

表6-15 凹圆球零件评分表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈