您好,欢迎访问三七文档
1第六章宏指令编程1第一节FANUC系统宏指令编程第二节SIEMENS系统宏程序应用第三节华中数控宏指令编程思考与练习题2第六章宏指令编程2内容提要宏指令编程是指像高级语言一样,可以使用变量进行算术运算、逻辑运算和函数混合运算和程序编写形式、在宏程序形式中,一般不具备自动编程辅助手段,数控系统的指令功能有限,但却提供宏程序功能时熟练应用宏程序指令进行编程,可以显著地增强机床的加工能力,同时可精简程序量。3第六章宏指令编程3第一节FANUC系统宏指令编程一、A类宏功能应用二、B类宏程序应用4第一节FANUC系统宏指令编程4A类宏功能应用提高数控机床性能的一种特殊功能。使用中,通常把能完成某一功能的一系列指令像子程序一样存入存储器,然后用一个总指令代表它们,使用时只需给出这个总指令就能执行其功能。代表一系列指令的总指令,相当于子程序调用指令。用户宏功能有A、B两类。用户宏功能宏指令5第一节FANUC系统宏指令编程5变量在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即将变量赋给一个地址。变量可以用“#”号和跟随其后的变量序号来表示:#i将跟随在一个地址后的数值用一个变量来代替,即引入了变量。公共变量是在主程序和主程序调用的各用户宏程序内公用的变量。系统变量定义为:有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置信息变量等。6第一节FANUC系统宏指令编程6宏指令G65宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。一般形式G65HmP#iQ#jR#k7第一节FANUC系统宏指令编程7宏功能指令算术运算指令逻辑运算指令三角函数指令控制类指令8第一节FANUC系统宏指令编程8算术运算指令G码H码功能定义G65H01定义,替换#i=#jG65H02加#i=#j+#kG65H03减#i=#j-#kG65H04乘#i=#j×#kG65H05除#i=#j/#kG65H21平方根#i=√#jG65H22绝对值#i=|#j|G65H23求余#i=#j-trunc﹙#j/#k﹚·#kTrunc;丢弃小于1的分数部分G65H24BCD码→二进制码#i=BIN﹙#j﹚G65H25二进制码→BCD码#i=BCD﹙#j﹚G65H26复合乘/除#i=﹙#i×#j﹚÷#kG65H27复合平方根1#i=√#j2+#k2G65H28复合平方根2#i=√#j2-#k29第一节FANUC系统宏指令编程9逻辑运算指令G码H码功能定义G65H11逻辑“或”#i=#j·OR·#kG65H12逻辑“与”#i=#j·AND·#kG65H13异或#i=#j·XOR·#k10第一节FANUC系统宏指令编程10三角函数指令G码H码功能定义G65H31正弦#i=#j·SIN﹙#k﹚G65H32余弦#i=#j·COS﹙#k﹚G65H33正切#i=#j·TAN﹙#k﹚G65H34反正切#i=ATAN﹙#j/#k﹚11第一节FANUC系统宏指令编程11控制类指令G码H码功能定义G65H80无条件转移GOTOnG65H81条件转移1IF#j=#k,GOTOnG65H82条件转移2IF#j≠#k,GOTOnG65H83条件转移3IF#j>#k,GOTOnG65H84条件转移4IF#j<#k,GOTOnG65H85条件转移5IF#j≥#k,GOTOnG65H86条件转移6IF#j≤#k,GOTOnG65H99产生PS报警PS报警号500+n出现12第一节FANUC系统宏指令编程12(1)由G65规定的H码不影响偏移量的任何选择;(2)如果用于各算术运算的Q或R未被指定,则作为0处理;(3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先向小程序号查找。(4)转移目标序号可以是变量。注意事项13第一节FANUC系统宏指令编程13有一空间曲线槽,由两条正弦曲线Y=35sinX和Z=5sinX迭加而成,刀具中心轨迹如下图所示。槽底为r=5mm的圆弧。为了方便编制程序,采用粗微分方法忽略插补误差来加工。以角度X为变量,取相邻两点间的X向距离相等,间距为0.5°,然后用正弦曲线方程Y=35sinX和Z=5sinX分别计算出各点对应的Y值和Z值,进行空间直线插补,以空间直线来逼近空间曲线。加工时采用球头铣刀(r=5mm)在一平面实体零件上铣削出这一空间曲线槽。加工坐标系设置见下图。例:应用宏功能指令加工空间曲线14第一节FANUC系统宏指令编程1415第一节FANUC系统宏指令编程15#500--Z向每次切入量为2mm;设置时输入“2000”;#501--Y=35sinX的幅值为35mm,设置时输入“35000”;#502--Z=5sinX的幅值为5mm,设置时输入“5000”;#503--X的步距为0.5°时的终点值360°;设置时输入“360.”。设置保持型变量16第一节FANUC系统宏指令编程16#100--X当前值,为度;#110--Y坐标当前值,为mm;#120--Z=5sinX的值,为mm;#130--Z向每次进刀后的初始值,为mm;#140--Z坐标当前值,为mm。设置操作型变量17第一节FANUC系统宏指令编程17N10G65H01P#100Q0N20G91G01Z-#500F100N30G65H02P#130Q#130R-#500N100G65H02P#100Q#100R0.5N110G65H31P#110Q#501R#100N120G65H31P#120Q#502R#100N130G65H02P#140Q#130R#120子程序0000418第一节FANUC系统宏指令编程18N140G90G01X#100Y#110Z#140N150G65G84P-100Q#100R#503N160G91Z15N170G90X0Y0N180G91G01Z-15F200N190M9919第一节FANUC系统宏指令编程19N10G54G90X0Y0Z15N20G00X-10Y-10N30G01X0Y0M03S600F200N40G65H01P#130Q0N50G01Z0N60M98P30004N70G00Z15N80M30主程序0000520第一节FANUC系统宏指令编程20B类宏功能应用由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。宏程序的代号称为宏指令。宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。宏程序定义宏程序特点21第一节FANUC系统宏指令编程21基本指令调用指令格式:G65P(宏程序号)L(重复次数)(变量分配)宏程序的编写格式与子程序相同。变量。算术运算指令。控制指令。22第一节FANUC系统宏指令编程22变量变量的分配类型I变量的级别本级变量#1~#33作用于宏程序某一级中的变量称为本级变量,即这一变量在同一程序级中调用时含义相同,若在另一级程序(如子程序)中使用,则意义不同。本级变量主要用于变量间的相互传递,初始状态下未赋值的本级变量即为空白变量。通用变量#100~#144,#500~#531可在各级宏程序中被共同使用的变量称为通用变量,即这一变量在不同程序级中调用时含义相同。因此,一个宏程序中经计算得到的一个通用变量的数值,可以被另一个宏程序应用。23第一节FANUC系统宏指令编程23算术运算指令(1)变量的定义和替换(2)加减运算(3)乘除运算(4)函数运算(5)运算的组合(6)括号的应用24第一节FANUC系统宏指令编程24控制指令(1)条件转移编程格式:IF[条件表达式]GOTOn(2)重复执行编程格式:WHILE[条件表达式]DOm...ENDm25第六章宏指令编程25第二节SIEMENS系统宏程序应用一、计算参数二、赋值方式三、控制指令四、应用举例26第二节SIEMENS系统宏程序应用26计算参数R0~R99----可自由使用;R100~R249----加工循环传递参数(如程序中没有使用加工循环,这部分参数可自由使用);R250~R299----加工循环内部计算参数(如程序中没有使用加工循环,这部分参数可自由使用)。27第二节SIEMENS系统宏程序应用27赋值方式为程序的地址字赋值时,在地址字之后应使用“=”,N、G、L除外。例:G00X=R228第二节SIEMENS系统宏程序应用28控制指令IF条件GOTOF标号IF条件GOTOB标号29第二节SIEMENS系统宏程序应用29用镗孔循环LCYC85加工图6.6所示矩阵排列孔,无孔底停留时间,安全间隙2mm。应用举例30第二节SIEMENS系统宏程序应用30N10G0G17G90F1000T2D2S500M3N20X10Y10Z105N30R1=0N40R101=105R102=2R103=102R104=77R105=0R107=200R108=100N50R115=85R116=30R117=20R118=10R119=5R120=0R121=10N60MARKE1:LCYC60N70R1=R1+1R117=R117+10N80IFR15GOTOBMARKE1N90G0G90X10Y10Z105N100M231第三节华中数控宏指令编程311.宏变量#0~#49当前局部变量#50~#99全局变量#100~#199刀补号100~199的补偿值#200~#2490层局部变量#250~#2991层局部变量#300~#3492层局部变量#350~#3993层局部变量#400~#4494层局部变量#450~#4995层局部变量#500~#5496层局部变量一、宏变量及常量32第三节华中数控宏指令编程32#550~#5997层局部变量#600~#699刀具长度寄存器H0~H99#700~#799刀具半径寄存器D0~D99#800~#899刀具寿命寄存器#1195~#1199为固定循环使用2.常量PI:圆周率πTRUE:真FALSE:假33第三节华中数控宏指令编程33运算符与表达式1.算术运算符2.条件运算符3.逻辑运算符4.函数5.表达式用运算符连接起来的常数,宏变量构成表达式。6.赋值语句格式:宏变量=常数或表达式7.条件判别语句IF,ELSE,ENDIF8.循环语句WHILE,ENDW34第三节华中数控宏指令编程34例:要求加工椭圆的内腔轮廓。设椭圆轮廓表面还有一个加工余量,则加工椭圆的内腔轮廓只要按轮廓编程的方法即可,但由于椭圆为高阶曲线,不能直接用圆弧插补指令来编程,设想将椭圆轮廓分成若干线段,在这每一线段上做直线或圆弧插补,这时需要计算出这些线段端点的坐标,直接计算较麻烦,可以将其坐标值用宏变量来表示。35第三节华中数控宏指令编程352222cossin1baab36第三节华中数控宏指令编程36程序%02005N10G92X100Y100Z100;N20G90G40G16;N30G00X0Y0;N40M03S500;N50G00Z-5;N60#1=50;N70#2=25;N80#3=50;N90#4=0;N100WHILE[#4LE360]DO1;N110G01G41X#3Y#4D02F50;N120#4=#4+1;N140#6=#2*#2*COS[#4]*COS[#4];N150#3=#1*#2*SQRT[1/[#5+#6]];N160END1;N170G00G40X0Y0;N180G15;N190G00Z100M05;N200X100Y100;N210M30;37第六章宏指令编程37思考与练习题1.()宏程序的特点是可以使用变量,变量之间不能进行运算。2.()A类宏指令与B类宏指令只是调动格式不一样。3.()在“G65H01P#100Q1”中,H01是指01号偏移量。4.()一般规定加工中心的宏编程
本文标题:FANUC系统
链接地址:https://www.777doc.com/doc-4426642 .html