Programowanie PLC w oparciu o modele MATLAB Simulink

13.09.2019 How to /
Programowanie PLC - Import modeli z MATLAB Simulink do BEDROCK IDE
Wizerunek autora
Były pracownik Elmark Automatyka S.A.

Programowanie PLC poprzez import modeli układów sterowania do BEDROCK IDE z narzędzia Simulink w MATLAB.

Wstęp

W dzisiejszych czasach powstało już wiele rodzajów sterowników PLC, a co za tym idzie, również wiele środowisk programistycznych. Biorąc pod uwagę obecne warunki, wydaje się logicznym, że dobre oprogramowanie powinno cechować się sporą uniwersalnością. Przez uniwersalność należy tu natomiast rozumieć przede wszystkich możliwość wymiany informacji, jak i całych projektów z innymi tego typu środowiskami. Oprogramowanie oferujące możliwość prostego importu rozwiązań powoduje, że cały system staje się bardziej skalowalny oraz otwarty na nowe technologie. Tak też jest w przypadku BEDROCK IDE.

Powstałe jako zgodne ze standardem IEC61131, pozwala ono użytkownikowi na w pełni wolny wybór co do optymalnej metody programowania sterowników PLC. Nie ważne, jakie środowisko zostało wybrane najpierw. Jeśli było ono zgodne z powyższym standardem, program będzie można przenieść do BEDROCK IDE.

Jak wiadomo, niektóre metody projektowanie systemów ICS są łatwiejsze dla niektórych pracowników. Szczególnie wtedy, gdy kadra pracownicza posiada już doświadczenie z jedną metodą projektowania. W takim przypadku ta "otwartość" oprogramowania BEDROCK IDE pozwala zarówno oszczędzić pieniądze, jak i skrócić czas jego wdrażania. Jest to ponadto dobry sposób na zautomatyzowanie tworzenia projektów dla sterowników PLC.

Niniejszy wpis powstał, aby przedstawić przykład takiej automatyzacji projektowania systemu ICS. Niżej zaprezentowano jak może przebiegać programowanie PLC w oparciu o gotowe modele układów, pochodzące z narzędzia Simulink w Matlab.

Czym jest MATLAB?

Dla niewtajemniczonych - MATLAB to bardzo rozbudowane oprogramowanie służące do przeprowadzania złożonych obliczeń oraz symulacji. Jest to rodzaj obszernego kompilatora, posiadającego swój własny język programowania (nazwany również MATLAB) oraz szereg bibliotek funkcyjnych. Funkcje zwarte w tych bibliotekach mają w większości zastosowanie przy projektowaniu systemów i układów w technice.

Dla przykładu, za pomocą tego środowiska można zarówno zbudować w prosty sposób własną sieć neuronową, jak i zaprojektować system sterowania automatycznego.

Właśnie z tych powodów:

  • dostępu do szeregu funkcji pozwalających badać systemy sterowania;
  • obecności narzędzia graficznego służącego temu celowi (Simulink);

często stosuje się je do planowania architektury systemów sterowania.

Jako, że sterownik PLC jest od dłuższego czasu nieodzownym elementem przemysłowych systemów sterowania, możliwość importu części projektów z Simulink'a do BEDROCK IDE jest na pewno przydatną opcją.

Programowanie PLC poprzez import modeli z Simulink

Używane standardy i technologie

Częścią Simulink'a jest moduł nazywany Simulink PLC Coder. Odpowiada on za przekształcanie projektów sporządzanych jako schematy blokowe do ich reprezentacji za pomocą dwóch języków ze standardu IEC61131-3:

  • Structured Text;
  • Ladder Logic Diagram - schemat drabinkowy.

Simulink PLC Coder generuje plik w standardzie PLCOpen XML dla wybranego podsystemu zaprojektowanego układu.

Czym jest PLCOpen? Jest to międzynarodowa organizacja zajmująca się m.in. projektowaniem rozwiązań służących łatwej integracji środowisk programistycznych używanych w przemyśle. W wyniku jej działania powstał otwarty standard PLCOpen - XML stanowiący interfejs wymiany informacji pomiędzy oprogramowaniem przemysłowym od różnych producentów.

Na liście środowisk obsługujących powyższy standard znajdują się m.in.:

  • 3S-Smart Software Solutions CODESYS; w tym zawiera się BEDROCK IDE - środowisko oparte na CODESYS;
  • Rockwell Automation Studio 5000 ;
  • Siemens TIA Portal, i inne.

Import projektów z MATLAB Simulink do wybranego IDE dla PLC

Utworzenie podsystemu w projektowanym układzie w Simulink

