聽夏遊💯
bushann
上班……M99
关注数: 187
粉丝数: 623
发帖数: 10,140
关注贴吧数: 72
话说林登维尔是猪肉贩最高价格了吧,在别的地方差不多腰斩了,这个还能8块 有谁知道第二张图那个图标什么意思吗,老是在那里闪啊闪。
在学编程,想问大家一个问题。这个动态铣削编好了开粗,然后想搞 在学编程,想问大家一个问题。 这个动态铣削编好了开粗,然后想搞精光一刀,一般采用什么策略?还是说另外编一个开放挖槽的刀路来精铣吗?
自定义G代码加工大螺距三角螺纹,让数控车进入螺纹模块化加工? 上次发了个“数控车装B指南”的帖子,只是当做 娱乐,有没有干货其实不重要。但是有的人说我编的花哨,对宏程序看不惯的人我也是很无奈。贴吧上形形色色的人都有,无所谓了,没有任何一个人是完美的.我只不过将我的想法分 享出来,可能不完美更可能有错误,也希望大家可以互相指正,共同进步。 从实用的角度出发,宏程序其实也简便了加工编程的代码量和编程时间。我提到了“模块化”, 那么什么是模块化,我的想法是将编制好的宏程序作为一个模块,这个宏程序就不用动了,只需要将这 程序复制到不同的系统机床上,用g65或者自定义G代码带入参数调用它,这样当不同的系统和机床以及 各种尺寸的工件都可以直接用G65或者自定义G代码加工,省去进入宏程序本体修改变量以及修改变量逻 辑产生错误的风险。 说完了模块化,再说说为什么会有这个帖子,宏程序虽然加工便利,但是一般的师傅对于编写宏程序也 是勉为其难的(比如我),所以模块化的另一个好处是让不太会宏程序的人甚至完全不会宏的人,也能 用宏程序来加工。 这个帖子就是为了让广大不会宏的人也能用宏程序,将我提供的宏程序本体复制到机床里面即可。 正题: 我的帖子“数控车装B指南”中,大略讲到G65调用宏程序,各系统说明书里面也有。那么我们采用这个 方式调用宏程序本体,类似于G76之类的用法。先说说大螺距三角螺纹如何加工,大于4.5mm螺距的三角 螺纹我一般认为是大螺距,4mm或者以下的用G76加工也勉强可以。大螺距当然也可以用两个G76计算好最 后一刀然后分层加工,但仍然是单边斜进,越到后面刀具接触面增大引发震刀爆刀,所以大螺距三角螺 纹我都是采用宏程序左中右进刀,而且因为这种进刀方式去除刀尖两侧余量,可以采用比较大的吃刀。这是凯恩帝新系统版本的G76错齿进刀,我们可以看到虽然错齿,但是加工过一半以后刀具的两边接触面 仍然过大。按照思路我们先编辑宏程序本体: % O8310 IF[#24EQ#0]THEN#3000=80(如果X值空则报警) IF[#26EQ#0]THEN#3000=81(如果Z值空则报警) IF[#9EQ#0]THEN#3000=82(如果F值空则报警) IF[#11EQ#0]THEN#3000=83(如果H值空则报警) IF[#17EQ#0]THEN#3000=84(如果Q值空则报警) IF[#18EQ#0]THEN#3000=85(如果R值空则报警) IF[#23EQ#0]THEN#3000=86(如果W值空则报警) IF[#1EQ#0]THEN#3000=87(如果A值空则报警) IF[#21EQ#0]THEN#3000=88(如果U值空则报警) (以上报警均是为了某个参数没有输入而报警提醒) #29=#24 (终点值变量) #31=#11 (牙高变量) IF[#21LT0]THEN#30=-2.0 (如果U小于0则系数为负) IF[#21GT0]THEN#30=2.0 (如果U大于0则系数为正) IF[#21LT0]THEN#27=#29-2*#11+#21 (如果U小于0,退刀安全点=终点值-2牙高+U值) IF[#21GT0]THEN#27=#29+2*#11+#21 (如果U大于0,退刀安全点=终点值+2牙高+U值) G00Z#23 (移动到W定位值) X#27 (X向安全退刀点值) #32=#31 (牙高变化量) N1#32=#32-#17 (牙高递减,每次减Q) IF[#32LE0]THEN#32=0 (牙高递减小于0则等于0) #33=#32*TAN[#1/2] (当前层左右宽=剩余牙高*TAN[角度A除以2]) G00X[#29+#30*#32] (当前层x为终点值+系数*当前牙高) Z#23 初始定位 G32Z#26F#9 中间干一刀 G00X#27 退刀 Z#23 初始定位 IF[#32EQ0]GOTO4(如果牙高递减等于0跳转N4) #28=0 (左右偏移量) N2#28=#28+#18 (右边偏移一个刀尖R量) IF[#28GT#33]GOTO3(如果偏移量大于左右宽则跳转N3) G00X[#29+#30*#32](当前层x为终点值+系数*当前牙高) Z[#23+#28] (往右偏移刀尖) G32Z#26F#9 G00X#27 Z#23 G00X[#29+#30*#32] Z[#23-#28] (往左偏移刀尖) G32Z#26F#9 G00X#27 Z#23 GOTO2 (重复偏移) N3G00X[#29+#30*#32] Z[#23+#33] (当前层最右边) G32Z#26F#9 G00X#27 Z#23 G00X[#29+#30*#32] Z[#23-#33] (当前层最左边) G32Z#26F#9 G00X#27 Z#23 IF[#32GT0]GOTO1(如果牙高大于0跳转N1) N4G00X#27 Z#23 M99(结束返回主程序) % 这个O8310就是宏程序本体(发那科适用) 当然我的思路或许使得此程序臃肿,或者说效率不高。应该有更简洁的宏程序,不过我脑子不太聪明, 这已经是我的极限了哈,暂时将就着用吧。 之前看到很多视频平台上拿程序来卖,专门给小白大螺距螺纹编程赚钱,我估计这个帖子会间接断了好 多人的财路?自己动手它不香吗,哈 此本体广数和凯恩帝也基本适用,不过需要改一改报警语句,因为系统不同报警语句也差别。后期会在 百度网盘上传各个系统版本的程序,暂时这个是发那科的。 我们直接将O8310复制进机床中,名字当然也是O8310,然后就不用动了,用G65调用它就可以了,比如我 们需要加工M80*6的螺纹。 大径80 底径72.2 长度50 X轴增量退刀2.0(如果是外螺纹就是2.0,内螺纹就是-2.0) Z定位点5.0 每次进刀0.3半径值 每刀左右偏移量一个刀尖R0.6 牙高(大径80-小径72.2)/2=3.9 角度60 直接在主程序输入G65P8310X72.2Z-50.0A60.0H3.9U2.0W5.0Q0.3R0.6F6.0 变量对应关系如下#24为x终点尺寸X #26为z终点尺寸Z #9为螺距F #11为H牙高 #17为Q每刀切深。半径值 #18为R刀尖左右每次偏移量 #23为W轴向初始定位点z轴(刀具偏移量中点) #1为A三角螺纹角度(支持60或者55度) #21为U退刀增量值 此值为正时为外螺纹,若为负值则是内螺纹,宏程序根据U值自动判断内外螺纹 就这样,只要把宏程序O8310复制,存到机床里,每次车螺纹就用g65带参数调用它,就和g76差不多了。 如果觉得g65太麻烦,可以将这个O8310的程序内容复制到O9010,然后参数6050号的参数设置为78,注意 :O91010和6050号参数的值是对应的,假如是O9011则是6051号参数(这方法发那科适用,广数凯恩帝也 大同小异) 这样就完成了自定义g代码调用,以后车大螺距螺纹就可以直接将上面的G65P8310改成G78(改成其他也 可以,不是现有G代码就行,比如G77或者G88等等都可以),如同自己设计了一个G代码来专门加工大螺 距三角螺纹。还是有点成就感的哈。先到这里吧,看得懂的需要的可以找我拿宏程序本体哈,下次有空再发个梯形螺纹宏程序本体吧。梯形 宏程序和这个三角螺纹的差不多,只是多了刀宽和槽底宽的变量,感兴趣的可以自己改一改就可以了。 此贴结束。 ps:我不是装B,只是希望我的数控生涯能在世界里留下印记。
数控车床装B指南,新手慎入! 干数控车,上班累工资还不高,心情就会低落,所以我们必须尽量调整心情,而愉悦的搬砖也需要适度的装B,方能体会工作以及生活的真谛。 新手警告:如果你是学徒,请离开此贴,否则继续学习,会影响师傅们的装B效果!! 闲话不多说,我们开始。 1初级装B: 升级版M98--G65调用子程序 装B设备要求:支持B宏的大部分机器 G65其实是升级版的M98 当我们程序是M98P5000调用子程序的时候,用G65P5000是一样的效果。一般的学徒是不懂的,所以会觉得师傅比较牛B.但因为太简单,极容易被看穿。否则会被鄙视。 2中级装B: 带参数的G65调用子程序 装B设备要求:支持B宏的大部分机器 初级装B中,我们知道G65可以调用子程序,方法简单,学徒一看就破功,所以我们必须让G65搞点东西,把学徒弄混。 具体如下:G65P5000A20.0B-20.0 O5000 …… G0X#1 G1Z#2F0.2 …… 其中A20.0代**程序中#1=20.0 #2=-20.0 G65P5000代表调用子程序O5000 A20.0B-20.0则将#1=20.0 #2=-20.0带入O5000中。 如此,让学徒欲罢不能,打开子程序也不知道是什么意思。极易装B成功! 3高级装B: 装B设备要求:支持B宏的大部分机器 接中级装B的概念继续上升,其使用的是G65调用子程序,有些基础的学徒看多了亦能简单领会,使我们装B成本直线上升,所以,高级篇我们采用自定义G代码调用宏程序以及多参数带入来让学徒一看就懵圈。具体如下 如同G65.当带入参数时,我们通过参数来设定子程序中的变量,而这种变量用字母来带入,且它的变量号是系统固定的。由此,我们可以编好一个自动钻孔宏程序,然后带入需要的参数,再设定调用此子程序的G代码,则完成了“自定义G代码调用宏程序”,从而可以对学徒表示此为自己设计的G代码,达到超级高级装B效果! 下面是自定义的G代码“G77” G77Z-60.0D10.0Q5000R0.5F0.1 其中Z-60.0等于是子程序中#26=-60.0 D10.0等于是子程序中#7=10.0 Q5000等于是子程序中#17=5000 R0.5等于是子程序中#18=0.5 F0.1等于是子程序中#9=0.1 这些参数的变量号是系统预设的。 A是#1 B是#2 C是#3 ……一路排列下来, 当系统读到G77则自动调用O9010这个子程序 O9010 #30=#7 (Z轴退洞口定位点) #31=#5002 (刀具当前Z轴坐标值,系统变量) #33=#17/1000 (将Q5000换算成5.0) N1G0Z#30 (移动到洞口定位点D) #32=#31+#18(每一次钻入前的预留量) G0Z#32 #31=#31-#33(每一次钻孔终点值) IF[#31LE#26]THEN#31=#26(如果此次钻孔值小于最终终点,则等于最终终点值) G1Z#31F#9(怼) G0Z#30 IF[#31GT#26]GOTO1(如果当前没钻到终点,跳转到N1) M99 这样,完美的装B效果达到,成就为可以大言不惭的对学徒说:此乃为师本人设计的G代码! 然后四十五度仰望天空即可! 4时本来还有一个自定义G78车大螺距螺纹为终极装B奥义! 但时间不够了,所以留下次再写,此程序可以让法兰克凯恩帝等等不支持广数G78的机型,也可以用自定义G78来加工大螺距三角螺纹。 当然还有更深的自定义G79加工梯形螺纹等等无尽装B奥义,不知道你们会不会期待。 好了,就这样,祝你们装B成功!
电脑编程车凹圆弧?手机行不行?试试 加工店,突然来了张图纸,外径凹圆弧,两头轴承位。法兰克老系统,还好支持cf卡。电脑又坏掉了,g71二型又不支持。g73老板又嫌太慢,试试手机编程吧
利用子程序车矩形螺纹,试验品 今天有点闲,就想试试矩形螺纹,手头只有残废的980t系统,2mm切刀,这**系统还不支持b宏,对于a宏如看天书的我只能曲线救国,用子程序车了…… 这个螺纹只有样板,不知道大小,只知道大径21.0牙底直径18.0牙顶宽1.7螺距4.0mm,刚好2.0的切刀,再偏移0.3就够了。
发几张图,看得懂得也顺便帮忙解决下,感激不尽 这几张图是我自定义g代码钻孔宏循环, 因为考虑到刀具定位的问题,想读取刀具当前绝对坐标值,知道系统变量是#5043 但是不能调用,类似于#30=#5403这样操作会报警。有没有办法解决呢?因为钻孔的时候定位可能定在20.0也可能5.0也可能-5.0 解决了这个定位问题,我的自定义宏钻孔g代码才能算完成。
车黄铜怎么防止铜屑刺手? 很久没车铜了,扎了几个小刺,很不爽
四工位手动卡盘做这个,真蛋疼 赛钢,一次做十个。好烦
浅谈凯恩帝g54-59在加工中的作用和g50的差别,高手绕道 近来闲来无事,上班也就那几样东西,之前打样做个5-6件的活很多还很小,同事打样的时候他用g50做多个,我打样的时候都是用54-59 他看到了,过来说:你怎么用这个,g50那么好用为什么不用? 鉴于个人编程习惯和思路不同不能比较优劣,我们还是从起点出发慢慢看 我们知道,凯恩帝开机后系统默认有一个坐标系,当然大家都认为是g54 对啊,开机不都显示g54吗 其实应该说不对 照我的理解开机后系统的坐标系假设是A 那么系统再将G54赋值给A 我们先看看凯恩帝的54-59画面从54-59一字排开 也就是说这个界面可以设置6个工件坐标系 具体这么用呢?举个例子吧坯料是直径10MM的料 一次做4个 每个带切刀位8.0 留0.2光面 一个8.2,四个32.8MM 这里用了四个坐标系54-57 在凯恩帝系统的设置界面G54-59处依次输入需要的坐标偏移(貌似必须是录入状态才能操作) 在G54-59的坐标设定中,因为单个步进是8.2 那么G55就设置为Z-8.2 G56设置为z-16.4 G57设置为z-24.6 因为没上班,没有设置图,能理解意思就成,反正KND车床的设置界面都一样 主程序O9999 G54 G99 T0202 G0X-80.0(3MM机夹切刀定位3.2,右刀尖对刀) Z3.2 M00(暂停拉料) G0Z100.0 g54(再次申明G54,因为本身已经是G54,可以不加,个人习惯) m98p8888(调用子程序O8888) G55 m98p8888 G56 m98p8888 G57 m98p8888 M30 子程序 g99 M3S1500T0101 G0X12.0Z0.0 G1X-1.0F0.13 G0X6.2W0.3 G1Z0.0F0.15 X7.0W-0.4F0.08 Z-8.1F0.13(预留切刀位3.1mm) X11.0F0.3 g0z100.0 M3S1200T0105G0X0.0(钻孔) Z2.0 G1Z0.5F2.0 Z-1.0F0.08 Z-8.0F0.16 G0Z60.0 M3S1000T0202G0X9.0(切断) Z-5.0 G1X7.5F0.5 X6.2F0.1 G0X7.5 W0.4 G1X7.05F0.15 X6.2Z-5.0F0.1 X0.0(切到底防止拉料时端面突起) G0X9.0 Z100.0M5 M99 按道理来说,只要料子刚性够,G54-59可以做6个, 那么问题来了,超过6个的怎么办?当然也有办法,有人说G50啊? 当然不是,凯恩帝还有一个G10(坐标系偏移) 用法G10 L2 P(0-5)X(U)__Z(W)__ 其中L2是系统默认的,照抄就行了 p的值是0-5代表了一个数字相对应G54-59 例如我坐标不够用了,偏移G59 那么G10 L2 P5 W-8.2 就是在g59的基础上再往z负的方向偏移8.2 但是用完了,也要将G59偏移回来G10 L2 P5 W-8.2 很多人就开始喷了,你这个跟G50还是没得比啊,G50也是直接偏移啊, 但是G50是全局偏移,上面说了,系统开机将g54赋值给A 而G50就是操作A的产物,当你使用了G50Z0.0命令以后 A的坐标系就是当前位置为原点了, 那么A就跟G54不相等,这样说会绕晕人的,也是看例子 g54 g55 g50w1.0 运行完这三段会发现,G54-g59全部往z负方向偏移了1.0 说明了G50操作的是全局坐标系 而54-59相当于局部坐标系,因为A的存在,使得我们认为的G54就是55-59的偏移原点的想法不可靠 G50偏移的是A 而54-59设置的值是以A为原点做偏移 所以当我们发现用G50使得54-59坐标错乱,或者A不跟G54相等的时候(比如G54在设置中设置了z-10.0) 那么55-56设置的偏移量就不是以54为标准了 已经使得在设置界面中的偏移对不上时,先将设置中54-59所有的数值全部清零, 然后可以用g50的命令来修正全部坐标系的原点 G54 G50Z0.0 G55 G50Z0.0 G56 G50Z0.0 G57 G50Z0.0 G58 G50Z0.0 G59 G50Z0.0 这样,就保证了54=A 设置中的偏移量就是以54为标准了 不过我也是菜鸟,也不知道自己说的对不对,如果有错,希望大家指出,感激不尽
1
下一页