ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:36.50KB ,
资源ID:8281335      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8281335.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数控宏程序资料38页word.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数控宏程序资料38页word.docx

1、数控宏程序资料38页word宏程序一般说来,“教师”概念之形成经历了十分漫长的历史。杨士勋(唐初学者,四门博士)春秋谷梁传疏曰:“师者教人以不及,故谓师为师资也”。这儿的“师资”,其实就是先秦而后历代对教师的别称之一。韩非子也有云:“今有不才之子师长教之弗为变”其“师长”当然也指教师。这儿的“师资”和“师长”可称为“教师”概念的雏形,但仍说不上是名副其实的“教师”,因为“教师”必须要有明确的传授知识的对象和本身明确的职责。 数控程序中含有变量的程序称为宏程序。观察内容的选择,我本着先静后动,由近及远的原则,有目的、有计划的先安排与幼儿生活接近的,能理解的观察内容。随机观察也是不可少的,是相当有

2、趣的,如蜻蜓、蚯蚓、毛毛虫等,孩子一边观察,一边提问,兴趣很浓。我提供的观察对象,注意形象逼真,色彩鲜明,大小适中,引导幼儿多角度多层面地进行观察,保证每个幼儿看得到,看得清。看得清才能说得正确。在观察过程中指导。我注意帮助幼儿学习正确的观察方法,即按顺序观察和抓住事物的不同特征重点观察,观察与说话相结合,在观察中积累词汇,理解词汇,如一次我抓住时机,引导幼儿观察雷雨,雷雨前天空急剧变化,乌云密布,我问幼儿乌云是什么样子的,有的孩子说:乌云像大海的波浪。有的孩子说“乌云跑得飞快。”我加以肯定说“这是乌云滚滚。”当幼儿看到闪电时,我告诉他“这叫电光闪闪。”接着幼儿听到雷声惊叫起来,我抓住时机说:

3、“这就是雷声隆隆。”一会儿下起了大雨,我问:“雨下得怎样?”幼儿说大极了,我就舀一盆水往下一倒,作比较观察,让幼儿掌握“倾盆大雨”这个词。雨后,我又带幼儿观察晴朗的天空,朗诵自编的一首儿歌:“蓝天高,白云飘,鸟儿飞,树儿摇,太阳公公咪咪笑。”这样抓住特征见景生情,幼儿不仅印象深刻,对雷雨前后气象变化的词语学得快,记得牢,而且会应用。我还在观察的基础上,引导幼儿联想,让他们与以往学的词语、生活经验联系起来,在发展想象力中发展语言。如啄木鸟的嘴是长长的,尖尖的,硬硬的,像医生用的手术刀样,给大树开刀治病。通过联想,幼儿能够生动形象地描述观察对象。 虽然子程序对编制相同的加工程序非常有用,但用户宏程

4、序由于允许要练说,得练看。看与说是统一的,看不准就难以说得好。练看,就是训练幼儿的观察能力,扩大幼儿的认知范围,让幼儿在观察事物、观察生活、观察自然的活动中,积累词汇、理解词义、发展语言。在运用观察法组织活动时,我着眼观察于观察对象的选择,着力于观察过程的指导,着重于幼儿观察能力和语言表达能力的提高。 使用变量、算术和逻辑运算及条件转移,使得编制同样的加工程序更简便。例如型腔加工宏程序和用户开发固定循环。使用时,加工程序可用一条简单指令调出用户宏程序,和调用子程序完全一样。1.1 变量 普通加工程序直接用数值指定G代码和移动距离;例如,G01 和X100.0。使用用户宏程序时,数值可以直接指定

5、或用变量指定。当用变量时,变量值可用程序或用MDI 面板操作改变。#1=#2+100;G01 X#1 F300;说明变量的表示 一般编程方法允许对变量命名,但用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1表达式可以用于指定变量号。此时,表达式必须封闭在括号中。例如:#1+#2-12变量的类型 变量根据变量号可以分成四种类型。变量值的范围局部变量和公共变量可以为0 值或下面范围中的值:-1047 到-10-29或10-29 到1047如果计算结果超出有效范围,则发出P/S 报警No.111小数点的省略 当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1

