SIEMENS系统宏程序(精校版本)

合集下载

数控宏程序的使用方法

数控宏程序的使用方法

数控宏程序的使用方法一、A类宏程序1变量的定义和替换 i=j编程格式 G65 H01 Pi Qj例 G65 H01 P101 Q1005; 101=1005G65 H01 P101 Q-112;101=-1122加法 i=j+k编程格式 G65 H02 Pi Qj Rk例 G65 H02 P101 Q102 R103;101=102+1033减法 i=j-k编程格式 G65 H03 Pi Qj Rk例 G65 H03 P101 Q102 R103;101=102-1034乘法i=j×k编程格式 G65 H04 Pi Qj Rk例 G65 H04 P101 Q102 R103;101=102×1035除法 i=j / k编程格式 G65 H05 Pi Qj Rk例 G65 H05 P101 Q102 R103;101=102/1036平方根 i=编程格式 G65 H21 Pi Qj例 G65 H21 P101 Q102;101=7 i=│j│编程格式 G65 H22 Pi Qj例 G65 H22 P101 Q102;101=│102│8复合平方根1 i=编程格式 G65 H27 Pi Qj Rk例 G65 H27 P101 Q102 R103; 101=9复合平方根2 i=编程格式 G65 H28 Pi Qj Rk例 G65 H28 P101 Q102 R1031逻辑或 i=j OR k编程格式 G65 H11 Pi Qj Rk例 G65 H11 P101 Q102 R103;101=102 OR 1032逻辑与 i=j AND k编程格式 G65 H12 Pi Qj Rk例 G65 H12 P101 Q102 R103;101=102 AND 1033三角函数指令1正弦函数i=j×SINk编程格式 G65 H31 Pi Qj Rk 单位:度 .例 G65 H31 P101 Q102 R103;101=102×SIN1032余弦函数i=j×COSk编程格式 G65 H32 Pi Qj Rk 单位:度例 G65 H32 P101 Q102 R103;101=102×COS1033正切函数i=j×TANk编程格式 G65 H33 Pi Qj Rk 单位:度例 G65 H33 P101 Q102 R103;101=102×TAN1034反正切 i=ATANj/k编程格式 G65 H34 Pi Qj Rk 单位:度,0o≤ j ≤360o例 G65 H34 P101 Q102 R103;101=ATAN102/1034控制类指令编程格式 G65 H80 Pn n为程序段号例 G65 H80 P120;转移到N1202条件转移1 j EQ k=编程格式 G65 H81 Pn Qj Rk n为程序段号例 G65 H81 P1000 Q101 R102当101=102,转移到N1000程序段;若101≠ 102,执行下一程序段;3条件转移2 j NE k≠编程格式 G65 H82 Pn Qj Rk n为程序段号例 G65 H82 P1000 Q101 R102当101≠ 102,转移到N1000程序段;若101=102,执行下一程序段;4条件转移3 j GT k >编程格式 G65 H83 Pn Qj Rk n为程序段号例 G65 H83 P1000 Q101 R102当101 > 102,转移到N1000程序段;若101 ≤102,执行下一程序段; 5条件转移4 j LT k<编程格式 G65 H84 Pn Qj Rk n为程序段号例 G65 H84 P1000 Q101 R102当101 < 102,转移到N1000;若101 ≥ 102,执行下一程序段;6条件转移5 j GE k≥编程格式 G65 H85 Pn Qj Rk n为程序段号例 G65 H85 P1000 Q101 R102当101≥ 102,转移到N1000;若101<102,执行下一程序段;7条件转移6 j LE k≤编程格式 G65 H86 Pn Qj Qk n为程序段号例 G65 H86 P1000 Q101 R102当101≤102,转移到N1000;若101>102,执行下一程序段;二、B类宏程序1.定义I=j2.算术运算I=j+k 加I=j-k 减I=j×k 乘I=j/k 除逻辑函数之布尔函数= EQ 等于≠NE 不等于> GT 大于< LT 小于≥GE 大于或等于≤LE 小于或等于例:I = j 即I EQ J逻辑函数之二进制函数I=J AND k 与,逻辑乘I=J OR k 或,逻辑加I=J XOR k 非,逻辑减4.三角函数I=SINj 正弦I=COSj 余弦I=TANj 正切I=ASINj反正弦I=ACOSj反余弦 I=ATANj 反正切5.四舍五入函数I=ROUNDj 四舍五入化整I=FIXj 上取整I=FUPj 下取整6.辅助函数I=SQRTj 平方根I=ABSj 绝对值I= LN j 自然对数I= EXP j 指数函数7.变换函数 I=BINj BCD→BIN十进制转二进制I=BCDj BIN→BCD 二进制转十进制8.转移和循环1〉.无条件的转移格式:GOTO 1; GOTO 10;2〉.条件转移1 格式:IF<条件式> GOTO n条件式:例:j=k用 j EQ k 表示,即 IFj EQ k GOTO n3〉.条件转移2 格式:IF<条件式> THEN I例:IFj EQ k THEN a=b4〉.循环格式:WHILE <条件式> DOm , m=1、2、3N10~~~~~~~~~N20~~~~~~~~~~~~ENDm 上下两个m只能为1、2、3且必须相同, 这样才能够成一段程序的循环1.说明 1 角度单位为度例:90度30分为90.5度2 ATAN函数后的两个边长要用“1”隔开例:1=ATAN1/-1时,1为了35.03 ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入例:设1=1.2345,2=2.3456,设定单位1μmG91 X-1;X-1.235 X-2 F300;X-2.346 X1+2;X3.580 未返回原处,应改为 XROUND1+ROUND2;4 取整后的绝对值比原值大为上取整,反之为下取整例:设1=1.2,2=-1.2时若3=FUP1时,则3=2.0 若3=FIX1时,则3=1.0 若3=FUP2时,则3=-2.0 若3=FIX2时,则3=-1.05 简写函数时,可只写开头2个字母例:ROUND→RO FIX→FI GOTO→GO6 优先级函数→乘除,1,AND→加减+,-,OR,XOR 例:1=2+3SIN4;7 括号为中括号,最多5重,园括号用于注释语句例:1=SIN2+34+56;3重转移与循环指令。

