Czym jest IEC 61131-3?

Zadaniem sterowników programowalnych jest zrealizowanie zapisanego w ich pamięci programu, który stanowi implementację algorytmu sterowania. Jego danymi wejściowymi są informacje o przebiegu procesu rejestrowane przez moduły wejściowe sterownika. Efektem wykonania programu są natomiast sygnały sterujące, które za pośrednictwem układów wyjściowych PLC są przekazywane do elementów wykonawczych. Sterowniki programowalne są od lat powszechnie wykorzystywane w systemach sterowania i automatyki w przemyśle, w których zastąpiły dawniej używane przekaźniki. Popularność PLC jeszcze wzrosła, gdy możliwe stało się ich programowanie z wykorzystaniem aplikacji uruchamianych na komputerach. To podejście jednak nie było pozbawione wad, które udało się wyeliminować dopiero wraz z przyjęciem standardu IEC 61131-3.

Posłuchaj
00:00

Dawniej, aby zaprogramować sterownik, korzystając z oprogramowania dostarczanego zwykle przez producenta tego urządzenia, należało najpierw dobrze poznać parametry techniczne i specyfikę zarówno PLC, jak i samego programu. Między aplikacjami od różnych dostawców często wstępowały bowiem różnice w zakresie przykładowo składni języków programowania.

Ponadto zazwyczaj algorytm sterowania można było zapisać tylko w jednym języku. Z tych powodów za każdym razem, gdy instalowano sterowniki nowego typu lub od innego producenta, ich programowania uczono się od podstaw.

Utrudnione było również tworzenie przenośnego kodu, nawet w przypadku sterowników od jednego dostawcy. Wszystko to negatywnie wpływało na komfort oraz efektywność pracy programistów PLC. Powodowało to też stratę czasu oraz zwiększało koszty projektowania oraz rozwoju systemów sterowania i automatyki. Czasem z tego powodu całkiem rezygnowano z planów zakupu nowych sterowników.

IEC 61131-3

Rys. 1. W normie IEC 61131-3 zdefiniowano cztery języki programowania sterowników oraz ich główne elementy wspólne, w tym typy danych, jednostki organizacyjne oprogramowania, zmienne oraz elementy konfiguracji

Nadzieja na zmianę tej sytuacji pojawiła się w latach 90. ubiegłego wieku. Wówczas organizacja IEC (International Electrotechnical Commision) rozpoczęła prace nad standaryzacją własności funkcjonalnych, eksploatacyjnych oraz procesu programowania sterowników programowalnych. W efekcie powstała specyfikacja zawarta obecnie w standardzie IEC 61131.

Dla środowiska programistów PLC szczególne znaczenie miała część trzecia tego dokumentu, która definiuje języki programowania sterowników. Chociaż przestrzeganie wytycznych tego standardu nie jest obowiązkowe, coraz częściej jest on odniesieniem dla twórców narzędzi programistycznych.

Ułatwia to posługiwanie się nimi programistom, którzy również znają tę specyfikację. Ma również wpływ na cały cykl życia kodu, usprawnia oraz przyspiesza jego projektowanie, wdrożenie, testowanie i modernizację.

Krzysztof Gołąb

Multiprojekt

  • Jaką zmianą było dla branży przyjęcie tytułowego standardu? Jak istotna jest dla klientów - projektantów i integratorów systemów - możliwość korzystania ze standaryzowanych metod programowania PLC?

Różnorodność producentów sterowników na rynku pociągnęła za sobą pojawienie się różnego typu oprogramowania do ich obsługi. Rosło zatem zagrożenie, że następstwem będzie zróżnicowanie sposobów programowania PLC.

W pewnym momencie do każdego urządzenia potrzebny byłby osobny specjalista, a programiści musieliby poświęcać dużo czasu na naukę. W związku z tym wprowadzenie pewnych standardów w pisaniu programów było bardzo pomocne przede wszystkim dla automatyków tworzących aplikacje na sterowniki PLC.

