Integracja systemów sterowania PLC i wizualizacji SCADA

96

Zobacz, jak system SCADA wizualizuje dane produkcyjne agregowane w sterowniku PLC, wykorzystując przy tym bazy danych SQL. W dzisiejszym świecie, gdzie Przemysł 4.0 odgrywa coraz większą rolę, bardzo ważna jest ścisła integracja różnych systemów sterowania. Ścisła integracja daje bowiem swobodny przepływ informacji, a ten z kolei sprawia, że skuteczna wizualizacja w czasie rzeczywistym oraz szybkie reagowanie na zmiany w produkcji przestają być problemem. Co więcej, jeśli podczas integracji wykorzysta się pewne standardowe środki przekazu (jak np. bazy SQL), uzyskać można dodatkowe korzyści. Przede wszystkim chodzi tu o wydajną współpracę systemów OT oraz IT, która leży u podstaw współczesnej idei Internetu Rzeczy.

Czytając dalej ten wpis, zapoznasz się z przykładowym rozwiązaniem integrującym PLC i system SCADA opartym o produkty Elmark Automatyka.

Zarys rozwiązania integracji PLC i SCADA

Prezentowane dalej rozwiązanie ma na celu efektywne przekazywanie danych produkcyjnych, zbieranych przez PLC, do systemu SCADA. Sterownik PLC zapisuje zbierane informacje, w pewnych odstępach czasu, do bazy danych SQL. Z tej samej bazy dane wejściowe czerpie system SCADA, który następnie wizualizuje je na pulpitach menedżerskich.

Działanie systemu prezentuje poniższy schemat.

Schemat integracji PLC i SCADA poprzez bazę SQL

Wykorzystywany sterownik PLC – w tym przypadku model USC-B10-RA28 –zapisuje poszczególne pomiary do swojej wewnętrznej tabeli w 1-sekundowych odstępach czasu. Jeśli liczba rekordów przekroczy 100, sterownik wyzwala akcję zapisu danych z tabeli wewnętrznej do tabeli w bazie danych SQL. Następnie, rozpoczyna zapełnianie tabeli wewnętrznej od początku.

Zapisywane informacje to: data i czas pomiaru, nazwa czujnika oraz wartość mierzona.

Szczegółowe informacje na temat implementacji programu sterownika można znaleźć w osobnym wpisie na innym blogu prowadzonym przez Elmark Automatyka. Jego tematyka jest związana ze sterownikami PLC.

Oprogramowanie SCADA odczytuje dane z bazy SQL, z odpowiednio dobraną częstotliwością. Dzięki szerokiemu wachlarzowi narzędzi, oprogramowanie od ICONICS jest w stanie nie tylko zaimportować zawartość tabel SQL, lecz także stworzyć swoje własne powiązania pomiędzy nimi oraz wybiórczo wyświetlać informacje.

Narzędzie od ICONICS wchodzące w skład oprogramowania SCADA GENESIS64, które pozwala na wydajne operowanie na dużych zbiorach danych, nosi nazwę BI-AnalytiX. Więcej informacji na jego temat można znaleźć w innych artykułach na naszym blogu.

W tym przypadku za pomocą BI-AnalytiX pobiera się dane z tabeli SQL uzupełnianej na bieżąco przez sterownik. Wykorzystując możliwości tworzenia relacji między tabelami, wprowadzono również rozwiązanie łączące „Surowe Dane” ze wspomnianej tabeli SQL z informacjami na temat czujników, które zgrupowane są w innej tabeli.

 

 

 

Następnie, przy użyciu narzędzia do tworzenia responsywnych pulpitów menedżerskich – KPIWorX, zaprojektowano przejrzystą wizualizację. Czytając dalej ten wpis, można prześledzić kolejne kroki wdrażania takiego rozwiązania od strony systemu SCADA.

Połączenie z bazą danych w systemie SCADA

Pierwszym krokiem jest zdefiniowanie połączenia z odpowiednią bazą danych w systemie SCADA. Służy do tego narzędzie GridWorX. W tym przypadku, użyto go tylko do uzyskania wszystkich danych z dwóch zaprezentowanych wyżej tabel. Wszystkie operacje wykonywane na nich, leżą tym razem po stronie narzędzia BI-AnalytiX.

Połączenie systemu SCADA z bazą danych

