八 宏程序简介PPT课件_第1页
八 宏程序简介PPT课件_第2页
八 宏程序简介PPT课件_第3页
八 宏程序简介PPT课件_第4页
八 宏程序简介PPT课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、.,1,第八章 宏程序简介 第一节 概述 在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能。所存入的这一系列指令称作用户宏程序本体,简称宏程序。这个总指令称作用户宏程序调用指令。在编程时,编程员只要记住宏指令而不必记住宏程序。 用户宏程序与普通程序的区别在于:在用户宏程序本体中,能使用变量;可以给变量赋值;变量间可以运算;程序可以跳转。而普通程序中,只能指定常量,常量之间不能运算,程序只,.,2,能顺序执行,不能跳转,因此功能是固定的,不能变化。用户宏功能是用户提高数控机床性能的一种特殊功能。 宏程序本体既

2、可以由机床生产厂提供,也可以由机床用户自己编制。使用时,先将用户宏主体像子程序一样存入到内存里,然后用子程序调用指令调用。 华中数控系统和FANUC数控系统的宏指令及变量大体相同,而西门子数控系统的宏指令及变量的定义则不大相同。,.,3,第二节 宏程序基础知识 一、变量(HNC、FANUC系统) 在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址,为了使程序更具通用性、灵活性,在宏程序中设置了变量。 华中世纪星和FANUC 0i数控系统的变量有相同的表达方式,以“#”和数字来表示,比如:“#10”表示一个变量。而西门子SINUMERIK 802D的变量又叫做R参数,它用字母“R”和数字

3、来表示,比如“R10”。 现在以列表形式来比较各系统的区别。 表8-1 变量的区别,.,4,局部变量和全局变量是华中世纪星和FANUC的说法。局部变量只能用于宏程序中存储数据,比如:运算结果等。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。全局变量在不同的宏程序中的意义相同。FANUC系统的空变量#0总是空,没有值能赋给该变量。,.,5,(1)变量的表示 变量可以用“#”号和跟随其后的变量序号来表示。 #i (i=1,2,3,) 例: #5,#109,#501 (2)变量的引用 将跟随在一个地址后的数值用一个变量来代替,即引入了变量。 例:对于 F#103=50时,则为F

4、50; 对于Z=-#110,若#110=100时,则Z为-100; 对于G#130,若#130=3时,则为G03。 表8-2 各系统变量引用和赋值的对比,.,6,(3)变量的类型 FANUC-0iM系统的变量分为公共变量和系统变量两类。 1)局部变量 局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部,.,7,变量赋值。 局部变量的序号为:#1 #33 2)公共变量 公共变量是在主程序和主程序调用的各用户程序内公共的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的. 公共变量的序号为:#100#199;#500#59

5、9。其中#100199公共变量在电源断电后即清零,重新开机时被设置为“0”;#500#599公共变量即使断电后,它们的值也保持不变,因此也称保持型变量。 3)系统变量 系统变量定义为:有固定用途的变量。它的值决定系统的状态。系统变量包括,.,8,刀具偏置变量,接口的输入/输出信号变量, 位置信息变量等。 系统变量的序号与系统的某种状态有严格的对应关系。 二、计算参数(SIEMENS系统) 在SIEMENS系统中,变量称为计算参数。 (1)表示方法 用“R”和紧跟其后的序号来进行表示。 如:R1,R5,R110等。 SIEMENS系统中可以引用的参数为:R0R299。 (2)参数的赋值 1)直接

6、赋值 可以在下面数值范围内直接赋值: +(0.00000019999.9999),.,9,如:R1=3.5678 R5=27.2 R4=-7 R10=-12.365 2)给地址赋值 R参数可以给任意的NC地址赋值,但对地址N、G、L除外。赋值时,在地址符之后加“=”。 例如:G0 X=R1 Y=R2 (给X、Y赋值) 三、常量 在华中世纪星数控系统还定义了常量。 PI: 圆周率 TRUE: 条件成立(真) FALSE: 条件不成立(假) 四、运算符与表达式 (1) 算术运算符 +, - ,* ,/ 表示加,减,乘,除。,.,10,(2) 条件运算符 EQ(=),NE(),GT(),GE() ,

7、LT(),LE() (3) 逻辑运算符 AND, OR, NOT (4) 函数 SIN, COS, TAN ,ATAN ,ATAN2, ABS,INT, SIGN, SQRT, EXP (5) 表达式 用运算符连接起来的常数,宏变量构成表达式。 例如:175/SQRT2 * COS55 * PI/180 ; #3*6 GT 14 表8-3 各系统使用的条件运算符,.,11,五、函数 各个系统的常用函数如表8-4所示。 表上所列的三角函数的角度单位是度,使用其它角度单位时需要换算。,.,12,表8-4 各个系统的常用函数,.,13,第三节 常用宏指令及其应用实例 一、赋值语句 把常数或表达式的值

