Definiowane programowo sterowniki PAC – zastąp dodatkowy kontroler kodem programu

Jednym z wyzwań obecnie stawianych inżynierom jest zachowanie prostoty systemów przy coraz bardziej skomplikowanych wymaganiach. Silniki, postrzegane zwykle jako potężne, żelazne konstrukcje, odporne na uszkodzenia, działające przez dziesięciolecia, są w dzisiejszych czasach monitorowane w celu możliwie wczesnego wykrycia oznak uszkodzeń, czy też najmniejszego spadku wydajności. Sterowanie narzędziami tnącymi także ewoluowało od podejścia dwustanowego („tnij” lub „nie tnij”) do złożonych systemów sterowania, opartych na analizie sygnałów wizyjnych i układach sprzężenia zwrotnego, pozwalających określić położenie krawędzi, rozpoznać gęstość materiału i na tej podstawie dostosować siłę tnącą. Przedstawione przykłady pokazują, że aby sprostać oczekiwaniom rynku i rozwiązywać coraz bardziej złożone problemy sterowania, potrzebna jest integracja dostępnych na rynku technologii.

Z pomocą projektantom przychodzi ciągły postęp. Najnowsze osiągnięcie zwiększające wydajność programowalnych sterowników automatyki (PAC) zastosowano w definiowanym programowo sterowniku cRIO-9068 firmy National Instruments. Elementy przetwarzania danych tego urządzenia są zbudowane w najnowszej technologii krzemowej Zynq™ firmy Xilinx. Układ scalony SoC (System on a Chip) zawiera procesor zmiennoprzecinkowy, programowalną macierz bramek logicznych FPGA oraz układy cyfrowego przetwarzania sygnałów (DSP). Umożliwia on projektantom systemów sterowania integrowanie podsystemów w mniejszej liczbie sterowników, znacznie upraszczając architekturę kompleksowego rozwiązania.
Powyższy opis może brzmieć niejasno dla projektantów systemów sterowania korzystających z logiki drabinkowej, a nie samych bramek logicznych, jednak zarówno sterowniki PAC, PLC, jak i sterowniki wbudowane zawierają tego typu elementy. Niektóre z nich mają nawet układy FPGA lub ASIC, wykorzystywane do efektywnego przetwarzania i akwizycji sygnałów. Te podstawowe elementy można porównać do zwykłego młotka. Idąc w sklepie alejką z narzędziami, można zetknąć się z bogatą ofertą młotków. Każdy z nich może spełniać różne funkcje (np. wbijanie gwoździ czy kruszenie materiałów), dlatego istotnym zadaniem jest wybór właściwego narzędzia do wykonywanego rodzaju pracy.
Automatyzacja oparta na komputerze PC jest jak standardowy młotek z pazurem – na tyle wszechstronny, że nadaje się do większości zastosowań, ale nieodpowiedni w przypadku bardziej zaawansowanych operacji. Jest zbyt twardy, aby mógł być wykorzystany jako miękki drewniany pobijak, zbyt lekki, aby pełnił funkcje ciężkiego młota kowalskiego oraz zbyt mały, aby służył jako młotek ciesielski.
Analogiczna sytuacja występuje w przypadku podzespołów systemu sterowania. Standardowy procesor zmiennoprzecinkowy jest idealny do szerokiego zakresu zastosowań, chociaż często nie jest w stanie sprostać wymaganiom szybkiego taktowania, wyzwalania czy szybkości reakcji, dla spełnienia których korzystne jest zastosowanie układów FPGA. Procesory zmiennoprzecinkowe mogą być również wykorzystywane do przetwarzania danych i generowania sygnałów sterujących, jednak są one bardziej kosztowne w porównaniu z układami FPGA lub DSP, stosowanymi do powtarzalnych algorytmów. Układy FPGA są idealne do algorytmów zaawansowanego przetwarzania, mają jednak pewne ograniczenia pod względem elastyczności. Połączenie zalet omówionych komponentów w jednym urządzeniu sprawia, że nowe sterowniki wbudowane PAC i PLC znacznie ułatwiają zachowanie prostoty podsystemów.
Uogólniając, podsystemy sterowania wykorzystują sprzęt i oprogramowanie, zapewniając wymaganą funkcjonalność. Za przykład może posłużyć system regulacji temperatury. W tym przypadku urządzeniami wejściowymi są czujniki temperatury, sygnały wyjściowe sterują pracą wentylatora lub grzejnika, natomiast logika systemu może obejmować zarówno proste funkcje (kontrola limitów), jak i bardziej zaawansowane algorytmy regulacji PID.
W przypadku złożonych systemów z wieloma komponentami opisany sterownik temperatury jest oddzielnym urządzeniem, wymagającym fizycznego połączenia z głównym sterownikiem. Zamiast tworzyć oddzielne projekty dodatkowych modułów sprzętowych, projektanci mogą używać nowszych urządzeń wbudowanych i opierać się na pojedynczym, elastycznym rozwiązaniu. Użycie mniejszej liczby definiowanych programowo sterowników pozwala nie tylko uprościć sterowanie maszynami, ale także skrócić czaswprowadzenia produktu na rynek przy niższych kosztach projektowania.

