法兰克经典宏程序PPT课件

上传人:日度 文档编号:146306743 上传时间:2020-09-29 格式:PPT 页数:75 大小:466KB
返回 下载 相关 举报
法兰克经典宏程序PPT课件_第1页
第1页 / 共75页
法兰克经典宏程序PPT课件_第2页
第2页 / 共75页
法兰克经典宏程序PPT课件_第3页
第3页 / 共75页
法兰克经典宏程序PPT课件_第4页
第4页 / 共75页
法兰克经典宏程序PPT课件_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《法兰克经典宏程序PPT课件》由会员分享,可在线阅读,更多相关《法兰克经典宏程序PPT课件(75页珍藏版)》请在金锄头文库上搜索。

1、1,用户宏程序 虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。,2,(最多999次),3,4,5,一、变量,1、变量 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。 #1=#2+100; G01 X#1 F300; 2、变量的表示 计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。

2、 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。 例如: #1 #1+#2-12,6,3、变量的类型,7,4、变量值得范围 局部变量和公共变量可以有0值或下面范围中的值: 1047至1029 或 1029至1047 5、变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,把表达式放在括号中。 例如:G01 X#1 F#2+#3,8,被引用变量的值根据地址的最小设定单位自动地舍入。 例如: G00 X#1, 以11000mm的单位执行时,CNC把12.3456赋值给变量#1,实际指令值为G00 X12.346;。 改变引用变量的值的符号,要把负号(一)放在#的

3、前面。 例如:G00 X#1; 当引用未定义的变量时,变量及地址字都被忽略。 例如: 当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为: G00X0;,9,6、未定义的变量 变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。它不能写,只能读。 (1)引用,10,(2)运算,11,(3)条件表达式,12,7、限制 程序号、顺序号和程序跳转号不能使用变量 例如:O#1; N#2G00X100.0 /#3Y200.0,13,二、系统变量,1、刀具补偿值,14,2、时间信息,15,3、自动运行控制 可以改变自动运行的控制状态,16,当电源接通时,该变量的值为0。

4、当单程序段停止无效时,即使单程序段开关设为ON,也不执行单程序段停止。 当不指定等待辅助功能(M,S和T功能)完成时,在辅助功能完成之前,程序执行到下列程序段。而且分配完成信号DEN不输出。,17,18,当电源接通时,该变量的值为0。 当进给暂停无效时: (1)当进给暂停按钮被按下时,机床在单段停止方式停止。但是。当用变量#3003使单程序段方式无效时,单程序段停止不执行。 (2)当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停止;程序继续执行,并且机床停在进给暂停有效的第一个程序段。 当进给速度倍率无效时,总是100的倍率,而不管机床操作面板上的进给速度倍率开关的设置。 当准确停止检

5、测无效时,即使那些不执行切削的程序段也不进行准确停止检测(位置检测)。,19,攻丝循环中使用变量3004的例子,N5,N7,20,4、已加工的零件数,21,5、当前位置(只读),22,图中第1位代表轴号(从1到4)。 变量#5081#5084存储的刀具长度偏置值是当前的执行值,不是后面的程序段的处理值。 在G31(跳转功能)程序段中跳转信号接通时的刀具位置贮存在变量#5061到#5068中。当G31程序段中的跳转信号不接通时,这些变量中贮存指定程序段的终点值。 移动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值.,23,6、工件坐标系补偿值(工件零点偏移值),24,25,三、算术和逻辑

6、运算,下列的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。 1、(定义)赋值: #i=#j; 2、加法: #i=#j+#k 3、减法: #i=#j-#k 4、乘法: #i=#j*#k 5、除法: #i=#j/#k,26,6、正弦: #i=SIN#j ; 7、反正弦: #i=ASIN#j; 8、余弦: #i=COS#j; 角度以度指定 9、反余弦: #i=ACOS#j; 9030表示为 10、正切: #i=TAN#j; 90.5度 11、反正切: #i=ATAN#j/#K; 12、平方根: #

7、i=SQRT#j; 13、绝对值: #i=ABS#j; 14、舍入: #i=ROUND#j; 15、上取整: #i= FUP#j ; 16、下取整: #i= FIX#j ; 17、自然对数: #i=LN#j; y=lnx 18、指数函数: #i=EXP#j; y=ex,27,19、或: #i=#j OR #k ; 20、异或: #i=#j XOR #k ; 按位执行 21、与: #i=#j AND #k ; 22、从BCD转为BIN #i=BIN#j ; 23、从BIN转为BCD #i=BCD#j ; 注: ARCSIN #i=ASIN#j 取值范围 当No.6004.0=0时 :27090

8、No.6004.0=1时 :-9090 ARCCOS #I=ACOS#j 取值范围 1800,28,29, ARCTAN #i=ATAN#j/#K; 取值范围 当No.6004.0=0时 :0360 No.6004.0=1时 :-180180,3/2,/2,2,0,/2,-/2,-,0,第一象限,第二象限,第四象限,第一象限,第二象限,第三象限,第三象限,第四象限,30,ROUND函数 在逻辑运算指令IF、WHILE中,ROUND函数在第一个小数位四舍五入。 例如 #2=1.2345; #1=ROUND#2; 变量1的值是1.0 在NC语句地址中,ROUND函数根据地值得最小设定单位指定四舍五

