ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:22.86KB ,
资源ID:7188745      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7188745.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控宏程序基础Word下载.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

数控宏程序基础Word下载.docx

1、H05 除法 #i#j?H80 无条件转移 转向N H81 条件转移1 IF #j#k,GOTO N G65 H82 条件转移2 IF #j?#k,GOTO N G65 H83 条件转移3 IF #j#k,GOTO N G65 H84 条件转移4 IF #j#k,GOTO N G65 H85 条件转移5 H86 条件转移6 H99 产生P/S报警 产生500+1号P/S报警 除此以外,G65指令还可以实现逻辑运算、开平方、取绝对值、三角运算及复合运算等,相关指令见有关书籍,这里不一一介绍。需要指出的是,不同的数控系统,其功能的多少也不一样,用户可参考有关系统的说明书。B类宏程序由控制语句,调用

2、语句所组成。宏程序可以与主程序做在一起,也可以单独做成一个子程序,然后用G65指令调用。调用方法如下:G65 P(程序号)引数赋值或G65 P(程序号) L(循环次数)引数赋值 所谓引数赋值,是指用A、B、C、D等地址给变量#1、#2、#3、#4等赋值。B类宏程序的控制指令有三类,与C语言等高级程序设计语言的控制指令很类似。一类是IF语句,格式为:IF条件式GOTO n (n即顺序号) 条件式成立时,从顺序号为n的程序段往下执行,条件式不成立时,执行下一下程序段;第二类是WHILE语句,格式为:WHILE条件式 DO m END m 条件式成立时,从DO m的程序段到END m的程序段重复执行

3、,条件式不成立时,则从END m的下一程序段执行。第三类是无条件转移指令,格式为:GOTO n。三、运用流程图编写用户宏程序的一般步骤 运用流程图编写用户宏程序的一般步骤为:一分析零件结构,确定宏程序加工的内容,找出加工工艺路线的律;二将零件加工路线规律用流程图表达出来,并进一步分清楚哪些是程序编制过程中的变量,哪些是常量,从而将一般的流程变成程序流程图;三根据程序流程图,编写零件的加工程序。四、应用举例 (一)宏程序应用实例一 如图1所示,在一根轴上加工N个槽,每个槽的宽度为a1,槽的间距为a2,槽底直径为b1,棒料直径b2,并且设所给材料足够长,试编写程序加工该零件,现有一零件参数为N10

4、0个槽,槽底直径b130mm,槽宽a15mm,工件直径b240mm,间隔a22mm,刀宽3mm,现编写程序加工。图1 1零件工艺过程分析 该零件是一个比较简单的例子,在压面机械上用得较多。零件的精度要求不高,为了使程序有更广泛的适应性,将宏程序做成一个子程序,用主程序来调用实现零件的加工。加工时将坐标原点选择在如图所示的位置,X轴离第一个槽的距离为一个间距a2的距离。零件的加工过程如下将:将刀具移至加工起点?进刀?切削第一个槽?计算下一槽的位置并将刀具移到此位置?加工下一个槽如此至最后一个槽加工完为止。将此过程画成流程图,如图2(a)所示。(a) (b) 图2 2零件加工过程中所使用的变量 通

5、过分析,要加工该零件,需要如下一些变量:工件直径#200= b2 槽底直径#201= b1 槽宽#202= a1 槽间间隔#203= a2 切槽刀宽度#204 每加工一个槽后,切槽刀在Z轴方向移动的距离#205(等于槽间距加上槽宽) 槽的起点坐标Xs=#206,Zs=#207 槽加工终点的坐标Xf=#208,Yf=#209 计算槽数目的变量#215 加工槽的总数#216 由此画出编制程序所用的流程图,如图2(b)所示。3根据程序流程图编制程序 宏程序O9061 N10 G65 H83 P160 Q#204 R#202 如果刀宽大于槽完,则结束 N20 G65 H01 P#215 Q0 计数器变

6、量清零 N30 G65 H02 P#205 Q#202 R#203 计算#205 N40 G65 H02 P#206 Q#200 R5 工件直径加上5mm作为X方向起点 N50 G65 H02 P#207 Q#203 R#204 槽的间距加上一个刀宽 N60 G65 H01 P#207 Q?#207 取负值后作为第一个槽的Z向起点 N70 G65 H01 P#208 Q#201 槽底直径作为槽终点的X坐标 N80 G65 H01 P#209 Q?#205 第一个槽终点Z向坐标 N90 G00 X#206 Z#207 M08 定位到槽加工的位置 N100 G75 R1 N110 G75 X#20

7、8 Z#209 P2 Q#204 F20 加工槽 N120 G65 H03 P#207 Q#207 R#205 下一个槽起点Z向坐标计算 N130 G65 H03 P#209 Q#209 R#205 下一个槽终点Z向坐标计算 N140 G65 H02 P#215 Q#215 R1 槽计数器加1 N150 G65 H84 P90 Q#215 R#216 判断槽是否加工完毕 N160 M08 N170 M99 结束 主程序 O0001 N10 G65 H01 P#200 Q40 工件直径赋值 N20 G65 H01 P#201 Q30 槽底直径赋值 N30 G65 H01 P#202 Q5 槽宽赋

