QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 15915|回复: 51
打印 上一主题 下一主题

[分享] 四轴RTCP算法宏程序的实现与仿真

  [复制链接]

六级士官

Rank: 4

7

主题

124

帖子

1386

积分
跳转到指定楼层
楼主
发表于 2022-1-30 10:42:47 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
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

评分

参与人数 3G币 +12 收起 理由
飞翔的石头* + 3 楼主是大神!膜拜!
893011376 + 3 不错,支持你!
电视机在哪里 + 6 楼主是大神!膜拜!

查看全部评分

有奖推广贴子: 

回复

使用道具 举报

上尉

Rank: 6Rank: 6

0

主题

380

帖子

5540

积分
推荐
发表于 2022-5-15 13:46:20 | 只看该作者
楼主是大神!膜拜!
回复 支持 0 反对 1

使用道具 举报

六级士官

Rank: 4

7

主题

124

帖子

1386

积分
推荐
 楼主| 发表于 2022-1-31 03:26:35 | 只看该作者

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
%
回复 支持 1 反对 0

使用道具 举报

少尉

Rank: 5Rank: 5

7

主题

200

帖子

2790

积分
53#
发表于 2024-6-27 18:23:49 | 只看该作者
谢谢楼主分享
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

11

主题

536

帖子

6502

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

补充:每次B轴角度变化,需要再计算一次。
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

11

主题

536

帖子

6502

积分
51#
发表于 2024-6-22 13:20:53 | 只看该作者
唐建友 发表于 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…                   基于对刀坐标系
正常加工。。。
回复 支持 反对

使用道具 举报

六级士官

Rank: 4

3

主题

189

帖子

1661

积分
50#
发表于 2024-6-20 18:25:50 | 只看该作者
有人上过机试过吗?刚开始在新买的小黄机上试了下,过切,把治具都干坏了,,四轴联动干冲压件,要把xy平面里的旋转角度补偿进去,还要加探针点,用旋转中心编程无法实现,公司和厂家找了好多高手来搞都搞不定,最后没办法,把楼主这个宏文件的算法改了改,一次次调试,竟然可以用了,感谢楼主提供!
回复 支持 反对

使用道具 举报

三级士官

Rank: 3Rank: 3

2

主题

41

帖子

639

积分
49#
发表于 2023-7-19 09:48:37 | 只看该作者
厉害,下载了,还没上机测试,
回复 支持 反对

使用道具 举报

少尉

Rank: 5Rank: 5

2

主题

14

帖子

2563

积分
48#
发表于 2023-7-18 20:26:06 | 只看该作者
5555555555555
回复 支持 反对

使用道具 举报

上尉

Rank: 6Rank: 6

3

主题

772

帖子

5038

积分
46#
发表于 2023-3-2 11:47:37 | 只看该作者
感谢楼主,学习学习
回复 支持 反对

使用道具 举报

上等兵

Rank: 1

0

主题

17

帖子

147

积分
45#
发表于 2023-3-1 09:25:34 | 只看该作者
太牛逼了  就是看不明白呀
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-11-11 09:06

返回顶部