iCAx开思网

标题: 宏程式 [打印本页]

作者: fzci    时间: 2002-11-10 00:00
标题: 宏程式
最近小弟遇到一个会用什么东东叫宏程式的!
什么东东#103 = ………………………………
还有
作者: wwggkk    时间: 2002-11-11 13:30
有一本书《数控机床编程及实例》里面介绍FANUC的编程很详细,包括宏程序,比起FANUC的说明书清楚的多
作者: sosoo    时间: 2002-11-11 18:08
那么那里可以买到呢?
作者: wwggkk    时间: 2002-11-12 01:19
以前新华书店就有卖,不过那是几年以前了,现在没看到了,那本书是哈工大的一个副教授编的,很薄,但简洁明了.我就是看了那本书才学会FANUC宏编程的
作者: 山中岁月    时间: 2002-11-14 01:51
用户宏程序可是好工具啊!用好了加工效率很高,修改参数也很快,程序柔性比较大,是手工编程的利器,好好干那!
作者: fzci    时间: 2002-11-14 19:40

作者: cyboris    时间: 2002-11-14 21:14
告訴我你加工的零件,我幫你寫一個.
作者: GreenPorcupine    时间: 2002-11-15 02:29
cyboris wrote:
告訴我你加工的零件,我幫你寫一個.

嗨, 人家要学的是挣钱的本事, 不是想你讨钱...............
作者: wwggkk    时间: 2002-11-15 13:06
可惜我没有扫描仪,不然可以扫描一些资料给你,不过你也可以上网查一查,看有没有那本书的资料,《数控机床的编程及实例》  于华  主编
作者: Alan27    时间: 2002-11-15 16:02
到學校里有這本書的教材!我們以前學過!現在沒用就忘了!
作者: fzci    时间: 2002-11-15 18:40
可以写一些象铣带锥度的园孔,还有一些开框的东东!反正就是很好用,就象山中岁月 说的一样!
  
