谁能告诉我在宏程序if语句中总有一句类似于#3=#3-0.5的语句是什么意思

谁能告诉我在宏程序if语句中总有一句类似于#3=#3-0.5的语句是什么意思,第1张

程序段为宏程序语句

• 包含算术或逻辑运算(=)的程序段。

• 包含控制语句(例如,GOTO,DO,END)的程序段。

• 包含宏程序调用指令(例如,用G65,G66,G67 或其它G 代码,M 代码

调用宏程序)的程序段。

除了宏程序语句以外的任何程序段都为NC 语句。

说明

• 即使置于单程序段运行方式, 机床也不停止。但是, 当参数

N06000#5SBM 设定为1 时,在单程序段方式中,机床停止。

• 与NC 语句的不同

• 在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理(见Ⅱ-

157 节)。

如果NPS(参数N03450#4)为1,满足以下条件时程序段中的NC 语句

可认为与宏程序语句性质相同。

• 与宏程序语句有相

同性质的NC 语句

• 含有子程序调用指令(例如,用M98 或其它M 代码或用T 代码调用子

程序)但没有除O,N 或L 地址之外的其它地址指令的NC 语句其性质

与宏程序相同。

• 不包含除O,N,P 或L 以外的指令地址的程序段其性质与宏程序语句

相同。

1552 IF 之后指定条件表达式。

条件转移

(IF 语句)

IF[<条件表达式>] GOTO n

如果指定的条件表达式满足时,转移到标有顺序号n 的程序段。如果指定

的条件表达式不满足,执行下个程序段。

如果变量#1 的值大于10,转移到顺序号N2 的程序段。

IF[#1GT10]GOTO2;

如果条件满足

程序

如果条件不满足

N2 G00 G91 X100;

IF[<条件表达式

>]THEN

如果条件表达式满足,执行预先决定的宏程序语句。只执行一个宏程序语

句。

如果#1 和#2 的值相同,0 赋给#3。

IF〔#1 EQ #2〕THEN #3=0;

说明

·条件表达式 条件表达式必须包括算符。算符插在两个变量中间或变量和常数中间,并

且用括号 (〔,〕)封闭。表达式可以替代变量。

运算符由2 个字母组成,用于两个值的比较,以决定它们是相等还是一个

值小于或大于另一个值。注意,不能使用不等符号。

·运算符

表1552 运算符

运算符 含义

EQ 等于(=)

NE 不等于(≠)

GT 大于(>)

GE 大于或等于(≥)

LT 小于(<)

LE 小于等于(≤)

·示例程序 下面的程序计算数值1~10 的总和

〇9500

#1=0;⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯存储和数变量的初值

#2=1;⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯被加数变量的初值

N1 IF〔#2 GT 10〕GOTO2;⋯⋯当被加数大于10 时转移到N2

#1=#1+#2;⋯⋯⋯⋯⋯⋯⋯⋯⋯计算和数

#2=#2+#1;⋯⋯⋯⋯⋯⋯⋯⋯⋯下一个被加数

GOTO1;⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯转到N1

N2 M30;⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯程序结束

功能 格式 备注

定义 #i=#j

加法 #i=#j+#k;

减法 #i=#j-#k;

乘法 #i=#j#k;

除法 #i=#j/#k;

正弦 #i=SIN[#j];

反正弦 #i=ASIN[#j];

余弦 #i=COS[#j];

反余弦 #i=ACOS[#j];

正切 #i=TAN[#j];

反正切 #i=ATAN[#j]/[#k];

角度以度指定。90°30′

表示为905 度。

平方根 #i=SQRT[#j];

绝对值 #i=ABS[#j];

舍入 #i=ROUND[#j];

上取整 #i=FIX[#j];

下取整 #i=FUP[#j];

自然对数 #i=LN[#j];

指数函数 #i=EXP[#j];

或 #i=#j OR #k;

异或 #i=#j XOR #k;

与 #i=#j AND #k;

逻辑运算一位一位地按

二进制数执行。

从BCD 转为BIN #i=BIN[#j];

从BIN 转为BCD #i=BCD[#j]; 用于与PMC 的信号交换

转移和循环

在程序中,使用GOTO 语句和IF 语句可以改变控制的流向。有三种转移

和循环 *** 作可供使用:

转移和循环 GOTO 语句(无条件转移)

IF 语句(条件转移:IF⋯THEN⋯)

WHILE 语句(当⋯时循环)

转移到标有顺序号n 的程序段。当指定1 到99999 以外的顺序号时,出现

P/S 报警No128。可用表达式指定顺序号。

1551

无条件转移

(GOTO 语句)

GOTOn;n:顺序号(1~99999)

例:

GOTO1;

GOTO#10;

1553 循环

(WHILE 语句)

在WHILE 后指定一个条件表达式,当指定条件满足时,执行从DO 到END

之间的程序。否则,转到END 后的程序段。

WHILE [条件表达式]DO m;(m=1,2,3)

如果条件不满足

END m;

如果条件满足程序

当指定的条件满足时,执行WHILE 从DO 到END 之间的程序。否则,

转而执行END 之后的程序段。这种指令格式适用于IF 语句。DO 后的号

和END 后的号是指定程序执行范围的标号,标号值为1,2,3。若用1,

2,3 以外的值会产生P/S 报警No126。用下面的方法调用宏程序:

156

宏程序调用

宏程序调用 非模态调用(G65)

—— 模态调用(G66,G67)

—— 用G 代码调用宏程序

—— 用M 代码调用宏程序

—— 用M 代码调用子程序

—— 用T 代码调用子程序

限制

• 宏程序调用和子程 宏程序调用(G65)不同于子程序调用(M98),如下所述。

序调用之间的差别 • 用G65,可以指定自变量(数据传送到宏程序)。M98 没有该功能。

• 当M98 程序段包含另一个NC 指令(例如,G01 X1000 M98Pp)时,在指

令执行之后调用子程序。相反,G65 无条件地调用宏程序。

• M98 程序段包含另一个NC 指令(例如,G01 X1000 M98Pp)时,在单程

序段方式中,机床停止。相反,G65 机床不停止。

• 用G65,改变局部变量的级别。用M98,不改变局部变量的级别。

说明

• 呼调 • 在G65 之后,用地址P 指定用户宏程序的程序号。

• 当要求重复时,在地址L 后指定从1 到9999 的重复次数。省略L 值时,

认为L 等于1。

• 使用自变量指定,其值被赋值到相应的局部变量。

可用两种形式的自变量指定。自变量指定I 使用除了G,L,O,N 和P 以

外的字母,每个字母指定一次。自变量指定Ⅱ使用A,B,C 和Ii,Ji 和

Ki(i 为1~10)。根据使用的字母,自动地决定自变量指定的类型。

• 自变量指定

自变量指定I

地址 变量号

T #20

U #21

V #22

W #23

X #24

Y #25

Z #26

地址 变量号

I #4

J #5

K #6

M #13

Q #17

R #18

S #19

地址 变量号

A #1

B #2

C #3

D #7

E #8

F #9

H #11

• 地址G,L,N,O 和P 不能在自变量中使用。

• 不需要指定的地址可以省略,对应于省略地址的局部变量设为空。

• 地址不需要按字母顺序指定。但应符合字地址的格式。但是,I,J 和

K 需要按字母顺序指定。

例:

B_A_D_⋯⋯J_K_ 正确

B_A_D_⋯⋯J_I_ 不正确

调用宏程序的主程序 O0003;

G50 X1000 Z2000;

S1000 M03;

G66 P9110 U50 F05;

G00 X600 Z800

Z500

Z300

G67;

G00 X000 Z2000 M05;

M30;

• 宏程序 O9110;

(被调用的程序) G01U-=#21F#9⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯加工

G00U#21⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯撤回刀具

M99;

有一椭圆,长轴b=25,短轴a=18,现在加工其右半部分,工件坐标系设在右端面。

主程序:

N10 G98 G21 F60

N20 T0101

N30 M03 S600

N40 G00 X40 Z5;设毛坯为φ38mm

N50 #105=38

N60 IF #105 GT 0

N70 G65 P1015 A18 B25 C25 D0 K1;A--#1,B--#2,C--#3,D--#7,K--#6

N80 G00 X40 Z5

N90 #105=#105-1

N100 GOTO 60

N110 G00 X80 Z80

N120 M05

N130 M30

子程序:

O1015

N10 #5=[#1+#1]SQRT[1-#2#2/#3/#3];[X=2a ]

N20 G01 X[#5+#105] Z[#2-#3]

N30 #2=#2-#6;Z轴方向切削的步长为1

N40 IF [#2 GE #7] GOTO 10

N60 M99

注意:这是一个通用的椭圆加工宏程序,只要改变起刀点的坐标和G65指令中的A、B、C三个赋值(椭圆的长轴和短轴的长度),即可加工任意椭圆。

你用的是FANUC系统吧?这些变量是有分类的,其中:

#1~#33是局部变量,局部变量只能在宏中使用,以保持 *** 作的结果,关闭电源时,局部变量被初始化成“空”。宏调用时,自变量分配给局部变量。

#100~#149(#199)和#500~#531(#999)是公共变量,公共变量可在不同的宏程序间共享。关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据。公共变量#150~#199和#532~#999可以选用,但是当这些变量被使用时,纸带长度减少了85米。

#1000~ 是系统变量,系统变量用于读写各种NC数据项,如当前位置、刀具补偿值等。譬如你所提到的#4001表示目前的插补模态是G00、G01、G02、G03、还是G33,而#4002则表示当前平面选择的状态是G17、G18、还是G19。其他系统变量可以查阅手册。

在右面的加工刀路上右击鼠标,点选后置处理-生成G代码,会出现一个对话框如图所示,点选FANUC数控系统

文件,修改代码文件的储存路径,以便调用程序,将要生成的后置代码文件后缀改为NC,之后点击确定。选择加工轮廓刀具路线,右击鼠标确定,六边形的轮廓粗加工程序生成如下。

%

O0001

T1 M6

G90 G54 G0 X-45 Y-47 S3000 M03

G43 H1 Z100 M08

Z1

G1 Z-5 F30

X45 F300

G17 G3 X47 Y-45 I0 J2

G1 Y-38

X-47

Y-29

X-25057

X-30253 Y-20

(中间略)

G2 Y-305 I-5283 J-305

G1 X22603 Y-3305

G2 X17321 Y-361 I-5283 J305

G1 Z1 F1000

G0 Z100

M05

M30

%

一样

三菱系统和法兰克系统区别如下: 1、外观方面:两者外观上的区别不是很大。 2、内部程序方面:两者内部程序功能区别也不算大,只是 *** 作面板略有不同,对刀程序与功能指令上也有些不同。 3、指令代码方面:三菱系统使用的是指令代码G代码而法兰克系统使用的是M代码。 4、NC控制器:三菱系统一块基板上同时

数控相关名词解释

不知对大家有没有用

1. NC是一种数字化信号进行控制的自动化机床,自动化控制程序由硬件联结保证。

2. CNC是计算机软件控制的数字化信号的自动化机床。(CNC是英文计算机程序控制的简写)

3. AC机床的自适应功能。

4. DNC:是直接控制数控。

5. FMS: 柔性制造系统。

6. LSI: 大规模集成电路。

7. PST程序:将通用的刀具轨迹文件NCI转换成具有特定的数控系统编程指令格式的NC程序。

8. CAD:计算机辅助设计。

9. CAT:计算机辅助刀具设计。

10.脉冲当量:数控机床中,刀具移一步的距离(机床的最小位移量)

11.子程序:当一个程序反复出现时,可以把作为固定程序,并事先储存起来,这个程序叫子程序。

12.宏程序:把一组命令构成的其功能,像子程序那样记录在存储器中,这一组命令称之为宏程序体,简称宏程序。

13.二轴半数控铣床:三座标两联动,第三个坐标只能沿一个方向作等距离的周期移动,称之为二轴半数控铣床。

14.工作原点:在图样上找出设计基准电(一般此点应和工艺基准重合),该基准点称之为工作原点。

15、机床原点(车床):数控车床卡盘端面和主轴线的交点称为数控车床的机床原点。

16、CAM:计算机辅助制造。

17、ATC:刀具自动交换。

18、APC:工件自动交换。

19、CAPP:计算机辅助工艺规程设计。

20、RPM:快速成型制造。

21、CAQC:计算机辅助质量管理。

22、ASR:自动存取。

23、CIMS:计算机集成制造系统。

24、CT:成组技术。

25、ATC:自动换刀装置。

CNC代码:是数控机床本身控制系统的命令代码。

常用机床的G代码和M代码,视机床本身使用的 *** 作系统而有所不同。此外用于宏程序的程序语言(代码)也不尽相同。机床伺服系统接收到对应的代码后执行命令所包含内容。

NC代码:一般由电脑编程软件生成,可以供CNC机床识别并执行;也可以由 *** 作者员自己手动编写。

NC代码要和所用机床使用的代码相同,否则会出现机床无法“破译”代码而作出“报警”的情况。编程软件有对应的程序代码后处理器,以对应不同机床的 *** 作系统。

常用机床控制系统:法兰克(日本),三菱(日本),西门子(德国)

不可以。

运用MasterCAMX5可以模拟加工过程,且能自动生成NC数控代码,这些代码可直接用在数控加工中。

宏程序,其实宏就是用公式来加工零件的,比如说椭圆,如果没有宏,我们要逐点算出曲线上的点,然后慢慢用直线逼近。

以上就是关于谁能告诉我在宏程序if语句中总有一句类似于#3=#3-0.5的语句是什么意思全部的内容,包括:谁能告诉我在宏程序if语句中总有一句类似于#3=#3-0.5的语句是什么意思、加工中心的宏程序中的#****怎么理解、caxa制造工程师2013怎么出宏程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10062911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存