2022年变量与数学函数 .pdf

上传人:Che****ry 文档编号:25448000 上传时间:2022-07-11 格式:PDF 页数:26 大小:3.09MB
返回 下载 相关 举报
2022年变量与数学函数 .pdf_第1页
第1页 / 共26页
2022年变量与数学函数 .pdf_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《2022年变量与数学函数 .pdf》由会员分享,可在线阅读,更多相关《2022年变量与数学函数 .pdf(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、读书之法 ,在循序而渐进 ,熟读而精思第六章变量与数学函数6.1 变量SINUMERIK 数控系统变量是指系统内部已经命名和规划用途的参数。学习和使用系统变量进行编写加工程序是属于高级编程阶段的内容,需要编程者已经对西门子数控系统比较了解, 具有一定的加工编程经验和系统数据调试经验。由于在编程中涉及系统参数的一些读取或写入操作,在验证所编写的程序时一定要注意操作安全,并做好数据记录。系统变量的设计与规划用途的完整情况只能由系统研发人员作出说明,可能需要非常多的篇幅。仅就828D系统而言,其支持软件系统有三个主要版本,某些变量又是针对某个版本设计规划的。本书仅仅就选取出的部分以标示符打头的、常用

2、的变量使用方法进行说明,需要读者在机床上验证后使用。通过使用变量,特别是计算机功能和控制结构的相关变量,可以使零件程序和循环的编写更为灵活。为此, 828D 系统提供了三种不同类型的变量:系统变量、预定义用户变量和用户定义变量。6.1.1 系统变量系统变量是系统中定义有固定名称的供用户使用的一种标志符号,它们具有固定的预设含义。 系统变量的含义中的大部分属性也是由系统固定预设的。用户只能小范围地对属性进行重新定义和匹配。本系统中的系统变量分为预处理变量和主处理变量。1)预处理变量。预处理变量是指在于处理程序状态中,即在执行设定了系统变量的零件程序段进行编译时,读取和写入的系统变量。2)主处理变

3、量。主处理变量是指在主运行状态中,即在执行编程了系统变量的零件程序段时,读取和写入的系统变量。通过系统变量可在零件程序与循环中提供当前控制系统的参数,例如机床,控制系统和加工步骤状态。3)变量前缀。系统变量的一个显著特点是其名称通常包含一个前缀。该前缀由一个字符、 一个或两个字母以及一条下划线构成。系统规定: 如果数据在执行期间保持不变, 则可以和预处理同步读入, 为此在机床数据或设定数据的前缀中写入一个字符。如M 。预处理时读取或写入的系统变量见表6-1 和表 6-2。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 26 页读书之法

4、,在循序而渐进 ,熟读而精思表 6-1 预处理时读取或写入的系统变量的第一个字符+第 1个字母数据类型+第 1 个字母数据类型M 机床数据C ISO 固定循环的循环变量S 设定数据,保护区域P 程序变量,通道专用系统变量T 刀具管理参数R R参数(计算参数)。在零件程序和工艺循环中使用R参数时,不写入前缀O 选项数据表 6-2 预处理时读取或写入的系统变量的第二个字符+第 1 个字母变量显示+第 1 个字母变量显示N 全局变量A 轴专用变量C 通用专用变量前缀系统的特例 : $TC_ : 第 2 个字母 C表示的不是通道专用变量, 而是刀架专用系统变量。6.1.2 用户变量(1)用户变量。是用

5、户自己定义的用于程序编写中表示某种(个) 特定意义的一种标志号 , 系统不确知其含义 , 也不对其进行分析的变量。 1)预定义用户变量。预定义用户变量是在系统中已经定义的变量, 但是用户还需通过专门的机床数据对其数量进行参数设置。例如循环指令中的变量。 2)用户定义变量。用户定义变量是仅由用户定义的变量, 到系统运行时才会创建这些变量。 它们的数量、 数据类型和所有其他属性都完全由用户定义。例如用户自己编制宏程序时设置的变量。 (2) 用户变量名称的定义规则1) “$”字符预留给系统变量 , 用户所定义的变量不可使用。2)变量名称必须意义明确。同一名称不可以用于不同的对象。3)系统中已定义的或