8、送给一个宏变量称为赋值。在赋值语句中先计算,然后再赋值。 格式:宏变量=常数或表达式 例如: #2 = 175/SQRT2*COS55*PI/180 ; #3 = 124.0 表8-5 各系统赋值语句的格式,.,14,说明:上表所列均表示把50.0这个常数赋给变量#10(或R10).,二、运算次序 ()函数; (2)乘和除运算(*, /, AND); (3)加和减运算(+, -, OR, XOR)。 三、跳转和循环指令 在程序中,使用跳转和循环功能可以改变控制的流向,从而可以实现程序的控制。如下表8-6,.,15,所示为三种数控系统跳转和循环语句的结构和种类。 表8-6 三种系统跳转和循环语句

9、的结构和种类,.,16,.,17,.,18,1、华中系统程序跳转功能 (1)条件判别语句IF ,ELSE, ENDIF 格式(i): IF 条件表达式; ;,.,19,ELSE; ENDIF; 格式(ii):IF 条件表达式; ; ENDIF; (2)循环语句WHILE, ENDW 格式: WIIILE 条件表达式; ; ENDW; (3)编程举例: 例8-1:利用宏程序编程,加工如图8-1所示的工件。 参考程序如下所示:,.,20,图8-1半球,.,21,.,22,2、FANUC系统程序跳转功能 (1)无条件转移 (GOTO语句) 转移到标有顺序号n的程序段,当指定1到99999以外的顺序号

10、时,出现P/S报警No.128,可,.,23,用表达式指定顺序号。 格式:GOTOn; n顺序号(1到99999) 例:GOTO 1; GOTO #10; (2)条件转移(IF语句) 1)格式:IFGOTO n; IF之后指定条件表达式。如果指定的条件表达式满足时,转移到标有顺序号n 的程序段;如果指定的条件表达式不满足,执行下个程序段。 例如:,.,24,2)IFTHEN; 如果条件表达式满足,执行预先决定的宏程序语句(即THEN之后的语句),并且只执行一个宏程序语句。 例:如果#1和#2的值相同,0赋给#3。 IF#1 EQ #2 THEN #3=0;,.,25,注意: 条件表达式必须包括

11、关系运算符。运算符插在两个变量中间或变量和常数中间,并且用括号(,)封闭。表达式可以替代变量。 例8-2:计算数值110的总和。 参考程序:,.,26,(3)循环(WHILE 语句) 在WHILE 后指定一个条件表达式。当指定条件满足时,执行从DO到END之间的程序,否则转到END后的程序段。 说明: 当指定的条件满足时,执行WHILE从DO到END之间的程序,否则,转而执行END 之后的程序段。这种指令格式适用于IF 语句。DO 后的数字和END,.,27,后的数字是指定程序执行范围的标号,标号值为1、2、3。若用1、2、3以外的值会产生P/S报警No.126。如下所示:,嵌套:在DOEND

12、 循环中的标号1 到3 可根据需要多次使用。但是,当程序有交叉重复循环(DO范围的重叠)时,出现P/S报警No.124。结果如下所示:,.,28,.,29,例8-3:计算数值1到10的总和。 参考程序:,3、SIEMENS 802D系统程序跳转功能 (1)标记符程序跳转目标,.,30,标记符或程序段号用于标记程序中所跳转的目标程序段,用跳转功能可以实现程序运行分支。标记符可以自由选取,但必须有2-8个字母或数字组成,其中开始的两个字符必须是字母或下划线。跳转目标程序段中,标记符后面必须为冒号,标记符位于程序段首。如果程序段有段号,则标记符紧跟着段号。 在一个程序段中,标记符不能含有其他含义。

13、如:N10 MARK1:G1 X20 MARK1为标记符 TR256:G0 X10 Z20 TR256为标记符 N100 程序段号可以为跳转目标.,.,31,(2)绝对跳转 格式:GOTOF LABE1 GOTOB LABE1 说明:GOTOF:向前跳转(向程序结束的方向跳转) GOTOB:向后跳转(向程序开始的方向跳转) LABE1:标记符或程序段号。 跳转目标只能是有标记符的程序段。此程序段必须位于该程序内。 例8-4:绝对跳转。,.,32,.,33,(3)有条件跳转 1)格式:IF 条件 GOTOF LABE1 ;向前跳转 IF 条件 GOTOB LABE1 ;向后跳转 说明: IF:跳

14、转条件导入符; 条件:作为条件的计算参数,计算表达式。 2)运算符: =(等于),(不等于),(大于), =(大于或等于),=(小于或等于) 3)功能:如果满足跳转条件(即条件成立),则进行跳转;否则,不进行跳转。 有条件跳转指令要求一个独立的程序段。,.,34,4)例8-5 有条件跳转。 圆弧上点的移动(图8-2所示) 已知:起始角: 30 R1 圆弧半径: 32mm R2 位置间隔: 10 R3 点数: 11 R4 圆心位置Z轴方向: 50mm R5 圆心位置X轴方向: 20mm R6 程序如下: N10 R1=30 R2=32 R3=10 R4=11 R5=50 R6=20 赋初值 N20 MAI:G0 Z=R2*COS(R1)+R5 X=R2*SIN(R1)+R6 坐标轴地址的计算、赋值及标记 N30 R1=R1+R3

温馨提示

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

评论

0/150

提交评论