Czwartek, 28 czerwca 2012

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.

Czym jest IEC 61131-3?

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.

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
Dowiedz się więcej

Prezentacje firmowe