发那科用户宏程序资料知识讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.235+2.346=3.581 刀具返回到初始位置
●当准确停止检测无效时,即使那些不执行切削 的程序段也不进行准确停止检测(位置检测)。
17
攻丝循环中使用变量3004的例子
N5 N7
18
4、已加工的零件数
19
5、当前位置(只读)
20
●图中第1位代表轴号(从1到4)。 ●变量#5081—#5084存储的刀具长度偏置值
是当前的执行值,不是后面的程序段的 处理值。
例如:
当变量#1的值是0,并且变量#2的值是空时, G00X#1Y#2的执行结果为:
G00X0;
7
6、未定义的变量 变量值未定义时,这样的变量成为
“空”变量。变量#0总是空变量。它不 能写,只能读。 (1)引用
8
(2)运算
9
(3)条件表达式
10
7、限制 程序号、顺序号和程序跳转号不能使
用变量 例如:O#1;
N#2G00X100.0 /#3Y200.0
11
二、系统变量
1、刀具补偿值
12
2、时间信息
13
3、自动运行控制 可以改变自动运行的控制状态
14
●当电源接通时,该变量的值为0。 ●当单程序段停止无效时,即使单程序段开
关设为ON,也不执行单程序段停止。 ●当不指定等待辅助功能(M,S和T功能)完
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
25
19、或: #i=#j OR #k ;
发那科用户宏程序资料
2
3
一、变量
1、变量
使用用户宏程序时,数值可以直接指定或用 变量指定。当用变量时,变量值可用程序或用 MDI面板上的操作改变。
#1=#2+100;
G01 X#1 F300;
2、变量的表示
计算机允许使用变量名,用户宏程序不行。 变量用变量符号(#)和后面的变量号指定。
表达式可以用于指定变量号。此时,表达式 必须封闭在括号中。
②ARCCOS #I=ACOS[#j] 取值范围
180°~0°
26
3π/2 π
π/2
-1 0 1
π/2 -1
01 -π/2
π π/2 -1 0 1
27
③ ARCTAN #i=ATAN[#j]/[#K]; 取值范围 当No.6004.0=0时 :0°~360° No.6004.0=1时 :-180°~180°
成时,在辅助功能完成之前,程序执行 到下列程序段。而且分配完成信号DEN 不输出。
15
16
●当电源接通时,该变量的值为0。 ●当进给暂停无效时: (1)当进给暂停按钮被按下时,机床在单段停止方
式停止。但是。当用变量#3003使单程序段方 式无效时,单程序段停止不执行。 (2)当进给暂停按钮压下又松开时,进给暂停灯亮, 但是,机床不停止;程序继续执行,并且机床 停在进给暂停有效的第一个程序段。 ●当进给速度倍率无效时,总是100%的倍率,而 不管机床操作面板上的进给速度倍率开关的设 置。
24
6、正弦: 7、反正弦: 8、余弦: 9、反余弦: 10、正切:
#i=SIN[#j] ; #i=ASIN[#j]; #i=COS[#j]; #i=ACOS[#j]; #i=TAN[#j];
角度以度指定 90°30′表示为 90.5度
11、反正切: #i=ATAN[#j]/[#K];
12、平方根: #i=SQRT[#j];
●在G31(跳转功能)程序段中跳转信号接通 时的刀具位置贮存在变量#5061到#5068 中。当G31程序段中的跳转信号不接通 时,这些变量中贮存指定程序段的终点 值。
●移动期间不能读是指由于缓冲(预读)功能 的原因,不能读期望值.
21
6、工件坐标系补偿值(工件零点偏移值)
22
23
三、算术和逻辑运算
例如: #1
#[#1+#2-12]
4
3、变量的类型
5
4、变量值得范围 局部变量和公共变量可以有0值或下面
范围中的值: -1047至-10-29
或 10-29至1047 5、变量的引用
为在程序中使用变量值,指定后跟变 量号的地址。当用表达式指定变量时, 把表达式放在括号中。 例如:G01 X#1 F#[#2+#3]
0~2π 0~π
0~-π
2π
第四象限
3π/2
第二象限
π
第三象限
π/2
第一象限
0
第二象限 第四象限
π
π/2
0
第一象限
-π/2
第三象限
-π
28
④ROUND函数
●在逻辑运算指令IF、WHILE中,ROUND函数在第 一个小数位四舍五入。
例如 #2=1.2345;
#1=ROUND[#2]; 变量1的值是1.0
下列的运算可以在变量中执行。运算符 右边的表达式可包含常量和/或由函数或 运算符组成的变量。表达式中的变量#j和 #k可以用常数赋值。左边的变量也可以用 表达式赋值。
1、(定义)赋值: #i=#j; 2、加法: #i=#j+#k 3、减法: #i=#j-#k 4、乘法: #i=#j*#k 5、除法: #i=#j/#k
6
来自百度文库
被引用变量的值根据地址的最小设定单位自 动地舍入。
例如: G00 X#1, 以1/1000mm的单位执行时, CNC把12.3456赋值给变量#1,实际指令值为 G00 X12.346;。
改变引用变量的值的符号,要把负号(一)放 在#的前面。
例如:G00 X-#1;
当引用未定义的变量时,变量及地址字都被 忽略。
●在NC语句地址中,ROUND函数根据地值得最小设 定单位指定四舍五入。
例如 #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]]
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时 :270°~90°
No.6004.0=1时 :-90°~90°