6、的实际值是123.000。变量的引用 在地址后指定变量号即可引用其变量值。当用表达式指定变量时,要把表达式放在括号中。例如:G01X#1+#2F#3;被引用变量的值根据地址的最小设定单位自动地舍入。例如:当系统的最小输入增量为1/1000mm 单位,指令G00X#1,并将12.3456 赋值给变量#1,实际指令值为G00X12.346;。改变引用变量的值的符号,要把负号()放在#的前面。例如:G00X#1;当引用未定义的变量时,变量及地址字都被忽略。例如:当变量#1 的值是0,并且变量#2 的值是空时,G00X#1 Y#2 的执行结果为G00X0;。 双轨迹(双轨迹控制)的公共变量对双轨迹控制

7、,系统为每一轨迹都提供了单独的宏变量。但是,根据参数No.6036 和6037 的设定,某些公共变量可同时用于两个轨迹。未定义的变量 当变量值未定义时,这样的变量成为“空”变量。变量#0 总是空变量。它不能写,只能读。(a)引用当引用一个未定义的变量时,地址本身也被忽略。(b)运算除了用赋值以外,其余情况下与0 相同。当变量值是空白时,变量是空。符号*表示溢出(当变量的绝对值大于99999999 时)或下溢出(当变量的绝对值小于0.0000001 时)。限制程序号,顺序号和任选程序段跳转号不能使用变量。例:下面情况不能使用变量:#1;/#2G00X100.0;N#3Y200.0;1.2 系统变

8、量 系统变量用于读和写NC 内部数据,例如,刀具偏置值和当前位置数据。但是,某些系统变量只能读。系统变量是自动控制和通用程序开发的基础。说明接口信号 是可编程机床控制器(PMC)和用户宏程序之间交换的信号。刀具补偿值 用系统变量可以读和写刀具补偿值。可使用的变量数取决于刀补数,是否区分外形补偿和磨损补偿以及是否区分刀长补偿和刀尖补偿。当偏置组数小于等于200 时,也可使用#2019#2400。宏程序报警例:#3000=1(TOOL NOT FOUND)报警屏幕上显示“3001 TOOL NOT FOUND”(刀具未找到)停止和信息显示 程序停止执行并显示信息。时间信息 时间信息可以读和写。自动

9、运行控制 可以改变自动运行的控制状态。当电源接通时,该变量的值为0。当单程序段停止无效时,即使单程序段开关设为ON,也不执行单程序段停止。当指定不等待辅助功能(M,S 和T 功能)完成时,在辅助功能完成之前,程序即执行到下一程序段。而且分配完成信号DEN 不输出。当电源接通时,该变量的值为0。当进给暂停无效时:(1) 当进给暂停按钮被按下时,机床以单段停止方式停止。但是,当用变量#3003 使单程序段方式无效时,单程序段停止不执行。(2) 当进给暂停按钮压下又松开时,进给暂停灯亮,但是,机床不停止;程序继续执行,并且机床停在进给暂停有效的第一个程序段。当进给速度倍率无效时,倍率总为100%,而

10、不管机床操作面板上的进给速度倍率开关的设置。当准确停止检测无效时,即使那些不执行切削的程序段也不进行准确停止检测(位置检测)SETTING 值 SETTING 值可用变量读和写。二进制数转换为十进制数。镜像使用外部开关或SETTING 操作设置的各轴镜像状态可以通过输出信号(镜像检测信号)读出。可以检测当前的镜像状态(见III4.6 节)。得到的二进制值转换成十进制。当用镜像信号和SETTING 两者对某轴设置镜像功能时,信号值和设定值相或,然后输出。当控制轴以外的轴的镜像功能接通时,它们也被读进系统变量#3007。系统变量#3007 是写保护的系统变量。如果试图在变量中写数据,则发出P/S1

11、16 报警“WRITE PROTECTED VARIABLE”。已加工的零件数 要求的零件数(目标数)和已加工的零件数(完成数)可以读和写。模态信息正在处理的程序段之前的模态信息可以读出。例:当执行#1=#4002;时,在#1 中得到的值是17,18 或19。对于不能使用的G 代码组,如果指定系统变量读取相应的模态信息,则发出P/S 报警。当前位置位置信息不能写,只能读。 第1 位代表轴号(从1 到3)。 变量#5081#5083 存储的刀具长度补偿值是当前的执行值,不是后面程序段的处理值。 在G31(跳转功能)程序段中跳转信号接通时的刀具位置储存在变量#5061 到#5063 中。当G31