6、备用的关键子不可以用作名称。4) 变量名称的长度小于31个字符。允许使用的字符有字母、 数字和下划线。5)书写变量名称, 开始的两个字符必须是字母或下划线。在单个字符之间不允许有分隔符。6)预留的字符组合。7)为了避免出现名称冲突 , 在设定名称时要注意避免使用下列字符: 所有的以CYCLE ” 、 “CUST_ ” 、 “GROUP_”或“ S_”开始的名称均用于西门子标准循环。所有的以“ CCS ”开始的名称均用于西门子汇编循环。用户汇编循环以“ CC ”开始。名称“ RL”预留给传统车床。以“ E_”或“ F_”开始的名称预留给EASY STEP编程。已经被系统使用的指令 , 标志等名称

7、。8)建议用户选择有区别的且有一定含义的字符来定义变量名称, 如以 “U” (用户)开始的名称 , 因为系统、汇编循环和西门子循环不使用这些名称。也可以方便区分和记忆所定义的变量。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思9)一个程序段中只能定义一种类型的用户变量, 可以定义同一种用户变量类型的多个用户变量。6.1.3 计算参数( R)计算参数或 R参数是名称为 R的预定义用户变量, 用字母 R加数字表示,定义为 REAL数据类型的数组。由于历史原因, R参数既可以带数组索引编写, 如

8、R10 ,也可不带数组索引编写 , 如 R10 。(1) 编程格式R R (2) 指令参数说明R: 作为预处理变量使用时的名称。: R 参数编号 , 类型为整数型 (INT) 。本系统为 300个, 数值为 0299。:数组索引。只要可将表达式结果转换为数据类型INT, 则可设定任意表达式作为数组索引。(3) 参数值的赋值范围1)可以在以下数值范围内给计算参数赋值:0.0000001-9999 9999, 8个数位 ,带符号小数点。2)用指数表示法可以赋值更大的数值范围, (10-300-10300)。 指数值写在“Ex”行号之后 ,EX 范田为 -300+300。Rl=-0.1EX-5 ;表

9、示 R1=-0.000001 R2=l.874EX8;表示 R2=187 400 000 (4) 赋值方法1)直接赋值或通过函数表达式赋值。可以用数值、算术表达式或计算参数对Nc地址赋值。一个程序段中可以有多个赋值语句, 也可以用计算表达式赋值。 如: N10 R1=10 R2=20 R3=10*2 R4=R2-R1 R5=SIN(30) 2)通过参数变量赋值。 通过给 Nc地址分配计算参数或参数表达式,可以增加 NC程序的通用性。但对程序段段号N、加工指令 G和调用子程序指令 L 例外。赋值时在地址符之后写入字符 “=” 。赋值语句也可以赋值一个负号。给坐标轴地址(运行指令 )赋值时,要求有

10、一个独立的程序段。(5) 编程示例算数功能中 R参数的赋值和应用。程序代码注释R0=3.5678 ;在预处理中赋值R1=-37.3 ;在预处理中赋值R3=-7 ;在预处理中赋值R4=-0.1EX-3 ;在预处理中赋值 :R4=-0.1 105(R4=-0.0001) R7=SIN(25.3) ;在预处理中赋值$R6=l.87EX6 ;在主运行中赋值 :R6=1.87106(R6=1870000) RR2=R10 ;通过 R参数间接地址赋值R(Rl+R2)*R3=5 ;通过算术表达式间接地址赋值X=(Rl+R2) ;给 X轴赋值Z=SQRT(Rl*R1+R2*R2) ;给 Z 轴赋值 , 运行至

11、通过 (R2l+R22)平方根确定位置要使一个零件程序不仅适用于特定数值下的一次加工, 或者在程序运行中需精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思要计算出某些数值 , 这两种情况均可以使用计算参数。可以在程序运行时由控制器计算或设定所需要的数值; 也可以通过操作面板设定参数数值。如果参数已经赋值, 可以通过段号寻址变量并对其进行操作。6.1.4 定义用户变量用户可通过 DEF指令定义白己的变量并进行赋值。在划分系统变量时, 这些变量被称为用户定义变量或用户变量(User Data)

