北京FANUC-宏教程_第1页
北京FANUC-宏教程_第2页
北京FANUC-宏教程_第3页
北京FANUC-宏教程_第4页
北京FANUC-宏教程_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

用户宏程序,一、变量的使用二、系统变量三、运算命令四、循环语句五、程序案例六、宏程序的调用,主要内容:,用户宏程序,形状类似但大小不同(圆、方及其它),其它,自动化功能(刀具长度测量)换刀功能,特殊形状(椭圆、球等),大小相同但位置不同(组孔、阵列等),宏程序的适用范围,加工程序编程,生产管理,PMC强电控制,用户宏程序,主程序,宏程序,用途,用户宏程序,宏程序相关的参数,#5(SBM)用户宏程序语句中,0:单程序段不停止1:单程序段停止,#6(CCV)复位(Reset)后,公共变量#100#1990:清空1:不清空#7(CLV)复位(Reset)后,局部变量#1#330:清空1:不清空0i-D没有6001#7设置,用户宏程序,#4(NE9)编辑程序号为90009999的程序0:不禁止1:禁止,#6(NPE)程序登录时,对含有M02,M99,M30的程序段0:视为登录结束1:不视为登录结束,NE8,程序保护,用户宏程序,变量的表示变量的种类变量的显示与设定变量的使用未定义变量,一、变量,用户宏程序,1.变量的表示,例:#10,#1005表达式也可以用于指定变量号,需封闭在括号中。例:#2-1,#500/2可在程序段结尾加注释说明变量内容,需用括号封闭。例:#2=#3-1(TOOLNUMBER);,变量符号(#)+变量号,变量的表示,用户宏程序,2.变量的种类,参数:公共变量保护NO.6031、NO.6032,用户宏程序,用户宏程序,3.局部、公共、系统变量的用途和特性,局部变量:#1#33,初始状态为,自变量输入可用程序或MDI方式输入,可以自由使用,属性READ/WRTIE.公共变量:#100#199、#500#999,共600个,是主程序或调用的各子程序,各个宏之间的通用,用途没有在系统中确定,用户可自由使用,#100#199断电不保护,#500#999断电保护,属性READ/WRTIE.公共变量的写保护:参数60316032对#500#999进行保护,属性只读,防止输入/全清的误操作.系统变量:在系统中固定,属性只读(#3011)、只写(#3000)、可读可写(#2201).系统常量:其值不变的常量,属性只读.,用户宏程序,4.变量的显示与设定,变量的显示,1).按下MDI面板上的功能键,OFFSETSETTING,2).按几次键,直至出现,用户宏程序,3).按下显示宏程序变量值,用户宏程序,4.按、显示局部和公共变量值,用户宏程序,公共变量的设定,1.找到显示公共变量的画面。2.将光标移至欲设定的变量号上。键入变量号并按键按换页键、和光标键将光标移至欲设定的变量号上3.键入数据并按,用户宏程序,5.变量的使用,#i=,将计算结果赋值给对应的变量号,常数、变量、函数和运算符的组合,表示方法,#1=#2+100;#1=#2+#18SIN#5;,小数点,用户宏程序,当在程序中定义变量值时,小数点可以省略,#1=123;,#1,123.000,变量的引用,跟在地址后面的数值可用变量来代替。,G01X10.0F#1;,F,500,把#1值作为F的指令值,G01X-#1+#2F#1;,把表达式放在括号中,变量的赋值,变量赋值范围,用户宏程序,把变量用于地址数据的时候,被引用变量的值根据地址的最小设定单位自动地四舍五入,G01X#1;当#1赋值为12.3456时,实际指令值为G01X12.346;设定单位1/1000mm(IS-B)NO.1013,改变引用变量的值的符号,要把负号放在#的前面,G00X-#1;,用户宏程序,当引用未定义的变量时,变量及地址字都被忽略,G00X#1Y#2;当#1=0,#2为空时G00X0;,程序号、顺序号和任选程序段跳转号不能使用变量,O#1;N#3Y200.0;/#2G00X10.;,用户宏程序,参数6008#0为0,最大值,最小值超出范围出现PS0111#报警参数6008#0为1,最大值,最小值,变量的范围,用户宏程序,6.未定义变量,当变量值未定义时,这样的变量成为变量,变量#0总是空变量,它不能写只能读,未定义变量的引用,当引用一个未定义的变量时,地址本身也被忽略,局部公共、值空,用户宏程序,系统变量(常量)通过变量号指定,也可事先准备系统变量(常量)名称来指定.它由(下划线)开始8个英文字母、数字构成.对轴和刀具补偿,作为名称的下标,可用n(n为整数),n可用即运算格式指定.,7.系统变量(常量)名称,O1212,用户宏程序,用户宏程序,用户宏程序,X#21,Y#22,X-#21,Y-#22,用户宏程序,二、系统变量,系统变量读取CNC内部信息数据,如模态信息、坐标位置、刀具补偿等,系统变量对自动化程序和通用程序十分重要.系统变量/常量n表示下标,属性R表示只读、W表示只写、R/W表示可读/可写.,用户宏程序,刀补C,参数6000#3=0.补偿个数小于等于200个,长度补偿参数6000#3=1,补偿个数小于等于200个.长度补偿,参数8136#6=0,用户宏程序,补偿个数为400个(小于等于200个也可使用#2001#2800),参数6000#3=0参数6000#3=1,#2206,用户宏程序,CNC报警,参数6008#1=0表达式后为不超过26个字符的报警信息屏幕上显示报警号和报警信息,报警号为n的值加上3000,#3000=1(WRONGDATAINPUT);,屏幕显示:,3001WRONGDATAINPUT,例:,用户宏程序,以下两种情况:参数MCA(No.6008#1)=0时#3000=n(ALARMMESSAGE);(n:0200)将3000与变量#3000的值相加的报警号和报警信息一起在画面上显示出来。(例)#3000=1(ALARMMESSAGE);报警画面上显示出“3001ALARMMESSAGE”。参数MCA(No.6008#1)=1时#3000=n(ALARMMESSAGE);(n:04095)继MC后,画面上显示出#3000报警号和报警信息。(例)#3000=1(ALARMMESSAGE);报警画面上显示出“MC0001ALARMMESSAGE”。,用户宏程序,时间信息,计时器#3001、#3002(属性:R/W),21474836489544.37176,用户宏程序,用户宏程序,自动运行控制,当电源接通时复位,#3003的值为0.当单程序段停止无效时,即使操作面板上的单程序段开关设为ON,也不执行单程序段停止.当不指定等待辅助功能M、S和T功能完成时,在辅助功能完成之前程序执行到下列程序段而且分配完成信号DEN不输出.注意:不要在没有等待完成信号下指令下一个辅助指令.,用户宏程序,也可通过变量名称实现个别控制.,用户宏程序,准确停止方式G09G61变量名称指令,用户宏程序,当电源接通时该变量的值为0.当进给暂停无效时.1当进给暂停按钮被按下时,机床在执行完当前程序段然后执行单段停止,但是当用变量#3003使单程序段方式无效时,单程序段停止不执行2当进给暂停按钮压下又松开时,进给暂停灯亮但是机床不停止,程序继续执行,并且机床停在进给暂停有效的第一个程序段.当进给速度倍率无效时,总是100%的倍率,而不管机床操作面板上的进给速度倍率开关的设置.,用户宏程序,例如,攻丝宏程序,用户宏程序,SETTING值,用户宏程序,伴随信息同时停止#3006(属性W),宏指令发出#3006=1(MESSAGE),程序即可在一个程序段停止,控制输入输出字符26个以内信息使用括弧括起来.,用户宏程序,镜像状态,镜像的状态#3007(R),通过读取#3007,即可得知每个轴在该时刻的镜像(设定或DI)的状态,轴与二进制显示时的各位(bit)对应:,用户宏程序,用户宏程序,日期/时间,时刻#3011、#3012(属性:R),通过读取系统变量#3011、#3012,即可得知年/月/日、时/分/秒。本变量为只读变量。想要改变年/月/日、时/分/秒时,在计时器画面上进行。例:2004年1月20日下午4时17分5秒#301120040120#3012161705,用户宏程序,加工零件数,通过运行时间和零件数显示功能,可在画面上显示出所需零件数和已加工的零件数。已加工的零件数(累计值)超过所需零件数时,系统会向机床端(PMC端)输出信号。,利用系统变量来读写零件数的累计值和所需零件数,用户宏程序,用户宏程序,模态信息,1.#4001-#4130程序段前指定的模态信息2.#4201-#4330当前正在执行的程序段的模态信息,用户宏程序,模态信息分类,参数:NO.5431G60,用户宏程序,模态信息分类,用户宏程序,系统变量的存储,O0001;N10G00G90X100.0Y50.0;N11G65P9999U90.0V120.0;N12X200.0Y100.0;M30;,O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;,O9999;#30=#4001;#31=#4003;#32=#4109;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;G#30G#31F#32;M99;,用户宏程序,位置信息,用户宏程序,自动刀具长度测量,用户宏程序,自动刀具长度测量,#11000+#11=#5,用户宏程序,三、运算指令,表达式运算命令的种类运算顺序,用户宏程序,运算指令右边的是常量、变量、函数或算符的组合可以使用常量.表达式中使用的不带数点的常量,表达式,用户宏程序,1.运算命令的种类,加减乘除,112,112,用户宏程序,三角函数的角度单位为度。如:9030表示为90.5运算结果范围,三角函数,用户宏程序,反三角函数的取值范围,#1=SIN90*;#1=COS90;#1=TAN45;#1=ATAN1/1;#1=ATAN-1/-1*;,1,0,1,45.000,225.000,#1#1#1#1#1,反三角函数,(1)自变量-90-90,用户宏程序,#2=2;#1=SQRT#2;,1.414,#1,其它函数,119,用户宏程序,下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分ROUND函数:在算术运算或逻辑运算指令中使用时,在第1个小数位置四舍五入*在NC语句地址中使用时,根据地址的最小设定单位将指定值四舍五入,数据处理,用户宏程序,1.0,2.0,-1.0,-2.0,1.0,1.2346,-2.0,1.6794,计算相应的变量值#1,下取整(FIX):舍去小数点以下部分上取整(FUP):将小数后部分进位到整数部分,用户宏程序,2.运算顺序,函数乘除运算(,/,AND)加减运算(+,-,OR,XOR),#1=#2+#3SIN#4;,用户宏程序,可以利用来改变运算顺序,可嵌套5次,用户宏程序,可以使用函数名前面的两个字母来指定该函数。ROUNDROFIXFI,用户宏程序,表达式括号的使用,在表达式中使用的括号为方括号,注意圆括号()用于程序注释.除法运算中分母为”0”时,则会出现(PS0112#报警).当指定超出控制轴数时,则会出现(PS0115#报警变量号超限).括号的嵌套超过5位,则会出现(PS0118#报警).自然对数,当逆对数(#j)小于等于0时,则会出现(PS0119#报警).指数函数,运算结果溢出时,则会出现(PS0119#报警).,用户宏程序,四、控制指令,无条件转移(GOTO语句)条件转移(IF语句)循环(WHILE语句),用户宏程序,改变流程,1在程序中,可以使用GOTO语句和IF语句改变流向.2转移和重复有下列三种,用户宏程序,1.无条件转移(GOTO语句),GOTOn;n:程序段号(1-99999),无条件地转移到程序段n去。,n也可用变量或表达式来代替GOTO10;GOTO#10;当顺序号在199999范围以外,就会出现(PS1128#报警)警告:不可在一个程序段中指定多个相同顺序号的程序段,利用GOTO语句转移时,转移目的地不确定,十分危险.,用户宏程序,用户宏程序,用户宏程序,IFGOTOn;,若满足,下步操作转移到程序段号为n的程序段去。若不满足,执行下个程序段。,2.条件转移(IF语句),IFTHEN;,若满足,执行THEN后的宏程序语句,只执行一个语句。IF#1EQ#2THEN#3=0;,用户宏程序,条件表达式,条件不满足时执行的操作,条件满足时,是,否,IF,GOTO,应用:过切检查,用户宏程序,用户宏程序,#j和#k也可用来代替。,条件表达式,114,用户宏程序,程序例子,用户宏程序,3.循环(WHILE语句),WHILEDOm;(m=1,2,3),条件成立时执行的程序,ENDm;,DOm和ENDm必须成对使用,并以其中的m作为识别号相互识别。m的范围为1,2,3。可以根据需要多次使用。,126,用户宏程序,用户宏程序,END1;程序WHILEDO1;,DO的区域不能交叉,DO一定要在END之前规定,识别号(1,2,3)可多次使用,用户宏程序,可以从DO区域的内部向外部转移,DO循环可以嵌套3级,不可以从DO区域的外部向内部转移,用户宏程序,限制,无限循环:处理时间:未定义的变量:,用户宏程序,G00G91X100.0;Y100.0;,要求:对以上动作重复执行三次。,设#1为动作执行次数,初始值为零。,用户宏程序,#1=0;G00G91X100.0;Y100.0;#1=1;G00G91X100.0;Y100.0;#1=2;G00G91X100.0;Y100.0;#1=3;,#1=0;WHILE#1LT3DO1;G00G91X100.0;Y100.0;#1=#1+1;END1;,用户宏程序,常用格式,(当前值)=(初值);WHILE(当前值)比较(目标值)DOm;(执行循环操作);(当前值)=(当前值)1;ENDm;,用户宏程序,深孔加工,G00G90Z0;G01Z-10.F300;G00Z0;G00Z-10.;G01Z-20.F300;G00Z0;G00Z-20.;G01Z-30.F300;G00Z0;,G00G90Z#2;G01Z#1F300;G00Z0;,#1当次钻孔深度坐标#2前次钻孔深度坐标,用户宏程序,#26=-30.0;#17=-10.0;#1=0;#2=0;WHILE#1GT#26DO1;#1=#1+#17;G00G90Z#2;G01Z#1F300;G00Z0;#2=#1;END1;,使用WHILE语句限制循环次数,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,用户宏程序,#26=-35.0;#17=-10.0;#1=0;#2=0;WHILE#1GT#26DO1;#1=#1+#17;IF#1GE#26GOTO1;#1=#26;G00G90Z#2;G01Z#1F300;G00Z0;#2=#1;END1;,使用IF语句限制最终钻孔深度,N1,计算当次钻孔深度坐标,与最终钻孔深度比较,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,记录当次钻孔深度,用户宏程序,#26=-35.0;#17=-10.0;#1=0;#2=0;#3=0;WHILE#1GT#26DO1;#1=#1+#17;IF#1GE#26GOTO1;#1=#26;G00G90Z#2+#3;G01Z#1F300;G00Z0;#2=#1;#3=1.0;END1;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比较,钻孔深度空程量初始化,钻孔深度空程量赋值,用户宏程序,#26=-35.0;#18=3.0;#17=-10.0;#9=300;#1=#18;#2=#18;#3=0;WHILE#1GT#26DO1;#1=#1+#17;IF#1GE#26GOTO1;#1=#26;G00G90Z#2+#3;G01Z#1F#9;G00Z#18;#2=#1;#3=1.0;END1;M30;,N1,钻孔最终深度赋值,每次钻孔深度赋值,当次钻孔深度坐标初始化,前次钻孔深度坐标初始化,计算当次钻孔深度坐标,记录当次钻孔深度,与最终钻孔深度比较,钻孔深度空程量初始化,钻孔深度空程量赋值,初始点坐标赋值,进给速度赋值,返回,用户宏程序,粗铣圆内腔,#5:圆半径的增量#18:最终圆弧半径,O9999;#5=10.0;#18=45.0;#1=0;#2=0;WHILE#1LT#18DO1;#1=#1+#5;IF#1LE#18GOTO1;#1=#18;G01G91Y#1-#2F300;G02J-#1;#2=#1;END1;M30;,N1,当次圆弧半径,前次圆弧半径,用户宏程序,程序案例,O0099G00G90G54X0Y0G43Z5.H1S1500M3G1Z-5.F300#5=10#18=45#1=0#2=0,WHILE#1LT#18DO1#1=#1+#5IF#1LT#18GOTO1#1=#18N1G1G91Y#1-#2F300G2J-#1#2=#1END1G00Z100.M5M30,用户宏程序,六、宏程序调用,非模态调用G65模态调用G66G、M代码调用宏程序,用户宏程序,O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M30;,简单的四边形铣削,用户宏程序,简单的四边形铣削,O0001;M98P9999;M30;,O9999;#21=90.0;#22=120.0;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;,O0001;G65P9999U90.0V120.0;M30;,用户宏程序,G65PpLl自变量赋值;,要调用的程序号,重复次数,用G65指令,把由P指令的宏程序体调用L次L的缺省值为1按照自变量赋值的规定,将自变量的实际数值调到相应的程序体中调用宏程序有2类:宏程序调用和子程序调用,MDI方式也有效,1.非模态调用G65,用户宏程序,O0001;G65P9010L2A1.0B2.0;M30;,O9010;#3=#1+#2;IF#3GT360GOTO9;G00G90X#3;N9M99;,用户宏程序,有两种形式的自变量赋值规定:,自变量赋值自变量赋值,用户宏程序,自变量赋值,对字母A-Z后加数值来赋值,但G,L,N,O,P除外I,J,K须按字母顺序指定,用户宏程序,用户宏程序,G65P9003X30.Y45.Z-3.F300;,#9=300;,#24=30.0;,#25=45.0;,#26=-3.0;,O9003;G1G91X#24Y#25Z#26F#9;M99,用户宏程序,自变量赋值,I,J,K的下标代表自变量赋值的顺序,在实际编程中不写,用户宏程序,G65A1.0B2.0I-3.0I4.0D5.0P1000;,CNC内部自动识别自变量赋值和自变量赋值。如果自变量赋值和自变量赋值混合指定的话,后指定的自变量类型有效,自变量指定的混合,I1#4,I2#7,#7,用户宏程序,系统变量的存储,O0001;N10G00G90X100.0Y50.0;N11G65P9999U90.0V120.0;N12X200.0Y100.0;M30;,O9999;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;M99;,O9999;#30=#4001;#31=#4003;#32=#4109;N1G01G91X#21F300;N2Y#22;N3X-#21;N4Y-#22;G#30G#31F#32;M99;,用户宏程序,倾斜的四边形加工,O9999;#30=#4001;#31=#4003;#32=#4109;#10=#21*COS#1;#11=#21*SIN#1;#12=#22*COS90+#1;#13=#22*SIN90+#1;N1G01G91X#10Y#11F300;N2X#12Y#13;N3X-#10Y-#11;N4X-#12Y-#13;G#30G#31F#32;M99;,O0001;G92X0Y0;G00G90X100.0Y50.0;G65P9999U100.0V50.0A30.0;M30;,A,C,B,D,用户宏程序,深孔钻削,O0001;G00G90Z50.0;G65P9999Z-25.0R3.0Q-10.0F300;M30;,O9999;#1=#18;#2=#18;#3=0;WHILE#1GT#26DO1;#1=#1+#17;IF#1GE#26GOTO1;#1=#26;G00G90Z#2+#3;G01Z#1F300;G00Z#18;#2=#1;#3=1.0;END1;M30;,N1,上一页,用户宏程序,内圆铣削,O9999;#30=#4001;#31=#4003;#32=#4109;#1=#13000+#7;#2=#18-#1;IF#2LE0GOTO9;#3=#2/2;N1G01G91X#3Y#3F#9;N2G02G17X#3Y-#3R#3;N3I-#2;N

温馨提示

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

评论

0/150

提交评论