PC czy PLC – porównanie opcji w sterowaniu

Wybór pomiędzy sterownikiem PLC a komputerem przemysłowym (PC) jest jednym z najczęściej współcześnie podnoszonych podczas modernizacji istniejących oraz implementacji nowych instalacji sterowania w przemyśle. Obie te technologie charakteryzują odrębne cechy użytkowe: sposób działania/obsługi, odporność na warunki przemysłowe, łatwość prowadzenia prac serwisowych, poziom integracji sprzętu i oprogramowania, bezpieczeństwo funkcjonalne, obsługa funkcji bezpiecznych w sterowaniu, sposób programowania, wreszcie koszt wdrożenia czy późniejszego użytkowania.
Jedną z kluczowych decyzji podejmowanych zwykle w początkowej fazie projektowania każdej maszyny jest wybór rodzaju systemu sterowania. Współcześnie rynek automatyki niewątpliwie zdominowany jest przez sterowniki programowalne (PLC). Pojawiły się one w drugiej połowie lat siedemdziesiątych, a tym samym zdążyły zdobyć uznanie wśród inżynierów, potwierdzając wielokrotnie swoją wysoką pozycję w zakresie implementacji systemów sterowania. Przez wiele lat to właśnie sterowniki PLC stanowiły podstawę nowych technologii w sterowaniu maszyn. W tym okresie, niezależnie od tego, czy chodziło o proste sterowanie w przemyśle motoryzacyjnym po rozproszone systemy wielkiej skali w sterowaniu całymi fabrykami, to właśnie sterowniki programowalne były zawsze na pierwszym miejscu. Od wczesnych lat dziewięćdziesiątych komputery osobiste klasy PC były z powodzeniem wdrażane w systemach sterowania. Działo się tak głównie z uwagi na rosnące moce obliczeniowe procesorów oraz gwałtownie malejące ceny komponentów sprzętowych.
Liczba aplikacji systemów sterowania z użyciem technologii komputerów PC ciągle rośnie. Tym samym niegdyś wyraźna linia podziału pomiędzy dwoma rozwiązaniami zaciera się. Dzięki komputerom osobistym klasy PC czasy wdrożenia aplikacji uległy znacznemu skróceniu. Jeszcze dziesięć lat temu wybór opcji platformy sprzętowej systemu sterowania był prosty – współcześnie nie jest już tak oczywisty, wymagając każdorazowo indywidualnego podejścia.
Sterowniki programowalne pierwotnie stanowiły wygodniejszą, elastyczniejszą, dużo bardziej niezawodną alternatywę dla szaf sterujących ze stycznikami i przekaźnikami (układami przełączającymi). Sterowniki używane były do realizacji wybranych zadań sterowania, zaś język ich programowania (głównie język schematów drabinkowych), jego struktura, był opracowany tak, by modelować sieć układów przełączających, której miały być zamiennikiem. Dodatkowo główną zaletą sterowników programowalnych jest ich odporność na trudne warunki środowiskowe, promieniowanie elektromagnetyczne (EMI), pył, kurz czy drgania.
W miarę jak mijały lata, zwykłe sterowniki PLC ewoluowały w kierunku rozwiązań daleko bardziej elastycznych pod względem funkcjonalnym. Dzisiejsze sterowniki programowalne mają możliwości:

  • implementacji funkcji sterowania napędami elektrycznymi,
  • realizacji funkcji cyfrowych regulatorów procesów ciągłych (w tym PID),
  • integracji obsługi bezpieczeństwa funkcjonalnego,
  • komunikacji z użyciem wielu protokołów, w tym również deterministycznych,
  • integracji technologii informatycznych, takich jak usługi serwerów stron WWW, serwerów plików FTP czy standaryzacji opisanej w ramach specyfikacji serwerów OPC.

