发那科系统的加工中心该怎样编写宏程序?能否举一个简单的例子!~需要改参数吗!越详细越好!~~先谢谢了!

发那科系统的加工中心该怎样编写宏程序?能否举一个简单的例子!~需要改参数吗!越详细越好!~~先谢谢了!,第1张

1、例如加工一个长半轴30,短半轴20一个椭圆,椭圆不是圆弧,所以我们不能用圆弧的方式来加椭圆,这里我们用一小段一小段的直线来拼接这个椭圆。

2、椭圆的基本公式为x^2/a^2+y^2/b^2=1 (a>b>0)  焦点在X上这是车床上用的方程。a乘以cosx=x   b乘以sinx=y这是CNC加工中心用的角度公式。

#号在机床编程中也是一种编程语言

3、一般我们将它分为两类可变量不可变量,就是说有些#号代表的意思是会变化的,一般用字母来替代条件字符 EQ等于  NE不等于  GT 大于 GE 大于或等于    LT小于  LE小于或等于  。

拿上面的例题来进行讲解!编写宏程序如下:

1、O0001   程序

T01 M6 换一号刀具

G90 G54 G00 X0 Y0 M03S3000  快速定位 主轴旋转

G43 Z100 H01 建立长度补偿

Z10 M08 打开冷却液

G00X70Y0

G01 Z-5 F200 下刀Z方向

#1=30长半轴

#2=20短半轴

#3=0起始角度

#4=360 终止角度

#5=1角度增量 数值越小精度越高

WHILE[#3LE#4]DO1

#6=#1*COS[#3]

#7=#2*sin[#3]

G01 X[#6]  Y[#7]

#3=#3+#5

END1

2、WHILE---DON 

------

---

ENDN

这是一个固定循环格式只要括号中条件满足,它就会无限的循环反之条件不满足循环会被自动结束。

3、建议在学习的时候,最好下载一个仿真软件这样有助你,快速的学会并使用,建议使用斯沃仿真。VERICUT是仿真当中最为强悍的,不适合新手,当然你如果有这方面的经验可以更好的学习VERICUT。

现成的 用12的球头刀

圆柱上面 有个半球

编写:

主程序

O123

90G80G49G40

G0G90G54X40Y0S1600M3

G43H1Z100M8

Z10

G1Z0F300

M98P110L15

G90G1Z20F500

G1X40Y0

M98P210

G91G28Z0

M5

G91G28Y0

M30

子程序 一 先加工 圆柱 30个深度

O110

G91Z-2F500

G90G41G1X28D1

G2X28I-28

G01X40Y0

M99

子程序二 加工半球

O210

#24=28

#26=-20

#1=20

#2=0

#18=20

N29G1Z#26

X#24

G2X#24Y0I-#24

#2=#2+0.1

#1=SQRT[#18*#18-#2*#2]

#24=#1+8

#26=-20+#2

IF[#26LE0]GOTO29

G1Z20

G01X0Y40

M99

一、非圆曲面类的宏程序的编程技巧

1、非圆曲面可以分为两类;

(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如抛物线、椭圆、双曲线、渐开线、摆线等。

这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根据机床系统的运算速度无限地缩小节点的间距,提高逼近精度。

(2)、列表曲面,其轮廓外形由实验方法得来。如飞机机翼、汽车的外形由风洞实验得来。是用一系列空间离散点表示曲线或曲面。这些离散点没有严格一定的连接规律。而在加工中则要求曲线能平滑的通过各坐标点,并规定了加工精度。加工列表曲线的方法很多,可以采用计算机辅助编程,利用离散点形成曲面模型,再生成加工轨迹和加工程序。对于一些老机床或无法传送数据的机床,我们也可以将轮廓曲线按曲率变化分成几段,每段分别求出插值方程。采用宏程序加密逼近曲线的方法。

2、非圆曲面类的宏程序的编程的要点有:

建立数学模型和循环体

(1)、数学模型是产生刀具轨迹节点的一组运算赋值语句。它可以计算出曲面上每一点的坐标。它主要从描述其零件轮廓的曲面的方程转化而来。

(2)、循环体是由一组或几组循环指令和对应的加法器组成。它的作用是将一组节点顺序连接成刀具轨迹,再依次加工成曲面。

数控车床宏程序是非常灵活且因情况而异的,所以数控车床宏程序编程掌握以下参数即可:

普通加工程序直接用数值指定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类宏程序,它们运行的效果都是一样的。

编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。

参考资料:百度百科-数控宏程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12208423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存