UG爱好者

标题: 四轴RTCP算法宏程序的实现与仿真 [打印本页]

作者: Tualar    时间: 2022-1-30 10:42
标题: 四轴RTCP算法宏程序的实现与仿真
1. 测试于FANUC系统上,测试环境VERICUT 9.0.1,编程环境NX8.5.2. 百度网盘包含了翻译软件的C++源代码工程包,NX8.5编程文档,VERICUT仿真测试文档,以及四轴UG后处理文件,
多轴机床模型文件等等:(文件夹myrpcp)
                     链接:https://pan.baidu.com/s/1WA00jkURkupd0Fk5YGNwZg             提取码:r1cb
3 用Visual C++自己在家开发一个翻译软件,用来把UG后处理出来的NC程序翻译成RTCP宏调用形式的NC程序,

  软件同时可以自动生成宏RTCP程序,把翻译后的NC程序和软件自动生成的宏程序导入机床,你的工件就可以在
工作台上任意装夹了,用寻边器找个G54坐标就可以加工了。
比如: UG后处理出来的源NC程序是:
O1234
G40 G17 G49 G94 G80 G90
T1 M6
(Tool_name: T1D20)
(Path_name: VARIABLE_CONTOUR)
G0 G90 G54 X2.287 Y109. B47.227 S3500 M3
G43 Z43.039 H1 M8
Z-42.473
G1 X2.389 Z-43.896 F640.
X2.692 Z-45.29
X3.19 Z-46.627
X3.874 Z-47.879
X4.729 Z-49.022
X5.737 Z-50.031
X6.88 Z-50.886
X8.132 Z-51.57
X9.468 Z-52.069
X10.863 Z-52.372
X12.286 Z-52.474
X12.321 Z-52.471 B47.242 F1600.
X12.357 Z-52.468 B47.257
X12.428 Z-52.461 B47.287
X12.57 Z-52.448 B47.348
X12.854 Z-52.421 B47.47

.........................
用自己开发的翻译软件,翻译后,就是:
O1234
G40 G17 G49 G94 G80 G90
T1 M6
G65 P7100 S1
(Tool_name: T1D20)
(Path_name: VARIABLE_CONTOUR)
G65 P7100 X2.287 Y109. B47.227
G0 G90 G54 X#524 Y#525 B#528 S3500 M3
G65 P7100 Z43.039
G43 Z#526 H1 M8
G65 P7100 Z-42.473
Z#526
G65 P7100 X2.389 Z-43.896
G1 X#524 Z#526 F640.
G65 P7100 X2.692 Z-45.29
X#524 Z#526
G65 P7100 X3.19 Z-46.627
X#524 Z#526
G65 P7100 X3.874 Z-47.879
X#524 Z#526
G65 P7100 X4.729 Z-49.022
X#524 Z#526
G65 P7100 X5.737 Z-50.031
X#524 Z#526
G65 P7100 X6.88 Z-50.886
X#524 Z#526
G65 P7100 X8.132 Z-51.57
X#524 Z#526
G65 P7100 X9.468 Z-52.069
X#524 Z#526
G65 P7100 X10.863 Z-52.372
X#524 Z#526
G65 P7100 X12.286 Z-52.474
X#524 Z#526
G65 P7100 X12.321 Z-52.471 B47.242
X#524 Z#526 B#528 F1600.
G65 P7100 X12.357 Z-52.468 B47.257
X#524 Z#526 B#528
G65 P7100 X12.428 Z-52.461 B47.287
X#524 Z#526 B#528

