作者 | 主题 |
---|---|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
楼主 2021-06-19 21:19:29
主题:巧用循环与零偏 巧用循环与零偏
在数控机床加工中,经常会有相同的内容需要进行重复加工情况,如在同一个零件上的不同部位加工相同的轮廓尺寸,一次装夹加工多个相同的零件等。碰到这种情况时,我们当然可以按部就班地编写代码来加工所有内容。不过你会发现,你在进行大量的重复劳动,因为你在编写大量的相同或相似的代码。这样不久工作效率低,而且编出来的程序又臭又长,难于理解,容易出错。今天笔者带你体验一下,如何巧妙地运用循环和零偏来实现简单高效的编程工作。 图1 本文以在平面上铣削图1所示的15个相同的矩阵排列的梯形型腔为例,通过FOR循环和在NC程序中进行零偏设置来简化程序,从而提高编程效率。下面是具体实施步骤。 1. 创建轮廓 如图2所示的梯形轮廓,它包括起点,两条水平线段和两条斜线段,以及每条线段到下一元素的过度圆角R3,起点及各元素的终点坐标分别为(0,0),(30,0),(25,20),(5,20),(0,0)。 图2 2. 编制加工程序 图3和图4所示的程序代码,N10和N20定义了两个整型变量,N30和N40用于清除零偏,这样N50调用零偏后N60创建的毛坯的工件坐标系就与机床坐标系重合,以便于查看程序模拟的效果。程序从N90到N170为FOR循环,程序N200后的内容为创建轮廓所生成代码。 图3 图4 3. FOR循环 FOR循环语句的结构如下: FOR _I=0 TO 2 … ENDFOR FOR表示循环的开始,ENDFOR表示循环结束,FOR和NEDFOR之间的语句叫做循环体,是将被重复执行的代码。_I为控制变量,每执行一次,_I会自动加1,0为循环变量的初值,表示循环从_I=0开始执行,2为循环变量终值,当_I=2时,执行完循环体代码后循环结束。 本例中,程序从N90开始循环,分为外层循环和内层嵌套循环,外层用_I控制,控制X轴方向的重复加工次数,内层用_J控制,控制Y轴方向的重复加工次数。_I每取一个值,在Y轴方向要重复加工5次,最终加工出图1所示的3列5行的梯形型腔。 4. NC程序中设置零偏 $P_UIFR为零偏的系统变量数组,数组有三个索引号,第一个索引号表示所需要设置的零偏,从1开始,依次表示G54、G55、G56等。第二个索引号表示要设置零偏的轴,如MX代表X轴,MY代表Y轴等,第三个索引号在此不进行讨论,保持TR不变即可。如$P_UIFR [1,MX1,TR]用于设置G54的X轴的零偏。 5. 本编程案例的主要特点 本例的巧妙之处在于,运用控制变量乘以型腔的间距加上第一个型腔与工件坐标原点的距离依次更新X轴和Y轴的零偏,使得零偏随控制变量的变化自动更新,从而简化了程序的结构,使得程序短小精简,易于阅读,不易出错。 本例还用到了毛坯和轮廓加工相关知识,有兴趣的读者可以查阅西门子官网的相关资料和视频。 6. 程序模拟 编制好的程序可以进行模拟,验证所编制的程序是否有错误。本例的模拟结果如图1,与既定的目标完全吻合。 总结,之所以有此文,是因为笔者在编程培训的过程中发现很多场合都可以用到类似本文所述的程序结构。然而,实际操作机床的人员大多不熟悉循环编程和系统变量相关的知识。本文的目的在于给读者一定的循环编程和变量编程方面的启事,引起读者一定的思考。同时,本文的程序结构具有一定的实用性和可借鉴性。鉴于笔者本人的技术水平和语言表达能力的限制,难免存在错误和词不达意的地方,恳请读者批评指正。 |
云山雾绕 至圣 经验值: 16400 发帖数: 2397 精华帖: 0 |
1楼 2021-06-20 11:31:28
主题:回复:巧用循环与零偏 开阔了眼界!
开心每一天,懂得包容、感恩!
|
隐身人 至圣 经验值: 38669 发帖数: 10349 精华帖: 72 |
2楼 2021-06-20 12:51:09
主题:回复:巧用循环与零偏 感谢分享,希望楼主能经常将工作中的小经验拿出来分享!编程方面的案例在论坛中还是很少的。
西门子的多年使用者http://yinshenren.ys168.com/、
|
yecao2006 至圣 经验值: 18049 发帖数: 1524 精华帖: 2 |
3楼 2021-06-20 17:46:22
主题:回复:巧用循环与零偏 感谢分享,好的编程技巧值得学习。
我回来了!继续努力!
|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
4楼 2021-06-20 17:49:33
主题:回复:巧用循环与零偏 感谢版主鼓励。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
5楼 2021-06-20 17:51:21
主题:回复:巧用循环与零偏 谢谢,大家的阅读是对我的鼓励! |
黑猫警长W 至圣 经验值: 18394 发帖数: 2409 精华帖: 1 |
6楼 2021-06-20 19:09:05
主题:回复:巧用循环与零偏 |
WOWUWUWU 至圣 经验值: 10573 发帖数: 1794 精华帖: 0 |
7楼 2021-06-20 20:42:19
主题:回复:巧用循环与零偏 感谢分享,长知识了。 |
手机用户20200103FZF48F 奇侠 经验值: 5684 发帖数: 767 精华帖: 1 |
8楼 2021-06-20 20:43:19
主题:回复:巧用循环与零偏 跟着学习了,谢谢分享。 |
新兴电工 至圣 经验值: 12783 发帖数: 1212 精华帖: 2 |
9楼 2021-06-21 06:16:47
主题:回复:巧用循环与零偏 不错,给楼主点个赞。
革命尚未成功,同志仍需努力.
|
Wade910 侠圣 经验值: 2756 发帖数: 184 精华帖: 5 |
10楼 2021-06-21 08:22:11
主题:回复:巧用循环与零偏
I AM WHO I AM.
wade407@163.com
|
Ready_OK 至圣 经验值: 15531 发帖数: 1735 精华帖: 0 |
11楼 2021-06-21 08:25:27
主题:回复:巧用循环与零偏
海纳百川,厚德务实!
|
SIE- 侠客 经验值: 890 发帖数: 72 精华帖: 0 |
12楼 2021-06-21 08:40:56
主题:回复:巧用循环与零偏 |
yzm_cumt 至圣 经验值: 18285 发帖数: 2653 精华帖: 14 |
13楼 2021-06-21 08:51:32
主题:回复:巧用循环与零偏
sometimes you have to be your own hero!
|
kkvfhp 奇侠 经验值: 6235 发帖数: 658 精华帖: 2 |
14楼 2021-06-21 10:15:19
主题:回复:巧用循环与零偏
每天进步一点点
|
天芯 至圣 经验值: 18864 发帖数: 2107 精华帖: 0 |
15楼 2021-06-21 13:21:44
主题:回复:巧用循环与零偏 不错跟着学习哦 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
16楼 2021-06-21 16:56:54
主题:回复:巧用循环与零偏 谢谢大家,本来是打算写一个放在这里,以后直接推荐给客户看,没想到这么多人看。 |
工控行天下 奇侠 经验值: 5092 发帖数: 367 精华帖: 0 |
17楼 2021-06-22 08:08:53
主题:回复:巧用循环与零偏 |
国子 至圣 经验值: 16219 发帖数: 2066 精华帖: 1 |
18楼 2021-06-22 09:22:26
主题:回复:巧用循环与零偏 人脑多思考,电脑多计算! 好办法
小谈
|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
19楼 2021-06-22 14:08:58
主题:回复:巧用循环与零偏 经典,好主意。 |
20170106668213 游侠 经验值: 521 发帖数: 26 精华帖: 0 |
20楼 2021-06-22 19:27:32
主题:回复:巧用循环与零偏
厉害????,楼主棒棒哒
|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
22楼 2021-06-22 23:47:04
主题:回复:巧用循环与零偏 尤其专用机床,很多地方还是值得认真琢磨一下的。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
26楼 2021-06-26 22:53:21
主题:回复:巧用循环与零偏 简单易读,可移植性强,应该是编程所追求的。 |