12、。根据变量的有效范围 , 即变量可见范围 , 用户变量可分为以下几个类别: 1)局部用户变量 (LUD)。 局部用户变量 (LUD)是执行时在调用零件程序时创建,并在零件程序结束或者NC复位时删除。而不是在主程序的零件程序中定义的变量。此变量只能在定义LUD的零件程序中存取该LUD 。2)程序全局用户变量 (PUD)。 程序全局用户变量 (PUD)是在作为主程序的零件程序中定义的变量。 此变量在零件程序开始时创建, 在零件程序结束或NC复位时删除。可在主程序及所有子程序中存取PUD 。3)全局用户变量 (GUD) 。全局用户变量 (GUD) 是在数据块 (SGUD,MGUD,UGUD, GUD

13、4, ,GUD9)中定义的 NC或通道全局变量 , 此变量通电后依然保留。 可在所有零件程序中存取 GUD 。在使用 ( 读/ 写) 用户变量前对其进行定义时必须遵循以下规则: GUD 必须在定义文件如 _N_DEF_DIR/_M_SGUD_DEF中定义。PUD 和 LUD必须在零件程序的定义段中定义。必须在单独的程序段中进行数据定义。每次数据定义只能使用一种数据类型。每次数据定义可以定义多个相同数据类型的变量。(1) 编程格式系统中定义的编程格式非常完整, 规定的编程格式为 : DEF,= 在实际使用中 , 编程格式可以为 : DEF ,= (2) 指令参数说明DEF:用于定义用户变量 GU

14、D 、PUD 、LUD的指令。: 数据类型INT: 带正负号的整数值。REAL:实数型数值。B00L:真值=TRUE(1)/假值=FALSE(0)。CHAR:ASCII一字符。STRING: 定义长度的字符串。AXIS:进给轴或主轴标志符。FRAME: 静态坐标转换的几何设定。: 变量名称。规定与用户定义变量名称相同。,: 设定 1 维至 3 维( 最大) 数组变量的数组长度 (可选) 。:初始化值 ( 可选)。 (3)编程示例程序全局和局部用户变量(PUD/LUD) 的定义。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 26 页读书

15、之法 ,在循序而渐进 ,熟读而精思程序代码注释PROC MAIN ;主程序DEF INT VARl ;程序全局用户变量PUD 定义一个名称为“ VARl”整型变量VAR1=30 ;名称为 VARl的变量更式初始值为30 . SUB2 ;调用子程序. M30 PROC SUB2 ;子程序 SUB2 DEF INT VAR2 ;局部用户变量 LUD定义. IF(VAR1=1) ;程序全局用户变量PUD 读取VARl =VARl+l ;程序全局用户变量PUD 读取与写入VAR2 = l ;局部用户变量 LUD写入 ENDIF SUB3 ;调用子程序. M17 PROC SUB3 ;子程序SUB3 .

16、 IF(VAR1=1) ;程序全局用户变量PUD 读取VARl =VARl+l ;程序全局用户变量PUD 读取与写入VAR2 = l ;错误: SUB3 中的局部用户变量LUD未知ENDIF . M17 提示: 当设置了以下机床数据时, 在主程序中定义的程序局部用户变量 (PUD )同样在子程序中可见。MD11120 MN_LUD_EXTENDED_SCOPE=1 设置 MD11120=0时,在主程序中定义的程序局部用户变量只在主程序中可见。6.2 系 统 变 量 、 用 户 变 量 和NC语 言 指 令 的 重 新 定 文(REDEF) (1) 指令功能在编写程序中 , 使用 REDEF指令

17、可对系统变量、用户变量和NC语言指令的属性进行更改。 重新定义的前提条件是必须在相应的定义后进行。在重新定义中不能同时对多个属性进行更改。必须为每个需要更改的属性编写单独的 REDEF 指令。如果编写的多个属性更改之间有冲突, 则最后进行的更改有效。提示:不能对局部用户变量(PUD/LUD) 进行重新定义。(2) 编程格式精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思REDEF REDEF REDEF REDEF (3) 指令参数说明REDEF: 用于重定义系统变量、用户变量和NC语言指令

18、的特定属性的指令。: 已定义的变量或 NC语言指令的名称。: 下限或上限。如果在重新定义一个用户变量的极限值时, 当前实际值超出了新的定义范围 , 系统会输出报警 , 而不接收该极限值。因此, 在重新定义用户变量的极限值时 , 请注意值 (极限值、实际值和初始化值) 的修改应保持一致。:变量重新初始化的时间。INIP0: 通电。INIRE: 主程序结束 ,NC复位或上电。INICF: 重新配置或主程序结束 ,NC复位或通电。PRLOC: 主程序结束 , 本地更改后 NC复位或通电。:初始化值。在定义初始化值时 , 必须设定初始化时间。提示: 系统变量不可进行重新定义,也不可以删除已设定数据。6