Spowodowało to na pewno dużą oszczędność czasu dla firm, a co za tym idzie również kosztów. Obecnie, nawet jeśli programista ma do czynienia z nowym urządzeniem od innego producenta, to i tak wie, że niezależnie od zastosowanego oprogramowania, język programowania będzie zachowany.

Jako dystrybutor sterowników FATEK często spotykamy się z niepokojem ze strony przyszłych użytkowników, czy przejście z innego sterownika na nasz będzie odbywało się bez większych problemów.

Dzięki jednak standardowi i językowi LD proces ten jest w większości przypadków bezproblemowy - kwestią jest zazwyczaj raczej odszukanie podobnej funkcjonalności w oprogramowaniu, a nie w samym języku programowania.

  • Jakie są korzyści z zastosowania sterowników i urządzeń standaryzowanych w stosunku do wersji własnościowych lub dedykowanych do pewnych aplikacji?

Wady i zalety stosowania standardowego i dedykowanego urządzenia trzeba rozpatrywać na dwa sposoby - od strony użytkownika oraz producenta.

Patrząc od strony producenta - zdobycie klienta i nauczenie go obsługi urządzenia wiąże się ze związaniem klienta z firmą na długie lata. Dotyczy to szczególnie sytuacji, gdy rozwiązanie jakiejś aplikacji jest unikalne.

Zapewne gdyby nie rynek i wymagania klientów, byłby to preferowany rodzaj współpracy dla producentów. Z kolei patrząc ze strony klientów - zastosowanie standardowych, uniwersalnych, czy tzw. otwartych rozwiązań powoduje, że w momencie awarii czy w najgorszym wypadku upadłości aktualnego dostawcy, klient zawsze może w miarę szybko zastąpić dotychczasowe rozwiązanie nowym.

Stosowanie urządzeń standaryzowanych wymusza też konkurencyjność pod względem cenowym na rynku. Klient nie jest zmuszony do korzystania z jednego rozwiązania - może w każdej chwili, np. z powodu ceny, zmienić dostawcę urządzeń.

Będzie to skutkowało nauką nowego oprogramowania czy zapoznaniem się z nowym urządzeniem od strony sprzętowej, ale nie będzie musiało się to wiązać z długimi szkoleniami programistów jakiegoś nowego języka programowania.

  • Niektórzy producenci PLC wprowadzają własne standardy programowania, komunikacyjne i inne - czy sądzić można, że na rynku przeważy jednak trend standaryzacji ogólnobranżowej, takiej jak zapewniana przez IEC?

W naszym odczuciu przeważy trend standaryzacji. Już w tym momencie klienci bardzo niechętnie patrzą na produkty, które mają tzw. zamknięte protokoły komunikacyjne, czyli komunikację unikalną tylko dla jednego dostawcy.

Zdają się to zauważać producenci, którzy coraz częściej tworzą grupy zrzeszające różnych wytwórców, nieraz konkurencyjnych, pracujących nad wspólnym standardem dla swoich klientów. Przykładem mogą być tutaj te związane z Ethernet Powerlink czy EtherCAT - każda z organizacji zajmujących się tymi standardami zrzesza po kilkaset różnych firm.

JEDNOSTKI ORGANIZACYJNE I TYPY DANYCH W IEC 61131-3

Rys. 2. IEC 61131-3 wprowadza model oprogramowania oparty na pojęciach konfiguracji, zasobów oraz zadań

W standardzie IEC 61131-3 scharakteryzowano najważniejsze elementy języków programowania sterowników (rys. 1). Zamieszczono w nim m.in. definicje podstawowych pojęć, ogólne zasady tworzenia kodu oraz zdefiniowano tzw. jednostki organizacyjne oprogramowania. Te ostatnie to funkcje, bloki funkcyjne oraz programy.

Są to podstawowe komponenty aplikacji użytkownika, które można też przenosić między różnymi projektami. Funkcje oraz bloki funkcyjne mogą być tworzone przez programistę (listing 1), ma on również do dyspozycji standardowe rozwiązania.

