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