19、. 3 存取权限 (APR, APW, APRP, APWP , APRB,APWB) 对系统变量的读取与写入操作是一件非常严肃和认真的工作, 来不得半点马虎。为了保证数据读取和写入工作的严肃性和安全性, 系统提出了严格的操作密级规定。没有一定操作密级的密钥则无法进行相应的操作。指令中的 R 表示“读” , 指令中的 W表示“写”。1)存取权限对应了在编程时给定的保护等级。最终用户口令密切一般设为“CUSTOMER” 。2)用户变量的定义 (DEF)。可以定义以下变量的存取权限(APR /APW ): 全局用户数据 (GUD) 。3)重新定义 (REDEF) 系统和用户变量。可以重新定义以下变

20、量的存取权限(APR /APW ) 。系统数据 : 机床数据、设定数据、FRAME 、过程数据、主轴螺距误差补偿(EEC)、垂度补偿 (CEC)、象限误差补偿 (QEC)、刀库数据、刀具数据、保护区、可定向刀梁、运动整、 3D保护区、工作区域限制、 IS0 刀具数据等。用户数据 : R参数、EPS参数、刀具数据 OEM 、刀库数据 OEM 、全局用户变量(GUD) 等。在重新定义时可以自由确定变量的存取权限, 这些变量处于最低保护等级7和自有保护等级如1(机床制造商 ) 之问。HMI 本地存取权限在修改系统数据的存取权限时必须注意, 该权限必须和HMI装置上定义的存取权限一致。精选学习资料 -

21、 - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思6.4 定文和初始化数组变量(DEF, SET, REP) 6.4.1 基本使用方法(1) 指令功能一个用户变量可以定义为1-3 维数组。用户变量可以定又为以下类型的数组 : B00L 、CHAR 、INT、REAL 、STRING 、AXIS、FRAME 数组元素的赋値。可以在以下时间为数组元素赋值: l) 定义数组时 (初始化值 )。2)在程序执行过程中可以通过以下方法赋值: 显式 ( 编写时直接 ) 指定一个数组元素 (DEF)。显式指定一个数组元素为起

22、始元素并给出值列表(SET)。显式指定一个数组元素为起始元素并给出值列表以及重复的频率(REP)。说明: 不能向 FRAME 数据类型的用户变量分配初始化之值。(2) 编程格式1 维数组 : DEF 2 维数组 : DEF , 3 维数组 : DEF , 字行型 (STRING)数据类型的用户变量可以最大定义为2 维数组。1)编程格式 1(DEF)定义数组元素。DEF, DEF STRING, 2)编程格式 2 (DEF=SET ) 使用值列表。定义时 : DEF ,=SET(,)DEF ,=(,) 在通过值列表进行初始化时, 可以选择给定 SET。赋值时 : ,=SET(,) 3)编程格式

23、3 (DEF=REP ) 使用重复值。定义时 : DEF,=REp() DEF,=REP(,) 赋值时 :,=REP() , =REP(,) (3) 指令参数说明DEF:变量定义指令。:变量数据类型。取值范围 : 对于系统变量 :B00L、CHAR 、INT、REAL 、STRING 、AXIS。对于 GUD 或 LUD变量: B00L、 CHAR 、 INT 、 REAL 、 STRING 、 AXIS、 FRAME 。:STRING数据类型下允许的最大字符数。:变量名称。,: 数组长度或数组索引。:1 维的数组长度或数组索引。 类型:INT( 对于系统变量也为AXIS);取值精选学习资料

24、- - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思范围: 最大数组长度 (65535) ;数组索引 :0 n65534。:2维的数组长度或数组索引。其余同上。:3 维的数组长度或数组索引。其余同上。SET:通过给出的值列表赋值。(,): 值列表。REP:通过给出的 赋值。:数组元素在带 REP的初始化时具有的数值。:使用给定 的数组元素的数量。 其他的数组元素取决于不同时间点 : 数组定义时初始化:剩下的数组元素赋值为零。在程序运行过程中赋值 : 数组元素的当前值保持不变。如果没有定义该参数, 所有的数组元

25、素都会分配到。如果参数为零 , 则取决于不同的时间点 : 数组定义时初始化 : 所有元素预定为零。在程序运行过程中赋值 : 数组元素的当前值保持不变。6.4.2 数组索引在使用航列表 (SET)或使用值重复 (REP)的赋值中 , 通过数组素引从右向左的循环构成数组元素的隐式顺序。例 l 某 3 维数组的初始化 , 数组有 24 个元素。程序代码注释DEF INT FELD2,3,4=REP(1,24) ;相当于对下列 24 个数组元素分别赋值FELD0,0,0=1 ;第 1 个数组元素FELD0,0,1=1 ;第 2 个数组元素FELD0,0,2=1 ;第 3 个数组元素FELD0,0,3=

