2022年变量与数学函数 .pdf
《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=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年变量与数学函数 2022 变量 数学 函数
限制150内