Krzysztof Pietrusewicz, Łukasz Urbański 2012-03-02

Strategie programowania kontroli oprogramowania dla systemów przemysłowych

Strategie programowania kontroli oprogramowania dla systemów przemysłowych

Strategie programowania sterowania dla systemów przemysłowych ulegają zmianie z powodu chęci ponownego użycia i dostosowania programowania dla różnych regulatorów: PLC, PACS i IPCS, i osadzone elementy sterujące.

Jakie są opcje podczas przygotowywania aplikacji przemysłowych systemów sterowania? Czy użytkownik musi wybierać między wytrzymałością i funkcjonalnością rozwiązania sterowania? Czy istnieją rozwiązania dla szybkiego prototypowania przemysłowych systemów sterowania?

Większość z logicznych sterowników programowalnych (PLC) może być programowana w co najmniej jednym z języków opisanych w IEC 61131-3:

  • IL - Instruction List - niskopoziomowy język programowania podobny do asemblera
  • LD - Ladder Diagram - język graficzny na podstawie zasad obowiązujących w obwodach elektrycznych z drutów, przekaźników itp.
  • FBD - Function Block Diagram - język graficzny z możliwością implementacji kompleksowej kontroli i funkcji numerycznych w prosty sposób. Użytkownik może korzystać z gotowych bloków znajdujących się w bibliotekach i tworzyć własne bloki (napisane w jednym ze zgodnych języków IEC 61131-3) do zbudowania algorytmu sterowania.
  • ST - tekst strukturalny - język tekstowy podobny w składni do języka Pascal i Basic; skuteczne rozwiązanie dla każdego złożonego algorytmu sterowania
  • SFC - Sequential Function Chart - graficzny język opisujący działanie procesu i maszyny. Jest to jedyny język w normie IEC 61131-3, który zależy od sposobu użytkowania co najmniej jednego innego języka z listy.   

Co teraz jest najczęściej używane? W sondażu z Control Engineering USA i Automatyki czytelników Polsce, najbardziej popularnym językiem programowania schemat drabinkowy.

Język bloków funkcyjnych, podobny do układu z elementami logicznymi, jest na drugim miejscu wśród języków programowania PLC. Na trzecim miejscu jest język Instruction List. Zaawansowanie silniki pomagają z najbardziej skomplikowanymi zależnościami numerycznymi w algorytmach systemu sterowania.

Język strukturalny może być wykorzystywany do jakichkolwiek algorytmów sterowania. Zaawansowani użytkownicy mogą z łatwością tworzyć własne bloki funkcyjne regulatora kontrolujące procesy zarówno Single-Input Single-output (SISO) oraz Multiple-Input Multiple-Output (MIMO). Ten język ma czwarte miejsce na najbardziej popularnych języków programowania sterowników PLC listy. To coraz bardziej popularne ze wzrostem mocy obliczeniowej najnowszych sterowników.

Tekstowy język strukturalny jest doskonałym narzędziem do tworzenia bibliotek użytkownika, które wnoszą wartość dodaną do każdego sterownika. Wykorzystanie bloku funkcyjnego jest pierwszym krokiem w tworzeniu obiektowych zadań dla PLC. Liczba osób deklarujących znajomość ST wzrasta każdego roku. Wielu młodych inżynierów preferuje ST LD, więc będzie coraz większą popularnością w branży w najbliższych latach.

Z języka SFC, znanego jako "język technologów", użytkownicy mogą tworzyć schematy całej maszyny lub procesu.

Niektóre sterowniki PLC akceptują programowanie przy użyciu języka ANSI Cm zgodnego ze standardami Kernighan i Ritchie. Niektóre zaawansowane modele można nawet zaprogramować z C++.

Producencie przemysłowych systemów kontroli często oferują dodatkowe, zależne od platformy, dedykowane języki programowania. Są one przygotowywane przez producentów w celu łatwej integracji sprzętowej w określonych funkcjach, takich jak dostęp do systemu BIOS, unikatowe numery seryjne itp.