Przykładem są funkcje konwersji typów, liczbowe (m.in. trygonometryczne, logarytmiczne, dodawania, mnożenia), wyboru (na przykład wartości maksymalnej lub minimalnej) i porównywania oraz operacje na bitach, ciągach znaków oraz typach danych czasowych i datach.

Przykładem standardowych bloków funkcyjnych są natomiast elementy dwustanowe (przerzutniki), detekcji zbocza, liczniki oraz timery. W specyfikacji tej określono również typy danych, na których operuje program. Zdefiniowane zostały słowa kluczowe, które identyfikują poszczególne typy danych, zakresy wartości, jakie mogą one przyjmować oraz ilość pamięci wymaganą do ich przechowywania.

Elementarne typy danych to: typ boolowski, liczby całkowite, rzeczywiste, dane czasowe i daty (przykładowo DATE, TIME_OF_DAY, czyli czas dnia, DATE_ AND_TIME, czyli data i czas dnia), ciągi znaków, bajt oraz słowo. Z wykorzystaniem podstawowych typów danych programista może też definiować własne, tzw. pochodne typy danych. Na przykład w ten sposób można stworzyć typ danych obejmujący stany wejść analogowych sterownika.

KONFIGURACJA, ZMIENNE I SFC

W IEC 61131-3 wprowadzono też pojęcie konfiguracji. Termin ten można wyjaśnić w oparciu o model oprogramowania przedstawiony na rysunku 2. Przyjmuje się w nim, że program niezbędny do realizacji danego zadania sterowania jest specyficznym dla konkretnego systemu sterowania połączeniem wielu komponentów sprzętowych (m.in. jednostek przetwarzania oraz pamięci).

W obrębie w ten sposób rozumianej konfiguracji można wyróżnić zasoby, które realizują konkretne zadania. Te ostatnie odpowiadają za wykonanie programów oraz bloków funkcyjnych. W obrębie zasobu można zdefiniować kilka zadań, które są wykonywane okresowo lub w momencie wystąpienia sygnału wyzwalającego, na przykład zmiany wartości danej zmiennej.

Programy składają się z kolei z funkcji oraz bloków funkcyjnych napisanych w jednym z języków programowania znormalizowanych w IEC 61131-3. W normie określono też kilka typów zmiennych, które różnią się zasięgiem. Na przykład zmienne lokalne są dostępne tylko w obrębie jednostki organizacyjnej, w której zostały zadeklarowane.

Zmienne globalne z kolei służą do wymiany danych między różnymi jednostkami. Unika się w ten sposób błędów spowodowanych powtarzającymi się nazwami zmiennych. IEC 61131-3 obejmuje też przedstawienie sposobu tworzenia tzw. sekwencyjnych schematów funkcyjnych (Sequential Function Chart, SFC).

Rys. 3a. Sekwencyjny schemat funkcyjny służy do graficznego przedstawiania algorytmów sterowania

Rys. 3b. Przykład programu w języku SFC napisanego w oprogramowaniu Control FPWinPro

Służą one do graficznego przedstawiania algorytmu sterowania za pomocą oddzielnych kroków oraz przejść między nimi (rys. 3 a, b). Z tymi ostatnimi powiązane są warunki - jeżeli dany jest spełniony, następuje przełączenie z kroku bieżącego na następny. Każdy krok z kolei składa się z zestawu instrukcji zwanych akcjami. Kroki, warunki oraz akcje są implementowane w wybranym języku programowania.

Przykład deklaracji bloku funkcyjnego

Język listy instrukcji jest językiem niskiego poziomu i ma składnię podobną do języków typu asembler. Program w tym przypadku składa się z sekwencji rozkazów, z których każdy kolejny zaczyna się w nowej linii. Każda instrukcja składa się z operatora, który określa działanie do wykonania oraz operandu, czyli stałej lub zmiennej.