12、程序段中的跳转信号未接通时,这些变量中储存指定程序段的终点值。 移动期间不能读是指由于缓冲(预读)功能的原因,不能读期望值。工件坐标系补偿值工件零点偏移值的系统变量 (工件零点偏移值)可以使用以下变量1.3 算术和逻辑运算表15.3(a)中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和/或由函数或运算符组成的变量。表达式中的变量#j 和#k 可以用常数替换。左边的变量也可以用表达式赋值。表15.3(a) 算术和逻辑运算角度单位函数SIN,COS,ASIN,ACOS,TAN 和ATAN 的角度单位是度。如9030表示为90.5 度。ARCSIN # i=ASIN#j 𙦥

13、8; 取值范围如下:当参数(No.6004#0)NAT 位设为0 时,27090当参数(No.6004#0)NAT 位设为1 时,-9090 当#j 超出-1 到1 的范围时,发出P/S 报警No.111。常数可替代变量#j。ARCCOS # i =ACOS#j 􀁺 取值范围从1800。当#j 超出-1 到1 的范围时,发出P/S 报警No.111。常数可以替代变量#jARCTAN 指定两个边的长度,并用斜杠(/)分开。#i=ATAN#j/#k; 取值范围如下:当NAT 位(参数No.6004,#0)设为0 时:0到360例如当指定#1=ATAN-1/-1;时,#1=225。

14、当NAT 位(参数No.6004,#0)设为1 时,-180到180例如当指定#1=ATAN-1/-1;时,#1=-135.0。 常数可以代替变量# j。注意,相对误差可能大于10-8。 自然对数#i=LN#j;当反对数(# j)为0 或小于0 时,发出P/S 报警No.111。常数可以代替变量# j。注意,相对误差可能大于10-8。 指数函数#i=EXP#j当运算结果超过3.651047(j 大约是110)时,出现溢出并发出P/S报警No.111。常数可以代替变量#j。 ROUND(舍入)函数 当算术运算或逻辑运算指令IF 或WHILE 中包含ROUND 函数时,则ROUND函数在第1 个小

15、数位置四舍五入。例:当执行#1=ROUND#2;时,此处#2=1.2345,变量1 的值是1.0。当在NC 语句地址中使用ROUND 函数时,ROUND 函数根据地址的最小设定单位将指定值四舍五入。例:编制钻削加工程序,按变量#1 和#2 的值切削,然后返回到初始位置。假定最小设定单位是1/1000mm,变量#1 是1.2345, 变量#2 是2.3456,则,G00 G91 X-#1;移动1.235mmG01 X-#2 F300;移动2.346mmG00 X#1+#2;由于1.2345+2.3456=3.5801,移动距离为3.580,刀具不会返回到初始位置。该误差来自于舍入之前还是舍入之后

16、相加。必须指定G00X-ROUND#1+ROUND#2以使刀具返回到初始位置。上取整和下取整 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。 算术与逻辑运算指令的缩写 程序中指令函数时,函数名的前二个字符可以用于指定该函数(见9.7 节)。例如:ROUNDROFIXFI 运算次序 函数 乘和除运算(*、/

17、、AND) 加和减运算(+、-、OR、XOR)括号嵌套 括号用于改变运算次序。括号可以使用5 级,包括函数内部使用的括号。当超过5 级时,出现P/S 报警No.118。限制括号 (,)用于封闭表达式。注意,圆括号用于注释。运算误差 运算时,可能出现误差。表15.3(b) 运算中的误差注1 相对误差取决于运算结果。2 使用两类误差的较小者。3 绝对误差是常数,而不管运算结果。4 函数TAN 执行SIN/COS。5 如果SIN、COS 或TAN 函数的运算结果小于1.010-8 或由于运算精度的限制不为0 的话,设定参数o.60041 为1,则运算结果可以规算为0。变量值的精度约为8 位十进制数。

18、当在加/减运算中处理非常大的数时,将得不到期望的结果。例:当试图把下面的值赋给变量#1 和#2 时:#1=9876543210123.456#2=9876543277777.777变量值变成:#1=9876543200000.000#2=9876543300000.000此时,当计算#3=#2-#1;时,结果为#3=100000.000。(该计算的实际结果稍有误差,因为是以二进制执行的。)还应该意识到,使用条件表达式EQ,NE,GE,GT,LE 和LT 时可能造成误差。例如:IF#1EQ#2的运算会受 #1 和#2 的误差的影响,由此会造成错误的判断。因此,应该用IFABS#1-#2LT0.0

19、01代替上述语句,以避免两个变量的误差。当两个变量的差值未超过允许极限(此处为0.001)时,则认为两个变量的值是相等的。使用下取整指令时应小心。例如:当计算#2=#1*1000,式中#1=0.002 时,变量#2 的结果值不是准确的2,可能是1.99999997。这里,当指定#3=FIX#2时,变量3 的结果值不是2,而是1.0。此时,可先纠正误差,再执行下取整,或是用如下的四舍五入操作,即可得到正确结果。#3=FIX#2+0.001#3=ROUND#2除数当在除法或TAN90中指定为0 的除数时,出现P/S 报警No.112。1.4 宏程序语句和NC 语句 下面的程序段为宏程序语句:包含算

20、术或逻辑运算(=)的程序段。包含控制语句(例如,GOTO,DO,END)的程序段。包含宏程序调用指令(例如,用G65,G66,G67 或其它G 代码,M代码调用宏程序)的程序段。除了宏程序语句以外的任何程序段都为NC 语句。说明􀁺 与NC 语句的不同 即使置于单程序段运行方式,机床也不停止。但是,当参数No.6000#5SBM 设定为1 时,在单程序段方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为不移动程序段处理(见II15.7 节)。􀁺 与宏程序语句有相 含有子程序调用指令(例如,用M98 或其它M 代码或用T 代码调用子程序)但没有除O,N 或

21、L 地址之外的其它地址指令的NC 语句,其性质与宏程序语句相同。同性质的NC 语句不包含除O,N,P 或L 以外的指令地址的程序段其性质与宏程序语句相同。1.5 转移和循环 在程序中,使用GOTO 语句和IF 语句可以改变控制的流向。有三种转移和循环操作可供使用: 无条件转移 转移到标有顺序号n 的程序段。当指定1 到99999 以外的顺序号时,出现P/S 报警No.128。可用表达式指定顺序号。 例:GOTO 1;GOTO #10;转移和循环 GOTO 语句(无条件转移)IF 语句(条件转移:IFTHEN)WHILE 语句(当时循环)GOTOn; n:顺序号(1 到99999)条件转移(IF

22、 语句) IF 之后指定条件表达式。IFGOTO n 如果指定的条件表达式满足时,转移到标有顺序号n 的程序段。如果指定的条件表达式不满足,执行下个程序段。IFTHEN 如果条件表达式满足,执行预先决定的宏程序语句。只执行一个宏程序语句。条件表达式条件表达式必须包括运算符。运算符插在两个变量中间或变量和常数中间,并且用括号(,)封闭。表达式可以替代变量。运算符运算符由2 个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等号。示例程序 下面的程序计算数值110 的总和9500;#1=0;存储和的变量初值#2=1;被加数变量的初值N1 IF#2 GT 1

