数控宏程序入门

上传人:kms****20 文档编号:40988457 上传时间:2018-05-27 格式:DOC 页数:8 大小:33KB
返回 下载 相关 举报
数控宏程序入门_第1页
第1页 / 共8页
数控宏程序入门_第2页
第2页 / 共8页
数控宏程序入门_第3页
第3页 / 共8页
数控宏程序入门_第4页
第4页 / 共8页
数控宏程序入门_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《数控宏程序入门》由会员分享,可在线阅读,更多相关《数控宏程序入门(8页珍藏版)》请在金锄头文库上搜索。

1、数控宏程序入门数控宏程序入门宏程序 序 大家都在问宏程序其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出 Z 坐标并且每次加 10um 那么宏就会自动算出 X 坐标并且进行切削,实际上宏在程序中主要起到的是运算作用.宏一般分为 A 类宏和 B 类宏.A 类宏是以 G65 Hxx P#xx Q#xx R#xx 的格式输入的,而 B 类宏程序则是 以直接的公式和语言输入的和 C 语言很相似在 0i 系统中应用比较广.由于现在

2、B 类宏程序的大量使 用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克 OTD 系统中由于它的 MDI 键盘上没有公式符号,连最简单的等于号都没有,为此如果应用 B 类宏程序的话就只能在计算机上编好再通过 RSN-32 接口传输的数控系统中,可是如果我们没有 PC 机和RSN-32 电缆的话怎么办呢,那么只有通过 A 类宏程序来进行宏程序编制了,下面我介绍一下 A 类宏的引用; A 类宏是用 G65 Hxx P#xx Q#xx R#xx 或 G65 Hxx P#xx Qxx Rxx格式输入的 xx 的意思就是数值,是以 um 级的量输入的,比如你输入100 那就是 0.1M

3、M.#xx 就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般 OTD 系统中有#0#100#149#500#531 关闭电源时变量#100#149 被初始化成“空” ,而变量#500#531 保持数据.我们如果说#100=30 那么现在#100 地址内的数据就是 30 了,就是这么简单.好现在我来说一下 H代码,大家可以看到 A 类宏的标准格式中#xx 和 xx 都是数值,而 G65表示使用 A 类宏,那么这个 H 就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行

4、一个什么运算,可以说你了解了 H 代码 A 类宏程序你基本就可以应用了,好,现在说一下 H 代码的各个含义: 以下都以#100 和#101 和#102,及数值 10 和 20 做为例子,应用的时候别把他们当格式就行, 基本指令: H01 赋值;格式:G65H01P#101Q#102:把#102 内的数值赋予到#101中 G65H01P#101Q#10:把 10 赋予到#101 中 H02 加指令;格式 G65 H02 P#101 Q#102 R#103,把#102 的数值加上#103 的数值赋予#101 G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10 R#1

5、03 G65 H02 P#101 Q10 R20 上面 4 个都是加指令的格式都是把 Q 后面的数值或变量号内的数值加上 R 后面的数 值或变量号内的数值然后等于到 P 后面的变量号中. H03 减指令;格式 G65 H03 P#101 Q#102 R#103,把#102 的数值减去#103 的数值赋予#101 G65 H03 P#101 Q#102 R10 G65 H03 P#101 Q10 R#103 G65 H03 P#101 Q20 R10 上面 4 个都是减指令的格式都是把 Q 后面的数值或变量号内的数值减去 R 后面的数 值或变量号内的数值然后等于到 P 后面的变量号中. H04

6、乘指令;格式 G65 H04 P#101 Q#102 R#103,把#102 的数值乘上#103 的数值赋予#101 G65 H04 P#101 Q#102 R10 G65 H04 P#101 Q10 R#103 G65 H04 P#101 Q20 R10 上面 4 个都是乘指令的格式都是把 Q 后面的数值或变量号内的数值乘上 R 后面的数 值或变量号内的数值然后等于到 P 后面的变量号中. H05 除指令;格式 G65 H05P#101 Q#102 R#103,把#102 的数值除以#103 的数值赋予#101 G65 H05 P#101 Q#102 R10 G65 H05 P#101 Q1

7、0 R#103 G65 H05 P#101 Q20 R10 上面 4 个都是除指令格式都是把 Q 后面的数值或变量号内的数值除以 R 后面的数 值或变量号内的数值然后等于到 P 后面的变量号中.(余数不存,除数如果为 0 的话会出现 112 报警) 三角函数指令: H31 SIN 正玄函数指令:格式 G65 H31 P#101 Q#102 R#103;含义Q 后面的#102 是三角形的斜边 R 后面的#103 内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另 一条边长.和以前的指令一样 Q 和 R 后面也可以直接写数值. H32 COS 余玄函数指令

8、:格式 G65 H32 #101 Q#102 R#103;含义Q 后面的#102 是三角形的斜边 R 后面的#103 内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的 另一条边长.和以前的指令一样 Q 和 R 后面也可以直接写数值. H33 和 H34 本来应该是 TAN 和 ATAN 的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么? 开平方根指令: H21;格式 G65 H21 P#101 Q#102 ;意思是把#102 内的数值开了平方根然后存到#101 中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的