Przykładami operatorów są: LD, który ładuje operand, JMP, który wykonuje skok do etykiety o nazwie określonej operandem, CAL, który wywołuje blok funkcyjny o nazwie takiej jak operand tej instrukcji oraz RET realizujący powrót z wywołanego wcześniej bloku lub funkcji. Dostępne są też operatory arytmetyczne (ADD, SUB, MUL, DIV), porównania (GT, GE, EQ, NE, LE, LT) oraz logiczne (AND, OR, XOR, NOT).

Z kolei ST, drugi język typu tekstowego, jest językiem wysokiego poziomu. Jego składnia jest podobna do składni na przykład języków C lub Pascal. Jej podstawowymi elementami są wyrażenia oraz instrukcje, m.in. przypisania (:=), wyboru (IF, CASE), pętle (FOR - gdy liczba powtórzeń jest znana, WHILE oraz REPEAT - gdy liczba iteracji jest nieokreślona) oraz wywołania bloku funkcyjnego (listing 2). W wypadku języka tekstu strukturalnego w jednej linii można zamieścić kilka instrukcji, a każda z nich powinna być zakończona średnikiem.

GRAFICZNE JĘZYKI PROGRAMOWANIA

Rys. 4. W IEC 6113-3 zdefiniowano cztery języki programowania PLC, dwa tekstowe i dwa graficzne

W językach zaliczanych do tej grupy algorytm sterowania implementowany jest z wykorzystaniem standardowych symboli graficznych. W drabinkowym, który jest jednym z najczęściej używanych i prawdopodobnie najlepiej znanych języków programowania sterowników programowalnych, symbole te umieszcza się w obwodach przypominających szczeble w schematach układów przekaźnikowych.

Są one z dwóch stron ograniczane przez szyny prądowe, a ich podstawowymi elementami są styki oraz cewki. Te pierwsze elementy przekazują do połączenia po prawej stronie styku stan z jego lewej strony, jednocześnie nie modyfikując wartości przypisanej im zmiennej. Zestandaryzowane typy styków to: normalnie otwarte, normalnie zamknięte oraz reagujące na zbocze narastające i opadające.

Cewki przekazują natomiast stan połączenia z lewej strony na prawą, równocześnie powodując zmianę wartości przypisanej im zmiennej. Dostępne są następujące znormalizowane typy cewek: normalne, negujące, ustawiające, kasujące oraz reagujące na zbocze narastające i opadające. Oprócz tego specyfikacja języka LD dopuszcza też stosowanie funkcji oraz bloków funkcyjnych (rys. 5).

Obwód może mieć przypisaną etykietę. Poszczególne instrukcje są wykonywane z lewej strony do prawej, a kolejne obwody przetwarzane są jeden po drugim. Można też wykonać skok do obwodu o określonej etykiecie. Język schematów bloków funkcyjnych jest bardzo podobny do języka LD, z tą różnicą że nie są w nim wykorzystywane styki oraz cewki (rys. 6).

W zamian używane są symbole obrazujące funkcje lub bloki funkcyjne, które połączone tworzą obwód. Kolejność przetwarzania obwodów można zmienić podobnie jak w języku drabinkowym, wykonując przejście do obwodu o określonej etykiecie.

Niektóre z cech pakietu PS501 Control Builder, środowiska programistycznego dla sterowników z rodziny AC500 firmy ABB:

  • możliwość programowania w pięciu językach standardowych: IL, ST, LD, FBD, SFC oraz w szóstym, dodatkowym języku CFC (Countinous Function Chart),
  • kilka opcji testowania oraz uruchamiania kodu: pojedynczy krok, pojedynczy cykl, zatrzymanie we wskazanym miejscu, również symulacja offl ine,
  • zarządzanie recepturami oraz listami zmiennych (możliwe jest tworzenie list wielu zmiennych w celu jednoczesnej obserwacji, nadpisywania bądź odczytywania z PLC),
  • dostępne wykresy wartości zmiennych w czasie,
  • zintegrowana wizualizacja (m.in. wyświetlanie zmiennych procesowych, wprowadzanie wartości zadanych, zarządzanie alarmami oraz zdarzeniami),
  • zintegrowany konfigurator interfejsów komunikacyjnych: Profibus DP, CANopen, DeviceNet, Ethernet, Modus RTU, CS31,
  • podłączenie do sterownika przez RS232/RS485 lub Ethernet/ARCNET,
  • możliwa modyfikacja programu online (bez zatrzymywania sterownika)
  • dostęp do usługi umożliwiającej podłączenie do zewnętrznej bazy danych zawierającej jeden lub więcej projektów - w ten sposób realizowany jest dostęp wielu użytkowników oraz programów do wspólnych informacji, łatwe zarządzanie wersjami oraz bezpieczna praca jednoczesna.

