宏程序基础知识.doc

上传人:夏** 文档编号:548314089 上传时间:2022-12-17 格式:DOC 页数:17 大小:440.55KB
返回 下载 相关 举报
宏程序基础知识.doc_第1页
第1页 / 共17页
宏程序基础知识.doc_第2页
第2页 / 共17页
宏程序基础知识.doc_第3页
第3页 / 共17页
宏程序基础知识.doc_第4页
第4页 / 共17页
宏程序基础知识.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《宏程序基础知识.doc》由会员分享,可在线阅读,更多相关《宏程序基础知识.doc(17页珍藏版)》请在金锄头文库上搜索。

1、瑞鹄汽车模具有限公司内部教材 第一章 宏程序基础知识第一节 常量与变量的含义常量与变量的含义及编程案例数控程序中含有变量的程序称为宏程序。虽然子程序对编制相同的加工程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。常量 普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。变量 使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1#2100G01 X#1 F300 变量用变量符号(#)和后面的变量号指定。例如:#1 表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例

2、如:#1+#2-12 变量根据变量号可以分成四种类型 :1.空变量2.局部变量3.公共变量4.系统变量1. 空变量: #0 该变量总是空,没有值能赋给该变量. 2. 局部变量: #1-#33 局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空. 调用宏程序时,自变量对局部变量赋值.3. 公共变量 #100-#199 #500-#999 公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.4. 系统变量:#1000以上的变量 系统变量用于读和写CNC的各种数据,例如刀具补偿,当前位置信息

3、,变量的引用为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。 例如:G01X#1+#2F#3; 被引用变量的值根据地址的最小设定单位自动地舍入。例如: 当G00X#1;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号()放在#的前面。例如:G00X#1 当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0未定义的变量当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读

4、。当#1= (空)时G90 X100 Y#1实际与 G90 X100运行结果一样 当#10 时G90 X100 Y#1实际与 G90 X100 Y0 运行结果一样运算除了用赋值以外,其余情况下与0 相同。限制程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量:#1; 错误使用方法/#2G00X100.0; 错误使用方法N#3Y200.0; 错误使用方法系统变量系统变量能用来读写内部NC数据,如刀具补偿值和当前位置数据。然而,注意:有些系统变量是只读变量。对于扩展自动化操作和一般的程序,系统变量是必须的。刀具补偿值:使用这类系统变量可以读写刀具补偿值。可用的变量数取决于能使用

5、的补偿对数,当补偿对数不大于200时,可以用变量#2001#2400。用于刀具补偿内存A的系统变量补偿号系统变量1 :200#10001(#2001) :#10200(#2200)用于刀具补偿内存B的系统变量补偿号几何补偿磨损补偿 1 :200#11001(#2201) :#11200(#2400)#10001(#2001) :#10200(#2200)宏报警:用于宏报警的系统变量:变量号功能#3000当#3000中有099间的某一值时,NC停止并显示报警信息。报警信息不超过26个字符,例:#3000=1(TOOL NOT FOUND);报警屏幕显示“3001 TOOL NOT FOUND。”

6、时间信息:时间信息可以读写。用于时间信息的系统变量:变量号功能#3001这个变量是一个以1毫秒为增量一直记数的记时器,上电或达到65535毫秒时复值为0。#3002这个变量是一个以1小时为增量、当循环启动灯亮时记数的记时器,电源关闭后记时器值依然保持,达到1145324.612小时时复值为0。#3011这个变量用于读当前年/月/日数据,该数据以十进制数显示。例:March 28,1993表示成19930328。#3012这个变量用于读当前时/分/秒数据,该数据以十进制数显示。例:下午3点34分56秒表示成153456。自动操作控制:自动操作的控制状态可以改变。自动操作控制的系统变量#3003#

7、3003单段辅助功能的完成0使能要等待1无效要等待2使能不要等待3无效不要等待上电时该变量值为0。当不能执行单段停止时,单段停止操作不能执行,即使单段开关有效。当没有指定是否等待辅助功能(M、S、T)完成时,在辅助功能完成之前,程序执行到下一段,定位完成信号DEN不发出。自动操作控制的系统变量#3004#3004进给保持进给倍率精确停止0使能使能使能1无效使能使能2使能无效使能3无效无效使能4使能使能无效5无效使能无效6使能无效无效7无效无效无效上电时该变量值为0。当不能执行进给保持时:进给保持按钮按下并保持时,机床以单段停止方式停止,但单段方式若因变量#3003而无效时,不执行单段停止操作。