西门子SINUMERIK数控系统编程和操作手册(手动机床(MM+),车削)说明书

西门子SINUMERIK数控系统编程和操作手册(手动机床(MM+),车削)说明书

SINUMERIKSINUMERIK 808D, SINUMERIK 808D ADVANCED编程和操作手册(手动机床(MM+),车削)用户手册法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。

人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。

警告提示根据危险等级由高到低如下表示。

危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。

警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。

小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。

注意表示如果不采取相应的小心措施,可能导致财产损失。

当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。

如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。

合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。

其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。

由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。

按规定使用Siemens 产品请注意下列说明:警告Siemens 产品只允许用于目录和相关技术文件中规定的使用情况。

如果要使用其他公司的产品和组件,必须得到 Siemens 推荐和允许。

正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。

必须保证允许的环境条件。

必须注意相关文件中的提示。

© Siemens AG 2017. 保留所有权利编程和操作手册(手动机床(MM+),车削) 前言适用产品该手册适用于以下数控系统: 数控系统软件版本 SINUMERIK 808D ADVANCED T (车削)SINUMERIK 808D ADVANCED M (铣削)V4.7.4:PPU161.3/PPU160.2,带主轴/进给伺服系统 SINUMERIK 808D (车削)SINUMERIK 808D (铣削)V4.7.4:PPU141.2,带进给伺服系统 文档组成与目标读者 最终用户文档目标读者 编程和操作手册(车削)车床的编程人员和操作人员 编程和操作手册(铣削)铣床的编程人员和操作人员 编程和操作手册(ISO 车削/铣削)车床/铣床的编程人员和操作人员 编程和操作手册(手动机床(MM+),车削)车床的编程人员和操作人员 诊断手册机械和电气设计人员,调试工程师,机床操作人员和维修服务人员 制造商/维修文档目标读者 调试手册安装人员,调试工程师和维修服务人员 功能手册机械和电气设计人员,技术专家 参数手册机械和电气设计人员,技术专家 维修手册机械和电气设计人员、技术专家、调试工程师以及服务和维护人员 自述文件第三方软件 - 许可条件和版权说明我的文档管理器(MDM )如何在西门子文档内容的基础上创建自定义文档,请访问以下链接:/mdm标准功能范畴本手册仅描述了标准功能范畴。

SIEMENS系统中宏程序的编制

SIEMENS系统中宏程序的编制

2.2.2 条件运 算符 = = (等于 ),< >(不 等于 ),>(大 于 ),<(小
于 ),> =(大于等 于 ),< =(小 于等 于 )。
2.2.3 函 数
SIN(正弦 ),COS(余 弦 ),TAN(正 切 ),ATAN2
执 行相应 操作 ,使程 序应用 更加灵 活 、方便 。实 际的 (反正 切 2),ASIN(反 正 弦 ),ACOS(反 余 弦 ),ABS 变 量值则 由宏 程 序指 令 赋值 给变 量 。利 用 宏 指令 , (绝对值 ),SQRT(平 方 根 ),POT(平 方 根 ),TRUNC
关 键 词 :宏 程 序 ;SIEMENS系统 ;计 算 参 数 R;程 序 跳 转
中图 分 类 号 :TH126 ●l —刖jJ_ J —— 吾~
文 献标 识 码 :A
表 示 法 可 以 赋 值 更 大 的 数 值 范 围 :±(10-300~ 10+300),指 数 值 写 在 EX符 号之 后 ,最 大 符 号 数 为
作量 。
2 宏 程 序
2.1 计 算参数 R
标 记符或 程序段 号用 于标记 程序 中所跳转 的 目 标程 序段 ,用跳 转 功 能 可 以实 现程 序 运 行分 支 。标 记符 可 以 自由选取 ,但 必须 由 2~8个字母 或数字 组 成 ,其 中开始两 个 符 号必 须 是 字母 或 下划 线 。跳 转
不 仅数控 程序具 有通 用性 、灵活性 ,使程 序得 到最 大 限度 的简 化 ,而 且极 大地提 高编程 效率 ,为一 些特殊 或相 似零件 的数控 编程 提供参 考依 据 。对 于形 状相
(取整 )。
2.2.4 计 算表 达式
·

数控宏程序教程(车床篇)1(经典)

数控宏程序教程(车床篇)1(经典)

由浅入深宏程序1-宏程序入门基础之销轴加工对于没有接触过宏程序人,觉得它很神秘,其实很简单,只要掌握了各类系统宏程序的基本格式,应用指令代码,以及宏程序编程的基本思路即可。

对于初学者,尤其是要精读几个有代表性的宏程序,在此基础上进行模仿,从而能够以此类推,达到独立编制宏程序的目的。