WYBÓR JĘZYKA PROGRAMOWANIA

Rys. 5. Fragment programu w języku LD, w którym wykorzystano funkcję oraz blok funkcyjny

W pewnych zastosowaniach niektóre języki programowania zdefiniowane w normie IEC 61131-3 sprawdzają się lepiej niż inne. Przykładowo język listy instrukcji charakteryzuje prostota, a dzięki temu łatwo i szybko można się go nauczyć oraz tworzyć w nim kod.

Ponadto program napisany w IL w porównaniu do pozostałych zajmuje mniej miejsca w pamięci sterownika, wykonuje się też szybciej niż kod zapisany w formacie graficznym. W przeciwieństwie do języków graficznych analiza programów napisanych w języku instrukcji jest jednak trudniejsza - łatwo można też przeoczyć ewentualne błędy.

Ponadto implementacja skomplikowanych algorytmów w tym języku jest dość żmudna i trudna. Z kolei język tekstu strukturalnego sprawdza się zwłaszcza w implementacji złożonych algorytmów, obliczeń matematycznych, operacji na łańcuchach oraz na tablicach. Kody programów napisanych w ST są w porównaniu do tych w języku instrukcji bardziej czytelne oraz przejrzyste. Są one jednak niestety również zwykle dłuższe niż w wypadku IL.

LD VS. FBD

Język drabinkowy swoją popularność zawdzięcza przejrzystości zapisu, dzięki której kod w przypadku niezbyt długich programów można szybko zrozumieć, nawet bez specjalistycznego przygotowania. Wynika to głównie z podobieństwa składni tego języka do schematów obwodów elektrycznych.

Niestety implementacja złożonych funkcji, przykładowo matematycznych, sterowania lub przetwarzania danych jest dosyć trudna. Podobnie napisanie, a później interpretacja długich oraz skomplikowanych programów w tym wypadku jest kłopotliwa. Z tych powodów zakres możliwości wykorzystania LD jest ograniczony do realizacji prostych algorytmów sterowania niezbyt złożonymi procesami.

Problem z czytelnością kodu w wypadku długich kodów sterujących skomplikowanymi zadaniami dotyczy również języka schematów bloków funkcyjnych. Ogólnie jednak struktura aplikacji napisanej w języku FBD jest łatwiejsza w interpretacji niż w przypadku języka LD.

Jeżeli programista ma problem z wyborem konkretnego języka programowania w danej aplikacji, może także używać różnych języków jednocześnie.Opisywana norma dopuszcza taką sytuację. Przykładowo pisząc kod w jednym z języków, część z wykorzystywanych w nim funkcji można zaimplementować w innym.

Wybrane cechy programu logi.CAD firmy logi.cals:

  • programowanie w językach L D, FBD, SFC, ST,
  • możliwość dokonywania modyfikacji aplikacji w trybie monitorowania,
  • symulacja programu w środowisku graficznym niezależnie od docelowej platformy,
  • możliwość śledzenia zmian w komentarzach do projektu,
  • zarządzanie wersjami oraz poprawkami projektu,
  • zarządzanie listami sygnałów oraz zmiennych globalnych,
  • rozbudowane funkcje diagnostyczne oraz śledzące (debugger, praca krokowa, analiza trendów, wymuszanie wartości zmiennych),
  • zarządzanie dokumentacją projektu z pełną dowolnością w zakresie jej projektowania,
  • generator kodu A SCI C z konfigurowalnym jądrem,
  • możliwość łączenia z systemami innych producentów,
  • wsparcie dla pracy grupowej.