9、. 无条件转移指令: H80;格式:G65 H80 P10 ;直接跳到第 10 程序段 有条件转移指令: H81 H82 H83 H84 H85 H86 ,分别是等于就转的 H81;不等于就转的 H82;小于就转的 H83;大于就转的 H84;小于等于就转的 H85;大于等于就转的 H86; 格式:G65 H8x P10 Q#101 R#102;将#101 内的数值和#102 内的数值相比较,按上面的 H8x 的码带入 H8x 中去,如果条件符合就跳到第 10 程序段,如果不符合就继续执行下面的程序段. 用 户 宏 程 序 能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,

10、使用时只需给出这个总指令就能执行其功能。 l 所存入的这一系列指令用户宏程序 l 调用宏程序的指令宏指令 l 特点:使用变量 一 变量的表示和使用 (一) 变量表示 I(I=1,2,3,)或式子 例:5,109,501,1212 (二) 变量的使用 1 地址字后面指定变量号或公式 格式: 地址字I 地址字I 地址字式子 例:F103,设10315 则为 F15 Z110,设110250 则为 Z250 X2418COS1 2 变量号可用变量代替 例:30,设303 则为3 3 变量不能使用地址 O,N,I 例:下述方法下允许 O1; I2 6.00100.0; N3 Z200.0; 4 变量号

11、所对应的变量,对每个地址来说,都有具体数值范围 例:301100 时,则 M30 是不允许的 5 0 为空变量,没有定义变量值的变量也是空变量 6 变量值定义: 程序定义时可省略小数点,例:123149 MDI 键盘输一 变量的种类 1. 局部变量133 一个在宏程序中局部使用的变量 例: A 宏程序 B 宏程序 1020 X10 不表示 X20 断电后清空,调用宏程序时代入变量值 2. 公共变量100149,500531 各用户宏程序内公用的变量 例:上例中10 改用100 时,B 宏程序中的 X100 表示 X20 100149 断电后清空 500531 保持型变量(断电后不丢失) 3.

12、系统变量 固定用途的变量,其值取决于系统的状态 例:2001 值为 1 号刀补 X 轴补偿值 5221 值为 X 轴 G54 工件原点偏置值 入时必须输入小数点,小数点省略时单位为 m 一 运算指令 运算式的右边可以是常数、变量、函数、式子 式中j,k 也可为常量 式子右边为变量号、运算式 1 定义 Ij 2 算术运算 I=j+k I=jk I=jk I=jk 3 逻辑运算 IJOKk IJXOKk IJANDk 4 函数 ISINj 正弦 ICOSj 余弦 ITANj 正切 IATANj 反正切 ISQRTj 平方根 IABSj 绝对值 IROUNDj 四舍五入化整 IFIXj 下取整 IF

13、UPj 上取整 IBINj BCDBIN(二进制) IBCNj BINBCD 1 说明 1) 角度单位为度 例:90 度 30 分为 905 度 2) ATAN 函数后的两个边长要用“1”隔开 例:1ATAN11时,1 为了 350 3) ROUND 用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设112345,223456,设定单位 1m G91 X1;X1235 X2 F300;X2346 X12;X3580 未返回原处,应改为 XROUND1ROUND2; 4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设112,212 时 若3FUP#1时,则320 若3FIX#1

14、时,则310 若3FUP#2时,则320 若3FIX#2时,则310 5) 指令函数时,可只写开头 2 个字母 例:ROUNDRO FIXFI 6) 优先级 函数乘除(,1,AND)加减(,OR,XOR) 例:123SIN4; 7) 括号为中括号,最多 5 重,园括号用于注释语句 例:1SIN#2+#3*#4+#5*#6;(3 重) 一 转移与循环指令 1无条件的转移 格式: GOTO 1; GOTO 10; 2条件转移 格式: IF条件式 GOTO n 条件式: j EQk 表示 j NEk 表示 j GTk 表示 j LTk 表示 j GEk 表示 j LEk 表示 例: IF1 GT 1

15、0 GOTO 100; N100 G00 691 X10; 例:求 1 到 10 之和 O9500; 10 21 N1 IF 2 GT10 GOTO 2 112; 221; GOTO 1 N2 M301循环 格式:WHILE条件式DO m;(m1,2,3) ENDm 说明:1条件满足时,执行 DOm 到 ENDm,则从 DOm 的程序段 不满足时,执行 DOm 到 ENDm 的程序段 2省略 WHILE 语句只有 DOmENDm,则从 DOm 到 ENDm 之间形成死循环 3嵌套 4EQ NE 时,空和“0”不同 其他条件下,空和“0”相同 例:求 1 到 10 之和 O0001; 10; 21; WHILE 2LE10 DO1; 112; 221; END1; M30;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号