fbpx

Szkoła PLC – Kontrola podajnika palet

podadjnik-palet

Dzisiaj zajmiemy się obsługą emitera, czyli podajnika palet. Wykonamy kolejne punkty z naszych założeń projektowe. Pierwszy z nich to punkt 26, czyli w trybie Auto paleta jest umieszczona na transporterze w momencie, gdy czujnik D1 nie wykrywa żadnego obiektu. Natomiast punkt 27 mówi o zakończenie produkcji jest możliwe po naciśnięciu przycisku Finish.

Kontrola podajnika palet

Kod realizujący sterowanie emiterem umieścimy w warstwie logicznej o nazwie Emitter. Następnie dodajemy funkcje typu FB, ponieważ będą nam potrzebne zmienne statyczne. Funkcje nazwiemy LOG_EmitterControl. Ta funkcja będzie działać tylko w trybie automatycznym.

Dla tej funkcji utworzymy następujące parametry wejściowe (Input):

ModeAuto – przekazanie informacji o trybie automatycznym,,

Sensor – przez ten parametr jest pobierana informacja o czujniku D1,

StartLine – parametr, do którego przypiszemy zmienną o uruchomieniu linii,

ButtonFinish – stan przycisku Finish będzie przekazywany do funkcji przez ten parametr,

ButtonStart – zostanie przypisany stan przycisku Start.

Wszystkie pięć parametrów wejściowych będą typu Bool. Utworzymy też jeden parametr wyjściowy (Output):

PutPallete – sterowanie podajnikiem

Tak jak pisałem wcześnie, korzystamy z funkcji typu FB z tego względu, że będzie nam potrzebna zmienna statyczna. Więc teraz utworzymy taką zmienną (Static). Zmienną będzie typu Bool o nazwie s_FinishProduction. Przedrostek s_ informuje nas o tym, że jest to właśnie zmienna statyczna.

Teraz pozostało nam napisać kod programu wykonujący punkty 26 i 27 z założeń projektowych.

Kod przedstawiono poniżej

//point nr 26, 27
IF (#ButtonStart) THEN
#s_FinishProduction := FALSE;
END_IF;
IF (#StartLine AND #ModeAuto) THEN
IF (#ButtonFinish) THEN
#s_FinishProduction := TRUE;
END_IF;
#PutPallete := (NOT #Sensor) AND (NOT #s_FinishProduction);
ELSE
#PutPallete := FALSE;
END_IF;

Na początku zmiennej statycznej jest przypisywana wartość FALSE, w momencie, gdy przycisk Start jest wciśnięty. Jest to konieczne, aby można było rozpocząć kolejny cykl produkcyjny.

Kiedy zakończenie produkcji może być uruchomione? Wówczas, gdy jest wybrany tryb automatyczny oraz linia pracuje.

Jeżeli warunek pierwszej instrukcji IF jest spełniony, wówczas następuje sprawdzenie za pomocą kolejnej instrukcji warunkowej IF, czy został naciśnięty przycisk Finish. Jeżeli ten warunek jest prawdziwy, to do naszej zmiennej statycznej s_FinishProduction przypisujemy wysoki stan logiczny.

Następnie została napisana linia odpowiadająca za włączenie podajnika. Zgodnie z założeniami podajnik może być włączony, gdy czujnik nie wykrywa obiektu oraz przycisk Finish nie został wciśnięty. To jest dla tryby automatycznego. To realizuje linia 9. W linii numer 11 następuje wyłączenia emitera dla wszystkich innych trybów pracy linii.

Zapisujemy projekt i przechodzimy do wywołania funkcji LOG_EmitterControl(). Ta funkcja zostanie wywołana w funkcji LOG_ClassLogic().

Przed wywołaniem usuwamy kod, który do tej chwili odpowiadał za włączenie i wyłączenia emitera. Tym zadaniem będzie zajmować się nasza funkcja.

Na samym dole funkcji LOG_ClassLogic() wywołujemy funkcję LOG_EmitterControl(). Tworzymy nowy blok danych instance DB o nazwie LOG_EmitterControl_DB5. Kod wywołania przedstawiono poniżej

//point nr 26, 27
"LOG_EmitterControl_DB5"(ModeAuto:="MAN_LineMode".Auto,
Sensor:="D1",
StartLine:="MAN_LineMode".StartLine,
ButtonFinish:="Finish",
ButtonStart:="Start",
PutPallete=>"Emitter");

Poszczególnym parametrom odpowiednie zmienne lub sygnały.

Testowanie

Kompilujemy kod programu znajdujący się w naszym projekcie. Sprawdzamy, czy nie ma błędów po kompilacji. Jeżeli wszystko ok, to wgrywamy kod do sterownika.

Przechodzimy do Factory IO i sprawdzimy teraz, jak działa napisany nasz kod. Na początku należy przełączyć linię w tryb automatyczny i następnie nacisnąć przycisk Start, aby linia się uruchomiła.

W tym momencie powinien nastąpić transport palet. Jeżeli teraz naciśniesz przycisk Finish, to palety nie są już podawane na linie.

Jeżeli zatrzymasz teraz produkcję (naciskając przycisk Stop) i ponownie włączysz linie to wówczas palety ponownie będą podawane na linie.

Wideo

Proces pisania kodu programu możesz zobaczyć też na wideo

Projekt TIA Portal

Aktualny projekt linii transportowej możesz pobrać tutaj.

//———-
Licencja FACTORY I/O wypożyczona dzięki uprzejmości firmy Encon-Koester Sp. z o. o. Sp. K.
Encon-Koester Sp. z o. o. Sp. k.
ul. Gagarina 4
54-620 Wrocław

ec

Kurs wideo

Więcej na temat programowania w języku SCL znajdziesz w kursie Sterownik PLC w praktyce:

pl-usb-1p1-tia-1200-scl_sterownik-plc_w-praktyce-1

 

Podziel się tym wpisem na:
  • Facebook
  • Google Bookmarks
  • Twitter
  • Wykop

Pozostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Newsletter - Zapisz się i jako pierwszy otrzymasz najnowsze informacje