第1章 绪论 1
1.1 零件编程技术 3
1.1.1 传统零件编程 3
1.1.2 交互式零件编程 4
1.1.3 使用CAM软件的零件编程 4
1.1.4 宏编程 5
1.2 宏编程的一些应用 5
1.2.1 复杂运动 6
1.2.2 零件族 6
1.2.3 自定义固定循环 8
1.2.4 “智能”程序 8
1.2.5 检测 9
1.2.6 机床状态信息/控制 9
1.2.7 与外部设备通信 10
1.3 机床具有宏编程功能的基本特征 11
1.4 本书的目的 12
1.5 怎样使用本书 13
第2章 变量与表达式 15
2.1 宏变量 16
2.2 宏表达式 16
2.3 变量赋值 20
2.4 显示变量 22
2.5 实数值与整数值 23
2.6 未定义的变量 27
2.6.1 字地址中的空变量 27
2.6.2 算术运算中的空变量 27
2.6.3 条件表达式中的空变量 28
2.7 一个宏编程功能的简单应用 29
2.8 在MDI模式中保留程序 29
第3章 变量类型 31
3.1 局部变量和全局变量 32
3.2 系统复位对宏变量的影响 34
3.3 各级局部变量 34
3.4 变量中存储的值的范围 39
3.5 系统变量 41
3.5.1 系统变量与系统参数的比较 41
3.5.2 FANUC 0i系列控制系统中的系统变量 42
3.5.3 系统变量的显示 42
3.5.4 接口信号 43
3.5.5 用于输入接口信号的系统变量 46
3.5.6 用于输出接口信号的系统变量 46
3.5.7 几何和磨损补偿值 47
3.5.8 工件坐标系偏移量 50
3.5.9 宏报警 51
3.5.10 时间信息 52
3.5.11 自动操作控制 52
3.5.12 暂停执行 54
3.5.13 镜像信息 54
3.5.14 已加工工件数目 55
3.5.15 模态信息 56
3.5.16 当前刀具位置 59
3.5.17 零点偏移值 60
第4章 宏函数 61
4.1 宏函数的类型 62
4.1.1 算术表达式的运算优先级 62
4.1.2 布尔表达式的运算优先级 63
4.1.3 计算顺序的影响 63
4.1.4 括号的嵌套 64
4.2 算术运算 64
4.2.1 算术运算符号 64
4.2.2 除运算与程序段跳跃函数 65
4.3 三角函数 66
4.4 舍入函数 69
4.4.1 隐式舍入和显式舍入 69
4.4.2 ROUND函数、FIX函数和FUP函数 70
4.5 辅助函数 73
4.5.1 SQRT 73
4.5.2 ABS 73
4.5.3 LN 74
4.5.4 EXP 75
4.5.5 数的任意次幂 75
4.6 逻辑函数 76
4.6.1 位函数 76
4.6.2 布尔函数 78
4.6.3 按位运算与布尔运算的比较 79
4.6.4 使能布尔运算 80
4.6.5 按位运算的应用举例 81
4.7 类型转换函数 83
第5章 分支与循环 87
5.1 无条件分支 88
5.2 条件分支 89
5.3 单一宏语句的条件执行 102
5.4 循环执行 103
5.5 宏变量号的数学运算 112
5.5.1 零点偏移方法 115
5.5.2 机床坐标系 116
5.5.3 外部工件坐标系 117
5.5.4 G54~G59,G54.1 P1~P48工件坐标系 118
5.5.5 操纵偏置值进行零点偏移 118
5.5.6 通过系统变量进行零点偏移 119
5.5.7 铣床中工作偏置的显示 119
5.5.8 不同工作偏置值的系统变量 120
5.5.9 通过程序零点偏移 121
5.6 WHILE循环嵌套 125
第6章 子程序 131
6.1 概述 132
6.1.1 什么是子程序 132
6.1.2 使用子程序的目的 132
6.1.3 子程序与传统计算机语言的子程序比较 132
6.2 子程序的调用 133
6.3 子程序的多重调用 136
6.4 子程序嵌套 144
第7章 宏程序调用 149
7.1 概述 150
7.2 宏程序与子程序 150
7.3 宏程序调用 150
7.3.1 简单调用(G65) 151
7.3.2 模态调用(G66) 155
7.3.3 自定义G指令调用 159
7.3.4 自定义M指令调用 161
7.4 不使用M98/M198调用子程序 162
7.4.1 M代码调用子程序 162
7.4.2 T代码调用子程序 164
7.5 参数指定 166
7.5.1 参数指定类型Ⅰ 166
7.5.2 参数指定类型Ⅱ 167
7.5.3 混合参数指定类型 168
7.5.4 带参数G代码宏程序调用实例 170
7.6 宏语句处理 178
7.6.1 什么是缓冲 178
7.6.2 缓冲程序段的数量 178
7.6.3 缓冲程序段的处理时间 178
7.6.4 程序执行中宏语句缓冲的影响 181
第8章 复杂运动的生成 183
8.1 概述 184
8.2 半径均匀变化的弧 184
8.3 变半径螺旋插补 193
8.4 车削加工抛物面 200
8.5 车削加工正弦曲线 206
第9章 参数化编程 213
9.1 概述 214
9.2 定位销钉 215
9.3 法兰上的螺栓孔 221
第10章 自定义固定循环 229
10.1 概述 230
10.2 车床上深孔啄钻 230
10.3 铣床上啄钻深度逐渐减少的钻孔 239
第11章 检测 247
11.1 概述 248
11.2 数控机床的跳跃功能 249
11.3 检测腔 250
11.4 寻找孔的中心 253
11.5 确定工件边缘角度 256
11.6 调整磨损补偿 258
第12章 与外部设备通信 263
12.1 概述 264
12.2 转换原理 264
12.3 输入类型及接线 266
12.4 接口的引脚分配 268
12.5 源型/漏型PLC输入离散传感器 271
12.6 输出类型及接线 273
第13章 可编程数据输入 277
13.1 概述 278
13.2 WCS偏移距离数据输入 279
13.3 附加WCS偏移距离数据输入 280
13.4 铣床的补偿值数据输入 281
13.5 车床补偿值数据输入 283
13.6 参数值的数据输入 286
附录A 复杂宏程序表 291
附录B 参数表 293