Sterowanie ruchem z poziomu IPC
Andrzej Barciński drukuj
Wydawać by się mogło, że klasyczne sterowniki programowalne w dobie Przemysłu 4.0, a szczególnie ze względu na wzrost dostępności rozwiązań typu SoftMotion, powinny powoli odchodzić w niepamięć, ale w praktyce okazuje się, że rzeczywistość jest znacznie bardziej skomplikowana.
Systemy sterowania w automatyce przemysłowej ciągle ewoluują. Popularne od wielu lat sterowniki programowalne, których pierwowzory zapoczątkowały trzecią rewolucją przemysłową, są wciąż chętnie używane, ale opracowano też wiele bardziej zaawansowanych rozwiązań, w których za sterowanie odpowiedzialne są komputery przemysłowe (IPC) lub urządzenia typu PAC. Dzięki dużej wydajności i łatwości programowania skutecznie konkurują z PLC w różnych rodzajach aplikacji. Jedną z nich jest sterowanie ruchem, od którego precyzji, a więc i szybkości przetwarzania danych zależy dokładność i wydajność maszyn.
Ewolucja układów sterowania
Dawniej programowanie sterowania ruchem polegało na żmudnym tworzeniu kodu bezpośrednio dla konkretnego sprzętu, w niskopoziomowym języku. Nie było to proste zadanie i było podatne na błędy. Z czasem pojawiły się nowocześniejsze języki programowania, które zdecydowanie ułatwiły tworzenie kodu w odniesieniu do sterowania ruchem. Powstały rozwiązania, które automatycznie generowały fragmenty kodu w oparciu o wskazywane przez programistę pozycje elementów poruszanych i parametry tego ruchu. Dzięki standaryzacji możliwe stało się tworzenie kodu programu złożonego z fragmentów napisanych w dowolnym z pięciu podstawowych języków programowania, zgodnych z wymaganiami normy IEC 61131-3: drabinkowym, bloków funkcyjnych, sekwencyjnym, strukturalnym czy za pomocą listy instrukcji. Tak powstały kod staje się dosyć niezależny od platformy, na której ma być uruchamiany, a w efekcie może także funkcjonować na komputerach PC, o ile tylko spełniają wymagania związane z parametrami zaprogramowanego ruchu. Tak narodziła się historia systemów typu SoftMotion.
Rodzaje ruchu i sposób jego opisywania
Mówiąc o sterowaniu ruchu, warto najpierw podzielić go na rodzaje. Choć zdecydowana większość sterowanych elementów ruchomych w automatyce porusza się w wyniku ruchu obrotowego, w wielu przypadkach, z punktu widzenia użytkownika, ważny jest powstający na tej podstawie ruch liniowy. Ten może odbywać się w jednej, dwóch lub trzech płaszczyznach, podczas gdy w przypadku czystego ruchu obrotowego, pozycję określa się jednowymiarowo – za pomocą kąta. Ponieważ ruch to zmiana pozycji w czasie, określając go należy przede wszystkim podać pozycję docelową, przy czym w większości aplikacji istotna jest także szybkość ruchu. Szybkość i precyzja osiągnięcia zadanej pozycji wzajemnie się ograniczają i zależą zarówno od możliwości sprzętu, tj. samych silników, jak i od kontrolera nimi sterującego. Ponieważ często precyzja utrzymania pozycji zgodnej z trasą zadanego ruchu jest znacznie mniej istotna niż dokładność osiągnięcia miejsca docelowego, silniki obracają się z maksymalną prędkością przez większość trasy, po czym zwalniają, by precyzyjnie zatrzymać się tam, gdzie powinny. Sterownik i programista muszą nad tym wszystkim zapanować.
W przypadku ruchomych systemów wieloosiowych najwygodniejsze z punktu widzenia programisty jest posługiwanie się np. współrzędnymi w przestrzeni kartezjańskiej, choć możliwość sterowania poszczególnymi osiami też jest istotna. Nowoczesne systemy planowania ruchu pozwalają na takie działanie, samodzielnie tłumacząc opisany ruch na sygnały dla poszczególnych silników.
Kolejną ważną sprawą jest synchronizacja ruchu. W nowoczesnych aplikacjach automatyki w przemyśle bardzo często konieczne jest zgranie ze sobą kilku napędów – nie tylko po to, by jak najszybciej wykonać powierzone im zadanie, ale nierzadko po to, by wzajemnie sobie nie przeszkadzały. Jest to zadanie wymagające niezwykle dużej precyzji, szczególnie tam, gdzie elementy bardzo szybko się obracają. Poprawna synchronizacja takich podzespołów stanowi nierzadko sposób zademonstrowania niezawodności i pewności działania sterowników lub komputerów przemysłowych oraz podłączonych do nich silników, w związku z czym jest chętnie wykorzystywana w różnego rodzaju prezentacjach, np. na stoiskach targowych producentów i dystrybutorów systemów automatyki czy w trakcie prowadzonych przez nich seminariów.
Po stworzeniu programu opisującego ruch jest on wgrywany do odpowiedniego sterownika programowalnego albo komputera PC. Korzystne jest, jeśli cały opisany ruch, a nawet inne elementy pracy maszyny, są realizowane za pomocą pojedynczego kontrolera. Pozwala to uprościć program i łatwiej panować nad pracą urządzenia, a więc jest bardzo pożądane.
Standardy
Dużą rolę w uproszczeniu opisu ruchu i ewolucji rynku odegrały organizacje takie jak np. PLCopen. Ta powstała w 1992 r. niezależna jednostka podjęła starania na rzecz wprowadzenia specyfikacji i określenia sposobu implementacji wytycznych normy IEC 61131-3. W ten sposób powstały m.in. zestandaryzowane biblioteki w odniesieniu do sterowania ruchem: PLCopen Motion. Ich opracowanie stopniowo przyczyniło się do zupełnej zmiany sposobu pracy i nauki inżynierów zajmujących się sterowaniem. Dawniej poszczególni producenci stosowali odmienne metody programowania, a więc i kontroli ruchu, co wymagało od inżynierów ruchu specjalizowania się w rozwiązaniach poszczególnych firm. Ponadto taki podział rynku bardzo utrudniał pojawienie się nowych rozwiązań, które mogłyby zdobywać przychylność automatyków, gdyż musiałyby być kompatybilne tylko z jedną z rodzin sterowników, zmniejszając tym samym grono potencjalnie zainteresowanych nimi klientów. Działania PLCopen doprowadziły do konwergencji na rynku i popularyzacji wspólnych standardów, na które następnie mogli powoływać się twórcy platform komputerowych, przeznaczonych do sterowania ruchem.
Standard PLCopen Motion dostarcza narzędzi i obejmuje zalecenia, dzięki którym twórcy aplikacji sterowania ruchem mogą opracowywać kod z wykorzystaniem bibliotek PLCopen, a następnie uruchamiać go na różnym sprzęcie. Nie tylko zmniejsza to czas opracowywania programów, ale też ogranicza koszty utrzymania ruchu, ułatwia naukę programowania, powiększa grono inżynierów umiejących korzystać z oferowanych na rynku sterowników, a także ułatwia podejmowanie decyzji o migracji z jednej rodziny produktów do drugiej. Programy dla sterowników ruchu, zgodne z PLCopen, są bardziej przenośne, a do tego lepiej skalowalne, co pozwala na łatwiejsze rozbudowywanie istniejących instalacji przemysłowych o kolejne maszyny.
Na cały standard PLCopen Motion składają się: opisy bloków funkcjonalnych, potrzebnych do sterowania ruchem, opublikowane w zaktualizowanej wersji 2.0 w 2011 r., rozszerzenia w postaci dodatkowych bloków funkcjonalnych, opublikowane w 2005 r., zalecenia dla użytkowników, zaktualizowane do wersji 2.0 w 2013 r., informacje na temat koordynacji ruchu wieloosiowego w przestrzeni trójwymiarowej, opublikowane pod koniec 2008 r. oraz dwa rozszerzenia standardu z 2011 r., w których opisano dodatkowe funkcje niektórych urządzeń sterowania ruchem.
Co ciekawe, certyfikacji zgodności ze standardem dokonują samodzielnie producenci sterowników ruchu, w oparciu o opisane w standardzie zasady. Następnie publikują oni wyniki przeprowadzonej standaryzacji, określając w formie skrótowej i pełnej zakres obsługiwanych funkcji, wraz ze stosownymi komentarzami. Wszystkie one są umieszczone na stronie internetowej organizacji PLCopen.
Szczegóły IEC 61131-3
Opisanie wymienionych wcześniej parametrów ruchu, zgodnie z zaleceniami normy IEC 61131-3, czy też po prostu z użyciem bibliotek PLCopen, wymaga zastosowania się do szeregu zasad. IEC 61131-3 normalizuje języki programowania, zestawy instrukcji, interfejsy oraz sposób tworzenia i utrzymywania programu. Dwie podstawowe części IEC 61131-3 dotyczą tzw. wspólnych elementów (Common Elements) obsługiwanych przez sterowniki oraz języków programowania. Pierwsza z nich obejmuje takie elementy jak jednostki organizacyjne programu, zmienne, typy danych i konfiguracje.
IEC 61131-3 określa podział na programy, funkcje i bloki funkcyjne, w oparciu o które mają być tworzone algorytmy sterowania. Funkcje pozwalają programowi na rozszerzanie listy instrukcji konfiguracji. Bloki funkcyjne to podstawowe elementy składowe aplikacji. W ramach jednego projektu można używać zarówno funkcji, jak i bloków funkcyjnych. Mogą też być one wykorzystywane w bibliotekach na potrzeby innych projektów. Jednostki organizacyjne nazywane programami składają się z funkcji i bloków funkcyjnych.
Zmienne są używane po to, by nie trzeba było bezpośrednio odnosić się do adresów wejść, wyjść ani flag. Są ważnym elementem każdego języka programowania wysokiego poziomu i trzeba je zadeklarować oraz odpowiednio zainicjalizować wartościami początkowymi. Zmienne są podzielone na trzy rodzaje, przy czym możliwe jest deklarowanie zmiennych, których wartości są zachowywane w pamięci urządzenia nawet po wyłączeniu zasilania.
IEC 61131-3, w celu ograniczenia trudnych do wykrycia błędów, wymusza stosowanie typów danych. Dostępne są trzy rodzaje typów: elementarne, uniwersalne i definiowane przez użytkownika. Określają format danych, rozmiar (a więc zajmowaną pamięć) oraz dostępne zakresy wartości. Powinny także podawać dopuszczalne wartości początkowe. Fakt, że możliwe jest korzystanie z formatów definiowanych przez użytkownika sprawia, że programiści mogą posługiwać się np. tablicami i strukturami, co ułatwia tworzenie programów.
Konfiguracje IEC 61131-3 są potrzebne, by móc odnieść się do faktycznych parametrów sprzętu, takich jak adresy pamięci czy dostępne zasoby procesora.
W ramach opisu języków programowania IEC 61131-3 określa cechy wymienionych wcześniej pięciu sposobów tworzenia programów.
Ruch na komputerze PC
Popularyzacja IEC 61131-3, szybko rosnąca moc obliczeniowa komputerów PC oraz wzrastające wymagania odnośnie precyzji i złożoności ruchu w automatyce przemysłowej sprawiły, że na rynku zaczęło pojawiać się coraz więcej komputerów przemysłowych, z oprogramowaniem do realizowania algorytmów sterowania ruchem. Choć w teorii mianem SoftMotion można określić praktycznie każdą aplikację sterowania ruchem, stworzoną zgodnie z IEC 61131-3, prawdziwie programowym rozwiązaniem są dopiero systemy bazujące na komputerach PC. Mają one dużą przewagę nad rozwiązaniami opartymi na sterownikach programowalnych, ale wciąż budzą wiele obaw wśród użytkowników.
Podstawowy problem dotyczy przewidywalności pracy komputera, a więc działania zgodnie z rygorami czasu rzeczywistego. Nie jest bowiem dopuszczalne, by wyjście sygnałowe z komputera bezpośrednio sterującego ruchem uległo na chwilę zamrożeniu. Mogłoby to spowodować błędy w ruchu, czy nawet utratę synchronizacji pozycji, co w krytycznych sytuacjach zapewne prowadziłoby do uszkodzenia maszyny. Standardowo
zainstalowany system operacyjny MS Windows w klasycznych odmianach zupełnie do tego się nie nadaje, dlatego twórcy rozwiązań sterowania, opartych na komputerach PC, musieli odpowiednio zabezpieczyć się przed takimi problemami. Sposobów poradzenia sobie z tą trudnością jest wiele: od wykorzystania systemów linuksowych, korzystających np. z mikrojądra zapewniającego pracę kluczowych elementów w czasie rzeczywistym, przez przemysłowe systemy operacyjne, takie jak QNX, a kończąc na aplikacjach pracujących pod odpowiednimi wersjami MS Windows, z wykorzystaniem systemów wirtualnych oraz używających stosownych kart sprzętowych.
Niemniej istotne są też kwestie dotyczące niezawodności, możliwości serwisowania sprzętu, kompatybilności z przemysłowym sprzętem, bezpieczeństwa, a w końcu kosztu.
Niezawodność i możliwość naprawy
Sterowniki PLC od początku swojego istnienia były produkowane tak, by mogły pracować w trudnych warunkach przemysłowych i spełniać bardzo wysokie wymogi odnośnie niezawodności. Tymczasem komputery PC pojawiły się na rynku jako urządzenia naukowo-biurowe, a dopiero z czasem wprowadzono ich przemysłowe odmiany. Budowa typowego komputera jest bardziej skomplikowana niż sterownika PLC, co wynika przede wszystkim z zastosowania w tym pierwszym większej liczby uniwersalnych komponentów, użytecznych także w zastosowaniach konsumenckich, podczas gdy sterowniki programowalne mają tylko i wyłączenie te komponenty, które potrzebne są do realizacji zadań typowo przemysłowych. W efekcie komputery PC są bardziej podatne na uszkodzenia, choćby ze względu na tę większą złożoność. Jednak w ostatnich latach nastąpił duży postęp w scalaniu ze sobą poszczególnych podzespołów, dzięki czemu wiele z tych uniwersalnych pod względem funkcji obwodów znajduje się obecnie we wspólnych obudowach. Pozwoliło to zredukować liczbę połączeń pomiędzy układami, które to – jak w każdym systemie elektronicznym – są głównymi elementami przyczyniającymi się do awarii.
Ponadto, o ile pod koniec lat 90. ubiegłego wieku i na początku obecnego, wraz ze wzrostem wydajności obliczeniowej procesorów rósł ich pobór energii, co wymagało stosowania coraz bardziej wydajnego wymuszonego chłodzenia, w ostatnich latach obserwujemy bardzo silny spadek zapotrzebowania na prąd nawet najbardziej wydajnych konstrukcji. Dzięki temu nowoczesne komputery przemysłowe nie wymagają stosowania wentylatorów, a nawet otworów chłodzących, upodabniając się tym samym do sterowników programowalnych. Bardzo ważny jest też fakt popularyzacji nośników SSD (Solid State Drive) w miejsce dysków twardych, dzięki czemu liczba ruchomych elementów mechanicznych w komputerach przemysłowych została zredukowana do zera. W ten sposób przemysłowe komputery PC stały się tak samo odporne na trudne warunki środowiskowe i praktycznie tak samo niezawodne, jak sterowniki programowalne.
Kolejnym ważnym czynnikiem jest możliwość serwisowania sprzętu komputerowego, przy czym obejmuje ona zarówno dostępność części zamiennych oraz ingerencji w sprzęt, a także to, czy praca urządzenia musi być całkowicie wstrzymana na czas naprawy. W przypadku sterowników PLC zazwyczaj nie stanowi to problemu. Producenci z góry określają minimalny czas, przez jaki będą oferować pełny serwis dla sterowników po zakończeniu ich produkcji i zazwyczaj jest on odpowiednio długi – np. kilkanaście lat. Jeśli sterownik jest modułowy, nierzadko wymiana wadliwego modułu nie wymaga przerwania pracy jednostki bazowej PLC. W przypadku przemysłowych komputerów PC producenci również starają się długo utrzymywać zapas części na potrzeby prowadzenia serwisu po zakończeniu produkcji danych urządzeń. Niestety, wymiana podzespołów podczas pracy komputera jest znacznie trudniejsza. O ile łatwo jest „na gorąco” podłączyć zewnętrzne urządzenie przez USB, mało który komponent przemysłowy będzie wykorzystywał ten interfejs ze względu na jego niedeterministyczność. Nieco lepiej jest z wymianą nośników pamięci, które nierzadko obsługują mechanizm „hot swap”. W praktyce jednak dopiero pracujące redundantnie komputery – szczególnie, jeśli są to wersje przystosowane do montażu w szafach rackowych – pozwalają na naprawę bez przerywania pracy instalacji. Niestety, wiąże się to z dość dużym kosztem, a więc pod tym względem sterowniki PLC mają przewagę nad rozwiązaniami sterowania ruchu opartymi na komputerach PC.
Kompatybilność ze sprzętem przemysłowym
Tworząc nowy system sterowania, praktycznie każdy inżynier lubi mieć swobodę w doborze podzespołów i interfejsów, z jakich będzie korzystał. O ile w przypadku sterowników PLC obsługa różnorodnych standardów przemysłowych jest najczęściej wbudowana nawet w podstawowej wersji produktu, w przypadku komputerów PC nierzadko wymaga zastosowania odpowiednich kart rozszerzeń. W praktyce jednak jeden komputer PC dysponuje znacznie bogatszym zestawem interfejsów komunikacyjnych, a dzięki możliwości instalacji niemal dowolnej karty (lub nawet kilku kart) rozszerzeń stanowi bardziej elastyczne rozwiązanie. W efekcie komputery PC pozwalają na łatwiejsze zaimplementowanie wizualizacji czy interfejsów HMI na potrzeby kontroli ruchu, a przecież bywa tak, że to właśnie łatwa obsługa jest kluczowym elementem instalacji z punktu widzenia użytkownika.
Bezpieczeństwo
W kwestii bezpieczeństwa wciąż prym wiodą rozwiązania oparte na sterownikach programowalnych. Wynika to nie tylko z mniejszej złożoności oprogramowania pracującego na PLC, ale też dostępności funkcji bezpieczeństwa, które dopiero od niedawna zaczynają być integrowane w rozwiązaniach PC. Jeśli chodzi o komputery PC, powstało bardzo wiele wirusów, które mogą być szkodliwe również wtedy, gdy komputery pracują przy sterowaniu ruchu, ale – gdyby się zastanowić – metody wykrywania tego typu ataków są znacznie lepiej dopracowane w przypadku PC niż PLC. Tymczasem sterowniki programowalne stają się coraz bardziej skomplikowane i nierzadko są podłączane do zakładowych sieci ethernetowych. Z czasem może okazać się, że także i one będą celem ataków, choć obecnie stanowią bezpieczniejsze rozwiązanie niż komputery PC.
Koszty
W odniesieniu do wszystkich powyższych aspektów prawdopodobnie w wielu sytuacjach kluczowa stanie się kwestia kosztów. Te zależą przede wszystkim od wydajności tworzonego systemu. Ponieważ komputery PC cechują się wyższą wydajnością niż sterowniki, będą stanowić tańsze rozwiązanie tam, gdzie taka wydajność jest faktycznie potrzebna. Wydawałoby się, że w aplikacjach, w których konieczne jest szybkie sterowanie ruchem, bardzo wysoka wydajność jest kluczowa, ale dzięki ewolucji sterowników programowalnych, także i one wciąż takową zapewniają. Ponadto, jeśli porównywać tańsze sterowniki PLC z tanimi komputerami przemysłowymi, te drugie będą droższe, w związku z czym dla prostszych aplikacji korzystniejszym rozwiązaniem pod względem ekonomicznym będzie wybór sterownika programowalnego. Natomiast dla aplikacji wymagających najwyższej wydajności, bardziej korzystne finansowo będzie użycie przemysłowego komputera PC.
Szacując koszt instalacji, warto wziąć pod uwagę nie tylko cenę jego zakupu, ale też nakłady potrzebne na rozbudowę systemu sterowania ruchem. Jeśli zakłada się, że dane wdrożenie nie będzie w przyszłości wymagało jakiejkolwiek rozbudowy, można sięgnąć po sterownik PLC, ale w każdym innym przypadku warto dobrze przemyśleć, czy wybór komputera przemysłowego nie będzie lepszym rozwiązaniem. Dodanie urządzeń peryferyjnych, zwiększenie mocy obliczeniowej, rozbudowanie pojemności pamięci – wszystkie te zmiany są znacznie bardziej kosztowne, gdy modyfikuje się sterownik programowalny, niż gdy modernizuje się komputer PC, w tym również przemysłowy. To jedna z głównych dziedzin, w których przemysłowe PC bardzo korzystnie wypadają na tle PLC.
Koszt instalacji będzie też zależał od środowiska, w jakim ma pracować kontroler. Wydajne komputery przemysłowe, przystosowane do pracy w ekstremalnych warunkach, są bardzo kosztowne. Wynika to z konieczności zastosowania drogich odmian komponentów, przeznaczonych do zastosowań militarnych, morskich czy też w kolejnictwie lub motoryzacji, a jak wspomniano już wcześniej – do zbudowania komputera potrzebnych jest więcej różnych podzespołów niż do stworzenia sterownika PLC. Jeśli natomiast system ma pracować w chłodzonej szafie sterowniczej, w której powietrze jest filtrowane, serwerowa maszyna w obudowie rackowej będzie nierzadko tańszym rozwiązaniem niż średniozaawansowany sterownik programowalny.
Do kosztów warto też wliczyć czas wdrożenia i związanie z nim nakłady. Często jest to czynnik, o którym zapomina się w trakcie podejmowania decyzji o wyborze rodzaju instalacji. W praktyce, ze względu na większą złożoność, zazwyczaj czas nauki oraz przygotowania i wdrożenia instalacji będzie dłuższy w przypadku komputerów PC, choć dla bardziej skomplikowanych aplikacji łatwość rozbudowy rozwiązań komputerowych stanowi czynnik przemawiający na ich korzyść. Czas pracy w takich sytuacjach nie będzie się znacznie różnił, niezależnie od tego, czy sterowanie ruchem ma być wykonywane w oparciu o przemysłowe PC czy PLC.
Aktualne trendy
Przez lata to sterowniki PLC bezwzględnie dominowały w aplikacjach sterowania ruchem, ale wraz ze wzrostem liczby osi, w których ruch jest prowadzony planowanie tras ruchu stało się bardziej skomplikowane, a wymagania odnośnie mocy obliczeniowej kontrolerów wzrosły. Początkowo problem ten rozwiązywano poprzez łączenie ze sobą wielu sterowników, określając ich hierarchię ważności, ale równocześnie zaczęły powstawać rozwiązania oparte na komputerach PC. Sterowniki PLC po prostu nie były w stanie nadążyć za rosnącymi wymaganiami w zakresie złożoności, szybkości i precyzji ruchu, a moc obliczeniowa komputerów PC była dostępna na wyciągnięcie ręki. Obecnie większość dużych firm, które mają w ofercie sprzęt do sterowania ruchem, oferuje również specjalizowane rozwiązania typu SoftMotion.
Pomimo wspólnej przeszłości z komputerami biurkowymi, przemysłowe PC sterujące ruchem są niezawodne, nie zawieszają się i pracują zgodnie z wymaganiami czasu rzeczywistego. Wykorzystanie nowoczesnych ethernetowych sieci przemysłowych (Profinet, EtherCAT itd.) pozwoliło na zapewnienie niezawodnej wymiany informacji, bez opóźnień, których można byłoby się spodziewać w niedeterministycznym, klasycznym Ethernecie.
W praktyce aktualnie stosowane rozwiązania typu SoftMotion najczęściej sprowadzają się do wykorzystania komputera przemysłowego, podłączonego do inteligentnego napędu. Sprawia to, że sprzęt jest niejako „przezroczysty” dla programisty. Choć główny program wykonywany jest na przemysłowym PC, komputer tylko przesyła odpowiednie polecenia do napędu, a ten sam kontroluje silnik, dzięki zgodności z PLCopen.
Warto też zauważyć, że na przestrzeni lat także rozwiązania sterowania ruchem oparte na komputerach zdążyły już ewoluować. Przykładowo popularyzacja procesorów wielordzeniowych sprawiła, że zamiast korzystać z wielu kart PCI z oddzielnymi jednostkami obliczeniowymi, firmy zaczęły w odpowiedni sposób użytkować poszczególne rdzenie procesora, zapewniając wydajną pracę systemu w czasie rzeczywistym. Okazuje się bowiem, że wystarczy zablokować systemowi Windows dostęp do jednego z rdzeni, w którym uruchomiony będzie oddzielny, niezależnie pracujący system RTOS. Rozwiązanie takie zarazem zwiększa bezpieczeństwo aplikacji – system Windows może realizować mniej krytyczne czasowo zadania, takie jak np. wizualizacja czy interfejs HMI, a nawet zawiesić się, i nie wpłynie to na samo sterowanie ruchem. Komunikacja między poszczególnymi rdzeniami procesora w tym samym komputerze może odbywać się niejako na zewnątrz, poprzez szybki, choć wirtualny, interfejs sieciowy, albo przez dzieloną pamięć RAM, która jest traktowana tak, jak pamięć zewnętrzna. Takie rozwiązanie pozwala nawet tworzyć wirtualne sieci redundantne, na wypadek wystąpienia problemów w komunikacji.
Ciekawym rozwiązaniem jest wykorzystanie nowoczesnych, uniwersalnych mikrokontrolerów do realizacji sterowania ruchem. Cechują się one obecnie na tyle dużą wydajnością, że pozwalają spokojnie zastąpić klasyczne przemysłowe PC czy PLC w niektórych prostych aplikacjach.
Innym, bardzo zaawansowanym rozwiązaniem jest użycie programowalnego sprzętu, tj. układów FPGA, pracujących pod kontrolą systemu Windows. W systemach tego typu koordynaty ruchu określane są przez główny procesor komputera, ale sygnały sterujące silnikami generowane są przez FPGA z bardzo dużą szybkością. Umożliwia to realizację bardzo wymagających aplikacji, przy zachowaniu dużej elastyczności instalacji, którą łatwo dopasować do zmieniających się warunków.
Co więcej, systemy sterowania ruchem w oparciu o komputery PC dają znacznie większe możliwości symulacji niż aplikacje bazujące na klasycznych PLC. Dostępność zaawansowanych narzędzi deweloperskich na platformy komputerowe jest znacznie większa niż dla sterowników programowalnych. A to zarazem oznacza, że gdy istnieje potrzeba przygotowania większego wdrożenia, nad którym pracuje duża liczba inżynierów, łatwiej im będzie współpracować w przypadku tworzenia projektu opartego na platformie PC.
Podsumowanie
Choć warunki rynkowe są zdecydowanie korzystne dla rozwoju aplikacji sterowania ruchem, opartych na komputerach PC, inżynierowie i tak chętniej sięgają po sterowniki programowalne. Mimo spadku cen sprzętu, zwiększania się wydajności podzespołów, dość wysokiego stopnia bezpieczeństwa instalacji komputerowych, uniwersalności, łatwości rozbudowy i rosnących wymagań odnośnie parametrów ruchu, statystyki wciąż pokazują, że znacznie więcej – zarówno w Polsce, jak i na świecie – instalacji powstaje na bazie PLC. Wynika to nie tylko z raportów międzynarodowych instytucji, takich jak ARC Advisory Group, ale też z rozmów z inżynierami utrzymania ruchu. Kluczowymi argumentami są cena początkowa wdrożenia oraz wciąż duże zapotrzebowanie na proste instalacje. Znaczenie mają także przyzwyczajenia oraz fakt, że sterowniki programowalne również ewoluują i stają się coraz doskonalsze, a ich możliwości rosną. Istotne jest też, że dla wielu inżynierów PLC wydają się zwyczajnie prostszym rozwiązaniem, które – jeśli przestaje działać – wymienia się na nowe. Tymczasem w przypadku znacznie droższych i bardziej złożonych komputerów przemysłowych potencjalna awaria wymaga najczęściej diagnozowania skomplikowanego systemu operacyjnego i różnorodnych podzespołów, co jest zadaniem zdecydowanie trudniejszym do ogarnięcia umysłem.
źródło: Automatyka 12/2015
Komentarze
blog comments powered by Disqus