加工中心宏程序代码一览表,宏程序代码一览表

运势阁 阅读:7 2023-04-23 11:21:02 评论:0

谈到程序代码,大家应该都不陌生,有朋友问宏程序代码一览表ABC#1#2,另外,还有朋友想问数控编程宏程序代码,这到底怎么回事呢?其实法拉科加工中心对刀呢,下面是小编为大家整理的宏程序代码一览表,希望对你有所帮助!

宏程序代码一览表

宏变量其实也就是相当于一个代码,就如你所说#500怎么用,当X=#500时,#500=1000的话,X也就等于1000。

一 变量

普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100

G01 X#1 F300

说明:

变量的表示

计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。

例如:#1

表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

例如:#[#1+#2-12]

变量的类型

变量根据变量号可以分成四种类型

变量号 变量类型 功能

#0 空变量 该变量总是空,没有值能赋给该变量.

#1-#33 局部变量局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,

#100-#199

#500-#999

公共变量公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.

#1000 系统变量 系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.

变量值的范围

局部变量和公共变量可以有0值或下面范围中的值:

-1047到-10-29或-10-2到-1047

如果计算结果超出有效范围,则发出P/S报警NO.111.

小数点的省略

当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。

变量的引用

为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3;

被引用变量的值根据地址的最小设定单位自动地舍入。

例如:

当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量

其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削, 实际上宏在程序中主要起到的是运算作用。.宏一般分为A类宏和B类宏。A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广。

宏程序的所有代码即其含义!

有,在FANUC系统中 G65 G66 G67就是关于宏程序 的G代码 功能类似于M98的加强版

使用方法 G65 A___ B___ F___ P_____等等等等,具体字母代表的变量号码可以自己去看发那科说明书或者去机床试验一下, P是呼叫的副程序号码,A B....等等都是给副程序当中的变量赋值F1.0就表示#9=1.0 并不是进给.当然副程序当中如果有G1 X____F#9的话,G65后面的F也可以当成进给

法兰克数控系统车宏程序有那些英文代码?例如:GT,EN,IF等,分别是什么意思?

在法兰克数控系统宏程序中涉及英文代码的有运算指令、控制指令等。

表示运算指令的有:GT表示大于,GE表示小于或等于,EQ表示等于,NE表示不等于,......;

表示控制指令的有:IF表示的是条件转移语句1, GOTO表示的是无条件转移语句,WHILE表示的是循环语句 ,IF.....THEN表示的是条件转移语句2.....。

数控宏程序编程,是用变量的方式进行数控编程的方法。

数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。不论是A类还B类宏程序,它们运行的效果都是一样的。

跪求:数控编程的宏程序指令代码,及其含义

宏程序的指令代码?不知道你想要什么

IF[*****]GOTO*:如果*****转到第*程序段,就是说如果满足括号里面的条件就转到第几条程序

相同的还有WHILE[******]DO* END*是指满足括号里的条件就执行DO到END间的程序段

GT :大于

LT :小于

NE :不等于

ET :等于

GE :大于等于

LE :小于等于

