数车宏程序B及其应用实例16KWord下载.docx

上传人:b****3 文档编号:7560284 上传时间:2023-05-08 格式:DOCX 页数:19 大小:59.67KB
下载 相关 举报
数车宏程序B及其应用实例16KWord下载.docx_第1页
第1页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第2页
第2页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第3页
第3页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第4页
第4页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第5页
第5页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第6页
第6页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第7页
第7页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第8页
第8页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第9页
第9页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第10页
第10页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第11页
第11页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第12页
第12页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第13页
第13页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第14页
第14页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第15页
第15页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第16页
第16页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第17页
第17页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第18页
第18页 / 共19页
数车宏程序B及其应用实例16KWord下载.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数车宏程序B及其应用实例16KWord下载.docx

《数车宏程序B及其应用实例16KWord下载.docx》由会员分享,可在线阅读,更多相关《数车宏程序B及其应用实例16KWord下载.docx(19页珍藏版)》请在冰点文库上搜索。

数车宏程序B及其应用实例16KWord下载.docx

#1000以上

系统变量用于读和写CNC运行时各种数据变化。

编程中常用的系统变量,见表1。

表1刀具补偿存贮器C的系统变量

补偿号

X轴

Z轴

刀尖半径R

刀尖位置T

磨损

几何

1

#2001

#2701

#2101

#2801

#2201

#2901

#2301

49

#2049

#2749

#2149

#2849

#2249

#2949

#2349

64

#2064

#2164

#2264

#2364

2)变量的赋值

①直接赋值

变量可在操作面板MACRO内容处直接输入,也可用MDI方式赋值,也可在程序内用以下方式赋值,但等号左边不能用表达式,#_=数值(或表达式)。

如:

#1=20;

G01X#1;

②自变量赋值

宏程序体以子程序方式出现,所用的变量可在宏调用时在主程序中赋值。

如:

G65P9120X100.0Y20.0F20.0;

其中X、Y、F对应于宏程序中的变量号,变量的具体数值由自变量后的数值决定。

自变量与宏程序体中变量的对应关系有2种,2种方法可以混用,其中G、L、N、O、P不能作为自变量为变量赋值。

变量赋值方法Ⅰ、Ⅱ见表2、表3

表2变量赋值方法Ⅰ

自变量

变量

A

#1

H

#11

R

#18

X

#24

B

#2

I

#4

S

#19

Y

#25

C

#3

J

#5

T

#20

Z

#26

D

#7

K

#6

U

#21

E

#8

M

#13

V

#22

F

#9

Q

#17

W

#23

表3变量赋值方法Ⅱ

I3

#10

I6

I9

#28

J3

J6

J9

#29

K3

#12

K6

K9

#30

I1

I4

I7

I10

#31

J1

J4

#14

J7

J10

#32

K1

K4

#15

K7

K10

#33

I2

I5

#16

I8

J2

J5

J8

K2

K5

K8

#27

四、运算指令

宏程序具有赋值、算术运算、逻辑运算等功能,见表4

表4变量的各种运算

形式

意义

具体实例

定义转换

#i=#j

定义、转换

#20=500

#102=#10

#i=#j+#k

#5=#10+#102

#i=#j-#k

#8=#3+100

#i=#j*#k

#120=#1*#24

#20=#7*360

#i=#j/#k

#104=#8/#7

#110=#21/12

#i=SIN[#j]

#i=ASIN[#j]

#i=COS[#j]

#i=ACOS[#j]

#i=TAN[#j]

#i=ATAN[#j]

正弦(度)

反正弦(度)

余弦(度)

反余弦(度)

正切

反正切

#10=SIN[#5]

#10=ASIN[#16]

#133=COS[#20]

#10=ACOS[#16]

#30=TAN[#21]

#148=ATAN[#1]/[#2]

#i=SQRT[#j]

#i=ABS[#j]

#i=ROUND[#j]

#i=FIX[#j]

#i=FUP[#j]

#i=LN[#j]

#i=EXP[#j]

平方根

绝对值

四舍五入

上取整

下取整

自然对数

指数ex

#131=SQRT[#10]

#5=ABS[#102]

#112=ROUND[#23]

#115=FIX[#109]

#114=FUP[#33]

#3=LN[#100]

#7=EXP[#9]

#i=#jAND#k

#i=#jOR#k

#i=#jXOR#k

异或

#11=#1AND#18

#20=#3OR#8

#12=#5XOR25

五、控制指令

控制指令起到控制程序流向的作用。

1)分支语句(GOTO)其格式为:

IF[〈条件表达式〉]GOTOn

IF[〈条件表达式〉]THEN〈表达式〉

若条件表达式为成立则程序转向段号为n的程序段,若条件不满足就继续执行下一句

程序,条件式的种类见表5。

表5条件式种类

条件式

#jEQ#k

#jNE#k

#jGT#k

#jLT#k

#jGE#k

#jLE#k

2)循环指令格式:

WHILE[〈条件式〉]DOm(m=1,2,3);

ENDm;

当条件式满足时,就循环执行WHILE与ENDm之间的程序段,若条件不满足就执行ENDm;

的下一个程序段。

注意:

1)同一识别号可以使用多次,但DOm与ENDm必须成对使用。

WHILE[…]DO2;

END2;

WHILE[…]DO2;

END2;

2)循环可以嵌套,但最多嵌套三层。

WHILE[…]DO1;

WHILE[…]DO3;

END3;

END1;

3)循环不可以交叉。

END3;

4)可以从循环内向循环外转移。

GOTO11;

N11…;

5)不可以从循环外向循环内转移。

6)在循环内可以调用用户宏程序或子程序。

循环在用户宏程序或子程序中嵌套三层。

┇┇

G65…;

M98…;

