已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 页 一 用户宏程序的基本概念一 用户宏程序的基本概念 用一组指令构成某功能 并且象子程序一样存储在存储器中 再把这些存储 的功能由一个指令来代表 执行时只需写出这个代表指令 就可以执行其相应的功 能 在这里 所存储的一组指令叫做宏程序体 或用户宏程序 简称为用户宏 其 代表指令称为用户宏命令 也称作宏程序调用指令 用户宏有以下四个主要特征 1 在用户用户宏程序中可以使用变量 即宏程序体中能含有复杂的表达式 2 能够进行变量之间的各种运算 3 可以用用户宏指令对变量进行赋值 就象许多高级语言中的带参函数或过 程 实参能赋值给形参 4 容易实现程序流程的控制 使用用户宏时的主要方便之处在于由于可以用变量代替具体数值 因而在加工 同一类的工件时 只得将实际的值赋予变量既可 而不需要对每个不同的零件都编 一个程序 二 二 基本书写格式基本书写格式 数控程序文档中 一般以 字符作为第一行的起头 该行将被视为标题行 当标题行含有关键字 MACRO 时整个文档就会以系统所定义的 MACRO 语法 处理 如果该行无 MACRO 关键词此档案就会被视为一般 ISO 程序文档格式 处理 此时将不能编写用户宏和使用其 MACRO 语法 而当书写 ISO 程序文档时 标题行一般可以省略 直接书写数控程序 MACRO 关键词必须是大写字母 对于程序的注释可以采用 的形式 这和高级语言 C 一样 例一 MACRO 格式文档 MACRO 用户宏程序文档 必须包含 MACRO 关键词 IF 1 1 THEN G00 X100 ELSE G00 Z100 END IF M99 例二 ISO 格式文档 这是标题行 可当作档案用途说明 此行可有可无 G00 X100 G00 Z100 G00 X0 G00 Z0 M99 第 页 三三 用户宏程序的编写用户宏程序的编写 如前所述 变量是指可以在用户宏程序中的地址码后代替具体数值 在调用宏 程序时进行赋值的符号 i i 1 2 3 使用变量可以使用户宏程序具有通用 性 用户宏程序中可以使用多个变量 以变量编号进行识别 1 变量的形式变量的形式 变量是用符号 或 后面加上变量编号所构成的 即 i i 1 2 3 例如 5 109 1005 也可用 表达式 的形式来表示 例如 100 1001 1 6 2 其实 通过用符号 后面加上变量编号也可构成的变量 即 i i 1 2 3 例如 5 5 但一般地 由符号 后面加上变量编号构成的变量称为全局变量 不提倡在用 户宏程序中使用 具体见后面的介绍 2 变量的引用变量的引用 在地址符后的数值可以用变量置换 例如 若写成 F 33 则当 33 1 5 时 与 F1 5 相同 若写成 Z 18 则当 18 20 0 时 与 Z 20 0 相同 但需要注意 作为地址符的 O N 等 不能引用变量 例如 O 27 N 1 等 都是错误的 3 未定义变量 尚未被定义的变量 被称为空 VACANT 变量 0 0 始终为空 经常被用作空变量使用 3 变量赋值和引数赋值 变量赋值和引数赋值 变量赋值 用户宏程序中变量赋值使用赋值运算符 不可仅用 符 号 因为在本系统中符号 是被规定为关系运算符 用来比较是否相等的 例如 30 100 会将变量 30 赋值为整数 100 而 30 100 将不能为变量 30 赋值 实际上是比较变量 30 是否与整数 100 相等 四 变量运算及变量表达式四 变量运算及变量表达式 用户宏运算符 用户宏运算符 要对变量进行各种运算操作就要用到运算符 它是 能对变量所存数据进行运 算的符号 本系统的运算符及其优先级如表 3 2 所示 表 3 2 运算符及其优先级 运算名运算名符号符号优先级优先级 括号 1 函数调用运算 2 取负 3 求补运算NOT3 乘法运算 4 除法运算 4 模运算 求余运算MOD4 加法运算 5 减法运算 5 关系运算 6 相等运算 7 不等运算8 布尔逻辑 按位与 说明 IF 条件判断 根据真假情况到指定的地方去执行程序 例如 MACRO 启动 MACRO 语法 1 3 0 G01 X20 15 F200 IF 1 1 THEN X 1 0 1 1 0 1 ELSEIF 1 2 THEN X 1 0 2 1 0 2 ELSEIF 1 3 THEN X 1 0 3 1 0 3 ELSE X 1 0 4 1 0 4 END IF X 1 0 1 0 M30 然而在实际使用中 可以有以下一些变形 2 变形 1 语法 高 低 IF THEN N ELSE END IF 3 变形 2 语法 IF THEN END IF 编程时可根据需要选择合适的语法格式 循环控制 循环控制 1 REPEAT 直到型循环 语法 REPEAT UNTIL END REPEAT 说明 REPEAT 直到型循环控制 先执行循环体 后判断条件表达式 当条件 满足时退出循环 例如 MACRO 启动 MACRO 语法 10 30 11 22 5 12 10 2 13 11 2 14 2 0 15 1 5 G01 X 12 13 F200 0 REPEAT G00 X 12 14 13 15 G01 X 12 14 13 15 X 12 14 13 15 X 12 14 13 15 X 12 14 13 15 14 14 2 0 15 15 1 5 UNTIL 14 12 OR 15 13 END REPEAT X 1 0 1 0 M30 WHILE 当型循环当型循环 语法 WHILE DO END WHILE 说明 WHILE 当型当型循环控制 先判断条件表达式 当条件满足时执行循环体 否则退出循环 例如 MACRO 10 20 11 15 12 10 2 13 11 2 14 2 0 15 1 5 G01 X 12 13 F200 0 WHILE 14 12 AND 15 6 0 THEN EXIT END IF X 12 14 13 15 X 12 14 13 15 14 14 2 0 15 15 1 5 END WHILE X 5 0 Z 5 0 M02 FOR 循环循环 语法 FOR TO BY DO END FOR 说明 FOR 循环控制 式中各参数意义如下 循环变量 控制循环次数的变量 表达式 1 循环计数的起始值 可为整数或表达式 表达式 2 循环计数的终止值 可为整数或表达式 表达式 3 循环计数每次的累加值 可为整数或表达式 循环体 循环每次执行内容 FOR 循环执行过程为 先给循环变量赋起始值 然后判断循环变量是否为终止 值 当循环变量已为终止值时退出循环 否则执行循环体 再对循环变量加上每次 累加值 无条件转移 无条件转移 GOTO 转移语句转移语句 语法 GOTO n 说明 无条件地跳到指定的 n 行号执行 其中 n 可为整数或表达式 GOTO 常 和 IF 语句搭配使用 那就是说当程序检查到某个条件满足时用 GOTO 语句去进一 步处理 但应尽量少用该语句以提高程序可读性 范例 MACRO 启动 MACRO 语法 IF 1 2 THEN GOTO 100 G01 X10 10 N100 G01 X30 30 M02 EXIT 循环中断语句循环中断语句 语法 EXIT 说明 循环中断 跳离循环控制 用在循环控制中 通常 EXIT 都和 IF 语句搭 配使用 当某个条件满足后就跳离循环 请参考 WHILE 范例 六 六 库函数库函数 1 ABS 调用方法 ABS 函数描述 求一个数的绝对值 范例 1 ABS 2 3 1 的结果是 2 3 注 此处函数内 参数 既可为实际数值 也可为变量或表达式 以下若无特殊 说明均按此处理 2 SIN 调用方法 SIN 函数描述 求一个数的正弦值 范例 1 SIN 10 3 ASIN 调用方法 ASIN 函数描述 求一个数的反正弦值 范例 1 ASIN 10 4 MAX 调用方法 MAX 函数描述 求两个数的最大值 范例 1 1 MAX 10 20 1 等于 20 范例 2 1 MAX 2 3 5 SQRT 调用方法 SQRT 函数描述 求一个数的平方根值 范例 1 2 SQRT 3 2 等于 1 732 范例 2 16 SQRT 10 6 SIGN 调用方法 SIGN 函数描述 返回一个数的符号 1 表示该数是负数 1 表示该数是正数 0 表示该 数是零 范例 IF SIGN 10 0 THEN END IF 5 CEIL 调用方法 CEIL 函数描述 返回比一个数大或与其相等的最小整数 范例 1 2 CEIL 2 3 2 等于 3 范例 2 2 CEIL 10 7 ROUND 调用方法 ROUND 函数描述 四舍五入化整 范例 1 2 ROUND 2 3 2 等于 2 范例 2 2 ROUND 10 七 用户宏程序编写注意事项七 用户宏程序编写注意事项 1 用户宏文档第一行必须为 MACRO 程序段的每一行结束需加 结束 符 对于用户宏子程序最后需加 M99 以便能返回到主程序 2 变量赋值使用 符号 不可仅用 符号 3 文档名储存需依照下列规则 例如 编写 G100 之 MACRO 需将该 MACRO 程序存在 C CNC MACRO 目录底下 且文件名需为 G0100 不需扩展名 而编写 G100 1 之 MACRO 需将该 MACRO 程序存在 C CNC MACRO 目 录底下 且文件名需为 G 不需扩展名 4 请多使用局部变量 1 50 模态变量 2001 2100 3001 3100 为所有 扩充 G 码的共享资源 请仅用于多个扩充 G 码间的数据交换 以节省共享 资源 如果需要系统定义的初始值 请使用用户参数 4001 4100 5001 5100 5 请不要使用全局变量 Global Variables 1 999 因为 G 码执行时 使 用者的数据是由自变量 A B Z 传入 由公共变量传递不符合使用 习惯 6 系统在执行加工时对于 MACRO 程序会事先预编译 因此 MACRO 执行速 度会超前于 G M 代码指令 因此当要求变量赋值或数据读取须与 G M 代码指令发出的时间进程相同时 请于变量赋值或数据读取前加 WAIT 指令 否则该变量赋值或该数据读取将无法与 G M 代码同步 7 不可改变模式 G 码 G00 G01 G02 G03 G33 G34 G35 G91 G90 G40 G41 G42 的状态 如果用户宏程序中需要改变其状态时 就需要模态信息的回复 8 对于长度或角度的自变量在运算前请使用 STD 函数将单位标准化 以符 合工具机使用习惯 9 不可以改变坐标系统设定 G92 G54 G52 等与坐标系统相关指令不能使用 否则图形仿真功能将失去参考意义 10 请在程序中加上必要的注释 养成良好的编程习惯 以增加程序可读性和 可维护性 以帮助后续开发人员维护和排除问题 第 页 附录附录 运算符及其优先级运算符及其优先级 运算名运算名符号符号优先级优先级 括号 1 函数调用运算 2 取负 3 求补运算NOT3 乘法运算 4 除法运算 4 模运算 求余运算MOD4 加法运算 5 减法运算 5 关系运算 6 相等运算 7 不等运算8 布尔逻辑 按位与 1 的结果是 2 3 ACOS求一个数的反余弦值 范例 1 ACOS 10 ASIN求一个数的反正弦值 范例 1 ASIN 10 ATAN求一个数的反正切值 范例 1 ATAN 10 COS求一个数的余弦值 范例 1 COS 10 MAX求两个数的最大值 范例 1 函数名函数名描述描述 1 MAX 10 20 1 等于 20 范例 2 1 MAX 2 3 MIN求两个数的最小值 范例 1 1 MIN 10 0 20 0 1 等于 10 0 范例 2 1 MIN 10 11 SIN求一个数的正弦值 范例 1 SIN 10 SQRT求一个数的平方根值 范例 1 2 SQRT 3 2 等于 1 732 范例 2 2 SQRT 10 TAN求一个数的正切值 范例 1 TAN 10 SIGN返回一个数的符号 1 表示该数是负数 1 表示该数是 正数 0 表示该数是零 范例 IF SIGN 10 0 THEN END IF CEIL返回比一个数大或与其相等的最小整数 范例 1 2 CEIL 2 3 2 等于 3 范例 2 2 CEIL 10 FLOOR返回比一个数小或与其相等的最大整数 范例 1 2 FLOOR 2 3 2 等于 2 范例 2 2 FLOOR 10 ROUND四舍五入化整 范例 1 函数名函数名描述描述 2 ROUND 2 3 2 等于 2 范例 2 2 ROUND 10 STD参数规范化 读第一个参数为规范化对象 根据第 二个参数使用最小增量方法 特别对小数编程尤为必 要 范例 9 STD 9 1600 根据远轴规范化 STDAX参数规范化 读第一个参数为规范化对象 根据第 二个轴地址参数使用最小增量方法 范例 24 STDAX 24 X 根据 X 轴规范化 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《用色彩叙事》教案-2026-2027学年湘美版(新教材)小学美术六年级上册
- 2025-2026年金融伦理与职业道德试题
- 2025-2026年考研政治毛泽东思想概论复习模拟卷
- 隔离(负荷)开关安装调整记录
- 广东大湾区一模-2026届高三-2026年1月-物理-试题
- 【7道第一次月考】安徽省淮北市2025-2026学年七年级上学期10月月考道德与法治试题(含解析)
- 河北省衡水市枣强中学2026-2027学年高二上学期开学考试英语试卷
- 四川省广元市川师大万达中学2026-2027学年高二上学期入学检测化学试卷(含答案)
- 医院职业暴露知识考核试卷及答案
- 湖南省长沙麓山国际实验学校2026-2027学年高二上学期开学考试政治试卷(含答案)
- 事故伤害现场处置方案(包括触电、机械、高空坠落等12项)
- 2026年下半年教资高中体育学科知识真题及答案
- 2026秋招:四川发展(控股)公司笔试题及答案
- 2026 年国家能源集团神东矿区央企招聘综合素质试卷 招录 94 人
- 《2.黄河文明之旅》课件2026-2027学年人美版五年级上册美术
- 2025年最-新中小学教师D类考试试卷及答案
- 结构化国企面试题及答案解析(2026年版)
- 多磺酸粘多糖乳膏在常见皮肤疾病应用的专家指导意见
- 2026年湖南高速铁路职业技术学院单招综合素质考试模拟试卷(培优A卷)附答案详解
- 2026秋新版小学湘科版科学六年级上册教学计划、教学设计(附目录)适用于新课标
- 世界主要区域经济组织课件
评论
0/150
提交评论