本教程将分步由浅入深的将宏程序讲解给大家,作者水平有限,也希望各位同仁提供更好的思路。

下面大家先看一个简单的车床的程序,图纸如下:要求用外圆刀切削一个短轴,这里只列举程序的前几步:O0001T0101;M3S800;G0X82Z5;G0X76;G1Z-40F0.2;X82;G0Z5;G0X72;G1Z-40F0.2;X82;G0Z5;G0X68;G1Z-40F0.2;X82;G0Z5;G0X68;G1Z-40F0.2;X82;G0Z5;........G0X40;G1Z-40F0.2;X82;G0Z5;G0X150Z150;M5;M30;从上面程序可以看出,每次切削所用程序都只是切削直径X有变化,其他程序代码未变。

因此可以将一个变量赋给X,而在每次切削完之后,将其改变为下次切削所用直径即可。

T0101;M3S800;G0X82Z5;#1=76;赋初始值,即第一次切削直径N10 G0X[#1] ;将变量赋给X,则X方向进刀的直径则为#1变量中实际存储值。

N10是程序G1Z-40F0.2;段的编号,用来标识本段,为后面循环跳转所用。

X82;G0Z5;#1=#1-4;每行切深为2mm,直径方向递减4mmIF [#1GE40] GOTO 10如果#1 >= 40,即此表达式满足条件,则程序跳转到N10继续执行。

G0X150Z150;当不满足#1 >= 40,即#1<40,则跳过循环判断语句,由此句继续向后执行。

M5;M30;由浅入深宏程序2-宏程序之销轴粗精加工本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。

SIEMENS数控系统编程指令详解

SIEMENS数控系统编程指令详解

SIEMENS数控系统编程指令详解SIEMENS数控系统编程指令详解第一章编程语言1.1 准备功能(G指令)一般用NC语言对单个操作步骤进行实际编程,只能代表一个NC 程序中工作的一部分。

实际指令编程之前,应先对操作步骤进行计划和准备,对NC程序的结构和组织考虑的越周详,所产生的复杂程序就会越清晰、准确,而且生成的速度就会越快,越简便。

通常按如下编程步骤进行:根据图纸要求、指定加工方案;测量每一把刀具的长度及半径;确定工件零点坐标系的位置;计算出每把刀具的切削用量;编制加工零件程序;根据程序图形模拟,查看刀具运行轨迹;空运行,查看刀具运行轨迹;试切削、检验、优化加工程序。

每一个程序都有一个不同的名称叫程序名,编程时可以任意选择名称。

在编辑程序时首先要建立一个新程序名,然后才能编制加工程序。

建立新程序名时要注意以下几点:前一个符号必须是字母;其余符号可以是字母、数字几及下划线;程序名最多有24个字符;字符间不允许有分隔符。

SIEMENS 802D数控系统常用G代码:1.2.1 G00快速定位指令格式:G00 Xxx Yxx ZxxXxx Yxx Zxx ——直角坐标系中的终点坐标;编程示例(图1—1)Y)0 X图1—1N10 G00 G90 X0 Y0N20 G00 X200 Y200G00 指令的运动速度为机床的快速定位速度(机床允许的最大运动速度)G00的速度由机床参数设定。

G00快速移动功能不能用于工件切削加工,只能用于空行程进给,一般用于接近起始位置或换刀点、退刀等。

1.2.2 G01 直线插补指令格式:G01 Xxx Yxx Zxx FxxXxx Yxx Zxx ——直角坐标系中的终点坐标;Fxx ——进给率单位mm/min。

编程示例(图1—2)YX图1—2N10 G00 G90 X0 Y0N20 G01 X150 Y200 F300G01指令规定的进给速度可以由面板上的进给倍率开关进行修调,此功能一般用于工件切削,切削的进给速度由F值指定。

理论六、SIEMENS系统宏程序编程(圆槽宏程序)

理论六、SIEMENS系统宏程序编程(圆槽宏程序)

理论六、SIEMENS系统宏程序编程(R参数编程)SIEMENS系统中的参数编程与FANUC系统中的“用户宏程序”编程功能相似,SIEMENS中的R参数就相对于用户宏程序中的变量。

同样,在SIEMENS 系统中可以通过对R参数进行赋值、运算等处理,从而使程序实现一些有规律变化的动作,进而提高程序的灵活性和实用性。

一、参数编程1、R参数的表示R参数由地址R与若干位(通常为3位)数字组成。

例R1、R10、R105等。

2、R参数的引用除地址N、G、L外,R参数可以用来代替其他任何地址后的数值。

但在参数编程时,地址符后必须用“=”接变量。

赋值:R1=…R1=10.0+R2 (#1=10.0+#2)X#101⇒ X=R101 Y-#102 ⇒ Y=-R102eg:G01X=R10Y=-R11F=100R12;(当R10=100,R11=50,R12=20时)⇒ G01X100Y-50F80;3、R参数的种类R参数分成三类:自由参数、加工循环参数、加工循环内部计算参数。

1)自由参数:R0~R99,可以在程序中自由使用。

2)加工循环参数:R100~R249,如果在程序中没有使用固定循环,则这部分参数也可以自由使用。

3)加工循环内部计算参数:R250~R299,如果在程序中没有使用固定循环,则这部分参数也可以自由使用。

4、参数的运算1方)、ABS(绝对)、TRUNC(取整)等等运算格式。

