MAKRO M6
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 7
- Posty: 18
- Rejestracja: 22 maja 2008, 09:05
- Lokalizacja: polska
MAKRO M6
WITAM
Kilka lat temu uruchomiłem tokarkę cnc na MACH3 i napisałem
makro M6 do obrotu dwóch imaków ;
Sub Main()
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool > 4) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
SystemWaitFor (Input1)
Exit Sub
End If
If (OldTool=0) Then
Code "m30"
End If
If (NewTool=0) Then
Code "m30"
End If
If (NewTool = 1) Then
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
ActivateSignal(Output1)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 2) Then
deActivateSignal(Output1)
deActivateSignal(Output3)
deActivateSignal(Output4)
ActivateSignal(Output2)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 3) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output4)
ActivateSignal(Output3)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 4) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
ActivateSignal(Output4)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
End Sub
Main
( jest to stara wersje do obsługi jednego imaka wersja z drugim
imakiem ma osiem sygnałów wyjścia )
Makro działa ale ma swoje słabe punkty jednym z nich jest to że w przypadku
złego zaklemowania makro cały czas czeka na sygnał zwrotny po krótkiej chwili
wybija bezpiecznik silnikowy , drugim mankamentem jest to że gdy w czasie
trwania makra naciskam start makro nie czeka na sygnał zwrotny a program kontynuowany jest dalej.
Chciałbym żeby sygnał wyjęcia był aktywny do momentu otrzymania sygnału
wejścia ( zwrotnego ) ale nie dłużej niż czas jaki sam ustalę , jak również
interesuje mnie wy eliminowanie drugiego problemu jakim jest brak
oczekiwania na sygnał wejścia w przypadku naciskania startu.
BARDZO PROSZĘ O POMOC I POZDRAWIAM.
Kilka lat temu uruchomiłem tokarkę cnc na MACH3 i napisałem
makro M6 do obrotu dwóch imaków ;
Sub Main()
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool > 4) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
SystemWaitFor (Input1)
Exit Sub
End If
If (OldTool=0) Then
Code "m30"
End If
If (NewTool=0) Then
Code "m30"
End If
If (NewTool = 1) Then
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
ActivateSignal(Output1)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 2) Then
deActivateSignal(Output1)
deActivateSignal(Output3)
deActivateSignal(Output4)
ActivateSignal(Output2)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 3) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output4)
ActivateSignal(Output3)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
If (NewTool = 4) Then
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
ActivateSignal(Output4)
SystemWaitFor (Input2)
Code "g4 p1"
While IsMoving
SystemWaitFor (Input2)
Wend
deActivateSignal(Output1)
deActivateSignal(Output2)
deActivateSignal(Output3)
deActivateSignal(Output4)
Exit Sub
End If
End Sub
Main
( jest to stara wersje do obsługi jednego imaka wersja z drugim
imakiem ma osiem sygnałów wyjścia )
Makro działa ale ma swoje słabe punkty jednym z nich jest to że w przypadku
złego zaklemowania makro cały czas czeka na sygnał zwrotny po krótkiej chwili
wybija bezpiecznik silnikowy , drugim mankamentem jest to że gdy w czasie
trwania makra naciskam start makro nie czeka na sygnał zwrotny a program kontynuowany jest dalej.
Chciałbym żeby sygnał wyjęcia był aktywny do momentu otrzymania sygnału
wejścia ( zwrotnego ) ale nie dłużej niż czas jaki sam ustalę , jak również
interesuje mnie wy eliminowanie drugiego problemu jakim jest brak
oczekiwania na sygnał wejścia w przypadku naciskania startu.
BARDZO PROSZĘ O POMOC I POZDRAWIAM.
Tagi:
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 1
- Posty: 327
- Rejestracja: 24 lut 2005, 09:20
- Lokalizacja: Warszawa
Witam, widzę że kolega dalej męczy swoją machinę 
Niestety także spotkałem sie z tym problemem. Co prawda istnieje komenda "wait for signal xxx" gdzie xxx jest konkretnym wejściem, ale nie działa. Tak jakby system jej nie widział. Jest to bardzo niebezpieczne. Zdarza się ,że PC nie uruchamia makra M6 ( tak jak by go nie było w G- kodzie), tylko leci dalej z programem. Po kilku niedoszłych i jednej poważnej kraksie, wyczarowałem oto taki sposób. Po komendzie m6 txxx następna jest m1 - czyli stop programu. Aby "popchnąć" dalej program, to sterownik PLC obsługujący głowicę narzędziową wysyła sygnał start do PC (dopiero po zakończonej wymianie narzędzia). Jeśli więc zdarzy się, że pecet "zapomni" wysłać do PLC aby wymienił narzędzie, to nie ma odpowiedzi zwrotnej (sygnału start).
A na koniec, pochwalę się nową głowicą narzędziową w swoim sprzęcie. Teraz jest sześć narzędzi i ... jest wielka kicha. Niestety nie ma rzeczy idealnych, długie narzędzia przeszkadzają. Więc teraz są dwa imaki, stary siedzi z tyłu suportu. O! Reszta też przeszła lifting, nowe osłony, serwonapędy delty, dotykowy ekran itp.
Pozdrawiam Marek.

