




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,用户宏程序虽然子程序对编制相同加工操作的程序非常有用,但用户宏程序由于允许使用变量、算术和逻辑运算及条件转移,使得编制相同加工操作的程序更方便,更容易。可将相同加工操作编为通用程序,如型腔加工宏程序和固定加工循环宏程序。使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。,.,2,(最多999次),.,3,.,4,.,5,一、变量,1、变量使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。#1=#2+100;G01X#1F300;2、变量的表示计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#1#1+#2-12,.,6,3、变量的类型,.,7,4、变量值得范围局部变量和公共变量可以有0值或下面范围中的值:1047至1029或1029至10475、变量的引用为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,把表达式放在括号中。例如:G01X#1F#2+#3,.,8,被引用变量的值根据地址的最小设定单位自动地舍入。例如:G00X#1,以11000mm的单位执行时,CNC把12.3456赋值给变量#1,实际指令值为G00X12.346;。改变引用变量的值的符号,要把负号(一)放在#的前面。例如:G00X#1;当引用未定义的变量时,变量及地址字都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为:G00X0;,.,9,6、未定义的变量变量值未定义时,这样的变量成为“空”变量。变量#0总是空变量。它不能写,只能读。(1)引用,.,10,(2)运算,.,11,(3)条件表达式,.,12,7、限制程序号、顺序号和程序跳转号不能使用变量例如:O#1;N#2G00X100.0/#3Y200.0,.,13,二、系统变量,1、刀具补偿值,.,14,2、时间信息,.,15,3、自动运行控制可以改变自动运行的控制状态,.,16,当电源接通时,该变量的值为0。当单程序段停止无效时,即使单程序段开关设为ON,也不执行单程序段停止。当不指定等待辅助功能(M,S和T功能)完成时,在辅助功能完成之前,程序执行到下列程序段。而且分配完成信号DEN不输出。,.,17,.,18,当电源接通时,该变量的值为0。当进给暂停无效时:(1)当进给暂停按钮被按下时,机床在单段停止方式停止。但是。当用变量#3003使单程序段方式无效时,单程序段停止不执行。(2)当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停止;程序继续执行,并且机床停在进给暂停有效的第一个程序段。当进给速度倍率无效时,总是100的倍率,而不管机床操作面板上的进给速度倍率开关的设置。当准确停止检测无效时,即使那些不执行切削的程序段也不进行准确停止检测(位置检测)。,.,19,攻丝循环中使用变量3004的例子,N5,N7,.,20,4、已加工的零件数,.,21,5、当前位置(只读),.,22,图中第1位代表轴号(从1到4)。变量#5081#5084存储的刀具长度偏置值是当前的执行值,不是后面的程序段的处理值。在G31(跳转功能)程序段中跳转信号接通时的刀具位置贮存在变量#5061到#5068中。当G31程序段中的跳转信号不接通时,这些变量中贮存指定程序段的终点值。移动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值.,.,23,6、工件坐标系补偿值(工件零点偏移值),.,24,.,25,三、算术和逻辑运算,下列的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。1、(定义)赋值:#i=#j;2、加法:#i=#j+#k3、减法:#i=#j-#k4、乘法:#i=#j*#k5、除法:#i=#j/#k,.,26,6、正弦:#i=SIN#j;7、反正弦:#i=ASIN#j;8、余弦:#i=COS#j;角度以度指定9、反余弦:#i=ACOS#j;9030表示为10、正切:#i=TAN#j;90.5度11、反正切:#i=ATAN#j/#K;12、平方根:#i=SQRT#j;13、绝对值:#i=ABS#j;14、舍入:#i=ROUND#j;15、上取整:#i=FUP#j;16、下取整:#i=FIX#j;17、自然对数:#i=LN#j;y=lnx18、指数函数:#i=EXP#j;y=ex,.,27,19、或:#i=#jOR#k;20、异或:#i=#jXOR#k;按位执行21、与:#i=#jAND#k;22、从BCD转为BIN#i=BIN#j;23、从BIN转为BCD#i=BCD#j;注:ARCSIN#i=ASIN#j取值范围当No.6004.0=0时:27090No.6004.0=1时:-9090ARCCOS#I=ACOS#j取值范围1800,.,28,.,29,ARCTAN#i=ATAN#j/#K;取值范围当No.6004.0=0时:0360No.6004.0=1时:-180180,3/2,/2,2,0,/2,-/2,-,0,第一象限,第二象限,第四象限,第一象限,第二象限,第三象限,第三象限,第四象限,.,30,ROUND函数在逻辑运算指令IF、WHILE中,ROUND函数在第一个小数位四舍五入。例如#2=1.2345;#1=ROUND#2;变量1的值是1.0在NC语句地址中,ROUND函数根据地值得最小设定单位指定四舍五入。例如#1=1.2345;#2=2.3456;G00G91X-#1;G01X-#2F300;G00X#1+#2;1.2345+2.3456=3.5801=3.580不返回到初始位置或G00X-ROUND#1+ROUND#21.235+2.346=3.581刀具返回到初始位置,.,31,上取整和下取整CNC处理数值运算时,若操作后产生的整数绝对值大于原数的绝对值时为上取整,小于原数的绝对值时为下取整。设:#1=1.2,#2=-1.2#3=FUP#1;则2.0赋给#3#3=FIX#1;则1.0赋给#3#3=FUP#2;则-2.0赋给#3#3=FIX#2;则-1.0赋给#3,.,32,运算次序函数乘、除(*、/、AND)加、减(+、-、OR、XOR)括号嵌套(方括号,圆括号用于说明)括号用于改变运算次序,可以使用5级。,.,33,四、宏程序语句和NC,下面的程序段为宏程序语句:包含算术或逻辑运算()的程序段。包含控制语句(例如,GOTO,DO,END)的程序段。包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段。除了宏程序语句以外的任何程序段都为NC语句。,.,34,说明与NC语句的不同即使置于单程序段运行方式,机床也不停止。但是,当参数No.6000.5SBM设定为1时,在单程序段方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理。,.,35,与宏程序语句有相同性质的NC语句含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)句不包含O.N.P或L以外的指令地址的程序段其性质与宏程序语句相同。,.,36,五、转移和循环,使用GOTO语句和IF语句可以改变控制的流向。有三中转移和循环可供使用。GOTO无条件转移IF条件转移WHILE当型循环1、无条件转移GOTOn;n为顺序例如:GOTO1;GOTO#10;,.,37,2、条件转移IFGOTOn例如:IF#1GT10GOTO2程序N2G00G91X10.0IFTHEN例如:IF#1EQ#2THEN#3=0运算符:EQ等于(=)NE不等于()GT大于()GE大于等于()LT小于()LE小于等于(),条件不满足,条件满足,.,38,例:求110的总和。O9000;#1=0;#2=1;N1IF#2GT10GOTO2;#1=#1+#2;#2=#2+1;GOTO1;N2M30;,.,39,3、循环WHILEDOm;程序;ENDm;程序;说明:m=1,2,3,可以多次使用。最多嵌套三层。省略WHILE,则产生从DO到END的无限循环。WHILE比GOTO处理快。,条件满足,条件不满足,.,40,标号可以多次使用:WHILEDO1;程序;END1;WHILEDO1;程序;END1;,可以嵌套3层:WHILEDO1;WHILEDO2;WHILEDO3;程序;END3;END2;END1;,可以跳到循环外边:WHILEDO1;IFGOTOn;END1;N1,.,41,DO的范围不能交叉:WHILEDO1;程序;WHILEDO2;END1;程序;END2;,转移不能进入循环区:IFGOTOn;WHILEDO1;N1;END1;,.,42,六、宏程序调用,宏程序调用方法:非模态调用(G65)模态调用(G66、G67)用G代码调用宏程序用M代码调用宏程序用M代码调用子程序用T代码调用子程序,.,43,1、非模态调用(G65)格式:G65PpLl其中:p:要调用的程序号l:重复次数(默认值为1)自变量:数据传递到宏程序,其值被赋值到相应的局部变量,有两种指定形式。,.,44,自变量指定,注:每个字母只指定一次,可以不按顺序,但I、J、K需按顺序指定。,.,45,自变量指定,.,46,自变量指定、混合。CNC内部能够自动识别自变量指定、,后指定的有效。例如:G65A1.0B2.0I-3.0I4.0D5.0P1000;则#1=1.0#2=2.0#3#4=-3.0#5=#6#7=4.0#7=5.0,.,47,调用嵌套和局部变量的级别:可以嵌套4级。,主程序,.,48,例:如图所示,编制一个宏程序加工圆上的孔,孔深为Z。圆周的半径为I,起始角为A,间隔为B,钻孔数为H,圆的中心是(X,Y)。,.,49,调用格式:G65P9100XxYyZzRrIiAaBbHh;X:圆心的X坐标(#24)Y:圆心的Y坐标(#25)Z:孔深(#26)R:快速趋近点坐标(#18)F:切削进给速度(#9)I:圆半径(#4)A:第一孔的角度(#1)B:增量角(指定负值时为顾时针)(#2)H:孔数(#11),.,50,主程序:O002;G90G92X0Y0Z100;G65P9100X100Y50R30Z-50F500I100A0B45H5;M30;,.,51,宏程序:O9100;#3=#4003;储存03组G代码G81Z#26R#18F#9K0;钻孔循环,也可以使用L0IF#3EQ90GOTO1;在G90方式转移到N1#24=#5001+#24;计算圆心的X坐标#25=#5002+#25;计算圆心的Y坐标N1WHILE#11GT0DO1;直到剩余孔数为0#5=#24+#4COS#1;计算X轴上的孔位#6=#25+#4SIN#1;计算Y轴上的孔位G90X#5Y#6;移动到目标位置之后执行钻孔#1=#1+#2;更新角度#11=#11-1;孔数-1END1;G#3G80;返回原始状态的G代码M99;,.,52,2、模态调用(G66)格式:G66PpLl其中:p:要调用的程序号l:重复次数(默认值为1)自变量:数据传递到宏程序G67取消模态调用。注:嵌套可以4级;在G66程序段中,不能调用多个宏程序在只有辅助功能无移动指令的程序段中不能调用宏程序;局部变量只能在G66程序段中指定,每次执行模态调用时,不再指定局部变量。,.,53,O0001;G66P9100L2A1.0B2.0;G00G90X100.0;Y200.0X150Y300;G67;M30;,O9100;G00Z-#1;G01Z-#2F300;M99;,.,54,例:用宏程序编制G81固定循环的操作,第1步,第2步,第3步,第4步,Z=0,R点,Z,R,初始平面,I点,.,55,G65P9110XxYyZzRrFfL1X:孔的X坐标(由绝对值指定)(#24)Y:孔的Y坐标(由绝对值指定)(#25)Z:Z点坐标(由绝对值指定)(#26)R:R点坐标(由绝对值指定)(#18)F:切削进给速度(#9)L:重复次数,.,56,主程序:O001;G92X0Y0Z50;G00G90X100Y50;G66P9110Z-20R1F500;G90X20Y20;X50;Y50;X0Y80;G67;M30;,.,57,宏程序:O9110;#1=#4001;储存G00/G01#2=#4003;储存G90/G91#3=#4019;储存切削进给速度#5=#5003;储存钻孔开始的Z坐标G00G90Z#18;定位在R点G01Z#26F#9;切削进给到Z点IF4010EQ98GOTO1;返回到I点G00#18;定位在R点GOTO2;N1G00Z#5;定位在I点N2G#1G#2G#3;恢复模态信息。M99;,.,58,3、用G代码调用宏程序在参数(No.6050到No.6059)中设置调用用户宏程序(O9010到O9019)的G代码号(从1到9999),调用方法同G65.注:不能嵌套!,.,59,参数号和程序号之间的对应关系:,.,60,O0001;G81X10Y20Z-10M30;,O9010;M99;,参数No.6050=81,.,61,4、用M代码调用宏程序在参数(No.6080到No.6089)中设置调用用户宏程序(O9021到O9029)的M代码号(从1到9999),调用方法同G65.注:不能嵌套!,.,62,参数号和程序号之间的对应关系:,.,63,O0001;G50A1B2;M30;,O9020;M99;,参数No.6080=50,.,64,5、用M代码调用子程序在参数(No.6071到No.6079)中设置调用用户宏程序(O9001到O9009)的M代码号(从1到9999),调用方法同M98.,.,65,参数号和程序号之间的对应关系:,.,66,O0001;M03;M30;,O9001;M99;,参数No.6071=03,.,67,6、用T代码调用子程序设置参数No.6001的第5位TCS=1,当加工程序中指定T代码,可以调用宏程序O9000。在加工程序中指定的T代码赋值到公共变量#149中。,.,68,O0001;T23;M30;,O9000;M99;,参数No.6001的5位=1#149=23,.,69,.,70,使用以下保持型变量:#502:半径r;#503:起始角度;#504:孔数n,当n时,按逆时针方向加工,当n时,按顺时针方向加工;#505:孔底Z坐标值;#506:平面坐标值;#507:进给量。,.,71,使用以下变量进行操作运算:#100:表示第i步钻孔的记数器;#101:记数器的最终值(为n的绝对值)#102:第i个孔的角度位置的值;#103:第i个孔的X坐标值;#104:第i个孔的Y坐标值;,.,72,O9010N110G65H01P#100Q0N120G65H22P#101Q#504N130G65H04P#102Q#100R360N140G65H05P#102Q#102R#504N150G65H02P#102Q#503R#102N160G65H32P#102Q#502R#102N170G65H31P#1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气管肿瘤术后护理规范与要点
- 原地单手肩上投篮
- 劳动教育实施路径与实践创新
- 中华护理学会介绍
- 呼吸内科创建简介
- 采购招标法律法规
- 购物中心教育培训商业化探索
- 手术室胃切除护理查房
- 子痫前期重度术后护理
- 2025年零售门店数字化技术应用在顾客互动营销中的策略报告
- DZ∕T 0388-2021 矿区地下水监测规范(正式版)
- 脑干损伤护理常规
- 机动车安全技术检验操作规范标准
- MOOC 数值天气预报-南京信息工程大学 中国大学慕课答案
- 跨座式单轨交通工程接触网系统技术标准
- 教师口语智慧树知到期末考试答案2024年
- 从乙醇的结构看其发生化学反应时键的断裂位置和方式
- 2024年江西赣州旅游投资集团限公司招聘13人高频考题难、易错点模拟试题(共500题)附带答案详解
- 小学信息技术所有知识点大汇总(最全)
- 好老师是民族的希望
- 项目建设审批流程课件
评论
0/150
提交评论