......................................
自己开发的翻译软件自动生成的基于卧式四轴XYZB的宏程序是:
%
O7100
(*1.pos_of_b_axis_rotation_center_in_MCS,#4=x,#5=y,#6=z)
#4=0 (四轴旋转中心在机床坐标系中的位置X坐标,查阅机床使用手册或机床铭牌)
#5=0(四轴旋转中心在机床坐标系中的位置Y坐标,查阅机床使用手册或机床铭牌)
#6=0(四轴旋转中心在机床坐标系中的位置Z坐标,查阅机床使用手册或机床铭牌)
(*2.reset_variable_to_zero-->G65 P7100 S1)
WHILE [#19NE#0] DO1
#514=0
#515=0
#516=0
#517=0
#518=0
#524=0
#525=0
#526=0
#527=0
#528=0
#19=#0
END1
(*3.write_G54 value_to_#31=x,#32=y,#33=z,#30=b)
#31=#5221 (数控系统G54里面的X)
#32=#5222(数控系统G54里面的Y)
#33=#5223(数控系统G54里面的Z)
#30=#5224(数控系统G54里面的第四轴B)
(*4.if_x/y/z!=null,then_#514/#515/#516=x/y/z)
WHILE [#24NE#0] DO1
#514=#24
#24=#0
END1
WHILE [#25NE#0] DO1
#515=#25
#25=#0
END1
WHILE [#26NE#0] DO1
#516=#26
#26=#0
END1
(*5.If_r!=null,then_#517=r)
WHILE [#18NE#0] DO1
#517=#18
#18=#0
END1
(*6.If_a/b/c!=null,then_#518=a/b/c)
WHILE [#1NE#0] DO1
#518=#1+#30
#1=#0
END1
WHILE [#2NE#0] DO1
#518=#2+#30
#2=#0
END1
WHILE [#3NE#0] DO1
#518=#3+#30
#3=#0
END1
(*7.calculating_4axis_hmc_xyzrb_rpcp,计算卧式四轴B的RPCP)
#524=[#31-#4]*COS[-#518]+[#33-#6]*SIN[-#518]+#514+#4-#31
#525=#515
#526=-[#31-#4]*SIN[-#518]+[#33-#6]*COS[-#518]+#516+#6-#33
#527=-[#31-#4]*SIN[-#518]+[#33-#6]*COS[-#518]+#517+#6-#33
#528=#518
M99
%

自己开发的翻译软件自动生成的基于立式四轴XYZA的宏程序是:
%
O7100
(*1.pos_of_b_axis_rotation_center_in_MCS,#4=x,#5=y,#6=z)
#4=0 (四轴旋转中心在机床坐标系中的位置X坐标,查阅机床使用手册或机床铭牌)
#5=0(四轴旋转中心在机床坐标系中的位置Y坐标,查阅机床使用手册或机床铭牌)
#6=0(四轴旋转中心在机床坐标系中的位置Z坐标,查阅机床使用手册或机床铭牌)

(*2.reset_variable_to_zero)
WHILE [#19NE#0] DO1
#514=0
#515=0
#516=0
#517=0
#518=0
#524=0
#525=0
#526=0
#527=0
#528=0
#19=#0
END1
(*3.write_G54 value_to_#31=x,#32=y,#33=z,#30=b)
#31=#5221 (数控系统G54里面的X)
#32=#5222(数控系统G54里面的Y)
#33=#5223(数控系统G54里面的Z)
#30=#5224(数控系统G54里面的A)

(*4.if_x/y/z!=null,then_#514/#515/#516=x/y/z)
WHILE [#24NE#0] DO1
#514=#24
#24=#0
END1
WHILE [#25NE#0] DO1
#515=#25
#25=#0
END1
WHILE [#26NE#0] DO1
#516=#26
#26=#0
END1
(*5.If_r!=null,then_#517=r)
WHILE [#18NE#0] DO1
#517=#18
#18=#0
END1
(*6.If_a/b/c!=null,then_#518=a/b/c)
WHILE [#1NE#0] DO1
#518=#1+#30
#1=#0
END1
WHILE [#2NE#0] DO1
#518=#2+#30
#2=#0
END1
WHILE [#3NE#0] DO1
#518=#3+#30
#3=#0
END1
(*7.calculating_4axis_vmc_xyzra_rpcp,计算立式四轴A的RPCP)
#524=#514
#525=[#32-#5]*COS[-#518]+[#33-#6]*SIN[-#518]+#515+#5-#32
#526=-[#32-#5]*SIN[-#518]+[#33-#6]*COS[-#518]+#516+#6-#33
#527=-[#32-#5]*SIN[-#518]+[#33-#6]*COS[-#518]+#517+#6-#33
#528=#518
M99
%



1.jpg (1.14 MB, 下载次数: 144)

1.jpg

作者: cathy937156252    时间: 2022-1-30 14:44
楼主NB!!!!!!!!!
作者: 飛唬唬    时间: 2022-1-30 21:57
看不懂呀
作者: 唐建友    时间: 2022-1-30 22:08
高手,这样调宏程序实际上机应该会卡顿,要利用系统预读功能,每一句都直接计算应该会好些
作者: 唐建友    时间: 2022-1-30 22:09
高手,这样调宏程序实际加工应该会卡顿
作者: qqloveqq    时间: 2022-1-30 23:26
楼主是个牛X人物,造福百姓!
作者: Tualar    时间: 2022-1-31 03:26

FANUC  0i-MD/MF系统都标准有 AI 先行控制、程序预读功能。但区别在于前者可以预读 40 个程序段。目前 FANUC 机床出厂标准设置为普通加工模式(加工过程中不对加工程序进行预读),若需要使用该功能时只需要在程序首、尾分别插入 G5.1 Q1 和 G5.1 Q0 即可。也可以通过参数 1604#0 设成“ 1 ” ,机床开机后,默认使用高速高精度功能。
O1234
G40 G17 G49 G94 G80 G90
T1 M6
G5.1 Q1
G65 P7100 S1
(Tool_name: T1D20)
(Path_name: VARIABLE_CONTOUR)
G65 P7100 X2.287 Y109. B47.227
G0 G90 G54 X#524 Y#525 B#528 S3500 M3
G65 P7100 Z43.039
G43 Z#526 H1 M8
G65 P7100 Z-42.473
Z#526
G65 P7100 X2.389 Z-43.896
G1 X#524 Z#526 F640.
G65 P7100 X2.692 Z-45.29
X#524 Z#526
G65 P7100 X3.19 Z-46.627
X#524 Z#526
G65 P7100 X3.874 Z-47.879
X#524 Z#526
G65 P7100 X4.729 Z-49.022
X#524 Z#526
G65 P7100 X5.737 Z-50.031
X#524 Z#526
G65 P7100 X6.88 Z-50.886
X#524 Z#526
G65 P7100 X8.132 Z-51.57
X#524 Z#526
G65 P7100 X9.468 Z-52.069
X#524 Z#526
G65 P7100 X10.863 Z-52.372
X#524 Z#526
G65 P7100 X12.286 Z-52.474
X#524 Z#526
G65 P7100 X12.321 Z-52.471 B47.242
X#524 Z#526 B#528 F1600.
G65 P7100 X12.357 Z-52.468 B47.257
X#524 Z#526 B#528
G65 P7100 X12.428 Z-52.461 B47.287
X#524 Z#526 B#528
......................................
G5.1 Q0
G91 G28 Z0.  M9
G53 G0 B0. M5
G91 G28 Y0.
M30
%

作者: Tualar    时间: 2022-1-31 03:31
O1234
G40 G17 G49 G94 G80 G90
T1 M6
G5.1 Q1 (开启FANUC高速AI加工和程序预读模式)
G65 P7100 S1
(Tool_name: T1D20)
(Path_name: VARIABLE_CONTOUR)
G65 P7100 X2.287 Y109. B47.227
G0 G90 G54 X#524 Y#525 B#528 S3500 M3
G65 P7100 Z43.039
G43 Z#526 H1 M8
G65 P7100 Z-42.473
Z#526
G65 P7100 X2.389 Z-43.896
G1 X#524 Z#526 F640.
G65 P7100 X2.692 Z-45.29
X#524 Z#526
G65 P7100 X3.19 Z-46.627
X#524 Z#526
G65 P7100 X3.874 Z-47.879
X#524 Z#526
G65 P7100 X4.729 Z-49.022
X#524 Z#526
G65 P7100 X5.737 Z-50.031
X#524 Z#526
G65 P7100 X6.88 Z-50.886
X#524 Z#526
G65 P7100 X8.132 Z-51.57
X#524 Z#526
G65 P7100 X9.468 Z-52.069
X#524 Z#526
G65 P7100 X10.863 Z-52.372
X#524 Z#526
G65 P7100 X12.286 Z-52.474
X#524 Z#526
G65 P7100 X12.321 Z-52.471 B47.242
X#524 Z#526 B#528 F1600.
G65 P7100 X12.357 Z-52.468 B47.257
X#524 Z#526 B#528
G65 P7100 X12.428 Z-52.461 B47.287
X#524 Z#526 B#528

......................................
作者: YJ790730    时间: 2022-2-4 16:29
高手啊可以实现五轴的RTCP不



作者: Tualar    时间: 2022-2-5 20:04
YJ790730 发表于 2022-2-4 16:29
高手啊可以实现五轴的RTCP不

可以,一般五轴机床配置都是海德汉iTNC530/640的数控系统,非常强大,都有RTCP功能M128,所以不需要去研究了,
作者: ckc517    时间: 2022-2-7 19:56
现在数控编程行业内卷这么严重!!!
连四轴加工也要“动态工作偏置”.
谢谢楼主。

作者: @星    时间: 2022-2-20 11:42
牛 dddddddddddddddddddddd
作者: k3684952    时间: 2022-2-26 15:24
膜拜大神,
作者: 此号,只为ta_上    时间: 2022-4-25 20:43
楼主确实厉害
作者: q918970957    时间: 2022-4-28 21:37
楼主属实牛X.........
作者: yu55777257    时间: 2022-4-28 23:07
值得鼓励,坐标旋转
作者: xyaofe    时间: 2022-4-29 08:09
牛B啊!!!!!!
作者: 973044009    时间: 2022-4-29 09:58
没用过这种真的不敢用
作者: topman2017    时间: 2022-5-4 08:28
太强大了。还不会用
作者: yzc120508    时间: 2022-5-4 15:38
牛逼就行了D
作者: scswy168    时间: 2022-5-5 12:04
高手,RTCP是个什么概念,能不能给个比较详细点的普及介绍一下?
作者: 北極以南乀    时间: 2022-5-5 15:44
大神 啊,这是历害角色!!!
作者: xiang030506    时间: 2022-5-5 16:17
谢谢你的分享
作者: yksjk    时间: 2022-5-6 21:23
大神厉害了
作者: 唐潇钰    时间: 2022-5-8 09:42
这个直接把程序 转换下 两个程序同时倒入机床里 就可以用了吗  
作者: 唐潇钰    时间: 2022-5-8 09:46
那个G54-G59的位置是需要改成机床G54里边坐标的数值吗 就是工件分完中和后处理出来的那个坐标吗
作者: 唐潇钰    时间: 2022-5-14 09:57
Tualar 发表于 2022-1-31 03:26
FANUC  0i-MD/MF系统都标准有 AI 先行控制、程序预读功能。但区别在于前者可以预读 40 个程序段。目前 FA ...

法那克系统  用他这这个自动转化完   就可以用了  这么简单吗
作者: 归还借    时间: 2022-5-14 11:45
楼主牛X,造福大众!
作者: fpf41767161    时间: 2022-5-14 23:45
看一下,先学习学习
作者: 天文*    时间: 2022-5-15 09:07
这是真大佬啊
作者: ge135151    时间: 2022-5-15 11:59
这个有点长啊
作者: LUYDE    时间: 2022-5-15 13:46
楼主是大神!膜拜!
作者: cathy937156252    时间: 2022-7-26 06:47

楼主是大神!膜拜
作者: 26508448    时间: 2022-7-26 08:12
这是高手,这是高手。。。大神在民间啊!!!
作者: 随风飘~e族    时间: 2022-7-26 09:23
牛逼是很牛逼。牛逼的点在于做到了立加四轴和卧加四轴通用,开发了那个翻译软件。不过你真理解RTCP么?这个叫坐标系转换。如果你能做出来,A轴在一定范围内转动,刀尖点还能保持不变(XYZ坐标会自动变化),再来说RTCP吧

作者: xyaofe    时间: 2022-7-26 09:41
厉害,,,
作者: 1792426595    时间: 2022-7-26 10:20

谢谢你的分享
作者: k3684952    时间: 2022-7-26 11:22
膜拜大神!
作者: 小唐boy    时间: 2022-8-18 08:38
确实强 不错的
作者: 禾丶先    时间: 2023-2-27 19:36
这个后缀有45和没有45的有什么区别???????


下载.png (33.42 KB, 下载次数: 65)

这个后缀有45和没有45的有什么区别???????

这个后缀有45和没有45的有什么区别???????

作者: siyanhui    时间: 2023-2-28 09:05
稳定吗!看仿真有过切

作者: 油鸡初学者    时间: 2023-2-28 09:34
虽然看不懂,但是看起来就很厉害
作者: yinhangjie88    时间: 2023-3-1 08:17
https://www.ugsnx.com/?fromuid=2742313
作者: 灰机一灰而过    时间: 2023-3-1 09:25
太牛逼了  就是看不明白呀
作者: uglxqwx    时间: 2023-3-2 11:47
感谢楼主,学习学习
作者: 注意我的背影    时间: 2023-7-9 19:54
厉害,牛逼
作者: wangyuli    时间: 2023-7-18 20:26
5555555555555
作者: 没关系17    时间: 2023-7-19 09:48
厉害,下载了,还没上机测试,
作者: fmgs600*    时间: 2024-6-20 18:25
有人上过机试过吗?刚开始在新买的小黄机上试了下,过切,把治具都干坏了,,四轴联动干冲压件,要把xy平面里的旋转角度补偿进去,还要加探针点,用旋转中心编程无法实现,公司和厂家找了好多高手来搞都搞不定,最后没办法,把楼主这个宏文件的算法改了改,一次次调试,竟然可以用了,感谢楼主提供!
作者: 第四颗星vsDream    时间: 2024-6-22 13:20
唐建友 发表于 2022-1-30 22:09
高手,这样调宏程序实际加工应该会卡顿

每句计算的话确实会。最好通过机床旋转轴零点和实际工件摆放坐标系零点,对编程坐标系运算后,进行偏置转换,再出点位就好了。

不过我这个是Siemens的。

录入一遍对刀点,后续每次转动工作台时,只带入角度运算即可
;*****************OFFSET******************
;(对刀坐标系)
R1=$P_UIFR[2,X,TR]              对应X5
R2=$P_UIFR[2,Y,TR]              对应无
R3=$P_UIFR[2,Z,TR]              对应Z5
;(旋转中心坐标系)
R4=$P_UIFR[1,X,TR]              对应X9
R5=$P_UIFR[1,Z,TR]              对应Z9
;(旋转角度)
R6=$AA_IW[B]                    需要减去工件找平后的初始角度

;(加工坐标系)
X=R4+(R1-R4)*COS(R6)-(R3-R5)*SIN(R6)
Y=R2
Z=R5+(R3-R5)*COS(R6)+(R1-R4)*SIN(R6)

TRANS X Y Z…                   基于对刀坐标系
正常加工。。。

作者: 第四颗星vsDream    时间: 2024-6-22 13:26
第四颗星vsDream 发表于 2024-6-22 13:20
每句计算的话确实会。最好通过机床旋转轴零点和实际工件摆放坐标系零点,对编程坐标系运算后,进行偏置转 ...

补充:每次B轴角度变化,需要再计算一次。
作者: tyyxz    时间: 2024-6-27 18:23
谢谢楼主分享




欢迎光临 UG爱好者 (https://www.ugsnx.com/) Powered by Discuz! X3.2