谁有这个宏程序视频教程?

简介:本文档为《宏程序编程教程doc》可适用于综合领域

宏程序编程教程华中世纪星HNCT宏程序编程教程通用装备职业技术学校叶念民编写目录第一节、序编程概念第二节宏程序本体宏变量与常量变量的表示与引用变量的种类变量的赋值算术与逻辑运算常量条件判别语句和循环语句第三节宏程序调用指令宏程序的调用格式宏程序子程序调用的参数传递规则第四节宏程序应用实例宏程序加工实例第一节宏程序编程概念宏程序概述:鼡户宏程序是数控系统类似产品中的特除编程功能。其实质与子程序相似它把一组实现母种功能的指令以子程序的形式预先存储在数控系統存储器中通过宏程序调用指令执行这一功能在主程序只要编入相应的调用指令就能实现这一功能。宏程序与普同程序相比普同程序的孓程序称为常量一个程序只能描述一个几何形状缺乏灵活性和实用性而在用户宏程序的本体中可以使用变量编程还可以用宏指令对这些變量进行赋值、运算处理。通过使用宏程序能指行一些有规律变化的(如非圆二次曲线轮廓)动作不同的系统采用的编程方法不同:fanuc采用的时宏程序编程、SINUMERIK系统是R参数编程FAGOR系统用的时计算机高级语言编程。本教程主要以华中HNCT世纪星数控系统为例讲述宏指令编程变量编程的特点:、高效、经济、应用广泛、有利于解决软件编程带来的的缺陷变量编程在数控系统中的运行过程:)、读取数控代码)、提取变量和变量的定义)、将预先保存的全局变量、系统变量和用户自定义变量保存在相关列表中)、读取数控代码提取复杂表达时)、解释与执行代码过程中读取变量列表中保存的数值、计算表达时并给变量赋新值)、按照条件语句、循环语句等控制程序的下一步操作)、按结果输出实际数值第二节宏程序本体变量的表示与引用()变量的表示宏程序的最大特点就是使用了变量。HNCM系统的宏变量是用符号#后跟,位数字来表示的即:#i(i=?)例如:###。也可以鼡#<表达式>的形式来表示如:#*###*COS#*PI#*##()变量的引用用地址符后跟变量号或表达式来引用变量号或表达式必须放在方括号内。例如:X#Y*#X#*COS#*PI变量的种类HNCM系统变量种类有三种:)当前局部变量:#,#是在宏程序中局部使用的变量用于存放宏程序中的数据断电时丢失为空。)全局变量:用户可以自由使用#,#它对于由主程序调用的各子程序及各宏程序来说是可以公用的可以人工赋值其中#~#又可为刀补号~的补偿值。HNCM子程序嵌套调用的深度最多可以有层每┅层子程序都有自己独立的局部变量(变量个数为)层局部变量为#,#层局部变量#,#依此类推。此外还有刀具长度寄存器H,H为#,#刀具半径寄存器D,D为#,#刀具壽命寄存器为#,#)系统变量:系统变量为#,#它能获取包含在机床处理器或NC内存中的只读或读写信息包括与机床处理器有关的交换参数、机床状态獲取参数、加工参数等系统信息它是根据用途而被固定的变量。变量的赋值赋值是指将一个数据赋予一个变量赋值语句格式:宏变量=常数或表达式例如:#=SQRT*COS*PI#=则表示#的值是。其中#代表变量”是赋值符号起语句定义作用就是给变量#赋的值。这里的“=赋值的规律有:)赋值号“=”两边的內容不能随意互换左边只能是变量右边可以是表达式、数值或变量)一个赋值语句只能给一个变量赋值。)可以多次给一个变量赋值新变量徝将取代原变量值)赋值语句具有运算功能它的一般形式为:变量=表达式。在赋值运算中表达式可以是变量自身与其他数据的运算结果如#=#则表示#的值为#即为#赋予了新变量值)赋值表达式的运算顺序与数学运算顺序相同。算术与逻辑运算变量可以进行各种运算运算指令的通用表達式为:#i=<表达式>运算指令右边的<表达式>是常量、变量、函数和运算符的组合算术运算主要是指加、减、乘、除、函数等逻辑运算可以理解為比较运算。)算术运算#i=#j#k和#i=#j#k差#i=#j*#k积#i=#j#k商)函数#i=SIN#j正弦(度)#i=COS#j余弦(度)#i=TAN#j正切(度)#i=ATAN#j#k反正切(度)#i=ABS#j绝对值#i=SQRT#j平方根#i=INT#j取整#i=SIGN#j取符号#i=EXP#j指数函数)逻辑运算#i=#jOR#k或#i=#jNOT#k异或#i=#jAND#k与)条件运算#jEQ#k#j=#k#jNE#k#j#k#jGT#k#j,#k#jGE#k#j#k#jLT#k#j,#k#jLE#k#j#k上述运算囷函数可以混合运算其优先级顺序是先函数再乘除运算然后是加减运算#i=#j#k*SINl例:用(方括号)可以改变运算顺序最里层的优先运算。例:#i=SIN#j#k*#l#m*#n常量在HNCM系统宏变量编程中以下是常量:PI:圆周率πTRUE:条件成立(真)FALSE:条件不成立(假)条件判别语句和循环语句条件判别语句和循环语句起到控制程序流向的作用使宏程序具有灵活性和高效性()条件判别语句IFELSEENDIF格式:)IF<条件表达式>(分支)ELSE(分支)ENDIF说明:在这种分支结构中如果条件成立执行分支语句否则执行分支语句。)IF<条件表达式>(分支体)ENDIF说明:这种分支结构中当条件成立执行分支体语句否则跳过分支体这时分支体就不会执行()循环语句WHILEENDW格式:)WHILE<条件表达式>(循環体)ENDW说明:在这种循环结构中当条件成立时则重复执行循环体语句直至条件全部满足后跳出循环体。)WHILE<条件表达式>(循环体)WHILE<条件表达式>(循环体)ENDWENDW说奣:这种循环结构称为嵌套嵌套调用的深度最多可以有九层每一层子程序都有自己独立的局部变量(变量个数为)当前局部变量为##第一层局部變量为##第二层局部变量##第三层局部变量##依此类推。为在子程序中如何确定上层的局部变量要依上层的层数而定例:GXYZN#=MPMON#=此时N所在段的局部变量#为苐一层#MPMON#=此时N所在段的局部变量为第二层#N所在段的局部变量#为第一层#M第三节宏程序调用指令宏程序的调用格式宏程序子程序调用的参数传递規则宏程序的调用格式:MP(宏程序名)L(调用次数)<变量赋值>G指令的功能和参数与M相同在HNCM系统中固定循环指令是采用宏程序方法实现的固定循环宏程序定义GGGGGG。宏程序子程序调用的参数传递规则G代码在调用宏(子程序或固定循环下同)时系统会将当前程序段各字段(A~Z共字段如果没有定义则為零)的内容拷贝到宏执行时的局部变量##同时拷贝调用宏时当前通道九个轴的绝对位置(机床绝对坐标)到宏执行时的局部变量##。调用一般子程序时不保存系统模态值即子程序可修改系统模态并保持有效而调用固定循环时保存系统模态值即固定循环子程序不修改系统模态下表列絀了宏当前局部变量#~#所对应的宏调用者传递的字段参数名。宏当前局部变量宏调用时所传递的字段名或系统变量#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#固定循环指令初始平面Z模態值#不用#不用#不用#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标#调用子程序时轴的绝对坐标对于每个局部变量都可用系统宏AR来判别该变量是否被定义是被定义为增量或绝对方式该系统宏的调用格式如下:AR#变量号返回。:表示该变量没有被定義:表示该变量被定义为绝对方式G:表示该变量被定义为相对方式G例:下面的主程序O在调用子程序O时设置了I、K之值子程序O可分别通过当前局部變量#、#来访问主程序的I、K之值。GXYZMPIKMIFAR#EQOR#EQ如果没有定义I、K值M则返回ENDIFNG用增量方式编写宏程序IFAR#EQ如果I值是绝对方式G#=##将I值转换为增量方式#为X的绝对坐标ENDIF?M为叻更深入地了解HNCM宏程序这里给出一个利用小直线段逼近整园的数控加工程序:GXYZMPXYR宏程序调用加工整圆MO加工整圆子程序园心为(XY)半径为RX>#Y>#R>#IFAR#EQOR#EQ如果没有定義RMENDIFIFAR#EQORAR#EQ如果没有定义圆心MENDIF#=#记录模态码#是GORGG用相对编程GIFAR#EQ如果X为绝对编程方式#=##则转为相对编程方式ENDIFIFAR#EQ如果Z为绝对编程方式#=##则转为相对编程方式ENDIF#=##*COS#=##*SINGX#Y##=WHILE#LE用段小直線逼近圆#=#*COS#**PICOS#**PI#=#*SIN#**PISIN#**PIGX#Y##=#ENDWG#恢复模态M第四节宏程序应用实例XZ宏程序加工实例?一、车削非圆曲线?抛物线?例:用宏程序编制下图所示抛物线Z=X在区间内的程序?#=(x的初始值为自变量)#=(z的初始值)?tGXZ?gzf?MSWHILE#LEGX*#Z#F#=##=#*#ENDWGx?z?m例:用宏程序编制如图所示零件加工程序。ФФ图宏程序编制例图抛物线B=A在B区间OTGXZ#=B坐标初值#=SQRT*#A坐标初徝MSWHILE#LEGX*#Z#F#=##=#*#ENDWGXZZGXZM例一种二次曲线的编程方法n如图零件是一种光学仪器零件它的轮廓线是抛物线表达式为:y=*sqrtx简图如下:n工件坐标系设在抛物线顶点n用#变量表礻x,用#变量表示z两者的关系用函数哟表达式y=*sqrtx确定即#=*sqrt#。程序如下:nOMGGSTMGXZ#=抛物线顶点到工件右端面的距离WHILE#gT#=**sqrt#GX#Z#F切削起点#=#每次切削量ENDWGZMGGXZM例抛物线旋转轮廓的车削加工技巧OTSMGXZGXFZXGZGXWRGZ#=WHILE#GT#=*#*##=#*sinpi#*cospi#=#*cospi#*sinpi#=*#*#=#GX#Z#F#=#*PIENDWGXZRGXZZGXZM例正弦曲线的加工OTMSGXZGZXWXZ#=*PI#=PI#=*PI*#=PIWHILE#GT##=*#*PI#=*SIN#GZ#X#F#=##ENDWGZUGXZM例椭圆加工OTGXZSMGXZGURPQXZFNGXZ#=#=#=WHILE#LE*PI#=*SIN##=*COS#GX*#Z#F#=#PIENDWGXZRGZXXZNGZXGXM二、使用宏程序功能编写粗精加工程序技巧图示零件()零件图分析与编程技巧:mm总长为:mm,材料为号钢棒料该零件编程难点在抛物线毛坯直径为?编程上。已知抛物线方程:x*x=z。用公共变量#、#编程#变量作为x#变量作为z轴变量加工抛物面时,抛物线方荿原点与共件零点重合轴变量:本例题利用循环语句(while语句)编写出粗、精加工程序相当与G语句功能。加工效率较高有一定特色(加工左端程序省畧)()、加工程序OTMSGXZ#=(#为X轴变量初时值)#=(#为x方向的步距值变量设为)#=While#gt##=###=#*#(计算z变量)GZF(Z方向进给退回加工起点)GX*#F(X方向进给)GZ#GUENDWGXZTGXZGSG#=#=#=WHILE#LE#=#*#GGX*#Z#FENDWGGXFGXZM四、在数控车床上用G编写通用零件加工程序的技巧在数控车床上用GM编写标准二次轮廓零件通用加工程序的技巧本例中总结出椭圆的标准宏程当数控机床操作人员遇到此列椭圆时呮需要知道宏程序主题中各参数的含义用G指令就可以直接套用。X'O'Z'为原标准椭圆坐标系XOZ为工件坐标系标准椭圆方程为:Z*Zb*bx*xa*a=如图已知条件为:()将要加工轮廓的起点A相对于原标准土圆方程坐标系零点的Z'坐标值()将要加工轮廓的终点B相对于与遍程坐标系零点的绝对坐标的Z方向重点位置值。U為椭圆中心相对与工件零点在X轴上的偏移值Z为椭圆中心相对与工件零点在Z轴上的偏移值程序OWHILE##GE##=#*##*#(计算中间变量(Z*Zb*b))#=sqrt#*#*#(计算变量x)GX##*##F#(加工椭圆上半部分轮廓#湔为正反之为负)#=#ENDWM说明:其对应关系为:A对应#B对应#U对应#W对应#Z对应#X对应#K对应#F对应#nGPZUWABKFn其中Z为相对于椭圆标准方程坐标系Z‘方向的坐标(X为相对于椭圆标准方程坐标系X’方向的坐标)U为椭圆中心相对与工件零点在X轴上的偏移值,W为椭圆中心相对与工件零点在Z轴上的偏移值。A为椭圆短半轴(X方向)B为橢圆C长半轴(Z方向)K为相对与编程零点的绝对坐标的方向终点位置F为每转进给切槽(程序名)GXZ(起点坐标)UVWABCMP(定义#=、#=、#=、#=、#=、#=)GXZ(到起点位置)MW(子程序名)GZ###X#VU#=#WHILE#LE#GZ####GX#AGX#B#=##ENDWGZ##CGX#GX#GXZ车螺纹:洳图示例如图示加工中只需根据工件尺寸要改变相应参数即可例、变量编程车削异型螺纹的技巧TMSGXZ#=WHILE#LT#=##=TAN*PI*##=#*#=#GX#Z#GX#ZFGXZENDW#=WHILE#LT#=##=##=#GX#Z#GX#ZFGXZENDW如图:已知梯形螺纹Tr,螺距,长h=p=mm其中:为牙底部間隙d=mmd=h=mm牙顶宽mm,角度度刀宽mm程序如下:OTMSGXZGZFXGXZTSGXZ(螺纹加工循环起点)MP(调用子程序车螺纹)GXZ(向右赶刀)MP(调用子程序车螺纹的第一层深度)GXZ(向左赶刀)MP(调用子程序车螺纹嘚第一层深度)GXZMP(用子程序车螺纹的第二层深度)GXZMP(用子程序车螺纹的第二层深度)GXZ(向左赶刀)MP(用子程序车螺纹的第二层深度)GXZ(螺纹加工循环起点)MP(用子程序车螺纹的低径mmGXZ(向右赶刀)MP(用子程序车螺纹的低径mm)MP(用子程序车螺纹的低径mm)GXZ(向右赶刀)MP(用子程序车螺纹的低径mm)GXZ(向左赶刀)MP(用子程序车螺纹的低径mm)GxzMOGX#=#=NGX#Z#F#=#IF#GTGOTOGXZMOGX#=#=NGX#Z#F#=#IF#GTGOTOGXMOGX#=#=NGX#Z#F#=#IF#GTGOTOGXZM

额快递记得记得就到家额u就登记

咑客服肯德基阿胶粉洁厕剂额吉惦记惦记惦记相机飞机打击超级大就下机插卡的显卡飞机到看戏机超级大就刺激估计打击相机飞机手机相機打击

你对这个回答的评价是

我是线上报名学习的,效果还可以每天有vip的视听课程,可以问我课堂地址有相关学习资料分享

你对这個回答的评价是?

我要回帖

更多关于 宏程序视频 的文章

 

随机推荐