发那科用户宏程序资料课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《发那科用户宏程序资料课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用户 程序 资料 课件
- 资源描述:
-
1、发那科用户宏程序资料最多最多999次次一、变量一、变量1、变量、变量 使用用户宏程序时,数值可以直接指定或用使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。面板上的操作改变。#1=#2+100;G01 X#1 F300;2、变量的表示、变量的表示 计算机允许使用变量名,用户宏程序不行。计算机允许使用变量名,用户宏程序不行。变量用变量符号变量用变量符号(#)和后面的变量号指定。和后面的变量号指定。表达式可以用于指定变量号。此时,表达式表达式可以用于指定变量号。此时,表达式必须封闭在括号中。必须封闭在括号
2、中。例如:例如:#1#1+#2-123、变量的类型、变量的类型4、变量值得范围、变量值得范围 局部变量和公共变量可以有局部变量和公共变量可以有0值或下面值或下面范围中的值:范围中的值:1047至至1029 或或 1029至至1047 5、变量的引用、变量的引用 为在程序中使用变量值,指定后跟变为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,量号的地址。当用表达式指定变量时,把表达式放在括号中。把表达式放在括号中。例如:例如:G01 X#1 F#2+#3 被引用变量的值根据地址的最小设定单位自被引用变量的值根据地址的最小设定单位自动地舍入。动地舍入。例如例如:G00 X#1,以
3、以11000mm的单位执行时,的单位执行时,CNC把把12.3456赋值给变量赋值给变量#1,实际指令值为,实际指令值为G00 X12.346;。改变引用变量的值的符号,要把负号改变引用变量的值的符号,要把负号(一一)放放在在#的前面。的前面。例如:例如:G00 X#1;当引用未定义的变量时,变量及地址字都被当引用未定义的变量时,变量及地址字都被忽略。忽略。例如:例如:当变量当变量#1的值是的值是0,并且变量,并且变量#2的值是空时,的值是空时,G00X#1Y#2的执行结果为的执行结果为:G00X0;6、未定义的变量、未定义的变量 变量值未定义时,这样的变量成为变量值未定义时,这样的变量成为“
4、空变量。变量空变量。变量#0总是空变量。它不总是空变量。它不能写,只能读。能写,只能读。(1)引用引用(2)运算运算(3)条件表达式条件表达式7、限制、限制 程序号、顺序号和程序跳转号不能使程序号、顺序号和程序跳转号不能使用变量用变量 例如:例如:O#1;二、系统变量二、系统变量1、刀具补偿值、刀具补偿值2、时间信息、时间信息3、自动运行控制、自动运行控制 可以改变自动运行的控制状态可以改变自动运行的控制状态当电源接通时,该变量的值为当电源接通时,该变量的值为0。当单程序段停顿无效时,即使单程序段开关设为当单程序段停顿无效时,即使单程序段开关设为ON,也不执行单程序段,也不执行单程序段停顿。停
5、顿。当不指定等待辅助功能当不指定等待辅助功能(M,S和和T功能功能)完成时,在辅助功能完成之前,程完成时,在辅助功能完成之前,程序执行到以下程序段。而且分配完成信号序执行到以下程序段。而且分配完成信号DEN不输出。不输出。当电源接通时,该变量的值为当电源接通时,该变量的值为0。当进给暂停无效时:当进给暂停无效时:(1)当进给暂停按钮被按下时,机床在单段停顿方式停顿。但是。当用变量当进给暂停按钮被按下时,机床在单段停顿方式停顿。但是。当用变量#3003使单使单程序段方式无效时,单程序段停顿不执行。程序段方式无效时,单程序段停顿不执行。(2)当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停
6、顿;程序继续执当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停顿;程序继续执行,并且机床停在进给暂停有效的第一个程序段。行,并且机床停在进给暂停有效的第一个程序段。当进给速度倍率无效时,总是当进给速度倍率无效时,总是100的倍率,而不管机床操作面板上的进给速度倍的倍率,而不管机床操作面板上的进给速度倍率开关的设置。率开关的设置。当准确停顿检测无效时,即使那些不执行切削的程序段也不进展准确停顿检测当准确停顿检测无效时,即使那些不执行切削的程序段也不进展准确停顿检测(位位置检测置检测)。攻丝循环中使用变量攻丝循环中使用变量3004的例子的例子N5N74、已加工的零件数、已加工的零件数5、当
7、前位置只读、当前位置只读图中第图中第1位代表轴号位代表轴号(从从1到到4)。变量变量#5081#5084存储的刀具长度偏置值存储的刀具长度偏置值是当前的执行值,不是后面的程序段的是当前的执行值,不是后面的程序段的处理值。处理值。在在G31(跳转功能跳转功能)程序段中跳转信号接通程序段中跳转信号接通时的刀具位置贮存在变量时的刀具位置贮存在变量#5061到到#5068中。当中。当G31程序段中的跳转信号不接通程序段中的跳转信号不接通时,这些变量中贮存指定程序段的终点时,这些变量中贮存指定程序段的终点值。值。移动期间不能读是指由于缓冲移动期间不能读是指由于缓冲(预读预读)功能功能的原因,不能读期望值
8、的原因,不能读期望值.6、工件坐标系补偿值工件零点偏移值、工件坐标系补偿值工件零点偏移值三、算术和逻辑运算三、算术和逻辑运算 以下的运算可以在变量中执行。运算符以下的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量运算符组成的变量。表达式中的变量#j和和#k可以用常数赋值。左边的变量也可以用可以用常数赋值。左边的变量也可以用表达式赋值。表达式赋值。1、定义赋值:、定义赋值:#i=#j;2、加法:、加法:#i=#j+#k3、减法:、减法:#i=#j-#k4、乘法:、乘法:#i=#j*#k5、除法:、除法:#i=#j/
9、#k6、正弦:、正弦:#i=SIN#j;7、反正弦:、反正弦:#i=ASIN#j;8、余弦:、余弦:#i=COS#j;角度以度指定角度以度指定9、反余弦:、反余弦:#i=ACOS#j;9030表示为表示为10、正切:、正切:#i=TAN#j;11、反正切:、反正切:#i=ATAN#j/#K;12、平方根:、平方根:#i=SQRT#j;13、绝对值:、绝对值:#i=ABS#j;14、舍入:、舍入:#i=ROUND#j;15、上取整:、上取整:#i=FUP#j;16、下取整:、下取整:#i=FIX#j;17、自然对数:、自然对数:#i=LN#j;y=lnx18、指数函数:、指数函数:#i=EXP#
10、j;y=ex19、或、或:#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 No.6004.0=1时时:-9090ARCCOS#I=ACOS#j 取值范围取值范围 1800/20-/21-13/2/20-111-1 0/2 ARCTAN#i=ATAN#j/#K;取值范围取值范围 当当No.6004.0=0时时:0360 No
11、.6004.0=1时时:-1801803/2/220/2-/2-0第一象限第二象限第四象限第一象限第二象限第三象限第三象限第四象限0-002ROUND函数函数在逻辑运算指令在逻辑运算指令IF、WHILE中,中,ROUND函数在第函数在第一个小数位四舍五入。一个小数位四舍五入。例如例如#2=1.2345;在在NC语句地址中,语句地址中,ROUND函数根据地值得最小设函数根据地值得最小设定单位指定四舍五入。定单位指定四舍五入。例如例如#1=1.2345;#2=2.3456;G00 G91 X-#1;G01 X-#2 F300;G00 X#1+#2;或或 G00 X-ROUND#1+ROUND#2
12、1.235+2.346=3.581 刀具返回到初始位置刀具返回到初始位置上取整和下取整上取整和下取整CNC处理数值运算时,假设操作后产生的处理数值运算时,假设操作后产生的整数绝对值大于原数的绝对值时为上取整数绝对值大于原数的绝对值时为上取整,整,小于原数的绝对值时为下取整。小于原数的绝对值时为下取整。#3=FUP#1;那么那么2.0赋给赋给#3#3=FIX#1;那么那么1.0赋给赋给#3#3=FUP#2;那么那么-2.0赋给赋给#3#3=FIX#2;那么那么-1.0赋给赋给#3运算次序运算次序 函数函数乘、除乘、除(*、/、AND)加、减加、减(+、-、OR、XOR)括号嵌套方括号括号嵌套方括
13、号,圆括号用于说明,圆括号用于说明 括号用于改变运算次序,可以使用括号用于改变运算次序,可以使用5级。级。四、宏程序语句和四、宏程序语句和NC下面的程序段为宏程序语句:下面的程序段为宏程序语句:包含算术或逻辑运算包含算术或逻辑运算()的程序段。的程序段。包含控制语句包含控制语句(例如,例如,GOTO,DO,END)的程序段。的程序段。包含宏程序调用指令包含宏程序调用指令(例如,用例如,用G65,G66,G67或其它或其它G代码,代码,M代码调用宏程序代码调用宏程序)的程序段。的程序段。除了宏程序语句以外的任何程序段都为除了宏程序语句以外的任何程序段都为 NC语句。语句。说明说明 与与NC语句的
14、不同语句的不同 即使置于单程序段运行方式,机床即使置于单程序段运行方式,机床也不停顿。但是,当参数也不停顿。但是,当参数No.6000.5SBM设定为设定为1时,在单程序段方式中,机床停时,在单程序段方式中,机床停顿。顿。在刀具半径补偿方式中宏程序语句在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理。段不做为不移动程序段处理。与宏程序语句有一样性质的与宏程序语句有一样性质的NC语句语句 含有子程序调用指令含有子程序调用指令(例如,用例如,用M98或其它或其它M代码或用代码或用T代码调用子程代码调用子程序序)句句 不包含不包含O.N.P或或L以外的指令地址的程序段其性质与宏程序语句一样。以
15、外的指令地址的程序段其性质与宏程序语句一样。五、转移和循环五、转移和循环 使用使用GOTO语句和语句和IF语句可以改变控制的流语句可以改变控制的流向。有三中转移和循环可供使用。向。有三中转移和循环可供使用。GOTO无条件转移无条件转移 IF条件转移条件转移 WHILE当型循环当型循环1、无条件转移、无条件转移 GOTO n;n为顺序为顺序 例如:例如:GOTO 1;GOTO#10;2、条件转移、条件转移 IF GOTO n 例如:例如:IF#1 GT 10 GOTO 2 程序程序 IF THEN 例如:例如:IF#1 EQ#2 THEN#3=0 运算符运算符:EQ 等于等于(=)NE 不等于不
16、等于 ()GT 大于大于()GE 大于等于大于等于()LT 小于小于()LE 小于等于小于等于()条件不满足条件满足例:求例:求110的总和。的总和。O9000;#1=0;#2=1;N1 IF#2 GT 10 GOTO 2;#1=#1+#2;#2=#2+1;GOTO 1;N2 M30;3、循环、循环 WHILE DO m;程序程序;END m;程序;程序;说明:说明:m=1,2,3,可以屡次使用。,可以屡次使用。最多嵌套三层。最多嵌套三层。省略省略WHILE,那么产生从,那么产生从DO 到到END的的 无限循环。无限循环。WHILE比比GOTO 处理快。处理快。条件满足条件不满足标号可以屡次使
17、用:标号可以屡次使用: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;N1DO的范围不能穿插:的范围不能穿插:WHILE DO 1;程序程序;WHILE DO 2;END1;程序程序;END2;转移不能进入循环区:转移不能进入循环区:IF GOTO n;WHILE DO 1;N1;END1;六、宏程序调用六、宏程序调用宏程序调用方法:宏程序调
展开阅读全文