Tualar 发表于 2022-1-30 10:42:47

四轴RTCP算法宏程序的实现与仿真

1. 测试于FANUC系统上,测试环境VERICUT 9.0.1,编程环境NX8.5.2. 百度网盘包含了翻译软件的C++源代码工程包,NX8.5编程文档,VERICUT仿真测试文档,以及四轴UG后处理文件,
多轴机床模型文件等等:(文件夹myrpcp)

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
%



LUYDE 发表于 2022-5-15 13:46:20

楼主是大神!膜拜!

Tualar 发表于 2022-1-31 03:26:35


FANUC0i-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
%

cathy937156252 发表于 2022-1-30 14:44:36

楼主NB!!!!!!!!!

飛唬唬 发表于 2022-1-30 21:57:25

看不懂呀{:lol:}{:lol:}{:lol:}

唐建友 发表于 2022-1-30 22:08:35

高手,这样调宏程序实际上机应该会卡顿,要利用系统预读功能,每一句都直接计算应该会好些

唐建友 发表于 2022-1-30 22:09:30

高手,这样调宏程序实际加工应该会卡顿

qqloveqq 发表于 2022-1-30 23:26:39

楼主是个牛X人物,造福百姓!

Tualar 发表于 2022-1-31 03:31:15

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:32

高手啊可以实现五轴的RTCP不


Tualar 发表于 2022-2-5 20:04:52

YJ790730 发表于 2022-2-4 16:29
高手啊可以实现五轴的RTCP不

可以,一般五轴机床配置都是海德汉iTNC530/640的数控系统,非常强大,都有RTCP功能M128,所以不需要去研究了,
页: [1] 2 3 4 5 6
查看完整版本: 四轴RTCP算法宏程序的实现与仿真