Języki programowania sterowników. PLC to ujednolicony elektroniczny system sterowania cyfrowego, zaprojektowany specjalnie do użytku w środowiskach przemysłowych. PLC stale monitoruje stan urządzeń wejściowych i podejmuje decyzje w oparciu o program użytkownika do kontroli stanu urządzeń wyjściowych. Norma IEC 61131-3 formułuje składnię i znaczenie języków programowania sterowników PLC z podziałem na języki tekstowe i graficzne.
Czym jest PLC?
Kontroler PLC jest urządzeniem sterującym. Staje się naprawdę funkcjonalny tylko wtedy, gdy tworzysz i uruchamiasz program, aby z niego korzystać. Oznacza to główne zadanie programowalnego sterownika logicznego – wykonanie programu zarządzającego procesem. Nowoczesny sterownik jest swobodnie programowalny, tj. zapewnia programiście możliwość tworzenia niestandardowych programów o dowolnej strukturze bez ograniczania ich funkcjonalności, niezależnie od tego, czy jest to program do sterowania pasteryzatorem w mleczarni, czy też do sterowania kolumną destylacyjną w rafinerii. W rzeczywistości jedynym ograniczeniem może być tutaj ilość wolnych zasobów kontrolera.
Języki programowania sterowników
Każdy automatyk stanął przed problemem zbudowania systemu sterowania urządzeniami w nieznanym mu obszarze tematycznym.Tak narodziły się programowalne sterowniki logiczne (PLC). Dawniej języki programowania komputerowego koncentrowały się na rozwiązywaniu problemów obliczeniowych. Najlepszym rozwiązaniem stało się automatyczne tłumaczenie schematów obwodów automatów przekaźnikowych na programy dla PLC. Tak więc w sterowniku pojawił się język obwodów stykowych przekaźnika – LD. Technik mógł przerysować schemat sterowania na wyświetlaczu stanowiska programowania PLC. Oczywiście schemat nie został przedstawiony graficznie, ale za pomocą konwencjonalnych symboli.
Konieczność zmiany programu w PLC zdarza się często, dlatego powinien być napisany w taki sposób, aby każda osoba, a nie tylko jej autor, mógł ją szybko zrozumieć i niezwłocznie wprowadzić niezbędne usprawnienia. W 1982 roku opublikowano pierwszą wersję roboczą, która została nazwana IEC 1131. Wdrożenie tego podejścia umożliwiło zaangażowanie specjalistów z różnych dziedzin wiedzy (a co najważniejsze o różnych kwalifikacjach) w programowanie tego samego sterownika PLC.
Języki programowania sterowników tekstowe
Lista instrukcji (IL) – operacje logiczne, relacji, arytmetyczne, funkcje przerzutników, liczników, timerów itd. Tworzenie programów w tym języku jest trudne i trzeba mieć dużą wiedzę w programowaniu. Pozwala opisywać funkcje, bloki funkcyjne i programy, a także kroki i przejścia w języku SFC. Jedną z kluczowych zalet IL jest jej prostota i możliwość uzyskania zoptymalizowanego kodu do implementacji krytycznych sektorów programu. Cechy IL sprawiają, że jest niewygodny do opisywania złożonych algorytmów z dużą liczbą gałęzi.
Język ST – czyli tekst strukturalny łatwiejszy od poprzedniego. Dostępność do gotowych struktur oraz instrukcji posiadających dane składnie np. C++. Dla osiągnięcia rezultatu trzeba użyć jednej lub kilku instrukcji.Trzeba pamiętać, że programy powstałe w tym języku trzeba przetłumaczyć na interpreter lub translator. Przydatne w przypadku programów obejmujących analizę numeryczną lub złożone algorytmy. Może być używany w programach, w treści funkcji lub bloku funkcyjnego oraz do opisywania akcji i przejścia w elementach SFC. Zgodnie z normą IEC 61131-3 słowa kluczowe należy wprowadzać wielkimi literami. Spacje i tabulatory nie wpływają na składnię, można ich używać wszędzie. Słowa serwisowe, komentarze i stałe numeryczne są wyróżnione kolorem, jak to zwykle w nowoczesnych środowiskach programistycznych, ustawienia kolorów są dostępne dla użytkownika.
Języki programowania sterowników graficzne
Język LD, czyli schemat drabinkowy jest oparty zbieżności ze stykowymi obwodami przekaźnikowymi.To znaczy poza symbolami cewek i styków, połączeń między nimi, istnieje możliwość wykorzystania różnych funkcji np. arytmetycznych, a także bloków takich jak: przerzutniki, timery, liczniki. Pary styków lub przycisków przekaźników są głównymi zmiennymi logicznymi języka LD, natomiast stan zmiennych to nic innego jak stan styków: otwarty lub zamknięty.
Język FBD – inaczej funkcjonalny schemat blokowy stanowiący język oparty na schemacie przepływu sygnału dla obwodów logicznych stosujących połączenia bramek logicznych AND, OR itd. Wykorzystuje architekturę podobną do obwodu. Język FBD jest przeznaczony dla inżynierów procesu rozwiązujących problemy sterowania procesami.Trudno wymyślić bardziej wizualne narzędzie do programowania pętli sterowania i regulacji. Program FBD to obwód składający się z zestawu bloków funkcjonalnych połączonych ze sobą za pomocą wejść i wyjść. Filtrowanie, PID, PDD, modalne, rozmyte, sterowanie pozycyjne, konwersja PWM, statystyczne, trygonometryczne, a także bloki sterujące dla zaworu, zasuwy, silnika.
Język SFC – ułatwia opisanie sekwencji procesów w systemie. Realizuje sekwencyjne sterowanie procesem w oparciu o system warunków, które przenoszą kontrolę z jednej operacji na drugą. Język SFC składa się ze skończonej liczby podstawowych elementów, które są używane jako bloki do zbudowania pełnego algorytmu przepływu programu. Język SFC to potężne narzędzie do konstruowania złożonych algorytmów. W rzeczywistości SFC nie jest niezależnym językiem. Przetłumaczony z języka angielskiego skrót SFC można przetłumaczyć jako schemat sekwencji funkcjonalnych. Zewnętrznie program jest podobny do schematu blokowego algorytmu, który wyświetla poszczególne bloki programu (kroki), przejścia między nimi oraz warunki, w jakich te przejścia są wykonywane. Każdy blok programu, jak również każdy warunek przejścia, jest podprogramem w dowolnym języku IEC 6-1131/3. Język ten jest bardzo przydatny do programowania procesów wsadowych, systemów dozowania i aplikacji biznesowych. SFC może być z łatwością używany zarówno przez inżynierów, jak i analityków biznesowych.