宏程序A类B类G65等常见公式用法ppt课件.ppt_第1页
宏程序A类B类G65等常见公式用法ppt课件.ppt_第2页
宏程序A类B类G65等常见公式用法ppt课件.ppt_第3页
宏程序A类B类G65等常见公式用法ppt课件.ppt_第4页
宏程序A类B类G65等常见公式用法ppt课件.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一 宏程序编程概念宏程序的编制方法简单地解释就是 利用变量编程的方法 用户利用数控系统提供的变量 数学运算功能 逻辑判断功能 程序循环功能等功能 来实现一些特殊的用法 例如 椭圆的解析方程 椭圆的参数方程 其中t为变量 用户宏功能的最大特点是 可以对变量进行运算 使程序应用更加灵活 方便 用户宏功能常用的有A类宏功能和B类宏功能两类 宏指令既可以在主程序体中使用 也可以当作子程序来调用 放在主程序体中O001 N50 100 30 0N60 101 20 0N70G01X 100Y 101F500 0 M30 高技能人才培训宏程序教案 主程序 G65P1000X30 0Y20 0 宏程序 O1000 100 24 101 25 M99 当作子程序调用 二 A类宏功能 FANUC 0TD A类宏程序采用G65HxxP xxQ xxR xx或G65HxxP xxQxxRxx格式 输入的xx的意思就是数值 是以um级的量输入的 比如你输入100那就是0 1mm1 变量在常规的主程序和子程序内 总是将一个具体的数值赋给一个地址 为了使程序更具通用性 更加灵活 在宏程序中设置了变量 即将变量赋给一个地址 1 变量的表示变量可以用 号和跟随其后的变量序号来表示 i i 1 2 3 例 5 109 501 2 变量的引用将跟随在一个地址后的数值用一个变量来代替 即引入了变量 例 对于F 103 若 103 50时 则为F50 对于Z 110 若 110 100时 则Z为 100 对于G 130 若 130 3时 则为G03 3 变量的类型1 公共变量公共变量在不同的的宏程序中的意义相同 是在主程序和主程序调用的各用户宏程序内公用的变量 也就是说 在一个宏指令中的 i与在另一个宏指令中的 i是相同的 公共变量的序号为 100 131 500 531 其中 100 131公共变量在电源断电后即清零 重新开机时被设置为 0 500 531公共变量即使断电后 它们的值也保持不变 因此也称为保持型变量 2 系统变量系统变量定义为 有固定用途的变量 它的值决定系统的状态 系统变量包括刀具偏置变量 接口的输入 输出信号变量 位置信息变量等 系统变量的序号与系统的某种状态有严格的对应关系 例如 刀具偏置变量序号为 01 99 这些值可以用变量替换的方法加以改变 在序号1 99中 不用作刀偏量的变量可用作保持型公共变量 500 531 接口输入信号 1000 1015 1032 通过阅读这些系统变量 可以知道各输入口的情况 当变量值为 1 时 说明接点闭合 当变量值为 0 时 表明接点断开 这些变量的数值不能被替换 阅读变量 1032 所有输入信号一次读入 2 宏指令G65宏指令G65可以实现丰富的宏功能 包括算术运算 逻辑运算等处理功能 一般形式 G65HmP iQ jR k式中 m 宏程序功能 数值范围01 99 i 运算结果存放处的变量名 j 被操作的第一个变量 也可以是一个常数 k 被操作的第二个变量 也可以是一个常数 例如 当程序功能为加法运算时 程序P 100Q 101R 102 含义为 100 101 102程序P 100Q 101R 102 含义为 100 101 102程序P 100Q 101R15 含义为 100 101 15 3 宏功能指令 1 算术运算指令算术运算指令表 算术宏指令表 续 1 变量的定义和替换 i j编程格式G65H01P iQ j例G65H01P 101Q1005 101 1005 G65H01P 101Q 112 101 112 2 加法 i j k编程格式G65H02P iQ jR k例G65H02P 101Q 102R 103 101 102 103 3 减法 i j k编程格式G65H03P iQ jR k例G65H03P 101Q 102R 103 101 102 103 4 乘法 i j k编程格式G65H04P iQ jR k例G65H04P 101Q 102R 103 101 102 103 5 除法 i j k编程格式G65H05P iQ jR k例G65H05P 101Q 102R 103 101 102 103 6 平方根 i 编程格式G65H21P iQ j例G65H21P 101Q 102 101 7 绝对值 i j 编程格式G65H22P iQ j例G65H22P 101Q 102 101 102 8 复合平方根1 i 编程格式G65H27P iQ jR k例G65H27P 101Q 102R 103 101 9 复合平方根2 i 编程格式G65H28P iQ jR k例G65H28P 101Q 102R 103 101 2 逻辑运算指令逻辑运算指令表1 逻辑或 i jOR k编程格式G65H11P iQ jR k例G65H11P 101Q 102R 103 101 102OR 103 表2 逻辑与 i jAND k编程格式G65H12P iQ jR k例G65H12P 101Q 102R 103 101 102AND 103 3 三角函数指令三角函数指令表1 正弦函数 i j SIN k 编程格式G65H31P iQ jR k 单位 度 例G65H31P 101Q 102R 103 101 102 SIN 103 2 余弦函数 i j COS k 编程格式G65H32P iQ jR k 单位 度 例G65H32P 101Q 102R 103 101 102 COS 103 3 正切函数 i j TAN k编程格式G65H33P iQ jR k 单位 度 例G65H33P 101Q 102R 103 101 102 TAN 103 4 反正切 i ATAN j k 编程格式G65H34P iQ jR k 单位 度 0o j 360o 例G65H34P 101Q 102R 103 101 ATAN 102 103 4 控制类指令控制类指令表 1 无条件转移编程格式G65H80Pn n为程序段号 例G65H80P120 转移到N120 2 条件转移1 jEQ k 编程格式G65H81PnQ jR k n为程序段号 例G65H81P1000Q 101R 102当 101 102 转移到N1000程序段 若 101 102 执行下一程序段 3 条件转移2 jNE k 编程格式G65H82PnQ jR k n为程序段号 例G65H82P1000Q 101R 102当 101 102 转移到N1000程序段 若 101 102 执行下一程序段 4 条件转移3 jGT k 编程格式G65H83PnQ jR k n为程序段号 例G65H83P1000Q 101R 102当 101 102 转移到N1000程序段 若 101 102 执行下一程序段 5 条件转移4 jLT k 编程格式G65H84PnQ jR k n为程序段号 例G65H84P1000Q 101R 102当 101 102 转移到N1000 若 101 102 执行下一程序段 6 条件转移5 jGE k 编程格式G65H85PnQ jR k n为程序段号 例G65H85P1000Q 101R 102当 101 102 转移到N1000 若 101 102 执行下一程序段 7 条件转移6 jLE k 编程格式G65H86PnQ jQ k n为程序段号 例G65H86P1000Q 101R 102当 101 102 转移到N1000 若 101 102 执行下一程序段 4 使用注意为保证宏程序的正常运行 在使用用户宏程序的过程中 应注意以下几点 1 由G65规定的H码不影响偏移量的任何选择 2 如果用于各算术运算的Q或R未被指定 则作为0处理 3 在分支转移目标地址中 如果序号为正值 则检索过程是先向大程序号查找 如果序号为负值 则检索过程是先向小程序号查找 4 转移目标序号可以是变量 A类宏程序举例 G50X100 Z130 T0100 M42M03G98 G65H01P 100Q15000 a 15MMG65H01P 101Q30000 b 30MMG65H01P 102Q1000 Z背吃量 粗 G65H01P 103Q10 Z背吃量 精 G65H01P 104Q500 精车余量G65H01P 105Q35000 毛坯直径G65H01P 106Q5000 刀具引入量G65H05P 113Q 100R10 a 10 a G65H05P 114Q 101R10 b 10 b G65H04P 109Q 109R2 起刀点半径X变直径XG65H02P 109Q 105R 106 加入刀具引入量G00X 109Z 101 刀具移动到粗车起点G65H01P 110Q 102 赋予变量背吃量之粗车被吃量G65H01P 108Q 101 赋予Z运算值 N5 G65H03P 108Q 108R 110 计算Z坐标当前值 N10 G65H84P15Q 108R0 判断进给是否到重点G65H01P 112Q 108 G65H26P 112Q100000R 114 G65H28P 112Q1000000R 112 G65H26P 112Q 113R100000 G65H02P 112Q 112R 104 加入精车余量G65H04P 112Q 112R2 X半径变直径G65H81P20Q 104R0 粗精车判断G94X 112Z 108F50 粗车进给G65H80P10 转回循环 G65H81P25Q 104R0 判断整个程序是否彻底结束 N15 G65H02P 115Q 100R 104 G65H04P 115Q 115R2 G94X 115Z0 粗车进给到终点防止计算出现小数而车不到终点M44 提速4档G00X0 Z 101 刀快速走到精车起点G65H01P 110Q 103 赋予变量背吃刀量为精车背吃G65H01P 104Q0 精车余量赋0 G65H80P5 转回循环进行精车坐标计算G01X 112Z 108F10 精车进给 N20 G65H80P10 转计算坐标环节G65P 100Q 100R2 N25 G01X 100Z0 进给到终点防止因为计算出现小数而车不到终点G00X100 退刀Z100 M42M05M30程序结束 三 B类宏程序 FANUC 0i 一 变量1 变量的表示变量可以用 号和跟随其后的变量序号来表示 即 i i 1 2 3 例如 5 109 501 也可用表达式来表示变量 即 表达式 例如 50 2001 1 1 2 12 在地址号后可使用变量 例如 F 9若 9 200 0 则表示F200Z 26若 26 10 0 则表示Z10 0G 13若 13 3 0 则表示G03M 5若 5 08 0 则表示M08 2 变量的种类变量有局部变量 公用变量 全局变量 和系统变量三种 1 局部量变 1 33 局部变量是一个在宏程序中局部使用的变量 例如 当宏程序A调用宏程序B而且都有 1变量时 因为它们服务于不同局部 所以A中的 1与B中的 1不是同一个变量 互不影响 2 公用变量 全局变量 100 149 500 509 公用变量贯穿整个程序过程 包括多重调用 上例中若A与B同时调用全局变量 100 则A中的 100与B中的 100是同一个变量 3 系统变量 宏程序能够对机床内部变量进行读取和赋值 从而完成复杂任务 系统变量主要包括 接口信号 刀具补偿 200 2200 其中长度补偿与半径补偿均在此区域内 工件偏置量 5201 5326 报警信息 3000 3000中存储报警信息地址 如 3000 n 则显示n号警告 时钟 3001 3002 禁止单程序段停止和等待辅助机能结束信号 3003 进给保持 不能手动调节机床进给速率 3004 模态信息 4001 4120 如 4001为G00 G03 若当前为G01状态 则 4001中值为01 4002为G17 G19 若当前为G17平面 则 4002值为17 位置信息 5001 5105 保存各种坐标值 包括绝对坐标 距下一点距离等 系统变量还有多种 它们为编制宏程序提供了丰富的信息来源 常用变量局部变量 1 33公共变量 100 149 500 509系统变量 1000 5335 3 变量的赋值1 直接赋值变量可在操作面板上直接输入 也可用MDI方式赋值 还可在程序内用以下所示方式赋值 但等号左边不能用表达式 数值 或表达式 例 O0521 1 10 2 8 1000M03 2 引数赋值宏程序体以子程序方式出现 所用的变量可在宏调用时赋值 例如 G65P9120X100 Y20 F20 其中X Y F对应于宏程序中的变量号 变量的具体数值由引数后的数值决定 引数与宏程序体中变量的对应关系有两种 见表1和表2 这两种方法可以混用 其中G L N O P不能作为引数为变量赋值 表1变量赋值方法 表2变量赋值方法 例 采用自变量赋值的螺旋插补法铣多孔宏程序刀具 10 主程序O0522S1000M03G54G90G00X0Y0G52X 30 Y0在孔1处建立局部坐标系G65P1522A18 B19 C10 I0Q0 95F200精加工 18通孔G52X25 Y9 5G65P1522A28 B5 6C10 I0Q1 12F200精加工 28通孔G65P1522A16 B19 C10 I5 6Q1 34F200精加工 28通孔G52X0Y0取消局部坐标系M30宏程序O1522 5 1 3 2螺旋加工时刀具中心的回转半径 G00X 5G00移动到起始点上方Z 4 1 G00下降至Z 4面以上一点G01Z 4F 9 0 2 Z方向下降至当前开始加工深度Z 4WHILE 4LT 2 DO1如果加工深度 4 圆孔深度 2 循环1继续 4 4 17Z坐标依次递增 17G03I 5Z 4F 9逆时针螺旋加工至下一层END1循环1结束G03I 5到达圆孔深度逆时针走一整圆G01X 5 1 G01向中心退1mmG00Z30快速退刀至安全高度M99宏程序结束返回 自变量赋值说明 1 A 圆孔直径 2 B 孔深 3 C 刀具直径 4 I Z坐标设为自变量 9 F 进给速度 17 Q 每次切深递增量 层间距 二 功能指令 宏程序具有赋值 算术运算 逻辑运算 函数运算等功能算术运算加法 i j k减法 i j k乘法 i j k除法 i j k 函数运算 正弦 i SIN j 单位 度余弦 i COS j 单位 度正切 i TAN j 单位 度反正切 i ATAN j k 单位 度平方根 i SQRT j 绝对值 i ABS j 取整 i ROUND j 逻辑运算 等于 EQ格式 jEQ k不等于 NE格式 jNE k大于 GT格式 jGT k小于 LT格式 jLT k大于等于 GE格式 jGE k小于等于 LE格式 jLE k 三 控制指令控制指令可起到控制程序流向的作用 1 无条件转移 GOTO语句 格式 GOTOn n为顺序号 范围1 9999转移至标有顺序号n 俗称行号 的程序段 当指定1 9999以外的顺序号时 会出现报警信号 例如 GOTO99 即转移至第99行 2 条件转移 IF语句 格式如下 IF GOTOn如果指定的条件表达式满足时 则转移到标有顺序号n的程序段 如果不满足指定的条件 则顺序执行下一个程序段 说明 1 条件表达式必须包括运算符 运算符插在两个变量或常量中间 并且用 封闭 表达式可以替代变量 2 运算符由2个字母组成 用于两个值的比较 以决定它们是相等 还是一个值小于或大于另一个值 不能使用不等号 例 用IF语句编制1 100的累加程序O009 1 0 存储和数变量的初值 2 1 被加数变量的初值N5IF 2GT100 GOTO99 当被加数大于100时转移到N99 1 1 2计算和数 2 2 1 下一个被加数GOTO5 转到N5N99M30 程序结束 3 循环 WHILE语句 格式 WHILE 条件表达式 DOm ENDm在WHILE后指定一个条件表达式 当条件满足时 执行从DOm到END 之间的程序 当条件不满足时 程序就执行END 下一条语句 DO后面的号m是指定程序执行范围的标号 标号值为1 2 3 即m 1 2 3 循环 WHILE语句 的有关说明1 DOm和ENDm必须成对使用 而且DOm一定要在ENDm指令之前 用识别号m来识别 2 无限循环 当指定DO而没有指定WHILE语句时 将产生从DO到END之间的无限循环 3 条件转移 IF语句 和循环 WHILE语句 的关系 从逻辑关系上来说 两者是从正反两个方面描述的同一件事情 从实现的功能上来说 两者具有相当程度的相互替代性 从具体的用法和使用的限制上来说 条件转移 IF语句 受到系统的限制相对更少 使用更灵活 例题 椭圆铣削加工程序椭圆的解析方程 椭圆的参数方程 O0001N2 100 1角度步长N4 101 0初始角度N6 102 361终止角度N8 103 45长半轴N10 104 25短半轴N12 105 10 0深度N13G90G00X 103 20 Y0Z100 0刀具运行到 65 0 100 的位置N14S1000M03N15G01Z 105 F1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论