26、1 ;第 4 个数组元素FELD0,1,0=1 ;第 5 个数组元素FELD0,1,1=1 ;第 6 个数组元素. FELD0,2,3=1 ;第 12 个数组元素FELD1,0,0=1 ;第 13 个数组元素FELD1,0,1=1 ;第 14 个数组元素. FELD1,2,3=1 ;第 24 个数组元素也可以使用计数循环语句(FOR ENDFOR) 进行数组初始化赋值。程序代码FOR n=0 T0l FOR m=0 T02 FOR o=0 T03 FELDn,m,o =1 ENDFOR ENDFOR ENDFOR 精选学习资料 - - - - - - - - - 名师归纳总结 - - - -

27、- - -第 8 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思例 2 如图 6_l 所示, 按当前占用情况初始化整个变量数组。1,2 N10:定义时的初始化N20/N30: 使用相同数值初始化N40/N50: 使用相各种数値初始化0 1 2 0 1 2 0 1 2 0 0 0 0 100 100 100 0 1 2 1 10 11 12 100 100 100 -10 -11 -12 2 20 20 20 100 100 100 -20 -20 -20 3 30 30 30 100 100 100 -30 0 0 4 40 40 40 100 100 100 0 -40 -40 5

28、0 0 0 -100 -100 -100 -50 -60 -70 6 0 0 0 -100 -100 -100 -100 -100 -100 7 0 0 0 -100 -100 -100 -100 -100 -100 8 0 0 0 -100 -100 -100 -100 8.1 8.2 9 0 0 0 -100 -100 -100 9.0 9.1 9.2 数值单元5,1-9,2已 使 用默认值(0,0 )初始化数值单元 3,l-4,0已 使用默认值(0,0 )初 始 化数 值 单 元6,0-8,0没有变化图 6-l 按规定位置赋值的三维数数之索引:程序代码注释定义时对数组初始化Nl0DEFR

29、EALFELD110,3=SET(0,0,0,10,11,12,20,20,20,30,30,30,40,40,40,) ; 对变量数组单元 0,0 4,2 进行赋值使用相同数值初始化N20 FELDl0,0= REP(l00) ;从数组单元 0,0 起赋值 100 N30 FELDl5,0= REP(-l00) ;从数组单元 5,0 起赋值 -100 使用不同数值初始化N40 FELDl0,0=SET(0,l,2,-10,-1l,-12,-20,-20,-20,-30,-40,-40,-50,-60,-70); 从数组单元 0,0 起赋值 , 其中3,1 4, 0赋值 0 N50 FELDl

30、8,l=SET (8.1,8.2,9.0,9.1,9.2);从数组单元 8,1 起赋值 6.4.3 定义和初始化数组变量( SET,REP )说明1)使用值列表 (SET)在定义时进行初始化。从第l个数组元素开始 , 按照值列表中的值和写入的元素数量进行初始化。值列表中没有显式指定值的数组元素( 数值表中的空自 ) 自动成值为 0。对于 AXIS数据类型的变量 , 值列表中不允许出现空白。如果值列表包含的值大于数组元素的数量, 则显示报警。 2)使用值列表 (SET)在程序执行中赋值。 以上说明的定义规则同样适用于程序执行中的赋值 , 此外还有以下方法 : 精选学习资料 - - - - - -