8、值 N40 G65 H01 P#203 Q2 槽间间隔赋值 N50 G65 H01 P#204 Q3 切槽刀宽赋值 N60 G65 H01 P#216 Q100 槽数赋值 N70 G00 X100 Z100 起刀点位置 N80 M98 P9061 调用宏程序 N90 M30 程序结束 (二)宏程序应用实例二 对于一些大悬伸(加工深度与刀具直径之比较大)的零件,用普通加工方法总难达到理想效果,此时用插铣法容易保证零件精度,如图3所示的零件,尺寸80很难保证,用插铣法后获得了比较好的效果。曾经有工厂做过类似的程序,但程序只是针对零件本身,适应性不强,当零件的尺寸发生变化后,程序还得发生较大修改。笔

9、者针对这种情况,将程序分为主程序和子程序,当零件的尺寸发生变化后,只需要修改主程序即可,非常方便。1加工工艺分析 传统加工工艺方法采用多次重复加工。很难消除让刀,并且造成加工应力,最后由于应力释放造成零件的内腔变小。为了解决这个问题,我们将加工分为粗加工和精加工,粗加工采用普通的工艺方法,精加工采用插铣。建立如图3所示的坐标系,为了保证加工质量,防止划伤已加工过的表面,编程时避免使用钻孔循环指令。加工轨迹如图4所示,在YZ平面内进行以下加工步骤:加工第一刀?沿圆弧退刀?返回Z=3处?沿圆弧进刀?沿X方向移动一个步距?加工第二刀?。加工过程中,粗加工尺寸80按79.6加工,而精加工采用宏程序编制

10、高速插铣程序。精加工的具体参数如表2所示 图3零件图及坐标系 图4刀具路径 表2精加工参数 加工方式 加工材料 刀具 步距 设置安全高度 顺铣 铝合金 18整体硬质合金加长球头刀 005 Z=3 2加工流程图 为增强程序的适应性,本程序刀分为子程序和主程序来编写,子程序起始位置为(0,0,50),刀具在加工过程中的基本路线是按前面所给出的路线来走刀。由此画出加工流程图如图5(a)所示。图5 3程序所使用的变量及程序流程图 本程序中所使用的变量如下:需加工部位X方向的长度:#1;需加工部位Y方向的长度:#2;需加工部位Z方向的深度:#3;X方向的步距:#4;走刀轨迹中,退(或进)刀时的半径:#5

11、(本例图4中的R10);中间变量:#6、#7、#8、#9 由所确定的变量及加工流程图,画出程序流程图如图5(b)所示。4编制程序 子程序:%9001 N10 #1=#1/2 #1变量取1/2作为X坐标 N20 #2=#2/2 #2变量取1/2作为Y坐标 N30 G00 X#1 X方向定位到加工位置 N40 G41 D1 Y#2 Y方向定位到加工位置 N50 G01 Z3 F3000 M08 下降下安全高度,开冷却液 N60 #6=(#3#5) 计算加工终点Z向坐标 N70 #7=#22*#5 计算退刀终点Y坐标 N80 G01 Z#6 插铣加工 N90 G02 Y#7 R#5 退刀 N100

12、G01 Z3 返回 N110 G02 Y#2 R#5 进刀 N120 #8=#8+#4 X方向总加工长度计数 N130 G91 G01 X#4 X方向走一个步距 N140 IF #8LE#1 GOTO 80 判别第一侧是否加工完 N150 G90 Y#2 移至另一侧 N160 G01 Z#6 插铣加工另一侧 N180 G02 Y#7 R#5 退刀 N190 G01 Z3 返回安全高度 N200 G02 Y#2 R#5 进刀 N210 #9=#9+#4 X方向总加工长度计数 N220 G91 G01 X#4 X方向移动一个步距 N230 IF #9LE#1 GOTO 160 判别另一侧是否加工完

13、 N240 G90 G40 G00 X0 Y0 M09 X、Y方向返回起始点 N250 Z50 Z方向返回起始点 N260 M99 宏程序结束 主程序:%1010 N10 T01 选一号刀 N20 M06 换刀 N30 G00 G90 G54 G19 X0 Y0 S5000 M03 定位到起始位置,选择坐标平面及坐标系,启动主轴。N40 G43 H01 Z50 Z方向补偿 N60 G65 P9001 A200 B80.05 C90 D0 E0 F0 I0.05 J10 K0 调用宏程序并给相关变量赋值 N70 M05 停止主轴 N80 G49 Z50 Z方向取消补偿 五、结束语 利用流程图编制

14、用户宏程序,思路清晰,所编制的程序适应性好,是一种值得推广的方法。04:36 阅读136 评论1 字号:用 户 宏 程 序 能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。l 所存入的这一系列指令用户宏程序 l 调用宏程序的指令宏指令 l 特点:使用变量 一 变量的表示和使用 (一) 变量表示 I(I=1,2,3,)或式子 例:5,109,501,1212 (二) 变量的使用 1 地址字后面指定变量号或公式 格式: 地址字I 地址字I 地址字式子 F103,设10315 则为F15 Z110,设110250 则为Z250 X2418