23、0GOTO 2;当被加数大于10 时转移到N2#1=#1+#2;计算和#2=#2+#1;下一个被加数GOTO 1;转到N1N2 M30;程序结束循环(WHILE 语句) 在WHILE 后指定一个条件表达式。当指定条件满足时,执行从DO 到END 之间的程序。否则,转到END 后的程序段。说明 当指定的条件满足时,执行WHILE 后从DO 到END 之间的程序。否则,转而执行END 之后的程序段。与IF 语句的指令格式相同。DO 后的数和END 后的数为指定程序执行范围的标号,标号值为1,2,3。若用1,2,3 以外的值会产生P/S 报警No.126。嵌套 在DOEND 循环中的标号(1 到3)

24、可根据需要多次使用。但是,当程序有交叉重复循环(DO 范围重叠)时,出现P/S 报警No.124。说明无限循环 当指定DO 而没有指定WHILE 语句时,产生从DO 到END 的无限循环。 处理时间 在处理有标号转移的GOTO 语句时,进行顺序号检索。反向检索的时间要比正向检索长。用WHILE 语句实现循环可减少处理时间。未定义的变量 在使用EQ 或NE 的条件表达式中,和零有不同的效果。在其它形式的条件表达式中,被当作零。示例程序 下面的程序计算数值1 到10 的总和。宏程序调用 用以下方法调用宏程序:宏程序调用和子程序调用之间的差别宏程序调用(G65)不同于子程序调用(G98),如下所述。