2)参数的运算次序R参数的次序依次为:函数运算(SIN、COS、TAN等)→乘和除运算(*、/、AND等)→加和减运算(+、-、OR、XOR等)。

eg:R1=R2+R3*SIN(R4)在R参数运算过程中,允许使用括号以改变运算次序,且括号允许嵌套使用。

Eg:R1=SIN(((R2+R3)*R4+R5)/R6)5、跳转指令:跳转指令起到控制程序流向的作用。

1)无条件跳跃(绝对跳转)格式:GOTOB 标志符或GOTOF 标志符GOTOB 标志符:带向后跳转目的的跳转指令(无条件朝程序开头跳转至标志符出执行)GOTOF 标志符:带向前跳转目的的跳转指令(无条件朝程序结尾跳转至标志符出执行)2)条件跳转格式:IF 条件表达式GOTOB 标志符IF 条件表达式GOTOF 标志符条件表达式中常用的运算比较符书写方式如下:运算符书写格式运算符书写格式等于= 大于>不等于<> 小于等于<=小于< 大于等于>=二、实例讲解例一、圆弧上点的移动,如下图所示:根据编程思路步骤:1)分析图形2)数学模型α = α1 +(n-1)⨯△αXn= Rcosα+XcYn=Rsinα+Yc3)控制程序出口,确定变量,(可以选择孔的数量控制α⇐n)起始角30︒R1圆弧半径32mm R2位置间隙10︒R3点数11 R4圆心位置X50mm R5圆心位置Y20mm R6R1=30 R2=32 R3=10 R4=11 R5=50 R6=20AA:G00 X=R2*COS(R1)+R5 Y=R2*SIN(R1)+R6R1=R1+R3R4=R4-1IF R4>0 GOTOB AA (<10 、>1、>=1) 比较>、<时出现的情况说明:A、强调条件表达式,应该恰到好处;B、使用变量,变量越少越好。

浅谈几种SIEMENS宏程序在加工中心上的应用

浅谈几种SIEMENS宏程序在加工中心上的应用

浅谈几种SIEMENS宏程序在加工中心上的应用作者:余昌水刘欣余意来源:《智富时代》2019年第11期【摘要】本文针对生产实际中出现的几个问题,通过编制宏程序加工后,避免并解决了重复修改点位造成错误的问题,使生产效率和产品质量明显提升。

【关键词】生产实际;问题;宏程序;避免并解决1.引言宏程序短小简洁,逻辑性强,具有极好的易读性和修改性。

通用宏程序在编制后可灵活调用,使用时直接赋值即可,简单方便,既减少了编程工作量,提高了编程效率,又拓宽了机床编程功能的范围,节省了机床内存空间,在使用过程中拥有CAD/CAM软件不可取代的优势,因此被广泛应用于企业数控成产加工中[1]。

随着SIEMENS数控系统机床的使用越来越多,零件在FANUC数控系统机床上加工时存在的用宏程序解决的问题在SIEMENS数控系统机床加工时这样的问题依然存在,也需用SIEMENS数控系统宏程序进行解决。

2几种宏程序的具体应用2.1在预铸底孔上加工其他孔,且需保证同轴度要求预铸底孔在零件上的相对位置会因毛坯而异,在预铸底孔的基础上加工其他孔时,需找正原预铸底孔,每一件毛坯都需找正,给程序的编制修改带来了很大的麻烦,不仅工作量大,同时易出错,而用宏程序就能很好的解决这一问题。

例如:预铸孔Ф11深100,如图2所示,用Ф10立铣刀铣深20直径Ф12孔的程序;D10 LI XI DAON2 G500 G0 Z850 G90 D0N4 T1 M06N6 R200=1;X XIANG BU CHANGN8 R201=0;Y XIANG BU CHANGN10 G0 G90 G94 G17 G54 X=105.5+R200 Y=59.+R201 B0.0 S1000 M03 D1;X105.5、Y59.为设计图上预铸孔标注位置N12 Z400. M08;XI D12 KONGN14 G0 Z136.N16 G01 X=105.5+R200-1 F200N18 G03 X=105.5+R200-1 Y=59.+R201 Z102. I1. J0 TURN=(16)N20 G03 X=105.5+R200-1 Y=59.+R201 I1. J0N22 G01 X=105.5+R200N24 G0 Z400.N26 M05N28 G0 G500 G90 Z850 D0N30 M302.2 根据工件上铸造凸台实际位置加工其上特征问题工件毛坯为铸造态时,由于热变形,工件上铸造出的凸台位置相对工件的设计基准会有一定的变化,这个变化量虽然没有超出设计公差,但在具体加工时需要在设计公差范围内进行调整,每一件零件需要调整的量都不一致,给凸台面的加工及凸台上其它特征的加工带来了困难,不同不利于批量加工。

数控编程宏程宏入门,变量的认识,由浅入深学会宏程序!

数控编程宏程宏入门,变量的认识,由浅入深学会宏程序!

数控编程宏程宏入门,变量的认识,由浅入深学会宏程序!觉得此文对你有所帮助的朋友,请收藏转发!收藏同时也请不要吝惜在评论区给小编任意留言,或文末点个赞!也好让小编知道有多少人看,也是以后更新的动力!1.什么是宏程序?在数控编程中,用户宏程序是数控系统中的特殊编程功能。

所谓用户宏程序其实是把一组带有变量的子程序事先存储在系统存储器中,并通过主程序中的宏程序调用指令调用并执行这一组程序。

