Znaleziono 3 wyniki

autor: qqaz
29 lis 2020, 16:42
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: Mach3 - makro do magazynu "parasolka"
Odpowiedzi: 16
Odsłony: 1714

Re: Mach3 - makro do magazynu "parasolka"

gozdd pisze:
29 lis 2020, 16:27
Ale mi chodzi tylko o tą pętlę.
no to szukałbym przyczyn w niezgodności czasowej między idacym makrem a predkością talerza.
Wstaw w treść pętli kontrolę czy jest zmieniana krańcówka
While MagPos <> Tool
ActivateSignal(OUTPUT9)

while input4 <> false
sleep(50)
wend


MagPos = MagPos + 1
If MagPos = 17 Then
MagPos = 1
End If


while input 4=false
sleep(50)
wend

wend
autor: qqaz
29 lis 2020, 15:36
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: Mach3 - makro do magazynu "parasolka"
Odpowiedzi: 16
Odsłony: 1714

Re: Mach3 - makro do magazynu "parasolka"

gozdd pisze:
29 lis 2020, 14:14
Jeśli silnik jest włączony to każde zadziałanie czujnika, to obrót talerza o jedno narzędzie. I właśnie w ten sposób aktualizuję wartość MagPos.
Nie ma też żadnego ryglowania talerza. Cofanie silnika to po prostu obrót talerzem w drugą stronę.
no ja nie wiem jak to działa wiec i wytykać nie mogę.
Ale z tego co napisałeś nie wynika że wiadomo które narzedzie jest na pozycji MagPos. Bo zamiast ją odczytać to ją w pętli wyliczasz.
Miałoby to sens gdybyś na starcie jakoś ustawiał że zawsze tarcza jest =1 lub wpisywał wartość MagPos do idącego makra.
A teraz masz tak że startuje makro które co pozycję ( bo krzywka) zmienia wartość MagPos od wartości nieokreślonej, możliwe że pustej
A czy za każdym wywołaniem zmiany narzędzia MagPos ma wartość z poprzedniego wywołania makra? Po zakończeniu zmienna może stracić wartość ( bo jest lokalna i nie jest przechowywana)
Dopisz sobie komórkę (pole licznikowe) na ekranie gdzie na zakończenie makra będziesz zapisywał pozycję magazynu. Natomiast na początku wymiany odczytasz z tego pola wartość poprzednio zapisaną i w ten sposób nie stracisz pozycji magazynu.
Dodatkowo takie pole jest edytowalne więc po włączeniu Macha możesz wpisać aktualną pozycję talerza narzędziowego.
Choć lepszym rozwiązaniem jest wprowadzenie kilku krańcówek które zakodowane podawałyby wprost nr narzędzia w talerzu (dla 16 narzędzi potrzebne są 4 krańcówki)
autor: qqaz
29 lis 2020, 11:31
Forum: Mach 2 / 3 / 4 (ArtSoft software)
Temat: Mach3 - makro do magazynu "parasolka"
Odpowiedzi: 16
Odsłony: 1714

Re: Mach3 - makro do magazynu "parasolka"

Co do samego makra.
wcześniej masz wyznaczone Gkodem oczekiwane narzędzie - TOOL
Z magazynu wiesz że nr narzędzia MagPos wymaga zmiany pozycji magazynu.
Bo MagPos <> TOOL.
Więc uruchamiasz swoje makro

While MagPos <> TOOL
.
.
.
.
wend

i chodzi ta pętla w kółko bez szans na zakończenie działania.

Bo jeżeli warunek while pozwolił je uruchomić to w trakcie działania (tam gdzie kropki) nie ma jak zmienić wartości MagPos i TOOL i petla zawsze ma zezwolenie na kolejne uruchomienie.
Jakim cudem talerz obrócił Ci się raz 4x a immym 5x?
Jakiś brak kontaktu na kablach, przerwa w zasilaniu od drgań sprzętu?
Bo z pewnoscia nie na skutek działania makra.

Druga sprawa
Uruchamiasz silnik - bo narzędzie niezgodne z TOOL
czekasz na własciwą pozycję

While MagPos <> TOOL
MagPos= aktualna wartość
wend

i tyle, po prostu czekasz ale w treści petli aktualizuj wartość MagPOs odczytując jej wartość na bierząco.
Jak ją odczytujesz, gdzie jest dostępna to tego nie opisałeś.
Ale kiedyś bedzie miała taką wartość żę wętla się skończy.

a dalej już z górki
-wyłacz silnik
-zarygluj talerz
sprawdż na wszelki wypadek czy to co zaryglowałeć jest oczekiwanym narzędziem( jszcze raz )

-IF MagPos=TOOL
-message="Talerz na pozycji"
else
( jakieś działąnie obsługi błędu pozycji talerza)
-end if

-wymień narzędzie

i makro bedzie działać.
Makro, nie magazyn bo ten jeszcze musi odpowiednio się zatrzymać, a może i cofnąć silnikiem do siłowego zaryglowania
Opisz co i jak dzieje się w mechanice talerza bo na razie ten opis gwarantuje niedziałanie magazynu

Wróć do „Mach3 - makro do magazynu "parasolka"”