宏程序A类B类G65等常见公式用法
数控车床宏指令的使用
2009年全国技工教育和职业培训优秀教研成果评选活动参评论文数控车宏指令的使用数控车宏指令的使用摘要:数控车床系统,特别是中档数控车床系统使用宏指令编程,不太好用,因为宏指令有A类和B类,高档的数控车床系统多数用B类,中档的数控车床系统多数用A类,如广州数控设备厂的GSK980TD,A类宏指令不直观,难于理解,计算功能不全。
本文作者还未发现有关数控车床系统A、B类宏指令使用较为祥细介绍的书籍和文章。
本文作者通过对宏指令的研究,发现使用宏指令编写宏程序是有一定的规律,和其他电脑高级语言(如C语言)相近,不是初学者想象的那么复杂。
关键词:GSK980TD数控车系统宏程序非圆曲线程序前言:数控车床在日常生产中编程通常使用循环指令进行粗加工,因为当今的数控车系统有丰富的粗加工循环指令可供使用。
精加工程序是用基本指令(G01~G03)把轮廓基点有序连接起来的。
当今的数控车系统(特别是中、低档数控系统)很少有专门的非圆曲线精加工指令,这样一来非圆曲线精加工只能用宏指令编写精加工程序。
加工一些非圆曲线如随圆、抛物线,粗加工可以用CAD软件把精加工轮廓等距求出粗加工轮廓,用循环指令编写粗加工程序。
精加工程序可以用直线或圆弧去拟合精加工轮廓,如果轮廓精度要求较高时,拟合直线或圆弧长度可能只有几个或十几个微米(0.001mm),这样编写的精加工程序就可能成千上万段,在日常生产中不切合实际,因为:首先编写精加工程序时工作量非常大,易出错。
其次程序输入数控车操作系统时容易出错,在工厂很少人用电脑传送程序或DNC(边传送边加工)加工。
把由一组指令实现的某种功能象子程序一样事先存入存储器中,用一个命令代表这些功能。
程序中只要写出该代表命令,就能实现这些功能。
把这一组命令称为用户宏程序本体,把代表命令称为“用户宏命令”。
用户宏程序本体有时也简称宏程序。
宏程序可以作为子程序被调用,如数控铣床钻孔、数控车床切槽。
也可以作为精加工主程序使用,如加工非圆曲线。
宏程序
宏程序一、概念:含有变量的、能够根据设定数据变化而自行计算的,并运用的程序。
(一)格式:1、作为子程序的程序段。
2、作为结构化的子程序。
(用G65/G66调用)(二)分类:1、A类宏程序:调系统参数后调用即可。
2、B类宏程序:向用户开放的,自己编写的宏程序。
(三)步骤:1、工艺设计(刀具、走刀、流程)2、流程图:决定宏程序的思路,根据工艺进行设计。
二、常用指令(一)变量类型:1、局部变量:#1~#33可自由赋值,定义。
但在同一级程序中,同一个符号含义相同。
断电后初始化,清空不起作用,故称局部变量。
Ⅰ类地址宏变量Ⅰ类地址宏变量Ⅰ类地址宏变量A #1 J #5 V #22B #2 K #6 W #23C #3 M #13 X #24D #7 Q #17 Y #25E #8 R #18 Z #26F #9 S #19H #11 T #20I #4 U #21Ⅱ类地址宏变量Ⅱ类地址宏变量Ⅱ类地址宏变量A #1 J1#5 K2#9..B #2 K1#6 .......... #..........C #3 I2#7 J33#33I1#4 J2#8 K33#33使用过程中,Ⅰ类地址和Ⅱ地址可分开使用,也可以混合使用,在应用过程中,以后一个赋值为准,(即后指定的有效)CNC自动识别。
编程时I、J、K后的小数子角码不出现(CNC按顺序自动识别:I30、I50表示I1为30赋值#4,I2为50赋值于#7,即#4=30、#7=50)。
例:G65 P1000 I-3.0 I4.0 D5.0;含义为:调用O1000号子程序,其中的#4=-3.0,#7=5.0,(其中I4.0赋值#7=4.0、D5.0赋值#7=5.0,后一个有效,I4.0失效)。
2、公共变量:#100~#131、#500~#531。
在编程中,尽量避免使用公共变量,即使在不同的程序当中,同一变量含义相同,赋值也相同,在调用当中要千万小心。
3、系统变量:#2001~#2400、#11001~#12400(刀补)#4001~#4130、G、S、M等代码#5001~#5104;G54~G59等公共变量与系统变量一般都不用,重要学习的是基本Ⅰ、Ⅱ类变量的局部变量。
宏程序计算公式大全及详解
pro/e 关系式、函数的相关说明资料? 关系中使用的函数 数学函数 下列运算符可用于关系(包括等式和条件语句)中。 关系中也可以包括下列数学函数: cos () 余弦 tan () 正切 sin () 正弦 sqrt () 平方根 asin () 反正弦 acos () 反余弦 atan () 反正切 sinh () 双曲线正弦 cosh () 双曲线余弦 tanh () 双曲线正切 注释:所有三角函数都使用单位度。
蝴蝶曲线 球坐标 PRO/E 方程:rho = 8 * t theta = 360 * t * 4 phi = -360 * t * 8
Rhodonea 曲线 采用笛卡尔坐标系 theta=t*360*4 x=25+(10-6)*cos(theta)+10*cos((10/6-1)*theta) y=25+(10-6)*sin(theta)-6*sin((10/6-1)*theta) *********************************
旋刀是沿着平行于 x 轴方向作直线运动,故其 x 轴方向上渐开线各节的螺距, 即为单板的名义厚度. S=△χ[acos(2π+φ1)+a(2π+φ1)sin(2π+φ1)]-[acosφ1+acosφ1+ aφ1sinφ1] =[acosφ1+ a(2π+φ1)sinφ1] -[acosφ1+2φ1sinφ1] =21πasinφl 若要求 S 为恒值(S=2πα),φl 必须为 2πn+270°,因此 y=a sin270°— acos270°=-a=h 。 为 了 保 证 单 板 质 量 , 在 旋 切 加 工 过 程 中 希 望 旋 刀 相 对 于 木 段 的 后 角 (切 削 角 ) ,或 旋 刀 后 面 与 铅 垂 面 之 间 夹 角 ( θ),应 随 木 段 旋 切 直 径 的 减小而自动变小,而 h=-a=-s/2π之值是依 s 值改变而变化,故此时旋刀 的回转中心也应相应变化,这样旋切机结构太复杂了。由于这个原因,用 圆的渐开线作为设计旋切机旋刀与木段相互间的运动关系是不合适的。 与此相反,阿基米德旋线是比较理想的,不管单板的名义厚度的变化,A 值 总为零,旋刀的回转中心线不必改变。因此,目前它被作为设计旋切机旋 刀与木 段间运动关系的理论基础。 实际旋切时的运动轨迹 在生产中,旋刀刀刃安装高度(h)不一定同卡轴中心线连线在同一水平 面。这由于旋切木段的树种、旋切条件、旋切单板厚度、旋切机结构及精 度不同 等原因。为了得到优质单板,装刀时 h≠0,可为正值或负值,甚至旋刀中 部可 略高于旋刀的两端。在不同旋刀刀刃安装位置(h 值不同)时,旋切曲线将为: h>0 此时旋切曲线近似于阿基米德螺旋线; h=0 为阿基米德螺旋线; 0>h>-a 为伸长了的渐开线 h=-a 为渐开线; h<-a 为缩短了的渐开线。
用户宏程序及应用
#I=#J OR #k #I=#J XOR #k #I=#J AND #k #I=BIN[#J] #I=BCD[#J]
逻辑运算一位一位地按二进 制数执行
用于与PMC的信号交换
上一页 返回
表10 运算次序
例:#1=#2+#3*SIN[#4]
1 2 3
1、2、3表示运算次序
返回
表11 括号运算级数
例:#1=SIN[ [ [ #2 + #3 ] * #4 + #5 ] * #6 ]
G65 H01 P#100 Q40000;
#100=40mm
N10
G65 H01 P#101 Q20000;
#101=20 mm
N15
G65 H01 P#102 Q40000;
#102=40mm(初始值)
N20
G65 H28 P#103 Q#100 P#102;
#103=
#1002 #1022
下一页 返回
上一页 下一页 返回
A类宏程序编程
③ 在使用宏程序运算指令时,如果变量以角度形式指定, 其单位是0.001º。 ④ 在各运算中如果必要的Q、R没有指定,系统自动将其 值指定为“0”参与计算。
3. 转移指令
宏程序的转移指令和运算指令相似,是通过指令G65的不 同表达形式来实现的。
4. 编程应用
K9
I10 J10 K10
#30
#31 #32 #33
注:① 任何自变量前必须指定G65;② I、J、K的下标用于确定自变量指定顺序,在 编程中不写。 如:G65 A1.0 I2.3I4.5P1000;表示#1=1.0、#4=2.3、#7=4.5。
A类宏和B类宏
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数
值或变量号内的数值然后等于到P后面的变量号中.
H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101
以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使
用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;
宏程序A类B类G65等常见公式用法55页PPT
16、自己选择的路、跪着也要把它走 完。 17、一般情况下)不想三年以后的事, 只想现 在的事 。现在 有成就 ,以后 才能更 辉、学习的关键--重复。
20、懦弱的人只会裹足不前,莽撞的 人只能 引为烧 身,只 有真正 勇敢的 人才能 所向披 靡。
21、要知道对好事的称颂过于夸大,也会招来人们的反感轻蔑和嫉妒。——培根 22、业精于勤,荒于嬉;行成于思,毁于随。——韩愈
23、一切节省,归根到底都归结为时间的节省。——马克思 24、意志命运往往背道而驰,决心到最后会全部推倒。——莎士比亚
25、学习是劳动,是充满思想的劳动。——乌申斯基
谢谢!
宏程序具体计算公式及讲解
proe函数公式名称:正弦曲线建立环境:Pro/E软件、笛卡尔坐标系x=50*ty=10*sin(t*360)z=0名称:螺旋线(Helical curve)建立环境:PRO/E;圆柱坐标(cylindrical)r=ttheta=10+t*(20*360)z=t*3蝴蝶曲线球坐标 PRO/E方程:rho = 8 * ttheta = 360 * t * 4phi = -360 * t * 8Rhodonea 曲线采用笛卡尔坐标系theta=t*360*4x=25+(10-6)*cos(theta)+10*cos((10/6-1)*theta) y=25+(10-6)*sin(theta)-6*sin((10/6-1)*theta) *********************************圆内螺旋线采用柱座标系theta=t*360r=10+10*sin(6*theta)z=2*sin(6*theta)渐开线的方程r=1ang=360*ts=2*pi*r*tx0=s*cos(ang)y0=s*sin(ang)x=x0+s*sin(ang)y=y0-s*cos(ang)z=0对数曲线z=0x = 10*ty = log(10*t+0.0001)球面螺旋线(采用球坐标系)rho=4theta=t*180phi=t*360*20名称:双弧外摆线卡迪尔坐标方程: l=2.5b=2.5x=3*b*cos(t*360)+l*cos(3*t*360) Y=3*b*sin(t*360)+l*sin(3*t*360) 名称:星行线卡迪尔坐标方程:a=5x=a*(cos(t*360))^3y=a*(sin(t*360))^3名稱:心脏线建立環境:pro/e,圓柱坐標a=10r=a*(1+cos(theta))theta=t*360名稱:葉形線建立環境:笛卡儿坐標a=10x=3*a*t/(1+(t^3))y=3*a*(t^2)/(1+(t^3))笛卡儿坐标下的螺旋线x = 4 * cos ( t *(5*360))y = 4 * sin ( t *(5*360))z = 10*t一抛物线笛卡儿坐标x =(4 * t)y =(3 * t) + (5 * t ^2)z =0名稱:碟形弹簧建立環境:pro/e圓柱坐r = 5theta = t*3600z =(sin(3.5*theta-90))+24*t方程: 阿基米德螺旋线x = (a +f sin (t))cos(t)/ay = (a -2f +f sin (t))sin(t)/bpro/e关系式、函数的相关说明资料?关系中使用的函数数学函数下列运算符可用于关系(包括等式和条件语句)中。
数控编程宏程序详细教程
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数
以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使
用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用;
A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义:
数控中的宏程序 宏的分类
#I=ATAN[#j] 反正切
#I=SQRT[#j] 平方根
#I=ABS[#j] 绝对值
#I=ROUND[#j] 四舍五入化整
#I=FIX[#j] 上取整
#I=FUP[#j] 下取整
#I=BIN[#j] BCD→BIN(二进制)
H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数
H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么?
开平方根指令
H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方根的指令是没可能用宏做到的.
#5221值为X轴G54工件原点偏置值
入时必须输入小数点,小数点省略时单位为μm
运算指令
运算式的右边可以是常数、变量、函数、式子
式中#j,#k也可为常量
式子右边为变量号、运算式
1. 定义
#I=#j
2. 算术运算
#I=#j+#k
值或变量号内的数值然后等于到P后面的变量号中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101
G65 H04 P#101 Q#102 R10
数控宏程序的编制及应用
数控宏程序的编制及应用默认分类2008-11-30 21:25:47 阅读12 评论0 字号:大中小订阅.一、概述现行的数控程序的编制中,主要有两种编程方式:手工编程和自动编程。
虽然自动编程运用得越来越广泛,但手工编程在某些领域也是不可或缺的一种编程手段。
手工编程至少在此以下几方面有着自己的优势:其一,熟练的程序员编制的手工程序加工效率高于自动编程;其二,熟悉手工编程,对自动程序的修改是不无裨益的;其三,自动编程的所敲定的走刀路线限制了其加工工艺,通过手工编程能够得到弥补。
在手工编程过程中,用户宏程序的编制,能极大提高程序编制的效率,因此,我们在数控教学及训练过程中,必须把用户宏程序的编制作为我们数控教学的重要内容之一。
从历年全国数控大赛的试题中也不难发现,用户宏程序的编制是运用得极其频繁的。
但是,我们很难在目前的教材中找到完整的宏程序的编写的方法及思路。
为此,笔者提出了一整套设计用户宏程序的方法,通过利用流程图来设计用户宏程序,提高了编程的效率。
二、用户宏程序简介用户宏程序有A、B两种,A类宏程序用G65指令编写,其格式如下:G65 Hm P#i Q#j R#k其中,m—01~99表示运算命令或转移命令功能;#i—存入运算结果的变量名;#j—进行运算的变量名1,可以是常数,常数直接表示,不带#;#k—进行运算的变量名2,也可以是常数。
意义, #i=#j○#k,表示运算符号,常用意义如表1表1G代码H代码功能定义G65H01赋值#i=#jG65H02加法#i=#j+#kG65H03减法#i=#j-#kG65H04乘法#i=#j×#kG65H05除法#i=#j÷#kG65H80无条件转移转向NG65H81条件转移1IF #j=#k,GOTO NG65H82条件转移2IF #j≠#k,GOTO NG65H83条件转移3IF #j>#k,GOTO NG65H84条件转移4IF #j<#k,GOTO NG65H85条件转移5IF #j≥#k,GOTO NG65H86条件转移6IF #j≤#k,GOTO NG65H99产生P/S报警产生500+1号P/S报警除此以外,G65指令还可以实现逻辑运算、开平方、取绝对值、三角运算及复合运算等,相关指令见有关书籍,这里不一一介绍。
数控加工宏程序概述及用法
数控加工宏程序概述及用法宏程序的定义:由用户编写的专用程序,它类似于子程序,可用规定的指令作为代号,以便调用。
宏程序的代号称为宏指令。
宏程序的特点:宏程序可使用变量,可用变量执行相应操作;实际变量值可由宏程序指令赋给变量。
1、宏程序的简单调用格式宏程序的简单调用是指在主程序中,宏程序可以被单个程序段单次调用。
调用指令格式:G65 P(宏程序号)L(重复次数)(变量分配)其中:G65――宏程序调用指令P(宏程序号)――被调用的宏程序代号;L(重复次数)――宏程序重复运行的次数,重复次数为1时,可省略不写;(变量分配)――为宏程序中使用的变量赋值。
宏的书写调用1)直接调用:主程序体的一部分2)子程序调用:M98、M99(不含参数)3)含变量调用4)自定义调用:可以自己定义一个代码,G71、G72、G76均由宏程序编写宏程序与子程序相同的一点是,一个宏程序可被另一个宏程序调用,最多可调用4重。
2、宏程序的编写格式宏程序的编写格式与子程序相同。
宏程序内容中,除通常使用的编程指令外,还可使用变量、算术运算指令及其它控制指令。
变量值在宏程序调用指令中赋给。
3、变量变量用变量符号# 和后面的变量号指定。
例如#1表达式可以用于指定变量号此时表达式必须封闭在括号中例如#[#1+#2-12]当在程序中定义变量值时小数点可以省略例当定义#1=123 变量#1的实际值是123.000改变引用的变量值的符号要把负号一放在#的前面例如G00X—#1(1)变量的分配类型I, 这类变量中的文字变量与数字序号变量之间有如下表确定的关系。
上表中,文字变量为除G、L、N、O、P以外的英文字母,一般可不按字母顺序排列,但I、J、K例外;#1~#26为数字序号变量。
例:G65 P1000 A1.0 B2.0 I3.0则上述程序段为宏程序的简单调用格式,其含义为:调用宏程序号为1000的宏程序运行一次,并为宏程序中的变量赋值,其中:#1为1.0,#2为2.0,#4为3.0。
A型B型宏程序
A型宏程序G65H m宏指令表宏程序的运算与控制指令(G65)指令格式:G65 Hm P#i Q#j R#k 条件转移的指令格式:G65HmPmQ#jR#k #i :储存运算结果的变量号 Hm:条件转移指令#j :进行运算的变量号1,可以是常数 Pm:转移的地址#k :进行运算的变量号2,也可是常数 Q#j R#k:转移的条件B型宏程序(FANUC 0i Mate-MC系统)运算指令1、定义和转换#i=#j2、加法运算#i=#j+#k 和#i=#j-#k 差#i=#jOR#k 或(对32位的每一位)#i=#jXOR#k 异或(对32位的每一位)3、乘法运算#i=#j×#k 积#i=#j÷#k 商#i=#jAND#k 与(对32位的每一位)4、函数#i=SIN[#j] 正弦(度)#i=COS[#j] 余弦(度)#i=TAN[#j] 正切(度)#i=ATAN[#j]/[#k] 反正切(度)#i=SQRT[#j] 平方根#i=ABS[#j] 绝对值#i=BIN[#j] 十一二进制转换#i=BCD[#j] 二一十进制转换#i=ROUND[#j] 四舍五入圆整#i=FIX[#j] 舍去小数部分#i=FUP[#j] 小数部分进位到整数5、控制指令(1)无条件转移格式:GOTOn(2)条件转移格式:IF[(条件表达式)]GOTOn(条件表达式)有如下几种#jEQ#k 即#j=#k#jNE#k #j≠#k`#jGT#k #j>#k#jLT#k #j<#k#jGE#k #j≥#k#jLE#k #j≤#k例:IF[#4EQ#0]GOTO1N10G90```````````` WHILE[<条件表达式>]DOm `` ```` ```` ``IF[#ⅹEQ#ⅹ]GOTO1 ENDm (m=1、2、3…)(上、下对应,条件满足执行)编程中的一些辅助功能坐标旋转(G68、G69)指令G68 :旋转功能的建立G69 :旋转功能的取消指令的格式G17G18 G68X Y R [X、Y、Z(I、J、K)以G54定旋转中心的坐标,R为旋转角度]G19G17(G18或G19)平面的选择,在其上包括旋转的形状X Y :与G17、G18、G19相应的X、Y和Z中的两个轴的绝对指令,在G68后面指定旋转中心,当不指令时,则G68程序段的刀具位置被认为旋转中心。
宏程序变量设置
宏程序变量设置宏程序大家都在问宏程序~其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用..宏一般分为A类宏和B类宏.A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用; A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令: H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101 G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10 R#103 G65 H02 P#101 Q10 R20 上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数值或变量号内的数值然后等于到P后面的变量号中. H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101 G65 H03 P#101 Q#102 R10 G65 H03 P#101 Q10 R#103 G65 H03 P#101 Q20 R10 上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数值或变量号内的数值然后等于到P后面的变量号中. H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101 G65 H04 P#101 Q#102 R10 G65 H04 P#101 Q10 R#103 G65 H04 P#101 Q20 R10 上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数值或变量号内的数值然后等于到P后面的变量号中. H05除指令;格式G65H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101 G65 H05 P#101 Q#102 R10 G65 H05 P#101 Q10 R#103 G65 H05 P#101 Q20 R10 上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警) 三角函数指令: H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q 后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值. H32 COS余玄函数指令:格式G65 H32#101 Q#102 R#103;含义Q后面的#102是三角形的斜边 R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的另一条边长.和以前的指令一样Q和R后面也可以直接写数值. H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么? 开平方根指令: H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的. 无条件转移指令: H80;格式:G65 H80 P10 ;直接跳到第10程序段有条件转移指令: H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86; 格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段. 用户宏程序能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例 G65 H02 P#101 Q#102 R#103;(#101=#102
+#103)
3)减法 #i=#j-#k
编程格式 G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=
#102-#103)
4)乘法 #i=#j×#k
编程格式 G65 H04 P#i Q#j R#k
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• (2)逻辑运算指令
• 逻辑运算指令表
G码 H码
功能
G65 H11
逻辑“或”
定义 # i=# j ·OR ·# k
G65 H12
逻辑“与”
# i=# j ·AND ·# k
G65 H13
异或
# i=# j ·XOR ·# k
• 1)逻辑或#i=#j OR #k 编程格式G65 H11 P#i Q#j R#k 例G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103) 表
G码 H码
功能
定义
G65 H31
正弦
# i=# j ·SIN ﹙# k﹚
G65 H32
余弦
# i=# j ·COS ﹙# k﹚
G65 H33
正切
# i=# j ·TAN﹙# k﹚
G65 H34
反正切
# i=ATAN﹙# j/# k﹚
• 1)正弦函数#i=#j×SIN(#k) • 编程格式G65 H31 P#i Q#j R#k (单位:度) • 例G65 H31 P#101 Q#102 R#103;(#101=
• 2)逻辑与 #i=#j AND #k 编程格式 G65 H12 P#i Q#j R#k
例 G65 H12 P#101 Q#102 R#103;(#101=#102 AND
#10金3)品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• (3)三角函数指令
• 三角函数指令表
高技能人才培训宏程序教案
当作子程序调用:
• 主程序: • ……
• G65 P1000 X30.0 Y20.0
• ……
• 宏程序: • O1000 • …… • #100 = #24 • #101 = #25 • …… • M99
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量,即 将变量赋给一个地址。 (1)变量的表示 变量可以用“#”号和跟随其后的变量序号来表示:#i(i=1,2,3......) 例:#5, #109, #501。 (2)变量的引用
将跟随在一个地址后的数值用一个变量来代替,即引入了变量。 例:对于F#103,若#103=50时,则为F50; 对于Z-#110,若#110=100时,则Z为-100; 对于G#130,若#130=3时,则为G03。
例 G65 H04 P#101 Q#102 R#103;(#101=
#10金2品×#质1•0高3追) 求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• 5)除法 #i=#j / #k 编程格式 G65 H05 P#i Q#j R#k 例 G65 H05 P#101 Q#102 R#103;(#101= #102/#103) 6)平方根 #i= 编程格式 G65 H21 P#i Q#j 例 G65 H21 P#101 Q#102;(#101= ) 7)绝对值 #i=│#j│ 编程格式 G65 H22 P#i Q#j 例 G65 H22 P#101 Q#102;(#101=│#102│)
• 8)复合平方根1 #i= 编程格式 G65 H27 P#i Q#j R#k 例 G65 H27 P#101 Q#102 R#103;( #101= 9)复合平方根2 #i= 编程格式 G65 H28 P#i Q#j R#k 例 G65 H28 P#101 Q#102 R#103(#101= 金品质•高追求 我们让你更放心!
# i=√# j2-# k2
G65 H25 二进制码→BCD (十进制)码 # i=BCD﹙# j﹚
G65 H26 复合乘/除 G65 H27 复合平方根1
# i=﹙# i × # j﹚÷# k
# i=√# j2+# k2
G65 H28 复合平方根2
# i=√# j2-# k2
金品质•高追求 我们让你更放心!
• 2)系统变量 系统变量定义为:有固定用途的变量,它的值决定系统的状态
。系统变量包括刀具偏置变量,接口的输入/输出信号变量,位置 信息变量等。
系统变量的序号与系统的某种状态有严格的对应关系。例如 ,刀具偏置变量序号为#01~#99,这些值可以用变量替换的方 法加以改变,在序号1~99中,不用作刀偏量的变量可用作保持 型公共变量#500~#531。
◆语文•选修\中国高小技说欣能赏人•(才配培人训教版宏)程◆序教案
一、宏程序编程概念
宏程序的编制方法简单地解释就是:利用变量 编程的方法。
用户利用数控系统提供的变量、数学运算功能
、逻辑判断功能、程序循环功能等功能,来实现一
些特殊的用法。
x2
例如:椭圆的解析方程: a 2
y2 b2
1
椭圆的参数方程:其中t为变量 x a cos(t) y b sin(t)
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• 3、宏功能指令
• (1)算术运算指令
• 算术运算指令表
G码
H码
功能
定义
G65
H01 定义,替换
# i=# j
G65
H02
加
G65
H03
减
G65
H04
乘
G65
H05
除
# i=# j+# k # i=# j-# k # i=# j × # k # i=# j/# k
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• (4)控制类指令 • 控制类指令表
G码
H码
功能
定义
G65
H80 无条件转移
GO TO n
G65
H81 条件转移1
G65
H82 条件转移2
G65
H83 条件转移3
G65
H84 条件转移4
G65
H85 条件转移5
IF # j=# k,GOTOn IF # j≠# k,GOTOn IF # j># k,GOTOn IF # j<# k,GOTOn IF # j≥# k,GOTOn
G65
H21
平方根
# i=√# j
G65
H22
绝对值
# i=|# j|
G65
H23
求余
# i=# j-trunc﹙# j/# k﹚·# k Trunc: 小数部分舍去
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆ • 算术宏指令表(续)
G码 H码
功能
定义
G65 H24 BCD(十进制)码→二进制码 # i=BIN﹙# j﹚
• 2、宏指令G65
宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等 处理功能。
一般形式: G65 Hm P#i Q#j R#k 式中:
• m--宏程序功能,数值范围01~99; #i--运算结果存放处的变量名; #j--被操作的第一个变量,也可以是一个常数; #k--被操作的第二个变量,也可以是一个常数。 例如,当程序功能为加法运算时: 程序 P#100 Q#101 R#102...... 含义为#100=#101+#102 程序 P#100 Q-#101 R#102...... 含义为#100=-#101+#102 程序 P#100 Q#101 R15...... 含义为#100=#101+15
#102×SIN(#103))
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• 2)余弦函数#i=#j×COS(#k) 编程格式G65 H32 P#i Q#j R#k (单位:度) 例G65 H32 P#101 Q#102 R#103;(#101= #102×COS(#103)) 3)正切函数#i=#j×TAN#k 编程格式G65 H33 P#i Q#j R#k (单位:度) 例G65 H33 P#101 Q#102 R#103;(#101= #102×TAN(#103)) 4)反正切#i=ATAN(#j/#k) 编程格式G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o) 例G65 H34 P#101 Q#102 R#103;(#101= ATAN(#102/#103))
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• 接口输入信号#1000~#1015,#1032。通过阅读这些系统变量, 可以知道各输入口的情况。当变量值为“1”时,说明接点闭合;当 变量值为“0”时,表明接点断开。这些变量的数值不能被替换。阅 读变量#1032,所有输入信号一次读入。
◆语文•选修\中国高小技说欣能赏人•(才配培人训教版宏)程◆序教案
放在主程序体中
O001 …… N50 #100=30.0 N60 #101=20.0 N70 G01 X#100 Y#101 F500.0 …… M30
金品质•高追求 我们让你更放心!
返回
◆语文•选修\中国小说欣赏•(配人教版)◆
• 二、A类宏功能(FANUC-0TD)