由于数控系统的指令功能有限,而宏程序功能可以显著地增强机床的加工能力,同时可精简程序,所以宏程序编程是加工编程的重要补充。

用户宏程序可以用公式来加工零件,例如加工椭圆,如果用常规的编程方法,需要逐点算出曲线上的点,然后用直线或圆弧进行拟合逼近,所以编程时需要计算很多的点。

如果使用用户宏程序,可以直接把椭圆公式编入到程序中,加工零件时系统会自动计算出曲线上各点的坐标,大大减轻了编程的工作量。

2.什么是变量?变量是指在程序的运行过程中随时可以发生变化的量。

普通加工程序直接用数值指定G代码和移动距离;例如,G01和X100.0等,这些数值都是常量,所以一个程序只能描述一个几何形状。

而用户宏程序本体中可以使用变量进行编程,编程时可以使用变量进行算术运算、逻辑运算和函数的混合运算,这样就可以实现编制一个程序,即可加工尺寸不同但是形状相同的工件,加工时只需修改少数几个参数,从而可以使用宏程序执行一些有规律变化的动作。

变量分局部变量,公共变量(全局变量)和系统变量三种。

局部变量是一个在宏程序中局部使用的变量,即只在本程序内起作用。

例如当宏程序A调用宏程序B而且都有变量#1时,由于变量#1服务于不同的宏程序,所以宏程序A中数控cnc的#1与宏程序B 中的#1不是同一个变量,因此可以赋于不同的值,相互间互不影响。

局部变量不能在程序运行时加以修改,只能由程序控制。

在使用局部变量时,必须在程序中赋初值。

当断电时,局部变量被初始化为空,调用宏程序时,自变量对局部变量赋值,公共变量贯穿于整个程序过程,即在所有程序中起相同的作用。

宏程序

宏程序

宏程序讲义4.2用户宏程序及其基本编程方法在生产过程中存在大量的零件是系列化的。

它们的形状相似,但是尺寸不同。

为了满足对这类零件的编程需要,数控系统提供了一些固定循环。

如FANUC 中的钻孔循环,车加工中的粗加工循环等,SIEMENS 系统中的孔加工循环和腔、槽加工循环等等。

除此以外,还为用户提供了根据自己的需要编写固定循环的功能,以满足不同用户的特殊需要。

这种功能在不同的系统中有不同的提法,例如,在FANUC 系统中称作用户宏程序,在SIEMENS 系统中称作用户循环。

无论其名称如何不同,但其实质都是利用变量和程序控制功能,编制具有一定通用性的程序,如果这个程序作为子程序,可以通过变量和简单指令被其他程序调用。

变量用一个名称表示一个数,通过程序或操作面板对其赋值,也可以参与运算。

程序控制语句使得程序运行可以不再单一按自然排列顺序执行,而可以由控制语句控制其执行顺序。

4.2.1 FANUC 系统 4.2.1.1变量变量用变量符号“#”和后面跟随变量号表示。

变量号可以是整数,例如:#10,#20等。

变量号也可以是一个表达式,例如:#[#1+#2+#3],如果,#1=1,#2=4,#3=7,那么 #[#1+#2+#3] 等价于 #12。

变量的类型: FANUC 系统规定变量的类型由变量号区分,共分为四类:变量的范围:局部变量和公共变量的值可以是0或者4710-~ 2910-- 或者 2910- ~ 4710在程序中定义变量时,小数点可以省略。

例如定义#1=123;#1的实际值是123.000。

空变量处理:1. 空变量被引用:当引用一个空变量时,这个引用无效。

例如 #1 = 〈空〉,G90 X100 Y#1 等同 G90 X1002.赋值与运算:一个空变量被赋予另一个变量时,被赋值的变量也成为空变量。

例如#1=〈空〉,#2=100,执行#2=#1 以后,#2 = 〈空〉。

在运算中空变量等于0.例如#1=〈空〉,#2=100,#3=50 执行#3=#1+#2 以后,#3 = 100;3.比较:在等于和不等于的比较中,空变量与0是不相同的。

宏程序

宏程序

宏程序: 把以子程序的形式存储的一组指令称为用户宏程序 本体,简称宏程序。
宏程序调用指令: 调用宏程序的指令 称为“用户宏程序命令”。
用户宏程序最大特点: 在用户宏程序本体中可以使用变量进行编程,并且 可以用宏指令对这些变量进行赋值、运算等处理。
4.6 用户宏程序编程简介
(一)用户宏程序及其调用 用户宏程序本体与一般加工程序的主要区别: 1)用户宏程序除可以使用一般的CNC编程指令 外,还可以使用“变量’’进行编程。 2)通过宏程序指令,在宏程序中还可以对 “变量’’进行运算、赋值等处理; 3)通过对“变量”值的判别,也可以实现程 序的“跳转”等功能。 用户宏程序本体也是以程序号O□□□□作为 开始,以辅助功能M99指令作为结束标记。
4.6 用户宏程序编程简介
1.变量的表示 字符“#”及后续的变量号进行表示, 其格式: #□□□□ 如#205、#209、#1005等均代表变量 2.变量的引用 “变量”可以直接代替地址后的数值,在程序 中 进行引用。 如X#200、Y#201、G#203等都是引用了“变量” 的指令字。 在这些指令字中地址后的值是可以通过“变量” 改变的可变值,由执行时刻的“变量”值来决定。
另外,用G65指定的H代码,对刀具长度补偿 的偏置号的选择,没有任何影响。 常用的宏程序运算、转移命令的功能
在“用户宏程序B”中:
运 算 、 转 移 指 令 可 以 直 接 利 用 表 4-12 中 的
“运算表达式”进行编程,而不能再通过 G65H□□指令进行定义。
在使用宏程序运算命令时注意:
4.6 用户宏程序编程简介
根据功能用户宏程序分: 用户宏程序A 用户宏程序B 用户宏程序A的调用指令格式格式: M98 P□□□□; 用户宏程序B的调用指令格式: G65 P□□□□; 此外,在“用户宏程序B”中,还可以通过 G66指令进行用户宏程序的模态调用 用G77撤消模态调用。

