Integracja OT i IT – prosto i efektywnie
| TechnikaŻyjemy w czasach transformacji cyfrowej. Coraz częściej konwencjonalne rozwiązania z dziedziny automatyzacji przemysłu przestają być wystarczające, a zarówno producenci, jak i ich klienci końcowi dostrzegają rosnącą potrzebę doposażania układów sterujących w rozwiązania umożliwiające łatwą i szybką integrację z systemami IT.
Jak wynika z najnowszego raportu "Smart Industry Polska 2020", ponad 25% uczestników badania deklaruje plany wdrożenia rozwiązań digitalizacyjnych w swoich przedsiębiorstwach – co oznacza przeszło dwukrotny wzrost w porównaniu z rokiem 2018. Przyczyn należy doszukiwać się m.in. w dynamicznych zmianach, jakie możemy zaobserwować w gospodarce, podejściu do ekologii, ale również w codziennych zwyczajach konsumentów. Duży wpływ na wzrost zainteresowania rozwiązaniami digitalizacyjnymi mają także trendy formujące się obecnie w przemyśle. To właśnie firmy oferujące innowacje, niespotykane dotychczas w maszynach czy instalacjach, stają się liderami w branży i zwiększają swoją wartość na rynku. Często mówi się też o tym, że "dane to nowa waluta" – właściwe ich wykorzystanie faktycznie przekłada się na wzrost zysków i oszczędności, m.in. dzięki zagadnieniom takim jak predictive maintenance czy analiza danych pod kątem zużycia energii. Widzimy więc, że digitalizacja nie jest pustym sloganem, ale niesie ze sobą realne i wymierne korzyści, zarówno dla producentów maszyn, jak i użytkowników tychże.
Należy jednak pamiętać, że masowe dane generowane przez czujniki i system sterujący nie mają wielkiej wartości, dopóki nie zostaną we właściwy sposób przetworzone. To zadanie stawiane jest szerokiej gamie różnorodnych systemów IT – począwszy od baz danych, poprzez lokalne systemy do zarządzania produkcją (np. wszelkiej maści systemy ERP i MES) aż po zaawansowane aplikacje obliczeniowe uruchamiane w chmurze. Niniejszy artykuł stanowi przegląd rozwiązań umożliwiających ich integrację z konwencjonalnymi systemami automatyki SIMATIC.
Podejście klasyczne
Mechanizmy umożliwiające komunikację z nadrzędnymi systemami informatycznymi nie są technologiczną nowinką i stosowane są w systemach sterowania już od wielu lat. Możemy je spotkać chociażby w branżach, w których gromadzenie wiarygodnych danych na temat wyrobu jest niezbędne na każdym etapie produkcji. Mowa tu zwłaszcza o przemyśle farmaceutycznym czy automotive, gdzie systemy traceability odgrywają kluczową rolę w zapewnieniu ciągłości i spójności łańcucha dostaw. Również pozostałe branże, takie jak intralogistyka, wymagają często powiązania programu sterującego ze zbiorami danych przechowującymi informacje o właściwościach produktu czy jego lokalizacji w magazynie.
W realizacji takich zagadnień pomocne są przede wszystkim systemy SCADA, stanowiące niejako łącznik między warstwą OT (Operation Technology) i IT (Information Technology). Systemy te oferują szeroki wachlarz protokołów komunikacyjnych umożliwiających wymianę danych z systemami sterowania, a dodatkowo dostarczają zintegrowane mechanizmy archiwizacji w bazach danych SQL. Oprócz funkcji zintegrowanych, do dyspozycji programisty pozostają także funkcje tworzone przez użytkownika w postaci skryptów VisualBasic lub JavaScript (w przypadku systemu WinCC Unified). Ponieważ oprogramowanie SCADA wymaga uruchomienia na komputerze przemysłowym klasy IPC, wszystkie zagadnienia komunikacyjne niemożliwe do zaimplementowania bezpośrednio w wizualizacji mogą być zrealizowane za pomocą zewnętrznych aplikacji tworzonych w językach wysokopoziomowych, np. C# lub Java.
Tego typu aplikacje bardzo często znajdują zastosowanie także wtedy, gdy instalacja lub maszyna nie korzysta z oprogramowania SCADA. Dzięki szeroko dostępnym bibliotekom programistycznym mogą one odwoływać się bezpośrednio do sterowników PLC klasy SIMATIC – zarówno w oparciu o protokół S7, jak i inne dostępne mechanizmy komunikacyjne, np. OUC (Open User Communication, czyli funkcje bazujące na rodzinie protokołów TCP/IP) czy Modbus. Taka koncepcja współpracy pomiędzy systemami IT i warstwą OT spotykana jest dzisiaj w wielu sprawnie działających aplikacjach i instalacjach przemysłowych bazujących na całym portfolio sterowników SIMATIC, począwszy od jednostek S7-300 aż po S7-1500.
Chmury obliczeniowe i bazy danych
Choć opisana w poprzednim akapicie koncepcja sprawdza się w wielu aplikacjach, stosowanie surowych funkcji OUC ograniczone jest do części systemów IT, działających zwykle w sieciach lokalnych przedsiębiorstwa. Otwarcie się na świat zewnętrzny wymaga nieco innego podejścia – zarówno jeśli chodzi o wykorzystywane protokoły komunikacyjne, jak i bezpieczeństwo danych. Nowe wersje bloków dostępne w sterownikach S7-1200/1500 wspierają szyfrowanie danych za pomocą protokołu SSL/TLS oraz definiowanie hosta poprzez nazwę domenową (QDN – Qualified Domain Name), co czyni z nich doskonałą bazę dla specyficznych funkcji do obsługi protokołów znanych dotychczas ze świata IT.
Zaliczyć możemy do nich m.in. HTTP (HyperText Transfer Protocol) oraz MQTT (Message Queuing Telemetry Transport) – w obu przypadkach z możliwością szyfrowania ruchu sieciowego. Funkcje te, dostępne w formie darmowych bibliotek do środowiska TIA Portal, bazują na blokach OUC i implementują rozwiązania specyficzne dla danego protokołu. Konfiguracja połączenia i transmisji danych realizowana jest w maksymalnie uproszczony sposób, za pomocą prostego interfejsu w bloku DB. W przypadku MQTT mamy do dyspozycji zarówno operację publikacji danych do brokera, jak i ich subskrypcję w oparciu na określonym topicu. Połączenie z serwerem może być uwierzytelniane poprzez login i hasło użytkownika, a także za pomocą certyfikatu SSL/TLS, dzięki czemu komunikacja realizowana jest w sposób bezpieczny i zapewniający integralność danych. Dostajemy więc gotowe narzędzie współpracujące z szeregiem chmur obliczeniowych dostępnych aktualnie na rynku, a także z lokalnymi i zdalnymi brokerami MQTT działającymi w aplikacjach tworzonych przez użytkowników. Jeśli aplikacja implementuje dodatkowo interfejs REST API, z pomocą przychodzi biblioteka do obsługi protokołu HTTP(S), umożliwiająca wymianę informacji za pomocą podstawowych metod POST i GET.
Standardowym wyzwaniem, z jakim często borykają się programiści automatycy, jest archiwizacja bądź odczyt danych z serwerów bazodanowych – zwłaszcza gdy taka komunikacja musi być zrealizowana bezpośrednio w sterowniku PLC. Możliwość tego rodzaju daje funkcja LSQL_Microsoft, również dostępna w formie darmowej biblioteki. Blok działa w oparciu na protokole TDS i pozwala na wykonanie podstawowych zapytań SQL (Create, Read, Update, Delete), wysyłając je bezpośrednio do serwera, z pominięciem interfejsu ODBC. Funkcja współpracuje ze wszystkimi wersjami Microsoft SQL Server i można ją uruchomić na sterownikach S7-1200 (FW V4.4) oraz S7-1500 (FW ≥ V2.5).
Web API w sterownikach S7-1500
Jeśli chodzi o wymianę informacji na linii S7-1500 – aplikacja IT, nowością jest zaimplementowana w FW2.8 funkcjonalność Web API. Umożliwia ona dostęp do danych sterownika oraz wykonywanie w nim pewnych operacji za pomocą prostych zapytań POST, wysyłanych po protokole HTTPS. Zapytania te są następnie przetwarzane na poziomie zintegrowanego webserwera, sterownik wykonuje wywołaną metodę (np. PlcProgram.Read) i zwraca odpowiedź do nadawcy. Niezbędne dla danej metody parametry wysyłane są w formacie JSON (JavaScript Object Notation), dzięki czemu cały proces komunikacji za pomocą Web API jest realizowany w sposób zunifikowany i stosowany powszechnie w wielu aplikacjach IT.
Rozwiązania PC-Based
Chociaż w sterownikach S7-1200/1500 możemy wykorzystać szereg gotowych funkcji umożliwiających komunikację z nadrzędnymi systemami, w dalszym ciągu rozwiązania bazujące na komputerach IPC dają nam w tej materii najwięcej możliwości. Mowa tu nie tylko o wspomnianym wcześniej oprogramowaniu SCADA, ale również rozwiązaniach przeznaczonych dla sterowników klasy S7-1500 Software Controller. Sterowniki te, pracując całkowicie niezależnie od systemu operacyjnego Windows, potrafią wymieniać informacje z aplikacjami pracującymi pod jego kontrolą. Takie połączenie możemy zrealizować za pomocą pakietu programistycznego SIMATIC Open Development Kit. Bazuje on na środowisku .NET Framework i dostarcza programiście szereg szablonów i bibliotek pozwalających wygenerować bloki FB wywoływane w programie PLC oraz sterowniki komunikacyjne w formie plików DLL, łączące te bloki z aplikacją użytkownika. Jeśli nie jesteśmy zainteresowani tworzeniem własnej aplikacji lub nie mamy odpowiedniej wiedzy programistycznej, Siemens dostarcza wielu gotowych bibliotek bazujących na pakiecie ODK – np. SIMATIC ODK 1500S SQL Driver, umożliwiającą komunikację z wieloma typami baz danych. Rozwiązania te mogą być wykorzystane przy współpracy ze sterownikami S7-1500 Software Controller, pracującymi na platformach IPC, S7-1500 Open Controller, a także na sterowniku CPU1518 MFP.
Rozważając temat automatyki PC-based, należy wspomnieć także o swoistej rewolucji w kontekście tworzenia aplikacji IT i współpracy z konwencjonalnymi systemami sterowania, czyli o rozwiązaniach Industrial Edge. Jest to platforma służąca do uruchamiania skonteneryzowanych aplikacji – zarówno tworzonych przez użytkownika, jak i pozyskiwanych z repozytorium IEH (Industrial Edge Hub). Rozwiązanie to umożliwia masowe zarządzanie urządzeniami IED (Industrial Edge Device), tzn. instalację, aktualizację i kasowanie aplikacji na wielu urządzeniach jednocześnie, oraz zapewnia mechanizmy bezpieczeństwa, takie jak szyfrowanie danych i uwierzytelnianie TFA. Platforma bazuje na ekosystemie Docker, dzięki czemu każda uruchomiona aplikacja (lub jej składnik) stanowi osobny kontener, bez wpływu na pozostałe serwisy i procesy. Poszczególne urządzenia IED możemy porównać do telefonów lub tabletów z systemem Android/iOS, na które pobieramy interesujące nas aplikacje z ogólnodostępnych repozytoriów zarządzanych przez twórców systemu. W przypadku platformy Edge mogą to być m.in. aplikacje do akwizycji danych z urządzeń polowych, wizualizacji, łączenia z chmurami obliczeniowymi wspomagające system automatyki lub zaawansowane aplikacje obliczeniowe bazujące na sieciach neuronowych i skomplikowanych modelach matematycznych.
Platforma SIMATIC Industrial Edge stanowi także jeden z elementów nowych paneli HMI Unified Comfort. Poza standardową wizualizacją tworzoną w oprogramowaniu WinCC Unified możliwe jest także uruchomienie na nich dodatkowych aplikacji, zwiększających możliwości paneli w kontekście obsługi maszyny i współpracy z systemem sterującym.
Nigdy nie było prościej!
Nowe generacje sterowników PLC już nie tylko służą do wykonywania operacji logicznych sterujących procesem, ale coraz częściej wyposażane są w liczne mechanizmy ułatwiające ich integrację z zaawansowanymi systemami IT. Liczne poziomy zabezpieczeń dostępne na każdym etapie budowania aplikacji (począwszy od bezpiecznych produktów tworzonych z założeniem "Security by default", poprzez ochronę know-how, aż po mechanizmy szyfrowania komunikacji i uwierzytelniania użytkowników) zapewniają integralność i bezpieczeństwo przetwarzanych danych. Funkcje programowe w połączeniu z dodatkowymi systemami, takimi jak Industrial Edge czy platformy PC-based, sprawiają, że wdrażanie rozwiązań digitalizacyjnych jeszcze nigdy nie było tak proste i intuicyjne.
Artur Nowocień
Wsparcie aplikacyjne SIMATIC
artur.nowocien@siemens.com
Siemens
www.siemens.pl/automatyka