Niestety także spotkałem sie z tym problemem. Co prawda istnieje komenda "wait for signal xxx" gdzie xxx jest konkretnym wejściem, ale nie działa. Tak jakby system jej nie widział. Jest to bardzo niebezpieczne. Zdarza się ,że PC nie uruchamia makra M6 ( tak jak by go nie było w G- kodzie), tylko leci dalej z programem. Po kilku niedoszłych i jednej poważnej kraksie, wyczarowałem oto taki sposób. Po komendzie m6 txxx następna jest m1 - czyli stop programu. Aby "popchnąć" dalej program, to sterownik PLC obsługujący głowicę narzędziową wysyła sygnał start do PC (dopiero po zakończonej wymianie narzędzia). Jeśli więc zdarzy się, że pecet "zapomni" wysłać do PLC aby wymienił narzędzie, to nie ma odpowiedzi zwrotnej (sygnału start).
A na koniec, pochwalę się nową głowicą narzędziową w swoim sprzęcie. Teraz jest sześć narzędzi i ... jest wielka kicha. Niestety nie ma rzeczy idealnych, długie narzędzia przeszkadzają. Więc teraz są dwa imaki, stary siedzi z tyłu suportu. O! Reszta też przeszła lifting, nowe osłony, serwonapędy delty, dotykowy ekran itp.
Pozdrawiam Marek.
- Załączniki
-
- Fotka108.jpg (125.07 KiB) Przejrzano 2135 razy
-
- Fotka109.jpg (96.61 KiB) Przejrzano 2124 razy
-
- Fotka117.jpg (88.89 KiB) Przejrzano 2131 razy
-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 7
- Posty: 18
- Rejestracja: 22 maja 2008, 09:05
- Lokalizacja: polska
Tutaj muszę dodac małe sprostowanie , od czasu kiedy makro zostało napisane
zresztą przy bardzo dużej pomocy kolegi "margor" nic więcej nie kombinowałem
przez ten czas pomimo niedoskonałosci samego makra maszyna produkowała
bez większych zastrzeżeń z mojej strony problemy z wymianą narzędzi zdarzały
się bardzo bardzo rzadko.
Niestety w obecnym czasie maszyna zmienia właściciela i nie chce
aby przyszły właściciel miał jakikolwiek zastrzeżenia .
Ja kupiłem inną tokarkę z bardzo podobnym rozwiązaniem imaka (imak tarczowy )jak kol "margor"
z tą różnicą że u mnie są oprawy VDI50.
A tu jeszcze załączam aktualne makro na dwa imaki;
Sub Main()
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool >8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
SystemWaitFor (Input3)
While IsMoving
Wend
Exit Sub
End If
If (NewTool=0) Then
Code "m30"
End If
If (NewTool = 1) Then
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output7)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 2) Then
deActivateSignal(Output7)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output8)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 3) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output9)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 4) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output10)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 5) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output12)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 6) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output13)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 7) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output12)
deActivateSignal(Output15)
ActivateSignal(Output14)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool =8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output12)
ActivateSignal(Output15)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
End Sub
Main
zresztą przy bardzo dużej pomocy kolegi "margor" nic więcej nie kombinowałem
przez ten czas pomimo niedoskonałosci samego makra maszyna produkowała
bez większych zastrzeżeń z mojej strony problemy z wymianą narzędzi zdarzały
się bardzo bardzo rzadko.
Niestety w obecnym czasie maszyna zmienia właściciela i nie chce
aby przyszły właściciel miał jakikolwiek zastrzeżenia .
Ja kupiłem inną tokarkę z bardzo podobnym rozwiązaniem imaka (imak tarczowy )jak kol "margor"
z tą różnicą że u mnie są oprawy VDI50.
A tu jeszcze załączam aktualne makro na dwa imaki;
Sub Main()
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool >8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
SystemWaitFor (Input3)
While IsMoving
Wend
Exit Sub
End If
If (NewTool=0) Then
Code "m30"
End If
If (NewTool = 1) Then
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output7)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 2) Then
deActivateSignal(Output7)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output8)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 3) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output9)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 4) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output10)
ActivateSignal(Output11)
SystemWaitFor (Input2)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 5) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output12)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 6) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output12)
deActivateSignal(Output14)
deActivateSignal(Output15)
ActivateSignal(Output13)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool = 7) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output12)
deActivateSignal(Output15)
ActivateSignal(Output14)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
If (NewTool =8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output12)
ActivateSignal(Output15)
ActivateSignal(Output11)
SystemWaitFor (Input4)
Code "g4 p0.5"
While IsMoving
Wend
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
Exit Sub
End If
End Sub
Main
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
ło matko niema żadnych zabezpieczeń ale to żadnych
podaj zasady działania magazynu sterownika plc , po prostu opisz jak to działa
niema mowy że mach olej m6 ,
pomogę w miarę czasu wolnego ale obsługa dla 2 magazynów to będzie troszkę myślenia by nie zrobić kuku fięc na szybkie rozwiązanie się nie nastawiaj , napisz czy używasz opcji front i rear
napisz z skąd jesteś
podaj zasady działania magazynu sterownika plc , po prostu opisz jak to działa
niema mowy że mach olej m6 ,
pomogę w miarę czasu wolnego ale obsługa dla 2 magazynów to będzie troszkę myślenia by nie zrobić kuku fięc na szybkie rozwiązanie się nie nastawiaj , napisz czy używasz opcji front i rear
napisz z skąd jesteś
Mach3 + CSMIO =