比如;IF [#500 GT #501] GOTO1

宏程序中EQ是什么意思?

  宏程序中EQ是运算符号的一种;

  EQ:等于

  NE:不等于

  GT:大于

  GE:大于或等于

  LT:小于

  LE:小于或等于

  运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。

宏程序代码

#5063是机床第三轴跳跃信号位置,一般就是Z轴了,自动寻边器才会用到的变量,看来你的机床很先进的。

法拉科加工中心宏程序代码大全

比较重要的

#5041-#5043 x-z轴当前位置

#5081-#5083 x-z轴刀具长度补偿

刀具长度补偿 半径

补偿号 长度 磨损 几何 磨损

1 #11001(#2201) #10001(#2001) #13001 #12001

2 #11002(#2202) #10002(#2002) #13002 #12002

..................

400 #11400 #10400 #13400 #12400

注:当刀具补偿号小于等于200时刀具长度补偿也可以使用#2001-#2400

太多了 不想写了 楼主要多给些分

数控宏程序怎么编

找本书看看,另外你要懂得曲线方程,等一些数学问题。 给你举个例子看看先。 宏程序编程

一 变量

普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。

#1=#2+100 G01 X#1 F300 说明: 变量的表示

计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。

例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。

例如:#[#1+#2-12] 变量的类型 变量根据变量号可以分成四种类型

变量号 变量类型 功能 #0 空变量 该变量总是空,没有值能赋给该变量. #1-#33 局部变量 局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值, #100-#199 #500-#999

公共变量 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失. #1000 系统变量 系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值. 变量值的范围 局部变量和公共变量可以有0值或下面范围中的值: -1047到-10-29或-10-2到-1047 如果计算结果超出有效范围,则发出P/S报警NO.111. 小数点的省略 当在程序中定义变量值时,小数点可以省略。

例:当定义#1=123;变量#1的实际值是123.000。 变量的引用 为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。

例如:G01X[#1+#2]F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。

例如:

当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346. 改变引用变量的值的符号,要把负号(-)放在#的前面。

例如:G00X-#1 当引用未定义的变量时,变量及地址都被忽略。

例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。

双轨迹(双轨迹控制)的公共变量 对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。

未定义的变量 当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。

引用 当引用一个未定义的变量时,地址本身也被忽略。

当#1=

当#1=0 G90 X100 Y#1 G90 X100 G90 X100 Y#1 G90 X100 Y0 (b) 运算

除了用赋值以外,其余情况下与0相同。

当#1=时

当#1=0时

#2=#1 #2= #2=#1 #2=0 #2=#*5 #2=0 #2=#*5 #2=0 #2=#1+#1 #2=0 #2=#1+#1 #2=0 (c)条件表达式

EQ和NE中的不同于0。

当#1=时

当#1=0时

#1EQ#0 成立

#1EQ#0 不成立

#1 NE #0 成立

#1 NE #0 不成立

#1 GE #0 成立

#1 GE #0 不成立

#1 GT #0 不成立

#1 GT #0 不成立

限制 程序号,顺序号和任选程序段跳转号不能使用变量。

例:下面情况不能使用变量:

0#1;

/#2G00X100.0; N#3Y200.0; 二 算术和逻辑运算

下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。

说明:

角度单位 函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30'表示为90.5度。 ARCSIN # i= ASIN[#j]

(1)取值范围如下:

当参数(NO.6004#0)NAT位设为0时,270°~90°

当参数(NO.6004#0)NAT位设为1时,-90°~90°

(2)当#j超出-1到1的范围时,发出P/S报警NO.111. (3)常数可替代变量#j ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111. 常数可替代变量#j 三 程序举例 铣椭圆:

轨迹:

椭圆程序代码如下: N10 G54 G90 G0 S1500 M03 N12 X0 Y0 Z20. N14 G0 Z1 N16 G1 Z-5. F150. N18 G41 D1 N20 #1=0 N22 #2=34 N24 #3=24 N26 #4=#2*COS[#1] N28 #5=#3*SIN[#1] N30 #10=#4*COS[45]-#5*SIN[45] N32 #11=#4*SIN[45]+#5*COS[45] N34 G1 X#10 Y#11

N36 #1=#1+1 N38 IF [#1 LT 370] GOTO26 N40 G40 G1 X0 Y0

N42 G0 Z100 N44 M30

铣矩形槽:

铣矩形槽代码如下: #102=0. N3#100=0. #101=0. #103=200. #104=400. G91G28Z0. G0G90G54X0.Y0. G43H1Z20. M3S2000. N4G0X#100Y#101 G01Z#102F200. #102=#102-2. IF[#102EQ-50.]GOTO1 GOTO2 N2 N4X#104F500. Y#103 X#100 Y#101 #100=#100+10. #101=#101+10. #103=#103-10. #104=#104-10. IF[#100EQ100.]GOTO3 GOTO4 N3 N1 M5 M9 G91G28Z0. G28Y0. M30 铣倾斜3度的面:

轨迹:

铣倾斜3度的面的代码如下: O0001 #[#1+1*2]=1 G65P9012L1A0B0.1C4I100J3K0 M30 宏程序O9012代码如下: G54 G90 G00 X[#3] Y0 Z100 S500 M3 G01 Z0 F300 WHILE[#1LE10]DO1 #7= #1/TAN[#5]+#3 G1Z-#1 X#7 #8=#6/2-ROUND[#6/2] IF[#8EQ0]GOTO10 G1Y0

GOTO20 N10 Y#4 N20#1=#1+#2 #6=#6+1 END1 G0

Z100 铣半球:

轨迹:

铣半球代码如下: G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30 铣喇叭:

铣喇叭代码如下: M03 S500 M06 T01 #1=0 #2=0 G0 Z15 X150 Y0 N11 #2=30*SIN[#1] #3=30+30*[1-COS[#1]] G01 Z-#2 F40 G41 X#3 D01 G03 I-#3 G40 G01 X150 Y0 #1=#1+1 IF [#1 LE 90] GOTO 11 G0 Z30 M30

数控车床宏程序怎么编啊?

宏程序  序

  大家都在问宏程序~其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用..宏一般分为A类宏和B类宏.A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是

  以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使

  用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;

  A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义:

  以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行,

  基本指令:

  H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中

  G65H01P#101Q#10:把10赋予到#101中

  H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101

  G65 H02 P#101 Q#102 R10

  G65 H02 P#101 Q10 R#103

  G65 H02 P#101 Q10 R20

  上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数

  值或变量号内的数值然后等于到P后面的变量号中.

  H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101

  G65 H03 P#101 Q#102 R10

  G65 H03 P#101 Q10 R#103

  G65 H03 P#101 Q20 R10

  上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数

  值或变量号内的数值然后等于到P后面的变量号中.

  H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101

  G65 H04 P#101 Q#102 R10

  G65 H04 P#101 Q10 R#103

  G65 H04 P#101 Q20 R10

  上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数

  值或变量号内的数值然后等于到P后面的变量号中.

  H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101

  G65 H05 P#101 Q#102 R10

  G65 H05 P#101 Q10 R#103

  G65 H05 P#101 Q20 R10

  上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数

  值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警)

  三角函数指令:

  H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另

  一条边长.和以前的指令一样Q和R后面也可以直接写数值.

  H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义Q后面的#102是三角形的斜边

  R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的

  另一条边长.和以前的指令一样Q和R后面也可以直接写数值.

  H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?

  开平方根指令:

  H21;格式G65 H21 P#101 Q#102 意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的.

  无条件转移指令:

  H80;格式:G65 H80 P10 直接跳到第10程序段

  有条件转移指令:

  H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86;

  格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段.

  用 户 宏 程 序

  能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。

  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; 这是简单的抛物线程序! G99

S800M3

T0101

G0 X30. .Z10.

#1=0

N10 #2=SQRT[2*#1]

G1X[2*#2]Z-#1F0.05

#1=#1+0.1

IF [#1 LE 50] GOTO 10

G0X30

Z100

M5

M30

声明

本文来自网络或者会员投稿,只为了传播更多内容,不对真实性承担任何责任,如内容有侵权,请联系本站,请来信告知,我们第一时间删除!

发表评论
搜索
排行榜