OPROGRAMOWANIE

Rys. 6. Fragment programu w języku FBD

Narzędzia do programowania sterowników według wytycznych normy IEC 61131-3 powinny spełniać kilka warunków. Przede wszystkim zapewnić muszą wsparcie dla tworzenia kodu we wszystkich językach zdefiniowanych w tym standardzie, w tym w kilku jednocześnie. Zmienne globalne oraz lokalne powinny być rozróżniane oraz automatycznie kojarzone z odpowiednimi adresami sprzętowymi.

Program musi też rozpoznawać oraz pozwalać na używanie tylko znormalizowanych typów danych. Użytkownik powinien mieć także możliwość korzystania ze zestandaryzowanych jednostek organizacyjnych, na przykład w celu przekształcenia często używanych podprogramów w bloki funkcyjne, których później może używać wielokrotnie.

Program powinien również dopuszczać oraz ułatwiać korzystanie z komponentów programów udostępnianych w bibliotekach standardowych. Oprócz tego ważne są wszelkie dodatkowe funkcje usprawniające proces tworzenia kodu. Przykładem jest sprawdzenie poprawności oraz testowanie programu w trybie offline, czyli z użyciem wbudowanego symulatora, bez konieczności korzystania z docelowego sterownika.

FUNKCJE DODATKOWE

Jeżeli w trakcie kompilacji kodu wykryte zostaną błędy, powinny one zostać odpowiednio oznaczone. Istotnym wsparciem dla programistów jest też wyświetlanie wskazówek na temat rodzaju błędu oraz tego, jak go poprawić. Podpowiedzi są również przydatne w czasie tworzenia oraz edycji kodu, dlatego w niektórych aplikacjach dostępne są na przykład mechanizmy upraszczające wprowadzanie kodu.

Stosowane rozwiązania to m.in. listy rozwijane, wyświetlanie podpowiedzi oraz filtrowanie dostępnych instrukcji na podstawie kilku znaków początkowych słowa podanego przez użytkownika. Ważnym etapem procesu programowania PLC jest przesłanie skompilowanego programu do sterownika.

Wymagane są zatem odpowiednie narzędzia do konfiguracji oraz nawiązania łączności z urządzeniem docelowym za pośrednictwem różnych standardowych interfejsów komunikacyjnych. Powinna być również dostępna opcja uruchomienia programu już po zapisaniu go w pamięci sterownika oraz jego modyfikacji w trybie pracy online.

Komfort pracy programistów poprawiają też takie opcje, jak możliwość dodawania do kodu komentarzy, wsparcie przy opracowywaniu dokumentacji i zarządzaniu projektami oraz ich różnymi wersjami, usprawnienie konfiguracji ustawień sprzętowych sterowników oraz ogólnie intuicyjność obsługi.

Rys. 7. Przykład realizacji tego samego algorytmu sterowania w językach: schematów drabinkowych (a), schematów bloków funkcyjnych (b) oraz tekstu strukturalnego (c)

Przykładami aplikacji do programowania sterowników zgodnych ze standardem IEC 61131-3 są: SX-Programmer Expert oraz SX-Programmer Standard z oferty firmy VIX Automation, WinCC firmy Siemens, logi. CAD firmy logi.cals dystrybuowany przez Encon, pakiet Control Builder firmy ABB, zenonLogic oferowany przez CopaData oraz Control FPWinPro firmy Panasonic.

