数控宏程序的使用方法
- 格式:docx
- 大小:23.50 KB
- 文档页数:5
欢迎阅读数控车床上应用宏程序加工梯形螺纹梯形螺纹通常比三角螺纹螺距和牙型大,致使梯形螺纹车削时,吃刀深、走刀快、切削余量大、切削抗力大,这就导致了梯形螺纹的车削加工难度较大。
由于大多数经济型数控车低转速低扭矩原因,梯形螺纹数控车床上不得不采用小吃刀量快进给方式加工,加工中的刀路复杂,采用基本指令数控编程繁琐,而采用宏程序编程可以很好解决这一问题。
一,梯形螺纹加工方法分析
左(右)移刀量的计算
如上图可以得出层切时左(右)赶刀量计算式为
①、当刀头宽度等于牙槽底宽时,左(右)赶刀量=tan15°×(牙深—当前层背吃刀量);
②、当刀头宽度小于于牙槽底宽时,左(右)赶刀量=tan15°×(牙深—当前层背吃刀量)+(牙槽底宽—刀头宽度)/2
2,“层切法”车削梯形螺纹的刀具选择
,#2
#3。
数控宏程序一.什么是宏程序?什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。
宏程序具有如下些特点:1.使用了变量或表达式(计算能力),例如:(1)G01X[3+5];有表达式3+5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[3]];有函数运算2.使用了程序流程控制(决策能力),例如:(1(2123451性。
G01X[#1];表示G01X25#1=-10;运行过程中可以随时改变#1的值G01X[#1];表示G01X-10用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、……等各种代码后的数字。
如:#2=3G[#2]X30;表示G03X30例1使用了变量的宏子程序。
%1000#50=20;先给变量赋值M98P1001;然后调用子程序#50=350;重新赋值M98P1001;再调用子程序M30%1001G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同M992.局部变量编号#0~#49的变量是局部变量。
局部变量的作用范围是当前程序(在同一个程序号内)。
如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。
例%100N10#3=30;主程序中#3为30M98P101#4=#3;#3M30%101#4=#3;#3=18;M993编号零件程序。
例%100M30%101#50=18;M99用;造变量名。
什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。
局部变量在不同的子程序里,可以重复使用,不会互相干扰。
如果一个数据在主程序和子程序里都要用到,就要考虑用全局变量。
用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。
刀补变量(#100~#199)。
这些变量里存放的数据可以作为刀具半径或长度补偿值来使用。
如#100=8G41D100;D100就是指加载#100的值8作为刀补半径。
由浅入深宏程序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-宏程序之销轴粗精加工本篇文章利用宏程序简单模仿数控系统的外圆车削循环功能。
加工中心宏程序编程实例与技巧方法优选文档一、编程实例1.实现圆形加工:在加工中心宏程序编程中,圆形加工是比较常见的加工操作。
下面是一个实现圆形加工的编程实例:(1)编程步骤:1)定义圆心坐标和半径;2)使用G90指令将切削模式设置为绝对坐标;3)使用G54指令将工件坐标系设定为程序零点;4)使用G01指令进行直线插补,将刀具移至圆弧起点;5)使用G02或G03指令进行圆弧插补,指定圆心坐标和半径;6)使用M05指令停止主轴转动。
(2)编程样例:```G90G54G01X10Y10G02X20Y10I10J0M05```2.实现孔加工:孔加工是加工中心中常见的操作之一,下面是一个实现孔加工的编程实例:(1)编程步骤:1)定义孔的位置和尺寸;2)使用G90指令将切削模式设置为绝对坐标;3)使用G54指令将工件坐标系设定为程序零点;4)使用G00指令进行快速定位,将刀具移至孔的起始位置;5)使用G01指令进行直线插补,将刀具下移到孔的底部;6)使用G00指令进行快速定位,将刀具抬起。
(2)编程样例:```G90G54G00X20Y20G01Z-10F200G00Z10```二、技巧方法1.合理选择插补指令:在加工中心宏程序编程中,合理选择插补指令可以提高加工效率。
对于直线加工,可以使用G01指令进行直线插补;对于圆弧加工,可以使用G02或G03指令进行圆弧插补。
2.使用子程序:使用子程序可以简化大段的重复代码,在加工中心宏程序编程中尤其有用。
通过使用子程序,可以将常用的加工操作封装为一个子程序,在需要使用时调用即可。
3.合理使用G代码:4.注意安全问题:在加工中心宏程序编程中,安全是最重要的。
编程时应考虑刀具与工件的安全距离,避免发生碰撞等事故。
可以通过设定安全平面、设定限制区域等方式来增加安全性。
总结:加工中心宏程序编程是数控加工的关键环节,掌握加工中心宏程序的编程实例和技巧方法对于提高加工效率和加工精度具有重要意义。
宏程序在数控编程中的应用及技巧分析宏程序是数控编程中的一种高级编程方式,它可以将一段重复性较高的代码片段封装为一个独立的程序,在需要时直接调用,大大提高了编程的效率和精度。
本文将分析宏程序在数控编程中的应用及技巧。
1.1 几何图形处理宏程序可以用来处理几何图形,比如通过一组变量控制一组相对位置的点,以此生成一个圆弧、直线或者任何其他几何图形。
这不仅可以提高编程效率,而且还可以保证几何图形的精度和一致性。
1.2 切削参数设置宏程序还可以用来设置切削参数,如切削速度、进给速度和主轴转速等。
通过宏程序可以将一组切削参数封装为一个程序,以此来快速、准确地设置切削参数,从而提高加工效率和质量。
1.3 工艺设置二、宏程序的编写技巧2.1 合理设置变量在编写宏程序时,应该做到合理设置变量。
一些不变的参数可以直接使用常数,而一些会改变的参数则应该定义为变量。
在使用变量时应该注意变量的类型,如整型、实数型等。
2.2 合理定义标号在编写宏程序时,应该合理定义标号,并且注意标号的唯一性。
标号可以用来标记宏程序中的不同步骤、不同操作等,以达到更好的控制程序流程的目的。
2.3 注意宏程序的范围在编写宏程序时,应该注意宏程序的范围。
如果宏程序太大,容易导致内存溢出,影响程序运行的效率。
因此,在编写宏程序时应该尽量控制宏程序的大小,避免出现不必要的麻烦。
三、总结宏程序是数控编程中一种高级编程方式,它可以提高编程效率和精度。
在编写宏程序时,应该做到合理设置变量,合理定义标号,注意宏程序的范围等。
通过不断地编写和使用宏程序,不仅可以提高编程的效率,而且还可以提高加工的精度和一致性,从而帮助企业提高生产效率和降低成本。
新代数控系统宏程序-回复什么是新代数控系统宏程序(NC系统宏程序)?NC系统宏程序(Numerical Control System Macro Program)是一种在数控机床中运行的程序,它可以实现各种复杂的加工操作,通过一系列预先定义的指令和参数,控制机床进行各种加工工艺。
这些指令和参数可以根据加工需求进行编程,以实现高效、精确和灵活的加工过程。
宏程序最早出现在NC系统中,早期的NC系统主要采用G代码编程,每个G代码代表一个具体的运动指令。
随着技术的发展,NC系统的功能不断增强,宏编程成为了更高级别、更灵活的编程方式。
宏程序具有灵活性强、功能强大、高效率的特点,被广泛用于各种加工制造领域。
宏程序的特点和优势:1. 灵活性强:宏程序的主要特点是可以根据不同的加工需求进行编程,可以实现多种复杂的加工操作。
通过宏指令的调用和参数传递,可以实现不同的工艺过程和加工路径。
2. 功能强大:宏程序可以包含多个基本NC指令,如运动控制、加工参数设置、刀具选择、换刀等,可以实现复杂的加工操作和多样化的加工方式。
3. 高效率:宏程序可以大大简化编程流程,提高编程效率。
通过预定义和复用宏指令,可以减少代码量,节省编程时间,提早完成工作任务。
4. 易于维护和修改:宏程序具有模块化设计的特点,不同的功能可以独立编写为不同的宏指令,方便维护和修改。
当需要修改某个功能时,只需要修改对应的宏指令即可,不会对其他部分产生影响。
宏程序的编写方式:宏程序一般使用专门的宏编程语言进行编写,如Fanuc的Custom Macro 等。
编程人员可以根据具体需求,定义宏指令、变量和逻辑结构,实现各种加工操作。
编写宏程序一般包括以下几个步骤:1. 宏程序定义:确定宏指令的名称、参数和返回值等。
根据加工需求,设计宏程序的输入和输出接口。
2. 宏指令编写:根据加工需求,编写各种宏指令来实现具体的加工操作。
宏指令可以包含数学运算、逻辑判断、控制流程等。
数控车床宏程序编程实例
首先,我们将介绍一些数控车床宏程序的基本概念。
宏程序是一种编写在机床控制器内部的程序,它可以包含一系列的指令和操作,从而完成一定的加工工艺。
宏程序可以使操作员在加工过程中减少输入指令的时间和精力,提高加工精度和效率。
接下来,我们将通过实例来介绍数控车床宏程序的编程方法。
假设我们需要在数控车床上加工一个圆柱形工件,其直径为100mm,长度为200mm。
我们可以编写一个宏程序来完成这个加工过程。
具体步骤如下:
1. 首先,我们需要定义一个宏程序,命名为“CYLINDER”。
2. 接下来,我们需要设置加工过程中所需用到的切削工具和切削速度等参数。
3. 然后,我们需要编写加工程序的主体部分,即定义加工路径。
在本例中,我们需要使用G代码来定义加工路径,例如:“G00 Z5.0;G00 X0;G00 Z0;G01 X50 F200;G01 Z-100 F100;G02 X0 Z-200 I-50;G01 X-50 F200;G01 Z0 F100;G02 X0 Z100 I50;G00 Z5.0”。
4. 最后,我们需要定义程序结束的指令,例如:“M30”。
完成上述步骤后,我们就可以将宏程序保存在机床控制器内部。
需要加工圆柱形工件时,我们只需要调用宏程序“CYLINDER”,即可自动完成加工过程。
总之,数控车床宏程序编程是一种非常实用的编程方式,能够大大提高机床操作的效率和精度。
通过本文的介绍,相信读者能够更加
深入地了解宏程序的编写方法和调用方式,为实际工作提供帮助。
数控车工高级部分(宏程序应用)1、直线宏程序2、圆弧宏程序3、椭圆宏程序4、函数曲线宏程序5、抛物线宏程序6、双曲线宏程序7、圆弧、椭圆、双曲线、抛物线、螺旋宏程序8、综合题形练习加工课题一:直线宏程序(一)图1-1直线方程式:X=KZ+B解题思路:1、直线两点(X 30 , Z 0)(X 50 , Z -22).2、根据线形方程式得:30=K*0+B50=K*(-22)+B得:B=30K=-0.90903、方程式为:X=-0.9090Z+304、长度宏变量范围:Z0 ~Z-225、设自变量#1=0 #2=-226、应用循环语言G65 [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=-22;G65 [ #1GE#2 ] DO1;#3= -0.9090*#1+30;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=-22;G65 [ #2LE#1 ] DO1;#3= -0.9090*#2+30;G01 X[#3+1] F0.25;G01 Z[#2+0.5] F0.1;G00 U1 W0.5;Z2;#2=#2+2;END1;G00 X100 Z100;M30;课题一:直线宏程序(二)图1-2直线方程式:X=KZ+B解题思路:1、直线两点(X 50 , Z -20)(X 30 , Z -42).2、根据线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90903、方程式为:X=0.9090Z+68.184、长度宏变量范围:Z-20 ~Z-425、设自变量#1=-20 #2=-426、应用循环语言G65 [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;G65 [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;G65 [ #1GE#2 ] DO1;#3= 0.9090*#1+68.18;G01 X[#3+1] Z[#1-0.5] F0.25;G01 Z[#2]G00 U1 W0.5;Z [#1-0.5];#1=#1-2;END1;G00 X100 Z100;M30;课题一:直线宏程序(三)直线方程式:X=KZ+B解题思路:1、直线两点(X 44, Z 0)(X 30 , Z –40).2、根据线形方程式得:44=K*0+B30=K*(-40)+B得:B=44K=0.353、方程式为:X=0.35Z+444、长度宏变量范围:Z0 ~Z-405、设自变量#1=0 #2=-406、应用循环语言G65 [ ] DO1END1精加工程序内容:O0001;M03 S1000;T0101;G00 X28 Z2;#1=0;#2=-40;G65 [ #1GE#2 ] DO1;#3= 0.35*#1+44;G01 X[#3] Z[#1] F0.1#1=#1-0.05END1;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X28 Z2;#1=0;#2=-40;G65 [ #2LE#1 ] DO1;#3= 0.35*#2+44;G01 X[#3-1] F0.25;Z[#2+0.5];G00 U-1 W0.5;Z 2;#2=#2+2;END1;G00 Z100;M30;课题一:直线宏程序(四)直线方程式:图示右斜线直线方程式:X=KZ+B图示左斜线直线方程式:X=KZ+B解题思路:1、直线两点(X 50, Z -20)(X 30 , Z –42).2、直线两点(X30, Z –58)(X 50 , Z –80).3、根据右斜线形方程式得:50=K*-20+B30=K*(-42)+B得:B=68.18K=0.90904、根据左斜线形方程式得:30=K*-58+B50=K*(-80)+B得:B=-22.722K=-0.90905、方程式为:图示右斜线直线方程式:X=0.9090Z+68.18图示左斜线直线方程式:X=-0.9090Z-22.7226、长度宏变量范围:Z-20 ~Z-42 Z-58 Z-807、设自变量#1=-20 #2=-42 #3=58 #4=-808、应用循环语言G65 [ ] DO1END1精加工程序内容(一):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;G65 [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;W-16;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#1=#1-0.05#3=#3-0.05END1;G00 X100 Z100;M30;精加工也可这样编写(二):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;G65 [ #1GE#2 ] DO1;#5= 0.090*#1+68.18;G01 X[#5] Z[#1] F0.1;#1=#1-0.05END1G01 W-16 F0.15;G65 [ #3GE#4 ] DO2;#6=-0.090*#3-22.722G01 X[#6] Z[#3]F0.15;#3=#3-0.05END2;G00 X100 Z100;M30;精加工也可这样编写(三):O0001;M03 S1000;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;G65 [ #1GE#2 ] DO1;G65 [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5] Z[#1] F0.1;G01 W-16;G01 X[#6] Z[#3] F0.1;#1=#1-0.05;#3=#3-0.05;END2;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z-20;#1=-20;#2=-42;#3=-58;#4=-80;G65 [ #1GE#2 ] DO1;G65 [ #3GE#4 ] DO2;#5= 0.090*#1+68.18;#6=- 0.090*#1-22.722;G01 X[#5+1] Z[#1-0.5] F0.1;G01 X[#6+1] Z[#3+0.5] F0.1;G00 U1 W0.5;Z [#1-0.5];#1=#1-1;#3=#3-1;END2;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(一)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴) B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度B:为Z轴方向的长度第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=904、设自变量#1=0 #2=90 #3=10 #4=255、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;G65 [ #1LE#2 ] DO1;#5=2*#4*SIN(#1);#6=#3*CON(#1);G01 X [#5] Z[#6-10] F0.15 #1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=0;#2=90;#3=10;#4=25;G65 [ #2GE#1 ] DO1;#5=2*#4*SIN(#2);#6=#3*CON(#2);G01 X [#5+1] F0.25;Z[#6-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:1、长度宏变量范围:z=0 ∽ z=-102、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-10 #3=10 #4=255、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#2=0#3=10;#4=25;G65 [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#3*#3]*#4*#4] G01 X [#5] Z[#1-10] F0.15#1=#1+0.1;END1;G00 X100 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X55 Z2;#1=10;#2=0;#3=10;G65 [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#3*#3]*#4*#4]G01 X [#5+1] F0.25;Z[#2-10+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 X100 Z100;M30;课题二:椭圆宏程序(二)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2\椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;3、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=90 #2=150 #3=25 #4=405、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30Z2;#1=90;#2=150;#4=40;G65 [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1);G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;G65 [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2);G01 X [#5-1] F0.25;Z[#6+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:3、长度宏变量范围:z=0 ∽ z=-304、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=0 #2=-30 #3=25 #4=405、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X30 Z2;#1=0;#2=-30#3=25;#4=40;G65 [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1] F0.15#1=#1-0.1;END1;G00 U-2;G00 Z100;M30;粗加工程序内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;G65 [ #2GE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5-1] F0.25;Z[#2+0.5] F0.25;G00 U-1 W0.5;Z2;#2=#2-3;END1;G00 Z100;M30;课题二:椭圆宏程序(三)1、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;2、角度宏变量范围:a=0 ∽ a=1504、设自变量#1=0 #2=150 #3=25 #4=405、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55Z2;#1=0;#2=150;#3=25;#4=40;G65 [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;G65 [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;G65 [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25; Z-80;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:5、长度宏变量范围:z=0 ∽ z=-306、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=40;#2=-30#3=25;#4=40;G65 [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-40] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=40;#2=0;#3=25;#4=40;G65 [ #2LE#1 ] DO1;#5=2*SQRT[[1-#2*#2/#4*#4]*#3*#3] G01 X [#5+1] F0.25;Z[#2+0.5-40] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=-30;#3=25;#4=40;G65 [ #1GE#2 ] DO1;#5=2*SQRT[[1-#1*#1/#4*#4]*#3*#3]G01 X [#5+1] Z[#1-0.5-40] F0.25;Z-80G00 U1 W0.5;Z[#1-0.5-40];#1=#1-3;END1;G00 X150 Z100;M30;课题二:椭圆宏程序(四)3、椭圆第一种应用方程式:X=A*2*SIN(a) Z=B*CON(a)A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)2、椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1A:为X轴方的长度(平行与X轴的椭圆轴)B:为Z轴方向的长度(平行与z轴的椭圆轴)第一种方程式应用解题;4、角度宏变量范围:a=24.397 ∽ a=155.6034、设自变量#1=24.397 #2=155.603 #3=20 #4=505、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=24.397 ;#2=155.603;#3=20;#4=50;G65 [ #1LE#2 ] DO1;#5=80-2*#3*SIN(#1)-13.477;#6=#4*CON(#1)-50;G01 X [#5] Z[#6] F0.15#1=#1+0.1;END1;G00 X150;G00 Z100;M30;粗加工程序右边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=0;#2=90;#3=25;#4=40;G65 [ #2GE#1 ] DO1;#5=2*#3*SIN(#2);#6=#4*CON(#2)-40;G01 X [#5+1] F0.25;Z[#6+0.5] F0.25;G00 U1 W0.5;Z2;#2=#2+3;END1;G00 Z100;M30;粗加工程序左边内容:O0001;M03 S650;T0101;G00 X30 Z2;#1=90;#2=150;#3=25;#4=40;G65 [ #1LE#2 ] DO1;#5=2*#3*SIN(#1);#6=#4*CON(#1)-40;G01 X [#5+1] Z[#6-0.5] F0.25;Z-80;G00 U1 W0.5;Z[#6-0.5];#1=#1+3;END1;G00 Z100;M30;椭圆第二种应用方程式:X*X/A*A+Z*Z/B*B=1编程:7、长度宏变量范围:z=0 ∽ z=-308、公式分析化简得:X=SQRT[[1-Z*Z/B*B]*A*A]4、设自变量#1=40 #2=-30 #3=25 #4=405、应用循环语言G65 [ ] DO1END1精加工编程内容:O0001;M03 S1000;T0101;G00 X55 Z2;#1=33.07;#2=-33.07#3=20;#4=50;G65 [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] G01 X [#5] Z[#1-50] F0.15#1=#1-0.1;END1;G00X150;G00 Z100;M30;粗加工平行方式编程内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=-33.07#3=20;#4=50;#7=10;#8=0;G65 [ #7GE#8 ] DO2;G65 [ #1GE#2 ] DO1;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3]; G01 X [#5+#7] Z[#1-50] F0.15;#1=#1-0.1;END1;G00 X60;Z-16.93;#7=#7-1;END2;G00X150;G00 Z100;M30;左右两边粗加工内容:O0001;M03 S1000;T0101;G00 X55 Z-16.93;#1=33.07;#2=0;#10=-33.07#3=20;#4=50;G65 [ #1GE#2 ] DO1;G65 [ #10LE#2 ] DO2;#5=80-2*SQRT[[1-#1*#1/#4*#4]*#3*#3] #6=80-2*SQRT[[1-#10*#10/#4*#4]*#3*#3] G01 X [#5+1] Z[#1-50-0.5] F0.15;Z[#10-50+0.5];G00U2;X [#6+1] Z [#1-50];#1=#1-1;#10=#10+1;END2;END1;G00X150;G00 Z100;M30;课题四:函数曲线宏程序正弦函数曲线方程式:X=A+SIN(A);解题思路:1、A:为正弦函数曲线零线在回转体工件两边上下的中心直径距离¤40MM.2、根据线形方程式得:SIN(A)角度A为正弦函数曲线的变量方式:共角度度数为720°(90 ----810)3、将共长60与共角度720°等分成1000等分。
GSK980TD系统数控车床宏程序的使用作者:陈春荣来源:《价值工程》2011年第15期The Use of Macro in GSK980TD System CNC LathesChen Chunrong(Jiandong Vocational Technology College,Changzhou 213022,China)摘要:在现今的数控系统中,常见的插补运算方法是直线插补和圆弧插补。
椭圆的加工,运用宏程序来解决就非常简单了。
我院大量使用广州数控的GSK980TD系统,本文介绍了在该系统车床中如何用宏程序手工编程来实现椭圆形工件的加工。
Abstract: In today's numerical system, its common computational method of interpolation is linear interpolation and circular interpolation. For the elliptical processing, it is very simple to use macro programs. Our college widely used GSK980TD system of Guangzhou NC, and this paper described how to use macro system to achieve elliptical processing in this lathe.关键词:GSK980TD数控车床宏程序椭圆加工程序Key words: GSK980TD CNC lathe;macro;elliptical processing中图分类号:TP2文献标识码:A文章编号:1006-4311(2011)15-0048-010引言用户宏程序分为A、B两类。
GSK980TD数控车床中,使用的是A类宏程序。
法兰克Fanuc系统编程用户宏程序教程一、认识法兰克Fanuc系统法兰克Fanuc系统是数控机床领域中广泛应用的一种控制系统,其强大的编程功能为用户提供了极大的便利。
在本教程中,我们将重点介绍用户宏程序的编写与应用,帮助您更好地掌握法兰克Fanuc系统的编程技巧。
二、宏程序基础知识1. 宏程序概念宏程序是一种简化编程过程的方法,它允许用户将复杂的操作步骤封装成一个程序,以便在后续编程中重复调用。
通过使用宏程序,可以大大提高编程效率。
2. 宏程序分类法兰克Fanuc系统中的宏程序分为两类:系统宏程序和用户宏程序。
本教程主要针对用户宏程序进行讲解。
3. 宏程序编写原则(1)简洁明了:尽量使宏程序结构清晰,便于阅读和维护。
(2)通用性强:编写宏程序时,要考虑其在不同场景下的适用性。
(3)易于扩展:预留接口,方便后期对宏程序进行功能扩展。
三、用户宏程序编写步骤1. 确定宏程序功能在编写宏程序之前,要明确宏程序需要实现的功能。
例如,可以实现一个用于加工圆形轮廓的宏程序。
2. 设计宏程序结构(1)宏程序参数:定义输入输出参数,以便在不同场景下调用。
(2)宏程序主体:实现宏程序功能的代码部分。
(3)宏程序调用:在其他程序中调用宏程序。
3. 编写宏程序代码(1)宏程序参数定义:100 = 圆心X坐标101 = 圆心Y坐标102 = 半径103 = 起始角度104 = 终止角度(2)宏程序主体:200 = 100 + 102 COS[103]201 = 101 + 102 SIN[103]G01 X[200] Y[201]IF [103 LT 104] THEN103 = 103 + 1GOTO 100ENDIF(3)宏程序调用:G65 P1000 A100 B101 C102 D103 E104法兰克Fanuc系统编程用户宏程序教程五、实战演练:编写一个钻孔宏程序在这一部分,我们将通过一个具体的实例,来实践如何编写一个用于钻孔的宏程序。
FANUC系统数控车床B类宏程序编程应用虽然子程序对编制相同加工操作(de)程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作(de)程序更方便,更容易.可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序. 使用时, 加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样.一、变量普通加工程序直接用数值指定 G代码和移动距离;例如, G100和X100.0. 使用用户宏程序时,数值可以直接指定或用变量指定.当用变量时,变量值可用程序或用 MDI 面板上(de)操作改变.如:2=30;1=2+100;G01 X1 F0.31、变量(de)表示变量用变量符号()和后面(de)变量号指定.例如:1表达式可以用于指定变量号.此时,表达式必须封闭在括号中.例如:[1+2-12]2、变量(de)类型变量根据变量号可以分成四种类型.3、变量值(de)范围局部变量和公共变量可以有 0 值或下面范围中(de)值:-1047到-10-29 0 10-29到 1047如果计算结果超出有效范围,则发出 P/S报警No.111.4、小数点(de)省略当在程序中定义变量值时,小数点可以省略.例:当定义1=123;变量1(de)实际值是 123.000.5、变量(de)引用为在程序中使用变量值, 指定后跟变量号(de)地址. 当用表达式指定变量时,要把表达式放在括号中.例如:G01X[1+2]F3;被引用变量(de)值根据地址(de)最小设定单位自动地舍入.例如:当 G00X1;以 1/1000mm (de)单位执行时,CNC把 12.3456 赋值给变量1,实际指令值为 G00X12.346; .改变引用(de)变量值(de)符号,要把负号(一)放在(de)前面.例如: G00X—1;当引用未定义(de)变量时,变量及地址字都被忽略.例如:当变量1(de)值是 0,并且变量2(de)值是空时,G00X1 Z2(de)执行结果为 G00X0.6、未定义(de)变量(当变量值未定义时,这样(de)变量成为“空”变量.变量0 总是空变量.它不能写,只能读.)(a)引用当引用一个未定义(de)变量时,地址本身也被忽略.(b)运算除了用<空>赋值以外,其余情况下<空>与0相同.当1=<空>时当1=0时2=1 → 2=<空>2=1 → 2=02=5 → 2=02=5 → 2=02=1+1 → 2=02=1+1 → 2=0(c)条件表达式 EQ和NE中(de)<空>不同于0.当1=<空>时当1=0时1EQ0 成立1EQ0 不成立1 NE 0 成立 1 NE 0 不成立1 GE 0 成立 1 GE 0 不成立1 GT 0 不成立 1 GT 0 不成立限制程序号,顺序号和任选程序段跳转号不能使用变量.例:下面情况不能使用变量:1、O1;2、/2G00X100.0;3、N3Y200.0;二、算术和逻辑运算下表中列出(de)运算可以在变量中执行. 运算符右边(de)表达式可包含常量和/或由函数或运算符组成(de)变量.表达式中(de)变量j 和k 可以用常数赋值.左边(de)变量也可以用表达式赋值.三、转移和循环在程序中,使用 GOTO 语句和 IF 语句可以改变控制(de)流向.有三种转移和循环操作可供使用:1、无条件转移 (GOTO 语句)格式:GOTOn;n:顺序号(1~99999)转移到标有顺序号 n (de)程序段.当指定 1 到99999 以外(de)顺序号时,出现P/S 报警 No.128.可用表达式指定顺序号.例:GOTO1;GOTO10;2、条件转移 (IF 语句)IF[<条件表达式>] GOTO nIF之后指定条件表达式.如果指定(de)条件表达式满足时,转移到标有顺序号 n (de)程序段.如果指定(de)条件表达式不满足,执行下个程序段.说明:a、条件表达式条件表达式必须包括算符.算符插在两个变量中间或变量和常数中间,并且用括号 ([])封闭.表达式可以替代变量.b、运算符运算符由 2个字母组成,用于两个值(de)比较,以决定它们是相等还是一个值小于或大于另一个值.注意,不能使用不等符号.C、示例程序下面(de)程序计算数值 1~10 (de)总和3、循环 (WHILE 语句)在WHILE后指定一个条件表达式, 当指定条件满足时, 执行从DO到END之间(de)程序.否则,转到 END后(de)程序段.说明:当指定(de)条件满足时,执行 WHILE 从 DO 到 END 之间(de)程序.否则,转而执行 END 之后(de)程序段.这种指令格式适用于 IF 语句.DO 后(de)号和 END 后(de)号是指定程序执行范围(de)标号,标号值为1,2,3.若用 1,2,3 以外(de)值会产生 P/S 报警 No.126.循环嵌套:在 DO—END循环中(de)标号(1 到 3)可根据需要多次使用.但是,当程序有交叉重复循环(DO范围(de)重叠)时,出现 P/S报警 No.124.四、宏程序编程举例曲线公式为X=(36/Z)+3实例分析:本例(de)精加工采用B类宏程序编程,以Z值为自变量,每次变化0.1mm,X值为应变量,通过变量运算计算出相应(de)X值.(宏程序编程时,首先要找出各点X坐标和Z坐标之间(de)对应关系)编程时使用(de)以下变量进行计算:加工顺序:粗车→半精车→精车(1)精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO2;2=[[36/1]+3];G42 G01 X[2] Z[1] F0.1;1=1-0.1;END2;(2)粗车程序:G90来粗车设置变量2=38;WHILE[1GE7] DO3;1=[36/[1-3]];G00 X[2+5] Z74;G90 X[2+0.5] Z[1] F0.2;2=2-4;END3;(3)半精车程序:设置变量G00 X7 Z74;1=72;WHILE[1GE2] DO4;2=[[36/1]+3.5];G01 X[2] Z[1] F0.1;1=1-0.1;END4;P170。
一变量普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定。
当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100G01 X#1 F300说明:变量的表示计算机允许使用变量名,用户宏程序不行。
变量用变量符号(#)和后面的变量号指定。
例如:#1表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]变量的类型变量根据变量号可以分成四种类型#0 空变量该变量总是空,没有值能赋给该变量.#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,#100-#199 #500-#999 公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.#1000 系统变量系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.变量值的范围局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047如果计算结果超出有效范围,则发出P/S报警NO.111.小数点的省略当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000。
变量的引用为在程序中使用变量值,指定后跟变量号的地址。
当用表达式指定变量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;被引用变量的值根据地址的最小设定单位自动地舍入。
例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。
例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。
大家都在问宏程序~其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用。
宏一般分为A类宏和B类宏。
A类宏是以G65 Hxx P#xx Q#xx R#xx 的格式输入的,而B类宏程序则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN—32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~。
#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单。
好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义:以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行,基本指令:H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中G65H01P#101Q#10:把10赋予到#101中H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101 G65 H02 P#101 Q#102 R10G65 H02 P#101 Q10 R#103G65 H02 P#101 Q10 R20上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101G65 H03 P#101 Q#102 R10G65 H03 P#101 Q10 R#103G65 H03 P#101 Q20 R10上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数值或变量号内的数值然后等于到P后面的变量号中.H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋G65 H04 P#101 Q#102 R10G65 H04 P#101 Q10 R#103G65 H04 P#101 Q20 R10上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数值或变量号内的数值然后等于到P后面的变量号中.H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101G65 H05 P#101 Q#102 R10G65 H05 P#101 Q10 R#103G65 H05 P#101 Q20 R10上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)三角函数指令:H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值。
数控宏程序的使用方法 Document serial number【KK89K-LLS98YT-SS8CB-SSUT-SST108】
数控宏程序的使用方法一、A类宏程序
1)变量的定义和替换 #i=#j
编程格式 G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005; (#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2)加法 #i=#j+#k
编程格式 G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)减法 #i=#j-#k
编程格式 G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
4)乘法#i=#j×#k
编程格式 G65 H04 P#i Q#j R#k
例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)
5)除法 #i=#j / #k
编程格式 G65 H05 P#i Q#j R#k
例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)
6)平方根 #i=
编程格式 G65 H21 P#i Q#j
例 G65 H21 P#101 Q#102;(#101= )
7)#i=│#j│
编程格式 G65 H22 P#i Q#j
例 G65 H22 P#101 Q#102;(#101=│#102│)
8)复合平方根1 #i=
编程格式 G65 H27 P#i Q#j R#k
例 G65 H27 P#101 Q#102 R#103;( #101=
9)复合平方根2 #i=
编程格式 G65 H28 P#i Q#j R#k
例 G65 H28 P#101 Q#102 R#103
1)逻辑或 #i=#j OR #k
编程格式 G65 H11 P#i Q#j R#k
例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103)
2)逻辑与 #i=#j AND #k
编程格式 G65 H12 P#i Q#j R#k
例 G65 H12 P#101 Q#102 R#103;#101=#102 AND #103
(3)三角函数指令
1)正弦函数#i=#j×SIN(#k)
编程格式 G65 H31 P#i Q#j R#k (单位:度) .
例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103))
2)余弦函数#i=#j×COS(#k)
编程格式 G65 H32 P#i Q#j R#k (单位:度)
例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103))
3)正切函数#i=#j×TAN#k
编程格式 G65 H33 P#i Q#j R#k (单位:度)
例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103))
4)反正切 #i=ATAN(#j/#k)
编程格式 G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o)
例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103)
(4)控制类指令
编程格式 G65 H80 Pn (n为程序段号)
例 G65 H80 P120;(转移到N120)
2)条件转移1 #j EQ #k(=)
编程格式 G65 H81 Pn Q#j R#k (n为程序段号)
例 G65 H81 P1000 Q#101 R#102
当#101=#102,转移到N1000程序段;若#101≠ #102,执行下一程序段。
3)条件转移2 #j NE #k(≠)
编程格式 G65 H82 Pn Q#j R#k (n为程序段号)
例 G65 H82 P1000 Q#101 R#102
当#101≠ #102,转移到N1000程序段;若#101=#102,执行下一程序段。
4)条件转移3 #j GT #k (> )
编程格式 G65 H83 Pn Q#j R#k (n为程序段号)
例 G65 H83 P1000 Q#101 R#102
当#101 > #102,转移到N1000程序段;若#101 ≤#102,执行下一程序段。
5)条件转移4 #j LT #k(<)
编程格式 G65 H84 Pn Q#j R#k (n为程序段号)
例 G65 H84 P1000 Q#101 R#102
当#101 < #102,转移到N1000;若#101 ≥ #102,执行下一程序段。
6)条件转移5 #j GE #k(≥)
编程格式 G65 H85 Pn Q#j R#k (n为程序段号)
例 G65 H85 P1000 Q#101 R#102
当#101≥ #102,转移到N1000;若#101<#102,执行下一程序段。
7)条件转移6 #j LE #k(≤)
编程格式 G65 H86 Pn Q#j Q#k (n为程序段号)
例 G65 H86 P1000 Q#101 R#102
当#101≤#102,转移到N1000;若#101>#102,执行下一程序段。
二、B类宏程序
1.定义
#I=#j
2.算术运算
#I=#j+#k (加)
#I=#j-#k (减)
#I=#j×#k (乘)
#I=#j/#k (除)
3.1 逻辑函数之布尔函数
= EQ 等于
≠NE 不等于
> GT 大于
< LT 小于
≥GE 大于或等于
≤LE 小于或等于
例:#I = #j 即#I EQ #J
3.2 逻辑函数之二进制函数
#I=#J AND #k (与,逻辑乘)
#I=#J OR #k (或,逻辑加)
#I=#J XOR #k (非,逻辑减)
4.三角函数
#I=SIN[#j] 正弦
#I=COS[#j] 余弦
#I=TAN[#j] 正切
#I=ASIN[#j]反正弦
#I=ACOS[#j]反余弦 #I=ATAN[#j] 反正切
5.四舍五入函数
#I=ROUND[#j] 四舍五入化整
#I=FIX[#j] 上取整
#I=FUP[#j] 下取整
6.辅助函数
#I=SQRT[#j] 平方根
#I=ABS[#j] 绝对值
#I= LN [#j] 自然对数
#I= EXP [#j] 指数函数
7.变换函数 #I=BIN[#j] BCD→BIN(十进制转二进制)
#I=BCD[#j] BIN→BCD (二进制转十进制)
8.转移和循环
1〉.无条件的转移格式:GOTO 1; GOTO #10;
2〉.条件转移1 格式:IF[<条件式>] GOTO n
条件式:例:#j=#k用 #j EQ #k 表示,即 IF[#j EQ #k] GOTO n
3〉.条件转移2 格式:IF[<条件式>] THEN #I
例:IF[#j EQ #k] THEN #a=#b
4〉.循环格式:WHILE [<条件式>] DOm ,(m=1、2、3)
N10~~~~~~~~~
N20~~~~~~~~~~~~
ENDm (上下两个m只能为1、2、3且必须相
同,这样才能够成一段程序的循环)
1.说明 1) 角度单位为度例:90度30分为90.5度
2) ATAN函数后的两个边长要用“1”隔开例:#1=ATAN[1]/[-1]时,#1为了35.0
3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入
例:设#1=1.2345,#2=2.3456,设定单位1μm
G91 X-#1;X-1.235 X-#2 F300;X-2.346 X[#1+#2];X3.580 未返回原处,应改为 X[ROUND[#1]+ROUND[#2]];
4) 取整后的绝对值比原值大为上取整,反之为下取整例:设#1=1.2,#2=-1.2时若#3=FUP[#1]时,则#3=2.0 若#3=FIX[#1]时,则#3=1.0 若
#3=FUP[#2]时,则#3=-2.0 若#3=FIX[#2]时,则#3=-1.0
5) 简写函数时,可只写开头2个字母例:ROUND→RO FIX→FI GOTO→GO
6) 优先级函数→乘除(*,1,AND)→加减(+,-,OR,XOR)例:
#1=#2+#3*SIN[#4];
7) 括号为中括号,最多5重,园括号用于注释语句例:
#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
转移与循环指令。