9、入。 例如 #1=1.2345; #2=2.3456; G00 G91 X-#1; G01 X-#2 F300; G00 X#1+#2; 1.2345+2.3456=3.5801=3.580不返回到初始位置 或 G00 X-ROUND#1+ROUND#2 1.235+2.346=3.581 刀具返回到初始位置,31,上取整和下取整 CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整, 小于原数的绝对值时为下取整。 设:#1=1.2, #2=-1.2 #3=FUP#1; 则2.0赋给#3 #3=FIX#1; 则1.0赋给#3 #3=FUP#2; 则-2.0赋给#3 #3=F

10、IX#2; 则-1.0赋给#3,32,运算次序 函数乘、除(*、/、AND)加、减(+、-、OR、XOR) 括号嵌套(方括号,圆括号用于说明) 括号用于改变运算次序,可以使用5级。,33,四、宏程序语句和NC,下面的程序段为宏程序语句: 包含算术或逻辑运算()的程序段。 包含控制语句(例如,GOTO,DO,END)的程序段。 包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段。 除了宏程序语句以外的任何程序段都为 NC语句。,34,说明 与NC语句的不同 即使置于单程序段运行方式,机床也不停止。但是,当参数No.6000.5SBM设定为1时,在单程序段方

11、式中,机床停止。 在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理。,35, 与宏程序语句有相同性质的NC语句 含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序) 句 不包含O.N.P或L以外的指令地址的程序段其性质与宏程序语句相同。,36,五、转移和循环,使用GOTO语句和IF语句可以改变控制的流向。有三中转移和循环可供使用。 GOTO无条件转移 IF条件转移 WHILE当型循环 1、无条件转移 GOTO n; n为顺序 例如:GOTO 1; GOTO #10;,37,2、条件转移 IF GOTO n 例如: IF #1 GT 10 GOTO 2 程序 N2 G00

12、G91 X10.0 IF THEN 例如: IF #1 EQ #2 THEN #3=0 运算符: EQ 等于(=) NE 不等于 () GT 大于() GE 大于等于() LT 小于() LE 小于等于(),条件不满足,条件满足,38,例:求110的总和。 O9000; #1=0; #2=1; N1 IF#2 GT 10 GOTO 2; #1=#1+#2; #2=#2+1; GOTO 1; N2 M30;,39,3、循环 WHILE DO m; 程序 ; END m; 程序; 说明: m=1,2,3,可以多次使用。 最多嵌套三层。 省略WHILE,则产生从DO 到END的 无限循环。 WHIL

13、E比GOTO 处理快。,条件满足,条件不满足,40,标号可以多次使用: WHILE DO 1; 程序; END1; WHILE DO 1; 程序; END1;,可以嵌套3层: WHILE DO 1; WHILE DO 2; WHILE DO 3; 程序; END3; END2; END1;,可以跳到循环外边: WHILE DO 1; IF GOTO n; END1; N1,41,DO的范围不能交叉: WHILE DO 1; 程序; WHILE DO 2; END1; 程序; END2;,转移不能进入循环区: IF GOTO n; WHILE DO 1; N1; END1;,42,六、宏程序调用

14、,宏程序调用方法: 非模态调用(G65) 模态调用(G66、G67) 用G代码调用宏程序 用M代码调用宏程序 用M代码调用子程序 用T代码调用子程序,43,1、非模态调用(G65) 格式: G65 Pp Ll 其中: p:要调用的程序号 l: 重复次数(默认值为1) 自变量:数据传递到宏程序,其值被赋值到相应的局部变量,有两种指定形式。,44,自变量指定,注:每个字母只指定一次,可以不按顺序,但I、J、K需 按顺序指定。,45,自变量指定,46,自变量指定、混合。CNC内部能够自动识别自变量指定、,后指定的有效。 例如: G65 A1.0 B2.0 I-3.0 I4.0 D5.0 P1000;

15、 则 #1=1.0 #2=2.0 #3 #4=-3.0 #5= #6 #7=4.0 #7=5.0,47,调用嵌套和局部变量的级别:可以嵌套4级。,主程序,48,例:如图所示,编制一个宏程序加工圆上的孔,孔深为Z。圆周的半径为I,起始角为A,间隔为B,钻孔数为H,圆的中心是(X ,Y)。,49,调用格式: G65 P9100 Xx Yy Zz Rr Ii Aa Bb Hh; X:圆心的X坐标 (#24) Y:圆心的Y坐标 (#25) Z:孔深(#26) R:快速趋近点坐标(#18) F:切削进给速度(#9) I: 圆半径(#4) A:第一孔的角度(#1) B:增量角(指定负值时为顾时针)(#2) H:孔数(#11),50,主程序: O002; G90 G92 X0 Y0 Z100; G65 P9100 X100 Y50 R30 Z-50 F500 I100 A0

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

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号