华中数控宏程序全套教程ddfw.docx





《华中数控宏程序全套教程ddfw.docx》由会员分享,可在线阅读,更多相关《华中数控宏程序全套教程ddfw.docx(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华中数数控宏全全套教程程目录序1一什么么是宏程程序?11二用宏宏程编程程有什么么好处?1一宏变变量及宏宏常量111宏变变量12局部部变量223全局局变量224系统统变量335常量量3二运算算符与表表达式331算术术运算符符32条件件运算符符33逻辑辑运算符符34函数数45表达达式与括括号46运算算符的优优先级447赋值值号 =48注释释4三程序序流程控控制51条件件分支IIF52条件件循环WWHILLE6四子程程序及参参数递传传71普通通子程序序72宏子子程序773全局局变量传传参数774局部部变量传传参数885系列列零件加加工96高级级参考110五宏编编程实例例121数车车编程112(1)函
2、函数曲线线加工通通用宏程程序122(2)抛抛物线车车削112(3)抛抛物线车车削212(4)抛抛物线车车削313(5)抛抛物线车车削413(6)抛抛物线车车削5(G711与宏程程序)114(7)抛抛物线车车削614(8)正正弦线车车削155(9)抛抛物线与与椭圆车车削155(10)椭椭圆粗、精精车削116(11)用用子程序序完成粗粗、精加加工166(12)变变螺距螺螺纹1882数铣铣编程118(1)直直线段逼逼近整园园的宏程程序188(2)螺螺旋线走走刀199(3)来来回铣削削的方法法19(4)铣铣平面220(5)铣铣斜面220(6)铣铣半圆柱柱21(7)铣铣半球222(8)多多次旋转转的宏编
3、编程233(9)切切圆台与与斜方台台24(10)铣铣椭圆224(11)铣铣孔255(12)倒倒圆角加加工255(14)抛抛物斜边边岛屿加加工277(15)凹凹球曲面面加工228(16)螺螺纹镗刀刀铣螺纹纹29(17)圆圆柱300(18)直直斜边岛岛屿加工工30(19)圆圆弧斜边边岛屿加加工311(20)椭椭球面加加工的宏宏程序实实例311(21)自自定义GG指令322附件3221华中中数控指指令一览览322固定定循环指指令的宏宏程序实实现322G73332G74333G76334G81335G82336G83337G84338G85339G86440G87441G88442G894442华中中
4、数控系系统系统统变量一一览455(1)子子程序嵌嵌套局部部变量445(2)刀刀具相关关系统变变量455(3)坐坐标相关关系统变变量:445(4)参参考点相相关系统统变量445(5)系系统状态态变量4463数学学知识446序一什么么是宏程程序?什么是数数控加工工宏程序序?简单单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点:1使用用了变量量或表达式式(计算能能力),例如如:(1)GG01 X33+5 ;有有表达式式3+55(2)GG00 X4 F#1 ;有有变量#1(3)GG01 Y550*SSIN3 ;有有函数运运算2使用用了程序序流程控控制(决策能能力),例如如:(
5、1)IIF #3 GGE 99 ;有有选择执执行命令令ENDIIF(2)WWHILLE #1 LLT #4*55 ;有有条件循循环命令令ENDWW二用宏宏程编程程有什么么好处?1宏程程序引入入了变量量和表达达式,还还有函数数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等;2宏程程序可以以完成图图形一样样,尺寸寸不同的的系列零零件加工工;3宏程程序可以以完成工工艺路径径一样,位位置不同同的系列列零件加加工;4宏程程序具有有一定决策策能力,能能根据条条件选择择性地执执行某些些部分;5使用用宏程序序能极大大地简化化编程,精精简程序序。适合合于复杂杂零件加加工的编
6、编程。一宏变变量及宏宏常量1宏变变量先看一段段简单的的程序:G00 X255.0上面的程程序在XX轴作一一个快速速定位。其其中数据据25.0是固固定的,引引入变量量后可以以写成:#1=225.00 ;#1是一一个变量量G00 X#1 ;#1就是是一个变变量宏程序中中,用“#”号后面面紧跟114位位数字表表示一个个变量,如如#1,#50,#1011,。变量量有什么么用呢?变量可可以用来来代替程程序中的的数据,如如尺寸、刀刀补号、GG指令编编号,变量量的使用用,给程程序的设设计带来来了极大大的灵活活性。使用变量量前,变变量必需需带有正正确的值值。如#1=225G01 X#1 ;表示GG01 X25
7、5 #1=-10 ;运行过过程中可可以随时时改变#1的值值G01 X#1;表示GG01 X-110用变量不不仅可以以表示坐坐标,还还可以表表示G、MM、F、DD、H、MM、X、YY、等各种种代码后后的数字字。如:#2=33G#22 XX30 ;表示示G033 X330例1 使用了了变量的的宏子程序。%10000#50=20 ;先给变变量赋值值M98 P10001 ;然后调调用子程程序#50=3500 ;重新赋赋值M98 P10001 ;再调用用子程序序M30%10001 G91 G011 X#500;同样一一段程序序,#550的值值不同,XX移动的的距离就就不同M992局部部变量编号#00 #
8、449的变变量是局局部变量量。局部部变量的的作用范范围是当当前程序序(在同同一个程程序号内内)。如果在主程序序或不同同子程序里里,出现现了相同同名称(编编号)的的变量,它们不不会相互互干扰,值也可以不同。例%1000N10 #3=30 ;主程序序中#33为300M98 P1001 ;进入子程程序后#3不受受影响#4=#3 ;#3仍仍为300,所以以#4=30M30%1011#4=#3 ;这里的的#3不不是主程程序中的的#3,所所以#33=0(没没定义),则:#4=0#3=118 ;这里使#3的值值为188,不会影响主主程序中中的#33M993全局局变量编号#550 #1999的变量量是全局局变
9、量(注注:其中中#1000#1999也是刀刀补变量量)。全全局变量量的作用用范围是是整个零件程程序。不管是是主程序序还是子子程序,只只要名称称(编号)相同就就是同一一个变量量,带有有相同的的值,在在某个地方方修改它它的值,所所有其它地方都都受影响响。例%1000N10 #500=300 ;先使使#50为330M98 P1001 ;进入子程程序#4=#50;#50变变为18,所所以#44=188M30%1011#4=#50 ;#550的值值在子程程序里也也有效,所所以#44=300#50=18 ;这这里使#50=18,然然后返回回M99为什么要要把变量量分为局局部变量量和全局局变量?如果只只有全
10、局局变量,由由变量名名不能重重复,就就可能造造成变量量名不够够用;全全局变量量在任何何地方都都可以改改变它的的值,这这是它的的优点,也也是它的的缺点。说说是优点点,是因因为参数数传递很很方便;说是缺缺点,是是因为当当一个程程序较复复杂的时时候,一一不小心心就可能能在某个个地用了了相同的的变量名名或者改改变了它它的值,造造成程序序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候候用全局局变量?什什么时候候用局部部变量?在一般般情况下下,你应应优先考考虑选用用局部变变量。局部变变量在不不同的子子程序里里,可以以重复使使用,不不会互相相干扰
11、。如果一个数据在主程序和子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。刀补变量量(#1000#1999)。这这些变量量里存放放的数据据可以作作为刀具具半径或或长度补补偿值来来使用。如如#1000=8G41 D1000 ;D1000就是是指加载载#1000的值值8作为刀刀补半径径。注意:上面的程程序中,如如果把DD1000写成了了D#1000,则相相当于DD8,即即调用88号刀补补,而不不是补偿偿量为88。4系统统变量#3000以上的的变量是是系统变变量。系系统变量量是具有有特殊意意义的变变量,它它们是数数控系统统内部定定义好了了的,你不
12、可可以改变变它们的的用途。系统变量是全局变量,使用时可以直接调用。#0#5999是可读读写的,#6000以上的的变量是是只读的的,不能能直接修修改。其中,#3000 #5999是子子程序局局部变量量缓存区区。这些些变量在在一般情情况下,不不用关心心它的存存在,也也不推荐荐你去使使用它们们。要注注意同一一个子程程序,被被调用的的层级不不同时,对对应的系系统变量量也是不同同的。#6000#8899是是与刀具具相关系系统变量量。#110000#110399坐标相相关系统统变量。#10440#11443参考考点相关关系统变变量。#11444#11994系统统状态相相关系统统变量。(详详见:2华中中数控
13、系系统系统统变量一一览)有时候需需要判断断系统的的某个状状态,以以便程序序作相应应的处理理,就要要用到系系统变量量。5常量量PI 表表示圆周周率, TRUUE 条条件成立立(真), FAALSEE 条件件不成立立(假)。二运算算符与表表达式1算术术运算符符加 + , 减 -, 乘*, 除除 /2条件件运算符符宏程序运运算符EQ(eequaal)NE(nnot equual)GT(ggreaaterr thhan)GELT(llesss thhan)LE数学意义义条件运算算符用在在程序流流程控制制IF和和WHIILE的的条件表表达式中中,作为为判断两两个表达达式大小小关系的的连接符符。注意:宏宏
14、程序条条件运算算符与计计算机编编程语言言的条件运算算符表达达习惯不同。3逻辑辑运算符符在IF或或WHIILE语语句中,如如果有多多个条件件,用逻逻辑运算算符来连连接多个个条件。AND(且)多个条件件同时成成立才成成立OR(或或) 多个条件件只要有有一个成成立即可可NOT(非) 取反(如如果不是是)例#1 LLT 550 AAND #1GGT 220 表示示:#120#3 EEQ 88 ORR #44 LEE 100 表示:#3=8或者#410有多个逻逻辑运算算符时,可可以用方方括号来来表示结结合顺序序,如:NOT#1 LT 50 ANDD #11GT 20表示示:如果果不是“#120”更复杂的
15、的例子,如如:#1 LT 50 ANDD #2GTT 200 ORR #33 EQQ 8 ANND #4 LLE 1104函数数正弦:SSINa余余弦:CCOSa 正切:TANNa 注:a为角角度,单单位是弧弧度值。反正切:ATAANaa (返回:度,范范围:-90900)反正切:ATAAN2a/b(返回:度,范范围:-18001180)(注:华中数数控暂不不支持)绝对值:ABSSa,表示示|a|取整:IINTa,采用去尾尾取整,非非“四舍五五入”取符号:SIGGNaa,a为正数数返回11,0返返回0,负负数返回回-1开平方:SQRRTaa ,表表示a指数:EEXPa,表表示ea5表达达式与括
16、括号包含运算算符或函函数的算算式就是是表达式式。表达达式里用方括括号来表表示运算算顺序。宏程序序中不用用圆括号号,因圆圆括号是是注释符符。例如1775/SSQRTT2 * COSS555 * PI/1800 #3*66 GTT 1446运算算符的优优先级方括号 函数 乘除除 加减减 条件件 逻辑辑技巧:常常用方括括号来控控制运算算顺序,更更容易阅阅读和理理解。7赋值值号 =把常数或或表达式式的值送送给一个个宏变量量称为赋赋值,格格式如下下:宏变量 =常数或或表达式式例如#22 = 1755/SQQRT2 * CCOS55 * PPI/1180 #3 = 1224.00#50 = #3+112特
17、别注意意,赋值值号后面面的表达达式里可可以包含含变量自自身,如如:#1 = #11+4;此式表表示把#1的值值与4相相加,结结果赋给给#1。这不是是数学中中的方程程或等式式,如果果#1的的值是22,执行行#1 = #1+44后,#1的值值变为66。8注释释写在半角角分号“;”后面的的内容都都是注释释。注释释也可以以写在一一对圆括括号里面面。注释释是用来来对程序序进行说说明的,帮帮助程序序阅读理理解。如;主程序序T01001 ;换换刀(精加工工,留精精车余量量0.55)三程序序流程控控制程序流程程控制形形式有许许多种,都都是通过过判断某某个“条件”是否成成立来决决定程序序走向的的。所谓谓“条件”
18、,通常是是对变量或或变量表表达式的的值进行行大小判判断的式式子,称称为“条件表表达式”。华中数数控系统统有两种种流程控控制命令令:IFFENNDIFF,WHHILEEENNDW。1条件件分支IFF需要选择择性地执执行程序序,就要要用IFF命令。格式1:(条件件成立则则执行)IF条件件表达式式 条件件成立执执行的语语句组ENDIIF功能:条件成立立执行IIF与EENDIIF之间间的程序序,不成成立就跳跳过。其其中IFF、ENNDIFF称为关关键词,不不区分大大小写。IF为开始标识,ENDIF为结束标识。IF语句的执行流程如图1所示。例:IF #1 EEQ 110;如如果#11=100 M999
19、;成立立则,执执行此句句(子程程返回)ENDIIF ;条件件不成立立,跳到到此句后面面例:IF #1 LT 10 ANDD #11 GTT 0;如果#10G01 x200 ;成立立则执行行Y15ENDIIF ;条件件不成立立,跳到到此句后面面格式2:(二选一一,选择择执行)形式:IF条件件表达式式条件成立立执行的的语句组组ELSEE条件不成成立执行行的语句句组ENDIIF例:IF #51 LT 20 G991G001 XX10FF2500ELSEE G991G001X335F2200ENDIIF功能:条件成立立执行IIF与EELSEE之间的的程序,不不成立就就执行EELSEE与ENNDIFF之
20、间的的程序。IF语句的执行流程如图1所示。2条件件循环WHHILEE格式:WHILLE条件件表达式式条件成立立循环执行行的语句句ENDWW功能:条件成立立执行WWHILLE与EENDWW之间的的程序,然然后返回回到WHHILEE再次判判断条件件,直到到条件不不成立才才跳到EENDWW后面。WHILE语句的执行流程如图 1 所示。例: #2=330WHILLE #2 GGT 00 ;如果#200 G911G011X100 ;成立就就执行 #2=#2-3 ;修改变变量,ENDWW ;返回G90 G000 z550 ;不成立立跳到这这里执行行WHILLE中必必须有“修改条条件变量量”的语句句,使得得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中 数控 程序 全套 教程 ddfw

限制150内