1.2 NC程序的结构和内容名称规定
一个NC程序由一系列程序段(见后续章节)构成。每个程序段说明一个加工步骤,在一个程序段中以“字”的形式写出各个指令,在加工步骤中,最后一个程序段包含一个特殊字,表明程序段结束:M02,M30。
1.2.1 程序名称
每个程序有一个程序名,在编制程序时须按以下规则定义程序名:
程序名以字母开头,只能由字母、数字或下划线组成;
1.不能使用分隔符;
2.区分大小写;
3 不能与系统中标准循环相重名;
4.小数点作为文件的扩展名,主程序后缀名可兼容多种格式,如(txt、iso等等);
5.子程序后缀名必须为iso;
6.程序名不能超过32个字符。
示例:
SHLLE_527.iso
1.2.2 程序段和结构
一个加工程序是由一系列顺序执行的程序段组成,每个程序段单独占一行,每一个程序段执行一个加工步骤、逻辑处理或数学运算功能。
示例:
N10 G94 G01 Z80 F100 ;第一程序段
N20 G00 X100 ;第二程序段
N30 ……
N40 M02 ;程序结束
一个程序段由若干个字组成,各功能的执行顺序是独立于其排列先后的,由数控系统内部自动重新加以排列,但是为了使程序段结构清晰明了,当程序段中有很多指令时,建议按如下顺序排列:
示例:
/N10□G…□X…□Z…□F…□S…□T…□D…□M…
;注释
其中:
/ 表示 在运行过程中可以跳过的程序段;
N… 表示 程序段号,段号由最多五位数字组成;
□ 表示 中间空格;
; 表示 其后文字描述是对程序段进行说明。
1.程序段号N
2.换刀指令T和D
3.速度指令F和S
4.功能G
5.段前执行的M功能(详见P18)
6.坐标指令X和Z等
7.段后执行的M功能(详见P18)
在一个程序段中可以编程多个功能G和功能M,不过其它的功能只能有一个(X,Z,T,F等等)。功能G被分成不同的组,不能在同一个程序段中使用两个或两个以上同组的功能G。
程序段号一般以5或10为间隔进行编辑,以便以后插入新程序段时不会改变程序段号的顺序。虽然不编写程序段号也不会影响程序的执行,但是仍然建议在涉及坐标运动和辅助功能等指令的程序段前添加一个程序段号,以增加可读性。程序段号与后面之间指令必须空一格。
1.2.3 字结构及地址
字是程序段的组成元素,由它构成控制指令。字由以下几部分组成(如图1.3):
地址符:地址符是一个字母或字符串。
数值:数值是一个数字串,它可以带正负号和小数点,通常正号可以省略。
图1.3 字结构
1.2.4 运算/计算功能
+ |
加法 |
- |
减法 |
* |
乘法 |
/ |
除法 |
DIV |
两数相除,结果取整 |
MOD |
两数相除,取其余 |
SIN( ) |
正弦,括号内参数单位为度 |
COS( ) |
余弦,括号内参数单位为度 |
TAN( ) |
正切,括号内参数单位为度 |
ASIN( ) |
反正弦,计算结果单位为度 |
ACOS( ) |
反余弦,计算结果单位为度 |
ATAN( ) |
反正切,计算结果单位为度 |
ATAN2( ) |
反正切 2 ,计算结果单位为度 |
SQRT( ) |
平方根 |
ABS( ) |
绝对值 |
POT( ) |
二次幂(平方) |
TRUNC( ) |
取整数 |
LN( ) |
自然对数 |
EXP( ) |
指数函数 |
1.2.5 比较运算符和逻辑运算符
= = |
等于 |
!= |
不等于 |
> |
大于 |
< |
小于 |
>= |
大于或者等于 |
<= |
小于或者等于 |
&& |
与 |
|| |
或 |
! |
非 |
1.2.6 信息编程
信息编程在一个独立的程序段中。当程序执行到所在的行时,信息显示在屏幕上方的信息显示区域,并且一直有效。一个新的信息显示,上一条信息上滚。在MSG信息显示指令中还可加入表达式、变量等,在显示时将这些表达式、变量的当前值显示出来(类似高级语言的print语句)。
示例:
MSG (“THIS IS A SAMPLE=”, 25*4)
显示结果为:“THIS IS A SAMPLE=100”
1.2.7 程序字体颜色
以下规则适用于程序后缀名是小写iso的程序:
1.默认一般字体都是黑色显示;
2.关键字为蓝色显示,并且关键字同其它字需要用符号隔开(加减乘除符号、逗号、点号、分号、冒号、左右小括弧、等号、横线、空格、制表符及换行符);
3.特殊情况:
1)以“//”开头的,为绿色;
2)以“#”开头的为灰色(仅当“#”作为字符串开头如此,“#”作为连接符与其他连接符用法一样);
3)以双引号““”开头的为褐色;
4)以单引号“’”开头的为橘红色,一般需要另一个单引号“’”配合,两个单引号匹配后中间字符橙黄色显示,代表字符常量。