数控宏程序入门知识讲解

数控宏程序入门知识讲解

数控宏程序入门知识讲解1,何为宏程序?用变量的方式进行数控编程的方法就叫做数控宏程序编程。

我们普通程序(如G01X100.Y100.F200)X,Y地址后面都是些常量,如果我们把这些常量用变量来编写如G01X#1 Y#2 F200,这就是我们所谓的宏程序。

备注*:FUNC系统是用#1,#2等等来表示变量的。

机床系统不同表示的方式也不同,在这以FUNC系统为例)FUNC系统是用#1,#2等等来表示变量的。

即“#”和“数字”组成的。

如#1,#2……#33等。

这些#后面的数子1,2,3等等有什么含义吗?其实它只是宏变量的代号而已。

举个最简单的例子:如果有三个人,他们的名字都叫小李。

那么当你呼叫小李的时候,会发生一个问题,这三个人都会回答,但你其实只想喊其中的一个。

这就分不清了。

同理,#1 ,如果后面的数字都是一样,当系统使用#1的时候,它也会发生糊涂,到底让我用哪个呢?所以为了区分它们,就把后面的数字写成不同的,比如#1,#2,#3。

此时如果系统使用#1,就不会发生混乱了。

2,何为变量?,变量是一个会变化的量,与之对应的是常量。

