Programowanie robotów – skoki i instrukcje warunkowe IF

Podczas programowania robotów napotkamy się na instrukcje warunkowe IF oraz skoki  warunkowe. W tym tekście przedstawię gdzie i jak należy ich używać.

Na początek przypomnę wcześniej prezentowany algorytm naszego przyszłego programu z wcześniejszego wpisu o algorytmach.

Alg. 2

Aby stworzyć działający program nasze bloki i linie musimy zamienić na zestaw instrukcji zrozumiałych dla robota.

Instrukcje warunkowe
  • IF – jeżeli
  • ELSE – inaczej, w przeciwnym razie
  • ELSEIF – stosujemy jeżeli warunek posiada więcej niż dwa rozwiązania (odpowiednik CASE)
  • ENDIF – koniec instrukcji warunkowej

Instrukcja warunkowa IF to nic innego jak pytanie jeżeli. W naszym przypadku pytamy o to czy detal jest wybrakowany czy dobry. Informacje tą otrzymujemy ze złącza euromap 67 opisywanego wcześniej. Należy zwrócić uwagę że wtryskarka na styku ZA5 za pomocą sygnału wysokiego informuje nas o detalu wybrakowanym, nas interesuje detal dobry, czyli sytuacja w której na styku nie ma sygnału .  Nasze pytanie brzmi zatem: czy detal  nie jest wybrakowany? W programie zapiszemy to jako: IF DETAL WYBRAKOWANY=0

W przypadku spełnienia warunku  zostaną wykonane instrukcje znajdujące się pod zapytaniem IF

Jeżeli warunek nie został spełniony  program przechodzi do instrukcji umieszczonych pod poleceniem ELSE.

Wprowadzenie do programu instrukcji warunkowych zawsze powoduje jego rozgałęzienie tak jak to widać na powyższym algorytmie. Aby zakończyć instrukcje warunkową IF i połączyć rozgałęzienie musimy użyć polecenia ENDIF.

IF DETAL WYBRAKOWANY=0
* tutaj wprowadzamy instrukcje 
* odpowiedzialne za odłożenie 
* dobrego detalu
* i uruchomienie taśmociągu
ELSE 
* tutaj wprowadzamy instrukcje
* odpowiedzialne za odłożenie
* złego detalu
ENDIF

Jeśli zachodzi sytuacja w której program ma nic nie robić jeżeli warunek jest nie spełniony wtedy za poleceniem ELSE nie ma żadnych instrukcji. Na schemacie blokowym była by strzałka bezpośrednio do polecenia ENDIF.    W takim przypadku  stosujemy zapis bez polecenia ELSE. Poniżej przykład zastosowania dla programu paletyzacji.

IF PALETA PELNA=1
* przewiń taśmociąg
* zresetuj licznik paletowania 
ENDIF
Skoki

Skoki służą do przemieszczania się wewnątrz programu, najczęściej stosuje się je do zapętlenia programu i stworzenia w ten sposób pętli głównej która powtarzana jest co cykl maszyny. Aby można użyć polecenia JMP wcześniej trzeba zdefiniować miejsce w programie do jakiego chcemy się przenieść, miejsce to nazwane jest etykietą. Etykiete umieszczamy w programie nad linią do której chcemy się przemieścić i nadajemy jej nazwę sugerującą funkcje jaką dany skok pełni. I tak dla skoku zapętlającego program sugeruję etykietę CYKL: lub START:

  • ETYKIETA – znacznik miejsca w programie
  • JMP – skok do etykiety
  • JMP z warunkiem -skok warunkowy

 

Jak widać stosowanie instrukcji warunkowych oraz skoków jest niezbędne do stworzenia programu który będzie elastyczny i zoptymalizowany pod kątem potrzeb produkcyjnych oraz przyjazny dla  osoby obsługującej robota. Z łatwością możemy dodać takie funkcje jak odkładnie detalu do kontroli jakości, wprowadzanie cykli rozruchowych czy też ręcznego sortowania detali.

 

 

2 komentarze do “Programowanie robotów – skoki i instrukcje warunkowe IF

  1. Pingback: Podprogramy Wittmann - Ascons . Programowanie robotów

  2. Pingback: Podprogramy Wittmann – ASCONS

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *