用户宏程序范文(精选11篇)
用户宏程序 第1篇
一、宏程序应用基础
数控宏程序是一种应用变量进行运算 (包括算术、逻辑及混合运算等) 的程序编写形式。对于编制复杂零件的加工程序, 应用宏程序不仅提高编程效率、精简程序量, 同时还充分发挥数控系统的性能, 增强机床的加工能力。
(一) 宏变量
宏程序中使用的变量称为宏变量。在宏程序中, 由于引入了变量, 使程序变得更具通用性, 更加灵活。变量分为系统变量、公共变量和局部变量3类。
宏程序中变量由变量符号“#”及变量号组成。例如:#101, #102等。一般情况下, 还可以用表达式指定变量号, 但需用中括号“[]”将表达式括起来, 故而, 宏变量表达为:#i或#[<表达式>], 如:#101, #[#102-#105+30]
使用变量时, 可采用程序或MDI方式很方便地修改变量值。例如:
(二) 变量的赋值和运算
变量的赋值是指给一个变量赋予确定值或运算值的过程, 其格式为:#i=#j或#i=#j+#k。变量的赋值有直接赋值和间接赋值两种。直接赋值是将数值或变量直接赋值, 如#2=10, #3=#5;间接赋值是用演算式赋值, 即把演算式演算的结果赋值给某个变量, 如#5=10, #6=30, #8=SQRT[#5*#5+#6*#6]。表1-1为宏程序中常用的函数运算功能。
(三) 宏程序的功能语句
宏程序中, 通常借助于功能语句的判断条件来控制程序的运动轨迹, 进而决定程序的顺序。常用的功能语句有GOTO语句、IF语句和WHILE语句, 其格式说明见下表1-2所示。
二、宏程序数学基础
宏程序编程是运用数学算法动态求得加工轨迹坐标数据的编程方法, 因此宏程序的应用离不开相关的数学知识。对于含有方程曲线类几何图形的零件, 采用宏程序编程时通常应用参数方程来表达。常见曲线的标准方程和参数方程如表1-3所示。
三、椭圆曲线宏编程实例
椭圆曲线是比较典型的二次曲线, 绝大多数的数控系统没有椭圆插补指令, 因此对椭圆轮廓的编程用直线或圆弧插补来逼近。现以与坐标系重合的正椭圆为例, 介绍宏程序的编程应用。
如图1-1所示, 为中心在坐标原点的椭圆曲线, 长半轴为a, 短半轴为b。由表1-3可查的, 椭圆曲线的参数方程为:x=agcos y=bgsint;t为椭圆的离心角
考虑到刀具半径r的作用, 由刀具中心走刀生成的椭圆的长半轴为a+r, 短半轴为b+r。则用FUNUC0I编制的椭圆轮廓程序为:
四、结论
虽然CAD/CAM软件自动编程已经广泛应用, 但是数控宏程序在加工二次曲线组成的轮廓零件时仍有着广阔的应用空间, 尤其是宏程序具有变量功能, 程序短小简练, 可读性好。本文介绍了宏程序的应用基础、数学基础, 并以椭圆的形状的宏程序为例, 介绍了宏程序的应用。
摘要:数控宏程序因短小精练, 可读性好且采用了大量的编程技巧, 有着广泛的应用空间, 是各类数控技能比赛中经常出现的考点, 本文介绍了宏程序的应用基础、数学基础, 并以椭圆的形状的宏程序为例, 介绍了宏程序的应用。
数控编程--宏程序教案 第2篇
教案
一、组织教学
检查学生出勤情况
二、复习提问
1、画图,椭圆怎么加工
2、举例,一个任意形状的工件,如何在边上倒圆角
三、相关专业理论基础
1、看、画图零件
2、加工工艺分析与编写数控加工工艺卡
3、装夹方法与定位方法的分析
4、华中系统编程规则
5、刀具的选择
6、检验方法与检测技巧
三、课题训练思路
采用综合例题方式,按上述要求逐一分组进行,加工前教师进行加工讲评,对程序验证后进行加工,加工完教师进行总结讲评,指出加工过程中的错误和不合格项。
四、课题内容 用数控加工中心铣床加工出如下图所示零件,材料为铝,毛坯为75*75mm,按图样要求完成零件的加工。
五、新授课
如何使加工中心这种高效自动化机床更好地发挥效益,其关键之一,就是开发和提高数控系统的使用性能。宏程序的应用,是提高数控系统使用性能的有效途径。下面就宏程序的应用。
(一)什么是宏程序?
什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如:(1)G01X[#3+#5];有表达式#3+#5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[#3]];有函数运算
2.使用了程序流程控制(决策能力),例如:(1)WHILE有条件循环命令
(二)用宏程编程有什么好处?
1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。
(三)宏变量及宏常量 1.宏变量
先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号变量的使用,给程序的设计带来了极大的灵活性。
使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、??等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000#50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值 M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量
编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M993.全局变量
编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序
#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和
子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。
(四)常量 PI:圆周率π
角度用弧度表示:1°对应 PI/180弧度
(五)运算符
1、算数运算符 +-* /
2、条件运算符
EQ(=)NE(≠)GT(>)GE(≥)LT(<)LE(≦)
3、逻辑运算符
AND(与)OR(或)NOT(异或)
(六)函数
SIN[正弦] COS[余弦] TAN[正切] EXP[指数] ATAN[反正切] ABS[绝对值] INT[取整] FIX[上取整] FUP[下取整] SQRT[开方]
(六)循环语句(WHILE语句)(七)宏指令编程
%O0001 #1=20(定义a值)#2=10(定义b值)
#4=5(定义刀具补偿半径R值)#5=0(定义步距角初始值)
G90G54G0X0Y0S1500M3 G43X#1Y#2D01 G01Z-5F30 G01Y0F100 WHILE[#5LE360] G01X[#1*COS[#5*PI/180]]Y-[#2*SIN[#5*PI/180]] #5=#5+2 ENDW GOG40Z100 M30 %
六、结束语
浅谈宏程序的实际应用 第3篇
【关键词】:数控加工 宏程序 宏程序应用实例
中图分类号:TH164 文献标识码:B 文章编号:1003-8809(2010)06-0002-02
随着现代制造技术的发展和数控机床的日益普及,数控加工在我国得到广泛的应用,其中相当比例的数控铣床应用在模具行业,由于模具加工的特殊性,以及众所周知的非技术性原因,各种CAD/CAM软件的应用由来已久,且日趋成熟,随处可见UG、Cimatron、MasterCAM、Powermill等世界知名CAD/CAM软件的身影。
一、宏程序的特点
由于种种因素的影响,大多数只知道一味的依赖各种CAD/CAM软件,从而造成手式编程的基本能力得不到训练和提高,而真正博大精深的CAD/CAM软件也不过掌握一些皮毛而已。手工编程和宏程序的应用空间也日趋缩小了。特别是大家对宏程序不熟悉、往往误以为宏程序深不可测。
当然现在用CAD/CAM软件编制加工程序已经成为潮流了,但是用CAD/CAM软件生成的程序,情况则要复杂得多:
首先,CAD/CAM软件生成的程序通常都比较大,非常容易突破机床数控系统内部程序存储空间的限制。其次,使用CAD/CAM软件来生成刀具轨迹及加工程序,无论构造规则或不规则的曲面,都有一个数学运算的过程,也必然存在着计算的误差。
另一方面,宏程序天生短小精悍,占用内存小。另一方面,宏程序会最大限度地使用数控内部的各种指令代码,因此在执行宏程序时,数控系统可以进行插补运算,且运算速度极快,从而使得极大限度的提高了加工效率。
下面通过一个简单的实例来进行宏程序和CAD/CAM软件程序的对比。
如下图所示,一个最基本的圆孔内腔加工,圆孔尺寸为:φ60x30,分别用宏程序(图2)和CAD/CAM程序(图3)来生成程序:
大家分别可以从图2和图3可以看出来,宏程序编制的程序短小精悍只有276个字节,C AD/CAM软件生成的程序相对而言更加的臃肿有17.9 KB。
二、宏程序的编写格式
用户宏程序本体的编写格式与子程序的格式相同。
在用户宏程序本体中,可以使用普通的NC指令,采用变量的NC指令、运算指令和控制指令。格式如下:
Oxxxx;
#26= #4+ #18 x Cos[# 1]; 运算指令
G90 GOO X#26; 普通和变量NC指令
……
……
IF [#22 GE # 9〕GOTO 9; 控制指令
……
N9 M99
变量可以用于宏程序本体,可以指定运算和控制指令。用宏程序调用命令赋予变量实际值。
三、宏程序应用举例
本例是采用局部变量来编,如图4所示此零件是采用伯努力双钮曲线构成的曲面回转体。(本例以经过在我校BeiJing Fanuc Series of Mate-TC数控车床上验证),只车双钮曲线部分。因为考虑到无法一刀车完,所以就分别用了A-B,A-D两部分来加工完成,并且是以A点为起刀点。(最大毛坯直径为110mm)
伯努力双钮曲线极坐标方程:R2=r2COS2a
r=39.598
图4
编制A-B宏程序如下:
O0001; 程序名
G98 G54 G00 X120 Z150; 建立工作坐标系G54,定位于安全点
M03 S600; 600r/min,主轴正转
T0101; 01号刀
G00 X110 Z5; 起刀点
#1=39.598; 双钮曲线最大曲率半径
#3=0; 定义角度初始值为0
WHILE[#3 LE 45] DO1; 如果加工角度#3≤45度,循环1继续
#7=#3+45; 定义图形旋转45度
#4=#1*SQRT[COS2*#3]; 求出角度为#3的曲率半径
#5=#4*COS[#7]; 求出角度为#3的X坐标
#6=#4*SIN[#7]; 求出角度为#3的Z坐标
#8=[#5*2+40]; X方向加上孔的直径40mm
#9=[#6-31]; Z方向往Z负方向移进31mm
G01 X[#8] Z[#9] F60; 以G01移至点B,进给速度为60mm/min
#3=#3+0.1; 角度#3以0.1依次递增
END1; 循环1结束
G00 X28; X方向退刀
Z200; Z方向退刀
M05; 主轴停止
M30; 程序结束
编制A-D宏程序如下:
O0002; 程序名
G98 G54 G00 X120 Z150; 建立工作坐标系G54,定位于安全点
M03 S600; 600r/min,主轴正转
T0202; 02号刀
G00 X110 Z5; 起刀点
#1=39.598; 双钮曲线最大曲率半径
#3=0; 定义角度初始值为0
WHILE[#3 LE-30]DO1; 如果加工角度#3≤45度,循环1继续
#7=#3+45; 定义图形旋转45度
#4=#!*SQRT[COS2*#3]; 求出角度为#3的曲率半径
#5=#4*COS[#7]; 求出角度为#3的X坐标
#6=#4*SIN[#7]; 求出角度为#3的Z坐标
#8=[#5*2+40]; X方向加上孔的直径40mm
#9=[#6-31]; Z方向往Z负方向移进31mm
G01 X[#8] Z[#9] F60; 以G01移至点C,进给速度为60mm/min
#3=#3-0.1; 角度#3以0.1依次递减
END1; 循环1结束
G01 X65 Z-39 F60; 以G01移至点D,进给速度为60mm/min
G00 X110; X方向退刀
Z200; Z方向退刀
M30; 程序结束
四、结束语
用户宏程序 第4篇
数控编程可以分为手工编程和自动编程两大类,用户宏程序的编程是指手工编程,通常手工编程的指令是指ISO代码指令,每个代码的功能是固定的,由系统厂家开发,使用者只需按照规定编程即可。但有时候这些指令满足不了用户的需要,系统因此提供了用户宏程序的功能,使用户可以对数控系统进行一定的功能扩展,在数控系统的平台上进行二次开发。
宏程序具有灵活性、通用性和智能性等特点,对于规则曲面的编程来说,使用CAD/CAM软件编程一般都有工作量大,程序庞大,加工参数不易修改等缺点,只要任何一项加工参数发生任何变化,再智能的软件也要根据变化后的加工参数重新计算刀具轨迹,尽管软件计算刀具轨迹的速度非常快,但始终是个比较麻烦的过程。而宏程序则注重把机床功能参数与编程语言结合,而且灵活的参数设置也使机床具有最佳的工作性能,同时也给予操作工人极大的自由调整空间。另外使用宏程序编程的最大特点就是将有规律的形状或尺寸用最短的程序段表示出来,具有较好的易读性和易修改性,编写出的程序非常简洁,逻辑严密,通用性极强,而且机床在执行此类程序时,比执行CAD/CAM软件生成的程序更加快捷,反应更迅速。
2 回转体方程曲面变量的表达式
构成零件几何因素有点、直线、圆弧,复杂轮廓可能会有各种二次非圆曲线(椭圆、抛物线、双曲线),以及一些渐开线(常用于齿轮及凸轮等),所有这些都是基于三角函数、解析几何的应用,而数学上都可以用数学表达式及参数方程加以表述,因此宏程序在此有广泛的应用空间,可以发挥其强大的作用。
2.1 椭圆曲面变量的表达式
图1为带椭圆曲面的回转体零件,在数控加工中,以O作为零点建立由X轴和Z轴组成的工件坐标系如图所示,在图中已知椭圆的圆心坐标为(X0,Z0),椭圆在X轴方向的半轴为a,椭圆在Z轴方向的半轴为b,椭圆的方程可以写为:
通常回转体类零件图纸标注尺寸为轴向和径向尺寸,为了减少编程误差,我们在编程时把Z作为已知变量,当Z由Z1变化到Z2时,变量X的表达式为:。当加工如图1带凸椭圆曲面的回转体时,;当加工带凹椭圆曲面的回转体时,
2.2 抛物面变量的表达式
图3为带开口向下的抛物面回转体零件,图中已知抛物面顶点的坐标为(X0,Z0),抛物线方程为:X-X0=-k(Z-Z0)2。以Z作为已知变量,则变量X=X0-k(Z-Z0)。当加工带开口向上的抛物面回转体零件,则变量X=X0+k(Z-Z0)。
2.3 双曲线曲面变量的表达式
3 回转体方程曲面宏程序的开发
采用FANUC0i系统的宏程序编制方法完成的回转体方程曲面宏程序如下:
4 回转体方程曲面宏程序仿真
当毛坯为Φ60,加工椭圆曲面时,已知参数a=23,b=40,X0=0,Z0=-22,Z1=0,Z2=-44,变量X表达式,其曲面宏程序的仿真结果如图6所示。
当毛坯为Φ50,加工抛物线曲面时,已知参数X0=0,Z0=0,K=10,Z1=0,Z2=-20,变量X表达式为,其曲面宏程序的仿真结果如图7所示。
当毛坯为Φ80,加工双曲线曲面时,已知参数X0=20,Z0=-20,a=5,b=15,Z1=0,Z2=-30,变量X表达式为,其曲面宏程序的仿真结果如图8所示。
当毛坯为Φ50,加工双曲线曲面时,已知参数X0=20,Z0=-20,a=5,b=15,Z1=0,Z2=-30,变量X表达式为,其曲面宏程序的仿真结果见图9。
通过对构成回转体方程曲面中非圆曲线的12种变量表达式的分析,开发出适合加工各种回转体方程曲面的用户宏程序,对数控编程与加工具有十分重要的现实指导意义。
参考文献
[1]袁锋.全国数控大赛试题精选[M].北京:机械工业出版社,2005.
[2]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社,2006.
用户宏程序 第5篇
关键词:宏程序;数控铣削;凸台类零件;数控教学;FANUC-0i数控系统 文献标识码:A
中图分类号:TG659 文章编号:1009-2374(2015)15-0052-02 DOI:10.13535/j.cnki.11-4406/n.2015.15.026
在数控铣削加工中,平面类零件加工是学生铣床操作加工的基础,以平面类零件加工为基础,学生的技能知识编程水平需要通过更为复杂的零件加工去提高,从而为达到技师水平而做必要的准备。同时在数控铣床加工中,凸台类零件的加工是此类零件的典型,对于凸台类零件加工方法有很多,可以采用循环指令,也可以单线一步步完成,可以利用软件建模自动生成程序,还可以采用宏程序进行变量编程加工。用宏程序可以提高加工效率,达到预期的效果,本文就宏程序在数控铣削凸台的应用为例,归纳总结出宏程序在解决复杂零件加工的编程技巧,同时体现在数控教学的应用中。
1 凸台零件分析
针对典型凸台零件展开分析,零件主要由凸台、凹槽、外轮廓和孔组成,孔表面的加工方法有钻孔、扩孔、铰孔、镗孔、拉孔、磨孔及光加工方法选择原则。平面轮廓常采用的加工方法有数控铣、线切割及磨削等可采用粗铣-精铣方案。凸台部分利用数控宏程序进行加工,选择以上方法完全可以保证尺寸、形状精度和表面粗糙度要求。典型零件图如图1所示:
图1
此典型零件本文分析的主要是凸台圆弧的加工,其他的加工可以采用数控铣床的常用平面类零件的加工方法来实现,对于圆弧面的加工采用之前的方法已无法正常实现,所以在此特正面上采用宏程序的编制方法来实现。
2 凸台零件工艺分析
针对典型零件的情况分析,对零件的毛坯选择、刀具选择、切削用量进行逐一的分析,这里不作重点解释,主要情况如下:材料选择为45号钢,刀具采用硬质合金铣刀,选择切削用量的原则是:粗加工时,以提高生产率为主,但也应考虑经济性和加工成本;半精加工和精加工时,应在保证加工质量的前提下,兼顾切削效率、经济性和加工成本,加工参数的确定取决于操作人员的实际工作经验、工件要求的加工精度以及其表面质量、工件的材料性质、刀具的种类以及刀具形状、铣刀的刚性等许多因素,夹具选用机用平口钳,主要工艺表格如表1:
表1
工序号刀具号刀具名称刀具作用
1T01Φ120平面铣刀加工平面,控制零件高度
2T02Φ10键槽刀零件凹槽,正面凸台,粗铣Φ20孔,Φ26孔,外轮廓
3T03Φ3中心钻加工定位孔
4T04Φ9.7钻头钻削基本孔
5T05Φ10铰刀加工Φ100+0.015的孔
6T06Φ20铰刀加工Φ200+0.007的孔
7T07螺纹铣刀加工M28X1.5螺纹
3 宏程序编程分析
采用的主要技巧是宏程序分层法铣削凸台,针对如图2圆弧段,现将铣削凸台的宏程序主程序示范如下:
图2
G1 Z-13 F500; 刀具降至加工点
#1=0; 铣削第一段凸台圆角度赋值
WHILE [#1 LE 89.9] DO1; 条件判断,当#1小于等于89.9°时执行循环1
#3=3*SIN[#1]; 计算X,Y轴变量坐标值
#5=10+[#3]; 计算Z轴坐标值
G1 Z-#5 F80; 循环一次后Z轴上抬的高度
G1 G41 X#4 YO D1 F1000; 建立刀补
G2 I-#4;
#1=#1+0.5 角度递增
END 1; 循环1结束
#6=4.888; 第二段圆弧角度赋值
WHILE [#6 LE 15.094] DO2 当#6小于等于15.094°时执行循环2
#8=69.298-200*SIN[#6]; 计算X轴坐标值
#9=189.488-200*COS[#6]; 计算Y轴坐标值
G1 Z#9 F80;
G1 X#8 YO F1000;
#6=#6+0.2;
END 2; 循环2结束
#12=15.094 第三段角度赋值
WHILE[#12 LE 90]DO1; 当#12小于等于90°时执行循环3
#13=3*SIN[#12]+15; 计算X轴坐标值
#14=3*COS[#12]+10; 计算Y轴坐标值
G1 Z#14 F80;
G1 X#13 YO F1000;
#12=#12+0.5;
END 3; 循环3结束
以上程序基于FANUC-0i系统的数控铣床编写,编程技巧主要体现如下三点:(1)三段圆弧必须能够相切,可以通过圆弧段的条件角度控制;(2)铣削第二段圆弧时递增角度不宜太大,否则圆弧台阶较大,可选择较小的角度,以保证铣削出较小台阶的圆弧段;(3)切入方法可以使用直线切入切出,也可以使用圆弧切入切出,但圆弧切入切出需多次建立和取消刀补,且对此圆弧段编程太过于繁琐,所以采用直线切入切出方式,只需要建立一次刀补,刀补可以在刀具返回起刀点时取消,此方法可以提高加工效率。
4 教学应用
针对典型凸台零件加工的过程中,加工方法有多种多样,学生在学习的过程中可以多种方法都进行比较试做,主要有如下方法:(1)采用M98循环指令:偏置量采用每圈0.5毫米,重点计算出总共需要多少次循环和嵌套,学生在体验过程中明显发现,编写循环指令比较复杂,而且特别容易计算出错,在运行中也容易引起系统报警,在这个过程中,可以和学生提出,其实循环指令的应用原理与宏程序是一致的,只不过宏程序体现在自动计算很强大,无需像M98指令需要人为的计算相关节点等;(2)采用软件进行自动编程:自动编程首先需要进行建模,对操作者的软件操作能力有一定的要求,建模完成还需进行系统匹配,对刀点确立,在大批量的生产当中优势是相当巨大的,只不过在手工编程中,宏程序体现的硬实力是基础,有了宏程序的基础,再加上软件的编程能力,学生的技能知识水平也是质的飞跃,而软件自动生成程序是单线一步步的程序,是相当长的程序,如若出现差错,检查起来非常费力;(3)体验竞赛教学:在教学过程中,让学生在各个机床上采用课堂内竞赛的方式,让学生多体验各种方法,并在自己的操作中提高认识,在各种方法的体验比赛中获得技巧,从而达到融会贯通。让学生之间互相交流,老师在旁指导,并不需要肯定某些方法,更不需要对学生采用手把手的教学方式,学生在实践中获取技能才是最好的方法,宏程序的编写操作在此类方法中会让学生有很大的提升。
5 结语
本文通过对典型凸球面类零件数控铣削加工技巧分析,采用多种方法比较,以宏程序编写为重点突出了加工技巧的应用,着力提高学生数控铣床的操作能力以及编程能力,使得学生在数控教学中占据主动地位,为后续的数控学习打下坚实的基础。
参考文献
[1] 杜军.FANUC宏程序编程技巧与实例精解[M].北京:化学工业出版社,2010.
[2] 韩鸿鸾.数控编程[M].北京:中国劳动社会保障出版社,2004.
作者简介:董捷(1982-),男,浙江金华人,供职于浙江交通技师学院机电技术系,研究方向:机械工程及其自
动化。
用户宏程序 第6篇
关键词:用户宏指令,编程,数控车床,应用
使用数控技术进行工件加工时, 经常会遇到需要加工的工件的轮廓比较复杂的状况, 使用传统的手工编程的方法其处理的时间比较长, 并且需要处理的计算量也比较大, 很容易出现错误, 很难满足当前生产的需求。随着科技的发展, 先进的数控技术的应用, 为编程提供了扩展的空间, 相应的用户宏指令编程在数控编程中的应用, 可以使工程序简练易懂, 实现普通编程难以达到的功能效果。
1 用户宏指令编程概述
用户宏指令编程也被称之为参数编程, 其一般是通过改变程序当中的使用变量, 使其达到所需的效果。在相应的宏指令当中一般会使用变量来代替相应的数值, 其变量一般会使用#n来表示, 比如:#1、#10、#100等, 其中1、10、100被称为变量号, 相应的变量根据变量号可以风味以下四种类型:系统变量, 一般来说#1000以上的变量都是系统变量, 其主要的作用是读取运行过程当中的各种数据, 比如切削过程中刀具当前的位置等。公共变量, 公共变量在不同的的宏程序当中所表达的含义也是不同的。局部变量, 其一般只能应用到相应的宏程序的数据储存当中, 比如计算结果的储存。空变量, 一般来说使用#0表示相应的空变量, 空变量不能被任何的数值赋予相应的质量, 这个变量总是为空的。
用户宏指令编程还具有相应的功能语句, 以此来指挥相应的动作, 其可以控制数控加工当中加工工序的运行的轨迹, 其主要是经过对相应的条件进行判断, 从而决定程序的正常的运行, 比较常见的一些功能语句有条件转移语句、非条件转移语句以及循环功能语句。
2 用户宏指令编程的原理和方法
2.1 用户宏指令编程的原理
用户宏指令编程主要是依据变量来进行相应的数据编程的过程, 利用相应的控制系统可以对相关的变量进行计算, 并且其变量还可能被重新进行相应的赋值, 使相应的变量随着程序的循环而进行自动的增减和运算的过程, 以此来实现工件加工过程中的循环加工的过程。在进行相对比较复杂的非圆曲线加工时, 系统可以进行自动的计算, 保障零件加工所需的精确度, 满足相应的设计要求, 使复杂的工件加工编程变得更加的简单。
2.2 用户宏指令编程的基本方法
用户宏指令编程的基本方法:首先要将相应的变量初始化, 也就是给相应的变量以赋初值;其次是编制相应的加工程序, 如果发生编制的程序比较复杂, 并且所用到的变量也比较多的情况, 则可以设置相应的子程序, 从而使主程序更加的简单;第三就是根据实际的情况, 修改相应的变量值;最后就是加工结果的判断, 如果没有完成加工, 则要返回进行相应的加工, 如果完成加工过程, 则相应的程序结束。相应的用户宏指令编程程序结构 (如图1所示) 。
3 用户宏程序在数控编程加工中的优势
宏功能是数控车床加工程序编程当中重要的技术组成, 其可以提高数控加工的性能, 其可以对相应的变量进行计算, 使用相应的变量来进行相关程序的操作, 使程序的应用变得更加的简单、快捷、方便。在宏程序当中, 使用实现指定好的变量来代替相应的指令数值, 并且给出计算好的变量值, 另外其更改的过程也非常的简单, 如果程序当中有某些数据需要进行更改, 只需要将相应的变量值重新进行赋值就可以完成相应的更改过程。在宏程序当中已经被赋值的变量, 在以后加工程序需要进行变更的时候, 可以进行重新赋值的过程, 其原来的内容可以被新的内容所代替, 使数控编程变得更加的方便。另外宏程序当中逻辑计算和算数计算的功能, 可以满足不同的用户的不同需求, 减少了在编程过程中繁琐的计算, 使编程的过程变得更加的方便和快捷, 提高了编程的效率。用户宏指令编程适用于各种的轮廓曲线的编程, 方便加工零件的编程, 使数控编程变得更加的简单。此外使用用户宏指令编程在数控加工中, 其可以增加相应的程序的柔性, 可以实现使用同一个程序加工工件形状的相似, 材料不同的工件加工, 还可以实现形状轮廓相似, 对于轮廓可以按照相应的比例进行缩放的过程, 方便零件加工程序的编程。
4 用户宏指令编程在数控车零件加工中应用分析
在实际的生产加工中, 会出现不同型号的同类零件的加工, 其规格尺寸的大小各不相同, 如果对不同规格的每个零件都进行编程, 很浪费时间, 并且容易出现错误。采用用户宏指令编程, 会很大程度上简化加工的程序, 例如在进行D343X10D蝶阀阀体工件加工时, 可以在加工完成一个规格零件的加工后, 对其相应的变量按照下一个零件要求的规格进行相应的从新赋值, 只需要将变量原来表示的内容替换成当前所需的内容既可以完成相应的程序的编程, 使编程的过程变得更为方便, 使加工零件的编程效率得到有效的提高, 并且使其精确度得到很好的保障。
5 总结
在数控加工当中使用用户宏指令编程可以很大程度上提高编程的速度, 降低编程过程中错误情况发生的概率, 并且还可以提高机床的使用率。另外还能解决相应的结构复杂的编程困难的情况, 使其加工变得更为简单, 提高加工的效率, 促进数控加工行业的发展。
参考文献
[1]杜勇奕.宏指令在数控编程加工中的应用[J].考试周刊.2012, 17 (46) :64-71
用户宏程序 第7篇
要想在Access中实现多用户的注册与登录, 一般需要编写VBA代码。所谓注册, 就是把多个不同的用户账号 (即用户名) 及其密码写入一个数据库的用户表中, 这里有一个关键问题是要保证新注册的用户名与用户表中已有的用户名不重复。为此, 一般需要编写VBA代码来拿新用户欲注册的用户名与数据库用户表中已经存在的所有用户名一一进行比较以判断是否有重复。而我巧妙地利用表中主键字段的值不允许有重复值也不可以为空值这一特性, 把用户表的用户名字段设置为主键就很轻松自然地实现了避免用户名重复的功能, 而无需编写VBA代码。所谓登录, 就是判断用户在登录界面输入的用户名和密码与数据库中用户表内存储的数据是否一致, 若一致则允许登录, 若不一致则不允许登录并弹出提示信息。这个判断是利用DLOOKUP函数来实现的。
2. 注册和登录窗体及用户表的设计
首先, 创建一个用户表, 其结构如下表1所示。
其次, 创建一个以用户表为数据源的注册窗体, 其结构如下图1所示。
再次, 创建登录窗体和主窗体, 其结构如下图2所示。
说明:登录窗体中的组合框的名称是combo33, 其数据来源是一个查询, 其查询结果是从用户表中查询到的用户名的列表的升序排列。而且该组合框的取值是限于下拉列表中的值。这样就完全保证了登录的用户名必定是用户表中的值。至于是否允许登录关键就是检查与该用户名对应的密码输入是否正确, 密码文本框的名称是PASSWORD, 这个检查是在登录按钮的单击事件的宏里利用DLOOKUP函数实现的 (DLook Up ("password", "ULIST", "UNAME='"&[Combo33]&"'") =[PASS-WORD]) 。
3. 宏的设计及功能的实现
(1) 单击注册窗体中的注册按钮时执行的宏如下图3所示
说明:On Error是指当主键字段用户名的欲注册的值与用户表中已经存在的用户名重复或为空值时就违反了主键的完整性约束从而引发错误, 另外, 由于用户表对PASSWORD字段属性的是否必需设置了“是”和是否允许空字符串设置了“否”, 所以当密码文本框为空值时也会引发错误。无论上述三种原因的哪一个发生后, 就会跳转到子宏:Error Handler, 而弹出消息框提示信息:“该用户名已被使用或者为空值, 请换一个!密码不能为空值, 请输入密码!”
(2) 单击登录窗体中的登录按钮时执行的宏如上图4所示
4.结语
浅析数控宏程序的应用 第8篇
数控技术是现代制造业实现自动化、柔性化、集成化生产的基础, 离开了数控技术, 先进制造技术就成了无本之木。随着我国现代制造技术的发展、数控机床应用的普及, 从事数控加工的人员不断增加, 数控加工越来越受到人们的重视。数控加工程序的编制是数控加工准备阶段的主要内容之一, 数控程序编制的效率和质量在很大程度上决定了产品的加工精度和生产效率, 它既是数控技术的重要组成部分, 也是数控加工的要害技术之一。随着软件不断发展, 目前CAD/CAM软件普遍应用, 手工编程、宏程序应用的空间日趋减小, 究其原因就是大家对手工编程不重视, 对宏程序不认识。其实手工编程是自动编程的基础, 宏程序是手工编程的高级形式, 是手工编程的精髓, 也是手工编程的最大亮点和最后堡垒。同时, 编制简洁合理的数控宏程序, 有着非常重大的现实意义, 既能锻炼从业人员的编程能力, 又能解决自动编程在生产实际工作中存在的不足。因此, 充分结合这两种编程模式, 对于提高编程效率和质量有着重要意义。
在数控编程中, 应用宏程序变量编程, 对可以用函数公式描叙的工件轮廓或曲面进行数控加工, 是现代数控系统一个重要的新功能和新方法。宏程序编程灵活、高效、快捷, 是加工编程的重要补充。
二、数控宏程序的概念
很多人都在问, 宏程序是什么?用变量的方式进行数控编程的方法就叫做数控宏程序编程。简言之, 就是用公式来加工零件。
宏程序是一种零件的编程方法, 是在标准CNC编程方式的基础上附加控制特征, 以使功能更强大、更具有灵活性;是最接近于真实编程语言的一种编程方法, 它直接使用CNC系统, 宏程序本身不是语言, 而只是一种CNC机床的特殊用途的软件, 是结构化的常规子程序。
三、数控宏程序的优点
1.可以编写一些非圆曲线, 如宏程序编写椭圆, 双曲线, 抛物线等。
2.编写一些大批相似零件的时候, 可以用宏程序编写, 这样只需要改动几个数据就可以了, 没有必要进行大量重复编程。
四、数控宏程序编程实例
下面, 通过两个实例分别体现数控宏程序的优点。
1. 椭圆加工宏程序的编制 (车削)
懂得基本编程知识的人都知道, 数控机床已具备直线和圆弧插补功能, 由直线和圆弧几何元素组成的曲线, 只要计算出相关的基点坐标就可以进行程序编制。而当工件轮廓是非圆方程曲线时, 只能通过数学处理, 用拟合线段 (直线或圆弧线段) 对非圆曲线进行拟合, 代替原来的轮廓曲线, 这就要求计算出拟合后的所有节点, 然后用直线插补或圆弧插补功能编制非圆曲线的加工程序, 节点的计算、程序编写等的工作量很大。采用数控宏程序, 将会大大简化编程。
椭圆标准方程为X2/a2+Y2/b2=1 (1) (a:椭圆长半轴, b:椭圆短半轴)
转化到工件坐标系中Z2/a2+X2/b2=1 (2)
根据以上公式可以推导出以下计算公式
在数控车床上, 刀具在车削时不可能越过主轴中心线到达中心线的另一侧, 故X的数值不可能为负, 所以我们只取正值。
下面就是FANUC系统0i系列椭圆加工程序:
N40 IF[#3LT-80]GOTO90; (判断变量#3是否到达终点, 若是则跳转至第90段, 执行后面的语句;若否则直接向后运行, 进行椭圆加工)
N50#4=#2/#1*SQRT[#1*#1-#3*#3]; (计算X值, 就是把公式 (3) 里面的各值用变量代替
其中SQRT[]为求平方根。)
N60 G01 X[2*#4+#120]Z[#3-100]F100; (直线逼近法加工椭圆)
N70 #3=#3-0.2; (Z值递减一个步距)
N80 GOTO40; (跳转至第40段)
N90 G01 Z-220; (椭圆左侧圆柱部分的加工)
N100 G00 U40; (退刀)
N110 Z2; (退刀)
N120 M99; (返回主程序)
2. 螺旋铣孔宏程序的编制 (铣削)
如上图所示, 需要加工的轮廓为圆形孔, 轮廓形状简单, 一般的手工编程也简单, 但若需要加工多种尺寸的孔, 采用宏程序编程则会大大提高效率, 加工不同尺寸的圆孔, 只需要改变变量值中相应的参数, 并在圆孔中心建立局部坐标系即可。
下面就是FANUC系统0i系列数控铣床加工宏程序:
#1=80 圆孔直径
#2=5 圆孔深度
#3=20 平底立铣刀具直径
#9=200 进给量
#17=1 每层切深
#5=0.7*#3 步距设为铣刀直径的70% (经验值)
#6=#1-#3 刀具中心在内腔中的最大回转直径
WHILE[#8GE0] DO1 当#8≥0即还没有走到最外一圈循环继续
#10=#6/2-#8*#5 每圈在X方向上移动的距离目标值 (绝对值)
#4=0 将#4重置为初始值0, 此步非常重要
WHILE[#4LT#2] DO2 当#4<#2即没有到达圆孔深度时
摘要:随着电子技术和自动化技术的发展, 数控技术的应用越来越广泛。在当代的机械加工领域当中, 采用数控加工技术已经成为时代发展的潮流。数控加工程序的编制作为数控加工准备阶段的主要内容之一, 其效率和质量在很大程度上决定了产品的加工精度和生产效率, 它既是数控技术的重要组成部分, 也是数控加工的要害技术之一。本文介绍了数控编程中数控宏程序的概念, 通过编程实例浅析了数控宏程序的优点。
关键词:数控加工,宏程序,应用,优点
参考文献
用户宏程序 第9篇
1. 轧辊磨床的基本动作顺序
轧辊磨床工作的基本工作顺序是:
(1)单齿磨削。
(2)由多个单齿磨削构成全齿磨削(整圈磨削)。
(3)由多个整圈磨削构成全磨削加工程序。
单齿磨削是整个磨削加工程序的基础,其动作顺序如下: (1) 装卸工件轧辊。 (2) 修磨轮(Y轴)上升到修磨基准位(对刀线)。 (3) 主砂轮下降到修磨砂轮位置。 (4) 工作台(X轴)前进执行砂轮修磨。 (5) 工作台(X轴)往复运动执行工件修磨。 (6) 分度轴分度。
2. 客户对加工程序的要求
(1)由于待修磨轧辊的齿数不同,要求系统能实现任意的分度。
(2)对轧辊每一齿修磨(单齿修磨)。单齿修磨分为粗磨(主砂轮对轧辊每一齿只修磨一次,即工作台只走一个单向行程)和精磨(主砂轮对轧辊每一齿修磨2次,即工作台走双向行程)。
(3)精、粗磨可以是直线磨削也可以是圆弧磨削。
(4)主砂轮的每次修刀量可以任意设定。
(5)可对每一轧辊的全齿数修磨(一圈修磨)。一圈修磨也分为粗磨和精磨。每一圈的磨削量可以任意设定。
(6)粗、精磨的圈数可以任意设定。
3. 加工程序的编制原则及说明
(1)编制磨床加工程序的原则: (1) 以单齿的粗磨循环作为一个宏程序。 (2) 以单齿的精磨循环作为一个宏程序。 (3) 以N个单齿粗磨循环构成为一个整圈粗磨程序。 (4) 以N个单齿精磨循环构成为一个整圈精磨磨程序。 (5) 由N个整圈粗磨子程序和N个整圈精磨程序构成整个磨削加工程序。 (6) 所有需要设置的数值均以变量表示。
(2)以单齿精磨宏程序为例进行说明:
单齿磨削构成了加工程序的基础。整圈磨削程序的编制是在其基础上完成。
(3)整圈精磨程序:
N10 G65 P9000 L#127
G65是调用宏程序命令。P9000是被调用的宏程序号。L#127是调用宏程序的次数,#127是一变量,其数值为轧辊的齿数,实际操作中为保证加工质量,该数值=齿数+2。单齿粗磨宏程序和整圈粗磨程序与精磨程序类似,由此可以构成整个加工程序。
4. 加工程序中变量设置及使用
由于轧辊修磨工艺的复杂性和轧辊型号的多品种,很多加工工艺参数是不同的,为使同一加工程序适应不同的轧辊品种而且能够适应不同的加工工艺参数,必须使加工程序具有相当的柔性,为此必须使用“变量”编制程序。
三菱CNC中提供了在各加工程序中都可使用的公共变量200个。在磨削加工程序中,使用了以下变量。
(1)#100=单齿粗磨修刀量(进行单齿粗磨时,每齿修磨后必须对主砂轮修磨一次)。本变量规定了单齿粗磨砂轮修磨量。砂轮修磨的过程如下:金刚石(由Y轴夹持)修磨刀位置不变,而由Z轴带动的主砂轮向下运动一微距离,当工作台(X轴)带动Y轴修磨刀运动时,就实现了砂轮的修磨。
(2)#121=单齿精磨修刀量。与粗磨定义相类似,只是数值不同。精、粗磨修刀量只在单齿磨削循环中使用。
(3)#101~#115=第N圈粗磨磨削量。
(4)#116~#120=第N圈的精磨磨削量。
(5)#132=磨削调整量。
由于粗、精磨每一圈后其磨削基准线要下移(相当于每圈增加一磨削量),加工工艺要求每圈增加的磨削量各不相同,而且精、粗磨也不相同,同时即使设定了每一圈的磨削量,也要在磨削过程中可以修改。因此定义#101~#115为第1~第15圈的粗磨磨削量。#116~#120为第1~第5圈的精磨磨削量。#132为磨削调整量,用此变量进行磨削过程中的磨削量调整。
(6)#130=粗磨圈数。每一轧辊需要粗磨的圈数根据其磨损程度和已经修磨的状况而不同。需要在加工过程前和加工过程中设定和修改。本变量用于设定和修改粗磨圈数。
(7)#134=精磨圈数。其定义与粗磨圈数类似。
(8)基本参数变量:#127=齿数,#140=轧辊全长。
(9)程序内部用变量: (1) #7=FUP[#127/2]+2(粗磨每圈循环次数)。 (2) #8=360/#127 (A轴分度值)。 (3) #1132(当前粗磨圈数)。 (4) #1133(当前精磨圈数)。 (5) #15(修砂轮行程)。
5. 实用加工程序
在确定了程序框架和必须使用的变量后,编制了实用的平磨磨削程序。凸磨磨削只需将直线运动改成圆弧插补即可。
实用磨削程序:
N1 G90G0X#150X轴运行到上料工位
N5 G90G0Z#151Y0#152Y轴、Z轴运行到基准磨削位置
N7 S100 M3主轴砂轮启动
N8 M8开冷却
N9#6=FUP(#127/2)计算粗磨循环次数
#7=#6+2实际粗磨循环次数
N10#1132=1标定“当前磨削圈数=1”
N12 G65 P9100L#7整圈粗磨加工
N18 IF[#1132EQ#130]GOTO 200判断当前粗磨圈数是否与设定粗磨圈数相等,如相等就结束粗磨进入精磨阶段,否则继续执行下一圈粗磨
N19 M80将磨削齿数计数清零
N20#1132=2标定当前磨削圈数=2
N21 G91G1Z-[#102+#132]Y-#102 F#138第2圈增加的磨削量
N22 G65 P9100L#7整圈粗磨加工
N28 IF[#1132EQ#130]GOTO 200判断当前循环圈数是否与设定粗磨圈数相等,如相等就结束粗磨进入精磨阶段。否则继续执行下一圈粗磨
N29 M80将磨削齿数计数清零
粗磨程序最大15圈,以下进入精磨程序。
N200#1133=1#1132=257标定当前精磨圈数=1
N210 G91G1Z-[#116+#132]Y-#116 F#138第1圈精磨磨削量
N212 G65 P9000L#127执行整圈精磨
N218 IF[#1133EQ#132]GOTO 500判断当前精磨圈数是否与设定精磨圈数相等,如相等就结束精磨,跳转到程序结束
N219 M80将磨削齿数计数清零
N220#1133=2#1132=258标定当前精磨圈数=2
N221 G91G1Z-[#117+#132]Y-#117 F#138第2圈精磨磨削量
N222 G65 P9000L#127执行整圈精磨
N228 IF[#1133EQ#132]GOTO 500判断当前精磨圈数是否与设定精磨圈数相等,如相等就结束精磨,跳转到程序结束
N229 M80将磨削齿数计数清零
精磨圈数一般不超过5圈;以下进入程序结束阶段
N500 G90G0X#150工作台运动到卸料位置
N510 M5砂轮停转
N520 M9关冷却
N530 M30程序结束
6. 加工程序与PLC程序的配合
加工程序与PLC程序有密不可分的关系,特别是加工程序中发出的M指令必须在PLC程序中加以处理,用以驱动外围设备和实现一些特殊的要求。在该设备改造中,除常规的主轴正转、主轴停止、开关冷却液等功能外,客户还要求系统能够显示当前正在磨削的圈数和齿数。在三菱CNC操作界面上,能够显示数据的有刀号T和加工件数。磨床上没有使用刀号T,故可用其来显示加工圈数。
(1)当前磨削齿数可以通过设置为加工件数来显示。具体操作方法为:设置加工参数#8001=20(定义M20为工件计数标志)。当加工程序中出现M20时,就进行一次计数;相应地在单齿精磨子程序P9000程序中,编制N38 M20标定当前磨削齿数,就可以在屏幕上的工件计数位置观察到齿数的变化。
(2)在加工程序上编制#1132=2(标定当前磨削圈数=2)。#1132是一NC内部变量,其对应PLC内的R172接口,所以必须在PLC程序内做如下处理(图1)。即将文件寄存器R172内的数值随时送入到刀号寄存器R36中,这样就可以随时观察到当前磨削圈数的变化。
用户宏程序 第10篇
【关键词】宏程序;椭圆编程;华中系统编程
1引言
目前在数控车削加工中,对于椭圆等一系列非标准圆弧所构成的特殊曲面进行编程加工时经常采用专业CAD/CAM软件自动生成加工程序,由于受各方面的影响,在实际加工中我们使用较多的是利用宏程序编程的方法进行加工。在编写宏程序的过程中,正确使用数学公式表达轮廓曲线是宏程序编程的关键,也是在实际生产中影响编程效率的两大难点。本文就以华中数控系统为例解决轴类椭圆面零件在数控车削加工中遇到的编程难点。
2宏程序简介
1.1宏程序
宏程序是一种具有计算能力和决策能力的数控加工程序,在编程中使用变量, 通过对各个变量进行赋值、数学用算、逻辑运算和函数的混合运算进而使其利用各种条件转移命令的处理达到描述几何图形的目的。
1.2宏程序有如下特点
1.2.1使用了变量或表达式的计算功能比如:
G01 X[1+2] 计算功能1+2相当于 G01 X3
G01 Z[3*SIN[3]] 相当于 正弦函数运算
1.2.2能够进行程序流程控制,体现了宏程序的决策能力,例如:
IF #1 GE 8 …… ENDIF 调用选择执行命令
WHILE #1 LT #2*3 …… ENDW 调用条件循环命令
3椭圆宏程序的编程方法
3.1椭圆宏程序编写流程
首先给自变量赋初始值——逻辑用算循环条件——因变量表达式赋值——直线插补椭圆——设置步距变化——结束。
假设Z坐标为自变量,Z=#2,X坐标为因变量X=#1,自变量步长为Δ,a为椭圆长半轴,b为椭圆短半轴,则椭圆的精加工宏程序编程如下:
#2=N1 (给自变量#2赋值N1)
WHILE #2 GE [N2] (自变量#2的终止值N2)
1=2b*SQRT[1-#2*#2/a*a](#1相对于自变量#2的表达式)
G01 X[#1] Z[#2-a] (用直线插补逼近的办法加工椭圆)
#2=#2-Δ (自变量#2以步长Δ变化)
ENDW (循环结束)
3.2位置偏移的椭圆宏程序编程
在编程时,为了便于计算各点坐标,常把工件坐标系原点和编程原点重合,在宏程序编程时也是如此。如下图所示,如果直接以椭圆方程编程,走刀路线为曲线a。把曲线a的所有点x值向上偏移48,Z值不偏移,就可以实现b曲线。这里是此类宏程序编程的难点。以下是利用椭圆的标准方程来编写宏程序。
本例中椭圆面加工由两部分加工来完成,先加工孔内椭圆弧面,再加工外面椭圆面。
孔内椭圆面加工宏程序如下:
#1=15;
WHILE #1 GE 0;
#2=1/3*[SQRT[225-#1*#1]];
G01X[48-2*#2]Z[#1-15];
#1=#1-0.2;
ENDW.
外部椭圆面加工宏程序如下:
#1=15;
WHILE #1 GE 0;
#2=1/3*[SQRT[225-#1*#1]];
G01X[2*#2+48]Z[#1-15];
#1=#1-0.2;
ENDE.
4结束语
椭圆的宏程序是操作者根据所加工椭圆零件的轮廓形状,应用椭圆方程有效的将数学公式与计算机编程语言相融合而手工编写的加工程序,是目前解决数控加工实际问题的有效方法。
用户宏程序 第11篇
数据库的安全性是指保护数据库,以防止不合法的使用所造成的数据泄露、更改或破坏。在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题极为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。用户标识与鉴别(Identification&Authentication)是系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统使用权。用户标识和鉴定的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。常用的方法有:用一个用户名或者用户标识号来标明用户身份。系统内部记录着所有合法用户的标识,系统鉴别此用户是否是合法用户,若是,则可以进入下一步的核实,即口令(密码)检验,用户名及密码均正确方可进入系统,由系统分配不同权限,进行系统操作。一般的系统开发往往利用专门的开发工具,开发者也都具备很强的编程能力,对用户登录流程很容易编码实现,但对于一些非专业人员来说却很难,在本文中介绍了在ACCESS中一种不用编码即可实现的用户分角色登录方法.
二、Access简介
Access是一个同时面向数据库最终用户和数据库开发人员的关系数据库管理系统。对于数据库开发人员,Access提供了Visual Basicfor Application(VBA)语言。数据库开发人员利用该语言以及Access提供的可视化操作工具和向导,可以快速构造具有一定规模、较为复杂的管理信息系统。
对于数据库最终用户,Access提供了许多便捷的可视化操作工具(例如,表设计器、查询设计器、窗体设计器、报表设计器等等)和向导(例如,表向导、查询向导、窗体向导、报表向导等等)。数据库最终用户利用这些工具和向导不用编程即可构造简单实用的管理信息系统。Access同时提供了许多宏操作。Access提供的宏操作使得用户不用编程也能实现工作的自动化。
宏简介
宏是用来自动完成特定任务的操作或操作集,它是一个或多个操作的集合,其中每个操作执行特定的功能,用户可以通过创建宏对象来自动执行一项重复的或者较为繁杂的操作,从而完成一个指定的任务;单个宏操作只能完成一个特定的数据库操作动作,其功能是有限的,但是当众多的宏操作串联在一起,就能够执行一个较复杂的任务。
宏对象实际上是一个容器对象,它包含着一个操作序列以及相应的操作参数以及操作执行的条件,其作用就是为某一些简单的事件响应提供事件处理方法。宏操作在用户不介入的情况下能够执行许多常规的操作。用户只要按照一定的顺序组织Access提供的宏操作,就能够实现工作的自动化,这对于数据库最终用户来说非常方便。
创建宏需要创建两个主要部分:添加宏操作和设置宏参数。
三、设计思路
为了实现用户的分角色登录首先应在数据库中设置不同的角色,在用户表中为每一个新增用户指定角色,即权限。用户需要进入系统前先要通过登录窗体,输入用户名及密码,若正确则登录成功,然后系统根据登录用户的不同角色打开不同的主控窗体。
四、具体实现
1、建表
建立与登录有关的两个表:log表、角色表。
Log表的结构如表1,用来存储用户名、密码及所属角色。
角色表用来指定角色的操作权限,其结构如表2。
2、建立登录窗体
如前所述,不同用户所具有的权限实际上是通过建立不同的主控窗体来实现的,因此在建立登录窗体前,应首先对不同角色的权限逐一分析,为每一个角色建立不同的主控窗体。
(1)建立登录窗体界面
建立一个登录窗体,在窗体中加入一个文本框控件、一个组合框控件、三个标签控件和两个命令按钮。其窗体界面如图1。
窗体和控件的主要属性设置如表3。
其中的text3和text5分别用来接受用户输入的用户名及密码。
(2)为登录窗体建立数据源
因为在登录窗体中需要两个表的字段,所以建立一个包括用户名、密码、角色、主控面板四个字段的多表查询作为登录窗体的数据源,将此查询命名为登录查询。考虑到查询条件是和用户的输入相关的,故应建立一个与登录窗体中的输入控件相关联的参数查询。查询设计视图如图2。
此查询必须在启动窗体打开的情况下方可正确运行。运行时首先读取启动窗体中text3、text5控件的值,再到表中查询符合条件的记录并返回角色ID。
3、建立宏
(1)宏的运行过程设计
当用户触发登录按钮的单击事件后即执行登录验证宏。系统首先检查用户名和密码是否为空,若为空则提醒用户输入并停止宏的执行,若不为空则运行登录窗体的数据源(登录查询),查询结果为空表明用户输入错误,停止宏的执行,若不为空则根据角色的不同打开不同窗体,并关闭启动窗体。
当用户触发取消按钮的单击事件后即执行exit宏,即直接退出系统,关闭ACCESS。
(2)宏的建立
可以把启动窗体中两个命令按钮需要建立的宏放在一个宏组中,在宏组中再设置不同的宏名以达到为不同按钮建立不同动作的目的。建立宏如图3。
在建立宏的过程中,可以多利用表达式生成器以加快输入速度,既可提高效率,同时也可减少出错的机会。
此宏中关键的宏操作是Requery。Requery操作对活动对象上的指定控件的源进行重新查询(重新查询:可以重新运行活动窗体或数据表所基于的一个查询,以便反映对记录的更改、显示新添加的记录,并消除已标记为删除的记录。),以此实现对该控件中数据的更新。如果没有指定控件,该操作会对对象自身的原进行重新查询。使用该操作可确保活动对象或其某个控件显示的是最新数据。
五、结束语
在ACCESS中对用户的登录验证还有其他方法,如设置数居库密码、设置用户工作组、利用VBA编程等,相对来讲这种方去对非计算机的专业人员既适用又不失灵活,对开发数据库应有系统时建立自己的用户验证系统有一定的借鉴作用。
参考文献
[1]郭力平,高原,雷东升.数据库技术与应用(-ACCESS 2000篇)[M].人民邮电出版社,北京,2002.8(P14).