Komputery osobiste klasy PC zawsze służyły do budowy wyższych warstw w hierarchii systemów sterowania maszyn. Używano ich do realizacji złożonych obliczeń, monitorowania, pomiarów, budowy infrastruktury komunikacyjnej czy wreszcie jako interfejsów operatora sterowników PLC.
Komputery montowane były z reguły w miejscach mniej wymagających zabezpieczeń przed wpływem warunków środowiskowych. Nie mogły bowiem pracować w tak trudnych warunkach jako sterowniki programowalne.
Z czasem komputery osobiste zyskały funkcjonalność implementacji funkcji sterujących w czasie rzeczywistym, ciągle mając wysoki poziom elastyczności. Komputery PC z czasem stawały się coraz bardziej odpornymi systemami sterowania, stanowiąc alternatywę dla PLC, nawet w trudnych warunkach środowiskowych. Integracja funkcji PLC w technologii komputerów osobistych objawiała się również w architekturze sprzętowo-programowej. Na rynku pojawiły się karty realizujące funkcje PLC (ze złączem PCI), sterowniki urządzeń zewnętrznych, którymi komputery mogły już sterować, jak również interesujące rozwiązaniaprogramowe, nadające komputerom funkcjonalność sterowników PLC. Najistotniejszą pod tym względem modyfikacją było wprowadzenie jądra systemu operacyjnego czasu rzeczywistego. Było to konieczne z uwagi na umożliwienie implementacji algorytmów regulacji automatycznej, w których konieczne jest zachowanie stałego czasu próbkowania (zachowanie determinizmu realizacji obliczeń w ramach algorytmu).
Z drugiej strony na rynku pojawiły się sterowniki PLC z wbudowanymi funkcjami charakterystycznymi dla komputerów osobistych, systemowo obsługujące mysz, czy też klawiaturę komputerową.
Zatem czym współcześnie należy się kierować, podejmując decyzję o wyborze rodzaju systemu sterowania – opartego na sterownikach PLC czy na technologii komputerowej?
Z pewnością pomocne będą tutaj analiza, a następnie porównanie kilku kluczowych z punktu widzenia projektowanej aplikacji czynników:

  • sposobu wykonywania opracowanego programu sterującego,
  • poziomu odporności sprzętu na trudne warunki środowiskowe,
  • zakresu integracji komponentów sprzętowych,
  • poziomu funkcji integracji związanych,
  • sposobu programowania zadań sterownika,
  • kosztu realizacji całej inwestycji.

