大家都在问程序_第1页
大家都在问程序_第2页
大家都在问程序_第3页
大家都在问程序_第4页
大家都在问程序_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、统中,比方法兰克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的意思就是 数彳1,是以um级的量输入的,比方你输入100那就是0.1MM.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数

3、值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0#100#149#500#531关 闭电源时变量#100#149被初始化成“空",而变量#500#531保持数据 我们如果说#100=30 那么现在#100地址内的数据就是 30 了,就是这么简单.好现在我来说一下 H代码,大家可以看 到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示 各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了 H代码A类宏程序你根本就可以应用了,好,现在说一下H代码的各个含义:以下都以#100和#10

4、1和#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的数值赋予#101G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10R#103 G65 H02 P#101 Q10R20 上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中.

5、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乘指令;格式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 H

6、04 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 Q10 R#103 ?G65 H05 P#101 Q20 R10 ?上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.余数不存,除数如果为0的话会出现112报警三角函数指令:H31 SI

7、N正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的 斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出 三角形的另 一条边长.和以前的指令一样 Q和R后面也可以直接写数值.H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义 Q后面的#102是三角形的 斜边R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角 形的 另一条边长.和以前的指令一样 Q和R后面也可以直接写数值.H33和H34本来应该是TAN和AT

8、AN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么 开平方根指令:H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的.无条件转移指令:H80;格式:G65 H80 P10 ;直接跳到第10程序段 有条件转移指令:H81 H82 H83 H84 H85 H86,分别是等于就转的 H81;不等于就转的 H82;小于就转的H83;大于 就转的H84;小于等于就转的 H85;大于等于就转的H86; ?格式:G65 H8x P10 Q#101 R#102;将#

9、101内的数值和#102内的数值相比拟,按上面的H8x的码 带入H8x中去,如果条件符合就跳到第 10程序段,如果不符合就继续执行下面的程序段.用户宏程序 能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们, 使用时只需给出这个总指令就能执行其功能.l所存入的这一系列指令一一用户宏程序l调用宏程序的指令宏指令 l特点:使用变量一.变量的表示和使用一 变量表示 # II=1,2,3,或# 式子?例:#5, #109, #501, #1+#212?二变量的使用1 .地址字后面指定变量号或公式格式:地址字# I ?地址字?# I ?地址字式子?例:F# 103,设# 103= 15

10、 贝U为 F15Z- 1 110,设# 110=250 贝U为 Z-250X 2 24+ #18* COS # 1?2 .变量号可用变量代替例:# #30,设# 30=3 那么为 # 3?3 .变量不能使用地址 O, N, I ?例:下述方法下允许O# 1;?I #2 6.00 X 100.0;N # 3 Z200.0 ;?4 .变量号所对应的变量,对每个地址来说,都有具体数值范围 例:3 30= 1100时,那么M# 30是不允许的 5 .#0为空变量,没有定义变量值的变量也是空变量6 . 变量值定义: 程序定义时可省略小数点,例:#123= 149?MDI键盘输一.变量的种类 1 .局部变

11、量# 1 #33?一个在宏程序中局部使用的变量例: A宏程序 B宏程序 ?#10=20 X # 10 不表示 X20?断电后清空,调用宏程序时代入变量值2 .公共变量# 100# 149, 5 5005 531?各用户宏程序内公用的变量例:上例中# 10改用# 100时,B宏程序中的X # 100 表示 X20?#100#149断电后清空 5 500 5 531保持型变量断电后不丧失3 .系统变量 固定用途的变量,其值取决于系统的状态例:# 2001值为1号刀补X轴补偿值# 5221值为X轴G54工件原点偏置值 入时必须输入小数点,小数点省略时单位为科m ?一.运算指令运算式的右边可以是常数、

12、变量、函数、式子 式中# j, # k也可为常量 式子右边为变量号、运算式1. 定义 # I = # j ?2 .算术运算# I= # j+ # k ?# I=#j-# k ?# I= # j * # k ?# I=#j/#k ?3 .逻辑运算# I = # JOK # k ?# I = # JXOK # k?# I = # JAND # k?4. 函数 # I = SIN # j正弦 # I = COS#j余弦 # I = TAN # j正切 # I = ATAN # j反正切 # I = SQRT#j平方卞艮?# I = ABS # j绝对值 # I = ROUND # j四舍五入化整 #

13、 I = FIX # j下取整 # I = FUP # j上取整 # I = BIN#j BCD fBIN 二进制# I = BCN # j BIN f BCD ?1) .说明 1角度单位为度例:90度30分为90. 5度 2) ATAN函数后的两个边长要用“1隔开 例:# 1=ATAN1 /1时,# 1 为了 35. 0?3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设# 1= 1. 2345, # 2 = 2. 3456,设定单位 1m ?G91 X # 1; X 1 . 235?X# 2 F300; X-2. 346?X # 1 + # 2; X3. 580?

14、未返回原处,应改为 XROUND #1+ROUND #2;?4取整后的绝对值比原值大为上取整,反之为下取整例:设# 1= 1. 2, # 2= 1 . 2 时 3 = 2. 03=1 . 03=-2, 03=- 1. 0假设# 3=FUP#1时,贝U#假设# 3=FIX#1时,那么#假设# 3=FUP#2时,贝U#假设# 3=FIX#2时,那么# 5)指令函数时,可只写开头 2个字母 例:ROUNDfRO ?FIXf FI ?6)优先级 函数-乘除(*,1, AND)-加减, OR, XOR) 例:# 1= # 2+ # 3* SIN 4 4;7括号为中括号,最多 5重,园括号用于注释语句例:

15、1 1 = SIN#2+#3*#4+#5*#6; 3 重 ?一.转移与循环指令 1 .无条件的转移格式:GOTO 1 ;GOTO #10;?2 .条件转移格式:IF条件式GOTO n条件式:# j EQ # k 表示=?# j NE # k 表示w ?# j GT # k 表示? # j LT # k 表示v ?# j GE # k 表示R ?# j LE # k 表示w?例:IF 1 1 GT 10 GOTO 100 ;?N100 G00 691 X10 ;?例:求1到10之和 O9500;?# 1 = 0?# 2=1?N1 IF #2 GT10 GOTO 2?# 1= # 1+ # 2;?# 2= #2+1;?GOTO 1?N2 M301 .循环 格式:WHILE条件式DO m; (m=1, 2, 3)EN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论