宏程序Word格式.docx
- 文档编号:17087381
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:129.72KB
宏程序Word格式.docx
《宏程序Word格式.docx》由会员分享,可在线阅读,更多相关《宏程序Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
#10=150则M#10是不允许的
5、#0为空变量,没有定义变量值的变量都是空变量
6、程序定义变量值时可省略小数点例:
#123=150
⏹变量值的范围
局部变量和公共变量可以为0或下面范围中的值
-1047~-10-29或10-29~1047
⏹变量的引用
在地址符后指定变量号即可引用其变量值。
如:
G01X#1F0.1
当用表达式指定变量时,要把表达式放在括号中。
如:
G01X[#1+#2]F#3
被引用变量的值根据地址的最小设定单位自动地舍入如:
系统的最小输入增量为1/1000mm时#1=12.3456当指定G01X#1时,实际指令值为G01X12.346
引用空变量时,地址本身也被忽略
变量的分类
根据变量号分类
⏹系统变量
系统变量用于读和写NC内部数据,系统变量是自动控制和通用程序开发的基础。
1、接口信号
接口信号是可编程机床控制器(PMC)和用户宏程序之间交换的信号。
2、刀具补偿值
用系统变量可以读和写刀具补偿值
3、宏程序报警
算术和逻辑运算
包含定义,加、减、乘、除、三角函数计算、开平方、逻辑运算等等
表中列出的运算可以在变量中执行。
运算符右边的表达式可包含常量或由函数或运算符组成的变量。
表达式中的变量#j和#k可以用常数替换。
左边的变量也可以用表达式赋值。
⏹逻辑运算:
等于:
EQ格式:
#jEQ#k
不等于:
NE格式:
#jNE#k
大于:
GT格式:
#jGT#k
小于:
LT格式:
#jLT#k
大于等于:
GE格式:
#jGE#k
小于等于:
LE格式:
#jLE#k
算术与逻辑运算指令的缩写程序中指令函数时,函数名的前二个字符可以用于指定该函数
例如:
⏹ROUND→RO
⏹FIX→FI
运算次序
⏹①函数
⏹②乘和除运算(*、/、AND)
⏹③加和减运算(+、-、OR、XOR
括号嵌套
⏹括号用于改变运算次序。
括号可以使用5级,包括函数内部使用的括号。
当超过5级时,出现P/S报警No.118。
宏程序语句和NC语句
下面的程序段为宏程序语句:
包含算术或逻辑运算(=)的程序段。
包含控制语句(例如,GOTO,DO,END)的程序段。
包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段。
除了宏程序语句以外的任何程序段都为NC语句。
使用GOTO语句和IF语句可以改变控制的流向。
有三中转移和循环可供使用。
GOTO无条件转移
IF条件转移
WHILE当型循环
1、无条件转移
GOTOn;
n为顺序
例如:
GOTO1;
GOTO#10;
2、条件转移
IF[<
条件表达式>
]GOTOn
IF[#1GT10]GOTO2
程序
N2G00G91X10.0
]THEN<
表达式>
IF[#1EQ#2]THEN#3=0
3、当型循环
WHILE[<
]DOm;
程序;
ENDm;
程序;
说明:
①m=1,2,3,可以多次使用。
②最多嵌套三层。
③省略WHILE,则产生从DO到END的无限循环。
④WHILE比GOTO处理快。
标号可以多次使用:
WHILE[…]DO1;
程序;
END1;
﹕
可以嵌套3层:
WHILE[…]DO2;
WHILE[…]DO3;
END3;
END2;
可以跳到循环外边:
IF[…]GOTOn;
Nn
DO的范围不能交叉:
WHILE[…]DO2;
END2;
转移不能进入循环区:
IF[…]GOTOn;
N1…;
变量的赋值(对应)关系1
程序中的地址
在宏程序体中的变量
A
#1
Q
#17
B
#2
R
#18
C
#3
S
#19
D
#7
T
#20
E
#8
U
#21
F
#9
V
#22
H
#11
W
#23
I
#4
X
#24
J
#5
Y
#25
K
#6
Z
#26
M
#13
J4
#14
K8
#27
K4
#15
I9
#28
I5
#16
J9
#29
I1
J5
K9
#30
J1
K5
I10
#31
K1
I6
J10
#32
I2
J6
K10
#33
J2
K6
K2
I7
I3
#10
J7
J3
K7
K3
#12
I8
I4
J8
自变量指定Ⅰ、Ⅱ混合使用CNC内部自动识别自变量指定Ⅰ和自变量指定Ⅱ。
如果自变量指定Ⅰ和自变量指定Ⅱ混合指定,后指定的自变量类型有效。
G65A1.0B2.0I-3.0I4.0D5.0P1000
变量:
#1:
1.0#2:
2.0#4:
-3.0#7:
4.0#7:
5.0
精加工走刀路线描述
O0001
T0101M03S800
G00X33Z2快速定位至起刀点
X0 到达X向零点
#1=15 自变量初始化
WHILE[#1GE0]DO1 当自变量大于等于0执行DO1至END1循环
#2=10*SQRT[15*15-#1*#1]/15 因变量计算(椭圆方程)
G01X[2*#2] Z[#1-15]F0.1 直线插补方式到达目标点
#1=#1-0.3 到达目标点后自变量作递减计算
END1 如果自变量值小于0则循环到此结束执行下面程序
G01W-5
X28
W-15
X33
G00X100Z100
M30
O0002
T0101M03S800
G00X33Z2
G00X0
#1=0 自变量初始化为0°
(与Z轴的夹角)
WHILE[#1LE144]DO1 当夹角小于等于144°
执行循环
#2=14*SIN[#1] 因变量计算(X方向)
#3=20*COS[#1] 因变量计算(Z方向)
G01X[2*#2]Z[#3-20]F0.1 直线插补方式到达目标点
#1=#1+1 自变量递增1°
END1 当夹角大于144°
结束循环,程序往下执行
G01Z-40
……
#1=15.6 自变量初始化
WHILE[#1GE-15.6]DO1 当自变量大于等于-15.6执行循环
#2=16*SQRT[20*20-#1*#1]/20 因变量计算
G01X[2*#2]Z[#1-15.6]F0.1 插补方式到达目标点
#1=#1-0.4 自变量递减
END1 当自变量小于-15.6就跳出循环,程序往下执行
G01W-8
#1=44/2-8 Z向起点赋值
#2=10*SQRT[20*20-#1*#1]/20 计算X向起点坐标
G00X[2*[17.15-#2]] 快速定位至起点直径
#3=#1 自变量赋值
WHILE[#3GE-#1]DO1 当自变量大于等于-#1执行循环
#4=10*SQRT[20*20-#3*#3]/20 因变量计算
G01X[2*[17.15-#4]]Z[#3-22]F0.1 插补方式到达目标点
#3=#3-0.4 自变量递减
END1 当自变量小于-#1,跳出循环
G01W-8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)