技术论坛

 巧用循环与零偏

返回主题列表
作者 主题
工控一阳指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
奇侠

经验值: 5685
发帖数: 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
主题:回复:巧用循环与零偏

有点当时学习FANUC机器人的时候码垛/拆垛(但不使用码垛功能)的意思!

关键在于思路

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
奇侠

经验值: 6237
发帖数: 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
主题:回复:巧用循环与零偏

简单易读,可移植性强,应该是编程所追求的。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。