Komputery przemysłowe (IPC) wyposażone są w tradycyjne systemy operacyjne, zazwyczaj Microsoft Windows oraz w systemy pracujące w czasie rzeczywistym na tym samym komputerze. Zaletą takiego połączenia jest zastosowanie "na bieżąco" języków z listy IEC 61131-3 i systemem Microsoft Windows języków wysokiego poziomu, jak C++ lub C#. W ostatnich latach wiele tradycyjnych PLC ewoluowało, a czasem trudno odróżnić PLC z IPC. Gdy urządzenie ma znacznie większą funkcjonalność niż PLC, moc obliczeniową podobną do IPC, ale wytrzymałą obudowę z PLC, to jest to Programowalny Kontroler Automatyki (PAC). PAC zyskały uwagę producentów na rozproszony system sterowania (DCS). PACS umożliwa korzystanie z większej liczby tekstów języków programowania wysokiego szczebla (C, C++, C #), a także graficznych odpowiedników.

Aby zaprogramować skomplikowane systemy kontroli został wprowadzony nowy język programowania: Continuous Function Chart (CFC). CFC jest językiem wysokiego poziomu, podobnym do FBD, ale ma dodatkową możliwość tworzenia wielu wątków algorytmów, które mogą być obliczane równolegle w zależności od punktu widzenia programisty.

Programowanie graficzne

Graficzne programowanie (np. Mathworks Matlab / Simulink, National Instruments LabVIEW i inne) zyskuje coraz większą uwagę, ponieważ narzędzia te zwykle integrują funkcje programowania i symulacji. Użytkownicy mogą sprawdzić, czy nawet poszukać odpowiednich korzyści danego regulatora i algorytmu sterowania prototypowej maszyny / procesu w trybie oprogramowania in-the-loop.

Graficzne zintegrowane środowisko programistyczne (IDE), jeśli są prawidłowo zaprojektowane, mogą być bardzo pomocne podczas konfiguracji systemu i debugowania. W wielu nowych IDE użytkownicy mogą określić konfigurację systemu metodą drag-and-drop zamiast sztywnego kodowania każdego parametru.

Większość osprzętu kontroli IDE, gdzie sterowanie, wizualizacja i ruch są zaprojektowane, można symulować ostateczny projekt, zanim zostanie opracowany i przesłany do sprzętu. Ostatnio zaawansowane IDE są złożonyni systemami IT wspierającymi czyste technologie OPC (OLE for Process Control) i OPC Access Protocol. (Na przykład, Mathworks Matlab / Simulink może być klientem OPC i pobierać dane z przemysłowego systemu kontroli wspierającego OPC).

Mechatroniczny projekt równoległy

Mechatroniczne techniki projektowanie pomagają w tworzeniu odpowiednich systemów sterowania maszyn. Aby szybko zbudować programowo-sprzętowy projekt nowego algorytmu sterowania (z naukowym podejściem), należy podjąć następujące kroki:
1. Przygotowanie modelu symulacyjnego
2. Kompilacja projektu i testowanie prototypów w platformie sprzętowej
3. Projektowanie na dedykowanej platformie sprzętowej opartej na mikrokontrolerach, FPGA, itp.

Nowe podejście do przemysłowych systemów sterowania prototypowego eliminuje konieczność używania dedykowanych kart interfejsu (np. DSpace DS1104 lub innych). Umożliwia ono możliwość ostatecznego programowania systemu docelowego z poziomu oprogramowania symulacyjnego. Zapewnia też krótki czas wprowadzania na rynek nowych produktów złożonych.



Krzysztof Pietrusewicz, Łukasz Urbański
Na podstawie: controleng.com

Zapraszamy do skomentowania artykułu

Treść opini 
Popis 

Pozostałe artykuły z tej kategorii