25、用G65,可以指定自变量(数据传送到宏程序)。M98 没有该功能。当M98 程序段包含另一个NC 指令(例如,G01 X100.0 M98 Pp)时,在指令执行之后调用子程序。相反,G65 无条件地调用宏程序。M98 程序段包含另一个NC 指令(例如,G01 X100.0 M98 Pp)时,在单程序段方式中,机床停止。相反,G65 机床不停止。用G65,改变局部变量的级别。用M98,不改变局部变量的级别。非模态调用(G65) 当指定G65 时,以地址P 指定的用户宏程序被调用。数据(自变量)能传递到用户宏程序体中。说明调用在G65 之后,用地址P 指定用户宏程序的程序号。当要求重复时,在地址L

26、 后指定从1 到9999 的重复次数。省略L 值时,认为L 等于1。使用自变量指定,其值被赋值到相应的局部变量。 自变量指定 可用两种形式的自变量指定。自变量指定使用除了G,L,O,N 和P以外的字母,每个字母指定一次。自变量指定使用A,B,C 和Ii,Ji和Ki(i 为110)。根据使用的字母,自动决定自变量指定的类型。地址G,L,N,和P 不能在自变量中使用。不需要指定的地址可以省略,对应于省略地址的局部变量为空。地址不需要按字母顺序指定。但应符合字地址的格式。I,J 和K 需要按字母顺序指定。例:B_A_D_J_K_正确B_A_D_J_I_不正确自变量指定自变量指定使用A,B 和C 各1

27、 次,I,J,K 各10 次。自变量指定用于传递诸如三维坐标值。限制 格式 任何自变量前必须指定G65。自变量指定、混合使用 CNC 内部自动识别自变量指定和自变量指定。如果自变量指定和自变量指定混合指定,后指定的自变量类型有效。小数点的位置 不带小数点的自变量,其数据单位为各地址的最小设定单位。传递不带小数点的自变量,其值会根据机床实际的系统配置变化。在宏程序调用中使用小数点可使程序兼容性好。 调用嵌套 调用可以嵌套4 级,包括非模态调用(G65)和模态调用(G66)。但不包括子程序调用(M98)。局部变量的级别 局部变量嵌套从0 到4 级。主程序是0 级宏程序每调用1 次(用G65 或G6

28、6),局部变量级别加1。前1 级的局部变量值保存在CNC 中。当宏程序执行M99 时,控制返回到调用程序。此时,局部变量级别减1,并恢复宏程序调用时保存的局部变量值。示例程序(圆周螺纹孔) 编制一个宏程序加工轮圆上的孔。圆周的半径为I,起始角为A,间隔为B,钻孔数为H,圆的中心是(X,Y)。指令可以用绝对值或增量值指定。顺时针方向钻孔时B 应指定负值。调用格式G65 P9100 Xx Yy Zz Rr Ff Ii Aa Bb Hh;X:圆心的X 坐标(绝对值或增量值指定)(#24)Y:圆心的Y 坐标(绝对值或增量值指定)(#25)Z:孔深(#26)R:趋近点坐标(#18)F:切削进给速度(#9

29、)I:圆半径(#4)A:第一孔的角度(#1)B:增量角(指定负值时为顺时针)(#2)H:孔数(#11)宏程序调用程序 0002;G90 G92 X0 Y0 Z100.0;G65 P9100 X100.0 Y50.0 R30.0 Z-50.0 F500 I100.0 A0 B45.0 H5;M30;宏程序(被调用的程序) 9100;#3=#4003;储存03 组G 代码G81 Z#26 R#18 F#9 K0;(注)钻孔循环注:也可以使用L0IF#3 EQ 90GOTO 1;在G90 方式转移到N1#24=#5001+#24;计算圆心的X 坐标#25=#5002+#25;计算圆心的Y 坐标N1

30、WHILE#11 GT 0DO 1;直到剩余孔数为0#5=#24+#4*COS#1;计算X 轴上的孔位#6=#25+#4*SIN+1; 计算Y 轴上的孔位G90 X#5 Y#6;移动到目标位置之后执行钻孔#1=#1+#2;更新角度#11=#11-1;孔数-1END 1;G#3 G80;返回原始状态的G 代码M99;变量的含义#3:储存03 组的G 代码#5:下个孔的X 坐标#6:下个孔的Y 坐标模态调用(G66) 一旦发出G66 则指定模态调用,即在指定轴移动的程序段后调用宏程序。G67 取消模态调用说明 调用 在G66 之后,用地址P 指定模态调用的程序号。当要求重复时,在地址L 后指定从1 到9999 的重复次数。与非模态调用(G65)相同,自变量指定的数据传递到宏程序体中。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1