数控车床宏程序车四方车40度的三角槽深10的宏程序。急急急,谢

宏程序34_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
上传于||文档简介
&&华​中​系​统​ ​ ​ ​椭​圆​ ​斜​椭​圆​ ​梯​形​螺​纹​ ​抛​物​线​ ​宏​程​序
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
你可能喜欢数控车床宏程序与数控车模拟精灵《二》
数控车床宏程序与数控车模拟精灵
《二》FANUC
B类宏程序与GSK980TDb的语句式宏代码
&& 本文介绍FANUC B类宏程序(FANUC
Oi系列)及GSK980TDb的语句式宏代码;这类宏程序的表达方式更为灵活并且直观:使用人们所熟悉的等号(=)与加减乘除(+-*/)等运算符组成表达式直接给变量赋值;在条件表达式中使用英文单词缩写GE、GT、LE、LT。EQ、NE来表示大于等于、大于、小于等于、小于、等于、不等于;使用英语单词IF、WHILE来表示条件与循环;
(一)关于变量、变量赋值与表达式
&& 变量代号还是用#***来表示一个变量,980TDb
的公用变量使用范围是:#100-#199,#500-#999(前者为失电不保持,后者为失电保持,);局部变量范围是#1-#33。FANUC
Oi系列的变量范围与此相同。(数控车模拟精灵只使用#0-#199号变量;大于199号的变量不支持,并且不区分局部变量或公共变量)
当用变量值来表示坐标时,均以毫米为单位,表示角度则以度为单位。
Oi系列宏程序及GSK980TDb的语句式宏代码可以直接使用常数通过等号“=”给变量赋值,也可以使用表达式给变量赋值,表达式中可以使用以下各项的组合:宏变量、函数、常数、加减乘除(+-*/)运算符、括号;计算规则符合人们熟悉的数学计算规则(例如先括号内后括号外,先乘除后加减等)。
(二)函数:
&& FANUC Oi 及
GSK980TDb支持的函数达十多个,但常用的不多,数控车模拟精灵只对其中常用的一些函数给予支持:
三角函数:正弦SIN、余弦COS、正切TAN、反正切ATAN;
&& 开平方:SQRT
函数的自变量可以是常数、已赋值的宏变量或表达式,自变量可用方括号[ ]括住。
(三)条件转移:(IF [条件表达式] GOTOn 及IF [条件表达式] THEN)
&& IF [条件表达式] GOTOn
条件表达式比较结果为真(满足条件),则跳转到目标程序段(以n为程序段号的程序段)运行,条件表达式比较结果为假(不能满足条件),则按正常顺序往下运行。
也可以是单纯的GOTOn,则为无条件转移,即无条件跳转到以n为程序段号的程序段。
&& IF [条件表达式] THEN
跟在IF后面的是一个宏语句(一般是一个宏变量赋值语句),条件表达式比较结果为真(满足条件),则执行这个宏语句,否则,不执行这个宏语句。
(四)循环(WHILE [条件表达式] DOn………ENDn)
条件表达式比较结果为真(满足条件)时,循环执行DOn至ENDn之间的程序段;条件表达式比较结果为假(不能满足条件),执行ENDn后面的程序段。
&& 循环开始语句WHILE [条件表达式]
DOn及其对应的循环结束语句ENDn,组成了一个完整的循环体,n值可取1、2或3;但同一个循环体开始句的n与结束句的n必须相同;
循环体可以嵌套,数控车模拟精灵只支持双重WHILE嵌套,n值可取1、2。
(五)条件表达式
上述条件转移及循环中的条件表达式指使用条件比较运算符来比较二个表达式(或变量、常数)的大小关系;
Oi系列及GSK980TDb宏程序的条件比较运算符有:EQ(等于)、NE(不等于)、GT(大于)、GE(大于等于)、LT(小于)、LE(小于等于)。
(五)用《数控车模拟精灵》调试宏程序时应注意:
1)模拟精灵只使用#0-#199号变量;大于199号的变量不支持,并且不区分局部变量或公共变量。(模拟精灵处理G65
H**类型的A类宏程序,变量编号方法与此不同,因为模拟精灵必须照顾早期版本GSK980系统的A类宏程序)
2)程序段中的指令字地址可以用宏变量来设置其数值,但本模拟精灵仅限于给坐标地址(X、Z、U、W);园弧半径(R);进刀量或螺纹导程(F、I)提供数值,其他功能如:用变量置换变量号,置换G代码后面的其他的数值等,一般编程中不大可能用到,本软件未作考虑。
3)表达式输入时,整个表达式应视作一个整体,中间不应有空格;但条件表达式的条件比较运算符左右应各有一个空格(即条件表达式视作三个部分:左边是被比较的表达式或变量,中间是比较运算符,右边是用来比较的表达式或变量或常数)
Oi系列的条件表达式还允许使用“复合条件表达式”,即使用逻辑运算符AND、OR等把多个条件表达式连接起来计算;这种情况实用中很少碰到,所以《数控车模拟精灵》不支持“复合条件表达式”。
(六)一个应用实例:
&& 使用双层WHILE实现内孔切深槽:
内孔切深槽是比较困难的操作,一方面切槽刀宽度都比较小,稍宽些的槽都需要在Z方向分几次切出;另一方面X方向槽的深度如果比较深的话,还不能一次就切到槽深,因为排屑困难等因素,一次切到槽深很可能引起刀具损坏,为了保护刀具,必须实行分层多次切削;
下面的程序使用了双层WHILE循环,外层循环控制X,决定每层切深,内层循环控制Z,决定每次切入的Z位置。
/内孔切深槽D150 L190 孔D80
M03 S800 T0101
G00 X75 Z2
G99 G90 X80 Z-185 F0.2
G90 X90 Z-192
#150=90&&&&&&&&&&&&&
#151=130&&&&&&&&&&&&&
#152=9&&&&&&&&&&&&&
X方向每次切深
#153=-50&&&&&&&&&&&&
#154=-80&&&&&&&&&&&&
#155=2.8&&&&&&&&&&&&
Z方向每次移过
#156=3&&&&&&&
&&&&&&槽刀宽
G00 X82 Z50
注意由于二把刀的不同刀补值,无此段则极有可能撞刀。
#160=#150-2
#161=#150&&&&&&&
外层循环的累加变量初始值“预缩小”,保证循环中“先累加后执行”
#163=#153-#156&&
内层循环的累加变量初始值直接达切削位置,循环中“先执行后累加”
#157=#153-#156
G00 X#160 Z#157
WHILE [#161 LT #151] DO1
#160=#161-2
#161=#161+#152
IF #161 GT #151 THEN #161=#151
WHILE [#163 GT #154-#155] DO2
注意此时#163值未修理,最后一次可能等于#154,
更可能在#154之左(小于#154),但不可能在#154之左超过一个步长。
IF #163 LT #154 THEN #163=#154&
在此修正#163值,才能避免死循环。
G00 Z#163&&
G01 X#161 F0.05
#163=#163-#155
程序说明:
输入变量(根据图纸及工艺要求输入的变量):
#150-开始X;&&&&&
&#151-结束X;&&&&
#152-X方向每次切深;&
#153-开始Z;&&&&&&
#154-终点Z;&&&&
&#155-Z方向每次移动量;
#156-槽刀宽
计算变量(由程序计算的变量,用户不必输入变量的值):
#157-每层切削开始时Z的位置;#157=#153-#156
#161-当前X切到;#161=#161+#152,
(这是个累加变量,每层切好后,累加一次,用来控制每层X方向的位置。)
#160-当前X切到+2,下一层的刀位置;&&
#163-当前Z切到:#163=#163-#155;
(这也是个累加变量,每次往X方向切好一刀后,累加一次,用来控制下一刀的Z方向位置。)
注意Z方向与X方向的每次移动量(步长)由#155、#152设定,通过累加步长来决定刀具当前位置,但最后一刀需要按图纸尺寸要求作调整(因为如按固定步长移动刀具,则刀具的最后位置不大可能刚好与图纸尺寸相符);
&& X方向使用:IF #161 GT #151 THEN
#161=#151在外层循环中控制X方向的最后位置;
&& Z方向则稍复杂一点,在内层循环中:
先在END2前用正常累加#163=#163-#155取得下一次的Z位置,在Z方向接近最后位置的情况下,#163可能刚好等于Z的最后位置#154,但更可能的是超过#154(Z的负方向超过,因此是小于#154);
&& 然后,程序转入WHILE的条件判断:[#163 GT
[#154-#155]],注意条件中把Z的最后位置#154再向左减去一个步长,作为#163的比较条件,因此何论#163此时正好等于#154,还是#163已经小于#154(但小于量不超过一个步长),条件都可满足,
&& 用IF #163 LT #154 THEN
#163=#154来控制Z方向的最后位置;
使用模拟精灵运行本程序时请把1号刀设为90度内孔刀,2号刀设为内孔切槽刀,孔加工刀具长度设为250,内孔切槽刀深24;1号刀的安装位置取:轴向(Z方向)伸出200;径向(X方向)伸出-15,2号刀的安装位置取:轴向(Z方向)伸出150;径向(X方向)伸出-27;机床设置请选GSK980。
为便于直接把程序复制粘贴到数控车模拟精灵中演示,下面把去除汉字说明后的程序再抄录如下:
M03 S800 T0101
G00 X75 Z2
G99 G90 X90 Z-192 F0.2
G00 X82 Z50
G00 X82 Z50
#160=#150-2
#163=#153-#156
#157=#153-#156
G00 X#160 Z#157
WHILE [#161 LT #151] DO1
#160=#161-2
#161=#161+#152
IF #161 GT #151 THEN #161=#151
WHILE [#163 GT #154-#155] DO2
IF #163 LT #154 THEN #163=#154
G00 Z#163&
G01 X#161 F0.05
#163=#163-#155
附注:数控车模拟精灵5.0版在处理GSK980TDb的这类宏程序还存在一点缺陷,如GOGO转移指令等,准备在5.1版中纠正;希望提前使用5.1版的用户也可以来信索取。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。数控机床宏程序例题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数控机床宏程序例题
上传于||文档简介
&&宏​程​序​例​题​,​变​量​编​程
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩17页未读,继续阅读
你可能喜欢数控车床上加工蜗杆的通用宏程序
广数980TD_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数控车床上加工蜗杆的通用宏程序
上传于||暂无简介
阅读已结束,如果下载本文需要使用3下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢

我要回帖

更多关于 数控车床宏程序编程 的文章

 

随机推荐