要使一个NC程序不仅仅适(shì)用于(yú)特定数值下的一次加工,或者必须要计算出数(shù)值,两种情况均(jun1)可以(yǐ)使用计算参数,你可以(yǐ)在程序运行时由控(kòng)制(zhì)器计算或设所需(xū)要的数值;可以(yǐ)通过操作面板设定参数数值。如果参数已经(jīng)赋值,则它们可以在程(chéng)序中对由变量确定 地址进行赋值。
R0=...
到
R249=...
一共250个计算(suàn)参数可供使用。
R0...R99 - 可(kě)以自由使(shǐ)用
R100...R249 -加工循环(huán)传(chuán)递参数
如果你没有用到加工循环,则(zé)这部分计算参(cān)数也(yě)同样可(kě)以自由使用。
R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678.1234
用指(zhǐ)数表示法可以(yǐ)赋值(zhí)更大(dà)的数(shù)值(zhí)范围:
(10-300...10+300).
指数值写在EX符(fú)号之后;最大符号(hào)数:10(包(bāo)括(kuò)符号(hào)和小(xiǎo)数点).
EX值(zhí)范(fàn)围(wéi):-300到+300
R0=-0.1EX-5 ;意义(yì):R0=-0.000 0001
R1=1.874EX8 ;意(yì)义:R1=187 400 000
注释:一个程序段中可以(yǐ)有多(duō)个赋值语句;也可以用计算表(biǎo)达式赋值(zhí)。
通过给其它(tā)的NC地址分配计算参数或参数(shù)表(biǎo)达式,可以增加(jiā)NC程(chéng)序的通用性。可以用数值、算(suàn)术表(biǎo)达式或R参数对任意NC地址赋(fù)值。但对地址N、G和L例(lì)外。
赋值时在地址(zhǐ)符之后写(xiě)入符号"="
赋(fù)值语(yǔ)句也可(kě)以(yǐ)赋值-负(fù)号。
给坐标轴地址(运行指令)赋值时,要求(qiú)有一独立的程(chéng)序段(duàn)。
举例:
N10 G0 X=R2 ;给(gěi)X轴赋值(zhí)
在计(jì)算(suàn)参数时也遵循(xún)通常的数学运(yùn)算(suàn)规则。原括号(hào)内的运算(suàn)优先(xiān)进行。另外,乘法和除(chú)法运算(suàn)优先于(yú)加法和减法运算。
1)标记符用于标记程(chéng)序中(zhōng)所跳转的目标程序段,用跳转功能可以实现(xiàn)程序运行分(fèn)支。
2)标(biāo)记符可(kě)以自由选(xuǎn)取(qǔ),但(dàn)必须由2一个字(zì)母(mǔ)或数字(zì)组成,其中开始两个符(fú)号必(bì)须(xū)是字母(mǔ)或下划线。
3)跳转(zhuǎn)目标程(chéng)序段中标记符后面必(bì)须为冒号。标记符位于程序段段首。如(rú)果程序(xù)段有段号,则标记符紧跟着段号。
4)在(zài)一个程序段中,标记符不(bú)能含有其它意义。
N10 MARKE1:G1 X20 ;MARKE1为标(biāo)记符,跳转目标程序段(duàn) ...
TR789:G0 X10 Z20 ;TR789为标记(jì)符,跳转目标程序段没有段(duàn)号
NC程序(xù)在(zài)运行时以写入时的顺序执行程序段。
程序在运行时(shí)可以通过插入程序跳转指令改变执行顺序。
跳转目标(biāo)只能是有标记(jì)符的程序段。此(cǐ)程(chéng)序段必须位于该程(chéng)序之(zhī)内。
绝(jué)对跳转指令必须占用一个(gè)独(dú)立的程序段。
GOTOF Lable ;先前跳转(zhuǎn)
GOTOB Lable ;向(xiàng)后跳转
AWL 说(shuō)明
GOTOF 向前跳转(向(xiàng)程(chéng)序结束的方向(xiàng)跳转)
GOTOB 向后(hòu)跳转(zhuǎn)(向程(chéng)序(xù)开始的方向跳转)
Lable 所选的标记符
用IF-条件语句表示有条(tiáo)件跳转.如果满(mǎn)足跳转(zhuǎn)条件(也就是(shì)值不等于零),则进行跳转.跳(tiào)转目标(biāo)只能是有标记符的程序段.该程序段必须在此程序之内.
有条件跳转指令(lìng)要求一个(gè)独立的程序段.在一个程序段中可以有许(xǔ)多个(gè)条件跳转指令(lìng).
使(shǐ)用了(le)条件跳转后有时会使程序(xù)得(dé)到明(míng)显的简化.
IF条件GOTOF Lable ;先前跳转
IF条件GOTOB Lable ;向后跳(tiào)转
AWL | 说明 |
GOTOF | 向前跳转(向程序结束的方向跳(tiào)转) |
GOTOB | 向后跳转(向(xiàng)程序开始的方(fāng)向跳(tiào)转) |
Lable | 所选的(de)标记符 |
IF | 跳转条(tiáo)件导入符 |
条件(jiàn) | 作为条件的计(jì)算参数,计算表(biǎo)达式 |
运算符 | 意义 |
= = | 等(děng)于(yú) |
<> | 不等 |
> | 大于(yú) |
< | 小(xiǎo)于 |
> = | 大于或等(děng)于 |
< = | 小(xiǎo)于(yú)或等于 |
用上述比较运算(suàn)表示跳转条(tiáo)件,计算表达式也可用于比较运算.
比较运算的结果有两种(zhǒng),一种为(wéi)"满足",另一种为"不满足"。 "不满足"时,该运(yùn)算结果值(zhí)为零。
R1>1 ;R1大于(yú)1
1<R1 ;1小于R1
R1<R2+R3 ;R1小于R2加R3
R6>=SIN(R7*R7) ;R6大于或等于SIN(R7)2
L1(半(bàn)球):
L2(半球):
效(xiào)果(guǒ)图:
G54X0Y0Z10F100M03S100
R10=-15 R11=-9.06
L1
R10=15 R11=-9.06
L1
R10=0
L2
G0 X=R10+12.5-4 Y=R11
G1 Z-6 F100
G3 I=4-12.5
G1 X=R10+8 Y=R11
G41 D1 X=R10+4 Y=R11
G2 I-4
G0 Z5
R1=4
R2=90
AAA:
R3=R1*COS(R2)+4+R10
R4=R1*SIN(R2)-R1
G0 X=R3 Y=R11
G1 Z=R4 F300
G2 I=R10-R3
G0 Z1
R2=R2-1
IF R2>=0 GOTOB AAA
G0 Z10
M17
R1=35
R2=15
R3=0
G0 X=R1+R10 Y=R11
G1 Z-5 F100
AAA:
R4=R1*COS(R3)+R10
R5=R2*SIN(R3)+R11
G1 X=R4 Y=R5 F100
R3=R3+1
IF R3<=360 GOTOB AAA
G0 Z5
M17
原则上讲主程序和子程序之(zhī)间并(bìng)没有区(qū)别。
用子(zǐ)程(chéng)序编(biān)写(xiě)经常重复进行的加工,比(bǐ)如某一确(què)定(dìng)的轮廓形状。子(zǐ)程序位(wèi)于主程序的一种型式就是加工循环,加工循环包含一般通用的加工工序,诸如螺纹(wén)切削,柸料切削加工等等。通(tōng)过给规定的计算参数赋值(zhí)就可(kě)以实现各种具体的加工(gōng)。
子程(chéng)序的(de)结构(gòu)与主程(chéng)序的结构(gòu)一样,在子程序中也式最(zuì)后(hòu)一个程序(xù)段中用(yòng)M2结束子程(chéng)序运行运行。子程序结束后返回主程序。
除了(le)用M2指令外,还可以用RET指令结束子程序。
RET要求占(zhàn)用一个独立的程序段。
用RET指(zhǐ)令结束子程序、返回主程序时(shí)不会中(zhōng)断G64连续路径运(yùn)行(háng)方式(shì),用M2指(zhǐ)令则(zé)会(huì)中断G64运行方式(shì),并(bìng)进入停(tíng)止状态。
为了方便(biàn)地选择某(mǒu)一子(zǐ)程序,必须给子(zǐ)程(chéng)序取一个程序名。程(chéng)序(xù)名(míng)可以自(zì)由选取,但必须符合以(yǐ)下(xià)规定:
- 开始(shǐ)两(liǎng)个符号必须时字(zì)母(mǔ)
- 其它符号为字母,数字或下划线
- 最多8个字符
- 没有分隔符
其方法与主程序中(zhōng)程序名的选取方法一样。
在一个程(chéng)序中(zhōng)(主程序或子程(chéng)序)可以直(zhí)接用程(chéng)序名调用(yòng)子程(chéng)序。子程序调用(yòng)要求占用一个独(dú)立的程序段。
举例(lì):
N10 L785 P3 ;调用子(zǐ)程序L785
N20 WELLE7 ;调用(yòng)子(zǐ)程序WELLE7
如果要求(qiú)多(duō)次连续地执行(háng)某一子程序,则在编程时必须在(zài)所(suǒ)调用子程序(xù)的程序(xù)名后(hòu)地址P下写入调用次数,最大次数可以为9999(P1...P9999)
举例:
N10 L785 P3 ;调用子程(chéng)序(xù)L785 ,运行3次(cì)
子程序不仅可以从主(zhǔ)程序中调用,也(yě)可以从其(qí)它程序中调用,这个过程称(chēng)为子程序的嵌套。子程(chéng)序的嵌套深度可以(yǐ)为三层,也就是四级程(chéng)序界面(包括主程序界面) 。
注释:在使(shǐ)用加工循环进(jìn)行(háng)加工(gōng)时,要注意加工循环程序也同样属(shǔ)于四(sì)级程序界面中的一级。
在(zài)子程序(xù)中可(kě)以(yǐ)改变模(mó)态(tài)有效的G功能,比(bǐ)如(rú)G90到(dào)G91的变换.在返回调用程序时请注意检查一下所有(yǒu)模态有(yǒu)效的功能指令,并按照要求进(jìn)行(háng)调整。
对(duì)于R参数也需同样注意,不要无意(yì)识地用上级程序界(jiè)面中所使用的计(jì)算参数来修改下级(jí)程(chéng)序界面的(de)计算(suàn)参数。