31、 - - - 名师归纳总结 - - - - - - -第 9 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思表达式也允许用作值列表的元素。从编程的数组索引开始赋值。从而根据需要对部分数组赋值。 3)使用值列表 (SET)的编程示例。DEFINTFELD5,5 ;数组定义FELD0,0 =SET(l,2,3,4,5) ;对前 5 个数组元素进行赋值 0,0 0,4进行空隙的赋值,数组元素 0,2 和0,3=0 FELD2,3=SET(VARIABLE,4 5.6) ;带变量和表达式的赋值 , 自数组索引 2,3起:2,3=VARIABLE2,4=4 5.6=22.4 4)使用重复值 (R

32、EP)在定义时进行初始化所有或指定数量的数组元素都会以给定值( 常量) 进行初始化。FRAME 数据类型的变量无法进行初始化。编程示例 : 程序代码注释DEF REAL VARNAME10=REP(3,5,4) ;定义数组 , 数组元素 0 3 以值 3.5初始化5)使用重复值 (REP)在程序执行中赋值。以上说明的定义规则同样适用于程序执行中的赋值。此外 , 还可以使用以下方法 : 表达式也允许用作值列表的元素。从编程的数组索引开始赋值。从而根据需要赋值部分数组。6)使用重复值 (REP)的编程示例。程序代码注释DEF REAL VARNAME10 ;数组定义VARNAME5=REP(4.5

33、,3 );数组元素 5 7=4.5 R10=REP(2.4 ,3) ;R参数表中 R10 R12=2.4 DEF FRAME FRM10 ;数组定义FRM5=REP(CTRANS(X,5) ;数组元素 5 9=CTRANS(X,5) 6.5 间接编程6.5.1 间接编程地址在间接编程地址时 , 扩展的地址 (索引) 由一个合适的变量类型替代。但在下列情况中 , 不能间接编程地址 : N(程序段段号 ) 。L( 子程序 )。可调用地址。例如 ,X1 代替 X1是不允许的。(1) 编程格式索引 (2) 指令参数说明.:带扩展名 ( 索引) 的固定地址。: 变量, 例如主轴编号、轴等。精选学习资料

34、- - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思(3) 编程示例例 l 间接编程一个主轴编号。直接编程 : 程序代码注释S1=300 ;主轴转速 300r/min ,编号为 1 间接编程 : 程序代码注释DEFINT SPINU=1 ;定义 INT 型变量和赋值SSPINU=300 ;主轴转速 300r/min, 其编号保存在变量 SPINU中 (在示例中,编号为 1)例 2 间接编程一个轴。直接编程 : 程序代码注释$AA_MMX ;读取轴的侧头 - 测量值( MKS ) “X”间接编程 : 程序代码

35、注释DEF AXIS AXVAR3=X ;定义一个 AXIS型变量和赋值$AA_MMAXVAR3 ;为读取测头 - 测量值(MKS ) ,其名称保存在变量 AXVAR3 中例 3 间接编程数组元素。直接编程 : 程序代码注释DEF INT DATA_14 ,5 ;定义数组 DATA_1 间接编程 : 程序代码注释DEFINE DIMl AS 4 ;定义数组维数 , 必须将数组 ( 维数) 大小设定为固定值;DEFINE DIM2 AS 5 ;定义数组维数DEF INT DATA_1DIMl,DIM2 ;定义数组 DATA_1 DATA_lDIMl-1,DIM2_1 =5 ;对数组単元 3 ,4

36、 赋值 5 例 4 间接调用子程序。程序代码注释CALL “L”R10 ;调用其编号在 R10中的程序 (字符串级联) 6.5.2 同接编程 G指令通过间接编程 G指令, 可以进行有效的循环编程。(l) 编程格式 G 组 = (2) 指令参数说明 G.:带扩展名 ( 索引)的 G指令。:索引参数 G功能组 , 类型为 INT。: 用于 G指令绩号编号的变量 , 类型为 INT 或 MAL 。通常只能间接编程非编程格式定义的G指令。编程格式定义的 G指令中只有G功能组 1 可采用间接编程而G功能组 2、3 和 4 中的编辑格式定义的G指令则精选学习资料 - - - - - - - - - 名师归

37、纳总结 - - - - - - -第 11 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思不可以。在间接 G指令编程中不允许进行算术计算。必须在 G指令间接编程前, 在一个自身的零件程序行中进行必要的G指令编号计算。(3) 编程示例可设定的零点偏移 (G 功能组 8) 程序代码注释N10l0 DEF INT INT_VAR ;定义整型数值变量N1020 INT_VAR=2 ;对已定义的整型数值变量赋值. N1090 G8=INT_VAR Gl X0 Y0 ;间接表示 : 使用 G54可设定工件坐标Nl100 INT_VAR= INT_VAR+1 ;G指令计算Nll10 G8 =INT_

38、VAR G1 X0 Y0;间接表示 : 使用 G55可设定工件坐标6.6 常用的系统变量编程格式6.6.l 几何位置变量编程格式及示例系统变量可以为几个部分(以三轴立式铣床为例说明): 1)读取加工平面参数数据 - 选择 G17 、G18 、G19 。$P_GG6=1 ( 当前所选平面为 G17 ) 。$P_GG6=2 ( 当前所选平面为 G18)。$P_GG6=3 ( 当前所选平面为 Gl9) 。SINUMERIK数控系统强调加工平面的概念, 不仅是指出当前加工的平面位置,也包括了数控系统对坐标系其他概念的描述。例如,G17 平面指 XY平面, 半径长度在 XY 平面中 , 同时也指明刀具轴

