作者 | 主题 |
---|---|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
楼主 2022-02-20 18:06:06
主题:NC程序编程点滴 NC程序的编写,讲究结构简单明了,易读性强,从今天起,打算将个人编程方面的点滴做个记录,在此留存个笔记。 本链接分享一个CTAB曲线表编程方面的实例: https://mp.weixin.qq.com/s/qOXhAU7rWTqb7Y4kL5DGMw |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
1楼 2022-02-20 18:08:40
主题:回复:NC程序编程点滴 补充一下,分享的众号为我个人的公众号,就当是我个人的学习笔记。 |
默认昵称 游民 经验值: 76 发帖数: 7 精华帖: 0 |
2楼 2022-02-20 18:27:11
主题:回复:NC程序编程点滴 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
3楼 2022-02-20 19:10:37
主题:回复:NC程序编程点滴 没用过这样的软件,但是NC程序都是文本文件,你可以试试用Notepad++试试,可以在一个文件夹中进行搜索你想查找的内容。 |
隐身人 至圣 经验值: 38461 发帖数: 10305 精华帖: 72 |
4楼 2022-02-21 09:16:36
主题:回复:NC程序编程点滴 感谢楼主无私奉献!
西门子的多年使用者http://yinshenren.ys168.com/、
|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
5楼 2022-02-21 09:59:29
主题:回复:NC程序编程点滴 谈不上奉献,就当做个笔记,同时也方便有需求的朋友。 |
天芯 至圣 经验值: 18638 发帖数: 2092 精华帖: 0 |
6楼 2022-02-21 11:15:07
主题:回复:NC程序编程点滴 38秒太短了,有更多的资料吗 |
kkvfhp 奇侠 经验值: 6181 发帖数: 657 精华帖: 2 |
7楼 2022-02-21 11:18:00
主题:回复:NC程序编程点滴
每天进步一点点
|
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
8楼 2022-02-21 12:04:41
主题:回复:NC程序编程点滴 38秒只是一个简单的例子,如果你有这方面的需求,我们可以进一步探讨。我都是查阅西门子标准手册,目前没别的资料。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
9楼 2022-02-21 12:05:57
主题:回复:NC程序编程点滴 感谢你的关注! |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
10楼 2022-02-21 12:55:18
主题:回复:NC程序编程点滴 昨天发的视频中的程序,不适合进行车削加工,所以对主程序进行了适当的补充和修改: https://mp.weixin.qq.com/s?__biz=Mzg4NzYyMjkyOQ==&mid=2247483740&idx=1&sn=214dec3614d63ef90bc30633523626dc&chksm=cf86dd22f8f15434e0913682b4fbad45dbd1813bcc5f302a3ef6f50bd014bccffd03e966c8bc#rd |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
11楼 2022-02-21 12:58:05
主题:回复:NC程序编程点滴 我在视频简介中已说到,视频中和程序中选用铣刀的原因是选用车刀无法在Sinutrain上看到模拟的效果。实际应用中,调用车刀就可以在车床上进行运行。 |
牛一牛 侠士 经验值: 1260 发帖数: 101 精华帖: 1 |
12楼 2022-02-21 22:04:03
主题:回复:NC程序编程点滴 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
17楼 2022-02-24 15:26:40
主题:回复:NC程序编程点滴 有此想法,主要目的对自己做过的或者想过的东西做一个记录,方便自己以后可以查阅,因为我记性不好。同时,如果可能,也给同行或者新人提供参考。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
21楼 2022-03-02 21:12:15
主题:回复:NC程序编程点滴 学如逆水行舟,不进则退;心似平原跑马,易放难收。 在知识和技术日新月异的今天,保持学习和总结是一个技术人员必须具备的能力。在这里挖一个树洞,给自己开辟一个记录自己工作和学习的笔记,总结自己工作和学习中的点点滴滴,是我一直以来的一个想法。可是一直没想好这个笔记该怎么写?从何写起?有时候干脆把工作忙作为借口,给自己放假了。 最近在想,既然没想好怎么开始,那就先写一些编程方面的思考吧!所以计划用一些实例,记录一下自己想过的和做过的事儿,或者记录一下代码使用中的注意事项和使用技巧,方便自己在忘记的时候可以查询,同时给同行或者新人提供一下参考。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
22楼 2022-03-02 22:32:29
主题:回复:NC程序编程点滴 数控编程实例 ——在通用机床上加工齿轮 众所周知,齿轮的加工方法一般有成型法和范成法,成型法是指用成型刀具加工精度较低的齿轮,如在普通铣床上铣齿,一般只在单件小批量或者修配时使用。范成法是运用齿轮啮合的范成运动来加工齿轮,加工精度和加工效率都比较高,是齿轮加工的最主要的方法。一般需要专用的设备和刀具,如插齿机、滚齿机、齿条刀具、滚齿刀等。 在现代制造技术高速发展的今天,产品开发阶段或者设备维修时,常常需要小批量加工较高精度要求的齿轮,以满足产品开发、设备维修或者实验的需求。本实例将介绍如何通过数控程序构造范成运动,在没有专用设备的情况下,运用通用机床,加工接近或者达到专用机床加工精度等级的满足实际需要的齿轮。 本实例编程环境为SinuTrain机床模板Vertical milling machine with swivel table。根据机床模板的结构,毛坯应该这样安装,齿轮的中心线与C轴重合,即可通过旋转C轴来转动齿轮毛坯。在A轴旋转90度后,齿轮端面平行于XZ平面,即齿廓渐开线需通过对X、Z和C轴编程来构造范成运动,并通过Y轴的切削运动来完成齿廓的切削。整个加工过程类似于插齿机,区别在于插齿机可用同时切削多个齿廓,而本例中每次进刀只能对一个齿廓进行加工。 首先介绍如何通过数控程序构成范成运动。 如上图所示,O点为齿轮的中心,渐开线AK为齿轮的一个齿廓,BK为渐开线的发生线,Rb为渐开线的基圆半径,Rk为渐开线上任意K点的半径,CK为渐开线的切线,根据渐开线的定义和性质,BK⊥CK。∠KOB为K点的压力角αk,∠AOK为K点的展角θk,根据渐开线的性质和齿轮的相关知识,我们可以知道,渐开线AK可以看成是无数多条CK形成的包络线。如果把CK当成铣刀的侧母线,铣削渐开线齿廓的编程工作就变成了求解CK位置。 由于我们所选用的机床为通用机床,刀具的中心线与机床的Z轴重合,不能发生偏转,即刀具始终垂直于XY平面,假设上图中AO与机床的Z轴平行,即A0垂直于XY平面,那么,当工件旋转αk+θk使得渐开线AK旋转到A'K'位置时,我们很容易发现,此时从C'K'与AO平行,即C'K'与机床Z轴平行。因此, K点从齿顶圆到运动到齿根圆的过程中,分n齿进刀,我们只要求解出每次进刀时K'所对应的∠A'OB',即αk+θk,和B'K'的长度,并分别对机床的C轴和X轴进行编程,并将Z轴编程到与齿根圆相切的加工深度,即把铣刀的端面当成插齿刀的齿顶,这样就可以构造出齿轮端面上的渐开线齿廓加工所需的范成运动。再赋予Y轴方向的切削运动,就可以实现类似插齿的齿轮铣削加工。并且,齿廓的轮廓度精度完全可以通过增加进刀次数来提高。 本例的相关齿轮参数及运算如下: 模数m = 2.5 齿数Z = 25 分度圆压力角α = 20 齿顶高系数ha = 1 齿根高系数hf = 1.25 分度圆直径D = mZ = 2.5 X 25 = 62.5 齿顶圆直径Da = m(Z + 2ha) = 2.5(25 + 2 X 1) = 67.5 齿根圆直径Df = m(Z - 2hf) =2.5(25 – 2 X 1.25) = 56.25 基圆直径Db = Dcos(α)= 62.5 X cos(20) = 58.731 齿顶圆压力角 αa = acos(Db/Da)=acos(58.731/67.5)=29.531 齿顶圆展角θa = 180(tanαa – αa)/π = 180(tan(29.531) - 29.531π/180)/π = 2.926 注:在计算展角θ是,渐开线方程中的α单位为弧度,后同。 在进行完基础计算,我们就可以开始计算编程需要的相关参数,前面说到,我们说需要分n次进刀,分别计算K点对应的∠A'OK'大小和B'K'长度,并给C轴和X轴编程。因此,我们需要分别计算出K点位于齿顶圆和齿根圆上是对应的∠A'OK'a和∠A'OK'f,将∠A'OK'a - ∠A'OK'f 平均分n次(本例中n=20)进刀,并计算对应的B'K'。 齿顶圆上时对应的∠A'OK'a = αa + θa = 29.531 + 2.926 = 32.457 因齿根圆Df小于基圆Db,故编程过程中,只对基圆以外的部分齿廓进行编程,基圆到齿根圆之间的部分齿廓由刀具自然形成。因此,不需要对∠A'OK'f进行计算,只需要将∠A'OK'从∠A'OK'a(32.457)开始分步进给到0°即可。 为了实现编程,还需要渐开线的起先点旋转到X轴上,本例采用设置零偏的方式,将工件旋转基圆齿槽宽的一半,使渐开线的起点位于X轴上。 基圆上的齿槽宽对应的圆心角 βb = 360/Z/2-2(tanα - α) X 180/π = 360/25/2 – 2( tan(20) - 20 X π/180) X 180 / π = 5.492 因此,编程是需要进行βb /2 = 2.746零偏设置。 因采用半径编程,我们还需计算: 基圆半径Rb = Db/2 = 58.731 / 2 = 29.366 齿顶圆半径Ra = Da/2 = 67.5 / 2 = 33.75 齿根圆半径Rf = Df/2 = 56.25 / 2 = 28.125 从上面的图中,我们很容易得出: B'K' = Rbtan∠A'OK'k 因Ra=33.75,取齿顶安全位置为35(世界生产中可能需要更大的安全距离) 下面是具体的编程代码: 毛坯开粗子程序ROUGH.SPF如下: N100 PROC ROUGH(REAL _Y1,REAL _Y2,REAL _Z1,REAL _Z2) N110 G54 ;重新激活零偏,使新的设置生效 N120 G90 G0 C0 ;C轴转到工件坐标0 N130 G90 G0 Y=_Y1 ;Y轴移动到齿轮上表面 N140 G90 G1 Z=_Z1 ;Z轴进给到铣削深度 N150 G90 G1 Y=_Y2 ;Y轴切削运动 N160 G91 G0 Z=_Z2 ;Z轴退刀至安全距离 N170 M17 ;子程序结束 为了重复调用,减少程序代码,毛坯开粗子程序采用带参数传递的子程序,程序机构简单,不做详细分析。 齿廓加工范成运动子程序FINISH.SPF如下: N100 PROC FINISH(REAL _ST,REAL _INC,REAL _TL) N110 DEF INT _I ;循环控制变量 N120 DEF REAL _X ;X轴位置中间变量 N130 DEF REAL _C ;C轴绝对位置中间变量 N140 G54 ;重新激活零偏,使新的设置生效 N150 G90 G0 Z35 ;逼近齿顶圆安全位置 N160 IF _ST<0 ;当_ST小于0时,需要将其换算到0-360 N170 G90 G0 C=_ST+360 N180 ELSE N190 G90 G0 C=_ST ;旋转齿顶圆的齿廓平行刀具 N200 ENDIF N210 _C=_ST ;给C轴绝对位置中间变量赋值 N220 FOR _I=0 TO 19 ;开始循环 N230 _C=_C+_INC ;下一次进刀的C轴绝对位置 N240 _X=-29.366*_C*3.14159/180+_TL ;下一次进刀的X轴位置 N250 G91 G0 C=_INC ;旋转工件到下一次进刀点 N260 G90 G0 X=_X Y2 ;移动X轴到轮廓位置,Y轴到齿轮上表面 N270 G90 G1 Z28.125 ;Z向进给到与齿根圆相切的深度 N280 G90 G1 Y-22 ;Y想切削运动 N290 G90 G0 Z35 ;Z向退刀至安全距离 N300 ENDFOR ;循环结束 N310 M17 ;子程序结束 为了统一程序结构,减少出差,齿廓加工范成运动子程序采用带参数传递子程序,通过调用时设置形参变量来完成左右齿廓的加工。这里需要说明的是,N190行是用来计算每次进刀是C轴的绝对位置,是为了便于N200行按照C轴的绝对位置计算X轴的位置,而N210行未采用绝对坐标编程,是为了避免C轴的编程角度小于0或者大于360情况出现,采用相对坐标编程的好处在于,当C轴的编程角度小于0或者大于360,系统会自动换算到0到360的范围。关于程序的理解,参加程序中的注释。 主程序结构如下: N100 DEF INT _N ;循环控制变量 N110 EXTERN ROUGH(REAL,REAL,REAL,REAL) ;声明外部调用子程序 N120 EXTERN FINISH(REAL,REAL,REAL) ;声明外部调用子程序 N130 $P_UIFR[1,MC1,TR]=0 ;设置G54的C轴零偏 N140 G90 G54 G17 G94 ;程序准备指令 N150 G0 X0 Y0 Z500 A0 C0 ;换刀前的安全位置 N160 T="CUTTER 2"M6 ;换刀 N170 M3 S3000 ;启动主轴 N180 WORKPIECE(,"",,"CYLINDER",0,0,-20,-80,67.5) ;设置毛坯 N190 G0 X0 Y2 Z35 A90 ;Z轴逼近齿顶圆,A转到90° N200 FOR _N=0 TO 24 ;开粗循环开始 N210 F5000 ;设置进给速度F N220 $P_UIFR[1,MC1,TR]=_N*14.4-1.4 ;设置零偏 N230 ROUGH(2,-22,31,4) ;开粗分度圆以外齿面 N240 $P_UIFR[1,MC1,TR]=_N*14.4+1.4 ;设置零偏 N250 ROUGH(2,-22,31,4) ;开粗分度圆以外齿面 N260 $P_UIFR[1,MC1,TR]=_N*14.4 ;设置零偏 N270 ROUGH(2,-22,28.2,6.8) ;开粗分度圆以内齿面 N280 STOPRE ;停止预读 N290 ENDFOR ;循环结束 N300 FOR _N=0 TO 24 ;齿廓第一面循环开始 N310 $P_UIFR[1,MC1,TR]=_N*14.4+2.746 ;设置零偏 N320 FINISH(32.457,-32.457/20,-1) ;调用子程序 N330 ENDFOR ;循环结束 N340 FOR _N=0 TO 24 ;齿廓第二面循环开始 N350 $P_UIFR[1,MC1,TR]=_N*14.4-2.746 ;设置零偏 N360 FINISH(-32.457,32.457/20,1) ;调用子程序 N370 ENDFOR ;循环结束 N380 M30 ;程序结束 主程序主要分成2个部分,第一部分是对圆形毛坯进行简单的开粗成下图所示的形状: 第二个部为轮廓的加工,为了节省加工时间,先加工逆时针方向的齿面,顺时针方向的齿面。加工完成后的齿轮如下图所示: 本例旨在说明如果构建范成运动,在通用机床上采用类似插齿的方式加工齿轮。如果要实际运用,程序还需进一步的优化。 这里的通用机床需要满足齿轮毛坯可以任意旋转,即机床的工作台至少安装一个选择轴。在具体的机床上运用此方法,各编程轴可能需要做响应的调整。 |
工控一阳指King 侠士 经验值: 1533 发帖数: 185 精华帖: 2 |
23楼 2022-03-24 21:46:21
主题:回复:NC程序编程点滴 记录一下,困扰我好几个月的问题居然用一种极其简单的方式解决。Step7 V5.6通过reference data——display打开交叉参考时,一直出现下面的错误: 该问题从去年12月份到现在一直困扰着我,搜索了中英文网站都没找到解决方法。最后在帮助一个同行解决问题的过程中,他告诉我将输入法切换到英文键盘后,就可以解决问题,简直是太神奇了。 |
手机用户20220723NN4FZR 侠圣 经验值: 2105 发帖数: 94 精华帖: 0 |
68楼 2023-06-14 20:35:04
主题:回复:NC程序编程点滴 以前也遇到U盘在数控系统上不好用,连续换了几个都用不了。 |