Podsystemy realizowane na pojedynczym sterowniku są widoczne jako osobne bloki funkcyjne w kodzie aplikacji i wykonują się na procesorze zmiennoprzecinkowym lub na dostępnych zasobach układów FPGA/DSP – dodatkowy kontroler zastępowany jest kodem programu. Wiele sterowników daje możliwość podłączenia modułów we/wy, co pomaga zredukować liczbę dodatkowych urządzeń niezbędnych do akwizycji i generowania sygnałów sterujących.
Opisana technologia jest idealna do zastosowań wymagających wysokiej wydajności i integracji wielu podsystemów. Przykładem może być piła laserowa wykorzystywana w procesie wytwarzania mikrostruktur (wafli) krzemowych. Ta komercyjna technologia spowodowała znaczne przyspieszenie procesu cięcia oraz zminimalizowanie odpadów w porównaniu do mniej zaawansowanych, mechanicznych urządzeń tnących. Powyższy efekt osiągnięto dzięki współpracy wielu współdziałających podsystemów do regulacji temperatury, sterowania laserem, szybkiego przetwarzania danych z wejść analogowych oraz komputera PC z interfejsem operatora. Ponieważ dla wszystkich dodatkowych sterowników wymagana jest struktura komunikacyjna ze sterowaniem centralnym, każdy projekt wymaga stworzenia nowej architektury. Używając wbudowanego sterownika o wydajności gwarantowanej przez wykorzystanie najnowszych technologii, projektant może zintegrować kilka z tych podsystemów w jednym urządzeniu, jak pokazano na rysunku 1.
Ponieważ kod programu dla każdej funkcji występuje w postaci niezależnego podprogramu uruchamianego na głównym sterowniku, projektanci systemów mogą w łatwy sposób rozbudowywać jego funkcjonalność, modyfikując właściwą część kodu czy dodając kolejne moduły wyjść/wyjść.
Należy zwrócić uwagę, że sterowniki o wysokiej wydajności mogą być stosowane nie tylko w sterylnych warunkach produkcji wafli krzemowych. Zaawansowane przetwarzanie sygnałów oraz moduły wejść/wyjść do wykonywania dokładnych pomiarów są dzisiaj rozpowszechnione w innych obszarach przemysłu i szeroko stosowane przy konserwacji predykcyjnej ciężkiego sprzętu. Tam, gdzie w przeszłości stosowane były dedykowane układy ASIC lub FPGA/DSP, obecnie możliwe jest wykorzystanie elastycznych sterowników wbudowanych.
W przypadku silników pomiary związane z konserwacją predykcyjną sprzętu obrotowego obejmują obliczenia wartości skutecznych RMS oraz szybkiej transformaty Fouriera (FFT). Algorytmy te zużywają zasoby CPU proporcjonalnie do liczby kanałów, co ogranicza dostępność jednostki CPU dla innych zadań, skutkując zmniejszeniem ogólnej wydajności lub koniecznością zakupu dodatkowego sprzętu. Realizacja tych procesów na kombinacji układów FPGA i DSP zmniejsza obciążenie CPU i poprawia przepustowość dzięki przetwarzaniu równoległemu. Wprawdzie układy FPGA mają ograniczony rozmiar, za to sprawdzają się bardzo dobrze w przypadku obsługi wspomnianych wyżej procesów równoległych.
Nawiązując do przykładu z młotkiem, użycie standardowego młotka z pazurem do kruszenia materiałów może być akceptowalne, jednak zastosowanie młota kowalskiego będzie bardziej adekwatne ze względu na jego wydajność.
Wraz z pewnym przesunięciem priorytetów projektowych w kierunku oprogramowania, istotne jest zapewnienie narzędzi programistycznych pozwalających na wykorzystanie dostępnych technologii. Normą stosowaną powszechnie w przypadku programowalnych sterowników PAC i PLC jest standard IEC 61131. Koncentruje się on na sekwencyjnym, intensywnym, cyfrowym przetwarzaniu i sterowaniu, lecz nie przewidziano w nim zaawansowanych funkcji przetwarzania danych czy programowania układów FPGA/DSP. Wieluprojektantów systemów sterowania w takich przypadkach używa standardowych języków programowania, takich jak C. Chociaż język C może zrealizować lub obsłużyć większość zadań, to jednak jest językiem niskiego poziomu, który wymaga zaawansowanej wiedzy i czasu na implementację nowej funkcjonalności.
Na rynku dostępne są także inne środowiska programistyczne, np. graficzne środowisko programowania NI LabVIEW, pozwalające osiągnąć pewną równowagę pomiędzy wspomnianymi dwoma podejściami. Wykorzystanie LabVIEW upraszcza obsługę pamięci, wielowątkowości i zarządzania procesorem, oferując równocześnie niskopoziomowy dostęp do elementów przetwarzających dane, układów wejść/wyjść oraz FPGA.
Zapewnienie projektantom systemów dostępu do technologii komercyjnej jest kluczowe dla rozwiązywania coraz bardziej złożonych problemów i podejmowania wyzwań, takich jak ciągle zmieniające się standardy oraz wprowadzanie innowacji przy niższych kosztach. Brak możliwości programowania podzespołów wykorzystywanych w projektach sprawia, że są one mniej użyteczne. Wiele komponentów systemów przetwarzających dane oraz firmware w urządzeniach wykorzystywanych w dzisiejszych zaawansowanych systemach sterowania ma z góry zdefiniowaną funkcjonalność. Otwartość sterownika wbudowanego ułatwia inżynierom tworzenie systemów sterowania oraz integrowanie złożonych maszyn pomiarowych w mniejszą liczbę podsystemów.
Przykładem urządzeń z trwale zdefiniowaną logiką są sterowniki PAC i PLC z modułami mierzącymi sygnały wejściowe i generujące wynik na wyjściu, czy też chipy regulacji PID. Projektowanie z wykorzystaniem takich komponentów jest tańsze, ale nie zapewnia projektantom elastyczności i możliwości modyfikacji oprogramowania i funkcjonalności sprzętu. Ponadto, gdy elementy takie zostaną wycofane z rynku, odtworzenie stosowanych w nich algorytmów staje się problematyczne.
Nowy sterownik cRIO-9068 (rys. 2) zawiera procesor zmiennoprzecinkowy, układ FPGA z DSP oraz system operacyjny czasu rzeczywistego Linux. Dostęp do systemu operacyjnego z poziomu linii komend oraz możliwość wymiany doświadczeń z szeroką społecznością Linuxa ułatwia uruchomienie maszyny w krótszym czasie, przy mniejszych zasobach. Dodatkowo projektanci mogą wykorzystać istniejące aplikacje napisane w języku C, ponieważ nowy procesor umożliwia korzystanie zarówno ze środowiska LabVIEW, jak i Eclipse. Wykorzystując zalety obu środowisk programistycznych, użytkownicy mogą w prosty sposób wdrażać istniejące oprogramowanie na najnowszym sprzęcie.
W wielu gałęziach przemysłu, takich jak przemysł stalowy, włókienniczy czy półprzewodnikowy, zapotrzebowanie na inteligentne urządzenia sterujące maszynami wymusza potrzebę powstawania coraz nowszych technologii oraz metod projektowania systemów sterowania. Sterowniki wbudowane i PAC, wykorzystujące przetwarzanie hybrydowe, udoskonalają i upraszczają projektowanie systemów sterowania przez możliwość zastosowania architektury, w której wykorzystywana jest mniejsza liczba urządzeń z funkcjonalnością definiowaną programowo.
Jakkolwiek celem tworzenia kolejnej generacji sterowników wbudowanych nie jest zastąpienie sprawdzonych i niezawodnych rozwiązań przemysłowych. Sterowniki te są jednak idealnym rozwiązaniem dla nowej generacji inteligentnych maszyn i wygodnym narzędziem dla projektantów, oczekujących szybszego wprowadzenia produktu na rynek i tworzenia systemów o niższym stopniu skomplikowania.

National Instruments Poland Sp. z o.o.
ul. Grójecka 5
02-025 Warszawa
Tel: +48 22 328 90 10
Fax: +48 22 331 96 40
E-mail: ni.poland@ni.com http://poland.ni.com

Infolinia: 800 889 897