8、进给保持按钮按下又释放时,进给保持灯亮,但机床不停止;程序继续进行,机床停在最先含有进给保持使能的段。当进给倍率无效时,倍率定在100%,忽略机床操作面板上的倍率开关。当精确停止无效时不执行精确停止检查(定位检查),即使是包含有不执行切削的段。例如G84攻丝循环时进给速度,转速,单段操作都无效,其内部程序就指定了#3003=3 #3004=7模态信息:表中指定的模信息可以读出。见下表:变量号功能#4001G00,G01,G02,G03,G33 (01组)#4002G17,G18,G19 (02组)#4003G90,G91 (03组)#4004 (04组)#4005G94,G95 (05组)#4

9、006G20,G21 (06组)#4007G40,G41,G42 (07组)#4008G43,G44,G49 (08组)#4009G73,G74,G76,G80G89 (09组)#4010G98,G99 (10组)#4011G50,G51 (11组)#4012G65,G66,G67 (12组)#4014G54G59 (14组)#4015G61G64 (15组)#4016G68,G69 (16组):#4022 (22组)#4102B码#4107D码#4109F码#4111H码#4113M码#4114顺序号#4115程序号#4119S码#4120T码例:当执行#1=#4001时,#1=0,1,2,

10、3或33当前位置:位置信息变量不能写只能读。见下表:变量号位置信息坐标系刀具补偿值移动期间的读操作#5001#5004段结束点工件坐标系不包括使能#5021#5024当前位置机床坐标系包括无效#5041#5044当前位置工件坐标系#5061#5064跳段信号位置使能#5081#5084刀偏值无效#5101#5104偏差的伺服位置首位数(从1 4)分别代表轴号,数1代表X轴,数2代表Y轴,数3代表Z轴,数4代表第四轴。执行当前的刀偏值,而不是立即执行保持在变量#5081#5088里的值。在含有G31(跳段)的段中发出跳段信号时,刀具的位置保持在变量#5061#5068里,如果不发出跳段信号,指定

11、段的结束点位置保持在这些变量中。移动期间读变量无效时,表示由于缓冲(准备)区忙,所希望的值不能读。工件坐标系补偿值(工件零点偏置值):工件零点偏置值变量可以读写,见下表:变量号功能#5201#5204第一轴外部工件零点偏置值第四轴外部工件零点偏置值#5221#5224第一轴G54工件零点偏置值第四轴G54工件零点偏置值#5241#5244第一轴G55工件零点偏置值第四轴G55工件零点偏置值#5261#5264第一轴G56工件零点偏置值第四轴G56工件零点偏置值#5281#5284第一轴G57工件零点偏置值第四轴G57工件零点偏置值#5301#5304第一轴G58工件零点偏置值第四轴G58工件零

12、点偏置值#5321#5324第一轴G59工件零点偏置值第四轴G59工件零点偏置值#7001#7004第一轴工件零点偏置值(G54P1)第四轴工件零点偏置值#7021#7024第一轴工件零点偏置值(G54P2)第四轴工件零点偏置值 :#7941#7944第一轴工件零点偏置值(G54P48)第四轴工件零点偏置值注:对于工件坐标系,变量#5201#5328是可选变量。算术和逻辑操作 对于附加的48工件坐标系,变量#7001#7948(G54P1G54P48) 是可选变量。在下表中列出的操作可以用变量进行。操作符右边的表达式,可以含有常数和(/或)由一个功能块或操作符组成的变量。表达式中的变量#J和#

13、K可以用常数替换。左边的变量也可以用表达式替换。见下表:功能格式注释赋值#i=#j加#i=#j+#k减#i=#j#k乘#i=#j*#k除#i=#j/#k正弦#i=SIN#j角度以度为单位,如:90度30分表示成90.5度余弦#i=COS#j正切#i=TAN#j反正切#i=ATAN#j平方根#i=SQRT#j绝对值#i=ABS#j进位#i=ROUND#j下进位 #i=FIX#j上进位#i=FUP#jOR(或)#i=#jOR#k用二进制数按位进行逻辑操作。XOR(异或)#i=#jXOR#kAND(与)#i=#jAND#k将BCD码转换成BIN码#i=BIN#j用于与PMC间信号的交换。将BIN码转换成BCD码#i=BCD#j角度单位:在SIN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号