程序中的参数代表一个可变数值,参数从R0—R90可任意选择使用,
参数在计算过程中同样遵循数学运算法则,先运算括号内,乘法和除法运算优先于加法和减法运算,角度计算单位为度。
算术与逻辑运算方法如下:
加法 R1=R1+R2
减法 R1=R1-R2
乘法 R1=R1*R2
除法 R1=R1/R2
正弦 R1=SIN(R2)
余弦 R1=COS(R2)
反正弦 R1=ASIN(R2)
反余弦 R1=ACOS(R2)
正切 R1=TAN(R2)
反正切 R1=ATAN2( , )
平方根 R1=SQRT(R2)
绝对值 R1=ABS(R2)
编程示例:
N10 R1=R1+1 新的R1从旧的R1加1得出
N20 R1=R2+R3 R4=R5-R6 基本加减乘除运算
R7=R8*R9 R10=R11/R12
N30 R13=SIN(30) R13等于30度的正弦值
N40 R14=COS(60) R14等于60度的余弦值
N50 R15=R1*R4+R7 先算乘再算加
N60 R16=(R10-R7)*R13 先算括号内再算乘法
N70 R17=SQRT(R1*R2+R3*R4)
2 程序跳跃
程序跳跃分为:无条件跳跃和有条件跳跃
所谓无条件跳跃是指程序不需要任何条件即可跳跃到我们所需的程序位置。在程序编辑中,无条件跳跃命令必须单独编入NC程序段中,且在程序结尾不需要M02或M30来结束程序。
指令格式:
N10 LABEL:…
N20 …
N50 GOTOB LABEL
或
N10 GOTOF LABEL
N20 …
N50 LABEL:…
说明:
GOTOB 跳跃方向往程序开头方向跳
GOTOF 跳跃方向往程序结尾方向跳
LABEL 跳转的目标
LABEL:跳转的标志名
编程示例:
N10 G00 G90 G17 G54
N20 GOTOF AAB 程序向结尾方向跳到AAB:标志名
N30 G00 …
N40 …
N50 …
N60 BBC:R1=R1+10 程序跳跃的标志名BBC:
N70 …
N80 GOTOF AAC 程序向结尾方向跳到AAC:标志名
N90 …
N100 AAB:R2=R2+1 程序跳跃的标志名AAB:
N110 …
N120 GOTOB BBC 程序向开头方向跳到BBC:标志名
N130 AAC:R3=R3+1 程序跳跃的标志名AAC:
所谓有条件跳跃是指程序跳跃时必须满足某一条件进行跳跃,否则程序就会静止跳跃。跳跃条件可以利用IF指令公式化,如果跳跃条件满足,就可以执行跳跃到编程跳跃的目的点。
指令格式:
N10 AAB:…
N20…
N50 IF R1>R2 GOTOB AAB
或
N10 IF R1>R2 GOTOF AAB
N20 …
N50 AAB:…
说明:
IF 条件(如果或假如意思)
GOTOB 跳跃方向往程序开头方向跳
GOTOF 跳跃方向往程序结尾方向跳
AAB 跳转的目标
AAB: 跳转的标志名
在条件跳转语句中,我们所用到的比较符号如下表示:
等于 = =
不等于 < >
大于 >
小于 <
大于或等于 >=
小于或等于 <=
编程示例:
N10 R1=30 R2=60 R3=10 R4=11
R5=50 R6=20 初始参数赋值
N20 AAB:G00 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6
计算并执行X、Y坐标
N30 R1=R1+R3 R4=R4-1 变量计算
N40 IF R4>0 GOTOB AAB 如果R4>0程序跳跃到AAB:标志名
N50 M30 程序结束
西门子系统宏程序—椭圆
O1201
R11=50
R12=30
G40G90G80
T1M6
M3S1000
G90G54X=R11.Y0.
G43H1Z50.
M8
Z2.
G1Z-2.F500.
R1=0
AA:
R2=R11*COS(R1)
R3=R12*SIN(R1)
G01X=R2Y=R3 F500.
R1=R1+1
IF R1<360 GOTOB AA
G0Z50
M5
M9
M30
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【公众号:数控e家】,仅供大家学习交流,如侵权请联系站长删文。