Sposób wykonywania zadań sterowania
Sposób działania systemu sterowania jest bardzo ważny. Również to, jak wykonywane są poszczególne zadania sterowania. Standardowe sterowniki PLC mają wbudowane (okrojone z wielu zbędnych funkcji) systemy operacyjne czasu rzeczywistego oraz dedykowane procesory, dzięki czemu zapewniony jest wysoki poziom niezawodności projektowanego systemu sterowania. Sterowniki PLC wykonują jedynie zadania sterowania, zatem ich funkcjonalność nie wymaga uruchamiania pod systemem operacyjnym takich narzędzi, jak np. oprogramowanie antywirusowe czy aktualizacje komponentów programowych systemu (znane z systemów operacyjnych ogólnego użytku).
Komputery osobiste z uruchomionym jądrem czasu rzeczywistego lub wprost z systemem operacyjnym czasu rzeczywistego mogą zapewnić ten sam poziom niezawodności co sterowniki PLC. Doświadczenia użytkowników domowych z komputerami osobistymi wywoływały obawy przed ich zawieszaniem się i przerywaniem działania (historyczne już pojęcie tzw. błękitnego ekranu). Należy mieć na uwadze, że zawieszenie działania (w przypadku sterowników PLC objawiające się wejściem w stan „serwisowy”) może nastąpić pod każdym systemem operacyjnym, również w sterownikach programowalnych, jeżeli konfiguracja priorytetów i czasów realizacji zadań sterowania nie zostanie ustalona prawidłowo. W przemyśle oprogramowanie uruchamiane na komputerach PC dedykowane jest do zastosowania w sterowaniu procesami produkcyjnymi i tym samym niebezpieczeństwo „zacięcia” jest minimalizowane. Nawet jeżeli takowe nastąpi, wtedy jądro czasu rzeczywistego i tak jest zabezpieczone, funkcjonując prawidłowo bez przerwy.
Wykonywanie zadań sterowania w czasie rzeczywistym oznacza, że zagwarantowana jest ich realizacja, co określony czas, zwany czasem próbkowania. Zadania takie jak synchroniczna praca wielu osi napędowych czy zaawansowane algorytmy regulacji automatycznej (lecz również proste regulatory PID) wymagają wysokiego stopnia determinizmu działania. Z kolei zadania polegające na monitorowaniu błędów lub nadzorowaniu działania regulatorów nie są czasowo krytyczne.
Odporność na wpływ warunków środowiskowych
Przez odporność sterownika rozumiemy możliwość jego działania w trudnych i często zmiennych warunkach środowiskowych. Typowe sterowniki PLC nie mają żadnych ruchomych części, stąd ich duża trwałość w warunkach przemysłowych. Z drugiej strony standardowe komputery osobiste mają wiele ruchomych części, jak wentylatory czy dyski twarde. Trudno jest zatem oczekiwać dużej ich trwałości, szczególnie tam, gdzie może być spotykany wysoki poziom drgań mechanicznych. Komputery przemysłowe mają dyski twarde wykonane w technologii SSD (Solid State Driver), chłodzenie bezwentylatorowe (np. poprzez zastosowanie radiatorów), zaś dodatkowo montowane mogą być w specjalnych obudowach.
Wszystko to sprawia, że komputer osobisty zyskuje na odporności, zbliżając się pod względem odporności do sterowników PLC. Osiągnięcie tego samego poziomu odporności na wpływ środowiska przemysłowego w przypadku technologii komputerowej niestety zwiększa koszt całego systemu sterowania.
Kwestie serwisowe
Z punktu widzenia użytkownika bardzo ważne jest, aby koszt serwisowania systemu sterowania był jak najniższy podczas całego „cyklu życia”. Serwis powinien być również jak najprostszy oraz zajmować mało czasu. W przypadku sterowników PLC wymiana zarówno urządzeń zewnętrznych, jak i samych sterowników odbywa się w prosty sposób, minimalizując w ten sposób czas przestoju maszyny czy fragmentu linii produkcyjnej. W komputerach coraz częściej znajduje zastosowanie technologia hot-swap, pozwalająca na wymianę komponentów systemu sterowania bez konieczności wyłączania zasilania. Ograniczeniem może być tutaj stosowanie tej technologii w urządzeniach zewnętrznych, zwykle dołączanych do komputera za pośrednictwem interfejsu USB. Jeżeli architektura sprzętowa komputera przemysłowego jest modułowa (częste rozwiązanie), wtedy czas wymiany komponentów podobny jest do tego ze sterowników PLC.
Kwestią uzupełniającą jest minimalizacja nakładu pracy na prowadzenie prac serwisowych oraz posiadanie odpowiedniej ilości części zamiennych na miejscu działania maszyny lub linii produkcyjnej. Istotnym aspektem jest również długi horyzont czasowy dostępności części zamiennych.
W niektórych branżach przemysłu konieczne jest stosowanie w serwisowaniu urządzeń podejścia typu „copy-exact” (nie ma możliwości wymiany komponentu na inny o podobnej funkcjonalności – model zamienny musi być identyczny). W przypadku sterowników PLC jest to prostsze w realizacji, ponieważ ani sprzęt, ani firmware (oprogramowanie systemowe) nie ulegają zbyt częstym zmianom. Znalezienie identycznej części zamiennej w przypadku komputerów (po roku lub dwóch od zakupu) może być trudne.
Integracja komponentów sprzętowych
Współcześnie inżynierowie zwracają uwagę na zakres wyboru opcji w ramach rodzajów komponentów sprzętowych systemów sterowania: pamięci, urządzeń peryferyjnych, również interfejsu użytkownika (operatora). Zarówno sterowniki PLC, jak i komputery (w tym przemysłowe) mogą sterować wieloma urządzeniami za pośrednictwem przemysłowych sieci komunikacyjnych. Do najbardziej rozpowszechnionych protokołów zaliczamy: SERCOS, Profibus, DeviceNet oraz CANbus, jak również ich internetowe odpowiedniki: SERCOS III, Profinet, Ethernet/IP, EtherCAT, Ethernet Powerlink. Chociaż zarówno sterowniki PLC, jak i komputery oferują wiele możliwości w zakresie interfejsów komunikacyjnych, to jednak sterowniki w większości przypadków mają co najmniej jeden interfejs wbudowany, podczas gdy komputery (również przemysłowe) wymagają użycia dodatkowych kart oraz sterowników programowych do obsługi sieci. Komputery, poza interfejsami komunikacyjnymi, mają inne możliwości dołączania urządzeń zewnętrznych, jak interfejs USB, szeregowy, równoległy, FireWire, czy też bezprzewodowe połączenia TCP/IP. Dzięki temu użytkownicy mogą realizować zadania, zwykle niedostępne dla typowych sterowników PLC. Przykładem może być zaawansowane przetwarzanie obrazów wysokiej rozdzielczości, analiza, porównanie z obrazami wzorcowymi, wreszcie archiwizacjawyników obliczeń. Komputery nadają się do tego celu znakomicie, głównie z uwagi na wymóg dużej ilości pamięci oraz mocy obliczeniowej procesora. Sterowniki PLC są w tym zakresie znacznie bardziej ograniczone.
Interfejs operatora jest nieodłącznym elementem większości aplikacji systemów sterowania. Komputery mają interfejs już z samej zasady swojego działania. Interfejsy operatora dla sterowników PLC mogą się składać z: przełączników, paneli operatorskich, elementów sygnalizacyjnych, jak diody, żarówki, sygnalizacja dźwiękowa lub nawet komputerów panelowych. Widać z tego, że choć sterowniki PLC mogą w prostysposób komunikować się z innymi urządzeniami w sieciach przemysłowych, to ciągle potrzebują komputerów osobistych do realizacji zadań wymagających dużej ilości pamięci, wysokich mocy obliczeniowych oraz komunikacji z typowymi urządzeniami peryferyjnymi.
Bezpieczeństwo aplikacji
Do niedawna pomijana, współcześnie coraz częściej podnoszona jest kwestia bezpieczeństwa systemu plików, a tym samym aplikacji oraz danych procesowych, przechowywanych w systemie sterowania. W ramach zagadnienia bezpieczeństwa aplikacji sterowania wyróżniamy:
zabezpieczenia przed nieautoryzowanym (a tym samym potencjalnie niebezpiecznym) dostępem z zewnątrz aplikacji (m.in. ataki wirusów),
ograniczenie praw dostępu do funkcji aplikacji sterowania dla różnego rodzaju użytkowników (ograniczenie możliwości zapisu, odczytu, widoczności plików w systemie).
Tradycyjnie (choć współcześnie tak naprawdę zależnie od danego producenta) sterowniki PLC były w mniejszym stopniu narażone na nieautoryzowany dostęp z zewnątrz. Z uwagi na stosowanie dedykowanych rozwiązań systemów operacyjnych znanych jest zaledwie kilka przypadków ataków wirusów na systemy sterowania oparte na sterownikach PLC. Niestety wcale nie oznacza to, że sterowniki programowalne są odporne na wirusy. Brakuje oprogramowania antywirusowego dla sterowników PLC, które by je chroniło. Komputery osobiste, choć bardziej „otwarte” na ataki wirusów, dzięki standaryzacji w zakresie systemów operacyjnych poza oprogramowaniem antywirusowym pozwalają w elastyczny sposób kształtować zarówno zakres, jak i sposób zabezpieczeń.
Sterowniki programowalne PLC i komputery osobiste – choć w różny sposób – pozwalają na ustalanie poziomów dostępu do plików systemowych oraz danych procesowych.
Bezpieczeństwo funkcjonalne systemów automatyki oraz kwestie programowania
Zależnie od warunków pracy systemu sterowania bezpieczeństwo funkcjonalne może stanowić kluczowy aspekt wyboru technologii. W przypadku maszyn następuje ciągła interakcja pomiędzy użytkownikiem a systemem sterowania (mogąc tym samym rodzić potencjalne niebezpieczeństwa).
Sterowniki PLC mają za sobą długą historię w automatyzacji maszyn. Poza komunikacją z urządzeniami wykonawczymi i/lub czujnikami (wyłącznikami krańcowymi, kurtynami bezpieczeństwa) zapewniały funkcjonalność obwodów bezpieczeństwa oraz redundancji.
Zintegrowane bezpieczeństwo funkcjonalne dostępne jest w niewielu platformach systemów sterowania opartych na technologii komputerowej.
Utarło się, że funkcjonalność urządzeń w ramach projektowanego systemu sterowania jest tak duża, jak program, który te urządzenia wykorzystuje do realizacji zadań sterowania. Zapewnienie optymalnej jakości działania systemu sterowania z całą pewnością wspomagane jest przez środowisko programistyczne oraz liczbę dostępnych języków programowania.
Podstawową różnicą pomiędzy sterownikami PLC a komputerami PC jest sposób wykonywania programu sterowania. W prostych sterownikach PLC łączy się wykonywanie ciągłe zadań (bazujące na mechanizmie tzw. skanu) oraz wykonywanie zadań zależnie od występujących w systemie sterowania zdarzeń. W komputerach PC zadania wykonywane są głównie zależnie od pojawiających się zdarzeń. Mechanizm skanu programu sprawia, że zadania nie mogą być synchronizowane systemowo oraz muszą oczekiwać na wykonanie, aż procesor sterownika zakończy obsługę funkcji o wyższych priorytetach.
Różnice w sposobie wykonywania zadań wymagają różnego podejścia do tworzenia aplikacji sterowania. Niestety użytkownicy bardzo często ograniczają się do korzystania tylko z jednego podejścia do programowania. Programy tworzone są w różnych językach, zależnie od wybranej platformy systemowej. Dla sterowników PLC obowiązuje norma IEC 61131-3, w której zdefiniowano kilka języków programowania (język schematów drabinkowych, język listy instrukcji, język tekstu ustrukturyzowanego, język sekwencyjny, język bloków funkcji). Producenci proponują swoim użytkownikom wersje uproszczone języków programowania, dedykowane do ich rozwiązań.
W przypadku komputerów osobistych najbardziej rozpowszechnionymi  językami programowania są C/C++ i .NET.
Koszt rozwiązania
Wybór platformy systemu sterowania musi być dostosowany do opracowywanej aplikacji. Zależnie od tego, na czym najbardziej zależy użytkownikom, różnie kształtować się będzie koszt rozwiązania. Koszt ten wynika głównie z takich czynników, jak:

  • wydajność (moc obliczeniowa) systemu sterowania,
  • możliwość rozbudowy systemu w trakcie użytkowania,
  • warunki środowiskowe, w których będzie pracować system,
  • planowany czas uruchomienia aplikacji.

