fbpx

Szkoła PLC – Inicjalizacja linii

PowerOn

Ostatnio zapoznałeś się z wiedzą na temat bloku startowego OB100. Bloku, który jest uruchamiany przed głównym blokiem wykonywanym cyklicznie, czyli OB1. I dzisiaj wykorzystamy tą wiedzę, aby wykonać  kolejny punkt z naszych założeń projektowych. Blok startowy OB100 będzie potrzebny do wykonania punkt nr. 7, czyli: „włączenie zasilania dla sterownika i może spowodować uruchomienie linii”.  Jest to wymóg, który wynika  też z norm bezpieczeństwa. I my dzisiaj wykonamy ten punkt.

Inicjalizacja linii

Jak wiesz, informacje o stanie pracy naszej linii znajduje się w bloku danych  MAN_LineMode. Bloku, który znajduje się w warstwie zarządzającej, warstwie Management . Jak go odszukasz w drzewie projektu, to po otwarciu go zauważysz 5 zmiennych informujących o tym w jakim stanie pracy znajduje się linia.

Domyślnie każdej z tych  zmiennych jest przypisana wartość startowa false. Jak widzisz w tej kolumnie Start value. Więc po włączeniu zasilania dla sterownika wszystkie te zmienne mają wartość false, chyba że następuje nadpisanie  tej zmiennej w kodzie programu, wtedy może przyjąć inną wartość. Więc,  aby wykonać punkt 7 przypiszemy do tych zmiennych wartości false. Tylko do zmiennej StopLine piszemy wartość True, ponieważ jest to zmienna informujące o tym, że linia jest aktualnie zatrzymana. Więc, aby  mieć 100% pewność, że po włączeniu zasilania linia nie zostanie uruchomiona wykorzystamy blok startowy OB100.  Blok, który uruchamia się na samym początku po włączeniu zasilania przed blokiem cyklicznym OB1. Więc ten blok uruchamia się jak wiesz, także po restarcie zasilania, ale także po przejściu sterownika do trybu stop i ponownym uruchomieniu sterownika w trybie RUN.

Aby dodać nowy blok startowy to skorzystamy z Add new block. Gdy okno się pojawi to należy wybrać Organizations blok i następnie mamy listę wszystkich bloków organizacyjnych, które możemy dodać do projektu. My dodamy blok startowy, czyli wybieramy z listy Startup. W polu Name zostaje automatycznie dodana nazwa Startup i ta nazwa zostanie. Będziemy pisać kod programu w języku SCL, więc wybieramy ten język w polu Language i klikamy OK aby dodać blok startowy do projektu. Więc w tym bloku napiszemy kod do punktu 7.

Kodowanie

Na początku dajmy komentarz Point 7. I tak odwołamy się do zmiennej w bloku MAN_LineMode. Więc na początku wpisujemy nazwę bloku danych i po kolei wybieramy zmienne. Na początku zmiennej AUTO przypisujemy wartość FALSE. I tak do pozostałych zmiennych. I do zmiennej StopLine  przypisujemy wartość True. Dzięki temu linia nie uruchomiła się. Kod programu przedstawiono poniżej

//point 7
"MAN_LineMode".Auto := FALSE;
"MAN_LineMode".Manual := FALSE;
"MAN_LineMode".StartLine := FALSE;
"MAN_LineMode".StopLine := TRUE;

Więc tak wygląda realizacja punktu 7. Zapisujemy projekt i możemy przetestować działanie naszego programu.

Testowanie

Sprawdzimy, jak się zachowuje program teraz, gdy nie został jeszcze umieszczony w pamięci blok OB1. Na początku połączymy się ze sterownikiem, więc w drzewie projektu klikamy na sterownik i z górnego paska wybieramy Go online. Przechodzimy do bloku MAN_LineMode.  Uruchamiamy podgląd, czyli ikonka Monitor all. Linia pracowała ostatnio w trybie automatycznym, ponieważ  zmienna Auto jest w stanie. Ale linia jest też zatrzymana (zmienna StopLine jest w stanie wysokim). Więc teraz naciskam przycisk Start i linia zostanie uruchomiona. Teraz jak zatrzymamy sterownik z wybierając z górnego paska narzędzi przycisk Stop. Więc sterownik wówczas się zatrzyma. Sterownik się zatrzymał, ponieważ można to też sprawdzić w zakładce Online tool. Następnie uruchomimy sterownik tym razem wybierając przycisk Start CPU z górnego paska narzędzi w TIA Portal. I wówczas możesz zauważyć, że po włączeniu sterownika wszystkie zmienne są ustawione na wartość FALSE.

Nie został jeszcze wgrany blok startowy OB100. Więc teraz trzeba zaprogramować sterownik, czyli umieścić w pamięci kod programu. Wykonujemy na początku kompilacje. Jeżeli nie ma błędów, więc możemy wgrać. Przy wgrywaniu sterownik zostanie zatrzymany z tego względu, że do projektu dodajemy blok startowy OB100, czyli jest to blok organizacyjny. Przy wgrywaniu bloków organizacyjnych sterownik musi być zatrzymany. Zostaje on zatrzymany tylko przy pierwszym wgrywaniu, czyli gdy wgrywamy blok, którego nie ma w projekcie, jak również nie ma w sterowniku. W takiej sytuacji sterownik jest zatrzymywany. Ostatni krok przy wgrywaniu to uruchamianie sterownika (zaznaczenie Start all) i naciskamy przycisk Finish.  Więc teraz wszystkie bloki,  które są drzewie projektu są także w sterowniku.

Możemy  ponownie uruchomić linię, tylko teraz linia się nie uruchomi, ponieważ nie jest wybrany tryb pracy. Przejdźmy do Factory IO, ponownie wybierzmy tryb automatyczny i następnie należy uruchomić linię. Jak możesz zauważyć, transportery zostaną uruchomione. Teraz zatrzymajmy linię, przejdźmy do TIA Portal. Wykorzystujemy przyciski z górnego paska narzędzi. Więc linia jest zatrzymana. Jak uruchomimy linię, zmienna StartLine będzie miała wartość True. Zatrzymajmy jeszcze raz sterownik. Jak sterownik uruchomimy jeszcze raz, to teraz do zmiennej StopLine będzie przypisana wartość True. Ta wartość True zostanie przypisana w bloku OB100. Ta wartość została przypisana, tylko na bardzo krótki. Wynika to z faktu, że w kodzie programu mamy też zawarty taki warunek,  że jeżeli nie jest wybrany żaden tryb pracy to linia jest zatrzymana.

Więc taki blok startowy OB100 jest często wykorzystywany do inicjalizowania pewnych wartości lub wykonywania kodu, który jest realizowany tylko raz.

 

Co jest powodem, że wszystkie zmienne z bloku danych MAN_LineMode po włączeniu sterownika przyjmują wartości false? Z którego miejsca w kodzie programu to wynika? Napisz w komentarzu.

Wideo

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

//———-
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

Newsletter - Zapisz się i jako pierwszy otrzymasz najnowsze informacje