会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

参数化的程序.doc

  • 资源星级:
  • 资源大小:36.50KB   全文页数:5页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

参数化的程序.doc

看见最近有朋友对于参数化的程序很感兴趣,其实,老实说,siemens的参数化编制程序是件很愉快的事情。就此,写篇帖子,简单讲一下参数程序的编制问题,希望对感兴趣的有所帮助。由于我对siemens840D比较熟悉,所以以下说讲的一切都是在siemnes840D系统上测试过的,是经过实践检验的编制,可靠性应该是很好的。先让我来给大家介绍一下参数化的几种形式1)用DEF命令,在MPF或者SPF程序中制定变量,以达到调用的目的2)通过siemens自带的1000个R参数进行参数的编制3)直接调用siemens系统变量,进行参数化程序编制。大概也就这几种常见的形式了。我一个个给初学者进行讲解1)用DEF命令,在MPF或者SPF程序中制定变量,以达到调用的目的。这是一种很灵活的参数化编制形式。请看一下例子==========MPFDEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS0DEFREALDiaMAX50,DiaMIN45.8,CAO_KUAN5EXTERNXICAO_1REAL,REAL,REALP_UIFR1CTRANSX,,Y,,Z,,B,G54BP_UIFR2CTRANSX,,Y,,Z,,B,G55BP_UIFR3CTRANSX,,Y,,Z,,B,G56B...N320CS_TOOL,,1XICAOBCS_TP,,1G56G90G17G40MIRRORX0R9085.3R91WIDTH110.3R9231.3XICAO_1(DiaMAX,DiaMIN,CAO_KUAN)也可以写成XICAO_1R90235.3XICAO_1MIRRORZ_MAX...SPF_N_XICAO_1_SPFPATH/_N_SPF_DIRPROCXICAO_1REALDiaMAX,REALDiaMIN,REALCAO_KUANSAVER90isXCoordinateR91isYCoordinateR92isZCoordinateR93isSValueR94isOutSideFValueR95isInSideFValueDEFREALDiaMAX,DiaMIN,CAO_KUANMUSTSETD1,D2,D3SR93M03G01XR90YR91FR94M08R40DiaMAXR41DiaMINR602R611R00R1R92R3R92CAO_KUANR520R65R7250FR95L8000M05M09STOPREM17============以上是一个我编制的挖槽程序截取。在MPF中,在程序最开头进行了三个参数点定制DiaMAX50,DiaMIN45.8,CAO_KUAN5并用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_1REALDiaMAX,REALDiaMIN,REALCAO_KUANSAVE括号里面的参数顺序直接控制了你传递参数时填写的数字传递顺序。比如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_1REALDiaMAX,REALDiaMIN,REALCAO_KUANSAVEDISPLOF大概这种形式的参数化程序就是这样子的了。当然,这方面还有其他的一些编制参数,不过一般的朋友没有必要要,我讲的应该可以满足一般的要求了。值得一提的是MACROS的编制。格式为DEFINE...AS........在我的前面程序例子前面已经提到了,就是DEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS0在MPF以前定义这个以后,在整个MPF中的任何位置都可以调用这个宏,DEFINEZ_MAXASG0G90G40G17SUPAZ850D0SPOS0的作用就是用G0,取消所有坐标(采用机床原点坐标),取笑刀具几何补偿,C轴转到O°以后,回到Z=850的位置。这个很简单,你也可以进行全局MARCO的编制,有点象VB程序语言中的定义全局变量的功效,往UMAC文件中添加就行了。不熟悉的朋友就不用管这个了。2)通过siemens自带的1000个R参数进行参数的编制请参考前面的程序例子,值得提示的是,请确定是否你的设备供应商已经占用了一些R参数,如果有设备制造商占用了一些R参数,最好不要使用这些R参数,选取其他R参数就可以了。其实,R参数的用法和用DEF定义的变量用法是一样的,重要的区别是R参数不用定义,可以直接在程序中任何位置进行调用就可以了。而且不受SPF,MPF的控制,任何程序都可以直接调用。不过,最好在使用R参数的时候,进行一些约定俗成,以便以后不会因为人员的变动造成参数含义的错乱,那时候就非常麻烦了其他关于R参数的就没有讲的。3)直接调用siemens系统变量,进行参数化程序编制。最简单的引用就是前面治理中的P_UIFR1CTRANSX,,Y,,Z,,B,,G54B其中P_UIFR1就是系统的变量中的框架数据,这和在参数里面的坐标设置是一样的功效,只是坐标设置中不能设定B罢了这种格式也是可以直接进行坐标的变换的,比如P_UIFR1CTRANSX,,Y,,Z,,B,,CROTZ,180具体情况就不多说了接下来说说系统变量中常见的一些变量。P_Txxx,这个变量的作用是激活主轴上的刀具数据P_TOOL,是激活刀边补偿,D1,D2,D3,D4...P_TOOLL1,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17Z,G18Y,G19XP_TOOLL2,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17Y,G18X,G19ZP_TOOLL3,激活整个刀具的几何补偿,通常是指的刀具的悬长,G17X,G18Z,G19YP_TOOLNO,激活siemens内部的刀号,T1,T2,T3,T32000_P_TOOLR,激活刀具半径补偿P_SEARCH,搜索变量,值为TRUE=1或者0以上参数仅做参考,也许会因为设备制造商的不同有所小区别。以上这些参数都是可以在程序编制中直接编制的。大概参数化编程就讲完,还有很多东西没有来得及讲,希望感兴趣一起研究之==========至于还有朋友提高的IF...ELSE...ENDIF的条件语句结构,这好像不是属于参数化编程的一部分吧。严格上来讲应该属于柔性编程的一部分更贴近些。写个程序,给感兴趣的朋友,一个简单程序。你可以直接做成MPF,进行调用,看看结果就晓得是怎么回事情了。条件某工厂是中午1200下班,晚上1830下班。程序功能,在MDA中运行,显示时间,提示操作者是否到了下班时间。=====_N_SHOWTIME_MDFPATH/_N_MPF_DIRDEFINTSHI,FENSHIA_HOURFENA_MINUTEIFSHI11ANDFEN50MSGTIMEIS20MSGTIMEIS2000A_YEAR.A_MONTH.A_DAY,A_HOURA_MINUTEA_SECOND,GoodeveningLetusgohomeM0M2ELSEMSGTIMEIS2000A_YEAR.A_MONTH.A_DAY,A_HOURA_MINUTEA_SECOND,LetusgoonM0M2ENDIFENDIF=====这就是简单的条件语句的程序,拷贝一下,去试试会出现什么情况呢呵呵当然siemens840D里面不仅仅是这么一点点,还有LOOP、WHILE,REPEAT,GOTOF,GOTOB这种条件语句,时间关系,不写下去了,感兴趣的朋友,我们可以继续讨论。

注意事项

本文(参数化的程序.doc)为本站会员(仙人指路)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5