top of page
Szukaj

Program Logic Controler czyli Programowalne Sterowniki Logiczne PLC

  • hderbis99
  • 21 cze 2021
  • 4 minut(y) czytania
  1. Czym są Programowalne sterowniki logiczne PLC

Sterowniki PLC są przedstawicielami szeroko rozumianej rodziny komputerów. Sterowniki programowalne wykorzystywane są głownie w zastosowaniach przemysłowych. W tym artykule skupimy się głównie na sterowniku firmy SIEMENS S7 - 1200 DC/DC/DC.


2. PLC - Specyfikacja pracy


Sterowniki logiczne za pomocą modułów wejściowych zbierają pomiary z cyfrowych i analogowych czujników oraz z różnej rodzaju urządzeń pomiarowych. Na podstawie zebranych danych pomiarowych mogą realizować program zadany przez użytkownika, a następnie zgodnie z wynikami obliczeń danych programów mogą podejmować decyzję i generować sygnały sterujące. Mogą również wykonywać funkcje diagnostyczne oraz za pomocą modułów oraz łączy komunikacyjnych realizują funkcję transmisji danych.


3. Gdzie stosujemy PLC ?


- Technika instalacyjna

- Proste maszyny i urządzenia przemysłowe

- Pozycjonowanie osi

- regulatory PID

- Bezprzewodowe sieci sensorowe

- i wiele wiele innych ;)

4. Języki programowania


Z racji tego, że w przemyśle ważnym czynnikiem jest uniwersalność stąd w roku 1993 została opracowana i wydana przez międzynarodową komisję elektroniki norma IEC 1131 "Programmable Controllers". Składa się ona z pięciu części, ale najważniejsze jest to, że ujednolica strategie programowania sterowników logicznych co znacznie ułatwia wdrożenie się w dany sterownik.

Sterownik PLC możemy programować używając:

- Języka listy instrukcji IL (Instruction List)


- Języka strukturalnego ST (Structured List)



- Języka schematów drabinkowych LD (Ladder diagram)




- Języka schematów blokowych FBD (Function block diagram)




W powyższym artykule skupimy się na pokazaniu języka drabinkowego LD.

Jest to najpopularniejszy, a zarazem najprostszy do zrozumienia i opanowania język programowania sterowników PLC. Należy on do grupy języków graficznych i umożliwia realizację zadania sterowania za pomocą standaryzowanych symboli graficznych.

Jak to wygląda w praktyce ?

Załóżmy, że naszym zadaniem jest wysterowania naszego wyjścia po załączeniu wejścia:

- Po pierwsze musimy zdefiniować nasze zmienne w tzw. Tag_table, wygląda to następująco


Rys.I. Tag table w programie Tia Portal

Gdy już zdefiniujemy nasze zmienne czas przejść do naszego programu.


Rys.II. Szkielet programu w środowisku Tia Portal

Widzimy, że w naszym 'networku' pojawiły się dwie cewki, wej oraz wyj. Zadaniem naszego programu jest wysterowanie wyjścia %Q0.0 na on gdy wejście %I0.0 będzie załączone.


Rys.III. Zrzut symulacyjny pokazujący działanie programu

Jak widzimy na (Rys.III) gdy na wejściu %I0.0 jest wartość True to również na wyjściu %Q0.0 jest wartość True.

Zajmijmy się teraz trochę bardziej skomplikowanymi zagadnieniami. Załóżmy że pracujemy jako automatyk w jakiejś renomowanej firmie. Dostaliśmy zadanie przygotowania programu który będzie sterować prasą. Aby uchronić operatora prasy przed utratą rąk potrzebujemy zastosować układ wyzwalający. Uruchomienie prasy może nastąpić tylko w przypadku wciśnięcia obu przycisków (S1 oraz S2) jednocześnie. Następnie gdy oba przyciski są włączone to po upływie 5 sec załączana jest prasa. Sterowana jest ona silnikiem Y, który jest załączany stycznikiem K.

Aby zrealizować to zadanie musimy:

- Zdefiniować co jest wyjściem a co wejściem w naszym programie.


