参数化的程序.doc_第1页
参数化的程序.doc_第2页
参数化的程序.doc_第3页
参数化的程序.doc_第4页
参数化的程序.doc_第5页
全文预览已结束

下载本文档

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

文档简介

看见最近有朋友对于参数化的程序很感兴趣,其实,老实说,siemens的参数化编制程序是件很愉快的事情。就此,写篇帖子,简单讲一下参数程序的编制问题,希望对感兴趣的有所帮助。由于我对siemens840D比较熟悉,所以以下说讲的一切都是在siemnes840D系统上测试过的,是经过实践检验的编制,可靠性应该是很好的。先让我来给大家介绍一下参数化的几种形式:1)用DEF命令,在MPF或者SPF程序中制定变量,以达到调用的目的;2)通过siemens自带的1000个R参数进行参数的编制;3)直接调用siemens系统变量,进行参数化程序编制。大概也就这几种常见的形式了。我一个个给初学者进行讲解:1)用DEF命令,在MPF或者SPF程序中制定变量,以达到调用的目的。这是一种很灵活的参数化编制形式。请看一下例子:MPF:DEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS=0DEFREALDiaMAX=50,DiaMIN=45.8,CAO_KUAN=5EXTERNXICAO_1(REAL,REAL,REAL)$P_UIFR1=CTRANS(X,Y,Z,B,);G54B=?;$P_UIFR2=CTRANS(X,Y,Z,B,);G55B=??;$P_UIFR3=CTRANS(X,Y,Z,B,);G56B=??.N320CS_TOOL(,1);XICAOB#CS_TP(,1)G56G90G17G40MIRRORX0R90=85.3R91=WIDTH-110.3R92=31.3XICAO_1(DiaMAX,DiaMIN,CAO_KUAN);也可以写成XICAO_1R90=235.3XICAO_1MIRRORZ_MAX.SPF:%_N_XICAO_1_SPF;$PATH=/_N_SPF_DIRPROCXICAO_1(REALDiaMAX,REALDiaMIN,REALCAO_KUAN)SAVE;R90isXCoordinate;R91isYCoordinate;R92isZCoordinate;R93isSValue;R94isOutSideFValue;R95isInSideFValue;DEFREALDiaMAX,DiaMIN,CAO_KUAN;MUSTSETD1,D2,D3S=R93M03G01X=R90Y=R91F=R94M08R40=DiaMAXR41=DiaMINR60=2R61=1R0=0R1=R92R3=(R92-CAO_KUAN)R5=20R6=5R72=50F=R95L8000M05M09STOPREM17以上是一个我编制的挖槽程序截取。在MPF中,在程序最开头进行了三个参数点定制:DiaMAX=50,DiaMIN=45.8,CAO_KUAN=5并用EXTERN命令进行SPF程序XICAO_1的声明,一般情况如果词程序位于siemnes的标准循环文件夹里面,或者是MPF相同的目录下是没有必要进行EXTERN的,这是一种习惯,我习惯把SPF文件放在SUBPROGRAM文件夹里面,便于管理,所以每次在调用XICAO_1这个程序的时候必须进行程序的声明,这很重要,否则,如果你不能调用SPF文件就不要怪我了,当然,也有其他方式进行参数传递的SPF调用的,比如:PCALL等等命令,这里我就不多说了。DEF命令是定义你需要的参数,REAL是说明参数点类型是实数型的,如果是整数型的,就是INT,这个和VB语言很相似,如果有VB程序语言基础的朋友应该很容易理解,只不过VB里面是用DIM进行变量的定义的罢了。你也可以定义STRING50这种字串型,还有布尔型的,我就不多说。在MPF程序的后面将会引用这三个参数,并将这三个参数传递到SPF中去。请大家注意SPF的编制格式,是:PROCXICAO_1(REALDiaMAX,REALDiaMIN,REALCAO_KUAN)SAVE括号里面的参数顺序直接控制了你传递参数时填写的数字传递顺序。比如:XICAO_1(50,48.5,5)就是按照PROC后面的那个括号里面的顺序进行传递的。这也就是siemens的CYCLE标准循环里面的格式一样的,如果你使用过siemens的CYCLE循环,那么在定义参数的时候,你的定义顺序必须按照说明书上的顺序来,否则,参数将会传递错误的信息,后果自负SAVE可以要,也可以不要,没有关系的。SAVE的作用是在执行完SPF以后,回到MPF时,将保留原MPF中的制定格式,怎么理解呢?简单的距离就是:当你的SPF中时G91编程的,而MPF中是G90编程的,那么加上SVAE以后,在M17执行完后,回到MPF以后,保留G90的形式进行下面的工作,否则就是按照SPF中的G91进行执行,也许就会出错。用个在siemens的CYCLE里面在SAVE后面添加了一个DISPLOF参数的,用这个参数可以“拟制”SPF中的每一段程序的显示,当然也可以用SBLOF来单块拟制。不过,通常没有必要拟制程序的显示,因为不便于程序的检查,什么叫拟制呢?简单的说就是在运行SPF时,加上DISPLOF后,以下的程序段,一直到M17结束,在AUTO界面教你嘎时,你无法看见这些程序段的执行过程。编制格式为:PROCXICAO_1(REALDiaMAX,REALDiaMIN,REALCAO_KUAN)SAVEDISPLOF大概这种形式的参数化程序就是这样子的了。当然,这方面还有其他的一些编制参数,不过一般的朋友没有必要要,我讲的应该可以满足一般的要求了。值得一提的是MACROS的编制。格式为:DEFINE.AS.在我的前面程序例子前面已经提到了,就是:DEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS=0在MPF以前定义这个以后,在整个MPF中的任何位置都可以调用这个“宏”,DEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS=0的作用就是用G0,取消所有坐标(采用机床原点坐标),取笑刀具几何补偿,C轴转到O以后,回到Z850的位置。这个很简单,你也可以进行“全局MARCO”的编制,有点象VB程序语言中的“定义全局变量”的功效,往UMAC文件中添加就行了。不熟悉的朋友就不用管这个了。2)通过siemens自带的1000个R参数进行参数的编制;请参考前面的程序例子,值得提示的是,请确定是否你的设备供应商已经占用了一些R参数,如果有设备制造商占用了一些R参数,最好不要使用这些R参数,选取其他R参数就可以了。其实,R参数的用法和用DEF定义的变量用法是一样的,重要的区别是R参数不用定义,可以直接在程序中任何位置进行调用就可以了。而且不受SPF,MPF的控制,任何程序都可以直接调用。不过,最好在使用R参数的时候,进行一些约定俗成,以便以后不会因为人员的变动造成参数含义的错乱,那时候就非常麻烦了!其他关于R参数的就没有讲的。3)直接调用siemens系统变量,进行参数化程序编制。最简单的引用就是前面治理中的$P_UIFR1=CTRANS(X,Y,Z,B,);G54B=?其中$P_UIFR1就是系统的变量中的“框架数据”,这和在“参数”里面的“坐标设置”是一样的功效,只是“坐标设置”中不能设定B罢了这种格式也是可以直接进行坐标的变换的,比如:$P_UIFR1=CTRANS(X,Y,Z,B,):CROT(Z,180)具体情况就不多说了接下来说说系统变量中常见的一些变量。$P_Txxx,这个变量的作用是激活主轴上的刀具数据;$P_TOOL,是激活刀边补偿,D1,D2,D3,D4.;$P_TOOLL1,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17-Z,G18-Y,G19-X;$P_TOOLL2,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17-Y,G18-X,G19-Z;$P_TOOLL3,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17-X,G18-Z,G19-Y;$P_TOOLNO,激活siemens内部的刀号,T1,T2,T3,T32000;$_P_TOOLR,激活刀具半径补偿;$P_SEARCH,搜索变量,值为TRUE1或者0;以上参数仅做参考,也许会因为设备制造商的不同有所小区别。以上这些参数都是可以在程序编制中直接编制的。大概参数化编程就讲完,还有很多东西没有来得及讲,希望感兴趣一起研究之至于还有朋友提高的IF.ELSE.ENDIF的条件语句结构,这好像不是属于参数化编程的一部分吧。严格上来讲应该属于“柔性编程”的一部分更贴近些。写个程序,给感兴趣的朋友,一个简单程序。你可以直接做成MPF,进行调用,看看结果就晓得是怎么回事情了。条件:某工厂是中午12:00下班,晚上18:30下班。程序功能,在MDA中运行,显示时间,提示操作者是否到了下班时间。%_N_SHOWTIME_MDF;$PATH=/_N_MPF_DIRDEFINTSHI,FENSHI=$A_HOURFEN=$A_MINUTEIF(SHI=11)AND(FEN=50)MSG(TIMEIS:2000+$A_YEAR.$A_MONTH.$A_DAY,$A_HOUR:$A_MINUTE:$A_SECOND=20)MSG(TIMEIS:2000+$A_YEAR.$A_MONTH.$A_DAY,$A_HOUR:$A_MINUTE:$A_SECOND,Goodevening!Letusgohome!)M0M2ELSEMSG(TIMEIS:

温馨提示

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

评论

0/150

提交评论