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