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