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