法兰克用户宏程序资料.ppt

上传人:tian****1990 文档编号:7997655 上传时间:2020-03-26 格式:PPT 页数:75 大小:736.50KB
返回 下载 相关 举报
法兰克用户宏程序资料.ppt_第1页
第1页 / 共75页
法兰克用户宏程序资料.ppt_第2页
第2页 / 共75页
法兰克用户宏程序资料.ppt_第3页
第3页 / 共75页
点击查看更多>>
资源描述
1 用户宏程序虽然子程序对编制相同加工操作的程序非常有用 但用户宏程序由于允许使用变量 算术和逻辑运算及条件转移 使得编制相同加工操作的程序更方便 更容易 可将相同加工操作编为通用程序 如型腔加工宏程序和固定加工循环宏程序 使用时 加工程序可用一条简单指令调出用户宏程序 和调用子程序完全一样 2 最多999次 3 4 5 一 变量 1 变量使用用户宏程序时 数值可以直接指定或用变量指定 当用变量时 变量值可用程序或用MDI面板上的操作改变 1 2 100 G01X 1F300 2 变量的表示计算机允许使用变量名 用户宏程序不行 变量用变量符号 和后面的变量号指定 表达式可以用于指定变量号 此时 表达式必须封闭在括号中 例如 1 1 2 12 6 3 变量的类型 7 4 变量值得范围局部变量和公共变量可以有0值或下面范围中的值 1047至 10 29或10 29至10475 变量的引用为在程序中使用变量值 指定后跟变量号的地址 当用表达式指定变量时 把表达式放在括号中 例如 G01X 1F 2 3 8 被引用变量的值根据地址的最小设定单位自动地舍入 例如 G00X 1 以1 1000mm的单位执行时 CNC把12 3456赋值给变量 1 实际指令值为G00X12 346 改变引用变量的值的符号 要把负号 一 放在 的前面 例如 G00X 1 当引用未定义的变量时 变量及地址字都被忽略 例如 当变量 1的值是0 并且变量 2的值是空时 G00X 1Y 2的执行结果为 G00X0 9 6 未定义的变量变量值未定义时 这样的变量成为 空 变量 变量 0总是空变量 它不能写 只能读 1 引用 10 2 运算 11 3 条件表达式 12 7 限制程序号 顺序号和程序跳转号不能使用变量例如 O 1 N 2G00X100 0 3Y200 0 13 二 系统变量 1 刀具补偿值 14 2 时间信息 15 3 自动运行控制可以改变自动运行的控制状态 16 当电源接通时 该变量的值为0 当单程序段停止无效时 即使单程序段开关设为ON 也不执行单程序段停止 当不指定等待辅助功能 M S和T功能 完成时 在辅助功能完成之前 程序执行到下列程序段 而且分配完成信号DEN不输出 17 18 当电源接通时 该变量的值为0 当进给暂停无效时 1 当进给暂停按钮被按下时 机床在单段停止方式停止 但是 当用变量 3003使单程序段方式无效时 单程序段停止不执行 2 当进给暂停按钮压下又松开时 进给暂停灯亮 但是 机床不停止 程序继续执行 并且机床停在进给暂停有效的第一个程序段 当进给速度倍率无效时 总是100 的倍率 而不管机床操作面板上的进给速度倍率开关的设置 当准确停止检测无效时 即使那些不执行切削的程序段也不进行准确停止检测 位置检测 19 攻丝循环中使用变量3004的例子 N5 N7 20 4 已加工的零件数 21 5 当前位置 只读 22 图中第1位代表轴号 从1到4 变量 5081 5084存储的刀具长度偏置值是当前的执行值 不是后面的程序段的处理值 在G31 跳转功能 程序段中跳转信号接通时的刀具位置贮存在变量 5061到 5068中 当G31程序段中的跳转信号不接通时 这些变量中贮存指定程序段的终点值 移动期间不能读是指由于缓冲 预读 功能的原因 不能读期望值 23 6 工件坐标系补偿值 工件零点偏移值 24 25 三 算术和逻辑运算 下列的运算可以在变量中执行 运算符右边的表达式可包含常量和 或由函数或运算符组成的变量 表达式中的变量 j和 k可以用常数赋值 左边的变量也可以用表达式赋值 1 定义 赋值 i j 2 加法 i j k3 减法 i j k4 乘法 i j k5 除法 i j k 26 6 正弦 i SIN j 7 反正弦 i ASIN j 8 余弦 i COS j 角度以度指定9 反余弦 i ACOS j 90 30 表示为10 正切 i TAN j 90 5度11 反正切 i ATAN j K 12 平方根 i SQRT j 13 绝对值 i ABS j 14 舍入 i ROUND j 15 上取整 i FUP j 16 下取整 i FIX j 17 自然对数 i LN j y lnx18 指数函数 i EXP j y ex 27 19 或 i jOR k 20 异或 i jXOR k 按位执行21 与 i jAND k 22 从BCD转为BIN i BIN j 23 从BIN转为BCD i BCD j 注 ARCSIN i ASIN j 取值范围当No 6004 0 0时 270 90 No 6004 0 1时 90 90 ARCCOS I ACOS j 取值范围180 0 28 29 ARCTAN i ATAN j K 取值范围当No 6004 0 0时 0 360 No 6004 0 1时 180 180 3 2 2 2 0 2 2 0 第一象限 第二象限 第四象限 第一象限 第二象限 第三象限 第三象限 第四象限 30 ROUND函数 在逻辑运算指令IF WHILE中 ROUND函数在第一个小数位四舍五入 例如 2 1 2345 1 ROUND 2 变量1的值是1 0 在NC语句地址中 ROUND函数根据地值得最小设定单位指定四舍五入 例如 1 1 2345 2 2 3456 G00G91X 1 G01X 2F300 G00X 1 2 1 2345 2 3456 3 5801 3 580不返回到初始位置或G00X ROUND 1 ROUND 2 1 235 2 346 3 581刀具返回到初始位置 31 上取整和下取整CNC处理数值运算时 若操作后产生的整数绝对值大于原数的绝对值时为上取整 小于原数的绝对值时为下取整 设 1 1 2 2 1 2 3 FUP 1 则2 0赋给 3 3 FIX 1 则1 0赋给 3 3 FUP 2 则 2 0赋给 3 3 FIX 2 则 1 0赋给 3 32 运算次序函数 乘 除 AND 加 减 OR XOR 括号嵌套 方括号 圆括号用于说明 括号用于改变运算次序 可以使用5级 33 四 宏程序语句和NC 下面的程序段为宏程序语句 包含算术或逻辑运算 的程序段 包含控制语句 例如 GOTO DO END 的程序段 包含宏程序调用指令 例如 用G65 G66 G67或其它G代码 M代码调用宏程序 的程序段 除了宏程序语句以外的任何程序段都为NC语句 34 说明 与NC语句的不同 即使置于单程序段运行方式 机床也不停止 但是 当参数No 6000 5SBM设定为1时 在单程序段方式中 机床停止 在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理 35 与宏程序语句有相同性质的NC语句 含有子程序调用指令 例如 用M98或其它M代码或用T代码调用子程序 句 不包含O N P或L以外的指令地址的程序段其性质与宏程序语句相同 36 五 转移和循环 使用GOTO语句和IF语句可以改变控制的流向 有三中转移和循环可供使用 GOTO无条件转移IF条件转移WHILE当型循环1 无条件转移GOTOn n为顺序例如 GOTO1 GOTO 10 37 2 条件转移IF GOTOn例如 IF 1GT10 GOTO2程序N2G00G91X10 0IF THEN例如 IF 1EQ 2 THEN 3 0运算符 EQ等于 NE不等于 GT大于 GE大于等于 LT小于 LE小于等于 条件不满足 条件满足 38 例 求1 10的总和 O9000 1 0 2 1 N1IF 2GT10 GOTO2 1 1 2 2 2 1 GOTO1 N2M30 39 3 循环WHILE DOm 程序 ENDm 程序 说明 m 1 2 3 可以多次使用 最多嵌套三层 省略WHILE 则产生从DO到END的无限循环 WHILE比GOTO处理快 条件满足 条件不满足 40 标号可以多次使用 WHILE DO1 程序 END1 WHILE DO1 程序 END1 可以嵌套3层 WHILE DO1 WHILE DO2 WHILE DO3 程序 END3 END2 END1 可以跳到循环外边 WHILE DO1 IF GOTOn END1 N1 41 DO的范围不能交叉 WHILE DO1 程序 WHILE DO2 END1 程序 END2 转移不能进入循环区 IF GOTOn WHILE DO1 N1 END1 42 六 宏程序调用 宏程序调用方法 非模态调用 G65 模态调用 G66 G67 用G代码调用宏程序 用M代码调用宏程序 用M代码调用子程序 用T代码调用子程序 43 1 非模态调用 G65 格式 G65PpLl其中 p 要调用的程序号l 重复次数 默认值为1 自变量 数据传递到宏程序 其值被赋值到相应的局部变量 有两种指定形式 44 自变量指定 注 每个字母只指定一次 可以不按顺序 但I J K需按顺序指定 45 自变量指定 46 自变量指定 混合 CNC内部能够自动识别自变量指定 后指定的有效 例如 G65A1 0B2 0I 3 0I4 0D5 0P1000 则 1 1 0 2 2 0 3 4 3 0 5 6 7 4 0 7 5 0 47 调用嵌套和局部变量的级别 可以嵌套4级 主程序 48 例 如图所示 编制一个宏程序加工圆上的孔 孔深为Z 圆周的半径为I 起始角为A 间隔为B 钻孔数为H 圆的中心是 X Y 49 调用格式 G65P9100XxYyZzRrIiAaBbHh X 圆心的X坐标 24 Y 圆心的Y坐标 25 Z 孔深 26 R 快速趋近点坐标 18 F 切削进给速度 9 I 圆半径 4 A 第一孔的角度 1 B 增量角 指定负值时为顾时针 2 H 孔数 11 50 主程序 O002 G90G92X0Y0Z100 G65P9100X100Y50R30Z 50F500I100A0B45H5 M30 51 宏程序 O9100 3 4003 储存03组G代码G81Z 26R 18F 9K0 钻孔循环 也可以使用L0IF 3EQ90 GOTO1 在G90方式转移到N1 24 5001 24 计算圆心的X坐标 25 5002 25 计算圆心的Y坐标N1WHILE 11GT0 DO1 直到剩余孔数为0 5 24 4COS 1 计算X轴上的孔位 6 25 4SIN 1 计算Y轴上的孔位G90X 5Y 6 移动到目标位置之后执行钻孔 1 1 2 更新角度 11 11 1 孔数 1END1 G 3G80 返回原始状态的G代码M99 52 2 模态调用 G66 格式 G66PpLl其中 p 要调用的程序号l 重复次数 默认值为1 自变量 数据传递到宏程序G67取消模态调用 注 嵌套可以4级 在G66程序段中 不能调用多个宏程序在只有辅助功能无移动指令的程序段中不能调用宏程序 局部变量只能在G66程序段中指定 每次执行模态调用时 不再指定局部变量 53 O0001 G66P9100L2A1 0B2 0 G00G90X100 0 Y200 0X150Y300 G67 M30 O9100 G00Z 1 G01Z 2F300 M99 54 例 用宏程序编制G81固定循环的操作 第1步 第2步 第3步 第4步 Z 0 R点 Z R 初始平面 I点 55 G65P9110XxYyZzRrFfL1X 孔的X坐标 由绝对值指定 24 Y 孔的Y坐标 由绝对值指定 25 Z Z点坐标 由绝对值指定 26 R R点坐标 由绝对值指定 18 F 切削进给速度 9 L 重复次数 56 主程序 O001 G92X0Y0Z50 G00G90X100Y50 G66P9110Z 20R1F500 G90X20Y20 X50 Y50 X0Y80 G67 M30 57 宏程序 O9110 1 4001 储存G00 G01 2 4003 储存G90 G91 3 4019 储存切削进给速度 5 5003 储存钻孔开始的Z坐标G00G90Z 18 定位在R点G01Z 26F 9 切削进给到Z点IF 4010EQ98 GOTO1 返回到I点G00 18 定位在R点GOTO2 N1G00Z 5 定位在I点N2G 1G 2G 3 恢复模态信息 M99 58 3 用G代码调用宏程序在参数 No 6050到No 6059 中设置调用用户宏程序 O9010到O9019 的G代码号 从1到9999 调用方法同G65 注 不能嵌套 59 参数号和程序号之间的对应关系 60 O0001 G81X10Y20Z 10 M30 O9010 M99 参数No 6050 81 61 4 用M代码调用宏程序在参数 No 6080到No 6089 中设置调用用户宏程序 O9021到O9029 的M代码号 从1到9999 调用方法同G65 注 不能嵌套 62 参数号和程序号之间的对应关系 63 O0001 G50A1B2 M30 O9020 M99 参数No 6080 50 64 5 用M代码调用子程序在参数 No 6071到No 6079 中设置调用用户宏程序 O9001到O9009 的M代码号 从1到9999 调用方法同M98 65 参数号和程序号之间的对应关系 66 O0001 M03 M30 O9001 M99 参数No 6071 03 67 6 用T代码调用子程序设置参数No 6001的第5位TCS 1 当加工程序中指定T代码 可以调用宏程序O9000 在加工程序中指定的T代码赋值到公共变量 149中 68 O0001 T23 M30 O9000 M99 参数No 6001的5位 1 149 23 69 70 使用以下保持型变量 502 半径r 503 起始角度 504 孔数n 当n 时 按逆时针方向加工 当n 时 按顺时针方向加工 505 孔底Z坐标值 506 平面 坐标值 507 进给量 71 使用以下变量进行操作运算 100 表示第i步钻孔的记数器 101 记数器的最终值 为n的绝对值 102 第i个孔的角度位置的值 103 第i个孔的X坐标值 104 第i个孔的Y坐标值 72 O9010N110G65H01P 100Q0N120G65H22P 101Q 504N130G65H04P 102Q 100R360N140G65H05P 102Q 102R 504N150G65H02P 102Q 503R 102N160G65H32P 102Q 502R 102N170G65H31P 104Q 502R 102N180G90G00X 103Y 104 N190G00Z 506N200G01Z 505F 507N210G00Z 506N220G65H02P 100Q 100R1N230G65H84P 130Q 100R 101N240M99 73 O0010N10G54G90G00X0Y0Z20 进入加工坐标系N20M98P9010 调用钻孔子程序 加工圆周等分孔N30Z20 抬刀N40G00G90X0Y0 返回加工坐标系零点N50M30 程序结束 74 首先在MDI方式中 设定以下变量的值 502 半径r为50 503 起始角度 30 504 孔数n为8 505 孔底Z坐标值为 20 506 R平面Z坐标值为5 507 F进给量为50 75 O6000N6010 30 101 基准点保存N6020 31 102 基准点保存N6030 32 1 计数值置1N6040WHILE 32LEABS 11 DO1 进入孔加工循环体N6050 33 1 360 32 1 1 计算第孔的角度N6060 101 30 18 COS 33 计算第孔的X坐标值N6070 102 31 18 SIN 33 计算第孔的Y坐标值N6080G90G81G98X 101Y 102Z 26R 3F 9 钻削第孔N6090 32 32 1 计数器对孔序号计数累加N6100 100 100 1 计算已加工孔数N6110END1 孔加工循环体结束N6120 101 30 返回X坐标初值X0N6130 102 31 返回Y坐标初值Y0M99 宏程序结束
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!