Sequence de Palpage G31 plasma
4 participants
Page 1 sur 1
Sequence de Palpage G31 plasma
Bonjour a tous,
Je vous présente déjà la Machine! Il s'agit d'une table Plasma home made, piloté par une Bob et Mach3! J'utilise Sheetcam pour le tracé d'outil.
J'utilise un Post pro Mach3 qui intègre THC et G31.
J'utilise également un THC Proma pour suivre au mieux la surface du matériau.
LE PROBLEME:
Disons que je demande une hauteur de perçage a 3mm de la tole (Z0), et une hauteur de découpe a 1.5mm.
Pour mon premier perçage, la torche descend en vitesse lente depuis Z50mm (plan de dégagement), jusqu’à détecter la surface de la tôle grâce au palpeur ohmique.
Z passe a 0
torche remonte a 3 mm -> Torche ON Perçage 0.4s
descend Z a 1.5mm
découpe suivant le tracé
Torche Off
remonte et se deplace aux prochain point de plongé.
------------------------------------------
Là, la sequence devient différente
La Torche est a Z 50mm et descend en grande vitesse jusqu’à Z 3mm
Passe ensuite en petite vitesse, et attend le signal du palpeur ohmique pour redéfinir le Z0.
et c'est reparti pour une découpe.
les perçages suivant sont identique a cette séquence.
---------------------------------------------
Mon problème: Dans la séquence ou la torche descend rapidement, le capteur ohmique n'est pris en compte que sur la partie descente vitesse lente, cad en dessus de Z3mm.
ce qui m’embête c'est que si ma tôle est remonté (par déformation) plus haut que Z3mm, ma torche force littéralement dans la feuille d'acier.
Et si par exemple je souhaite couper de la tole onduline, ca devient ingérable pour cette séquence de palpage.
La solution: J'aimerais que le capteur ohmique soit pris en considération même sur une descente rapide, afin de créer la séquence suivante:
descente rapide de la torche
capteur ohmique détecte la surface
remonter rapide de 10mm Z
redescente vitesse lente du Z
Palpage en douceur
Z=0
Alors qu'en pensez vous?
Je vous présente déjà la Machine! Il s'agit d'une table Plasma home made, piloté par une Bob et Mach3! J'utilise Sheetcam pour le tracé d'outil.
J'utilise un Post pro Mach3 qui intègre THC et G31.
J'utilise également un THC Proma pour suivre au mieux la surface du matériau.
LE PROBLEME:
Disons que je demande une hauteur de perçage a 3mm de la tole (Z0), et une hauteur de découpe a 1.5mm.
Pour mon premier perçage, la torche descend en vitesse lente depuis Z50mm (plan de dégagement), jusqu’à détecter la surface de la tôle grâce au palpeur ohmique.
Z passe a 0
torche remonte a 3 mm -> Torche ON Perçage 0.4s
descend Z a 1.5mm
découpe suivant le tracé
Torche Off
remonte et se deplace aux prochain point de plongé.
------------------------------------------
Là, la sequence devient différente
La Torche est a Z 50mm et descend en grande vitesse jusqu’à Z 3mm
Passe ensuite en petite vitesse, et attend le signal du palpeur ohmique pour redéfinir le Z0.
et c'est reparti pour une découpe.
les perçages suivant sont identique a cette séquence.
---------------------------------------------
Mon problème: Dans la séquence ou la torche descend rapidement, le capteur ohmique n'est pris en compte que sur la partie descente vitesse lente, cad en dessus de Z3mm.
ce qui m’embête c'est que si ma tôle est remonté (par déformation) plus haut que Z3mm, ma torche force littéralement dans la feuille d'acier.
Et si par exemple je souhaite couper de la tole onduline, ca devient ingérable pour cette séquence de palpage.
La solution: J'aimerais que le capteur ohmique soit pris en considération même sur une descente rapide, afin de créer la séquence suivante:
descente rapide de la torche
capteur ohmique détecte la surface
remonter rapide de 10mm Z
redescente vitesse lente du Z
Palpage en douceur
Z=0
Alors qu'en pensez vous?
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Voici Le Gcode d'une petite pièce (decapsuleur) avec 2 contours intérieur et 1 extérieur.
En Lisant le Gcode je ne comprend pas ou et comment la vitesse du Z est geré, et pourquoi le palpeur n'est prit en compte que sous Z3, alors que je suis en G31 Z-100!!!
------------------------------
N0010 (Filename: decapsuleur.tap)
N0020 (Post processor: Mach3 plasma THC with scriber and backlash compensation.scpost)
N0030 (Date: 04/11/2012)
N0040 G21 (Units: Metric)
N0050 F1
N0060 G53 G90 G40
N0070 (Part: decapsuleur)
N0080 (Operation: Décalage extérieur, WHITE, T1: Plasma, 0,8 mm Fente de coupe)
N0090 G00 X26.6311 Y32.5390
N0100 G31 Z -100 F200.0
N0110 G92 Z0.0
N0120 G00 Z0.0000
N0130 G92 Z0.0
N0140 G00 Z3.0000
N0150 M03
N0160 G04 P0.5
N0170 G01 Z1.5000 F100.0
N0180 X28.4530 Y30.1556 F2000.0
N0190 X28.4537 Y30.1562
N0200 X28.7812 Y31.8194
N0210 X26.3044 Y34.5258
N0220 X23.2010 Y36.4824
N0230 X19.6913 Y37.5504
N0240 X16.0241 Y37.6541
N0250 X12.4596 Y36.7862
N0260 X9.2506 Y35.0081
N0270 X7.8796 Y32.4764
N0280 X7.7204 Y22.6021
N0290 X7.8801 Y12.6976
N0300 X9.2192 Y10.2186
N0310 X9.2392 Y10.2045
N0320 X12.4493 Y8.4197
N0330 X16.0173 Y7.5480
N0340 X19.6888 Y7.6516
N0350 X23.2020 Y8.7230
N0360 X26.3064 Y10.6860
N0370 X28.7806 Y13.4005
N0380 X28.8170 Y13.4457
N0390 X28.5222 Y15.0154
N0400 X28.4529 Y15.0579
N0410 X26.6581 Y16.4299
N0420 X26.5552 Y16.5468
N0430 X25.3380 Y19.4688
N0440 X24.9227 Y22.6068
N0450 X25.3380 Y25.7448
N0460 X26.5552 Y28.6668
N0470 X26.6581 Y28.7836
N0480 X28.4530 Y30.1556
N0490 X28.4537 Y30.1562
N0500 X28.9454 Y30.9967
N0510 X25.9738 Y31.4091
N0520 M05
N0530 G04 P3
N0540 G00 Z50.0000
N0550 X79.8652 Y22.6567
N0560 Z3.0000
N0570 G31 Z -100 F200.0
N0580 G92 Z0.0
N0590 G00 Z0.0000
N0600 G92 Z0.0
N0610 G00 Z3.0000
N0620 M03
N0630 G04 P0.5
N0640 G01 Z1.5000 F100.0
N0650 Y19.6567 F2000.0
N0660 X81.4627 Y20.1258
N0670 X82.5530 Y21.3840
N0680 X82.7899 Y23.0320
N0690 X82.0983 Y24.5464
N0700 X80.6977 Y25.4465
N0710 X79.0328
N0720 X77.6322 Y24.5464
N0730 X76.9405 Y23.0320
N0740 X77.1775 Y21.3840
N0750 X78.2678 Y20.1258
N0760 X79.8652 Y19.6567
N0770 X80.8462 Y19.8243
N0780 X79.8502 Y22.6541
N0790 M05
N0800 G04 P3
N0810 G00 Z50.0000
N0820 X89.2321 Y14.2011
N0830 Z3.0000
N0840 G31 Z -100 F200.0
N0850 G92 Z0.0
N0860 G00 Z0.0000
N0870 G92 Z0.0
N0880 G00 Z3.0000
N0890 M03
N0900 G04 P0.5
N0910 G01 Z1.5000 F100.0
N0920 X86.2321 F2000.0
N0930 X85.8948 Y12.5053
N0940 X84.9342 Y11.0677
N0950 X83.4965 Y10.1071
N0960 X81.8007 Y9.7698
N0970 X35.6703
N0980 X27.8878 Y3.9306
N0990 X24.8539 Y1.7670
N1000 X21.4222 Y0.3149
N1010 X17.7568 Y-0.3564
N1020 X14.0332 Y-0.2147
N1030 X10.4295 Y0.7331
N1040 X7.1180 Y2.4419
N1050 X4.2573 Y4.8297
N1060 X1.9842 Y7.7823
N1070 X0.4074 Y11.1586
N1080 X-0.3977 Y14.7969
N1090 X-0.4000 Y14.8401
N1100 Y30.3640
N1110 X-0.3977 Y30.4073
N1120 X0.4079 Y34.0448
N1130 X1.9847 Y37.4203
N1140 X4.2574 Y40.3724
N1150 X7.1174 Y42.7600
N1160 X10.4280 Y44.4690
N1170 X14.0308 Y45.4176
N1180 X17.7537 Y45.5606
N1190 X21.4186 Y44.8910
N1200 X24.8505 Y43.4410
N1210 X27.8851 Y41.2797
N1220 X35.6702 Y35.4438
N1230 X81.8007
N1240 X83.4965 Y35.1065
N1250 X84.9342 Y34.1459
N1260 X85.8948 Y32.7082
N1270 X86.2321 Y31.0124
N1280 Y14.2011
N1290 X86.1197 Y13.2096
N1300 X89.0436 Y12.5383
N1310 M05
N1320 G04 P3
N1330 G00 Z50.0000
N1340 X0.0000 Y0.0000
N1350 M05 M30
En Lisant le Gcode je ne comprend pas ou et comment la vitesse du Z est geré, et pourquoi le palpeur n'est prit en compte que sous Z3, alors que je suis en G31 Z-100!!!
------------------------------
N0010 (Filename: decapsuleur.tap)
N0020 (Post processor: Mach3 plasma THC with scriber and backlash compensation.scpost)
N0030 (Date: 04/11/2012)
N0040 G21 (Units: Metric)
N0050 F1
N0060 G53 G90 G40
N0070 (Part: decapsuleur)
N0080 (Operation: Décalage extérieur, WHITE, T1: Plasma, 0,8 mm Fente de coupe)
N0090 G00 X26.6311 Y32.5390
N0100 G31 Z -100 F200.0
N0110 G92 Z0.0
N0120 G00 Z0.0000
N0130 G92 Z0.0
N0140 G00 Z3.0000
N0150 M03
N0160 G04 P0.5
N0170 G01 Z1.5000 F100.0
N0180 X28.4530 Y30.1556 F2000.0
N0190 X28.4537 Y30.1562
N0200 X28.7812 Y31.8194
N0210 X26.3044 Y34.5258
N0220 X23.2010 Y36.4824
N0230 X19.6913 Y37.5504
N0240 X16.0241 Y37.6541
N0250 X12.4596 Y36.7862
N0260 X9.2506 Y35.0081
N0270 X7.8796 Y32.4764
N0280 X7.7204 Y22.6021
N0290 X7.8801 Y12.6976
N0300 X9.2192 Y10.2186
N0310 X9.2392 Y10.2045
N0320 X12.4493 Y8.4197
N0330 X16.0173 Y7.5480
N0340 X19.6888 Y7.6516
N0350 X23.2020 Y8.7230
N0360 X26.3064 Y10.6860
N0370 X28.7806 Y13.4005
N0380 X28.8170 Y13.4457
N0390 X28.5222 Y15.0154
N0400 X28.4529 Y15.0579
N0410 X26.6581 Y16.4299
N0420 X26.5552 Y16.5468
N0430 X25.3380 Y19.4688
N0440 X24.9227 Y22.6068
N0450 X25.3380 Y25.7448
N0460 X26.5552 Y28.6668
N0470 X26.6581 Y28.7836
N0480 X28.4530 Y30.1556
N0490 X28.4537 Y30.1562
N0500 X28.9454 Y30.9967
N0510 X25.9738 Y31.4091
N0520 M05
N0530 G04 P3
N0540 G00 Z50.0000
N0550 X79.8652 Y22.6567
N0560 Z3.0000
N0570 G31 Z -100 F200.0
N0580 G92 Z0.0
N0590 G00 Z0.0000
N0600 G92 Z0.0
N0610 G00 Z3.0000
N0620 M03
N0630 G04 P0.5
N0640 G01 Z1.5000 F100.0
N0650 Y19.6567 F2000.0
N0660 X81.4627 Y20.1258
N0670 X82.5530 Y21.3840
N0680 X82.7899 Y23.0320
N0690 X82.0983 Y24.5464
N0700 X80.6977 Y25.4465
N0710 X79.0328
N0720 X77.6322 Y24.5464
N0730 X76.9405 Y23.0320
N0740 X77.1775 Y21.3840
N0750 X78.2678 Y20.1258
N0760 X79.8652 Y19.6567
N0770 X80.8462 Y19.8243
N0780 X79.8502 Y22.6541
N0790 M05
N0800 G04 P3
N0810 G00 Z50.0000
N0820 X89.2321 Y14.2011
N0830 Z3.0000
N0840 G31 Z -100 F200.0
N0850 G92 Z0.0
N0860 G00 Z0.0000
N0870 G92 Z0.0
N0880 G00 Z3.0000
N0890 M03
N0900 G04 P0.5
N0910 G01 Z1.5000 F100.0
N0920 X86.2321 F2000.0
N0930 X85.8948 Y12.5053
N0940 X84.9342 Y11.0677
N0950 X83.4965 Y10.1071
N0960 X81.8007 Y9.7698
N0970 X35.6703
N0980 X27.8878 Y3.9306
N0990 X24.8539 Y1.7670
N1000 X21.4222 Y0.3149
N1010 X17.7568 Y-0.3564
N1020 X14.0332 Y-0.2147
N1030 X10.4295 Y0.7331
N1040 X7.1180 Y2.4419
N1050 X4.2573 Y4.8297
N1060 X1.9842 Y7.7823
N1070 X0.4074 Y11.1586
N1080 X-0.3977 Y14.7969
N1090 X-0.4000 Y14.8401
N1100 Y30.3640
N1110 X-0.3977 Y30.4073
N1120 X0.4079 Y34.0448
N1130 X1.9847 Y37.4203
N1140 X4.2574 Y40.3724
N1150 X7.1174 Y42.7600
N1160 X10.4280 Y44.4690
N1170 X14.0308 Y45.4176
N1180 X17.7537 Y45.5606
N1190 X21.4186 Y44.8910
N1200 X24.8505 Y43.4410
N1210 X27.8851 Y41.2797
N1220 X35.6702 Y35.4438
N1230 X81.8007
N1240 X83.4965 Y35.1065
N1250 X84.9342 Y34.1459
N1260 X85.8948 Y32.7082
N1270 X86.2321 Y31.0124
N1280 Y14.2011
N1290 X86.1197 Y13.2096
N1300 X89.0436 Y12.5383
N1310 M05
N1320 G04 P3
N1330 G00 Z50.0000
N1340 X0.0000 Y0.0000
N1350 M05 M30
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Salut
Tu peu mettre une photo histoire de voir la bête
Tu peu mettre une photo histoire de voir la bête
fazer- complétement accro
- Messages : 1671
Points : 1852
Date d'inscription : 14/06/2010
Age : 67
Localisation : E Krumme Elsässer in Haute Patate
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Salut,
N0100 G31 Z -100 F200.0 ' palpage à 200 mm/min
N0110 G92 Z0.0 'mise à 0 de la coord Z (temporaire) lorsque la torche est en contact avec la tôle
N0120 G00 Z0.0000 ' ne sert à rien
N0130 G92 Z0.0 ' ne sert à rien
N0140 G00 Z3.0000 ' remonte à Z = 3
N0150 M03 ' démarrage torche
N0160 G04 P0.5 ' pause 1/2s
N0170 G01 Z1.5000 F100.0 ' descente jusqu'à 1.5mm au dessus de la tôle à 100mm/min
N0180 X28.4530 Y30.1556 F2000.0 ' coupe à 2000 mm/min.
....
....
++
David
En Lisant le Gcode je ne comprend pas ou et comment la vitesse du Z est geré, et pourquoi le palpeur n'est prit en compte que sous Z3, alors que je suis en G31 Z-100!!!
N0100 G31 Z -100 F200.0 ' palpage à 200 mm/min
N0110 G92 Z0.0 'mise à 0 de la coord Z (temporaire) lorsque la torche est en contact avec la tôle
N0120 G00 Z0.0000 ' ne sert à rien
N0130 G92 Z0.0 ' ne sert à rien
N0140 G00 Z3.0000 ' remonte à Z = 3
N0150 M03 ' démarrage torche
N0160 G04 P0.5 ' pause 1/2s
N0170 G01 Z1.5000 F100.0 ' descente jusqu'à 1.5mm au dessus de la tôle à 100mm/min
N0180 X28.4530 Y30.1556 F2000.0 ' coupe à 2000 mm/min.
....
....
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Sequence de Palpage G31 plasma
Salut
Belle bête
Belle bête
fazer- complétement accro
- Messages : 1671
Points : 1852
Date d'inscription : 14/06/2010
Age : 67
Localisation : E Krumme Elsässer in Haute Patate
Re: Sequence de Palpage G31 plasma
dh42 a écrit:Salut,En Lisant le Gcode je ne comprend pas ou et comment la vitesse du Z est geré, et pourquoi le palpeur n'est prit en compte que sous Z3, alors que je suis en G31 Z-100!!!
N0100 G31 Z -100 F200.0 ' palpage à 200 mm/min
N0110 G92 Z0.0 'mise à 0 de la coord Z (temporaire) lorsque la torche est en contact avec la tôle
N0120 G00 Z0.0000 ' ne sert à rien
N0130 G92 Z0.0 ' ne sert à rien
N0140 G00 Z3.0000 ' remonte à Z = 3
N0150 M03 ' démarrage torche
N0160 G04 P0.5 ' pause 1/2s
N0170 G01 Z1.5000 F100.0 ' descente jusqu'à 1.5mm au dessus de la tôle à 100mm/min
N0180 X28.4530 Y30.1556 F2000.0 ' coupe à 2000 mm/min.
....
....
++
David
Je suis exactement du meme Avis....
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Salut,
En fait c'est normal (enfin ça fait ce qui est prévu dans le GCode)
N0010 (Filename: decapsuleur.tap)
N0020 (Post processor: Mach3 plasma THC with scriber and backlash compensation.scpost)
N0030 (Date: 04/11/2012)
N0040 G21 (Units: Metric)
N0050 F1
N0060 G53 G90 G40
N0070 (Part: decapsuleur)
N0080 (Operation: Décalage extérieur, WHITE, T1: Plasma, 0,8 mm Fente de coupe)
N0090 G00 X26.6311 Y32.5390
N0100 G31 Z -100 F200.0
le premier mouvement en Z est entièrement fait par le G31 , quelque soit la hauteur ou tu te trouve au départ, et donc à 200mm/min et donc ça détecte la tôle.
...
N0490 X28.4537 Y30.1562
N0500 X28.9454 Y30.9967
N0510 X25.9738 Y31.4091
N0520 M05
N0530 G04 P3
N0540 G00 Z50.0000 on remonte à 50 en rapide
N0550 X79.8652 Y22.6567
N0560 Z3.0000 la par contre on descend aussi en rapide jusqu'à Z=3 (pour mach3 c'est équivalent à un G0 si il n'y rien devant) donc ça ne peut rien détecter ; c'est uniquement le G31 qui fait la détection de contact
N0570 G31 Z -100 F200.0 et ensuite seulement on palpe à 200
même chose ligne 830 on descend en rapide.
Dans tous les cas la détection de la tôle c'est comme un palpage outil et c'est uniquement le G31 qui l'effectue, un G1 ou G0 en descente n'a aucune raison de déclencher la détection même si tu descendais doucement à Z3 avec un G1 Z3 F200 ...
Règle ta position Z à une valeur plus élevée que 3mm de façon à prendre en compte les déformations de ta tôle pour que ton G31 parte de plus haut. Tu ne peux tout simplement pas détecter un contact avec un G0 ou un G1 ; ce n'est pas fait pour ; il faut obligatoirement que ce soit fait par le G31.
Dans ce cas il faut que tu modifie ton post pro pour qu'il sorte une séquence comme suit:
......
......
G00 Z50.0000
X79.8652 Y22.6567
G31 Z-100 F1500 'palpage à 1500mm/min
G92 Z0 ' mise à 0 du Z
G0 Z10 ' remonte à +10 en rapide
G31 Z-100 F200 ' palpage lent à 200mm/min
G92 Z0 'mise à 0 du Z
G00 Z3 'remonte à +3
M03 'départ torche
G04 P0.5 'pose 1/2s
G01 Z1.5000 F100.0 'descente lente à +1.5
....
....
++
David
Pour mon premier perçage, la torche descend en vitesse lente depuis Z50mm (plan de dégagement), jusqu’à détecter la surface de la tôle grâce au palpeur ohmique.
En fait c'est normal (enfin ça fait ce qui est prévu dans le GCode)
N0010 (Filename: decapsuleur.tap)
N0020 (Post processor: Mach3 plasma THC with scriber and backlash compensation.scpost)
N0030 (Date: 04/11/2012)
N0040 G21 (Units: Metric)
N0050 F1
N0060 G53 G90 G40
N0070 (Part: decapsuleur)
N0080 (Operation: Décalage extérieur, WHITE, T1: Plasma, 0,8 mm Fente de coupe)
N0090 G00 X26.6311 Y32.5390
N0100 G31 Z -100 F200.0
le premier mouvement en Z est entièrement fait par le G31 , quelque soit la hauteur ou tu te trouve au départ, et donc à 200mm/min et donc ça détecte la tôle.
...
N0490 X28.4537 Y30.1562
N0500 X28.9454 Y30.9967
N0510 X25.9738 Y31.4091
N0520 M05
N0530 G04 P3
N0540 G00 Z50.0000 on remonte à 50 en rapide
N0550 X79.8652 Y22.6567
N0560 Z3.0000 la par contre on descend aussi en rapide jusqu'à Z=3 (pour mach3 c'est équivalent à un G0 si il n'y rien devant) donc ça ne peut rien détecter ; c'est uniquement le G31 qui fait la détection de contact
N0570 G31 Z -100 F200.0 et ensuite seulement on palpe à 200
même chose ligne 830 on descend en rapide.
Dans tous les cas la détection de la tôle c'est comme un palpage outil et c'est uniquement le G31 qui l'effectue, un G1 ou G0 en descente n'a aucune raison de déclencher la détection même si tu descendais doucement à Z3 avec un G1 Z3 F200 ...
Règle ta position Z à une valeur plus élevée que 3mm de façon à prendre en compte les déformations de ta tôle pour que ton G31 parte de plus haut. Tu ne peux tout simplement pas détecter un contact avec un G0 ou un G1 ; ce n'est pas fait pour ; il faut obligatoirement que ce soit fait par le G31.
La solution: J'aimerais que le capteur ohmique soit pris en considération même sur une descente rapide, afin de créer la séquence suivante:
descente rapide de la torche
capteur ohmique détecte la surface
remonter rapide de 10mm Z
redescente vitesse lente du Z
Palpage en douceur
Z=0
Dans ce cas il faut que tu modifie ton post pro pour qu'il sorte une séquence comme suit:
......
......
G00 Z50.0000
X79.8652 Y22.6567
G31 Z-100 F1500 'palpage à 1500mm/min
G92 Z0 ' mise à 0 du Z
G0 Z10 ' remonte à +10 en rapide
G31 Z-100 F200 ' palpage lent à 200mm/min
G92 Z0 'mise à 0 du Z
G00 Z3 'remonte à +3
M03 'départ torche
G04 P0.5 'pose 1/2s
G01 Z1.5000 F100.0 'descente lente à +1.5
....
....
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Sequence de Palpage G31 plasma
Dans ce cas il faut que tu modifie ton post pro pour qu'il sorte une séquence comme suit:
......
......
G00 Z50.0000
X79.8652 Y22.6567
G31 Z-100 F1500 'palpage à 1500mm/min
G92 Z0 ' mise à 0 du Z
G0 Z10 ' remonte à +10 en rapide
G31 Z-100 F200 ' palpage lent à 200mm/min
G92 Z0 'mise à 0 du Z
G00 Z3 'remonte à +3
M03 'départ torche
G04 P0.5 'pose 1/2s
G01 Z1.5000 F100.0 'descente lente à +1.5
....
....
++
David[/quote]
Hello,
oui tu as raison pour le gcode! en fait quand il n'y a pas de vitesse indiquée, c'est la vitesse nominal du Z....
Et oui ta proposition de Gcode est exactement ce que je voudrais faire... Mais comment modifier le Post Pro? je sais l'editer, mais de la a faire en sorte qu'il créé cette sequence a chaque palpage je suis largué..
et je n'arrive pas a joindre mon fichiers Post pro ici
......
......
G00 Z50.0000
X79.8652 Y22.6567
G31 Z-100 F1500 'palpage à 1500mm/min
G92 Z0 ' mise à 0 du Z
G0 Z10 ' remonte à +10 en rapide
G31 Z-100 F200 ' palpage lent à 200mm/min
G92 Z0 'mise à 0 du Z
G00 Z3 'remonte à +3
M03 'départ torche
G04 P0.5 'pose 1/2s
G01 Z1.5000 F100.0 'descente lente à +1.5
....
....
++
David[/quote]
Hello,
oui tu as raison pour le gcode! en fait quand il n'y a pas de vitesse indiquée, c'est la vitesse nominal du Z....
Et oui ta proposition de Gcode est exactement ce que je voudrais faire... Mais comment modifier le Post Pro? je sais l'editer, mais de la a faire en sorte qu'il créé cette sequence a chaque palpage je suis largué..
et je n'arrive pas a joindre mon fichiers Post pro ici
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Mon post pro:
--************************************************
--*** Set these values up to suit your machine ***
--************************************************
--Set the X axis backlash amount in MILLIMETRES
backlashX = 0
--Set the Y axis backlash amount in MILLIMETRES
backlashY = 0
--this is the distance between each torch reference in MILLIMETRES
--set it to -1 if you never want to reference
refDistance = 0
--this is the reference feed rate in mm/min
refFeed = 200
--Put your switch offset value here in MILLIMETRES
switchOffset = 0
--Marker X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
--Use the special code 'nil' on the Z axis to disable it.
--In that case no Z values will be output at all while scribing.
--e.g markerZ = nil
markerX = 10
markerY = 20
markerZ = 0
--marker axis. Leave this as nil if the marker is fixed to the same axis as the torch
--markerAxis = "A"
markerAxis = nil
--If this value is set to true then use G28 (home) for the Z reference
--Set it to false for G31 probe
refHome = false
--The cutter will slow down for corners and turn off THC below this radius
slowRadius = 0
--Minimum slow down speed.
--This is a scale factor. For instance 0.5 = 50% of the current feed rate
slowPercent = 0.4
--THC on and off codes. Use nil if you don't want THC control e.g:
-- thcOnCode = nil
-- thcOffCode = nil
--here is another example that use M667 and M666
--thcOnCode = " M667"
--thcOffCode = " M666"
thcOnCode = nil
thcOffCode = nil
--Torch on code
torchOn = " M03"
--Torch off code
torchOff = " M05"
--Marker on code
markerOn = " M04"
--Marker off code
markerOff = " M05"
--************************************************
--*** End of settings ***
--************************************************
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma post processor for generic THC system s such as Proma\n")
ctrl:AppendText("Includes backlash compensation and punch marker/scriber\n")
ctrl:AppendText("\n")
ctrl:AppendText("Modal G-codes and coordinates\n")
ctrl:AppendText("Comments enclosed with ( and )\n")
ctrl:AppendText("M03/M05 turn the torch on/off\n")
ctrl:AppendText("M08/M09 turn the engraver on/off\n")
ctrl:AppendText("Incremental IJ - set in mach2\n")
ctrl:AppendText("The torch is referenced at cut start and every 500mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach3 and CandCNC MP1000-THC and Floating head Touch-n-Go\n")
ctrl:AppendText("Post variables:\n")
ctrl:AppendText("refDistance - set the distance between each reference\n")
ctrl:AppendText("refFeed - set the feed rate when referencing\n")
ctrl:AppendText("switchOffset - set your net switch offset amount \n")
ctrl:AppendText("Marker uses any tool number\n")
ctrl:AppendText("slowRadius - slow down below this radius\n")
ctrl:AppendText("slowPercent - minimum percentage to slow down\n")
end
-- created 1/1/06
-- Based on plasma1.post
-- Modified 21/6/2010
-- added option for 'nil' plate marker z
-- Added support for plate marker tool type as well as tool number based plate marker
-- Modified 4/11/2010
-- Added: Reference the torch on the first pen down if the plate marker is the first tool used.
post.DefineVariable("refDistance",sc.unitLINEAR,-1,1e17)
post.DefineVariable("refFeed",sc.unitFEED,0,1e17)
post.DefineVariable("switchOffset",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowRadius",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowPercent",sc.unitPERCENT,-1e17,1e17)
function OnInit()
offX = 0
offY = 0
offZ = 0
post.SetCommentChars ("()", "[]") --make sure ( and ) characters do not appear in system text
post.Text (" (Filename: ", fileName, ")\n")
post.Text (" (Post processor: ", postName, ")\n")
post.Text (" (Date: ", date, ")\n")
if(scale == metric) then
post.Text (" G21 (Units: Metric)\n") --metric mode
else
post.Text (" G20 (Units: Inches)\n") --inch mode
end
post.Text (" F1\n G53 G90 G40\n")
minArcSize = 0.2 --arcs smaller than this are converted to moves
firstRef = refDistance >=0
currentZAxis = " Z"
dist = 9999999
lastz = 0
thcstate = 1
ThcOff()
xPlus = false
yPlus = false
cX = 0
cY = 0
end
function OnNewLine()
post.Text ("N")
post.Number (lineNumber, "0000")
lineNumber = lineNumber + 10
end
function OnFinish()
endZ = safeZ
OnRapid()
endX = 0
endY = 0
offX = 0
offY = 0
offZ = 0
OnRapid()
post.Text (torchOff .. " M30\n")
end
function CheckBacklash(mode)
post.ModalText (mode)
if(endX > 1e17 or endY > 1e17) then return end
local diff = endX - cX
local changed = false
if(diff > 0.001 and xPlus == false) then
changed = true
xPlus = true
elseif(diff < -0.001 and xPlus == true) then
changed = true
xPlus = false
end
diff = endY - cY
if(diff > 0.001 and yPlus == false) then
changed = true
yPlus = true
elseif(diff < -0.001 and yPlus == true) then
changed = true
yPlus = false
end
cX = endX
cY = endY
if(changed) then
local moved = false
if (xPlus and backlashX ~=0) then
currentX = currentX + backlashX
post.ModalNumber (" X", currentX * scale, "0.0000")
moved = true
end
if (yPlus and backlashY ~=0) then
currentY = currentY + backlashY
post.ModalNumber (" Y", currentY * scale, "0.0000")
moved = true
end
if(moved) then
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
end
if (xPlus) then
endX = endX + backlashX
end
if (yPlus) then
endY = endY + backlashY
end
end
function OnRapid()
if(endX > 1e17 and endY > 1e17) then return end
local len = math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
dist = dist + len
CheckBacklash(" G00")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ and firstRef == false) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Eol()
end
function OnMove()
local len = math.hypot(endX - currentX , endY - currentY)
dist = dist + len
if(len > slowRadius) then
ThcOn()
end
CheckBacklash(" G01")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
function OnArc()
local radius = math.hypot(currentX - arcCentreX, currentY - arcCentreY)
dist = dist + radius * math.abs(arcAngle)
if (radius < slowRadius) and (math.abs(arcAngle) > 0.5) then
feed = (radius / slowRadius)
if(feed < slowPercent) then
feed = slowPercent
end
feed = feed * feedRate
ThcOff()
else
feed = feedRate
ThcOn()
end
if(arcAngle <0) then
post.ModalText (" G03")
else
post.ModalText (" G02")
end
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Text (" I")
post.Number ((arcCentreX - currentX) * scale, "0.0000")
post.Text (" J")
post.Number ((arcCentreY - currentY) * scale, "0.0000")
post.ModalNumber (" F", feed * scale, "0.0###")
post.Eol()
end
function OnArc()
post.ArcAsMoves(0.1)
end
function ThcOff()
if(not thcOffCode) then return end
if(thcstate ==1) then
thcstate = 0
post.Text(thcOffCode)
post.Text(" (THC off)\n");
end
end
function ThcOn()
if(not thcOnCode) then return end
if(toolClass == "MarkerTool") or tool > 99 then return end
if(thcstate ==0) then
thcstate = 1
post.Text(thcOnCode)
post.Text(" (THC on)\n");
return
end
if(thcstate == 2) then
thcstate = 0
end
end
function OnPenDown()
if(toolClass == "MarkerTool") then
if (firstRef) then
Reference()
post.ModalText (" G00")
post.Text(" Z")
post.Number (safeZ * scale, "0.0000")
post.Eol()
offX = markerX
offY = markerY
offZ = markerZ
post.ModalNumber (" X", (currentX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (currentY + offY) * scale, "0.0000")
post.Eol()
end
if (offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
post.Eol()
end
post.Text(markerOn .. "\n")
else
if(dist >= refDistance and refDistance >=0) then
dist = 0
Reference();
post.ModalText (" G00")
post.NonModalNumber (currentZAxis, (pierceHeight + offZ) * scale, "0.0000")
post.Eol()
end
if (preheat > 0) then
post.Text ("\n G04 P")
post.Number (preheat,"0.###")
post.Eol()
end
post.Text ("\n" .. torchOn .. "\n")
end
if (pierceDelay > 0) then
post.Text (" G04 P")
post.Number (pierceDelay,"0.###")
post.Eol()
end
-- thcstate = 2 --leave THC off for plunge move
end
function Reference()
firstRef = false
if(refDistance < 0) then return end
if (refHome) then
post.ModalText(" G28.1 Z")
local zp = 30
if(zp > safeZ) then
zp = safeZ
end
post.Number(zp * scale, "0.00")
else
post.ModalText(" G31 Z -100") CA DOIT ETRE PAR LA
end
post.ModalNumber (" F", refFeed * scale, "0.0###")
post.Eol()
post.ModalText(" G92 Z0.0\n")
post.ModalText (" G00")
post.Text(" Z")
post.Number (switchOffset * scale, "0.0000")
post.Eol()
post.ModalText(" G92 Z0.0\n")
end
function OnPenUp()
if(toolClass == "MarkerTool") then
post.Text(markerOff .. "\n")
else
post.Text (torchOff .. "\n")
end
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
post.Eol()
end
end
function OnNewOperation()
post.Text (" (Operation: ", operationName, ")\n")
end
function OnToolChange()
if (toolClass == "MarkerTool" or tool > 99 ) then
ThcOff()
if(markerAxis and markerAxis ~= currentZAxis) then
endZ = safeZ
post.ModalText(" G00")
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
post.Eol()
currentZAxis = " " .. markerAxis
end
if(firstRef ~= true) then
offX = markerX
offY = markerY
offZ = markerZ
end
else
if(markerAxis and markerAxis == currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = " Z"
end
offX = 0
offY = 0
offZ = 0
end
end
function OnNewPart()
post.Text(" (Part: ",partName,")\n");
end
function OnDrill()
OnRapid()
currentX = endX
currentY = endY
OnPenDown()
endZ = drillZ
OnMove()
OnPenUp()
endZ = safeZ
OnRapid()
end
--************************************************
--*** Set these values up to suit your machine ***
--************************************************
--Set the X axis backlash amount in MILLIMETRES
backlashX = 0
--Set the Y axis backlash amount in MILLIMETRES
backlashY = 0
--this is the distance between each torch reference in MILLIMETRES
--set it to -1 if you never want to reference
refDistance = 0
--this is the reference feed rate in mm/min
refFeed = 200
--Put your switch offset value here in MILLIMETRES
switchOffset = 0
--Marker X,Y,Z offsets in MILLIMETRES. Do not use inches here even if you want inch code
--Use the special code 'nil' on the Z axis to disable it.
--In that case no Z values will be output at all while scribing.
--e.g markerZ = nil
markerX = 10
markerY = 20
markerZ = 0
--marker axis. Leave this as nil if the marker is fixed to the same axis as the torch
--markerAxis = "A"
markerAxis = nil
--If this value is set to true then use G28 (home) for the Z reference
--Set it to false for G31 probe
refHome = false
--The cutter will slow down for corners and turn off THC below this radius
slowRadius = 0
--Minimum slow down speed.
--This is a scale factor. For instance 0.5 = 50% of the current feed rate
slowPercent = 0.4
--THC on and off codes. Use nil if you don't want THC control e.g:
-- thcOnCode = nil
-- thcOffCode = nil
--here is another example that use M667 and M666
--thcOnCode = " M667"
--thcOffCode = " M666"
thcOnCode = nil
thcOffCode = nil
--Torch on code
torchOn = " M03"
--Torch off code
torchOff = " M05"
--Marker on code
markerOn = " M04"
--Marker off code
markerOff = " M05"
--************************************************
--*** End of settings ***
--************************************************
function OnAbout(event)
ctrl = event:GetTextCtrl()
ctrl:AppendText("plasma post processor for generic THC system s such as Proma\n")
ctrl:AppendText("Includes backlash compensation and punch marker/scriber\n")
ctrl:AppendText("\n")
ctrl:AppendText("Modal G-codes and coordinates\n")
ctrl:AppendText("Comments enclosed with ( and )\n")
ctrl:AppendText("M03/M05 turn the torch on/off\n")
ctrl:AppendText("M08/M09 turn the engraver on/off\n")
ctrl:AppendText("Incremental IJ - set in mach2\n")
ctrl:AppendText("The torch is referenced at cut start and every 500mm of movement thereafter\n")
ctrl:AppendText("Designed for use with Mach3 and CandCNC MP1000-THC and Floating head Touch-n-Go\n")
ctrl:AppendText("Post variables:\n")
ctrl:AppendText("refDistance - set the distance between each reference\n")
ctrl:AppendText("refFeed - set the feed rate when referencing\n")
ctrl:AppendText("switchOffset - set your net switch offset amount \n")
ctrl:AppendText("Marker uses any tool number\n")
ctrl:AppendText("slowRadius - slow down below this radius\n")
ctrl:AppendText("slowPercent - minimum percentage to slow down\n")
end
-- created 1/1/06
-- Based on plasma1.post
-- Modified 21/6/2010
-- added option for 'nil' plate marker z
-- Added support for plate marker tool type as well as tool number based plate marker
-- Modified 4/11/2010
-- Added: Reference the torch on the first pen down if the plate marker is the first tool used.
post.DefineVariable("refDistance",sc.unitLINEAR,-1,1e17)
post.DefineVariable("refFeed",sc.unitFEED,0,1e17)
post.DefineVariable("switchOffset",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowRadius",sc.unitLINEAR,-1e17,1e17)
post.DefineVariable("slowPercent",sc.unitPERCENT,-1e17,1e17)
function OnInit()
offX = 0
offY = 0
offZ = 0
post.SetCommentChars ("()", "[]") --make sure ( and ) characters do not appear in system text
post.Text (" (Filename: ", fileName, ")\n")
post.Text (" (Post processor: ", postName, ")\n")
post.Text (" (Date: ", date, ")\n")
if(scale == metric) then
post.Text (" G21 (Units: Metric)\n") --metric mode
else
post.Text (" G20 (Units: Inches)\n") --inch mode
end
post.Text (" F1\n G53 G90 G40\n")
minArcSize = 0.2 --arcs smaller than this are converted to moves
firstRef = refDistance >=0
currentZAxis = " Z"
dist = 9999999
lastz = 0
thcstate = 1
ThcOff()
xPlus = false
yPlus = false
cX = 0
cY = 0
end
function OnNewLine()
post.Text ("N")
post.Number (lineNumber, "0000")
lineNumber = lineNumber + 10
end
function OnFinish()
endZ = safeZ
OnRapid()
endX = 0
endY = 0
offX = 0
offY = 0
offZ = 0
OnRapid()
post.Text (torchOff .. " M30\n")
end
function CheckBacklash(mode)
post.ModalText (mode)
if(endX > 1e17 or endY > 1e17) then return end
local diff = endX - cX
local changed = false
if(diff > 0.001 and xPlus == false) then
changed = true
xPlus = true
elseif(diff < -0.001 and xPlus == true) then
changed = true
xPlus = false
end
diff = endY - cY
if(diff > 0.001 and yPlus == false) then
changed = true
yPlus = true
elseif(diff < -0.001 and yPlus == true) then
changed = true
yPlus = false
end
cX = endX
cY = endY
if(changed) then
local moved = false
if (xPlus and backlashX ~=0) then
currentX = currentX + backlashX
post.ModalNumber (" X", currentX * scale, "0.0000")
moved = true
end
if (yPlus and backlashY ~=0) then
currentY = currentY + backlashY
post.ModalNumber (" Y", currentY * scale, "0.0000")
moved = true
end
if(moved) then
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
end
if (xPlus) then
endX = endX + backlashX
end
if (yPlus) then
endY = endY + backlashY
end
end
function OnRapid()
if(endX > 1e17 and endY > 1e17) then return end
local len = math.hypot((endX + offX)-currentX , (endY + offY)-currentY)
dist = dist + len
CheckBacklash(" G00")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ and firstRef == false) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Eol()
end
function OnMove()
local len = math.hypot(endX - currentX , endY - currentY)
dist = dist + len
if(len > slowRadius) then
ThcOn()
end
CheckBacklash(" G01")
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.ModalNumber (" F", feedRate * scale, "0.0###")
post.Eol()
end
function OnArc()
local radius = math.hypot(currentX - arcCentreX, currentY - arcCentreY)
dist = dist + radius * math.abs(arcAngle)
if (radius < slowRadius) and (math.abs(arcAngle) > 0.5) then
feed = (radius / slowRadius)
if(feed < slowPercent) then
feed = slowPercent
end
feed = feed * feedRate
ThcOff()
else
feed = feedRate
ThcOn()
end
if(arcAngle <0) then
post.ModalText (" G03")
else
post.ModalText (" G02")
end
post.ModalNumber (" X", (endX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (endY + offY) * scale, "0.0000")
if(offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
end
post.Text (" I")
post.Number ((arcCentreX - currentX) * scale, "0.0000")
post.Text (" J")
post.Number ((arcCentreY - currentY) * scale, "0.0000")
post.ModalNumber (" F", feed * scale, "0.0###")
post.Eol()
end
function OnArc()
post.ArcAsMoves(0.1)
end
function ThcOff()
if(not thcOffCode) then return end
if(thcstate ==1) then
thcstate = 0
post.Text(thcOffCode)
post.Text(" (THC off)\n");
end
end
function ThcOn()
if(not thcOnCode) then return end
if(toolClass == "MarkerTool") or tool > 99 then return end
if(thcstate ==0) then
thcstate = 1
post.Text(thcOnCode)
post.Text(" (THC on)\n");
return
end
if(thcstate == 2) then
thcstate = 0
end
end
function OnPenDown()
if(toolClass == "MarkerTool") then
if (firstRef) then
Reference()
post.ModalText (" G00")
post.Text(" Z")
post.Number (safeZ * scale, "0.0000")
post.Eol()
offX = markerX
offY = markerY
offZ = markerZ
post.ModalNumber (" X", (currentX + offX) * scale, "0.0000")
post.ModalNumber (" Y", (currentY + offY) * scale, "0.0000")
post.Eol()
end
if (offZ) then
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
post.Eol()
end
post.Text(markerOn .. "\n")
else
if(dist >= refDistance and refDistance >=0) then
dist = 0
Reference();
post.ModalText (" G00")
post.NonModalNumber (currentZAxis, (pierceHeight + offZ) * scale, "0.0000")
post.Eol()
end
if (preheat > 0) then
post.Text ("\n G04 P")
post.Number (preheat,"0.###")
post.Eol()
end
post.Text ("\n" .. torchOn .. "\n")
end
if (pierceDelay > 0) then
post.Text (" G04 P")
post.Number (pierceDelay,"0.###")
post.Eol()
end
-- thcstate = 2 --leave THC off for plunge move
end
function Reference()
firstRef = false
if(refDistance < 0) then return end
if (refHome) then
post.ModalText(" G28.1 Z")
local zp = 30
if(zp > safeZ) then
zp = safeZ
end
post.Number(zp * scale, "0.00")
else
post.ModalText(" G31 Z -100") CA DOIT ETRE PAR LA
end
post.ModalNumber (" F", refFeed * scale, "0.0###")
post.Eol()
post.ModalText(" G92 Z0.0\n")
post.ModalText (" G00")
post.Text(" Z")
post.Number (switchOffset * scale, "0.0000")
post.Eol()
post.ModalText(" G92 Z0.0\n")
end
function OnPenUp()
if(toolClass == "MarkerTool") then
post.Text(markerOff .. "\n")
else
post.Text (torchOff .. "\n")
end
if (endDelay > 0) then
post.Text (" G04 P")
post.Number (endDelay,"0.###")
post.Eol()
end
end
function OnNewOperation()
post.Text (" (Operation: ", operationName, ")\n")
end
function OnToolChange()
if (toolClass == "MarkerTool" or tool > 99 ) then
ThcOff()
if(markerAxis and markerAxis ~= currentZAxis) then
endZ = safeZ
post.ModalText(" G00")
post.ModalNumber (currentZAxis, (endZ + offZ) * scale, "0.0000")
post.Eol()
currentZAxis = " " .. markerAxis
end
if(firstRef ~= true) then
offX = markerX
offY = markerY
offZ = markerZ
end
else
if(markerAxis and markerAxis == currentZAxis) then
endZ = safeZ
OnRapid()
currentZAxis = " Z"
end
offX = 0
offY = 0
offZ = 0
end
end
function OnNewPart()
post.Text(" (Part: ",partName,")\n");
end
function OnDrill()
OnRapid()
currentX = endX
currentY = endY
OnPenDown()
endZ = drillZ
OnMove()
OnPenUp()
endZ = safeZ
OnRapid()
end
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
La séquence que tu propose est quasiment bonne, mais cela fera un double palpage a chaque fois!
Le top est que si pendant la descente rapide le palpeur ne rencontre pas de surface, il faudrait laisser la torche aller jusqu'a Z03 et finir en vitesse lente sur un palpage!
Mais par contre si on rencontre une surface pendant la descente rapide, la oui on exécute la séquence que tu propose! il faudrait une notions logique de SI.
Mais je suis complètement largué par la modification de programmation de mon post pro.
Le top est que si pendant la descente rapide le palpeur ne rencontre pas de surface, il faudrait laisser la torche aller jusqu'a Z03 et finir en vitesse lente sur un palpage!
Mais par contre si on rencontre une surface pendant la descente rapide, la oui on exécute la séquence que tu propose! il faudrait une notions logique de SI.
Mais je suis complètement largué par la modification de programmation de mon post pro.
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Salut,
Ah ! ça je ne sais pas, je ne connais pas du tout ton logiciel ... et apparemment ton post pro a son propre langage de programmation !
apparemment c'est cette fonction qui fait le palpage
function Reference()
firstRef = false
if(refDistance < 0) then return end
if (refHome) then
post.ModalText(" G28.1 Z")
local zp = 30
if(zp > safeZ) then
zp = safeZ
end
post.Number(zp * scale, "0.00")
else
post.ModalText(" G31 Z -100")
end
post.ModalNumber (" F", refFeed * scale, "0.0###")
post.Eol()
post.ModalText(" G92 Z0.0\n")
post.ModalText (" G00")
post.Text(" Z")
post.Number (switchOffset * scale, "0.0000")
post.Eol()
post.ModalText(" G92 Z0.0\n")
end
la partie en orange écrit le texte ci-dessous dans le Gcode, ce qui est au dessus, si je comprends bien, ça test si le Z est référencé ou non et si ce n'est pas le cas, ça écrit une commande de référencement du Z ( G28.1 Z ...) dans le Gcode avant de commencer le palpage proprement dit.
G31 Z -100 F200.0 = post.ModalText(" G31 Z -100") post.ModalNumber (" F", refFeed * scale, "0.0###") post.Eol()
G92 Z0.0 = post.ModalText(" G92 Z0.0\n")
G00 Z0.0000 = post.ModalText (" G00") post.Text(" Z") post.Number (switchOffset * scale, "0.0000") post.Eol()
G92 Z0.0 = post.ModalText(" G92 Z0.0\n")
ça devrait être modifiable pour faire un double palpage, par contre, comme tu peux voir ce n'est pas cette fonction qui décide de la descente en rapide à Z = 3 ; c'est donc, à mon avis, dans les réglages de ton soft, qu'il faut changer une valeur pour ne pas descendre aussi bas en rapide (sur CamBam, ce serait le "plan de dégagement") ; par exemple dans ton cas, si tu veux que ça parte de Z=50, il faudrait mettre 30 par exemple dans cette valeur pour que ça ne descende en rapide que jusqu'à 30 en G0, ensuite c'est la partie function Reference() du PP qui prend le relais et écris le code de palpage qu'il est possible de modifier pour qu'il reflète le code que je t'ai mis pour un palpage en 2 temps.
La par contre il faut faire plus de codage et sans connaitre le langage exacte du soft et sans pouvoir tester en live, c'est une autre histoire
Ça ne ferais pas gagner grand chose au final du point de vue pratique, ce serait juste une peu plus rapide ... et le principal problème c'est que même si on met un SI, comme tu dis, il sera au niveau du post pro, autrement dit il faudrait que le PP "sache" si la surface à été detectée ou non, or le PP il crée le Gcode, il ne pilote pas la machine. Ce n'est qu'au moment de l'éxécution du Gcode qu'il serait possible de savoir quel à été le résultat du palpage, même si je ne sais pas trop, au niveau Gcode, comment savoir si le paplage s'est arrêté sur contact ou sur la limite donnée dans le G31 (les -100 dans ton cas, qui d'ailleurs ne ferait pas l'affaire, il faudrait plutôt un Z1 car les -100 ne seront jamais atteins si tu a la surface de la pièce à 0), par contre le Gcode de Mach3 ne gère pas les tests logiques (si, alors) donc pas faisable au niveau du Gcode, en tout cas pas sans faire un truc horriblement compliqué ... (voir ICI comment simuler un If/THEN/ELSE)
Juste une question bête mais qui a son importance, tu pilote comment ? port // ou carte USB/ETH, et si oui laquelle.
++
David
Mais comment modifier le Post Pro? je sais l'editer, mais de la a faire en sorte qu'il créé cette sequence a chaque palpage je suis largué..
Ah ! ça je ne sais pas, je ne connais pas du tout ton logiciel ... et apparemment ton post pro a son propre langage de programmation !
apparemment c'est cette fonction qui fait le palpage
function Reference()
firstRef = false
if(refDistance < 0) then return end
if (refHome) then
post.ModalText(" G28.1 Z")
local zp = 30
if(zp > safeZ) then
zp = safeZ
end
post.Number(zp * scale, "0.00")
else
post.ModalText(" G31 Z -100")
end
post.ModalNumber (" F", refFeed * scale, "0.0###")
post.Eol()
post.ModalText(" G92 Z0.0\n")
post.ModalText (" G00")
post.Text(" Z")
post.Number (switchOffset * scale, "0.0000")
post.Eol()
post.ModalText(" G92 Z0.0\n")
end
la partie en orange écrit le texte ci-dessous dans le Gcode, ce qui est au dessus, si je comprends bien, ça test si le Z est référencé ou non et si ce n'est pas le cas, ça écrit une commande de référencement du Z ( G28.1 Z ...) dans le Gcode avant de commencer le palpage proprement dit.
G31 Z -100 F200.0 = post.ModalText(" G31 Z -100") post.ModalNumber (" F", refFeed * scale, "0.0###") post.Eol()
G92 Z0.0 = post.ModalText(" G92 Z0.0\n")
G00 Z0.0000 = post.ModalText (" G00") post.Text(" Z") post.Number (switchOffset * scale, "0.0000") post.Eol()
G92 Z0.0 = post.ModalText(" G92 Z0.0\n")
ça devrait être modifiable pour faire un double palpage, par contre, comme tu peux voir ce n'est pas cette fonction qui décide de la descente en rapide à Z = 3 ; c'est donc, à mon avis, dans les réglages de ton soft, qu'il faut changer une valeur pour ne pas descendre aussi bas en rapide (sur CamBam, ce serait le "plan de dégagement") ; par exemple dans ton cas, si tu veux que ça parte de Z=50, il faudrait mettre 30 par exemple dans cette valeur pour que ça ne descende en rapide que jusqu'à 30 en G0, ensuite c'est la partie function Reference() du PP qui prend le relais et écris le code de palpage qu'il est possible de modifier pour qu'il reflète le code que je t'ai mis pour un palpage en 2 temps.
Le top est que si pendant la descente rapide le palpeur ne rencontre pas de surface, il faudrait laisser la torche aller jusqu'a Z03 et finir en vitesse lente sur un palpage!
Mais par contre si on rencontre une surface pendant la descente rapide, la oui on exécute la séquence que tu propose! il faudrait une notions logique de SI.
Mais je suis complètement largué par la modification de programmation de mon post pro.
La par contre il faut faire plus de codage et sans connaitre le langage exacte du soft et sans pouvoir tester en live, c'est une autre histoire
Ça ne ferais pas gagner grand chose au final du point de vue pratique, ce serait juste une peu plus rapide ... et le principal problème c'est que même si on met un SI, comme tu dis, il sera au niveau du post pro, autrement dit il faudrait que le PP "sache" si la surface à été detectée ou non, or le PP il crée le Gcode, il ne pilote pas la machine. Ce n'est qu'au moment de l'éxécution du Gcode qu'il serait possible de savoir quel à été le résultat du palpage, même si je ne sais pas trop, au niveau Gcode, comment savoir si le paplage s'est arrêté sur contact ou sur la limite donnée dans le G31 (les -100 dans ton cas, qui d'ailleurs ne ferait pas l'affaire, il faudrait plutôt un Z1 car les -100 ne seront jamais atteins si tu a la surface de la pièce à 0), par contre le Gcode de Mach3 ne gère pas les tests logiques (si, alors) donc pas faisable au niveau du Gcode, en tout cas pas sans faire un truc horriblement compliqué ... (voir ICI comment simuler un If/THEN/ELSE)
Juste une question bête mais qui a son importance, tu pilote comment ? port // ou carte USB/ETH, et si oui laquelle.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Sequence de Palpage G31 plasma
Merci David,
Je comprend bien la problématique du"SI".Et oui , le PP ne peux pas prédire a l'avance...
pour ce qui est du plan de dégagement il est a Z50
et Le z3 il est régler dans SheetCam, et correspond a la hauteur de perçage, et il est lié au Z3 , position a partir de laquelle le palpage est pris en compte! (j(ai fait un essai en modifiant la hauteur de percage)
Par contre je pourrait peux etre arriver en mettant une hauteur de perçage, et corriger avec un offset négatif (-27)! mais ca fait bidouille..
Je suis en port // DB25
Je comprend bien la problématique du"SI".Et oui , le PP ne peux pas prédire a l'avance...
pour ce qui est du plan de dégagement il est a Z50
et Le z3 il est régler dans SheetCam, et correspond a la hauteur de perçage, et il est lié au Z3 , position a partir de laquelle le palpage est pris en compte! (j(ai fait un essai en modifiant la hauteur de percage)
Par contre je pourrait peux etre arriver en mettant une hauteur de perçage, et corriger avec un offset négatif (-27)! mais ca fait bidouille..
Je suis en port // DB25
Powerglide- petit nouveau
- Messages : 9
Points : 13
Date d'inscription : 11/07/2020
Age : 42
Localisation : Bretagne
Re: Sequence de Palpage G31 plasma
Salut,
Ok, c'est déjà une bonne chose, au moins on est sûr que c'est 100% compatible.
++
David
Je suis en port // DB25
Ok, c'est déjà une bonne chose, au moins on est sûr que c'est 100% compatible.
++
David
_________________
Traduction Française de CamBam et de sa documentation.
Re: Sequence de Palpage G31 plasma
Bonjour même problème pour moi sans palpeur la torche descend en dessous du zéro au premier perçage et ensuite c ok.
David366552- petit nouveau
- Messages : 2
Points : 4
Date d'inscription : 21/10/2019
Age : 40
Localisation : 52
Sujets similaires
» Histoire de palpage...
» Découpe plasma adaptée à une CNC ou Démonter une torche plasma ?
» Palpage XYZ
» Palpage Y & Z
» Palpage, Biblio d'outils
» Découpe plasma adaptée à une CNC ou Démonter une torche plasma ?
» Palpage XYZ
» Palpage Y & Z
» Palpage, Biblio d'outils
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum