fanuc系统宏程序的设计_毕业设计(编辑修改稿)内容摘要:

或相切点)逐点移动完成加工,从本质上看,其实就是在允许的误差值范围内沿每条路径用直线去逼近曲面的过程。 二、 宏程序 的变量和 数 学基础的应用 (一)宏程序基本变量 普通加工程序直接用指定 G 代码和移动距离;例如 G01和 序是,数值可以直接指定或变量指定。 当用变量时,变量值可以用程序或用 MDI 面板上的操作改变。 如 1=2+100 G01 X1 F300 变量的表示 计算机允许使用变量名,用户宏程序不行。 变量用变量符号( )和后面的变量号指定。 例如: 1 表达式可以用于指定变量号。 此时,表达式必须封闭在括号中。 例如:[1+212] 变量值的范围 局部变量和公共变量可以有 0值或下面范围 中的值: 1047到 1019或 102到 1047范围。 如果计算范围超出有效范围,则发出 P/S 报警。 小数点的省略 当在程序中定义变量值时,小数点可以省略。 例:当定义 1=123;变量 1 的实际值时。 变量的引用 [1]为在程序中使用变量值,指定后跟变量号的地址。 当用表达式指定变量时,要把表达式放在括号中。 例如: G01X[1+2]F3 [2]被引用变量的值根据地址的最小设定单位自动地舍入。 例如:当 G00X1;以 1/1000mm 的单位执行时, CNC把 123456 赋值给 变量 1,实际指令值为 G00X123456 [3]改变引用变量的值的符号,要把负号( )放在 的前面。 例如: G00X1 [4]当引用未定义的变量时, G00X1 Y2 的执行结果 G00X0。 (二)双轨迹的公共变量 对双轨迹控制,系统为每一轨迹都是提供了单位的宏变量,但是,根据参数 和 6037 的设定,某些公共变量可同时用于两个轨迹。 未定义的变量 当变量值未定义时,这样的变量成为空变量。 变量 0 总是空变量。 它不能写,只能读。 [1]引用:当引用一个未定义的变量时,地址本身也被忽略。 [2]运算:除了用赋值以外,其余情况下与 0相同。 [3]条件表达式: EQ 和 NE 中的 空 不同于 0。 限制 程序号,顺序号和任选程序段跳转不能使用变量。 例:下面情况不能使用变量: 01; /; N; (三 )算术和逻辑运算 线面运算可在变量中执行运算表达式可包含常量和由函数或运算符组成的变量。 表达式中的变量 jk 可以用常数赋值。 常用变量 i=j 【 加 】 i=j+k 【 减 】 i=jk 【 乘 】 i=j*k 【 除 】i=j/k 角度单位为度 【 正弦 】 i=sin[j] 【 余弦 】 i=cos[j] 【 正切 】 i=tan[j] 【 反正切 】 i=atan[j] 函数 【 平方根 】 i=sqrt[j] 【 绝对值 】 i=abs[j] 【 四舍五入圆整 】 i=round[j] 【舍入】 i=round[j] 【上取整】 i=fin[j] 【下取整】 i=fup[j] 【自然对数】 i=ln[j] 【指数函数】 i=exp[j] 逻辑变量 逻辑运算对二进制数逐位进行 【 或 】 i=jork 【 异或 】 i=jxork 【 与 】 i=jandk 运算符 EQ 等 NE 不等于 GT 大于 GE 大于或等于 LT 小于 LE 小于或等于 说明 1) 角度单位为度 例: 90度 30分为 90. 5度 2) ATAN 函数后的两个边长要用 “1” 隔开 例:# 1= ATAN[1]/ [- 1]时,# 1为了 35. 0 3) ROUND 用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设# 1= 1. 2345,# 2= 2. 3456,设定单位 1μm G91 X-# 1; X- 1. 235 X-# 2 F300; X- 2. 346 X[# 1+# 2]; X3. 580 未返回原处,应改为 X[ROUND[# 1]+ ROUND[# 2]]; 4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设# 1= 1. 2,# 2=- 1. 2时 若# 3= FUP[1]时,则# 3= 2. 0 若# 3= FIX[1]时,则# 3= 1. 0 若# 3= FUP[2]时,则# 3=- 2. 0 若# 3= FIX[2]时,则# 3=- 1. 0 5) 指令函数时,可只写开头 2个字母 例: ROUND→ RO FIX→ FI 6) 优先级 函数 → 乘除(*, 1, AND) → 加减(+,-, OR, XOR) 例:# 1=# 2+# 3* SIN[# 4]; 7) 括号为中括号,最多 5重,园括号用于注释语句 例:# 1= SIN[[[2+3]*4+5]*6];( 3重) (四) 宏程序的 控制指令 在宏程序中,有三种转移和循环操作可供使用。 无条件转移( GOTO 语句) 语句格式为: GOTO n 其中 n为顺序号( 1— 9999),可用变量表示。 例如: GOTO 1; GOTO 10; 条件转移( IF 语句) 语句格式为: IF [条件式 ] GOTO n 条件式成立时,从顺序号为 n的程序段开始执行;条件式不成立时,执行下一个程序段。 条件式有以下几类: j EQ K EQ 等于 j NE K NE 不等于 j GT K GT 大 于 j LT K LT 小于 j GE K GE 大于等于 j LE K LE 小于等于 条件式中变量 J 或 K可以是常量也可以是表达式,条件式必须用括弧括起来。 下面的程序可以得到 1到 10的和: O7100 1=0 2=1 N1 IF [2 GT 10] GOTO 2 1=1+2 2=2+1 GOTO 1 N2 M30 循环语句( WHILE 语句) 语句格式为: WHILE [条件式 ] DO m ( m=1, 2, 3) „ END m 如右图所示: 当条件语句成立时,程序执行从 DO m 到 END m 之间的程序段;如果条件不成 立,则执行 END m 之后的程序段。 DO和 END 后的数字是用于表明循环执行范围的识别号。 可以使用数字 1, 2和 3,如果是其他数字,系统会产生报警。 DO— END 循环能够按需执行多次。 如下例所示: 上面的 O7100程序也可以用 WHILE 语句编制如下: O7200 1=0 2=1 WHILE [2 LE 10] DO 1 1=1+2 2=2+1 END 1 M30 (五) FANUC0i刀具补偿值的系统变量 系统变量用于读和写 NC内部数据例如刀具偏置值和当前位置数据 , 但是某些系统变量只能读。 系统变量是自动控制和通用加工程序开发的基础 , 是可编程机床控制器 PMC 和用户宏程序之间交换的信号。 接口信号的系统变量 变量号功能 1000; 1015; 1032; 把 16 位信号从 PMC 送到用户宏程序变量 1000, 到 1015 用于按位读取信号变量 1032 用于一次。 读取一个 16 位信号。 1100 1115 1132 把 16 位信号从用户宏程序送到 PMC 变量 1100, 到 1115 用于按位写信号变量 1132 用于一次写。 一个 16 位信号 1133 变量 1133 用于从用户宏程序一次写一个 32 位的信号到 PMC。 注意 1133 的值为从 99999999 到 +99999999, 详细情况请见连接说明书B63503C1, 用系统变量可以读和写刀具补偿值。 刀具补偿存储器 C 的系统变量 刀具长度补偿 H 刀具半径补偿 D 补偿 ; 几何补偿磨损补偿几何补偿磨损补偿 当偏置组数小于等于 200 时也可使用 2020 2400 (六) 程序报警 、 停止和信息显示 、 时间信息 变量 宏程序报警的系统变量 变量号功能 3000 当变量 3000 的值为 0 200 时 CNC 停止运行 , 且报警。 在表达式后为不超过 26 个字符的报警信息 ; CRT 屏幕上显示报警号和报警信息其中报警号 为变量 3000 的值加上 3000。 例 3000=1 TOOL NOT FOUND 报警屏幕上显示 3001 TOOL NOT FOUND 刀具未找到程序执行停止并显示信息报警号功能。 3006 在宏程序中指令 3006=1 MESSAGE 时程序执 行前面程序段并停止。 当最多到 26 个字符的信息由控制输入和控制输出括住在同一程序段中编程时 , 信息被显示在外部操作信息屏幕 , 时间信息可以读和写。 时间信息的系统变量 变量号功能 3001 该变量为一个计时器以 1 毫秒为计时单位 , 当电源接通时该变量值复位为 0 当达到 2147483648 毫秒时该计时器的值返回到 0。 3002 该变量为一个计时器当循环起动灯亮时以 一小时为单位计时该计时器即使在电源断电时 , 也保存该值当达到 小时 , 该计时器的值返回到 0。 3011 该变量用于读取当前 的曰期年 /月 /曰年 /月 /曰信息转换成十进制数。 例如 : 1994 年 9 月 8 曰表示为 19940928。 3012 该变量用于读取当前的时间时 /分 /秒时 /分 /秒信息转换成十进制数。 例如 : 下午 3点 34分 56秒表示为 153456。 (七) 自动运行控制可以改变自动运行的控制状态 的变量 自动运行控制的系统变量 3003 3003 单程序段辅助功能的完成 0 有效等待 1 无效等待 2 有效不等待 3 无效不等待 当电源接通时该变量的值为 0 当单程序段停止无效时,即使单程序段开关设为 ON 也不执行单程序段停止, 当不指定 等待辅助功能 M S 和 T 功能完成时,在辅助功能完成之前, 程序执行到下列程序段而且分配完成信号 DEN不输出 自动运行控制的系统变量 3004 3004 进给暂停进给速度倍率准确停止 0 有效有效有效 1 无效有效有效 2 有效无效有效 3 无效无效有效 4 有效有效无效 5 无效有效无效 6 有效无效无效 7 无效无效无效 当电源接通时该变量的值为 0 当进给暂停无效时 当进给暂停按钮被按下时,机床在单段停止方式停止,但是当用变量 3003使单程序段方式无效时单程序段停止不执行。 当进给暂停 按钮压下又松开时,进给暂停灯亮,但是机床不停止程序继续执行,并且机床停在进给暂停有效的第一个程序段, 当进给速度倍率无效时总是 100%的倍率而不管机床操作面板上的进给速度倍率开关的设置。 三、 非圆曲线宏程序 加工工艺 机械加工中常有由复杂曲线所构成的非圆曲线 (如椭圆曲线、抛物线、双曲线和渐开线等 )零件,随着工业产品性能要求的不断提高,非圆曲线零件的作用就日益重要,其加工质量往往成为生产制造的关键。 数控机床的数控系统一般只具有直线插补和圆弧插补功能, 非圆曲线形状的工件在数控车削中属于较复杂的零件类别,一般运用拟合法来进行加工。 而此类方法的特点是根据零件图纸的形状误差要求,把曲线用许多小段的直线来代替,根据零件图纸的形状误差,如果要求高,直线的段数就多,虽然可以凭借 CAD 软件来计算节点的坐标,但是节点太多也导致了加工中的不方便,如果能灵活运用宏程序,则可以方便简捷地进行编程,从而提高加工效率。 (一) 非圆曲线宏程序的使用步骤 选定自变量。 非圆曲线中的 X 和 Z 坐标均可以被定义成为自变量,一般情况下会选择变化范围大的一个作为自变量,并且要考虑函数表达式在宏程序中书写的简便,为方便起见,我们事先把与 Z 坐标 相关的变量设为 100、 101,将 X坐标相关的变量设为 200、 201 等。 确定自变量起止点的坐标值。 必 须要明确该坐标值的坐标系是相对于非 圆曲线自身的坐标系,其起点坐标为自变量的初始值,终点坐标为自变量的终止值。 进行函数变换,确定因变量相对 于自变量的宏表达式。 确定公式曲线自身坐标系的原点相对于工件原点的代数偏移量 (△ X 和 △ Z)。 计算工件坐标系下的非圆曲线上各点的 X坐标值 (201)时,判别宏变量 200 的正负号。 以编程轮廓中的公式曲线自身坐标原点为原点,绘制对应的曲线坐标系的X ′ 和 Z ′ 坐标轴,以其 Z ′ 坐标为分界 线,将轮廓分为正负两种轮廓,编程轮廓在 X ′ 正方向称为正轮廓,编程轮廓在 X ′ 负方向为负轮廓。 如果编程中使用的公式曲线是正轮廓,则在计算工件坐标系下的 X坐标值 (201)时,宏变量 200 的前面应冠以 正号。 如公式曲线是负轮廓,则宏变量 200 的前面应冠以负号,即 201=177。 200+ △ X。 设计非圆曲线宏程序的模板。 设 Z 坐标为自变量 100, X坐标为因变量 200,自变量步长为 △ w, △ X为曲线本身坐标系原点在工件坐标系下 X方向偏移量, △ Z 为曲线本身坐标系原点在工件坐标系下 Z方向偏移量,则公式曲线段的加工程序宏指令编程模板如下。 100=Z1 (定义自变量的起点 Z坐标 ) WHILE [ 100 GE Z2]DO 1 (加工控制 ) 200=f(100) (建立自变量与因变量函数关系式 ) 201=177。 200+ △ X (计算曲线上点在加工坐标系的 X 坐标 ) 101=100+△ Z(计算曲线上点在加工坐标系的 Z坐标 ) G01 X[2*201] Z[101]F(曲线加工 ) 100=100△ w (自变量减小一个步距 ) END1 (加工结束 ) (二) 非圆曲线宏程序的具体应用实例。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。