Wybrane cechy programu SX-Programmer Expert do programowania sterowników Fuji Electric:


  • możliwość tworzenia kodu w pięciu językach programowania: IL, ST, LD, FBD, SFC,
  • programowanie strukturalne dzięki zastosowaniu jednostek organizacyjnych programu,
  • tworzenie bloków funkcyjnych do ponownego wykorzystania,
  • możliwość korzystania ze zmiennych (adresy są przypisywane automatycznie),
  • różne tryby prezentowania danych w przypadku programowania w języku drabinkowym, w tym: standardowy tryb wyświetlania (tylko zmienna), rozszerzony tryb wyświetlania (zmienna + adres zmiennej), tryb pełnego wyświetlania (zmienna + adres zmiennej + komentarz),
  • możliwość komentowania kodu,
  • wbudowany symulator (można wymuszać zmiany wejść/ wyjść oraz monitorować dowolne sygnały),
  • kontrola poprawności składni w czasie kompilacji kodu, wyświetlanie informacji o błędach,
  • funkcja rysowania próbek, która zapisuje zmiany wartości wybranych zmiennych podczas pracy sterownika PLC,
  • wsparcie przy tworzeniu dokumentacji projektu,
  • jednoczesny dostęp do projektu źródłowego wielu użytkowników z zapewnionym mechanizmem kontroli dostępu.

PODSUMOWANIE

Wymienić można kilka zalet stosowania się w procesie programowania PLC do wytycznych normy IEC 61131-3. Jest to m.in. możliwość uzyskania przejrzystej struktury programu dzięki wprowadzeniu ujednoliconych jednostek organizacyjnych. Dzięki zmianom w zakresie deklaracji zmiennych uzyskuje się z kolei odciążenie programisty w kwestii adresowania zmiennych oraz kontroli ich nazw.

Ponadto ponieważ standard dopuszcza definiowanie własnych typów danych, a programista ma do wyboru jeden z czterech znormalizowanych języków programowania, tworzony kod może być lepiej dostosowany do wymagań danego zadania sterowania.

Bardzo ważna zaletą jest też możliwość tworzenia kodu przenośnego w postaci bibliotek funkcji oraz bloków funkcyjnych, których następnie można używać w różnych projektach. Ułatwia to tworzenie oprogramowania dla różnych platform sprzętowych.

Przykładem jest biblioteka Motion Control Library opracowana przez organizację PLCopen. Zebrano w niej bloki funkcyjne wykorzystywane w realizacji różnych zadań w zakresie sterowania ruchem.

Monika Jaworowska

Więcej informacji o normie IEC 61131-3 można znaleźć na stronie organizacji PLCopen.
Zajmuje się ona m.in. sprawdzaniem zgodności aplikacji do programowania PLC z tym standardem.
www.plcopen.org

Powiązane treści
Sterownik Lenze 3200 C - sterowanie i wizualizacja w kompaktowej jednostce
SPH2000 firmy Fuji Electric łączy możliwość sterowania sekwencyjnego z przetwarzaniem danych
Zobacz więcej w kategorii: Temat miesiąca
Przemysł 4.0
Sztuczna inteligencja i cyfrowy przemysł
Artykuły
Wod-kan, uzdatnianie wody i oczyszczanie ścieków
Roboty
Produkcja spożywcza, farmaceutyczna i medyczna - nowe technologie i wysoka czystość
Komunikacja
Szkolenia w przemyśle
Silniki i napędy
Kompendium serwonapędów i Motion Control
Artykuły
Oil&gas i sektor chemiczny - automatyka i pomiary w branżach procesowych
Zobacz więcej z tagiem: Artykuły
Temat miesiąca
Wod-kan, uzdatnianie wody i oczyszczanie ścieków
Technika
Ochrona przed korozją
Magazyn
Maj 2025

Poradnik doboru rozwiązań drukujących - drukarki mobilne, stacjonarne i przemysłowe

Jak dobrać drukarkę do zastosowań w logistyce, przemyśle czy handlu? Na co zwrócić uwagę, jeżeli chodzi o cechy i funkcje urządzenia? Jak zapewnić wysoką niezawodność pracy oraz trwałość systemu drukującego? A co z oprogramowaniem? W artykule odpowiadamy na powyższe pytania, przedstawiając przykłady nowoczesnych urządzeń drukujących, które z powodzeniem sprawdzają się w wymienionych zastosowaniach.
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów