Otwartość systemów sterowania obrabiarek sterowanych numerycznie (cz. II)

Wymiary architektury systemów sterowania o otwartej architekturze

Kluczowym pomysłem podczas implementacji koncepcji systemu sterowania o otwartej architekturze jest dekompozycja funkcji tradycyjnych rozwiązań (zamkniętych układów sterowania) na cały szereg niezależnych modułów. Moduły te, realizujące w całości wszystkie funkcje regulatorów tradycyjnych – mają zunifikowane interfejsy współpracy ze światem zewnętrznym – mogą być przy tym opracowywane niezależnie przez różnych użytkowników/projektantów. Moduły te nazywane są komponentami systemu sterowania o otwartej architekturze.

Bazując na pojęciu komponentów architektury systemu sterowania, architektury SSOA mogą zostać zamodelowane w uniwersalny sposób poprzez określenie:

  • komponentów: opisów ich typów, interfejsów, zachowania, sposobu łączenia komponentów w większą całość (agregacji);
  • mechanizmów i metod interakcji pomiędzy komponentami systemu;
  • interakcji pomiędzy komponentami a platformą: opisów interfejsów i mechanizmów interakcji pomiędzy komponentami a platformą. Platformą nazywa się tutaj całe środowisko, w ramach którego uruchamiane są komponenty. W ogólności platforma składa się z rozmaitych API (interfejsów implementacji aplikacji) związanych z działaniem oraz rozwojem systemu;
  • konfiguracji: rozumianej jako metodyka tworzenia całej aplikacji z użyciem poszczególnych komponentów. Konfiguracja dzieli się na dwa główne etapy: konfiguracji statycznej i konfiguracji dynamicznej. Konfiguracja statyczna polega na połączeniu komponentów aplikacji systemu z interfejsami każdego z komponentów. Na konfigurację dynamiczną składają się: zarządzanie uruchamianiem, wykonywaniem oraz wychodzeniem z realizacji zadań, wykonywanych przez cały system aplikacji.

Opierając się na przedstawionej koncepcji, na wymiary architektury składać się mogą:

  • sposób implementacji zestawu funkcjonalności,
  • komponenty systemu,
  • interakcje pomiędzy komponentami,
  • interakcje pomiędzy komponentami a platformą,
  • konfiguracja systemu.  

Implementacja funkcjonalności systemu

System sterowania o otwartej architekturze może być opisywany poprzez rozmaite poziomy abstrakcji (zestawy sposobów implementacji funkcji systemu sterowania). Poziomy te sklasyfikować można następująco:

  • poziom modelu: określa koncepcję modelu SSOA. Definiuje głównie funkcje realizowane przez komponenty systemu. Definicje składające się na ten poziom są niezależne od dziedziny zastosowań oraz sposobu implementacji systemu;
  • poziom aplikacji: definiuje interfejsy komponentów zgodnie z wymaganiami stawianymi w przypadku konkretnej dziedziny zastosowań. Definicje składające się na ten poziom są niezależne od wybranej implementacji;
  • poziom implementacji: określa sposób realizacji komponentów systemu sterowania.  

Komponenty

Na ten wymiar architektury systemów sterowania o otwartej architekturze składają się typy, interfejsy, zachowania (sposób działania) oraz poziom rozdrobnienia elementów składowych systemu sterowania. Składają się na niego:

  • typy: komponent łączący (LC – Linkable Component), komponent wykonywalny (EC – Executable Component);
  • interfejsy: interfejs zmiennych (VI – Variable Interface), interfejs komunikatów (MI – Message Interface), interfejs funkcji (FI – Function Interface), interfejs obiektów (OI – Object Interface);
  • zachowania/działania: jawna implementacja (EI – Explicit Implementation) oraz domniemana/niejawna implementacja (II – Implicit Implementation);
  • rozdrobnienie systemu: wysoki stopień rozdrobnienia systemu (FG – Fine Granularity), niski stopień rozdrobnienia systemu (CG – Coarse Granularity).  

Interakcje pomiędzy komponentami mogą występować na różnym poziomie: kompilacji, komunikacji, wywoływania procedur, maszyny wirtualnej.  

Interakcje pomiędzy komponentami a platformą podzielić można na dwa poziomy: z niezdefiniowanym interfejsem dla danej platformy oraz ze zdefiniowanym interfejsem dla platformy, na której uruchamiane są komponenty systemu.  

Konfiguracja systemu sterowania może być sklasyfikowana na trzy różne sposoby:

  • nierekonfigurowalny,
  • rekonfigurowalny statycznie: system aplikacji może zostać przekonfigurowany jedynie na etapie konfiguracji statycznej,
  • rekonfigurowalny dynamicznie: system aplikacji może zostać zmieniony nie tylko na etapie konfiguracji statycznej, ale również podczas konfiguracji dynamicznej.  

Zależności pomiędzy wymiarami architektury a wymaganiami stawianymi systemom sterowania

Ocena punktowa odpowiednich wymiarów wymagań, stawianych systemom sterowania, może dostarczyć cennych wskazówek podczas wyboru rodzaju systemu sterowania dla opracowywanej aplikacji. Korzystając z tabel od 8 do 12 użytkownik może indywidualnie określić zależności pomiędzy wymiarami architektury a wymiarami wymagań. Podczas wypracowywania przestrzeni ewaluacyjnej należy zwrócić szczególną uwagę na fakt, iż niektóre wymiary architektury nie wiążą się wprost z określonymi wymiarami wymagań – takie zależności w tabelach oznaczone są symbolem X.   

Ewaluacja kilku spotykanych współcześnie systemów sterowania o otwartej architekturze  

W tabeli 13 przedstawiono kilka wybranych, opracowanych (w stopniu pozwalającym na efektywną implementację) współcześnie, systemów sterowania o otwartych architekturach: NGC, OSACA, OMAC oraz OSEC. W tabeli tej przedstawiono cechy charakterystyczne oraz komponenty, jakie składają się na daną architekturę. Korzystając z pojęcia przestrzeni ewaluacyjnej, w kolejnej tabeli możliwe jest dokonanie oceny porównawczej opisanych w tabeli 13 systemów. Korzystając z tych dwóch tabel (jak również innych, przedstawionych w niniejszym artykule) użytkownicy będą mogli dokonać ewaluacji branych przez siebie pod uwagę podczas wyboru konkretnego rozwiązania systemów sterowania.

Niniejsze opracowanie pozwala na przeprowadzenie całościowej oceny porównywanych struktur otwartych systemów sterowania – jeżeli użytkownik dokona innego przyporządkowania odpowiednich wag podczas ewaluacji, wtedy z jego punktu widzenia klasyfikacja może wyglądać nieco inaczej. Przedstawione narzędzia mają charakter uniwersalny i z powodzeniem mogą być stosowane również dla innych systemów sterowania. 

Na podstawie zebranych w powyższych tabelach informacji można wysnuć następujące kluczowe wnioski o porównywanych systemach sterowania o otwartej architekturze:

  • architektura NGC, dostarczająca pełnego opisu interakcji pomiędzy komponentami a platformą, została obecnie poprawiona – w tej architekturze niestety nie ma wygodnych metod konfiguracji systemu;
  • funkcjonalność architektura OSACA i OMAC jest podobna. Oba te rozwiązania dostarczają wygodnych narzędzi konfiguracji systemu. Z drugiej strony, nie definiują interakcji pomiędzy komponentami a platformą. Dodatkowo, standard opracowany przez OMAC opisuje tak funkcje komponentów w znacznie dokładniejszy aniżeli OSACA sposób;
  • z powodu wielu niezdefiniowanych wymiarów architektury trudno jest poddać syntetycznej ocenie standard OSEC. Ponieważ każdy z wymiarów wymagań ma swoje znaczenie, porównanie systemów sterowania o tej architekturze w każdym z wymagań.

Dodatkowo możliwe jest poczynienie następujących spostrzeżeń:

  • regulator NGC będzie lepszy w kwestii dziedziny możliwych zastosowań. Dzieje się tak z powodu architektury sterownika;
  • pod względem spełnienia wymogu otwartości, architektury OSACA i OMAC są lepsze; obie dostarczają efektywnych metod konfiguracji systemu;
  • OSACA i OMAC są lepsze również pod względem możliwości współpracy pomiędzy modułami; szczegółowo definiują interfejsy zachowań komponentów;
  • system o architekturze NGC jest lepszy pod względem możliwości przenoszenia modułów pomiędzy platformami; dzieje się tak z uwagi na kompletny opis interakcji pomiędzy komponentami a platformą;
  • architektura NGC jest lepsza od pozostałych również pod względem standaryzacji interfejsów; definiuje wiele rodzajów standardów zewnętrznych interfejsów;
  • architektura OMAC jest stosunkowo prosta w implementacji; szczegółowo definiuje interfejsy wszystkich komponentów;
  • wszystkie te systemy mają jednak podstawową wadę, żadna z architektur nie dostarcza efektywnej metody dla spełnienia wymogów działania aplikacji pod rygorem czasu rzeczywistego – jest to współcześnie indywidualna sprawa inżynierów, realizujących systemy sterowania zgodnie z jedną ze wspomnianych architektur.  

Przestrzeń ewaluacyjna może zostać zastosowana również podczas opracowania nowej koncepcji systemu sterowania o otwartej architekturze:

  • podczas procesu projektowania systemu przestrzeń ewaluacyjna może posłużyć do porównania kilku koncepcji, celem wyboru wersji optymalnej;
  • podczas ewaluacji opracowanej koncepcji systemu sterowania – posłuży wtedy do porównania różnych układów sterowania, obnażając wady i uwypuklając najważniejsze zalety układu.

Podsumowując, zaprezentowana idea przestrzeni ewaluacyjnej została zaprezentowana i użyta do porównania kilku znanych architektur SSOA. Po przeprowadzeniu tejże ewaluacji nasuwa się bardzo istotny wniosek: istniejące obecnie na rynku systemy sterowania o otwartej architekturze nie mają optymalnej struktury – mają swoje wady i zalety – to od użytkownika zależy, co takie SSOA potraktuje za wadę, a co za zaletę.  

Artykuł pod redakcją dr inż. Krzysztofa Pietrusewicza  

Komentarz redakcji

Metody przedstawione w niniejszym artykule, choć związane ściśle z ewaluacją systemów sterowania o otwartej architekturze, stosowanych do sterowania obrabiarkami sterowanymi numerycznie CNC, mogą zostać z powodzeniem zastosowane podczas ewaluacji dowolnego systemu sterowania. Dodatkowo, poza wymienionymi w artykule SSOA, jak NGC, OMAC, czy OSACA, na rynku obecnie dostępnych jest wiele rozwiązań firmowych. Więksi producenci związani są poprzez uczestnictwo w komitetach i grupach roboczych wokół takich organizacji jak np. OMAC, implementując w swoich rozwiązaniach większość zaleceń opracowanych przez te organizacje standardów i zaleceń – ciekawym doświadczeniem dla potencjalnego użytkownika mogłoby być przeprowadzenie takiej ewaluacji dla tychże firmowych rozwiązań.