Konsekwencją działań z powyższego filmu jest obecność dwóch źródeł danych: „UnitronicsValues” i „SensorInfo” w systemie SCADA. Zwracają one całe zestawy danych i stanowią źródło informacji dla narzędzia BI-AnalytiX.

Konfiguracja BI-AnalytiX

Krótki opis działania modułu

Działanie narzędzia BI-AnalytiX opiera się o dwa typy obiektów: Data Flows oraz Data Models.

Data Flows to nic innego, jak definicje źródeł danych wejściowych dla narzędzia. Mogą to być zarówno dane czasu rzeczywistego lub archiwalne – pochodzące z modułu Hyper Historian, jak i całe zestawy danych pobierane np. z tabel SQL. W tym przypadku została wykorzystana ostatnia wymieniona opcja. Dzięki Data Flows możliwe jest również zdefiniowanie pewnych operacji wykonywanych na danych już przy ich odczycie. Może to być np. zdefiniowanie nowej kolumny oraz jej zawartości, usuwanie częsci danych, filtrowanie itp.

Data Models to obiekty pozwalające na tworzenie relacji pomiędzy źródłami danych. Do Modeli Danychprzyporządkowane są tabele (których zawartość pobierana jest ze źródeł danych Data Flows) oraz widoki (Data Views)– tworzone na podstawie tych właśnie tabel.

Pierwsze źródło danych – wartości pomiarowe

Aby dodać Data Flow zawierający wartości pomiarowe zbierane ze sterownika PLC należy w odpowiedniej lokalizacji (pokazanej na poniższym filmie) wskazać typ pobieranych danych (tu: DataSet) oraz wybrać zapytanie dodane wcześniej do narzędzia GridWorX.

Dodatkowo, użyto jednej z funkcji BI-AnalytiX pozwalającej „na wejściu” przekonwerterować typ danych z wybranej kolumny. W tym przypadku zmieniany jest typ kolumny o nazwie „DateTime” z tekstowego (String) na czasowy (DateTime)

Data Flow – Dane pomiarowe

Drugie źródło danych – informacje o czujnikach

Aby zminimalizować ilość informacji przesyłanych na drodze PLC – baza danych SQL, czujniki pomiarowe są identyfikowane po krótkich nazwach („Sensor_1”, „Sensor_2″… – jak pokazano na wcześniejszych zdjęciach). Nie dostarczają one jednak informacji ani o typie czujnika, ani o miejscu jego zamontowania.

W celu większej przejrzystości prezentowanych danych dodano do modułu BI-AnalytiX drugie źródło danych będące tabelą SQL zawierającą bardziej szczegółowe informacje o miernikach. Dane te mogą zostać wprowadzone raz i być na bieżąco przyporządkowywane wartościom pomiarowym na podstawie zdefiniowanych powiązań między tymi tabelami.

Dodatkowo, przy definiowaniu Data Flow, dodano akcję tworzącą nową kolumnę łączącą w sobie informacje z 3 kolumn tabeli wejściowej.

Data Flow – informacje o czujnikach

Konsekwencją powyższych działań jest utworzenie dwóch źródeł (Data Flow) o nazwach:UnitronicsValues_Flow oraz SensorInfo_Flow, które zarówno przekazują, jak i wstępnie obrabiają informacje w BI-AnalytiX. W dalszej części wpisu dodano modele danych bazujące na nich.

Model danych w BI-AnalytiX

Na potrzeby omawianego projektu dodano jeden model danych: „UnitronicsDataModel”. Zawiera on jednak wiele elementów. Po pierwsze, dodano do niego dwie tabele:

  • Values – zawiera są to po prostu dane z „UnitronicsValues_Flow” odświeżane co 21 sekund (sterownik PLC zapisuje dane do tabeli SQL co 20 sekund); przy większych zbiorach danych warto rozważyć zwiększenie tego czasu;
  • Info – grupuje informacje z „SensorInfo_Flow”; odświeża się codziennie o północy.

Całą ich konfigurację przedstawia poniższy film.

Model Danych – podstawowe tabele

Po drugie, należy dodać w ustawieniach modelu danych powiązanie pomiędzy dwoma powyższymi tabelami oraz wskazać, na podstawie wartości której kolumny rekordy mają być dopasowywane. Tutaj tą kolumną jest „SensorName”. Występuje ona w obydwu powyższych tabelach.

