调试数控车床宏程序.doc_第1页
调试数控车床宏程序.doc_第2页
调试数控车床宏程序.doc_第3页
调试数控车床宏程序.doc_第4页
调试数控车床宏程序.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

用SimuNcLathe3.0调试数控车床宏程序主要内容宏程序的基本原理当前各数控系统生产厂家的宏程序语法GSK980,KND1000T,FANUC O系列的A类宏程序华中世纪星的宏程序西门子801、802的宏程序FANUC型B类宏程序不少数控车床编程员对宏程序的使用很不熟悉,由于宏程序的编写需要一些逻辑分析能力,如果直接在车床上编制调试一个宏程序,由于受环境干扰等因素影响,常常需要修改多次也不一定能成功。这就限制了宏程序的使用。笔者新近推出的SimuNcLathe3.0在支持宏程序方面作了巨大的改进,现在,编程员可以安静地坐在电脑前,仔细地考虑零件的加工过程,分析其中的逻辑关系,编制、调试并修改宏程序直到成功,然后再输入数控系统用于实际加工。宏程序的基本原理:宏程序实际上包括了二部份内容:变量及逻辑跳转或逻辑循环。变量:宏程序中可以使用变量来给地址码赋值,一般多用于坐标地址X、Z或U、W,同时可以使用表达式(算术四则运算及函数等)给变量赋值。这样就可以实现编制同一个程序,用于同类结构的零件只是尺寸有所不同的各种零件加工(只要修改少数几个参数即可用于不同的零件)。宏程序作为一个子程序保存,在主程序中给必要的参数(变量)赋值,然后调用子程序。本模拟软件只支持一层子程序调用,不支持在子程序中再调用下一层子程序(这种情况很少用到)。为便于用户调试分析宏程序,本模拟软件的主菜单测量与查看下有子菜单宏变量值可以查看当前的宏变量值。逻辑跳转或逻辑循环:可以使程序实现智能化判断,根据一定的条件决定执行或不执行某些程序段,继续一个循环或退出循环。这样可以实现一些复杂形状的加工。当前各数控系统生产厂家的宏程序语法当前各数控系统厂家的宏程序语法大致分为二大类:一类是以GSK980(当前版本是GSK980TDa)为代表,使用G65 H* P* Q* R*指令来实现各种运算,其中H*表示运算方式类别,P*为目标操作数,Q*为第一源操作数,R*为第二源操作数;在计算过程中不支持表达式,使用这一类语法系统的数控产品,除了广州数控外,还包括KND1000;FANUC A类(FANUC的早期产品如FANUC OTD)。该类宏程序的逻辑运算是通过G65 H80至G65 H86的条件转移指令(H80是无条件转移)来实现的,灵活使用这些指令,实际上可以实现所有的逻辑运算功能,缺点是所编制的程序太繁琐,阅读与分析程序不直观。另一类是以FANUC B类宏程序为代表(FANUC Oi系列),可以使用人们所熟悉的等号(=)与加减乘除(+-*/)等运算符组成表达式直接给变量赋值;在条件表达式中使用英文单词缩写GE、GT、LE、LT。EQ、NE来表示大于等于、大于、小于等于、小于、等于、不等于;(也有直接使用更直观的比较符=、 、 =、 、 =、 、如西门子)。跳转与循环指令主要有IF、WHILE,后者用来实现循环,即当条件满足时重复执行WHILE至END间的程序段;IF的用法则比较多,大致上有以下这些用法:在FANUC B类中,有IF GOTO及IF THEN二个用法,前者用于当条件满足时跳转到指定的程序段运行;后者用于当条件满足时执行一个命令。在华中世纪星中,有IE .ENDIF及IF. ELSE.ENDIF;前者当条件满足时时执行其中的程序段;后者是当条件满足时执行IF至ENDIF间的程序段,不满足时执行ELSE至ENDIF间的程序段。在西门子801/802中,没有WHILE这类循环语句,完全依靠IF命令来实现跳转或循环功能,IF.GOTOF是当条件满足时向前跳转到指定程序段,一般用来在某些情况下避免运行一些程序段;IF.GOTOB是向后跳转,一般用来重复执行某些程序段,可以使用这个命令来实现循环。GSK980,KND1000T,FANUC O系列的A类宏程序GSK980T系列宏指令编程GSK的980TA、980TB、980TD、980TDa都的宏指令编程功能,但具体使用上有不少差别,目前来看以980TDa功能最完善,本模拟软件也是以GSK980Tda为依据、同时兼顾其他数控系统,来考虑宏程序模块的构思。(一)宏变量980TDa的宏变量一般使用的公用变量,有#100-#199,#500-#999可使用(前者为失电不保持,后者为失电保持)。980TD的公用变量有#200-#231,#500-#515;980TA的公用变量只有#200-#231。本模拟软件允许使用上述范围内的变量,但软件处理时以变量号的右二位数进行识别,请不要把#101与#501同时使用在同一程序中。另外,本软件在退出后,所有变量值均不保存。(二)用宏变量置换指令地址后面的数值:程序段中的指令字地址可以用宏变量来设置其数值,但本模拟软件仅限于给坐标地址(X、Z、U、W);园弧半径(R);进刀量或螺纹导程(F、I)提供数值,其他功能如:用变量置换变量号,置换G代码后面的其他的数值等,一般编程中不大可能用到,本软件未作考虑。(三)本模拟软件所支持的G65功能:本模拟软件对G65中最实用的各项功能给予支持,包括:H01-H05:赋值及四则运算H21:开平方H31-H34:三角函数H80-H86:跳转指令其他如二进制运算等,一般很少用到,本软件未作考虑,上述功能以980TDa为准,980TA等型号所支持的功能要少一些。(四)关于长度单位980TDa中没有长度单位方面的问题,当把宏变量值用作尺寸坐标时,总是以毫米为单位,宏变量也可以接受小数点,三角函数的角度单位是度。本模拟软件的编程原则与980TDa一致。980TD的宏变量值不能接受小数点,用作长度时单位是0.001毫米,三角函数的角度单位是0.001度,980TD的用户(及KND、FANUC)如使用本软件调试宏程序,请注意应在模拟软件上按980TDa编程,实际输入数控系统时再对程序作必要的修改。980TA的各个版本的宏变量值代表的意义可能还要复杂些,同样是1,究竟代表0.001、还是1000、还是真正的1,笔者目前没有该类数控系统可以实验,请980TA的用户自己在机床上试验后再作结论。KND1000T宏指令编程:KND1000T的公用变量与980TD相同,有#200-#231,#500-#515可使用,宏变量值也不能接受小数点,三角函数的角度单位也是0.001度,宏变量值用于长度时,单位是1毫米还是0.001毫米,请用户在自己的机床上试验确定。本模拟软件上编程时应注意的事项与GSK980相同。FANUC O系列的A类宏指令编程:FANUC O系列的A类宏程序使用的公共变量有#100-#149,#500-#549,其他方面与GSK980TD相似,宏变量值也不接受小数点,作为长度值时单位一般也是0.001毫米,三角函数的角度单位也是0.001度。本模拟软件上编程时应注意的事项与GSK980相同。为便于用户调试分析宏程序,本模拟软件的主菜单测量与查看下有子菜单宏变量值可以查看当前的宏变量值,注意请按变量号的后二位数查看(如#563号变量的值,在列表中对应为#63号变量的值。)本软件的文件夹PrgGSK980典型宏程序下有几个宏程序实例供用户参考,均是以GSK980Tda系统进行编制的,如要在其他系统上运行,应对表示尺寸及角度的变量值作修改华中世纪星的宏程序(一)宏变量华中世纪星的宏变量分为当前局部变量(#0-#49),全局变量(#50-#199),本模拟软件支持这些变量号,但应注意#0-#49的用法有些特殊,一般可使用#50-#199号变量,#200以上的局部变量本软件不支持。本软件在退出后,所有变量值均不保存。(二)用宏变量置换指令地址后面的数值:程序段中的指令字地址可以用宏变量来设置其数值,但本模拟软件仅限于给坐标地址(X、Z、U、W);园弧半径(R);进刀量或螺纹导程(F、J)提供数值,其他功能如:用变量置换变量号,置换G代码后面的数值等,一般编程中不大可能用到,本软件未作考虑。(三)本模拟软件所支持的运算符、表达式及语句:(1) 全部算术运算符+-*/(2) 全部条件运算符EQ、NE、GT、GE、LT、LE(3) 函数:SIN、COS、TAN、ATAN、SQRT(其余函数因很少使用或可用其他方法替代,故未作考虑)(4) 表达式:用运算符连接起来的常数、宏变量、函数(5) 表达式中可使用方括号: (6) 本模拟软件不支持AND、OR、NOT(实际使用中很少用到)(7) 支持用等号连接的赋值语句(8) 支持条件判别语句:IF ELSE ENDIF(9) 支持循环语句:WHILE ENDW(10) 不支持赏量PI,TRUE,FALSE(如程序中偶然要用到这些常量可以用其他方法代替)(四)关于M98程序段中的参数与对应的局部变量华中世纪星用M98来调用宏程序,并可在M98程序段中带上若干参数以向宏程序传递局部变量值,参数地址码从A到Z对应的局部变量号为#0到#25,同时#30,#32号局部变量分别是调用宏程序时的X、Z坐标值(经笔者在HNC-18iT上调试观察,#30号变量保存的是X/2即半径值)本模拟软件支持这一功能,但不支持系统宏AR(由于本软件一律以U、W作为相对坐标,实际编程时可以不使用AR这个系统宏。)(五)关于表达式华中世纪星可以在下列情况中使用表达式(1) 给地址码赋值:主要是给坐标地址码赋值,如G00 X#23+#8 Z2;注意此时应使用方括号把表达式括住,并注意X#23+#8整个是一个指令字,中间不得有空格。(2) 给宏变量赋值:如:#51=#51*2/#52;注意等号右边的计算式部分应看作一个整体,中间不应有空格。(3) 条件表达式:用条件运算符EQ等,连接二个表达式进行比较,从而判断条件是否成立;(用在IF或WHILE语句中),此时条件运算符二边的表达式应分别看作是一个整体,表达式内不应有空格,但条件运算符EQ等的前后应有一个空格。如:IF #61 LT #52+#53。本软件的文件夹PrgHNC典型宏程序下有几个宏程序实例供用户参考。西门子801、802的宏程序实际上西门子数控系统中并没有“宏程序”或“宏指令”这一提法,西门子数控系统中相当于“宏程序”的功能是用参数及条件编程来实现的。(一)计算参数西门子数控系统的计算参数有R0-R299,本模拟软件可使用R0-R199号计算参数,一般使用R0-R99。本软件在退出后,所有计算参数值均不保存。(二)用计算参数置换指令地址后面的数值:程序段中的指令字地址可以用宏变量来设置其数值,但本模拟软件仅限于给坐标地址(X、Z);园弧半径(CR=);进刀量(F)螺纹导程(K)提供数值。(三)本模拟软件所支持的运算符、表达式及语句:(1)全部算术运算符+-*/(2)全部比较运算符:=、=、=(3)函数:SIN、COS、TAN、ATAN、SQRT(其余函数因很少使用或可用其他方法替代,故未作考虑)(4)表达式:用运算符连接起来的常数、宏变量、函数(5)表达式中可使用括号:( )(6)本模拟软件不支持AND、OR、NOT(实际使用中很少用到)(7)支持用等号连接的赋值语句(8)支持条件跳转语句:IF GOTOB 或IF GOTOF。(9)支持绝对(无条件)跳转:GOTOB 或GOTOF(10)不支持赏量PI,TRUE,FALSE(如程序中偶然要用到这些常量可以用其他方法代替)(四)关于表达式西门子数控系统可以在下列情况中使用表达式(1)给地址码赋值:主要是给坐标地址码赋值,如G0 X=R23+R8;注意X=R23+R8整个是一个指令字,中间不得有空格。(2)给计算参数赋值:如:R51=R51*2/R52;注意整个赋值表达式应看作一个整体,中间不应有空格。(3)条件表达式:用比较运算符=、等,连接二个表达式进行比较,从而判断条件是否成立;(用在IF语句中),此时比较运算符二边的表达式应分别看作是一个整体,表达式内不应有空格,但比较运算符=等的前后应有一个空格。如:IF R61 = R52+R53 。比较运算符本身也是一个整体,如=不能写成 =。本软件的文件夹PrgSiemens典型宏程序下有几个宏程序实例供用户参考。FANUC型B类宏程序(一)宏变量FANUC B类宏程序的宏变量分为局部变量(#1-#33),公共变量(#100-#199),本模拟软件支持上述这些变量号(#500以上及#1000以上的系统变量本模拟软件不支持)。本软件在退出后,所有变量值均不保存。(二)用宏变量置换指令地址后面的数值:程序段中的指令字地址可以用宏变量来设置其数值,但本模拟软件仅限于给坐标地址(X、Z、U、W);园弧半径(R);进刀量或螺纹导程(F、J)提供数值;其他功能如:用变量置换变量号,置换G代码后面的数值等,一般编程中不大可能用到,本软件未作考虑。可以直接在地址码后跟变量号来给地址赋值,如:X#101,也可以用一个表达式给地址赋值,表达式应使用方括号括住,如:X#101+5(三)本模拟软件所支持的运算符、表达式及语句:(1)全部算术运算符+-*/(2)全部条件运算符EQ、NE、GT、GE、LT、LE(3)函数:SIN、COS、TAN、ATAN、SQRT(其余函数因很少使用或可用其他方法替代,故未作考虑)(4) 表达式:用运算符连接起来的常数、宏变量、函数(5) 表达式中可使用方括号: (6) 本模拟软件不支持AND、OR、XOR(实际使用中很少用到)(7) 支持用等号连接的赋值语句(8) 支持条件判别语句:IF 条件表达式 GOTO n 及IF 条件表达式 THEN(9) 支持循环语句:WHILE 条件表达式 DO n . END n(10) 主程序中调用宏程序的指令可用常规的M98 P.;也可以使用非模态调用指令G65 P. L. 自变量地址(四)关于G6

温馨提示

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

评论

0/150

提交评论