我们眼看到的动作:T01 M06 ,先选刀再换刀,如果01号刀在换刀位置,那么刀库不转,换刀机构直接开始执行动作。如果01号刀不在换刀位置,刀库按最近方向旋转,使该刀转到换刀位置,执行换刀(宏程序)。这行的结果是使01号被换到主轴上,也就是你想用来加工的那个。M06是靠一个宏程序支持的,一般是O9001,这个程序你是看不到的,机床厂都会通过设置参数将其隐藏,以防误删除或误编程。
M06T01,反过来了,直接换刀,当前在换刀位置的那把刀被换到了主轴上,完成后刀库再把01号刀转到换刀位置。
再看系统内部的运算吧,你可以试着多了解些。
T01指令是选刀闭没中指令,系统执行到这时,选刀信号察升激活,当前换刀位置的刀号会和01号比较,从而确定刀库的转向以及转多少。转到位后执行一到位信号,告诉系统OK了,可以继续。
M06是换刀指令。换刀信号激活,主轴准停,z向定位,换刀机构开始执行一连串的动作。控制还是挺复杂的。所以刀库和换刀装置对数控行业来说是一次不小的进步。
数控车床宏程序是非常灵活且因情况而异的,所以数控车床宏程序编程掌握以下参数即可:
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的 *** 作改变。
例如:#1=#2+100;G01X#1F300。
量的表示:计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1,表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。例如:#[#1+#2-12]。
变量根据变量号可以分成四种类型:#0空变量,该变量总是空,没有值能赋给该变量。#1-#33局部变量,局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空早竖。调用宏程序时,自变量对局部变量赋值。
#100-#199、#500-#999公共变量,公共变量在不同的宏程序中的意义相同。当断电时,变量#100-#199初始化为空。变量#500-#999的数据保存,即使断电也不丢失。#1000---系统变量。系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置,补偿值。
局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047,如果计算结果超出有效范围,则发出P/S报警NO.111。
当在程序中定兆咐义变量值时,小数点可以省略。例:当定义#1=123;变量#1的实际值是123.000。
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3;
被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。例如:当变族睁纯量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0。
扩展资料:
数控宏程序编程是用变量的方式进行数控编程的方法,数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。
不论是A类还B类宏程序,它们运行的效果都是一样的。
编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。
参考资料:百度百科-数控宏程序
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)