(常量比如:1,2,22,65等等阿拉伯数字。

变量比如:#1,#2,#5等等,#1,#2的值到底是多少?因为它是变量,一个会变化量)。

3,变量是多少?比如把#1,#2等变量当做的银行卡,你往这些卡里存了多钱,那么这些卡里就有多钱(比如:往#1里面存了500元,此时#1就相当于500,又取走了300此时#1里面就有200)。

4,变量的赋值往#1里面存了500元等这么一个过程就叫变量赋值。

如果你不在往“#1“里面存钱,或取钱,那么#1就相当于500.也就是说#1不发生运算的情况下就是500.如果有这么一个程序段G0X#1,也就等同于此程序段G0X500.那么变量在数控机床中是怎么赋值的呢?,格式如下:(机床中的赋值中文解释备注)#5=100把100这个数值赋给变量#5把常量赋给了#5#1=#1-1把#1-1这个运算结果赋值给#1把表达式结果赋值给了#1#6= [#11 #15 3]把[#11 #15 3]这个表达式的运算结果赋值给#6把表达式结果赋值给了#65,宏程序IF…GOTO语句直观意思是:如果...就跳转到哪(或者是做什么事)。

SIEMENS系统宏程序(精校版本)

SIEMENS系统宏程序(精校版本)

SIEMENS系统宏程序应用一、计算参数SIEMENS系统宏程序应用的计算参数如下:R0~R99----可自由使用;R100~R249----加工循环传递参数(如程序中没有使用加工循环,这部分参数可自由使用);R250~R299----加工循环内部计算参数(如程序中没有使用加工循环,这部分参数可自由使用)。

二、赋值方式为程序的地址字赋值时,在地址字之后应使用“=”,N、G、L除外。

例:G00 X=R2三、控制指令控制指令主要有:IF 条件 GOTOF 标号IF 条件 GOTOB 标号说明:IF----如果满足条件,跳转到标号处;如果不满足条件,执行下一条指令;GOTOF----向前跳转;GOTOB----向后跳转;标号----目标程序段的标记符,必须要由2~8个字母或数字组成,其中开始两个符号必须是字母或下划线。

标记符必须位于程序段首;如果程序段有顺序号字,标记符必须紧跟顺序号字;标记符后面必须为冒号。

条件----计算表达式,通常用比较运算表达式,比较运算符见表6.6。

表6.6 比较运算符比较运算符意义== 等于<> 不等于> 大于< 小于>= 大于或等于<= 小于或等于例:……N10 IF R1<10 GOTOF LAB1……N100 LAB1: G0 Z80四、应用举例例6-5:用镗孔循环 LCYC85加工图6.6所示矩阵排列孔,无孔底停留时间,安全间隙2mm。

N10 G0 G17 G90 F1000 T2 D2 S500 M3N20 X10 Y10 Z105N30 R1=0N40 R101=105 R102=2 R103=102 R104=77 R105=0 R107=200 R108=100N50 R115=85 R116=30 R117=20 R118=10 R119=5 R120=0 R121=10N60 MARKE1:LCYC60N70 R1=R1+1 R117=R117+10N80 IF R1<5 GOTOB MARKE1N90 G0 G90 X10 Y10 Z105N100 M2图6.6 矩阵排列孔加工。

数控编程——宏程序教程

数控编程——宏程序教程

数控编程讲义第一篇铣工篇 (1)专题一行切和环切 (1)1.1环切 (1)1.1.1环切刀具半径补偿值的计算 (2)1.1.2环切刀补程序工步起点(下刀点)的确定 (4)1.1.3在程序中修改刀具半径补偿值 (5)1.1.4 环切宏程序 (7)1.2 行切 (8)1.2.1 矩形区域的行切计算 (8)1.2.2行切的子程序实现 (10)1.2.3 行切宏程序实现 (11)专题二相同轮廓的重复加工 (13)2.1 用增量方式完成相同轮廓的重复加工 (14)2.2用坐标系平移完成相同轮廓的重复加工 (14)2.3 用宏程序完成相同轮廓的重复加工 (15)专题三简单平面曲线轮廓加工 (17)专题四简单立体曲面加工 (18)4.1球面加工 (18)4.1.1外球面加工 (20)4.1.2内球面加工 (21)4.2水平圆柱面的加工 (22)4.2.1圆柱面的轴向走刀加工 (22)4.2.1圆柱面的周向走刀加工 (23)专题五孔系加工 (25)5.1 矩形阵列孔系加工 (25)5.2环形阵列孔系加工 (26)第二篇车工篇 (27)专题六参数编程 (27)专题七方程曲线的车削加工 (29)7.1方程曲线车削加工的走刀路线: (29)7.2 椭圆轮廓的加工 (30)附录FANUC系统G指令和宏指令 (32)附录1 刀具补偿值、刀具补偿号及在程序中赋值G10 (32)1、刀具补偿值的范围 (32)2、刀具补偿值的存贮 (32)3、刀具补偿赋值格式: (34)附录2 缩放G50、G51 (35)附录3 坐标系旋转G68、G69 (42)附录4 宏程序B(custom macro B) (48)1 宏变量(variables) (48)2 系统变量SYSTEM VARIABLES (54)2.1接口信号Interface signals (55)2.2刀具补偿值Tool compensation values (56)2.3宏程序报警信息Macro alarms (58)2.4时间信息 (59)2.5自动运行控制 (60)2.6背景(#3005)Settings (63)2.7已加工的零件数Number of machined parts (65)2.8模态信息Model information (65)2.9当前位置 (68)2.10工件坐标系补偿值(工件坐标系零点偏置值) (69)3 算术和逻辑运算 (71)4 宏语句和NC语句 (82)5分支和循环 (83)5.1无条件分支GOTO语句 (84)5.2 条件分支IF语句 (84)5.3 循环WHILE 语句 (87)6 调用宏程序MACRO CALL (35)6.1 简单调用G65 (36)6.2模态调用G66 (46)6.3 使用G代码的宏调用 (52)6.4 使用M代码的宏调用 (55)6.5 使用M代码的子程序调用 (58)6.6 使用T代码的子程序调用 (59)6.7例程.................................................................................. 错误!未定义书签。

数控宏程序编程

数控宏程序编程
• b、运算符 运算符由 2个字母组成,用于两个 值的比较,以决定它们是相等还是一个值小于 或大于另一个值。注意,不能使用不等符号。
• 下面的程序计算数值 1~10 的总和
(3)循环 (WHILE 语句)
在WHILE后指定一个条件表达式, 当指定条 件满足时, 执行从DO到END之间的程序。否则, 转到 END后的程序段。

5.SIEMENS 802D系统R参数指令编程
编程的计算参数从R0~R299,共计300个计 算参数。 其中R0~R99在编程时可以自由使用;
R100~R249主要用于加工循环传递参数; R250~R299用于加工循环的内部计算参数。 如果编程时没有用到加工循环,R100~R249 同样可以在编程时自由使用。
自变量指定Ⅰ
根据使用的字母,CNC系统自动地决定自变量 指定的类型。
地址不需要按字母顺序指定。但应符合字地址 的格式。
但是,I,J 和K 需要按字母顺序指定。
自变量指定Ⅱ
•根据使用的字母,系统自动决定自变量指定的类型。 •自变量指定Ⅱ用于传递诸如三维坐标值的变量。 •I,J,K 的下标用于确定自变量指定的顺序,在实际 编程中不写。
数控宏程序编程
主讲:杨旭
第一章 宏程序应用概述
1.宏程序与普通程序的对比 2.宏程序编程特点 3.宏程序与CAD/CAM软件生成程序的加工性能对

1.宏程序与普通程序的对比
2.宏程序编程特点
宏程序的最大特点是将有规则的形状和尺寸 用最短的程序表示出来,具有极好的易读性和 易修改性,编写的程序非常简洁,逻辑严密, 通用性极强。 宏程序具有灵活性、通用性和智能性等特点
第三章 编程实例
例1:如果所示加工长半轴为40,短半轴为20 的椭圆。

SINUMERIK-802D加工中心或铣床宏程序

SINUMERIK-802D加工中心或铣床宏程序

SINUMERIK-802D 系统 R 参数和程序跳转(一)计算参数R要使一个NC 程序不仅仅适用于特定数值下的一次加工,或者必须要计算出数值,这两种情况均可以使用计算参数。

你可以在程序运行时由控制器计算或设定所需要的数值;也可以通过操作面板设定参数数值。

如果参数已经赋值,则它们可以在程序中对由变量确定的地址进行赋值。

如果值已经被指定给算术参数,那么它们就可以在程序中被指定给其它NC 地址,这些地址字的值将是可变的。

1.编程格式:R0=...~R299=...2.值的指定:你可以在以下范围内给算术参数赋值:±(0.000 0001 ~ 9999 9999 )(8位,十进制位,带符号和小数点)整数值小数点可省略,正号也可以一直省去。

例:R0=3.5678 R1=-37.3 R2=2 R3=-7 R4=-45678.123;用指数表示法可以赋值更大的数值范围::±(30010-~30010+)。

指数的值书写在EX 字符后面,最大的总的字符个数为10(包括符号和小数点)。

EX 值的范围:-300 到+300。

举例:R0=-0.1EX -5 ;意义:R0=-0.000 001; R1=1.874EX8 ;意义:R1=187 400 000。

在一个程序段内可以有几个赋值或几个表达式赋值。

3.给其它的地址赋值通过给其它的NC 地址分配计算参数或参数表达式,可以增加NC 程序的通用性。

可以用数值、算术表达式或R 参数对任意NC 地址赋值。

但对地址N 、G 和L 例外。

当赋值时,在地址字后面书写字符“=”,也可以赋一个带负号的值,给轴地址字赋值时必须在一个单独的程序段内。

举例:N10 G0X =R1 ;给X 轴赋值 在计算参数时也遵循通常的数学运算规则。

4.编程举例(1)R 参数编程实例:N10 R1=R1+1由原来的R1加上1后赋值给新的R1 N20R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 加、减、乘、除运算 N30 R13=SIN (25.3) R13等于正弦25.3度N40 R14=R1*R2+R3 乘除优先于加减,R14=(R1*R2)+R3 N50 R14=R3+R2*R1与N40一样 N60 R15=SQRT (R1*R1+R2*R2)R15=2221R R +(2)坐标轴赋值编程实例:N10G1G91X=R1Z=R2 F300N20Z=R3N30X=-R4N40Z=-R5...(二)标记符——程序跳转目标标记符或程序段号用于标记程序中所跳转的目标程序段,用跳转功能可以实现程序运行的分支。

数控车床宏程序

数控车床宏程序

数控车床宏程序FANUC数控车第一章编程代码----------------------------------------------------------1 1.准备功能G------------------------------------------------------------1 2.辅助功能M-----------------------------------------------------------6 第二章用户宏程序-------------------------------------------------------71. 运算符号---------------------------------------------------------------72.转移和循环-----------------------------------------------------------7 3.运算指令--------------------------------------------------------------8第三章宏程序编程------------------------------------------------------11 1.车V型圆锥- --------------------------------------------------------11 2.车U圆弧-------------------------------------------------------------12 3.方程曲线车削加工-------------------------------------------------13 5.车梯形螺纹36×6--------------------------------------------------14 6.蜗杆-------------------------------------------------------------------15 7.加工多件--------------------------------------------------------------17 第四章自动编程---------------------------------------------------------------21 1.UG建模--------------------------------------------------------------------21 2.创建几何体----------------------------------------------------------------24 附录--------------------------------------------------------------------------29第一章编程代码1.准备功能G00快速定位 G01直线插补 G02顺弧插补G03逆弧插补 G04暂停G9,G60,G64准确/连续停G20英制输入 G21米制输入 G40取消刀具补偿G41建立左刀具补偿 G42建立右刀具补偿G50坐标设定/主轴最高速设定G70精车循环格式: G70 P(ns) Q(nf)ns: 精加工形状程序的第一个段号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SIEMENS系统宏程序应用
一、计算参数
SIEMENS系统宏程序应用的计算参数如下:
R0~R99----可自由使用;
R100~R249----加工循环传递参数(如程序中没有使用加工循环,这部分参数可自由使用);
R250~R299----加工循环内部计算参数(如程序中没有使用加工循环,这部分参数可自由使用)。

二、赋值方式
为程序的地址字赋值时,在地址字之后应使用“=”,N、G、L除外。

例:G00 X=R2
三、控制指令
控制指令主要有:
IF 条件 GOTOF 标号
IF 条件 GOTOB 标号
说明:
IF----如果满足条件,跳转到标号处;如果不满足条件,执行下一条指令;
GOTOF----向前跳转;
GOTOB----向后跳转;
标号----目标程序段的标记符,必须要由2~8个字母或数字组成,其中开始两个符号必须是字母或下划线。

标记符必须位于程序段首;如果程序段有顺序号字,标记符必须紧跟顺序号字;标记符后面必须为冒号。

条件----计算表达式,通常用比较运算表达式,比较运算符见表6.6。

表6.6 比较运算符
比较运算符意义
== 等于
<> 不等于
> 大于
< 小于
>= 大于或等于
<= 小于或等于
例:
……
N10 IF R1<10 GOTOF LAB1
……
N100 LAB1: G0 Z80
四、应用举例
例6-5:用镗孔循环 LCYC85加工图6.6所示矩阵排列孔,无孔底停留时间,安全间隙2mm。

N10 G0 G17 G90 F1000 T2 D2 S500 M3
N20 X10 Y10 Z105
N30 R1=0
N40 R101=105 R102=2 R103=102 R104=77 R105=0 R107=200 R108=100
N50 R115=85 R116=30 R117=20 R118=10 R119=5 R120=0 R121=10
N60 MARKE1:LCYC60
N70 R1=R1+1 R117=R117+10
N80 IF R1<5 GOTOB MARKE1
N90 G0 G90 X10 Y10 Z105
N100 M2
图6.6 矩阵排列孔加工。

相关文档
最新文档