┇┇

G66…;

G67;

六、宏程序的使用方法

1)宏程序使用格式

宏程序格式与子程序一样,结尾用M99返回主程序。

O1;

主程序O8000;

宏程序

┇┇

G65P8000(自变量赋值);

[变量]

┇[运算指令]宏程序体

┇[控制指令]

M30;

M99;

2)选择程序号

程序在存储器中的位置决定了该程序一些权限,根据程序的重要程度和使用频率,用户可选择合适的程序号(适用于任何程序),具体如表6所示。

表6程序的存储区间

O0001~O7999

程序能自由存储、删除和编辑

O8000~O8999

不经设定,该程序就不能进行存储、删除和编辑

O9000~O9019

用于特殊调用的宏程序

O9020~O9899

如果有设定参数就不能进行存储、删除和编辑

O9900~O9999

用于机器人操作程序

3)宏程序调用方法

①非模态调用(单纯调用):

指一次性调用宏主体,即宏程序只在一个程序段内有效,叫非模态调用。

其格式为:

G65P(宏程序号)L(重复次数)〈自变量赋值〉;

一个自变量是一个字母,对应于宏程序中变量的地址,自变量后边的数值赋给宏程序中与自变量对应的变量。

同一语句中可以有多个自变量。

②模态调用:

模态调用功能近似固定循环的续效作用,在调用宏程序的语句后,机床在指定的多个位置循环执行宏程序。

宏程序工的模态调用要用G67取消,其格式为:

G66P(宏程序号)L(重复次数)〈自变量赋值〉;

G67;

七、常用数学公式

(1)

椭圆的标准方程:

椭圆的参数方程:

(2)

旋转公式:

八、编程举例

例1、利用G73和参数方程编程

参数方程:

O0001;

N1G99S500M3T0101;

G0X100.0Z100.0;

X26.0Z2.0;

G73U16.0R10;

G73P10Q20U0.5W0.2F0.2;

N10G0X0;

G1Z0F0.1;

#1=1.0;

(起始角的每次增量)

#2=0.0;

(θ角的起始值)

#9=90.0;

(θ角的终止值)

#3=10.0;

(椭圆的短半轴b,X向)

#4=20.0;

(椭圆的长半轴a,Z向)

WHILE[#2LE#9]DO1;

(#2值≤#9值时,循环执行)

#5=2*#3*SIN[#2];

(X=2*b*sinθ,X为直径值)

#6=#4*COS[#2];

(Z=a*cosθ)

G1X#5Z[#6-#4]F0.1;

(直线插补,用许多很短直线来拟合椭圆)

#2=#2+#1;

(θ角递增)

(循环结束)

G1W-5.0F0.1;

N20X26.0;

M00;

N2G99S600M3T0101;

G0X26.0Z2.0;

G70P10Q20F0.1;

M5;

M30;

例2、利用宏程序调用方法编程

X56.0Z2.0;

N10G0X50.0;

G1Z-5.0F0.1;

G65P0002;

(宏程序调用)

N20X56.0;

G0X56.0Z2.0;

O0002;

WHILE[#2LE90.]DO1;

(#2值≤90时,循环执行)

M99;

(宏程序调用返回)

例3、

利用标准方程编程

标准方程:

注1:

注2:

注1和注2由标准方程

推导而来!

N10G0X0.0;

G1Z0.0F0.1;

G65P0002A0B0.1C20.0I10.0J10.0;

(宏程序调用同时对自变量赋值)

自变量赋值(详见表2)

A0为#1=0.0(X向的起始值)

B0.1为#2=0.1(X值的每次增量)

C20.0为#3=20.0(椭圆的长半轴a,Z向)

I10.0为#4=10.0(椭圆的短半轴b,X向)

J10.0为#5=10.0(X向的终止值,注:

#5值要≤#4值)

WHILE[#1LE#5]DO1;

(#1值≤#5值时,循环执行)

#7=[1-[#1*#1]/[#4*#4]]*[#3*#3];

(见注1)

#9=SQRT[#7];

(z值)(见注2)

G1X[2*#1]Z[#9-#3]F0.1;

#1=#1+#2;

(X值递增)

例4、数车椭圆旋转

(以a为旋转半径,以椭圆的圆心为原点,旋转α角。

G99M3S800T0101;

G0X100.Z100.;

G0X62.Z5.;

#1=0;

(x初值)

#2=10;

(x终值)

#11=0.05;

(步距)

#3=20;

(椭圆的长半轴a)

#4=10;

(椭圆的短半轴b)

#12=45;

(旋转角α)

#15=0;

(椭圆的圆心在x方向上的位置)

WHILE[#1LE#2]DO1;

(#1值≤#2值时,循环执行)

#6=#1;

(x值)

#9=[#3*#3]*[1-[#6*#6]/[#4*#4]];

#5=SQRT[#9];

#7=#5*COS[#12]-#6*SIN[#12];

(z向旋转)

#8=#5*SIN[#12]+#6*COS[#12];

(x向旋转)

G1X[#15+2*#8]Z[#7-#3]F0.1;

#1=#1+#11;

未旋转旋转α角,图中虚线为未旋转

G0X100.Z100.0;

G0X62.Z5.0;

#1=-10;

#2=0;

#12=30;

#15=45;

(x值)

九、结束语

本文中的程序都经过FANUC0iMate系统数控机床的验证。

宏程序是程序编制的高级形式,程序编制的质量与编程人员的素质息息相关,宏程序里应用了大量的编程技巧,如数学模型的建立、数学关系的表达、加工刀具的选择、走刀方式的取舍等,使得宏程序的精度很高。

特别是对于中等难度的零件,使用宏程序进行编程加工要比自动编程加工快,可以简化我们的编程。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2