项目八 宏程序的应用.doc_第1页
项目八 宏程序的应用.doc_第2页
项目八 宏程序的应用.doc_第3页
项目八 宏程序的应用.doc_第4页
项目八 宏程序的应用.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

项目八宏程序的应用 学习目标通过本项目的学习,了解宏程序的概念, 理解什么是变量及变量的种类和使用方法,掌握变量的运算方法、B类宏程序的用法。能运用宏指令加工一般复杂轮廓零件。一、项目内容:1、零件图:图8-1 椭圆凸台2、编程要求:1)、材料:45钢; 2)、毛坯件的尺寸为1056550mm; 3)、编写程序要求如下:以几何中心为编程原点,要求加工外轮廓与椭圆台。二、知识点介绍宏程序的概念,理解什么是变量及变量的种类和使用方法,掌握变量的运算方法,了解掌握B类宏程序的编程方法。三、学习内容(一)、宏程序的概念在编程工作中,我们经常把能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来代表它们,使用时只需给出这个总指令就能执行其功能。所存入的这一系列指令称为用户宏功能主体,这个总指令称为用户宏功能指令。如图8-2所示。图8-2 宏程序在编程时,不必记住用户宏功能主体所含的具体指令,只要记住用户宏功能指令即可。用户宏功能的最大特点是在用户宏功能主体中能够使用变量;变量之间还能够进行运算;用户宏功能指令可以把实际值设定为变量,使用户宏功能更具通用性。可见,用户宏功能是用户提高数控机床性能的一种特殊功能。宏功能主体既可由机床生产厂提供,也可由机床用户厂自己编制。使用时,先将用户宏主体像子程序一样存放到内存里,然后用子程序调用指令M98调用。将一群命令所构成的功能,像子程序一样记录在内存中,再把这些功能用一个命令作为代表,执行时只需写出这个代表命令,就可以执行其功能。在这里,所记录的一群命令叫做用户宏主体(或用户宏程序),简称为用户宏(Custom Macro)指令,这个代表命令称为用户宏命令,也称为宏调用命令。使用时,操作者只需会使用用户宏命令即可,而不必去理会用户宏主体功能的具体实现过程。例如,在下述程序流程中,可以这样使用用户宏:主程序 用户宏 O9011G65 P9011 A10 I5; X#1 Y#4;在这个程序的主程序中,用G65 P9011调用用户宏程序O9011,并且对用户宏中的变量赋值:#1=10、#4=5(A代表#1,I代表#4)。而在用户宏中未知量用变量#1及#4来代表。用户宏的最大特征有以下几个方面:(1)可以在用户宏主体中使用变量; (2)可以进行变量之间的运算; (3)可以用用户宏命令对变量进行赋值。 使用用户宏时的主要方便之处在于可以用变量代替具体数值,因而在加工同一类的零件时,只需将实际的值赋予变量即可,而不需要对每一个零件都编一个程序。下面再以一个示意性的例子来说明用户宏的概念。当图8-3中A、B、U、V的尺寸分别为A=20、B=20、U=40、V=20时,其程序为:图8-3 宏程序概念例图O1;G91 G00 X20.0 Y20.0;G01 Y20.0;X40.0;Y-20.0;X-40.0;G00 X-20.0 Y-20.0;但是,当图中A、B、U、V值变化时,则又需要编一个程序。实际上,我们可以将程序写为:O1;G91 G00 XA YB;G01 YV;XU;Y-V;X-U;G00 X-A Y-B;此时,可以将其中变量,用用户宏中的变量#i来代替,字母与#i的对应关系为:A:#1B:#2U:#21V:#22则用户宏主体即可写成如下形式:O9801;G91 G00 X#1 Y#2;G01 Y#22;X#21;Y-#22;X-#21;G00 X-#1 Y-#2;使用时就可以用下述用户宏命令来调用:G65 P9801 A20.0 B20.0 U40.0 V20.0;实际使用时,一般还需要在这一指令前再加上F、S、T指令及进行坐标系设定等。如上所述,当加工同一类尺寸不同的零件时,只需改变用户宏命令的数值即可,而没有必要针对每一个零件都编一个程序。(二)、变量、变量种类及使用方法如前所述,变量是指可以在宏主体的地址上代替具体数值,在调用宏主体时再使用赋值的符号:#i(I=1,2,3,)。使用变量可以使宏程序具有通用性。宏主体中可以使用多个变量,以变量号码进行识别1、变量的形式变量是用符号#后面加上变量号码所构成的,即:#i(I=1,2,3,)。例如,#5,#109,#1005。也可用#的形式来表示,如,#100,#1001-1,#6/2。2、变量的引用在地址符后的数值可以用变量置换。如,若写成F#33,则当#33=1.5时,与F1.5相同。Z-#18,当#18=20.0时,与Z-20.0指令相同。但需要注意,作为地址符的O、N、/等,不能引用变量。例如,O#27、N#1等,都是错误的。3、变量的种类按变量号码可将变量分为空变量、局部(loca1)变量、公共(common)变量、系统(system)变量,其用途和性质都是不同的。变量可分为四种类型。(1)、空变量尚未被定义的变量,被称为。变量#O经常被用作变量使用。该变量不能赋值。未定义的变量有以下性质:在引用未定义变量时,地址符也被视作空。如#1=(空)时,G90 X100 Y#1与G90 X100相同。在运算式中,除了被置换的场合以外,与数值0相同。见表8-1。在如表8-2所示的条件式中,只有EQ、NE的场合,(空)与零不同。表8-1#1=(空)时#1=0时#2=#1#2=(空)#2=#1#2=0#2=#1*5#2=0#2=#1*5#2=0#2=#1+#1#2=0#2=#1+#1#2=0表8-2#1=(空时#1=0时备 注#1EQ#0成 立#1EQ#0成 立是否=#1NQ#0成 立#1NQ#0不成立是否#1GE0成 立#1GE0成 立是否#1GT#0不成立#1GT#0不成立是否(2)、局部变量#1#33为局部变量,局部变量只能在宏程序中存储数据。当断电时局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值。局部变量的数值范围或,如果计算结果超过该范围则发出P/S报警No.111。局部变量#1#33(一个宏程序中的同名变量)从0到4级,主程序是0级。在宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。当每调用一个含有同名变量的宏程序,级别加1,前一级的变量被保存。当一个宏程序结束(执行M99)时,级别减1。例如:主程序宏程序宏程序宏程序宏程序(0级)(1级)(2级)(3级)(4级)O0001O0002O0003O0004 O0005#1=1;#1=2#1=3#1=4#1=5G65P2A2;G65P3A3G65P4A4G65P5A5M99M30M99M99M99(3)、公共变量#100#199、#500#999为公共变量,公共变量在不同的宏程序中意义相同。当断电时,变量#100#199被初始化为空,变量#500#999的数据不会丢失。全局变量的数值范围或,如果计算结果超过该范围则发出P/S报警No.111。(4)、系统变量#1000为系统变量,系统变量用于读和写CNC运行时的各种数据,如刀具的当前位置和补偿值等。系统变量是根据用途而被固定的变量。主要有以下几种(表8-3):表8-3 系统变量变量号码用途#1000#1035接口信号DI#11000#1035接口信号DO#2000#2999刀具补偿量#3000,#3006P/S报警,信息#3001,#3002时钟#3003,#3004单步,连续控制#3007镜像#4001#4018G代码#4107#4120D,E,F,H,M,S,T等#5001#5006各轴程序段终点位置#5021#5026各轴现时位置#5221#5315工件偏置量四)、变量与地址(自变量)的对应关系系统可用两种形式的自变量指定,表8-4为自变量指定I的自变量与变量的对应关系。表8-5为自变量指宾II的自变量与变量的对应关系。表8-4 自变量指定I的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A#1I#4T#20B#2J#5U#21C#3K#6V#22D#7M#13W#23E#8Q#17X#24F#9R#18Y#25H#11S#19Z#26在自变量指定I中,G、L、O、N、P不能用,地址I、J、K必须按顺序使用,其它地址顺序无要求。举例:G65 P3000 L2 B4 A5 D6 J7 K8 正确(J、K符合顺序要求)在宏程序中将会把4赋给#2,把5赋给#1,把6赋给#7,把7赋给#5,把8赋给#6 举例:G65 P3000 L2 B3 A4 D5 K6 J5 不正确(J、K不符合顺序要求)表8-5 自变量指定II的变量对应关系地址(自变量)变量号地址(自变量)变量号地址(自变量)变量号A#1K3#12J7#23B#2I4#13K7#24C#3J4#14I8#25I1#4K4#15J8#26J1#5I5#16K8#27K1#6J5#17I9#28I2#7K5#18J9#29J2#8I6#19K9#30K2#9J6#20I10#31I3#10K6#21J10#32J3#11I722K10#33 自变量指定II使用A、B、C各1次,使用I、J、K各10次。 系统能够自动识别自变量指定I和自变量指定II并赋给宏程序中相应的变量号。如果自变量指定I和自变量指定II混合使用,则后指定的自变量类型有效。 举例:G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000宏程序中:#1:1.0#2:2.0,#3:#4:-3.0#5:#6:#7:5.0说明:I4.0为自变量指定II,D为自变量指定I,所以#7使用指定类型中的D5.0,而不使用自变量指定II中的I4.0。(三)、变量的运算对宏程序中的变量可

温馨提示

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

评论

0/150

提交评论