Jest to czynność dość podstawowa dla użytkowników Simulink. W projektowanym schemacie blokowym należy wybrać wszystkie obiekty stanowiące odrębny podsystem, których działanie ma zostać przedstawione za pomocą kodu dla PLC.

Jeśli w Simulink istnieją sygnały wejściowe lub wyjściowe względem danego podsystemu, pojawią się one później w BEDROCK IDE jako zmienne typu VAR IN lub VAR OUT. Będą to zmienne wejściowe i wyjściowe dla podprogramu utworzonego na podstawie wyeksportowanego podsystemu z Simulink.

Wygenerowanie kodu dla PLC i jego eksport

Wybierając PPM myszy utworzony podsystem, a następnie przechodząc do opcji PLC Code -> Options, użytkownik otwiera okno konfiguracji eksportu. Tam wybierane jest natomiast:

  • docelowe IDE - środowisko, do którego zaimportowany będzie podsystem;
  • ścieżka dostępu do folderu z IDE;
  • folder wyjściowy dla utworzonego pliku z kodem.

Wybierając opcję "Generate Code.." użytkownik rozpoczyna procedurę eksportu podsystemu do wybranej lokalizacji.

Import pliku XML do BEDROCK IDE

Kroki niezbędne w tym przypadku ograniczają się do wyboru opcji "Import PLCopenXML.." z zakładki "Project" w oknie BEDROCK IDE. Następnie użytkownik wyszukuje pożądany plik XML za pomocą eksploratora Windows. W kolejnym oknie trzeba jedynie wskazać, które z automatycznie wykrytych elementów w pliku XML zostaną zaimportowane do BEDROCK IDE.

Programowanie PLC na podstawie modeli z Simulink - opcja importu kodu
Programowanie PLC na podstawie modeli z Simulink - opcja importu kodu

Programowanie PLC z wykorzystaniem zaimportowanych modeli z Simulink

Kod dla danego podsystemu jest automatycznie generowany w BEDROCK IDE i początkowo widoczny jako odrębny POU (Program Organization Unit) z odrębnym zestawem globalnych zmiennych i stałych.

Następnie użytkownik może włączyć dane POU do dowolnej aplikacji istniejącej w projekcie. Po włączeniu do aplikacji, POU zostaje zinterpretowane jako Function Block i może być używane w innych programach sterownika, zupełnie jak reszta funkcji ręcznie stworzonych przez użytkownika.

Dodatkowe narzędzia

Użytkownik ma możliwość dodatkowego ułatwienia całego procesu. Jest to możliwe dzięki zainstalowaniu w BEDROCK IDE wtyczki - Simulink PLC Coder Import dostępnej w Codesys Store.

Wtyczka Simulink PLC Coder Import
Wtyczka Simulink PLC Coder Import

Służy ona zarówno do monitorowania wybranych plików na dysku komputera (pochodzących z Simulink) w celu wykrycia ich zmian, jak również do automatycznego uaktualniania kodu w BEDROCK IDE. Dzięki temu procedura importu kodu z Simulink nie musi być powtarzana za każdym razem, gdy do projektu wprowadzono pewne modyfikacje.

Uaktualnienia kodu w BEDROCK IDE mogą następować automatycznie lub po zaakceptowaniu przez operatora określonego komunikatu. Co więcej, omawiana wtyczka instaluje się bez dodatkowych opłat.

Podsumowanie i prezentacja

Programowanie PLC z wykorzystaniem modeli pochodzących z narzędzia Simulink dostępnego w programie MATLAB pozwala nie tylko zaoszczędzić czas, ale również koszty związane z ewentualnymi szkoleniami kadry pracowniczej. Otwarte standardy wymiany informacji pomiędzy środowiskami programowanie PLC pozwalają na wygodną rozbudowę aplikacji bez potrzeby znajomości każdego oprogramowania, czy języka kodu.

Poniżej zamieszczono krótki film producenta w celu podsumowania oraz lepszego zobrazowania zamieszczonych tu treści.

https://www.youtube.com/watch?v=FvgO_jZO_OE
Simulink i BEDROCK IDE

Jeśli BEDROCK IDE to dla ciebie nowe środowisko, lub temat programowania sterowników jest dla Ciebie obcy, więcej informacji znajdziesz w innych artykułach na tym blogu.

BEDROCK IDE to całkowicie darmowe oprogramowanie, które dodatkowo nie wymaga żadnych dodatkowych licencji na liczbę zmiennych, itp. Można je pobrać ze strony producenta po wypełnieniu krótkiego formularza.

Jeśli masz jakieś pytania odnośnie tego wpisu, lub jesteś zainteresowany produktami BEDROCK Automation, skontaktuj się z nami pod adresem e-mail: sterowniki@elmark.com.pl .

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!