-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 7
- Posty: 18
- Rejestracja: 22 maja 2008, 09:05
- Lokalizacja: polska
Pokrótce opiszę jak działa sam imak , napędzany jest silnikiem elektrycznym ,
załączenie prawych obrotów powoduje jego rozklemowanie a następnie obrót
do momentu najechania do wyłącznika drogowego który jest nieco za pozycją
docelową iw tym czasie następuje zmiana obrotów co powoduje zmianę
kierunku obracania się imaka który dokręca się do pozycji i tam zostaje
zablokowany mechanizmem zapadkowym po czym obracający się nadal
silnik zaklemowuje imak , od strony mechanicznej to tyle.
Nie posiadam sterownika PLC zrobiłem to na elektronice własnego pomysłu
i zestawu przekaźników .
Sam MACH ma za zadanie wystawić odpowiedni sygnał wyjęcia dla
każdego gniazda:
gniazdo nr 1 wyjście 7
nr 2 wyjście 8
nr 3 wyjście 9
nr 4 wyjście 10
nr 5 wyjście12
nr 6 wyjście13
nr 7 wyjście14
nr 8 wyjście15
wyjście nr 11 to dodatkowe zabezpieczenie przed przypadkowym
załączeniem czyli musi być stan wysoki na jednym z pinów
przy porządkowanych do gniazda i na pinie 11 i tylko wtedy następuje
obrót imaka .
Wejście nr4 to sygnał zwrotny który jest podany po zaklemowaniu
imaka.
Ja mam nadzieje że do istniejącego makro da się dodać komendę
która ograniczy max czas jego trwania po czym zatrzyma cykl wyświetlając
komunikat , dodatkowo mozna by było zastąpić polecenie
SystemWaitFor (Inputxxx) czymś innym tak aby w przypadku naciskania
start cykl w czasie trwania m6 mach nie ignorował oczekiwania
na sygnał zwrotny.
załączenie prawych obrotów powoduje jego rozklemowanie a następnie obrót
do momentu najechania do wyłącznika drogowego który jest nieco za pozycją
docelową iw tym czasie następuje zmiana obrotów co powoduje zmianę
kierunku obracania się imaka który dokręca się do pozycji i tam zostaje
zablokowany mechanizmem zapadkowym po czym obracający się nadal
silnik zaklemowuje imak , od strony mechanicznej to tyle.
Nie posiadam sterownika PLC zrobiłem to na elektronice własnego pomysłu
i zestawu przekaźników .
Sam MACH ma za zadanie wystawić odpowiedni sygnał wyjęcia dla
każdego gniazda:
gniazdo nr 1 wyjście 7
nr 2 wyjście 8
nr 3 wyjście 9
nr 4 wyjście 10
nr 5 wyjście12
nr 6 wyjście13
nr 7 wyjście14
nr 8 wyjście15
wyjście nr 11 to dodatkowe zabezpieczenie przed przypadkowym
załączeniem czyli musi być stan wysoki na jednym z pinów
przy porządkowanych do gniazda i na pinie 11 i tylko wtedy następuje
obrót imaka .
Wejście nr4 to sygnał zwrotny który jest podany po zaklemowaniu
imaka.
Ja mam nadzieje że do istniejącego makro da się dodać komendę
która ograniczy max czas jego trwania po czym zatrzyma cykl wyświetlając
komunikat , dodatkowo mozna by było zastąpić polecenie
SystemWaitFor (Inputxxx) czymś innym tak aby w przypadku naciskania
start cykl w czasie trwania m6 mach nie ignorował oczekiwania
na sygnał zwrotny.
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
[ Dodano: 2013-01-15, 23:04 ]
Dlaczego to masz tak rozwiązane i dlaczego sygnał sprawdzający jest input 2 potem 3 a potem 4
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool >8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
SystemWaitFor (Input3)
to jest rozbite na 2 imaki ????? to dlaczego sa 3 sygnały wejsciowe?
w dodatku widzę ze to makro nie wybiera ci narzędzia w sensie że nie zmienia jego numeru , pracujesz wo gule na osobnych offsetach narzędzia????
odpowiedz bo prawie kończę pisać!!!!
Dlaczego to masz tak rozwiązane i dlaczego sygnał sprawdzający jest input 2 potem 3 a potem 4
NewTool = GetSelectedTool()
OldTool = GetCurrentTool()
If (NewTool >8) Then
deActivateSignal(Output7)
deActivateSignal(Output8)
deActivateSignal(Output9)
deActivateSignal(Output10)
deActivateSignal(Output11)
deActivateSignal(Output12)
deActivateSignal(Output13)
deActivateSignal(Output14)
deActivateSignal(Output15)
SystemWaitFor (Input3)
to jest rozbite na 2 imaki ????? to dlaczego sa 3 sygnały wejsciowe?
w dodatku widzę ze to makro nie wybiera ci narzędzia w sensie że nie zmienia jego numeru , pracujesz wo gule na osobnych offsetach narzędzia????
odpowiedz bo prawie kończę pisać!!!!
Mach3 + CSMIO =