Relacja między tabelami w modelu danych

System SCADA wizualizuje dane z PLC z wykorzystaniem baz SQL w kontekstowy sposób dzięki widokom danych – „Data Views”. Korzystają one bezpośrednio z faktu istnienia powiązania pomiędzy dwoma omawianymi wyżej tabelami. Jest tak dlatego, że zwracają one zestawy danych zawierające informacje pochodzące z więcej niż jednej tabeli.

Poniższy film prezentuje konfigurację przykładowego widoku. Przy jego definiowaniu korzysta się z języka zapytań SQL. Ten, który dodano w tym wypadku zwraca 50 najnowszych próbek danych z czujnika „Sensor_1”. Każdy rekord składa się z:

  • daty i czasu pomiaru – z tabeli „Values”,
  • szczegółowych informacji o czujniku (kolumna dodana w Data Flows) – z tabeli „Info”,
  • wartości mierzonej – z tabeli „Values”.

Zapytanie SQL pozwalające na uzyskanie takiego efektu zamieszczono niżej.

SELECT TOP 50 Values.DateTime, Info.SensorInfo, Values.Value FROM Values INNER JOIN Info ONValues.SensorName = Info.SensorName WHERE Values.SensorName = ‚Sensor_1’ ORDER BYValues.DateTime DESC

Widok danych w BI-AnalytiX

Wizualizacja danych z PLC w systemie SCADA

Wizualizacja danych pochodzących z PLC w systemie SCADA ICONICS odbywa się za pomocą narzędziaKPIWorX. Dostęp do niego można uzyskać na 2 sposoby. W tym przypadku otworzono przeglądarkę obsługującą HTML5 (np. google Chrome) i wpisano:

<IP_komputera_z_KPIWorX>/anyglass/projects/KPIWorX/default.kpix .

Pozwala to na otworzenie kreatora pulpitów menedżerskich w przeglądarce.

Aby usystematyzować nieco prezentację metod wizualizacji podzielono ją na 3 części. Dodatkowo, każdej z nich towarzyszy prosta implementacja filtra, pozwalającego wybiórczo wyświetlać dane.

Przegląd metod prezentacji danych

KPIWorX udostępnia wiele sposobów prezentacji danych. Co więcej, wszystkie narzędzia jak wykresy czasowe kołowe, czy diagramy danych konfigurowane są metodą „przeciągnij-upuść”.

Metody prezentacji danych na pulpitach menedżerskich KPIWorX

Powyższy film przedstawia rozwiązanie pozwalające na prezentację sumy wskazań w zależności od miernika (Sensor_1, Sensor_2 …) za pomocą 3 typów narzędzi. Dodatkowo pokazano jak skonfigurować filtr umożliwiający dostosowywanie na bieżąco, z którego czujnika dane mają być wyświetlane w danej chwili.

Funkcja „Drill Down” na wykresach czasowych

W prezentacji informacji bardzo ważna jest możliwość wygodnego przechodzenia od danych ogólnych (np. sumy wskazań mierników przepływu w danym roku) do szczegółowych (np. sumy ich wskazań w danym dniu). Funkcjonalność ta nosi nazwę „Drill Down” i pozwala na kontekstualizację danych w czasie rzeczywistym, w obrębie jednego wykresu.

Funkcja „Drill Down” w prezentacji danych

Wykres czasowy wskazania z jednego czujnika

Niżej został zaprezentowany film pokazujący opcje konfiguracji wykresu czasowego wskazania z jednego wybranego miernika. Dane użyte przy tworzeniu wykresu pochodzą z dodanego wcześniej Widoku Danych (Data View).

Wykres czasowy jednego wskazania

Podsumowanie

Wizualizacja danych ze sterowników PLC (w ogólności baz SQL) przez system SCADA to złożone zagadnienie. Wpis ten opisał tylko przykładowe rozwiązanie, które jednak z uwagi na szerokie możliwości z zakresu filtrowania i kontekstualizacji danych może być dalej rozwijane tak, aby obsługiwać dowolną liczbę sterowników PLC.

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.

Źródło: Elmark

ZOSTAW ODPOWIEDŹ

Wprowadź swój komentarz!
Wprowadź swoje imię