分享好友 数控技术首页 数控技术分类 切换频道

FUNNC用户宏程序

2019-05-25 00:00620
用 户 宏 程 序 
能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。 
l 所存入的这一系列指令——用户宏程序 
l 调用宏程序的指令————宏指令 
l 特点:使用变量 
一. 变量的表示和使用 
(一) 变量表示  
#I(I=1,2,3,…)或#[<式子>] 
例:#5,#109,#501,#[#1+#2-12] 
(二) 变量的使用  
1. 地址字后面指定变量号或公式 
格式: <地址字>#I 
<地址字>-#I 
<地址字>[<式子>] 
例:F#103,设#103=15 则为F15 
Z-#110,设#110=250 则为Z-250 
X[#24+#18*COS[#1]] 
2. 变量号可用变量代替 
例:#[#30],设#30=3 则为#3 
3. 变量不能使用地址O,N,I 
例:下述方法下允许 
O#1; 
I#2 6.00×100.0; 
N#3 Z200.0; 
4. 变量号所对应的变量,对每个地址来说,都有具体数值范围 
例:#30=1100时,则M#30是不允许的 
5. #0为空变量,没有定义变量值的变量也是空变量 
6. 变量值定义: 
程序定义时可省略小数点,例:#123=149 
MDI键盘输一. 变量的种类 
1. 局部变量#1~#33 
一个在宏程序中局部使用的变量 
例:   A宏程序     B宏程序 
      …        … 
     #10=20     X#10 不表示X20 
      …        … 
断电后清空,调用宏程序时代入变量值 
2. 公共变量#100~#149,#500~#531 
各用户宏程序内公用的变量 
例:上例中#10改用#100时,B宏程序中的 
  X#100表示X20 
#100~#149 断电后清空 
#500~#531保持型变量(断电后不丢失) 
3. 系统变量 
固定用途的变量,其值取决于系统的状态 
例:#2001值为1号刀补X轴补偿值 
  #5221值为X轴G54工件原点偏置值
入时必须输入小数点,小数点省略时单位为μm
一. 运算指令 
运算式的右边可以是常数、变量、函数、式子 
式中#j,#k也可为常量 
式子右边为变量号、运算式 
1. 定义 
#I=#j 
2. 算术运算 
#I=#j+#k 
#I=#j-#k 
#I=#j*#k 
#I=#j/#k 
3. 逻辑运算 
#I=#JOK#k 
#I=#JXOK#k 
#I=#JAND#k 
4. 函数 
#I=SIN[#j] 正弦 
#I=COS[#j] 余弦 
#I=TAN[#j] 正切 
#I=ATAN[#j] 反正切 
#I=SQRT[#j] 平方根 
#I=ABS[#j] 绝对值 
#I=ROUND[#j] 四舍五入化整 
#I=FIX[#j] 下取整 
#I=FUP[#j] 上取整 
#I=BIN[#j] BCD→BIN(二进制) 
#I=BCN[#j] BIN→BCD
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 
6) 优先级 
函数→乘除(*,1,AND)→加减(+,-,OR,XOR) 
例:#1=#2+#3*SIN[#4]; 
7) 括号为中括号,最多5重,园括号用于注释语句 
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 转移与循环指令 
1.无条件的转移 
格式: GOTO 1; 
    GOTO #10; 
2.条件转移 
格式: IF[<条件式>= GOTO n 
条件式: 
#j EQ#k 表示= 
#j NE#k 表示≠ 
#j GT#k 表示> 
#j LT#k 表示< 
#j GE#k 表示≥ 
#j LE#k 表示≤ 
例: IF[#1 GT 10] GOTO 100; 
   … 
   N100 G00 691 X10; 
例:求1到10之和 
  O9500; 
  #1=0 
  #2=1 
  N1 IF [#2 GT10] GOTO 2 
  #1=#1+#2; 
  #2=#2+1; 
  GOTO 1 
  N2 M301.循环 
格式:WHILE[<条件式>=DO m;(m=1,2,3) 
… 
… 
… 
ENDm 
说明:1.条件满足时,执行DOm到ENDm,则从DOm的程序段 
    不满足时,执行DOm到ENDm的程序段 
   2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环 
   3.嵌套
4.EQ NE时,空和“0”不同 
其他条件下,空和“0”相同 
 例:求1到10之和 
   O0001; 
   #1=0; 
   #2=1; 
   WHILE [#2LE10] DO1; 
   #1=#1+#2; 
   #2=#2+#1; 
   END1; 
   M30;
举报
收藏 0
打赏 0
轻松提高数控机床精度
随着我国经济的飞速发展,数控机床作为新一代工作母机,在机械制造中已得到广泛的应用,精密加工技术的迅速发展和零件加工精度的

0评论2025-01-04313

加工中心刀具长度补偿怎么用?
在数控加工中,刀具长度补偿是一种重要的措施,用于消除机床变形、热变形等因素引起的误差,保证加工精度,从而提高培训效率,减

0评论2024-12-18400

加工中心主轴定位角度怎么调?
  在数控加工领域,加工中心主轴的定位角度是影响加工精度和效率的重要因素之一。正确调整主轴的定位角度可以提高加工质量,减

0评论2024-12-11496

简述机器人加装电主轴就选Kasite 4060ER-S的理由
  近年来,随着科技的不断发展,机器人作业已经渗透到各个领域,尤其在工业制造领域,更加随处可见。高精密切割、铣削、雕刻、

0评论2024-05-20707

机器人主轴怎么选?Kasite高速电主轴满足你的需求
  机器人发展到现在越来越受到人们的欢迎和重视,现在很多传统行业都在生产作业中引入了工业机器人,随着机器人的改进和优化,

0评论2023-10-231208

机械臂加装2.2KW大力矩电主轴,就选MSIY-80电主轴
机械臂想加装大力矩电主轴,用于铸钢等硬质材料去毛刺,铣削等加工,可以考虑MSIY-80电主轴,外径80mm,重量4.8公斤,可搭配轴向或径向浮动刀柄配套使用。

0评论2023-08-261203

每天早上打开数控机床时有没有必要热机?
工厂使用精密数控机床(加工中心、电火花、慢走丝等机床)进行高精密加工,你是否有这样的经验:每天早上开机进行加工,首件的加

0评论2023-08-151093