Współczesne złożone systemy sterowania procesów przemysłowych aż kipią od najnowszych technologii… Do inżyniera należy wybór platformy, zarówno sprzętowej, jak i programowej projektowanego rozwiązania.
Obecnie znakomita większość dostępnych na rynku rozwiązań sterowników programowalnych PLC (ang. Programmable Logic Controller) udostępnia użytkownikom możliwość tworzenia aplikacji sterujących z użyciem języków programowania opisanych w normie IEC 61131-3. Do języków tych zaliczamy:
IL ? Instrucion List ? język niskiego poziomu podobny do asemblera,
LAD ? Ladder diagram ? język graficzny, dzięki któremu odzwierciedla się sposób działania typowej sieci dyskretnych elementów przełączających,
FBD ? Function Block Diagram ? język graficzny, dzięki któremu możliwe jest tworzenie w efektywny sposób aplikacji, z jednej strony zawierających złożone formuły zależności logicznych, z drugiej zaś prostą implementacjęobliczeń numerycznych w aplikacjach sterowania dzięki użyciu bloków funkcyjnych zawartych w bibliotekach użytkownika (opracowywanych w dowolnym z dostępnych języków normy),
ST ? StructuredText ? język tekstowy wysokiego poziomu podobny pod względem składni do języka Pascal, umożliwia efektywne oprogramowanie nawet bardzo złożonych obliczeń numerycznych,
SFC ? SequentialFunction Chart ? język graficzny, opisujący sposób działania sterowanego procesu lub maszyny. Jako jedyny z języków normy IEC 61131-3 jest językiem niesamodzielnym, tj. takim, który wymaga użycia jednego z pozostałych języków do pełnego oprogramowania etapów (akcji realizowanych przez sterownik) oraz tranzycji (warunków przejścia pomiędzy etapami).
Najpopularniejszym językiem programowania sterowników PLC jest obecnie język schematów drabinkowych LAD.
Język bloków funkcyjnych (FBD) podobny do opisu z użyciem bramek logicznych według danych opublikowanych w amerykańskim oraz polskim numerze Control Engineering jest drugim najpopularniejszym językiem tworzenia aplikacji systemów sterowania.
Trzecie miejsce w rankingu popularności języków programowania sterowników PLC zajmuje język listy instrukcji (IL) ? niskopoziomowy język podobny do asemblera. Dzięki wielopoziomowemu mechanizmowi akumulatorów język listy instrukcji umożliwia oprogramowanie nawet bardzo złożonych zależności logicznych w ramach przemysłowych systemów sterowania.
Współcześnie dzięki użyciu języka tekstu ustrukturyzowanego (ST) możliwa jest implementacja dowolnych algorytmów regulacji w ramach systemu sterowania. Użytkownicy zaawansowani oraz obeznani z zagadnieniami teorii sterowania w prosty sposób mogą stworzyć bloki funkcyjne regulatorów cyfrowych.
Język ten zajmuje czwarte miejsce na liście najpopularniejszych języków programowania sterowników PLC. Jest coraz częściej wskazywany przez użytkowników, głównie z uwagi na wysoką wydajność procesorów używanych obecnie w sterownikach programowalnych.
Stanowi również efektywne narzędzie tworzenia nowych bibliotek rozszerzających dostępną w ramach zakupu funkcjonalność sterowników PLC. Dzięki blokom funkcyjnym możliwe jest praktyczne wdrażanie podejścia programowania obiektowego w aplikacjach przemysłowych. Z roku na rok coraz większa liczba użytkowników deklaruje znajomość języka ST.
Język SFC, znany również pod potoczną nazwą język technologów, umożliwia tworzenie opisów funkcjonalnych aplikacji sterowania z użyciem diagramów przepływu, odzwierciedlających działanie procesu/maszyny jako całości.
Nowością w przypadku wybranych modeli sterowników PLC jest możliwość ich programowania z użyciem języka ANSI C według standardu opisanego przez Kernighana i Ritchie?go. Spotykane są również modele programowane z użyciem tak zaawansowanych języków jak C++.
Producenci przemysłowych systemów sterowania bardzo często oferują swoim użytkownikom języki dedykowane. Zwykle są to języki tekstowe wysokiego poziomu, dzięki którym użytkownicy w efektywny sposób mogą korzystać z unikatowych dla danego modelu sterownika funkcji.
Komputery przemysłowe dzięki zastosowaniu systemów operacyjnych czasu rzeczywistego w połączeniu ze standardowymi systemami operacyjnymi takimi jak Windows umożliwiają użytkownikom tworzenie aplikacji sterowania zarówno z użyciem języków opisanych w normie IEC-61131-3, ale również z użyciem tekstowych języków typowych dla programowania aplikacji wysokiego poziomu jak C++ czy C#.
Ponieważ sterowniki PLC ewoluowały w kierunku złożonych systemów o coraz większej funkcjonalności, coraz częściej producenci systemów DCS bazują na rozwiązaniach z pogranicza PLC i PC ? sterownikach PAC. Tym samym konieczne było wprowadzenie do programowania tych rozwiązań języków takich, jak CFC ? ContinuousFunction Chart ? język graficzny wysokiego poziomu zbliżony do języka FBD, jednakże umożliwiający wielopoziomowe tworzenie aplikacji z użyciem mechanizmu podsystemów funkcjonalnych w ramach projektowanej aplikacji.
Sterowniki PAC, łącząc funkcjonalność technologii komputerowej z odpornością sterowników PLC, również pod względem programowania dają użytkownikom większe możliwości w zakresie m.in. liczby dostępnych języków tekstowych (C, C++, C#, Java) oraz graficznych (wszystkie języki normy IEC oraz dodatkowo statechart ? samodzielny język programowania stanowiący istotne rozszerzenie SFC, głównie pod względem nałożenia dodatkowych warunków potwierdzających poprawność tranzycji; narzędzia do programowania zaczynają być zgodne ze standardem UML).
Graficzne programowanie
Interesującym i z całą pewnością bardzo zauważalnym trendem jest wykorzystanie środowisk graficznych programowania i badań symulacyjnych (jak np. Matlab/Simulink firmy Mathworks oraz LabVIEW firmy National Instruments) do opracowania, przetestowania w warunkach symulacyjnych rozmaitych wariantów (głównie różnych parametrów regulatorów), a następnie oprogramowania przemysłowego systemu sterowania czasu rzeczywistego.
Nowoczesne oprogramowania inżynierskie mają funkcjonalność graficznej konfiguracji warstwy sprzętowej projektowanych aplikacji.
Projektowanie i symulacja komputerowa układów sterowania
Większość zintegrowanych środowisk programowania przemysłowych systemów sterowania (to znaczy takich, w których opracowuje się równolegle aplikację sterowania, wizualizacji oraz sterowania napędami elektrycznymi, czy też komunikacji w sieciach przemysłowych) umożliwia symulację działania projektu przed finalną kompilacją i przesłaniem do sterownika. Innowacyjne w tym względzie rozwiązania łączą technologię symulacji z wizualizacją trójwymiarową przestrzeni roboczej oprogramowywanych urządzeń. Istotne znaczenie w tego typu rozwiązaniach mają użyte technologie informatyczne. Zaliczamy do nich między innymi programowanie z użyciem platformy .net framework, Microsoft Presentation Fundation czy technologię serwerową OPC (OLE for Process Control), w tym głównie specyfikację Data Access (narzędzia takie jak Matlab/Simulink mają funkcję klienta OPC DA, dzięki czemu możliwa jest komunikacja z przemysłowymi systemami sterowania).
Mechatroniczne projektowanie równoległe
Współcześnie najbardziej wyszukaną techniką projektowania systemów sterowania maszyn jest tzw. projektowanie mechatroniczne bądź równoległe. W przypadku platform sprzętowo-programowych do szybkiego prototypowania procedury opracowania nowego algorytmu (w podejściu typowym, naukowym) polegają na:
- przygotowaniu modelu symulacyjnego,
- kompilacji projektu w dedykowanej karcie zawierającej interfejsy wejść/wyjść analogowych/cyfrowych,
- opracowaniu docelowego modułu sprzętowego, np. z użyciem układów ASIC, FPGA, mikrokontrolerów.
Nowe podejście do prototypowania przemysłowych systemów sterowania eliminuje konieczność stosowania dedykowanych kart prototypowych na rzecz kompilacji kodu w urządzeniu docelowym. Podejście takie znacznie skraca czas wdrożenia oraz koszt całego rozwiązania.
Szybkie prototypowanie jako technika opracowywania nowych algorytmów sterowania znane jest od kilkunastu lat. Z powodzeniem stosowana jest w projektach z obszaru mechatroniki, głównie z uwagi na skrócenie czasu pomiędzy opracowaniem koncepcji a wdrożeniem do testów finalnych. Na rysunku 3 przedstawiono 4 najpopularniejsze współcześnie scenariusze projektowania z zastosowaniem techniki szybkiego prototypowania. Na rynku pojawiły się obecnie przemysłowe rozwiązania umożliwiające podjęcie badań HIL (w urządzeniach docelowych) tuż po zakończeniu etapu badań symulacyjnych.
Krzysztof Pietrusewicz, zachodniopomorski Uniwersytet Technologiczny w Szczecinie, Wydział Elektryczny
CE