Rys.IV. Zmienne wyjściowe oraz wejściowe

Jak możemy wywnioskować z zadania dwa przyciski muszą być jednocześnie wciśnięte jest to inaczej zastosowanie w praktyce bramki logicznej AND więc na wejścia %I0.0 oraz %I0.1 ustawiamy nasze przyciski, a gdy przyciski są wciśnięte po 5 sec załączy nam się prasa, wiec stycznik K będzie naszym wyjściem które załączy silnik prasy.


Rys.V. Praktyczna realizacja programu w środowisku Tia Portal

W praktycznej realizacji programu widzimy iż został użyty timer TON ponieważ dzięki niemu po 5 sec zostaje wysterowane wyjście %Q0.1 i prasa się załącza.


Rys.VI. Symulacja działania programu.

Jak widzimy na przeprowadzonej symulacji kolorem niebieskim są zaznaczone dla nas interesujące wartości. Widzimy, że Timer TON odliczył nam 5 sec przez co nasze wyjście K zostało wysterowane na True i prasa się załączyła.

Pokazałem już działanie Timera, podniosłem delikatnie trudność naszego zadania więc czas podstawić poprzeczkę jeszcze wyżej.

W ostatnim zadaniu skupimy się na wykorzystaniu operatorów logicznych, zmiennych pomocniczych oraz licznika inaczej Counter'a.

W tej części zajmiemy się stworzeniem linijki diodowej. Po zadaniu jedynki na wejście %I0.0 nasze diody będą odpalać się cyklicznie co jedną sekundę i tak w kółko, dopóki %I0.0 ma wartość True.

Schemat działania pozostaje ten sam zatem zdefiniujmy nasze zmienne:


Rys.VII. Definicja zmiennych w Tag table

Na (Rys.VII) widzimy, że włącznik czyli zmienna Start/stop jest przypisana do adresu %I0.0 ponieważ to ona załącza nam działanie linijki. Poniżej widzimy zmienna pomocniczą w której będziemy zapisywać daną wartość, a na wyjściach zdefiniowaliśmy nasze diody.


Rys.VIII. Schemat programu cz.I

Jak widzimy na (Rys.VIII) przy załączeniu zmiennej Start/stop w pierwszym kroku jest załączana i wyłączana zmienna pom1 co 1 sec, dalej te impulsy z Timer'a są przekazywany na licznik zliczający w górę Counter Up, gdy licznik doliczy do 3 jego wartość jest resetowana dzięki czemu cała operacja działa w pętli (wiem, że na ten moment brzmi to trochę chaotycznie, ale wszystko rozwiąże się z kolejnym zdjęciem).


Rys.IX. Schemat programu cz.II

W części drugiej widzimy, że jeżeli wartość Counter'a jest większa lub równa zero włącza się dioda1, jeżeli wartość Counter'a jest większa lub równa 1 to włącza się dioda2 i tak samo z diodą trzecią w ten sposób załączana jest cała linijka diodowa.


Rys.X. Załączenie pierwszej diody


Rys.XI. Załączenie drugiej diody


Rys.XII. Załączenie trzeciej diody

Jak możemy zauważyć na rysunkach (Rys.X-XII) wszystkie 3 diody są cyklicznie zapalane co jedną sekundę więc linijka działa poprawnie.

Tym sposobem przeszliśmy ostatnie zadanie opisane w tym artykule jak możemy zauważyć Programowalne Sterowniki Logiczne - PLC w prosty sposób dla użytkownika realizują zaprogramowane zadania. Zachęcam również do szerszego zgłębienia się w temat za co odpowiadają pozostałe Timer'y lub Counter'y lub co to są 'resety' 'sety' i wiele wiele innych instrukcji, których nie zaprezentowałem w tym artykule, a mogą być przydatne w późniejszej pracy automatyka.

 
 
 

Komentarze


Informacje Kontaktowe

  • Facebook Social Ikona
  • Instagram

Dziękuję za przesłanie wiadomości!

©2023 by Hubert Derbis. Proudly created with Wix.com

bottom of page