数控车床编程基础

   2019-04-20 69
核心提示:[db:简介]

normal style="MARGIN: 0cm 0cm 0pt" align=center>----程序构成 主程序和子程序 文件名 顺序号和程序段 字和地址


normal style="MARGIN: 0cm 0cm 0pt">§nth="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.1.6   程序构成


normal style="MARGIN: 0cm 0cm 0pt"> §nth="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.1.6.主程序和子程序


normal style="MARGIN: 0cm 0cm 0pt"> *   主程序


normal style="MARGIN: 0cm 0cm 0pt"> 程序分为主程序和子程序,通常CNC系统按主程序指令运行,但在主程序中遇见调用子程序的情形时,则 CNC 系统将按子程序的指令运行,在子程序调用结束后控制权重新交给主程序。
CNC 存储区内可存 l25个主程序和子程序。程序开始的程序号用 EIA 标准代码O地址指令。程序的输人详看本书第四章。
*     子程序
在程序中有一些顺序固定或反复出现的加工图形,把这些作为子程序,预先写人到存储器中,可大大简化程序。
子程序和主程序必须存在同一个文件中,调出的子程序可以再调用另一个子程序,我们将主程序调用子程序称为一重子程序调用,子程序调用子程序称为多重调用。
一个子程序可被多次调用,用一次调用指令可以重复 999 次调用。


normal style="MARGIN: 0cm 0cm 0pt"> l )子程序的编制


normal style="MARGIN: 0cm 0cm 0pt"> 在子程序的开始为O地址指定的程序号、子程序中最后结束子程序指令 M99 ,为一单独程序段。


normal style="MARGIN: 0cm 0cm 0pt"> 2 )子程序的执行


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">子程序是由主程序或上层子程序调山并执行的。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">子程序调用指令如下:


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">M98 P ****    L x x x x


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">调用子程序指令  子程序号  子程序调用次数


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">子程序调用次数的默认值为 1


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">(例 l ) ; M98PLvalue="2" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">002L5   %1002 号子程序被连续调用 5 次


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">M98 指令可与刀具移动指令放于同一程序段中。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注1]子程序和主程序必须存在同一个文件中


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注2]子程序名和主程序名不得相同。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注3]M98 , M99 信号不愉出到机床处,


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注4]当找不到 p 地址指定的子程序号时报警。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注5]在 MDI 下使用 M98 P **** 调用指定的子程序是无效的。


normal style="MARGIN: 0cm 0cm 0pt">§nth="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.1.6.文件名


normal style="MARGIN: 0cm 0cm 0pt">CNG 装置可以装人许多程序文件,以磁盘文件的方式读写。文件名格式为(有别于DOS的其他文件名) :


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">%XXXX(地址 O 后面必须有四位数字)


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">程序以程序号开始,以 M 叩或 M 的结束。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">程序号格式为% XxXx ; (地址 O 后面必须有四位数字)


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">M02  表示主程序结束。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">M99 表示子程序结束,并返回到主程序中。
§nth="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.1.6.3 顺序号和程序段
程序是由多条指令组成,每一条指令都称为程序段(占一行)。
程序段之间应用符号隔开,本说明书规定每个程序段的末尾以“;”作为程序段的结束,构成程序段的要素是程序字,程序字由地址及其后续的数值构成。
[注1]    程序段中字符数没有限制.
[注2]    ISO代码中程序段结束符号为 LF
EIA 代码中程序段结束符号为 CRo
程序顺序号由 N 指明,范围为1—9999,顺序号是任意给定的,可以不连续可以在所有的程序段中都指定顺序号,也可只在必要的程序段指明顺序号
§nth="12" Day="30" IsLunarDate="False" IsROCDate="False" w:st="on">1.1.6.4 字和地址
程序段由字组成,而字由地址和地址后带符号的数字构成,如下所示:


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center; mso-char-indent-count: 2.0" align=center>X-----------------------------1000


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 10.5pt; TEXT-ALIGN: center; mso-char-indent-count: 1.0" align=center>[地址               数字] 字


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">地址是大写字母 A 到 2 中的一个,它规定了其后数字的意义,以下是本系统使用的各个地址的含义和指令值范围。见表 1一1


normal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center>表 1一1

normal style="MARGIN: 0cm 0cm 0pt">这些字组合在一起就形成了一个程序段,如下例所示:

normal style="MARGIN: 0cm 0cm 0pt"> 

normal style="MARGIN: 0cm 0cm 0pt"> 

normal style="MARGIN: 0cm 0cm 0pt">M10  Xl00  Zvalue="200" HasSpace="True" Negative="False" NumberType="1" TCSC="0" w:st="on">200  M03

normal style="MARGIN: 0cm 0cm 0pt"> 

normal style="MARGIN: 0cm 0cm 0pt"> 

normal style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -36.75pt; mso-char-indent-count: -3.5">注1NC 装置所引起的限制和机床的限制是二个完全不同的概念,例如 NC 装置 X 轴的移动量可以指令约 lvalue="0" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">0m(m米为单位时) 但实际机床的 X 轴行程可能只有 value="2" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">2m,进给速度也是如此,作为 NC 装置可以进给速度控制到value="15" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">15m/分,但实际的机床就要限制到value="3" HasSpace="False" Negative="False" NumberType="1" TCSC="0" w:st="on">3m/分,因而,当编程序时,应将系统说明书与机床说明书熟悉,在很好理解的基础上。

normal style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -36.75pt; mso-char-indent-count: -3.5"> 

normal style="MARGIN: 0cm 0cm 0pt">注2 每转进给速度是根据主抽转速而转换成每分钟进给量后按每分钟进给量执行的

 
举报收藏 0打赏 0
 
更多>同类数控技术