postprocesor Mach dla SheetCam-a, Detekcja pływającą głowicą

Dyskusje dotyczące SheetCam
Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#51

Post napisał: adam Fx » 25 paź 2017, 20:42



sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos

Tagi:


robo1973
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 10
Posty: 22
Rejestracja: 23 mar 2010, 16:54
Lokalizacja: Leżajsk

#52

Post napisał: robo1973 » 25 paź 2017, 20:58

ok dziękuję za link
Czyli THC steruje machem Nic do tego nie mają g-code.


pozdrawiam

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

#53

Post napisał: adam Fx » 26 paź 2017, 20:09

Gkod nic nie ma wspólnego z THC dział to nie zależnie
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


robo1973
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 10
Posty: 22
Rejestracja: 23 mar 2010, 16:54
Lokalizacja: Leżajsk

#54

Post napisał: robo1973 » 28 paź 2017, 21:56

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


dudziak4
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 20
Posty: 702
Rejestracja: 06 wrz 2007, 13:30
Lokalizacja: Bielawa

#55

Post napisał: dudziak4 » 29 paź 2017, 04:09

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.


robo1973
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 10
Posty: 22
Rejestracja: 23 mar 2010, 16:54
Lokalizacja: Leżajsk

#56

Post napisał: robo1973 » 29 paź 2017, 08:56

dudziak4 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.
Ok Napisałeś : Żeby działało w postprcesorze musi być wywołanie danego makra
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


dudziak4
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 20
Posty: 702
Rejestracja: 06 wrz 2007, 13:30
Lokalizacja: Bielawa

#57

Post napisał: dudziak4 » 29 paź 2017, 10:38

tylko wystarczy w machu c:\Mach3\macros\plasma\ wgrać makro m301.m1s a potem wywołać gcode M301
Właśnie wystarczy tylko ten krótki zabieg nic nie trzeba definiować.

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ą :mrgreen: )

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.
Jaki adres ma sygnał PROBE w makro ?
Żaden, działać ma to w skrócie tak że:
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.


robo1973
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 10
Posty: 22
Rejestracja: 23 mar 2010, 16:54
Lokalizacja: Leżajsk

#58

Post napisał: robo1973 » 29 paź 2017, 18:27

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?


dudziak4
Specjalista poziom 3 (min. 600)
Specjalista poziom 3 (min. 600)
Posty w temacie: 20
Posty: 702
Rejestracja: 06 wrz 2007, 13:30
Lokalizacja: Bielawa

#59

Post napisał: dudziak4 » 29 paź 2017, 18:37

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.


robo1973
Czytelnik forum poziom 2 (min. 20)
Czytelnik forum poziom 2 (min. 20)
Posty w temacie: 10
Posty: 22
Rejestracja: 23 mar 2010, 16:54
Lokalizacja: Leżajsk

#60

Post napisał: robo1973 » 29 paź 2017, 19:52

Już kumam Fakt trzeba M03 Załączyć palnik
Może ktoś z kolegów podzielić się działającym makro, które korzysta z sygnału ARC OK
Detekcja materiału już działa.
pozdrawiam !!

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „SheetCam”