1.01 变量定义
变量功能:
通过使用变量可以灵活地编制程序。编程人员可以灵活地运用变量计算建立一个高度灵活的程序档案,从而省去很多编程的工作。
变量类型:
控制系统将变量分为以下几种,见表1.1:
表1.1 变量类型
类型 |
注释 |
用户定义的变量 |
由用户定义的变量,带名称和类型,如:计算参数 |
R参数 |
专门的、预定义的计算变量,给定地址R及随后的数字。预定义的计算变量类型为REAL。 |
系统变量 |
供控制系统使用的变量,可以在程序中进行处理(读或写)。系统变量可以存取刀具补偿,控制系统状态等。 |
变量的命名规则:
1.变量名称可以包含字母、数字和下划线,且不能以下划线开头。
2.变量名称最多由31个字符组成。
1.1.1 用户变量
用户变量类型:
用户定义的变量类型,见表1.2:
表1.2 用户定义的变量类型
类型 |
意义 |
值的范围 |
INT |
整数型,即整数的数字 |
±(231 -1) |
REAL |
实数型,即带小数的数字,包括整数 |
±(10-300~10+300) |
BOOL |
布尔型,逻辑值,其值只能是“TRUE”(1)或者“FALSE”(0) |
1或0 |
CHAR |
字符型,是与ASCII代码相对应的单个字符,用单引号标识 |
0~255 |
STRING |
字符串型,由多个字符组成的符号串,用双引号标识 |
最多200个字符 |
AXIS |
轴类型,代表轴地址,0为X轴,1为Y轴,2为Z轴,3为A轴,4为B轴,5为C轴 |
0,1,2,3,4,5 |
从使用范围分,用户变量可分为局部变量和全局变量。局部变量,只能在当前编辑的程序中使用。与之相对的全局变量,则可实现在不同程序之间传递使用的要求。
使用局部变量时就在当前程序中定义即可,而全局变量的定义不在某个执行程序中而是在特定的文件中进行,且这一文件的位置也是固定的,在program目录下的variables文件夹中,文件名称具有固定的扩展名.var。(不符合上述两个条件系统则认为是普通程序文件。)
局部变量定义格式:
DEF 类型 名称 [= 数值] ;变量定义赋值
DEF 类型 名称1 [=数值1],名称2 [=数值2],名称3 [=数值3]…
;连续的变量定义赋值
全局变量定义格式:
DEF 类型 名称 ;变量定义
DEF 类型 名称1 ,名称2 ,名称3 ;连续的变量定义
注意事项:
1)INT、REAL、BOOL、AXIS类型的变量默认的初始值为0,CHAR和STRING默认的初始值为空。
2)局部变量在定义的时候可以赋初值,而在全局变量定义文件中,不允许给变量赋初值,比如DEF REAL AX_POS=0.5这样的语句是不允许的。
3)在全局变量定义文件中,除了变量定义语句、M02/M30关键字和以分号起头的注释以外,不允许出现其他的非空字符。而”M02”或”M30”也可以不写,在执行完最后一句定义语句后自动结束。
举例:
局部变量:
DEF CHAR FORM = 'A'
DEF STRING MDG = “FIYANG”
DEF REAL HH1=1,HH2=2,HH3=3
全局变量:
DEF REAL AX_POS
DEF STRING NAME6
1.1.2 R参数
说明:
专门的、预定义的计算变量,给定地址R及随后的数字。预定义的计算变量类型为REAL。正常情况下,如果没有进一步的说明,则在地址R下有100个计算变量供使用,从R0到R99,可采用算术运算进行数学计算。R参数可在R参数界面进行修改,也可在程序中赋值。
示例:
R1=10
R2=SIN (30)
R3=R1*R2
可以在一行中对多个R参数进行赋值:
R1=10 R2=SIN (30) R3=R1*R2
1.1.3 系统变量
功能:
系统变量用来提供机床和控制系统的设置、状态等信息。
名称 |
类型 |
含义 |
$P_S |
REAL |
编程的主轴转速 |
$P_F |
REAL |
编程的进给速度 |
$P_TOOLNO |
INT |
当前有效的刀具号 |
$P_TOOL |
INT |
当前有效的补偿号 |
$P_TOOLL[n] |
REAL |
当前有效的刀具长度补偿,对于G17,$P_TOOLL[3]为Z方向长度,对于G18 $P_TOOLL[2]为Z方向长度,对于G19 $P_TOOLL[1]为Z方向长度。 |
$P_TOOLR |
REAL |
当前有效的刀具半径补偿 |
$P_AXN1 |
REAL |
当前横坐标轴,G17时为X轴,G18时为Z轴,G19时为Y轴 |
$P_AXN2 |
REAL |
当前纵坐标轴,G17时为Y轴,G18时为X轴,G19时为Z轴 |
$P_AXN3 |
REAL |
当前加工坐标轴,G17时为Z轴,G18时为Y轴,G19时为X轴 |
$P_EP[AXIS] |
REAL |
刀具在当前工件坐标系下的理论坐标。考虑到增量模式、坐标系变换和换刀等因素,该变量值不一定等于前一程序段的编程值 |
$METRIC_SYSTEM |
BOOL |
是否公制尺寸。TRUE—公制,FLASE—英制。 |
$RADIUS_COMPENSATION |
STRING |
刀具半径补偿。1—G40,2—G41,3—G42 |