而且最好的就是如果要做娄是的东东只要改几个数值就可以用了!
cyboris 兄 :
你帮我写一条铣园的程式,可以的话在后面加上一些注解《谢谢喽!
另外我想有人可以帮我在网上找找吗?
我找了好多地方都找不到!
作者: wwggkk    时间: 2002-11-15 19:00
其实如果你学过BASIC语言,就很容易理解宏程序,宏程序语法和BASIC 相类似 ,找一些宏程序自己琢磨就行了
作者: cyboris    时间: 2002-11-16 10:35
#102=5
#103=50
G0 G90 G54 X*** Y***  
S***  M3
WHILE[#102 LQ #103] DO1
G1 Z-#102 F100
G2 I***  F500
#102=#102+5
END1
........
作者: chinaxpj    时间: 2002-11-16 15:34
需要什麽宏程序,我可以帮你。
作者: lfc    时间: 2002-11-16 23:18
我有一本FANUC公司编的常用宏程式,有铣圆,挖方槽,钻圆周孔等等,反正常用的都有。
附上一个挖槽宏程式,过两天再发一些。
作者: fzci    时间: 2002-11-17 18:43
cyboris :你可不可以来点注解呀,我看不懂呀!你的哪个是深度,还有哪个是我要铣出来的园的D径呀!我的刀半补偿如何做呀?我是笨小孩来的呀!就是笨!YYY
lfc :你给的这个挖槽宏程式我啥用呀?我如何改深度还有如何改长宽呀?还有你是先开过粗的只光框的吗?还是可以也用开粗的?如果是开粗何丛下刀呀?会不会是真接下刀呀?那就kb喽!
你给了程式你要叫我们如何套用呀?服务到家如果你原意的话!我们啥改呀?
  
兄弟们你们可不可以告诉我详细点呀!
我现在好想学会呀? CUSTOMER MACOR我只懂一点比如说什么EQ  LT GOT呀!
你们要我什么才可以吗?我会用许多控制器用的最熟的FANUC 0(7,18),三LIN M64还SIEMENS 840D!MCA用的还可以(3年)如果是这些可以用的上我的找我就可以喽!  
  
作者: aven    时间: 2002-11-17 21:09
宏程序很简单的,只是将 x y z 坐标用参数代替,再加上条件判断就 ok 了。
  
例:加工圆(在圆心处要先打预钻孔)
  
G90 G0 Z#200  ( Z 高度)
X#201 Y#202   (圆心坐标)
G1 Z#203  F      (下降至加工高度)(这部分也可以用条件判断来分层加工)
  
#204=#211 (#211 预钻孔半径 )
N10
#204=#204+#205  (#204变量   #205径向切削深度)
IF [ #204  大于  #210 ] N100    (条件判断,210是圆半径)
G91 G41 D#206  X#204  F80  (#206刀补)
G3 I-#204
G1 G40 X-#204  F1000 (此处加快进给提高效率)
GOTO N10
N100
G91 G41 D#206 X#210   
G3 I-#210
G1 G40 X-#210
G90 G0 Z#200
  
上面给出的只是一个思路,供你参考,fanuc的代码我不很熟,但是思路是一样的。
  
  
作者: fzci    时间: 2002-11-19 21:14
很谢谢你!真的!DLC斑主
  我还有一些东东不理解,可以再教我一下吗?
G90 G0 Z#200 ( Z 高度)  
X#201 Y#202 (圆心坐标)  
G1 Z#203 F (下降至加工高度)(这部分也可以用条件判断来分层加工)  
  
???{可不可以点点分层啥做呀?举个例句好吗?铣10深一刀1MM!}
  
#204=#211 (#211 预钻孔半径 )  
N10  
#204=#204+#205 (#204变量 #205径向切削深度)  
  
???{变量是什么东东呀?}
  
IF [ #204 大于 #210 ] N100 (条件判断,210是圆半径)  
  
???{#210不要先指定吗?这句为什么没结果呀?是GOTO N100吗?}
  
G91 G41 D#206 X#204 F80 (#206刀补)  
G3 I-#204  
G1 G40 X-#204 F1000 (此处加快进给提高效率)  
GOTO N10  
N100  
G91 G41 D#206 X#210  
G3 I-#210  
G1 G40 X-#210  
G90 G0 Z#200  
  
PS:你的径向是如何分层铣的?你的是不是只有二层的?
PS TO PS:还有可不可以等高先在一个高度铣几层再下下一个深度?
作者: fzci    时间: 2002-11-19 21:17
aven  
   
DelCAM版主  
  我明天上机干干,我再想想!谢谢你啦!
作者: aven    时间: 2002-11-19 22:58
宏程序是和参数一起使用的,程序里只给出加工方式,参数里给出加工数据。
(参数要手工输入机床)
比如铣一个直径200mm 的圆,刀具直径20mm ,每次径向切削18mm ,
通过条件判断,每次铣削的直径累加,直至大于或等于 200时用标准直径
进行最终加工。
作者: a600    时间: 2002-11-21 13:46
数控机床的编程及实例
作者: fzci    时间: 2002-11-26 20:42
谢谢各位大侠啦!
笨小孩现在可以写一些宏程式啦!
  
我有一本FANUC公司编的常用宏程式,有铣圆,挖方槽,钻圆周孔等等,反正常用的都有。  
附上一个挖槽宏程式,过两天再发一些。
  
再来呀!
我在等你的呀!
作者: fzci    时间: 2002-11-29 21:01
请问!
WHILE 和  IF   有何曲别的呀?
具体啥用的呀?
我现在会用铣一个园的宏程式啦!
我今天铣了一个园,用X,Y分层铣的可以!
但我想等X,Y铣到数以后!再下Z值我可以怎么做呀?
WHILE    语法啥用呀?什么END1是什么意思呀?
  
还有铣一些2D半的东东有什么绝招?
作者: lfc    时间: 2002-12-2 23:55
先看看,全部发完后给解释。
作者: lfc    时间: 2002-12-3 00:00
附件
作者: lfc    时间: 2002-12-3 00:03
上面的附件是钻圆周孔的。
作者: CADme    时间: 2002-12-3 12:16
如果你需要的话,我可以提供 数控机床的编程及实例 的pdf书籍。
作者: 山中岁月    时间: 2002-12-3 20:22
楼上老兄还不贴上来?更待何时!
作者: CADme    时间: 2002-12-4 14:21
山中岁月 wrote:
楼上老兄还不贴上来?更待何时!

no.1
作者: CADme    时间: 2002-12-4 14:24
no.2
作者: CADme    时间: 2002-12-4 14:25
no.3
作者: CADme    时间: 2002-12-4 14:27
no.4
作者: CADme    时间: 2002-12-4 14:28
no.5
作者: CADme    时间: 2002-12-4 14:28
no.6
作者: CADme    时间: 2002-12-4 14:33
no.7
作者: CADme    时间: 2002-12-4 14:34
ok
作者: fzci    时间: 2002-12-4 19:35
多谢!
作者: cadkey20    时间: 2002-12-7 19:31
少一个R02.
作者: hunte    时间: 2002-12-11 12:23
EQ   等于
NE   不等于
GT   大于
LT   小于
GE   大于等于
LE   小于等于
已好几年没手工编程了,不知是否正确.
作者: iceman    时间: 2002-12-13 12:29
     相当于设置了函数变量,如:
     #105=3
     那么,G#105 就相当于G03
     此宏指令可以进行运算的改变,如:
     #105=#106+1
     #106=2
     那么在程式中#105=3
     还可对自身进行运算,如:
     #105=#105+1
     没运算1次#105就加1,还可设置条件转换IF等等进行条件判定,以控制程  
     序运行状态,或改变机床设置。
     可自定义宏指令,设置自己所需的功能,  多看看书,实际用用,很有意思
     的。
作者: superdao    时间: 2002-12-14 21:37
找机床说明书看,很详细啊,现在的书多是抄的机床说明书!
作者: iceman    时间: 2002-12-18 15:07
a !!!
作者: ant    时间: 2002-12-21 23:21
两三年前,做手工编程(同时也操机,现在想起来真是机会难得)时,看书学会了宏程式,用他来做标准化的产品,对与一天做10种型号(一两件)真是爽极了,以前编10min的程式 不用1min就搞定,还万无一失,还大大缩短了加工时间,可是没一个人识货(也可能是我没耐心,或不会表现),就南下。现在,虽然不在手工编程,但也做些宏程式来弥补系统功能的不足之处,大大提高了效率,减少了人为错误.
作者: caicadxm    时间: 2002-12-29 23:51
CADme wrote:
如果你需要的话,我可以提供 数控机床的编程及实例 的pdf书籍。

  
老大,少一个*.R02 压缩文档?
  
请补齐,谢谢!!!
  

作者: lx.c    时间: 2002-12-31 17:19

  r02呢
作者: lx.c    时间: 2003-1-2 18:19
去   cmpbook.com  买吧,
RMB: 16.00

作者: CamABC    时间: 2003-2-7 14:24
就是呀, 大佬, 那个r02呢?! 你不是在玩我们吧?!
作者: kkqqjj    时间: 2003-8-3 08:54
lx.c wrote:
去   cmpbook.com  买吧,  
  RMB: 16.00  
  

加上邮寄费用需要二十多圆
作者: fzci    时间: 2003-8-3 13:11
靠,这么老的贴还有人会顶哟!我也觉的这么好的贴,不要就这样沉下去啊我也顶一下!
偶好象是从这贴开始学会玩一点点宏程式后,也用宏程式做过一些东东!可是总感觉还是不够好,可以再改改好些,甚至还有一些东东会用不起来,不知道啥会事?
总希望有多一些大XIA可以在这一起来控讨一下!
宏程用的好, 真的可以比CAM做的还要好很多咧!
好象还有人做的一些标准的宏程式咧有的话放上来呀
作者: blackbird111    时间: 2003-8-3 13:45
这本书偶也有,已经转为pdf格式,只是却最后几页,希望对大家学习又帮助。
  
1
作者: blackbird111    时间: 2003-8-3 13:46
2
作者: blackbird111    时间: 2003-8-3 13:48
3
作者: blackbird111    时间: 2003-8-3 13:54
4, 完
作者: kkqqjj    时间: 2003-8-4 18:17
感谢
作者: abkk    时间: 2003-8-5 13:11
来个实用的吧!
自动机械值写入控制器G54坐标(X,Y).
用于MELDAS dos下的控制器.
%
L54(G10G54XY  )
#5221=#5021
#5222=#5022
M2  
%
作者: wuleizy    时间: 2003-8-5 13:27
上面所写的MACRO 只是简单,如加上一些system variable就会使PROGRAM 出神入画,有意联系我
作者: wuleizy    时间: 2003-8-5 13:40
G17G21G80G49G40;
T#600;
M6  (CALL P9001);
N1G66P8200I100.J50.C15.Z-20.D20.R10.Q2.F200;
G67;
N2
M40 (CALL P9002)
M30;
  
O9001
G0G90G#4014X0Y0;
G43H#4111Z100.
M99;
  
O8200
I FOR POCKET LENGTH
J FOR POCKET WIDTH
Z FOR POCKET DEPTH
Q FOR DEPHT OF CUTTER
E FOR POCKET ANGLE  
.......
IF [#4*#5*#26*#9....] EQ 0 GOTO 3000
IF #4012EQ66 GOTO 60
  
N3000 #3000=140 DATA ERROR
  
M99
   
作者: abkk    时间: 2003-8-5 13:59
差不多全是E文,终于高手出现,kkqqjj还不快放下你的MCAM,POWERMILL进MACRO世界.
作者: fzci    时间: 2003-8-5 16:47
abkk wrote:
来个实用的吧!  
  自动机械值写入控制器G54坐标(X,Y).  
  用于MELDAS dos下的控制器.  
  %  
  L54(G10G54XY  )  
  #5221=#5021  
  #5222=#5022  
  M2   
  %

  
这个我不懂哟,没玩过MELDAS的系统,有没什么对FANUC实用的呀,忘ABKK老兄指教啦!
作者: fzci    时间: 2003-8-5 17:07
wuleizy wrote:
G17G21G80G49G40;  
  T#600;  
  M6  (CALL P9001);  
  N1G66P8200I100.J50.C15.Z-20.D20.R10.Q2.F200;  
  G67;  
  N2  
  M40 (CALL P9002)  
  M30;  
  
  O9001  
  G0G90G#4014X0Y0;  
  G43H#4111Z100.  
  M99;  
  
  O8200  
  I FOR POCKET LENGTH  
  J FOR POCKET WIDTH  
  Z FOR POCKET DEPTH  
  Q FOR DEPHT OF CUTTER  
  E FOR POCKET ANGLE   
  .......  
  IF [#4*#5*#26*#9....] EQ 0 GOTO 3000  
  IF #4012EQ66 GOTO 60  
  
  N3000 #3000=140 DATA ERROR  
  
  M99  
      

  
靠,这个偶也看不懂哟!wuleizy 你这个是四轴的吗:G66?M40?C?
看来真的要撞进MACRO世界好好学习啦!
作者: kkqqjj    时间: 2003-8-6 05:11
abkk wrote:
来个实用的吧!  
  自动机械值写入控制器G54坐标(X,Y).  
  用于MELDAS dos下的控制器.  
  %  
  L54(G10G54XY  )  
  #5221=#5021  
  #5222=#5022  
  M2   
  %

  
#5021和#5022 分别是任意时刻XY坐标的数值,是个实时的值。
不知道三另M65中也是这个变量吗?
其中可以加数值计算和暂停来实现对规则零件的快速找正
如:通过圆上四点找圆心(圆周上的点到圆心的距离是相等的),
然后通过直边上两点来定直线边,从而确定一个工件的具体位置。
  
wuleizy wrote:
G17G21G80G49G40; XY平面,取消各类补偿取消固定循环
  T#600;          #600参数决定刀号
  M6  (CALL P9001); 呼叫P9001副程序
  N1G66P8200I100.J50.C15.Z-20.D20.R10.Q2.F200; G66是什么意思?
  G67; G67是什么意思?
  N2  
  M40 (CALL P9002)  
  M30;  
   
  O9001  
  G0G90G#4014X0Y0; 参数#4014确定坐标系的号数
  G43H#4111Z100.    参数#4111确定刀具正向补正的数值
  M99;  
   
  O8200  
  I FOR POCKET LENGTH  
  J FOR POCKET WIDTH  
  Z FOR POCKET DEPTH  
  Q FOR DEPHT OF CUTTER  
  E FOR POCKET ANGLE   
  .......                    省略了很多程序?
  IF [#4*#5*#26*#9....] EQ 0 GOTO 3000  
  IF #4012EQ66 GOTO 60  
   
  N3000 #3000=140 DATA ERROR  
   
  M99  
      
  
#600
#4014
#4111
#3000
#4*#5*#26*#9
这几个变量请预先说明,说明变量是编程的好传统。
此程序适用于链式刀库的加工中心
作者: adar    时间: 2003-8-6 09:17
wuleizy wrote:
上面所写的MACRO 只是简单,如加上一些system variable就会使PROGRAM 出神入画,有意联系我

macro 程式,好處是可以縮短程式增加机床的功能,並在加工中將各軸座標、     Tcode、Mcode、Scode 、G code ..連線輸出到PC 做各種資料運算等,不過並不會出神入化,一般較多使用在規則狀的的循環切削,如真圓銑削、矩形槽,螺旋銑削、自動校刀,工件座標自動輸入等。寫了快10年的macro最後還是需要學CAM因3D曲面用macro是寫不來的,奉勸各位還是把cam學好吧!  
我來注解你貼的程式
由糸統變數判斷此程式是給fanuc 18系列用
G17G21G80G49G40;  
T#600; (變數600的值=T code)
M6 (CALL P9001);
(用M6來呼叫9001程式,先決條件是參數6071要設6)
N1G66P8200I100.J50.C15.Z-20.D20.R10.Q2.F200;  
(以 macro 形態呼叫8200副程式並用引數將 I值、J值、C值、Z值…..等代到8200的副程式)
  
G67;(取消G66狀
N2  
M40 (CALL P9002)  
(以M40呼叫9002程式,先決條件是參數6072要設40)
M30;  
  
O9001  
G0G90G#4014X0Y0;(如現是G54則#4014等於54,所以等於現在是G54又再下一次G54的指令沒意義,此行只要G0G90X0Y0即可)  
G43H#4111Z100.( #4111是H code的值也就是刀長補正位置)
M99;  
  
O8200  
(N1G66P8200I100.J50.C15.Z-20. - D20.R10.Q2.F200)
I FOR POCKET LENGTH (I值等於切槽的長100.)
J FOR POCKET WIDTH  (J值等於切槽的寬50.   )
Z FOR POCKET DEPTH (Z值等於切槽的深  -20.)
Q FOR DEPHT OF CUTTER (Q值等於刀具的深度  2.)
E FOR POCKET ANGLE (值等於切槽的角度)
.......  
IF [#4*#5*#26*#9....] EQ 0 GOTO 3000 (假如 I J Z F的值相乘等於0時跳到N3000 也就I J Z F有任何的值等於0時跳到N3000)
IF #4012EQ66 GOTO 60 (判斷是G65、G66、G67狀態如果是G66的狀態跳到N60)
  
N3000 #3000=140 DATA ERROR (執行此行是會出現3140ALARM DATA ERROR)
  
M99  
    
作者: kkqqjj    时间: 2003-8-6 14:55
我在CAD/CAM与制造业信息化杂志上看到一个宏程序
是工件座標自動輸入的宏程序。
工件是一个扇形
大概的意思是先找圆上的几个点,输入然后进行数学处理求出圆的中心。
再根据直线边两点求出侧面的直线坐标,从而确定工件位置。
  
我看了半天不知道他是根据什么算法来计算的。

下面是程序
  
FANUC SERIES-0MJ MCV1700立式加工中心上试验通过
  
%
:0002(CIRCLE)(R)
N20 #1=#5021
       #2=#5022
       M02
N25 #3=#5021
        #4=#5022
N30#5=#5021
      #6=#5022
#11 =[#1*#1-#5*#5+#2*#2-#6*#6] /2
#10=[#1*#1-#3*#3+#2*#2-#4*#4] /2
#12=#1-#3
#13=#1-#5
#14=#2-#4  
#15=#2-#6
#17 =[#11*#12-#13*#10]/[#13*#14-#15*#12]  
#17 =-#17  
#18 =[#10-#17*#14]/#12
#2501 =#18(G54-X)
#2601 =#17(G54-Y)
#18 =#18 -#1
#17 =#17 -#2
  
N35 略 此处是求直线边的程序
  
%
N20-N25用手摇轮找到第一点后启动该程序#2#3放XY值
N25-N30找到第二点后#4#5放XY值
N30-N35同样放第三点的数值。然后进行一系列数学运算
,将结果传送到#2510、#2610存储器中既G54XY,并算
出该圆弧半径值,结果存在#500寄存器里。
我看了半天不知道他是根据什么算法来计算的。

作者: kkqqjj    时间: 2003-8-7 06:50
adar wrote:
   
  macro 程式,好處是可以縮短程式增加机床的功能,並在加工中將各軸座標、     Tcode、Mcode、Scode 、G code ..連線輸出到PC 做各種資料運算等,不過並不會出神入化,一般較多使用在規則狀的的循環切削,如真圓銑削、矩形槽,螺旋銑削、自動校刀,工件座標自動輸入等。寫了快10年的macro最後還是需要學CAM因3D曲面用macro是寫不來的,奉勸各位還是把cam學好吧!   
        

能不能把常用的macro程式贴出来,实用的。就象上述你说的几个功能
T、M、S、G等代码连线输出功能。
规则切削常用程序
自动校刀程序
特别是工件坐标自动输入程序。
如果敲入有麻烦可以扫描贴入。

作者: adar    时间: 2003-8-7 12:19
不是有個數學題目---不在同一直線的任意3點請求出此3點構成的園弧直徑及園心。另外為提高本公司的兢爭力只免費提供有購買我們公司出產的机床客戶,不過我可以附上一則簡單的工件中心座標程式供你參考(macro a的寫法)
:8000(CENTER AUTO SETING)  
(#500SET1=G54  #500SET2=G55)  
(3=G56  4=G57  5=G58  6=G59)  
G65H01P#1100Q1
G4X0.5  
G90
G65H01P#1100Q0
M00(MOVE EDGEFINDER AT X FIRST POINT THEN PRESS CYCLE START)  
G65H01P#100Q#5021
M00(MOVE EDGEFINDER AT X SECON POINT THEN PRESS CYCLE START)  
G65H01P#101Q#5021
G65H03P#102Q#101R#100
G65H05P#103Q#102R2
G65H02P#104Q#100R#103
G10L2P#500X#104
M00(MOVE EDGEFINDER AT Y FIRST POINT THEN PRESS CYCLE START)  
G65H01P#105Q#5022
M00(MOVE EDGEFINDER AT Y SECON POINT THEN PRESS CYCLE START)  
G65H01P#106Q#5022
G65H03P#107Q#106R#105
G65H05P#108Q#107R2
G65H02P#109Q#108R#105
G10L2P#500Y#109
M30
作者: fzci    时间: 2003-8-7 18:15
偶看了晕!
老贴又被偶顶出一个高手出现adar
多多赐教
作者: wuleizy    时间: 2003-8-9 17:20
G61
G04X.1
M3
IF[#11EQ#0]GOTO910
G65P9370S#19T#20U#21
IF[#500NE#105]GOTO920
IF[#8NE#0]GOTO110
#8=.02*#500
N110#14=#[#103+#11]
G0G90
IF[#1NE#0]GOTO310
G91G28Z0
#26=#5043
#28=#14-#526+#26
GOTO830
N310#26=#5043-#5023
#28=#14-#526+#26
IF[#1EQ1]GOTO840
IF[#1NE2]GOTO810
IF[#106EQ1]GOTO320
G53X#524
GOTO840
N320G53Y#525
GOTO840
N810IF[#18NE#0]GOTO820
#18=#28+#500*2
N820Z#18
N830G90G53X#524Y#525
N840Z[#28-#8]
G4X.5
G53X#524Y#525
G65P9367A4.B3.C[#28+#500/10]F40.
G0G91G28Z0
M5
M58
IF[#105EQ0]GOTO930
M99
N910#3000=108(NO Hh)
N920#3000=166(MODE CONFLICT)
N930#3000=188(TOOL WORN/BROKEN)
作者: kkqqjj    时间: 2003-8-10 08:36
拜托,请写一下使用方法。让我等新手更好理解。
作者: adar    时间: 2003-8-10 08:46
樓上wuleizy所貼只是程式的一部份,應該是刀長量測的macro程式聽你說可以出神入化那就考考老兄對系統變數的了解,我上面貼的程式裡面有一句是
G65H01P#1100Q1 (#1100=0)請問#1100是什麼意義?
作者: kkqqjj    时间: 2003-8-10 09:00
以前粗略学过计算机的编程语言。
G65H01P#1100Q1 (#1100=0)
  
我看到#1100  我又看到一个字母 P是不是代表子程序号码的?  
  
所以我认为,是个地址里面放着变量,代替程序号的。
  
#1100的初始值为0
  
Q1是什么意思?
  
还有#1100这个地址在系统内是不是有特殊定义?哪个系统的?
作者: kkqqjj    时间: 2003-8-10 09:02
lfc wrote:
我有一本FANUC公司编的常用宏程式,有铣圆,挖方槽,钻圆周孔等等,反正常用的都有。  
  附上一个挖槽宏程式,过两天再发一些。

  
请加个注解吧,我是新手。
作者: wuleizy    时间: 2003-8-11 07:56
hi.mr.adar:
  i'm sorry i don't know what meaning of the #1100,even the others e.g:
#1000-#1031 and #1100-#1131. so please tell me .you email to me, thus i can study from yours.  
  in fact ,i study the macro only for two years.just the program I have pasted form another place.
  and the program is used the process of  Mould manufacturing.
作者: adar    时间: 2003-8-12 08:54
#1000 to #1032 & #1100 t0 #1131都是和机床上的PLC(fanuc calls PMC)有關,如果PLC未將這些位址寫上那這些糸統變都無法使用,#1000--#1032是將PLC G130.0--G131.7的值讀出不可寫入,#1100--#1132是將變數值寫入PLC位址F162.0--F163.7 內。以我寫的程式配合我的PLC為例
  
G65H01P#1100Q1 (#1100=1)
把PLC內的F162.0設為1 TURE
G4X0.5  
G90  
G65H01P#1100Q0 (#1100=0)
把PLC內F162.0設為0 FALSE,意思就好像在按SWITCH一樣而我寫的PLC做處理後如果讀到M00就會將AUTO的模式轉到HANDLE的模式這樣使用者就不必用手將AUTO模式切換到HANDLE的模式。
M00(MOVE EDGEFINDER AT X FIRST POINT THEN PRESS CYCLE START)  
寫了一堆看了偶自己頭都暈了!
作者: wuleizy    时间: 2003-8-12 16:29
thank you very much.  
by the way, which indusry are you working? if possible, we can more  
communicate each other about the fanuc macro. and i will paste more  macro to you thus you can explain it for all members.
  
作者: adar    时间: 2003-8-13 08:19
wuleizy wrote:
thank you very much.   
  by the way, which indusry are you working? if possible, we can more   
  communicate each other about the fanuc macro. and i will paste more  macro to you thus you can explain it for all members.  
   

Hi Wuleizy
I am a CNC machine service & application engineer work for machine tools  manufacture since 1984,if you have any problem with program or control please don't  hesitate to contact with me.
作者: fzci    时间: 2003-8-13 20:28
adar wrote:
   
  Hi Wuleizy  
  I am a CNC machine service & application engineer work for machine tools  manufacture since 1984,if you have any problem with program or control please don't  hesitate to contact with me.
::K
don't  hesitate to contact with me是什么意思呀?
  
偶没什么文化,不太懂啦!
can you write chinese!
作者: farocean    时间: 2003-8-17 20:46
ant wrote:
两三年前,做手工编程(同时也操机,现在想起来真是机会难得)时,看书学会了宏程式,用他来做标准化的产品,对与一天做10种型号(一两件)真是爽极了,以前编10min的程式 不用1min就搞定,还万无一失,还大大缩短了加工时间,可是没一个人识货(也可能是我没耐心,或不会表现),就南下。现在,虽然不在手工编程,但也做些宏程式来弥补系统功能的不足之处,大大提高了效率,减少了人为错误.

  
哇!的确有内容
作者: sinderal    时间: 2003-8-18 01:00
fzci wrote:
::K  
  don't  hesitate to contact with me是什么意思呀?  
  
  偶没什么文化,不太懂啦!  
  can you write chinese!

  
別假了, 怎會看不懂...
作者: sinderal    时间: 2003-8-18 01:06
adar wrote:
不是有個數學題目---不在同一直線的任意3點請求出此3點構成的園弧直徑及園心。另外為提高本公司的兢爭力只免費提供有購買我們公司出產的机床客戶,不過我可以附上一則簡單的工件中心座標程式供你參考(macro a的寫法)  

  
Adar...不必客氣...就說出貴公司的名稱.. 不然一些網友怎知道就近找你啊.. 對論壇裡的網友幫助不少...相信 ID, 褲鬆 與其他網友 ㄝ不反對 你偶爾幫貴公司打打廣告...
作者: kkqqjj    时间: 2003-8-18 18:15
sinderal wrote:
   
  
  adar wrote:  
不是有個數學題目---不在同一直線的任意3點請求出此3點構成的園弧直徑及園心。另外為提高本公司的兢爭力只免費提供有購買我們公司出產的机床客戶,不過我可以附上一則簡單的工件中心座標程式供你參考(macro a的寫法)  
  

  
sinderal ...不必客氣...就說出數學題目---不在同一直線的任意3點請求出此3點構成的園弧直徑及園心的具体算法.. 不然一些網友怎知道具体怎么做啊..  對論壇裡的網友幫助不少...相信 ID, 褲鬆 與其他網友 ㄝ不反對 给你加分
作者: fzci    时间: 2003-8-19 12:19
sinderal wrote:
   
   
  別假了, 怎會看不懂

  
don't hesitate to contact with me是什么意思偶真的看不懂呀?
请赐教^^^^^^^^
别拿个拍吓偶^^^^^^^^偶怕怕  
   
作者: kkqqjj    时间: 2003-9-2 10:42
adar wrote:
   
  macro 程式,好處是可以縮短程式增加机床的功能,並在加工中將各軸座標、     Tcode、Mcode、Scode 、G code ..連線輸出到PC 做各種資料運算等,不過並不會出神入化,一般較多使用在規則狀的的循環切削,如真圓銑削、矩形槽,螺旋銑削、自動校刀,工件座標自動輸入等。寫了快10年的macro最後還是需要學CAM因3D曲面用macro是寫不來的,奉勸各位還是把cam學好吧!   
  我來注解你貼的程式  
  由糸統變數判斷此程式是給fanuc 18系列用  
  G17G21G80G49G40;   
  T#600; (變數600的值=T code)  
  M6 (CALL P9001);  
  (用M6來呼叫9001程式,先決條件是參數6071要設6)  
  N1G66P8200I100.J50.C15.Z-20.D20.R10.Q2.F200;   
  (以 macro 形態呼叫8200副程式並用引數將 I值、J值、C值、Z值…..等代到8200的副程式)  
  
  G67;(取消G66狀  
  N2   
  M40 (CALL P9002)   
  (以M40呼叫9002程式,先決條件是參數6072要設40)  
  M30;   
  
  O9001   
  G0G90G#4014X0Y0;(如現是G54則#4014等於54,所以等於現在是G54又再下一次G54的指令沒意義,此行只要G0G90X0Y0即可)   
  G43H#4111Z100.( #4111是H code的值也就是刀長補正位置)  
  M99;   
  
  O8200   
  (N1G66P8200I100.J50.C15.Z-20. - D20.R10.Q2.F200)  
  I FOR POCKET LENGTH (I值等於切槽的長100.)  
  J FOR POCKET WIDTH  (J值等於切槽的寬50.   )  
  Z FOR POCKET DEPTH (Z值等於切槽的深  -20.)  
  Q FOR DEPHT OF CUTTER (Q值等於刀具的深度  2.)  
  E FOR POCKET ANGLE (值等於切槽的角度)  
  .......   
  IF [#4*#5*#26*#9....] EQ 0 GOTO 3000 (假如 I J Z F的值相乘等於0時跳到N3000 也就I J Z F有任何的值等於0時跳到N3000)  
  IF #4012EQ66 GOTO 60 (判斷是G65、G66、G67狀態如果是G66的狀態跳到N60)  
  
  N3000 #3000=140 DATA ERROR (執行此行是會出現3140ALARM DATA ERROR)  
  
  M99   
      

  
这个宏程式是加工什么用的?
作者: kkqqjj    时间: 2003-9-7 06:29
adar wrote:
樓上wuleizy所貼只是程式的一部份,應該是刀長量測的macro程式聽你說可以出神入化那就考考老兄對系統變數的了解,我上面貼的程式裡面有一句是  
  G65H01P#1100Q1 (#1100=0)請問#1100是什麼意義?

  
  G65H01P#1100Q1 (#1100=0)請問 H01 是什麼意義?
作者: kkqqjj    时间: 2003-9-7 22:04
kkqqjj wrote:
   
  
  G65H01P#1100Q1 (#1100=0)請問 H01 是什麼意義?  

  
G65H01P#1100Q1 (#1100=0)請問 H01 是什麼意義?
作者: adar    时间: 2003-9-9 09:07
kkqqjj wrote:
   
  
  G65H01P#1100Q0 (#1100=0)請問 H01 是什麼意義?

FANUC macro A的寫法是=(等於)的代碼
作者: kkqqjj    时间: 2003-9-9 17:07
adar wrote:
   
  FANUC macro A的寫法是=(等於)的代碼

  
多谢,最近下栽了MACRO 的英文资料
搞清楚MACRO 写法包括A和B
作者: wuleizy    时间: 2003-10-7 11:12
Mr. adar:
  long time no see, how are you? and if you have free time , please email to me , because i don't know your email address and there are some problem i want to ask you.
  thank you in advance!
  my email: lei.wu@stpsz.com
作者: fzci    时间: 2003-10-7 22:58
wuleizy wrote:
Mr. adar:  
    long time no see, how are you? and if you have free time , please email to me , because i don't know your email address and there are some problem i want to ask you.  
  thank you in advance!  
  my email: lei.wu@stpsz.com

  
Mr. adar偶也 miss you!
作者: adar    时间: 2003-10-8 11:57
fzci wrote:
   
  
  Mr. adar偶也 miss you!

Hi, guy
I miss you-all, this is my e-mail address “burgundy36@hotmail.com” if any thing I can help you please send me a mail
作者: fzci    时间: 2003-10-8 23:09
adar wrote:
   
  Hi, guy  
  I miss you-all, this is my e-mail address “burgundy36@hotmail.com” if any thing I can help you please send me a mail  

你那个是不是也可以MSN呀,我用MSN加了你哟!有空聊聊!我上班时都在线的!
顺便再请问一下,ABKK用的那个在MELDAS里可以自动写入坐标的宏程式为什么在偶的M64上就用不起来呀?他在其它的M635还有什么别的型号的都可以,为什么我的就不可以呢?还有个什么报警!每次用手抄抄的很烦呀,看了一遍又一遍,就怕出错!
这个:
MELDAS自动读取机器值写入G54
L54(G10G54XY )  
#5221=#5021  
#5222=#5022  
M2
作者: adar    时间: 2003-10-9 08:30
三菱和fanuc 的系統變數幾乎一樣可以用下列方法把目前机械座標值寫入G54
1,G10L2P1X#5021Y#5022Z#5023
2,#2501=#5021
   #2502=#5022
   #2503=#5023
作者: fzci    时间: 2003-10-9 15:32
谢ADAR啦,又学到一招,偶再请教:
G10L2P1X#5021Y#5022Z#5023  
这个怎么没把Z值写入呀?只写入了X和Y!
  
L54(G10G54XY )  
#5221=#5021  
#5222=#5022  
M2  
还有这ABKK告诉偶的这个现在也可以用啦!不知道啥搞好的,以前好象不可以用的呀!
  
#2501=#5021  
   #2502=#5022  
   #2503=#5023  
这个执行后,机床出现报警:p241 no vari number
什么意思呀?
再请ADAR能解释一下上面这些语句的含义好不好?
作者: adar    时间: 2003-10-9 23:37
fzci wrote:
谢ADAR啦,又学到一招,偶再请教:  
  G10L2P1X#5021Y#5022Z#5023   
  这个怎么没把Z值写入呀?只写入了X和Y!  
  
  L54(G10G54XY )   
  #5221=#5021   
  #5222=#5022   
  M2   
  还有这ABKK告诉偶的这个现在也可以用啦!不知道啥搞好的,以前好象不可以用的呀!  
  
  #2501=#5021   
     #2502=#5022   
     #2503=#5023   
  这个执行后,机床出现报警:p241 no vari number  
  什么意思呀?  
  再请ADAR能解释一下上面这些语句的含义好不好?

X和Y能寫入的話Z應該也可以。
    #2501=#5021   
    #2502=#5022   
    #2503=#5023 是FANUC用,
三菱用下列指令
#5221=#5021            
#5222=#5022
#5223=#5023
作者: fzci    时间: 2003-10-10 09:42
Z轴也可以写入啦!
再请教一下,那G55 G56 G57 G58 G59......对应的变数是多少呀?
还有那个补正号也可不可以这样输入呀?
像把Z轴的现在位置写入到01号补正?怎么搞呀?
作者: adar    时间: 2003-10-11 08:32
fzci wrote:
Z轴也可以写入啦!  
  再请教一下,那G55 G56 G57 G58 G59......对应的变数是多少呀?
  G90 G10 L2 P2 (P2=G55,P3=G56,P4=G57....)
       X axis    Y axis   Z axis
G55 #5241  #5242  #5244
G56 #5261  #5262  #5263
G57 #5281  #5282  #5283
G58 #5301  #5502  #5303
G59 #5321  #5322  #5323

  还有那个补正号也可不可以这样输入呀?  
  像把Z轴的现在位置写入到01号补正?怎么搞呀?

G90 G10 L10 P1R#5023
作者: fzci    时间: 2003-10-14 22:10
[quote]adar wrote:
  谢谢adar全部搞定啦!
  
偶再问用MACOR能不能做一条分中用的程式:
  
就像SIEMENS 840D分中那样,用寻边器抓X轴的第一点然后按POINT1,X第二点再P2.Y第一点P3,Y第二点按P4,再计算就自动写入坐标了!
  
娄四这样的做法,可以用写一条MACRO,再加上机床上的一些控制钮如SING BLOCK等的东东来完成吗?
作者: adar    时间: 2003-10-15 07:18
  你講的程式我之前就有貼出來不過是MACRO A的寫法,用法先將#500設1(如果要輸入到G55則設2此數值關机再開仍存在)
  叫出應程式後
1,按CYCLE START這時CNC會自動將AUTO模式轉為HANDLE模式(机床要用我編寫的PLC才有此功能,所以你的机床須人  
  工操作切到手輪模式l)
2,用手輪將尋邊器移到x軸第一點上後按cycle start  
3, 移到X軸第二點按cycle start 此時x軸的中心位置已輸入到G54或G55…G59
4,移Y軸到Y軸的第一點按cycle start
5移Y軸到Y軸的第二點按cycle start此時Y軸的中心位置已輸入到G54或G55…G59
因你的机床不是使用我的PLC所以AUTO模式和HANDLE模式不會自動切換須人工切換,另外在按cycle start時請確認是在auto模式還有請自己在程式前加M03 S…的指令如M00時主軸無法轉動請將M00改為M01並啟動OPTION STOP的功能。
  
_%  
:8000(CENTER AUTO INPUT)  
G90(PUSH CYCLE START)
#1100=1
G4P50
G9  
#1100=0
M0  
(MOVE EDGEFINDER TO X FIRST POINT)
(THEN PUSH CYCLE START)
#100=#5021  
M0  
(MOVE EDGEFINDER TO X AXIS SECOND POINT)  
(THEN PUSH CYCLE START)
#101=#5021  
#102=#101-#100  
#103=#102/2
#104=#100+#103  
G10L2P#500X#104
M00
(MOVE EDGEFINDER TO Y AXIS FIRST POINT)
(THEN PUSH CYCLE START)
#105=#5022  
M00
(MOVE EDGEFINDER TO Y AXIS SECOND POINT)  
(THEN PUSH CYCLE START)
#106=#5022  
#107=#106-#105  
#108=#107/2
#109=#108+#105  
G10L2P#500Y#109
M30
%_
作者: fzci    时间: 2003-10-18 14:22
%   
  :8000(CENTER AUTO INPUT)  这个程式头用O和用:有什么不同呀?
  #1100=1  
  G4P50  
  G9   
  #1100=0  
上面这几句啥意思呀?G4不是暂停么?  
   
  %_ [/quote]
  
偶这样做的,可是为啥不对呀?
%   
  O0100
#500=1
  G90
M3S550
M01   
找到X POINT 1,再手动切换到手轮状态找下一点
  #100=#5021   
  M01   
找到X POINT 2再手动切换到手轮状态找下一点
  #101=#5021   
  #102=#101-#100   
  #103=#102/2  
  #104=#100+#103   
  G10L2P#500X#104  
  M01  
找到Y POINT 1再手动切换到手轮状态找下一点
  #105=#5022   
  M01
  #106=#5022   
  #107=#106-#105   
  #108=#107/2  
  #109=#108+#105   
  G10L2P#500Y#109  
  M30
作者: adar    时间: 2003-10-19 05:41
%   
  :8000(CENTER AUTO INPUT)  这个程式头用O和用:有什么不同呀? (都一樣視你的控制器格式而定)
    #1100=1   
  G4P50   
  G9   
  #1100=0   
  上面这几句啥意思呀?G4不是暂停么?   (上面的程式就像是在按一個開關,按下時總要停止一下這樣PLC才可以抓到訊號,在我的PLC裡讀到這個訊號時,再讀到M01就會將AUTO模式轉會手輪模式)
   
  %_  
  
  偶这样做的,可是为啥不对呀? (那一種控制器?)
  %   
  O0100  
  #500=1  
  G90  
  M3S550  
  M01   
  找到X POINT 1,(要切回自動模式按CYCLE START)再手动切换到手轮状态找下一点  
  #100=#5021   
  M01   
  找到X POINT 2(要切回自動模式按CYCLE START)再手动切换到手轮状态找下一点  
  #101=#5021   
  #102=#101-#100   
  #103=#102/2   
  #104=#100+#103   
  G10L2P#500X#104   
  M01   
  找到Y POINT 1(要切回自動模式按CYCLE START)再手动切换到手轮状态找下一点  
    #105=#5022   
  M01  
  找到Y POINT 2(要切回自動模式按CYCLE START)
  #106=#5022   
  #107=#106-#105   
  #108=#107/2   
  #109=#108+#105   
  G10L2P#500Y#109   
  M30  
作者: fzci    时间: 2003-10-20 09:47
控制系统是MELDAS 64,机器铭牌:台湾荣佳V-32(EPPSI GROUP)
偶是按你上面的做法呀!应该不会错呀!可能是偶操作有问题!偶再去试试




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3