数控车床程序构成——主程序、子程序、文件名、顺序号、程序段

   2019-03-28 196
核心提示:[db:简介]

normal style="MARGIN: 0cm 0cm 0pt">      一、 主程序和子程序


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


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


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">程序分为主程序和子程序,通常CNC系统按主程序指令运行,但在主程序中遇见调用子程序的情形时,则 CNC 系统将按子程序的指令运行,在子程序调用结束后控制权重新交给主程序。


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">CNC 存储区内可存 l25个主程序和子程序。程序开始的程序号用 EIA 标准代码O地址指令。 


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">2、子程序 


normal style="MARGIN: 0cm 0cm 0pt">     在程序中有一些顺序固定或反复出现的加工图形,把这些作为子程序,预先写人到存储器中,可大大简化程序。


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">一个子程序可被多次调用,用一次调用指令可以重复 999 次调用。


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


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


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">在子程序的开始为O地址指定的程序号、子程序中最后结束子程序指令 M99 ,为一单独程序段。


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


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">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; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0"> 


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


normal style="MARGIN: 0cm 0cm 0pt">       二、文件名 


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 表示子程序结束,并返回到主程序中。


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">  三、顺序号和程序段


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


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">[注1]    程序段中字符数没有限制.


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">[注2]    ISO代码中程序段结束符号为 LF


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 68.25pt; mso-char-indent-count: 6.5">EIA 代码中程序段结束符号为 CRo


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">程序顺序号由 N 指明,范围为1—9999,顺序号是任意给定的,可以不连续可以在所有的程序段中都指定顺序号,也可只在必要的程序段指明顺序号


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


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


normal style="MARGIN: 0cm 0cm 0pt">   四、字和地址


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


normal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0">程序段由字组成,而字由地址和地址后带符号的数字构成,如下所示:


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">       M10  Xl00  Zvalue="200" HasSpace="True" Negative="False" NumberType="1" TCSC="0">200  M03

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

normal style="MARGIN: 0cm 0cm 0pt 36.75pt; TEXT-INDENT: -36.75pt; mso-char-indent-count: -3.5">注 1   NC 装置所引起的限制和机床的限制是二个完全不同的概念,例如 NC 装置 X 轴的移动量可以指令约 lvalue="0" HasSpace="False" Negative="False" NumberType="1" TCSC="0">0m(m米为单位时) 但实际机床的 X 轴行程可能只有 value="2" HasSpace="False" Negative="False" NumberType="1" TCSC="0">2m,进给速度也是如此,作为 NC 装置可以进给速度控制到value="15" HasSpace="False" Negative="False" NumberType="1" TCSC="0">15m/分,但实际的机床就要限制到value="3" HasSpace="False" Negative="False" NumberType="1" TCSC="0">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   每转进给速度是根据主抽转速而转换成每分钟进给量后按每分

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

normal style="MARGIN: 0cm 0cm 0pt">      钟进给量执行的

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