当前位置:文档之家› 补充 加工中心(MC)编程_用户宏程序

补充 加工中心(MC)编程_用户宏程序


192
变量的引用
为在程序中使用变量值,指定后跟变量号的地址。当用 表达式指定变量时,要把表达式放在括号中。 例如: G01 X[#1+#2] F#3 被引用变量的值根据地址的最小设定单位自动地舍入。 例如: 当G00 X#1; 以0.001mm 的单位执行时,若 #1= 12.3456 , 则实际指令值为G00 X12.346; 改变引用变量的值的符号要把负号放在#的前面 例如:G00 X- #1 当引用未定义的变量时,变量及地址字都被忽略。 例如: 当变量#1的值是0 ,并且变量#2的值是空时, 193 G00 X#1 Y#2;的执行结果为G00 X0;
2 2


H 代码 H31 H32 H33 H34
功 正弦 余弦 正切 反正切



赋值、置换
#i=#j * SIN(#k) #i=#j * COS(#k) #i=#j * TAN(#k) #i=ATAN(#j / #k)
H80 H81 H82 H83 H84 H85 H86 H99
无条件转移 条件转移 1 条件转移 2 条件转移 3 条件转移 4 条件转移 5 条件转移 6 产生 P/S 错误
局 部 变 量
先来看个例子
187
变量
普通加工程序直接用数值指定G代码和移动距离, 例如:G01和X100.0 使用用户宏程序时数值可以直接指定或用变量指 定,当用变量时变量值可用程序或用MDI面板上 的操作改变。 例如: #1=#2+100; G01 X#1 F300;
188
变量的表示
计算机允许使用变量名,而用户宏程序则不 行。 用户宏程序变量用变量符号:# 和后面的变 量号指定。 例如:#1 表达式:表达式可以用于指定变量号。此时, 表达式必须封闭在括号中。 例如:#[#1+#2-12]
181
表1 FANUC-3MA系统的宏指令功能定义 - 系统的宏指令功能定义
H 代码 H01 H02 H03 H04 H05 H11 H12 H13 H21 H22 H23 H24 H25 H26 H27 功 加法 减法 乘法 除法 逻辑或 逻辑与 逻辑异或 平方根 绝对值 取余数 十—二进制 二—十进制 复合乘法 复合平方根 能 #i=#j #i=#j + #k #i=#j-#k #i=#j×#k #i=#j ÷ #k #i=#j .OR. #k #i=#j .AND. #k #i=#j .XOR. #k #i= #j #I= | #j | #i=#j - trunc(#j / #k) x #k trunc( )取整,小数部分舍去 #i=BIN(#j) #i=BCD(#j) #i=(#I x #j) ÷ #k #i= #j + #k
184
Y Y
((X,, Yi) X ii Y i)
rr
θi
θi
α α
(Xo , Y0o ) ( X0, Y)
共n 个孔 共n个个
X X O O
360 × i α+ = θαi =+ 3 6 0 n i θ i 第i个孔 X i= X 0+rncos(θi ) 第 i个孔 X i= Yi =Y0+Cosin(θi) ) X O + r r s( θ i Y i = Y O + r S in ( θ i )
205
循环环(WHILE 语 句)
在WHILE 后指定一个条件表达式。当指定条件 满足时,执行从DO 到END之间的程序;否则转 到END后的程序段。
206
嵌套
207
208
说明
无限循环——当指定DO ,而没有指定WHILE 语句 时,产生从DO 到END 的无限循环。 处理时间——当在GOTO 语句中有标号转移的语句 时,进行顺序号检索反向检索的时间要比正向检索 长,用WHILE语句实现循环可减少处理时间。 未定义的变量——在使用EQ 或NE 的条件表达式 中<空>和零有不同的效果。在其它形式的条件表达 式中<空>被当作零。
202
IF[<条件表达式>]THEN
如果条件表达式满足,执行预先决定的宏程序语句,只 执行一个宏程序语句。 条件表达式必须包括算符。算符插在两个变量中间或变 量和常数中间,并且用括号[ ] 封闭。 表达式可以替代变量。 例如:
203
运算符
运算符由2 个字母组成,用于两个值的比较以决 定它们是相等,还是一个值小于或大于另一个值。 注意,不能使用不等号。
2
各种数控系统的宏程序格式和用法均有所不同。 各种数控系统的宏程序格式和用法均有所不同。 宏程序格式 均有所不同 FANUC-3MA数控系统是使用 - 数控系统是使用#100、#101...等来规定 数控系统是使用 、 等来规定 变量名, 指令按一定的格式来设置变量和赋值。 变量名,用G65指令按一定的格式来设置变量和赋值。 指令按一定的格式来设置变量和赋值 HCNC-1M数控系统也是使用 、#1、...、#1199等作 - 数控系统也是使用 数控系统也是使用#0、 、 、 等作 变量名,直接用 等形式设定变量和赋值。 变量名,直接用#1=...、#2=...等形式设定变量和赋值。 、 等形式设定变量和赋值 在一个程序中,宏指令和 系统指令可混合使用, 系统指令可混合使用 在一个程序中,宏指令和NC系统指令可混合使用, 主、子程序的调用关系基本上还是和前面介绍的一样, 子程序的调用关系基本上还是和前面介绍的一样, 的调用关系基本上还是和前面介绍的一样 指令进行。 用M98、M99指令进行。 、 指令进行
主 要 函 数 SIN—正弦 TAN—正切 COS—余弦 ATAN—反正切 INT—取整
比较符 = —EQ ≠ —NE IF
条件判断语句格式 条件表达式
循环语句格式 WHILE 条件表达式
. . . (满足条件时执行的程序行)
. . . (满足条件时执行的 程序行) ... ENDW
ABS—求绝对值
> —GT ELSE <—LT ≤—LE
SIGN—取符号 SQRT—求平方根 ≥ —GE . . . (不满足条件时执行的程序行) EXP—指数函数 ... ENDIF
183
T-600M与HCNC-1M数控系统的宏指令基本上就和高级 语言(如FOXBASE、BASIC等)一样直接采用数学表达式的形式, 比较直观、容易理解。例如,在HCNC-1M系统中可直接使用 如下表达式进行赋值: #2 = 175 / SQRT[2] * COS[ 55 * PI / 180 ] #3 = 150.0等。 在图4-27所示零件上需要钻6个均匀分布的孔,而且孔口要 刮平。分别采用FANUC-3MA、HCNC-1M、T-600M系统宏 指令编程,变量定义见表4-8。
加工中心( 加工中心(MC)编程 )
1
1. 综合加工技术
1.1 用户宏指令编程 宏指令编程是指像高级语言一样,可以使用变量进行算术 运算(+、-、*、/)、逻辑运算(AND、OR、NOT)和函数(SIN、 COS等)混合运算的程序编写形式。在宏程序形式中,一般都提 供循环、判断、分支和子程序调用的方法,可用于编制各种复 杂的零件加工程序。当不具备自动编程辅助手段,数控系统的 指令功能有限,但却提供宏程序功能时,熟练应用宏程序指令 进行编程,可以显著地增强机床的加工能力,同时可精简程序 量。
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
φ2 φ
0 2 0 00
图4-27 宏指令编程图例
185
表3 宏变量定义
变 量 定 义 HCNC-1M 圆形坯料圆心点的 X 坐标 X0 圆形坯料圆心点的 Y 坐标 Y0 半径(r) 初始角(α) 总孔数(n),逆 + 顺? #50 #51 #52 #53 #54 #0 #1 #2 #3 #4 变 量 名 T-600M V50 V51 V52 V53 V54 V10 V11 V12 V13 V14
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
189
变量的类型
变量根据变量号可以分成4种类型
190
变量值的范围
局部变量和公共变量可以有0值,或下面范围 中的值 -10E47到-10E-29 或 10E-29到10E47 如果计算结果超出有效范围则发出P/S报警 No.111
191
小数点的省略
当在程序中定义变量值时,小数点可以省略. 例:当定义#1=123 ,变量#1的实际值是 : #1=123 , #1 123.000
56
57
58
59
60
61
62
63
64
65
66
67
68
69
相关主题