欢迎来到天天文库
浏览记录
ID:48784187
大小:156.50 KB
页数:34页
时间:2020-01-27
《8我的宏编程课件(第十讲) - 副本.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十讲宏编程及其技术应用宏指令编程:是指可以使用变量进行算术运算、逻辑运算和函数混合运算的程序编写形式。可编制各种复杂的零件加工程序,增强机床的加工能力,同时可精简程序量。各种数控系统的宏程序格式和用法均有所不同以下以华中数控HNC-21M系统为例介绍宏指令编程第一节宏指令编程基础知识HNC-21M数控系统为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值计算,以及
2、精简程序量。§1.1宏变量及常量一、宏变量在宏程序中使用的变量称为宏变量。宏变量值可在程序中修改二、宏变量表示:#+数字#0~#49当前局部变量#50~#100全局变量#200~#2490层局部变量#250~#2991层局部变量#300~#3492层局部变量#350~#3993层局部变量#400~#4494层局部变量#450~#4995层局部变量#500~#5496层局部变量#550~#5997层局部变量#600~#699刀具长度寄存器H0~H99#700~#799刀具半径寄存器D0~D99#800~#899刀具寿命寄存器……用户编程仅限
3、使用#0~#599变量子程序最多只可7层嵌套调用#599以后变量用户不得使用,仅供系统编程人员参考三、常量PI:圆周率π2π=360º1º=PI/180TRUE:条件成立(真)FALSE:条件不成立(假)§1.2运算符与表达式1、算术运算:主要是指加、减、乘、除求和+:#i=#j+#k求差-:#i=#j-#k求积*:#i=#j*#k求商/:#i=#j/#k2、逻辑运算符:与AND:#i=#jAND#k或OR:#i=#jOR#k非NOT:#i=#jNOT#k3、条件运算符:通常指两个数值的比较或者关系,常用的条件运算符如下:EQ(equa
4、l):=NE(notequal):≠GT(great):>GE(greatequal):≥LT(little):5、值是10。变量值赋值符号变量符号2、赋值规则(1)赋值号两边内容不能随意互换,左边只能是变量,右边是表达式。(2)一个赋值语句只能给一个变量赋值。(3)可以多次向同一个变量赋值,新变量值取代原变量值。(4)在赋值运算中,表达式可以是变量自身与其它数据的运算结果。(5)赋值表达式的运算顺序与数学运算顺序相同。(6)不能用变量代表的地址符有:O、N、:、/。§1.4条件判别语句IF条件判别语句共有两种格式:格式1:IF[条件表达式]…ELSE…ENDIF格式2:IF[条件表达式]…ENDIF在WHILE后指定一条件表达式,当条件满足时6、,执行DO到END之间的程序,(然后返回到WHILE重新判断条件,)不满足则执行END后的下一程序段。格式:WHILE[条件表达式];...ENDW;§1.5循环判别语句WHILE例程求1~10的和。%9500;#1=0;和#2=1;加数WHILE[#2LE10];相加条件#1=#1+#2;相加#2=#2+1;下一加数ENDW;返回1M30;结束§1.6子程序调用的参数传递当前局部变量#0#1#2#3#4#5#6……#25宏调用时所传递的字段名ABCDEFG……ZG代码在调用宏(子程序或固定循环)时,系统会将当前程序段各字段(A~Z共267、个字母,如果没有定义则为0)的内容拷贝到宏执行时的局部变量#0~#25中。调用一般子程序时,不保存系统模态值,即子程序可修改系统模态并保持有效;而调用固定循环时,保存系统模态值,即固定循环子程序不修改系统模态。示例:M98P100A20B40C3G71U_R_P_Q_X_Z_第二节宏程序应用例1:加工一椭圆:长轴为100,短轴为50加工路线为O→X→Y→-X→-Y→X→O参数方程:xi=50*cosαiyi=25*sinαi(0≤αi≤360°)假如现在要加工内形,它的刀具轨迹如下图程序如下:N10G41G01X50D01;图1中OX距离8、N20#1=0;将角度设为自变量,赋初值为0N30WHILE[#1LE360];循环判别语句N40#2=#1*PI/180;转换为度数N50X[50*COS[#2]]Y[25*SIN[#2]]
5、值是10。变量值赋值符号变量符号2、赋值规则(1)赋值号两边内容不能随意互换,左边只能是变量,右边是表达式。(2)一个赋值语句只能给一个变量赋值。(3)可以多次向同一个变量赋值,新变量值取代原变量值。(4)在赋值运算中,表达式可以是变量自身与其它数据的运算结果。(5)赋值表达式的运算顺序与数学运算顺序相同。(6)不能用变量代表的地址符有:O、N、:、/。§1.4条件判别语句IF条件判别语句共有两种格式:格式1:IF[条件表达式]…ELSE…ENDIF格式2:IF[条件表达式]…ENDIF在WHILE后指定一条件表达式,当条件满足时
6、,执行DO到END之间的程序,(然后返回到WHILE重新判断条件,)不满足则执行END后的下一程序段。格式:WHILE[条件表达式];...ENDW;§1.5循环判别语句WHILE例程求1~10的和。%9500;#1=0;和#2=1;加数WHILE[#2LE10];相加条件#1=#1+#2;相加#2=#2+1;下一加数ENDW;返回1M30;结束§1.6子程序调用的参数传递当前局部变量#0#1#2#3#4#5#6……#25宏调用时所传递的字段名ABCDEFG……ZG代码在调用宏(子程序或固定循环)时,系统会将当前程序段各字段(A~Z共26
7、个字母,如果没有定义则为0)的内容拷贝到宏执行时的局部变量#0~#25中。调用一般子程序时,不保存系统模态值,即子程序可修改系统模态并保持有效;而调用固定循环时,保存系统模态值,即固定循环子程序不修改系统模态。示例:M98P100A20B40C3G71U_R_P_Q_X_Z_第二节宏程序应用例1:加工一椭圆:长轴为100,短轴为50加工路线为O→X→Y→-X→-Y→X→O参数方程:xi=50*cosαiyi=25*sinαi(0≤αi≤360°)假如现在要加工内形,它的刀具轨迹如下图程序如下:N10G41G01X50D01;图1中OX距离
8、N20#1=0;将角度设为自变量,赋初值为0N30WHILE[#1LE360];循环判别语句N40#2=#1*PI/180;转换为度数N50X[50*COS[#2]]Y[25*SIN[#2]]
此文档下载收益归作者所有