15、COS1 2 变量号可用变量代替 30,设303 则为3 3 变量不能使用地址O,N,I 下述方法下允许 O1;I2 6.00100.0;N3 Z200.0;4 变量号所对应的变量,对每个地址来说,都有具体数值范围 301100时,则M30是不允许的 5 0为空变量,没有定义变量值的变量也是空变量 6 变量值定义:程序定义时可省略小数点,例:123149 MDI键盘输一 变量的种类 1. 局部变量133 一个在宏程序中局部使用的变量 例: A宏程序 B宏程序 1020 X10 不表示X20 断电后清空,调用宏程序时代入变量值 2. 公共变量100149,500531 各用户宏程序内公用的变量

16、例:上例中10改用100时,B宏程序中的 X100表示X20 100149 断电后清空 500531保持型变量(断电后不丢失) 3. 系统变量 固定用途的变量,其值取决于系统的状态 例:2001值为1号刀补X轴补偿值 5221值为X轴G54工件原点偏置值 入时必须输入小数点,小数点省略时单位为m 一 运算指令 运算式的右边可以是常数、变量、函数、式子 式中j,k也可为常量 式子右边为变量号、运算式 1 定义 Ij 2 算术运算 I=j+k I=jk I=jk I=jk 3 逻辑运算 IJOKk IJXOKk IJANDk 4 函数 ISINj 正弦 ICOSj 余弦 ITANj 正切 IATA

17、Nj 反正切 ISQRTj 平方根 IABSj 绝对值 IROUNDj 四舍五入化整 IFIXj 下取整 IFUPj 上取整 IBINj BCD?BIN(二进制) IBCNj BIN?BCD 1 说明 1) 角度单位为度 90度30分为905度 2) ATAN函数后的两个边长要用“1”隔开 1ATAN11时,1为了350 3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 设112345,223456,设定单位1m G91 X1;X1235 X2 F300;X2346 X12;X3580 未返回原处,应改为 XROUND1ROUND2;4) 取整后的绝对值比原值大为上取整,反

18、之为下取整 设112,212时 若3FUP#1时,则320 若3FIX#1时,则310 若3FUP#2时,则320 若3FIX#2时,则310 5) 指令函数时,可只写开头2个字母 ROUND?RO FIX?FI 6) 优先级 函数?乘除(,1,AND)?加减(,OR,XOR) 123SIN4;7) 括号为中括号,最多5重,园括号用于注释语句 例:1SIN#2+#3*#4+#5*#6;(3重) 一 转移与循环指令 1无条件的转移 GOTO 1;GOTO 10;2条件转移 IF条件式 GOTO n 条件式:j EQk 表示 j NEk 表示?j GTk 表示 j LTk 表示 j GEk 表示?

19、j LEk 表示? IF1 GT 10 GOTO 100; N100 G00 691 X10;求1到10之和 O9500;10 21 N1 IF 2 GT10 GOTO 2 112;221;GOTO 1 N2 M301循环 WHILE条件式DO m;(m1,2,3) ENDm 说明:1条件满足时,执行DOm到ENDm,则从DOm的程序段 不满足时,执行DOm到ENDm的程序段 2省略WHILE语句只有DOmENDm,则从DOm到ENDm之间形成死循环 3嵌套 4EQ NE时,空和“0”不同 其他条件下,空和“0”相同 O0001;10;21;WHILE 2LE10 DO1;221;END1;M

20、30;FANUC系统宏程序编程 一 变量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1#2100 G01 X#1 F300 变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。#1+#2-12 变量的类型 变量根据变量号可以分成四种类型 变量号 变量类型 功能 #0 空变量 该变量总是空,没有值能赋给该变量. #1-#33 局部变量 局部变量只能用在宏程序中

21、存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 公共变量 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使#500-#断电也不丢失. 999 #1000 系统变量 系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值. 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111. 小数点的省略 当在程序中定义变量值时,小数点可以省略

22、。当定义#1123;变量#1的实际值是123.000。变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。G01X#1+#2F#3;被引用变量的值根据地址的最小设定单位自动地舍入。当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号()放在#的前面。G00X#1 当引用未定义的变量时,变量及地址都被忽略。当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。双轨迹(双轨迹控制)的公共变量 对双轨迹控制,系统为每一轨迹

23、都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。未定义的变量 当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。引用 当引用一个未定义的变量时,地址本身也被忽略。当#1= 当#10 G90 X100 Y#1 G90 X100 Y#1 G90 X100 G90 X100 Y0 (b) 运算 除了用赋值以外,其余情况下与0相同。时 当#10时 #2#1 #2#1 #2 #20 #2#*5 #2#*5 #20 #20 #2#1+#1 #2#1+#1 #20 #20 (c)条件表达式 EQ和NE中的不同于0。时 当#10时

24、 #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?(2)当#j超出1到1的范围时,发出P/S报警NO.111. (3)常数可替代变量#j ARCCOS #iACOS#j 取值范围从180?0? 当#j超出1到1的范围时,发出P/S报警NO.111. 常数可替代变量#j

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2