postprocesor Mach dla SheetCam-a, Detekcja pływającą głowicą
-
- Lider FORUM (min. 2000)
- Posty w temacie: 2
- Posty: 5598
- Rejestracja: 04 lip 2004, 16:03
- Lokalizacja: Gliwice
https://youtu.be/kf8S3rL3wYw?t=5m3s może pomoze
sorki za wszystkie błędy ... (dyslektyk)
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos
Tagi:
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 10
- Posty: 22
- Rejestracja: 23 mar 2010, 16:54
- Lokalizacja: Leżajsk
mam taki przykładowy program
0010 (Filename: szesciokąt.tap)
N0020 (Post processor: steelbox karpik74.scpost)
N0030 (Date: 2017-10-26)
N0040 G21 (Units: Metric)
N0050 G53 G90 G40
N0060 F1
N0070 S500
N0080 (Part: szesciokąt)
N0090 (Process: Wewnątrz, linia_gruba, T1: Plazma, 1,5 mm szczelina)
N0100 M06 T1 (Plazma, 1,5 mm szczelina)
N0110 G00 X140.4330 Y5.7500 Z10.0000
N0120 M301
N0130 G00 Z3.0000
N0140 M03
N0150 G04 P0.5
N0160 G01 Z1.5000 F100
N0170 X15.8660 Y221.5064 F900
N0180 X140.4330 Y437.2627
N0190 X389.5670
N0200 X514.1340 Y221.5064
N0210 X389.5670 Y5.7500
N0220 X140.4330
N0230 M05
N0240 G00 Z10.0000
N0250 M05 M30
chcę użyć takiego makra
HeightOfDetect = 10
SpeedOfDetect = 300
Offset = 5
HeightOfPierce = 5
HeightOfCut = 1
Delay = Param1()
Dim MaterialPos As Double
If (GetOEMDro(186)>HeightOfDetect) Or GetOEMDro(186) Then
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
End If
DoSpinCW()
sleep(200) message("Detecting of material pos.")
code "G31 Z-10 F" & SpeedOfDetect
While IsMoving()
Wend
If GetOEMDro(186)=-10 Then
DoSpinStop() message("No material detected")
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
1: GoTo 1
Else
MaterialPos = GetOEMDro(186) - offset
message("Material detected pos = " & MaterialPos)
If Delay>200 Then
code "G00 Z" & MaterialPos + HeightOfPierce
While IsMoving()
Wend
End If
Sleep(Delay+1)
code "G00 Z" & MaterialPos + HeightOfCut
While IsMoving()
Wend
End If'
Na jakim postprocesorze zadział to makro ?
Rozumiem że jak zapali się łuk i pojawi się sygnał THC ON /czy inny adres/ to zacznie się palenie Czy dobrze rozumiem Proszę o wytłumaczenie Chcę zrobić detekcję blachy i ustaewic się nad nią 1,5 mm do cięcia
0010 (Filename: szesciokąt.tap)
N0020 (Post processor: steelbox karpik74.scpost)
N0030 (Date: 2017-10-26)
N0040 G21 (Units: Metric)
N0050 G53 G90 G40
N0060 F1
N0070 S500
N0080 (Part: szesciokąt)
N0090 (Process: Wewnątrz, linia_gruba, T1: Plazma, 1,5 mm szczelina)
N0100 M06 T1 (Plazma, 1,5 mm szczelina)
N0110 G00 X140.4330 Y5.7500 Z10.0000
N0120 M301
N0130 G00 Z3.0000
N0140 M03
N0150 G04 P0.5
N0160 G01 Z1.5000 F100
N0170 X15.8660 Y221.5064 F900
N0180 X140.4330 Y437.2627
N0190 X389.5670
N0200 X514.1340 Y221.5064
N0210 X389.5670 Y5.7500
N0220 X140.4330
N0230 M05
N0240 G00 Z10.0000
N0250 M05 M30
chcę użyć takiego makra
HeightOfDetect = 10
SpeedOfDetect = 300
Offset = 5
HeightOfPierce = 5
HeightOfCut = 1
Delay = Param1()
Dim MaterialPos As Double
If (GetOEMDro(186)>HeightOfDetect) Or GetOEMDro(186) Then
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
End If
DoSpinCW()
sleep(200) message("Detecting of material pos.")
code "G31 Z-10 F" & SpeedOfDetect
While IsMoving()
Wend
If GetOEMDro(186)=-10 Then
DoSpinStop() message("No material detected")
code "G00 Z" & HeightOfDetect
While IsMoving()
Wend
1: GoTo 1
Else
MaterialPos = GetOEMDro(186) - offset
message("Material detected pos = " & MaterialPos)
If Delay>200 Then
code "G00 Z" & MaterialPos + HeightOfPierce
While IsMoving()
Wend
End If
Sleep(Delay+1)
code "G00 Z" & MaterialPos + HeightOfCut
While IsMoving()
Wend
End If'
Na jakim postprocesorze zadział to makro ?
Rozumiem że jak zapali się łuk i pojawi się sygnał THC ON /czy inny adres/ to zacznie się palenie Czy dobrze rozumiem Proszę o wytłumaczenie Chcę zrobić detekcję blachy i ustaewic się nad nią 1,5 mm do cięcia
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 10
- Posty: 22
- Rejestracja: 23 mar 2010, 16:54
- Lokalizacja: Leżajsk
Ok Napisałeś : Żeby działało w postprcesorze musi być wywołanie danego makradudziak4 pisze:To makro zadziała na każdym postprocesorze, chociażby na tym przykładzie co podałeś.
Żeby działało w postprcesorze musi być wywołanie danego makra.
W powyższym przykładzie jest to M301 a to czy dane makro zadziała i czy jest dobrze napisane i zrobi to czego oczekujesz to zupełnie inna bajka.
Nie rozumiem Czy makro mam być zdefiniowane w postprocesorze czy tylko wystarczy w machu c:\Mach3\macros\plasma\ wgrać makro m301.m1s a potem wywołać gcode M301
Co do pisania makra to czy jest opis instrukcji > Trochę siedzę c++ i może bym coś wymaił
podałem makro ze stromy proma :
Sygnał PROBE należy przypisać pin podłączony do wyjścia ARC OK układu
Jaki adres ma sygnał PROBE w makro ?
Prosiłbym kolegów o podanie sprawdzonego makra na wykrywanie materiału łukiem plazmy
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 20
- Posty: 716
- Rejestracja: 06 wrz 2007, 13:30
- Lokalizacja: Bielawa
Właśnie wystarczy tylko ten krótki zabieg nic nie trzeba definiować.tylko wystarczy w machu c:\Mach3\macros\plasma\ wgrać makro m301.m1s a potem wywołać gcode M301
Ważne jest aby tak zmodyfikować postprocesor żeby w odpowiednim miejscu w g-kodzie wstawiał to makro które ty chcesz czyli M301 (w moim np. M20).
Jeszcze jedna ważna rzecz sygnał arc ok to nie to samo co probe.
Probe - oryginalnie jest wykorzystywane do pomiaru długości narzędzia (a u nas do wykrywania blachy na stole)
arc ok - jest to sygnał z thc potwierdzający zajarzenie łuku tnącego (który nie z każdą przecinarką działa np. z moją

W zamyśle ma to działać tak że maszyna dostanie pozwolenie na start gdy zacznie ciąć blachę a gdy np. wyjedzie poza obrys blachy i łuk zgaśnie lub zapali się łuk pilotujący maszyna ma się zatrzymać. U mnie arc ok nie działa właściwie ponieważ łuk pilotujący napięciem bardzo mało różni się od łuku tnącego.
Żaden, działać ma to w skrócie tak że:Jaki adres ma sygnał PROBE w makro ?
1. Wywołanie makra g-kodem (przed komendą m3)
2. Zjazd palnika na dół dotknięcie blachy i uruchomienie mikrostyku (uruchomienie sygnału probe)
3. Podjazd w górę na wysokość przebijania
4. wywołanie M3 (start palnika) i teraz jak zadziała arc ok (potwierdzi zajarzenie łuk tnącego) to maszyna ruszy
A teraz jak będzie wyglądać same makro do detekcji zależy od ciebie.
Może być rozmaicie pozabezpieczane np. jaka prędkość detekcji, jak max głębokość detekcji, gdy nie wykryje blachy powrót na początek pomiaru, itd..
Jeśli chodzi o działający postprocesor i makro przejrzyj temat od początku nieraz były podane.
Jak byś miał CSMIO moglibyśmy pogadać w przeciwnym wypadku moje makro u ciebie nie zadziała.
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 10
- Posty: 22
- Rejestracja: 23 mar 2010, 16:54
- Lokalizacja: Leżajsk
Dziękuje za odpowiedź
Teraz już wiem detekcja materiału za pomoca sygnału PROBE i makra. Rozpoczęcie cięcia sygnał ARC OK i makro.
Napisałem coś takiego
N0010 (Filename: szesciokąt.tap)
N0020 (Post processor: steelbox karpik74.scpost)
N0030 (Date: 2017-10-26)
N0040 G21 (Units: Metric)
N0050 G53 G90 G40
N0060 F1
N0070 S500
N0080 (Part: szesciokąt)
N0090 (Process: Wewnątrz, linia_gruba, T1: Plazma, 1,5 mm szczelina)
N0100 M06 T1 (Plazma, 1,5 mm szczelina)
N0110 G00 X140.4330 Y5.7500 Z10.0000
N0120 M300 (IDENTYFIKACJA MATERIALU CZEKA NA SYGNAL PROBE Z CZUJNIKA)
N0140 G01 Z 1.5 F100
N0130 G04 P0.5 (CZAS PRZEBIJANIA MATERIALU DO 1000 ms)
N0150 M03 (WLACZENIE PALMIKA)
N0160 X15.8660 Y221.5064 F900 (WYCINAM!!!! )
N0170 X140.4330 Y437.2627
N0180 X389.5670
N0290 X514.1340 Y221.5064
N0200 X389.5670 Y5.7500
N0210 X140.4330
N0220 M05
N0230 G00 Z10.0000
N0240 M05 M30
Zobaczcie czy dobrze na symulacji działa Tylko jedno pytanie Czy
N0130 G04 P0.5 (CZAS PRZEBIJANIA MATERIALU DO 1000 ms) - załącza na 0.5 ms palnik?
Teraz już wiem detekcja materiału za pomoca sygnału PROBE i makra. Rozpoczęcie cięcia sygnał ARC OK i makro.
Napisałem coś takiego
N0010 (Filename: szesciokąt.tap)
N0020 (Post processor: steelbox karpik74.scpost)
N0030 (Date: 2017-10-26)
N0040 G21 (Units: Metric)
N0050 G53 G90 G40
N0060 F1
N0070 S500
N0080 (Part: szesciokąt)
N0090 (Process: Wewnątrz, linia_gruba, T1: Plazma, 1,5 mm szczelina)
N0100 M06 T1 (Plazma, 1,5 mm szczelina)
N0110 G00 X140.4330 Y5.7500 Z10.0000
N0120 M300 (IDENTYFIKACJA MATERIALU CZEKA NA SYGNAL PROBE Z CZUJNIKA)
N0140 G01 Z 1.5 F100
N0130 G04 P0.5 (CZAS PRZEBIJANIA MATERIALU DO 1000 ms)
N0150 M03 (WLACZENIE PALMIKA)
N0160 X15.8660 Y221.5064 F900 (WYCINAM!!!! )
N0170 X140.4330 Y437.2627
N0180 X389.5670
N0290 X514.1340 Y221.5064
N0200 X389.5670 Y5.7500
N0210 X140.4330
N0220 M05
N0230 G00 Z10.0000
N0240 M05 M30
Zobaczcie czy dobrze na symulacji działa Tylko jedno pytanie Czy
N0130 G04 P0.5 (CZAS PRZEBIJANIA MATERIALU DO 1000 ms) - załącza na 0.5 ms palnik?
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 20
- Posty: 716
- Rejestracja: 06 wrz 2007, 13:30
- Lokalizacja: Bielawa
Nie jest to czas przebijania tylko opóźnienie przebicia zauważ że ta linijka jest przed M3 (załączenie palnika)
Pewnie masz w sheetcamie ustawione w narzędziu T1 opóźnienie przebicia 0,5s stąd ta linijka.
Chociaż teraz jak patrze opóźnienie przebicia postprocesor powinien ci wstawić za linijką M3 ponieważ ma to działać tak że jak masz grubszą blachę g-kod włącza palnik i czeka o tą wartość opóźnienia zanim ruszy maszyna żeby palnik zdążył przepalić grubą blachę.
Analogicznie działa pauza w końcu cięcia.
Pewnie masz w sheetcamie ustawione w narzędziu T1 opóźnienie przebicia 0,5s stąd ta linijka.
Chociaż teraz jak patrze opóźnienie przebicia postprocesor powinien ci wstawić za linijką M3 ponieważ ma to działać tak że jak masz grubszą blachę g-kod włącza palnik i czeka o tą wartość opóźnienia zanim ruszy maszyna żeby palnik zdążył przepalić grubą blachę.
Analogicznie działa pauza w końcu cięcia.