39、是Z轴, 包括指明刀具长度1 指的是在 Z 轴方向的长度。同理, G18平面指 ZX平面, 半径长度在 ZX平面中 ,( 三轴立式 , 铣床中 )刀具轴仍是 Z 轴, 但 Gl8 平面中的长度 1 指的是在 Y轴方向的长度。2)读取在机床坐标系 (MCS) 中的(轴)位置数据指令。机床坐标系中 X轴的当前坐标值 : $AA_IMX 。机床坐标系中 Y轴的当前坐标值 : $AA_IMY 。机床坐标系中 Z 轴的当前坐标值 : $AA_IMZ 。例 1 R1=$AA_IMX R1=$AA_IMY R1=$AA_IMZ R1=$AA_IMA 运行上述指令后 , 可在系统“ 0FFSET ”功能区的“

40、 R 参数”界面中看到机床各个坐标轴的当前位置数据。3)读取在工件坐标系 (WCS) 位置的数据值指令。工件坐标系中 X轴的当前坐标值 : $AA_IWX 。工件坐标系中 Y轴的当前坐标值 : $AA_IWY 。工件坐标系中 Z 轴的当前坐标值 : $AA_IWZ 。工件坐标系中 A轴的当前坐标值 : $AA_IWA 。4)读取在基准坐标系 (BCS)位置的数据值指令。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思工件坐标系中 X轴的基本坐标值 :$AA_IBX 工件坐标系中 Y轴的基本

41、坐标值 :$AA_IBY 工件坐标系中 Z 轴的基本坐标值 :$AA_IBZ 工件坐标系中 A轴的基本坐标值 :$AA_IBA 5)读写可设定的零点偏移指令。读取或写入可设定的零点偏移( 工件坐标系原点 ) 的数据值指令 ( 不含扩展零点偏移地址 ) 见表 6-3。表 6-3 读取或写入可设定的零点偏移的数据值指令可设定零点偏移 X 坐标 Y 坐标 Z 坐标 A 轴坐标G500 $P_GG8=1 $P_UIFR0,X,TR $P_UIFR0,Y,TR $P_UIFR0,Z,TR $P_UIFR0,A,TR G54 $P_GG8=2 $P_UIFR1,X,TR $P_UIFR1,Y,TR $P_

42、UIFR1,Z,TR $P_UIFR1,A,TR G55 $P_GG8=3 $P_UIFR2,X,TR $P_UIFR2,Y,TR $P_UIFR2,Z,TR $P_UIFR2,A,TR G56 $P_GG8=4 $P_UIFR3,X,TR $P_UIFR3,Y,TR $P_UIFR3,Z,TR $P_UIFR3,A,TR G57 $P_GG8=5 $P_UIFR4,X,TR $P_UIFR4,Y,TR $P_UIFR4,Z,TR $P_UIFR4,A,TR G58 $P_GG8=6 $P_UIFR5,X,TR $P_UIFR5,Y,TR $P_UIFR5,Z,TR $P_UIFR5,A,TR

43、 G59 $P_GG8=7 $P_UIFR6,X,TR $P_UIFR6,Y,TR $P_UIFR6,Z,TR $P_UIFR6,A,TR 注:$P_UIFR0,TR 变量在程序运行中是生效的, 但是程序结束或复位之后就被清除了。例 2 读取 G55中 Y偏移值到计算参数R8中。R8=$P1_UIFR2,Y,TR 例 3 要设定( 写入)G54 中的 X偏移值 R1=-70、Y轴的偏移值 R2=_50 、z 轴的偏移值 R3=-30、A轴的偏移值 R4=120 , 具体编程指令如下 : $ P_UIFR1,X,TR=-70 $ P_UIFR1,Y,TR=-50 $ P_UIFR1,Z,TR=-

44、30 $ P_UIFR1,A,TR=120 或者用下面的指令写入 :$P_UIFR1=CTRANS(X,R1, Y,R2,Z,R3,A,R4) 运行上述指令后 , 可在系统“ 0FFSET ”功能区的“零点偏移”界面中的 G54一栏中看到以上数据。6)读取程序运行后的设定点编程值指令。工件坐标系中 X轴的基本坐标值 : $P_EPX 。工件坐标系中 Y轴的基本坐标值 : $P_EPY 。工件坐标系中 Z 轴的基本坐标值 : $P_EPZ 。工件坐标系中 A轴的基本坐标值 : $P_EPA 。例 4 R4=$P-EPX。运行上述指令后 , 可在系统“ OFFSET ”功能区“ R 参数”界面中看

45、到程序上一次运行后的最后一个X轴编程值。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 26 页读书之法 ,在循序而渐进 ,熟读而精思6.6.2 刀具几何数据变量编程格式及示例 1) 读取刀具相关信息。$P_T00LN0 ;当前 ( 有效) 刀具号 (T 号) $P_T00L ;当前 ( 有效) 刀具号的 ( 有效) 刀沿号 (D 号) $P_T00LP ;最后一次编程的刀具号$P_T00LLn ;作用的刀具长度 ,n=1,2,3 上面这些指令一般只可在程序中进行读取信息, 不能写人数据。将其编写在加工工序中 , 可与机床实际的数据对

46、比作出判断, 以保证加工程序运行的安全性。编程示例 : 变成代码注释R5=$P_T00LN0 ;査验当前已经激活的刀具号(T 号) R6=$P_T00L ;查验当前已经激活的刀具的刀沿号(D 号) R7=$P_T00LP ;査验运行程序中最后一个编程的刀具号(T 号) R8=$P_T00LLl ;查验当前已经激活的刀具第一长度值运行上述指令后 , 可在系统“ 0FFSET ”功能区的“ R 参数”界面中看到上述信息。2)读取或写入刀具的几何数据。在编写NC程序时 , 刀具数据分别由T 和 D两个参数号代表选择的刀具和被直接分配给刀具的刀沿。程序段中的编写格式为 : $TC_DPXTD 。指令参

47、数说明 : DPx:表示刀具参数编号 , 角标 X表示 DP变量的序号。T,D:T表示刀具号 ,D 表示刀沿号。补偿存储器 DPlDP25的各个参数值可通过程序的系统变量读写。所有其他的参数被保留。刀且参数 $TC_DP6 DTC_DP8 、$TC_DP10 、$TC_DP11 、$TC_DP15 $TC_DP17 、$TC_DP19 和$TC_DP20 视刀具类型一不同会有其他含义,见表6-4。表 6-4 刀具的几何数据变量名称定义变量名称定义$TC_DP1T,D 刀具类型 , 见第 4 章$TC_DP2T,D 刀沿位置 , 仅用于车刀$TC_DP3T,D 刀具长度1 的几何尺寸$TC_DP

48、4T,D 刀具长度2 的几何尺寸$TC_DP5T,D 刀具长度3 的几何尺寸$TC_DP6T,D 刀具半径的几何尺寸直径 d( 切槽锯片 ) $TC_DP7T,D 圆锥形铣刀的转角半径( 铣刀 ) 切槽锯片拐角半径( 切槽锯片 ) $TC_DP8T,D 铣刀的倒圆半径1 ( 铣刀 ) 突出长度k( 切槽锯片)$TC_DP9T,D 备用$TC_DP10T,D 刀具端面角度1 ( 最小极限角度) ( 圆锥形铣刀 ) $TC_DP11T,D 刀具端面角度2 ( 最小极限角度) ( 圆锥形铣刀 ) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,

49、共 26 页读书之法 ,在循序而渐进 ,熟读而精思$TC_DP12T,D 刀具长度1 的磨损值补偿$TC_DP13T,D 刀具长度2 的磨损值补偿$TC_DP14T,D 刀具长度3 的磨损值补偿$TC_DP15T,D 刀具半径的磨损值补偿 ( 铣 刀) 直径 d 的磨损值补偿( 切糟锯片 ) $TC_DP16T,D 圆锥形铣刀的转角半径,拐角半径的磨损值补偿槽宽 b 的磨损值补偿(切槽锯片)$TC_DP17T,D 铣刀的倒圆半径的磨损值补偿( 铣削 3D端铣 ) 超出长度k 的磨损值补偿 ( 切槽锯片 ) $TC_DP18T,D 备用$TC_DP19T,D 刀具端面角度l( 最小极限角度的磨损

50、量) 的磨损值补偿( 圆锥形铣刀 ) $TC_DP20T,D 刀具端面角度2( 最小极限角度的磨损量) 的磨损值补偿( 圆锥形铣刀 ) $TC_DP21T,D 长度 1 适配器 , 长度补偿$TC_DP22T,D 长度 2 适配器 , 长度补偿$TC_DP23T,D 长度 3 适配器 , 长度补偿$TC_DP24T,D 后角 , 仅用于车刀$TC_DP25T,D 备用3)基本值和磨损值的关系。几何尺寸(例如长度 1 或者半径 ) 存在多个记录组成部分。这些部分相加得出的尺寸即为有效尺寸。也就是说, 得出的总和尺寸分别由基本值和磨损值计得出,例如用于半径的 $TC_DP6+$TC_DP15。此外

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com