-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
to zabezpieczenie przed wybraniem nie własciwego numeru narzędzia czaje
ale po co ten start cykl na 3 impucie on tam jest zbędny w takiej sytuacji
maszyna ma się zatrzymać i koniec , poprawiasz numerek narzędzia i startujesz od wymiany narzędzia
napisz mi jeszcze czy imak 1 ma narzędzia 1,2,3,4 a imak 2 ma narzedzia 5,6,7,8 ?????
skrypt taki porządny mam już ukończony tylko muszę usiąść w sobotę i niedziele i poszukać dziur tzn nie zabezpieczonych miejsc
ale po co ten start cykl na 3 impucie on tam jest zbędny w takiej sytuacji
maszyna ma się zatrzymać i koniec , poprawiasz numerek narzędzia i startujesz od wymiany narzędzia
napisz mi jeszcze czy imak 1 ma narzędzia 1,2,3,4 a imak 2 ma narzedzia 5,6,7,8 ?????
skrypt taki porządny mam już ukończony tylko muszę usiąść w sobotę i niedziele i poszukać dziur tzn nie zabezpieczonych miejsc
Mach3 + CSMIO =




-
Autor tematu - Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 7
- Posty: 18
- Rejestracja: 22 maja 2008, 09:05
- Lokalizacja: polska
To nie jest zabezpieczenie przed wyborem niewłaściwego narzędzia
lecz możliwość wybrania nowego offsetu bez obrotu imaka ,
bo w moim makro wywołując aktualne narzędzie imak i tak się obraca.
Z input 3 wprowadziłem cię w błąd nie jest to start cykl jest to wejście
które ma ustawiony stan niski czyli sygnał jest przez cały czas
wiem że jest to bezsensowne i sprawdzanie tego sygnału można skasować
Jeżeli chodzi o nr narzędzi w imaku 1 i 2 to są one takie jak napisałeś.
lecz możliwość wybrania nowego offsetu bez obrotu imaka ,
bo w moim makro wywołując aktualne narzędzie imak i tak się obraca.
Z input 3 wprowadziłem cię w błąd nie jest to start cykl jest to wejście
które ma ustawiony stan niski czyli sygnał jest przez cały czas
wiem że jest to bezsensowne i sprawdzanie tego sygnału można skasować
Jeżeli chodzi o nr narzędzi w imaku 1 i 2 to są one takie jak napisałeś.
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 5
- Posty: 874
- Rejestracja: 13 sie 2009, 16:15
- Lokalizacja: xxx
coś kolega przekombinował
makro m6 ma gdzieś ofset
robisz tak że zakładasz pułapkę na wybranie narzędzia które już jest i w efekcie makro konczy swoje działanie prawie na początku makra a ofset swoją drogą jest wybierany
makro m6 patrzy tylko na T01 reszta ma w du....więc jak napiszesz tak
t0505
a za chwile w g kodzie
t0506
to dostaniesz odpowiedz narzędzie jest już w uchwycie a w rzeczywistosci bedziesz miał już ofset 06
i dlatego nie trzeba tu za wielkiej filozofii a magazyn się nie obraca nie potrzebnie
jak masz skype to zagadamy w sobotę wieczorem
makro już mam zrobione ładne tylko muszę cię troszkę przeszkolić z konfiguracji go
makro m6 ma gdzieś ofset
robisz tak że zakładasz pułapkę na wybranie narzędzia które już jest i w efekcie makro konczy swoje działanie prawie na początku makra a ofset swoją drogą jest wybierany
makro m6 patrzy tylko na T01 reszta ma w du....więc jak napiszesz tak
t0505
a za chwile w g kodzie
t0506
to dostaniesz odpowiedz narzędzie jest już w uchwycie a w rzeczywistosci bedziesz miał już ofset 06
i dlatego nie trzeba tu za wielkiej filozofii a magazyn się nie obraca nie potrzebnie
jak masz skype to zagadamy w sobotę wieczorem
makro już mam zrobione ładne tylko muszę cię troszkę przeszkolić z konfiguracji go
Mach3 + CSMIO =