Jeżeli system sterowania wymaga realizacji złożonych obliczeń, obsługi dużej sieci urządzeń wykonawczych i/lub czujników, przetwarzania znacznej ilości danych, wtedy rozwiązania bazujące na komputerach będą zdecydowanie ekonomiczniejsze. Początkowy koszt komputera w systemach sterowania jest zwykle wyższy, jednakże to rozwiązanie zapewnia znacznie większą wydajność, zaś koszt rośnie jedynie wtedy, gdy rzeczywiście (choć to często mało prawdopodobne) zabraknie mocy obliczeniowej. Sterowniki PLC, w prostych wersjach daleko tańsze od komputerów, mogą stać się droższe od rozwiązania komputerowego w miarę wzrostu wydajności (rysunek 1).
Możliwości rozbudowy systemu sterowania zależą od tego, czy możliwe w nich jest dodawanie urządzeń peryferyjnych, zwiększenie mocy obliczeniowej czy wprowadzenie funkcji przechowywania danych. Gdy nie jest wymagana szeroka dodatkowa funkcjonalność, wtedy konieczność rozbudowy (np. w przyszłości) jest niska. W takiej sytuacji rozwiązanie z użyciem komputera będzie droższe niż w przypadku sterownika PLC, jednakże jego koszty w stosunku do PLC wzrosną nieznacznie, gdy okaże się, że rozbudowa jest jednak konieczna.
Koszt sterownika z uwagi na jego zoptymalizowaną naturę zwykle jest niższy w przypadku mniej wymagających aplikacji, gdzie rozszerzalność nie jest aż tak istotna jak pozostałe aspekty wyboru. Niestety koszty aplikacji rosną gwałtownie w miarę wzrostu liczby dołączanych urządzeń zewnętrznych (rysunek 2).
Sterowniki PLC od samego początku projektowane były do pracy w trudnych warunkach przemysłowych. W przypadku komputerów dostosowanie ich do pracy w środowisku produkcyjnym generuje znacznie większe koszty, aniżeli w przypadku sterowników PLC (rysunek 3).
Czas opracowania oprogramowania sterującego (programu opisującego zadania sterowania) może istotnie wpłynąć na cenę całości systemu. Koszt aplikacji sterującej często jest ukryty w cenie całego systemu, gdy uruchamiany jest on po raz pierwszy. Integrując system sterowania po raz pierwszy na danej platformie sprzętowej odbiorca może postąpić dwojako: przeszkolić swoich pracowników lub wynająć doświadczoną w danym rozwiązaniu firmę inżynierską. Wadą pierwszego podejścia jest dłuższy czas uruchomienia aplikacji; wadą drugiego – wyższy koszt aplikacji.
Wielu inżynierów zna języki programowania sterowników PLC opisane w normie IEC 61131-3.
W językach tych obecnych jest wiele wbudowanych funkcji ułatwiających implementację systemów sterowania. Tym samym sterowniki PLC mogą być globalnie tańszym rozwiązaniem od systemów sterowania opartych na technologii komputerowej, szczególnie dla użytkowników początkujących i średniozaawansowanych. Czas implementacji oraz rozwoju aplikacji (również jej koszt) zmniejsza się wraz ze wzrostem zaawansowania i wiedzy użytkowników (rysunek 4).
W sytuacji, w której aplikacja jest na tyle duża, że wymaga szerokiej wiedzy i wysokiego poziomu zaawansowania inżynierów programistów, dochodzi do wyrównania poziomu kosztów rozwiązań opartych na sterownikach PLC oraz komputerach klasy PC.
Artykuł pod redakcją dr. inż. Krzysztofa Pietrusewicza z Katedry Automatyki Przemysłowej i Robotyki Wydziału Elektrycznego Zachodniopomorskiego Uniwersystetu Technologicznego w Szczecinie.
CE