宏程序编程
‘壹’ CNC宏程序如何编写
1.分析零件图
首先要分析零件的材料、形状、尺寸、精度、批量、毛坯形状和热处理要求等,以便确定该零件是否适合在数控机床上加工,或适合在哪种数控机床上加工。同时要明确加工的内容和要求。
2.工艺处理
在分析零件图的基础上,进行工艺分析,确定零件的加工方法(如采用的工夹具、装夹定位方法等)、加工路线(如对刀点、换刀点、进给路线)及切削用量(如主轴转速、进给速度和背吃刀量等)等工艺参数。数控加工工艺分析与处理是数控编程的前提和依据,而数控编程就是将数控加工工艺内容程序化。制定数控加工工艺时,要合理地选择加工方案,确定加工顺序、加工路线、装夹方式、刀具及切削参数等;同时还要考虑所用数控机床的指令功能,充分发挥机床的效能;尽量缩短加工路线,正确地选择对刀点、换刀点,减少换刀次数,并使数值计算方便;合理选取起刀点、切入点和切入方式,保证切入过程平稳;避免刀具与非加工面的干涉,保证加工过程安全可靠等。有关数控加工工艺方面的内容,我们将在第2章2.3节及2.4节中作详细介绍。
3.数值计算
根据零件图的几何尺寸、确定的工艺路线及设定的坐标系,计算零件粗、精加工运动的轨迹,得到刀位数据。对于形状比较简单的零件(如由直线和圆弧组成的零件)的轮廓加工,要计算出几何元素的起点、终点、圆弧的圆心、两几何元素的交点或切点的坐标值,如果数控装置无刀具补偿功能,还要计算刀具中心的运动轨迹坐标值。对于形状比较复杂的零件(如由非圆曲线、曲面组成的零件),需要用直线段或圆弧段逼近,根据加工精度的要求计算出节点坐标值,这种数值计算一般要用计算机来完成。有关数值计算的内容,我们将在第3章中详细介绍。
4.编写加工程序单
根据加工路线、切削用量、刀具号码、刀具补偿量、机床辅助动作及刀具运动轨迹,按照数控系统使用的指令代码和程序段的格式编写零件加工的程序单,并校核上述两个步骤的内容,纠正其中的错误。
5.制作控制介质
把编制好的程序单上的内容记录在控制介质上,作为数控装置的输入信息。通过程序的手工输入或通信传输送入数控系统。
6.程序校验与首件试切
编写的程序单和制备好的控制介质,必须经过校验和试切才能正式使用。校验的方法是直接将控制介质上的内容输入到数控系统中,让机床空运转,以检查机床的运动轨迹是否正确。在有CRT图形显示的数控机床上,用模拟刀具与工件切削过程的方法进行检验更为方便,但这些方法只能检验运动是否正确,不能检验被加工零件的加工精度。因此,要进行零件的首件试切。当发现有加工误差时,分析误差产生的原因,找出问题所在,加以修正,直至达到零件图纸的要求。
二数控编程的方法
数控编程一般分为手工编程和自动编程两种。
1.手工编程
手工编程就是从分析零件图样、确定加工工艺过程、数值计算、编写零件加工程序单、制作控制介质到程序校验都是人工完成。它要求编程人员不仅要熟悉数控指令及编程规则,而且还要具备数控加工工艺知识和数值计算能力。对于加工形状简单、计算量小、程序段数不多的零件,采用手工编程较容易,而且经济、及时。因此,在点位加工或直线与圆弧组成的轮廓加工中,手工编程仍广泛应用。对于形状复杂的零件,特别是具有非圆曲线、列表曲线及曲面组成的零件,用手工编程就有一定困难,出错的概率增大,有时甚至无法编出程序,必须用自动编程的方法编制程序。
2.自动编程
自动编程是利用计算机专用软件来编制数控加工程序。编程人员只需根据零件图样的要求,使用数控语言,由计算机自动地进行数值计算及后置处理,编写出零件加工程序单,加工程序通过直接通信的方式送入数控机床,指挥机床工作。自动编程使得一些计算繁琐、手工编程困难或无法编出的程序能够顺利地完成。
‘贰’ 如何才能学好宏程序
宏程序是数控的高级阶段,没有基础的数控知识,空谈怎么样学好宏程序,就如同盖空中楼阁一样,就是有基础的数控知识,如果没有相应的数学知识,简单的计算机编程知识,宏程序也做不好,根基不好,楼肯定盖不高,硬盖肯定要倒,基本道理如此,具体看个人的天分与勤奋。
数控编程中的变量按作用域可分为三类:局部变量、全局变量、系统变量。#1~#33是局部变量,局部变量只在本程序内起作用;#100~#199、#500~#599是全局变量,在所有程序中起作用;#1000以上的是系统变量,控制着机床运行的各种状态,不要轻易修改。
宏程序的作用
数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及精简程序量。
以上内容参考:网络-宏程序
‘叁’ 数控编程宏程序的指令
宏程序编程
一 变量
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100
G01 X#1 F300
说明:
变量的表示
计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。
例如:#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#1 Y#2的执行结果为G00X0。
双轨迹(双轨迹控制)的公共变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。
未定义的变量
当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。
引用
当引用一个未定义的变量时,地址本身也被忽略。
当#1=
当#1=0
G90 X100 Y#1
G90 X100
G90 X100 Y#1
G90 X100 Y0
(b) 运算
除了用赋值以外,其余情况下与0相同。
当#1=时
当#1=0时
#2=#1
#2=
#2=#1
#2=0
#2=#*5
#2=0
#2=#*5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
(c)条件表达式
EQ和NE中的不同于0。
当#1=时
当#1=0时
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制
程序号,顺序号和任选程序段跳转号不能使用变量。
例:下面情况不能使用变量:
0#1;
/#2G00X100.0;
N#3Y200.0;
二 算术和逻辑运算
下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。
说明:
角度单位
函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30'表示为90.5度。
ARCSIN # i= ASIN[#j]
(1)取值范围如下:
当参数(NO.6004#0)NAT位设为0时,270°~90°
当参数(NO.6004#0)NAT位设为1时,-90°~90°
(2)当#j超出-1到1的范围时,发出P/S报警NO.111.
(3)常数可替代变量#j
ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111. 常数可替代变量#j
三 程序举例
铣椭圆:
轨迹:
椭圆程序代码如下:
N10 G54 G90 G0 S1500 M03
N12 X0 Y0 Z20.
N14 G0 Z1
N16 G1 Z-5. F150.
N18 G41 D1
N20 #1=0
N22 #2=34
N24 #3=24
N26 #4=#2*COS[#1]
N28 #5=#3*SIN[#1]
N30 #10=#4*COS[45]-#5*SIN[45]
N32 #11=#4*SIN[45]+#5*COS[45]
N34 G1 X#10 Y#11
N36 #1=#1+1
N38 IF [#1 LT 370] GOTO26
N40 G40 G1 X0 Y0
N42 G0 Z100
N44 M30
铣矩形槽:
铣矩形槽代码如下:
#102=0.
N3#100=0.
#101=0.
#103=200.
#104=400.
G91G28Z0.
G0G90G54X0.Y0.
G43H1Z20.
M3S2000.
N4G0X#100Y#101
G01Z#102F200.
#102=#102-2.
IF[#102EQ-50.]GOTO1
GOTO2
N2
N4X#104F500.
Y#103
X#100
Y#101
#100=#100+10.
#101=#101+10.
#103=#103-10.
#104=#104-10.
IF[#100EQ100.]GOTO3
GOTO4
N3
N1
M5
M9
G91G28Z0.
G28Y0.
M30
铣倾斜3度的面:
轨迹:
铣倾斜3度的面的代码如下:
O0001
#[#1+1*2]=1
G65P9012L1A0B0.1C4I100J3K0
M30
宏程序O9012代码如下:
G54 G90 G00 X[#3] Y0 Z100
S500 M3
G01 Z0 F300
WHILE[#1LE10]DO1
#7= #1/TAN[#5]+#3
G1Z-#1 X#7
#8=#6/2-ROUND[#6/2]
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10 Y#4
N20#1=#1+#2
#6=#6+1
END1
G0
Z100
铣半球:
轨迹:
铣半球代码如下:
G90G0G54X-10.Y0M3S4500
G43Z50.H1M8
#1=0.5
WHILE[#1LE50.]DO1
#2=50.-#1
#3=SQRT[2500.-[#2*#2]]
G1Z-#1F20
X-#3F500
G2I#3
#1=#1+0.5
END1
G0Z50.M5
M30
铣喇叭:
铣喇叭代码如下:
M03 S500
M06 T01
#1=0
#2=0
G0 Z15
X150 Y0
N11
#2=30*SIN[#1]
#3=30+30*[1-COS[#1]]
G01 Z-#2 F40
G41 X#3 D01
G03 I-#3
G40 G01 X150 Y0
#1=#1+1
IF [#1 LE 90] GOTO 11
G0 Z30
M30
‘肆’ 什么是宏程序怎么样编程
蓝色文本是一款幽雅别致的文本文件编辑软件。
功能介绍:
1.语法着色,和决大数程序编辑软件一样,有语法作色功能,如HTML和ASP脚本的....等等
2.支持自定义语法着色的颜色
3.支持模板和自定义模板
4.书签功能,让你快速定位行和列
5.支持直接打开网站
6.凯博宏程序的调试功能1.1版本中新增加
7.KBMacro技术的全面使用(二次开发).....(尽在使用中)
8.宏(KBMacro)是一门我公司自主产权的一门编程语言,语法和Delphi极其相似,类和对象的使用方法和Delphi一样。现在以全面加入BlueEdit中,可以使用BlueEdit直接调试KBMacro程序。
9.新增加插件功能(带插件:BlueRTF,SetValue
‘伍’ 怎样编写宏程式
宏的结构很简单,if判断,然后then执行。单纯的执行命令,例如/script UseAction(x)
相当于在任何情况下都执行。
‘陆’ 加工中心宏程序编程
END-100T
FANUC OI
MAZATROL FUSION 640
华中世纪星
SYNTEC
MITSUBISHI YHCNC EZMotion-NC E60
宝元科技
‘柒’ 数控编程宏程序中#1#2……是什么意思
宏程序中的代号,他好比我们小学学的X。
举个例子,当X=2时,那么5+X就等于7。
如果用户在程序中写上#1=5,那么下一段只要读到#1系统就知道是5了。
如果下面有一行程序为G0X[#1+2]Z30,那么系统就会把刀具走刀X是7的位置,Z走刀30的位置
如果在指令#1=#1-1的话那么系统每读到#1的时候都会在上一个#1的数据减掉1毫米。这就是它的作用,也就是不单单表示一个数据,它还能运用计算来完成一些编程比较麻烦的环境中。
(7)宏程序编程扩展阅读:
优点
1、可以编写一些非圆曲线,如宏程序编写椭圆,双曲线,抛物线等。
2、编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。
A类宏程序
1、变量的定义和替换 #i=#j
编程格式 G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005; (#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2、加法 #i=#j+#k
编程格式 G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3、减法 #i=#j-#k
编程格式 G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
‘捌’ 宏程序的编程方法及计算细节
cimatron编程时应该注意的问题大概说就是不能弹刀,跳刀,而产生的过切。参数设置好。要铣的尽量铣到位,电火花就例外了。1. 白钢刀转速不可太快。 2. 铜工开粗少用白钢刀,多用飞刀或合金刀。 3. 工件太高时,应分层用不同长度的刀开粗。 4. 用大刀开粗后,应用小刀再清除余料,保证余量一致才光刀。 5. 平面应用平底刀加工,少用球刀加工,以减少加工时间。 6. 铜工清角时,先检查角上R大小,再确定用多大的球刀。 7. 校表平面四边角要锣平。 8. 凡斜度是整数的,应用斜度刀加工,比如管位。 9. 做每一道工序前,想清楚前一道工序加工后所剩的余量, 以避免空刀或加工过多而弹刀。 10. 尽量走简单的刀路,如外形、挖槽,单面,少走环绕等高。 11. 走WCUT时,能走FINISH 的,就不要走ROUGH 。 12. 外形光刀时,先粗光,再精光,工件太高时,先光边,再光底。 13. 合理设置公差,以平衡加工精度和电脑计算时间。开粗时,公差设为余量 的1/5,光刀时,公差设为0.01。 14. 做多一点工序,减少空刀时间。 做多一点思考,减少出错机会。 做多一点辅助线辅助面,改善加工状况。 15. 树立责任感,仔细检查每个参数,避免返工。 16. 勤于学习,善于思考,不断进步。 1.首先考虑的是加工工艺。依据主要是工件的外型,材质,硬度,现有的加工条件包括机床,刀具等。 2.根据工件的外型特征编辑程序。开粗时首先考虑用什么样的刀路来加工,然后确定加工参数。精加工的时候要根据曲面的具体形状利用走刀,以利于工件的外观。 3.编辑刀具路径。对于不合理的下刀方式,连接方式进行调整,调整不了的要剪裁掉。