Sporządzanie raportów z danych zbieranych ze sterowników

Podręcznik tworzenia pojedynczych rozwiązań przez wykorzystanie powszechnie dostępnego, prosto z półki oprogramowania do zbierania danych. Rodzaj danych, formaty plików, narzędzia magazynowania, dostępu i wizualizacji na aktualne i przyszłe potrzeby użytkowników.

Cykl roboczy prasy. Zakład produkcji wytłoczek z aluminium. Zbieranie danych o cyklu roboczym maszyn przez program Microsoft Access
Kadra inżynierska zakładów produkcyjnych, zarówno z zakresu technologii wytwarzania, zapewnienia jakości, jak i zarządzania produkcją, a także specjaliści z wielu innych działów, coraz bardziej domagają się bieżących, fragmentarycznych, ale też całościowych sprawozdań obejmujących dane o przebiegu produkcji. Motywy tych żądań są mocno zróżnicowane. Pewien inżynier zgłasza potrzebę danych o cyklu pracy maszyny w arkuszu kalkulacyjnym, pozwalającym na analizę i wysnucie wniosków w celu usprawnienia produkcji. W innym przypadku życzenie dotyczy całościowego raportu dla wszystkich maszyn, ale nie do bieżącego podglądu, lecz do zapisania w pamięci z możliwością sięgania do tych danych w dowolnym momencie przez system informatyczny użytkownika. Lista tego rodzaju rozbieżnych wymagań stale się wydłuża.
Pomimo różnorodności zgłaszanego zapotrzebowania na dane, mają one jedną wspólną cechę – trudność w znalezieniu prostego rozwiązania problemu. Dokonując bezpośredniego przeszukania zasobów zgromadzonych danych, można uzyskać rezultat prowadzący do dezorientacji. Niniejszy artykuł rzuca nieco światła na to zagadnienie. Mamy nadzieję przyczynić się do lepszego zrozumienia przyczyn, z powodu których otrzymywane rozwiązanie nie jest zgodne z oczekiwaniami czytelników. Często jest to sprawa nazewnictwa (patrz ramka „Terminologia”) niezbyt precyzyjnie określającego treści, jakie są zawarte pod konkretną nazwą, często też skierowania informacji do właściwego miejsca, na przykład do otwartego pliku pamięci, magazynu danych lub też określonego segmentu systemu informatycznego. Aby skuteczniej pomóc w korzystaniu z istniejących narzędzi, każda metoda jest opisana rodzajem użytego, istniejącego oprogramowania, służącego do wydobycia danych ulokowanych w określonej postaci oraz miejscu. Poszukiwane rozwiązania z reguły są już wbudowane w komputerach interfejsów operatora przez firmę Microsoft.
Sposoby gromadzenia danych
Powszechnie używany skrót SCADA w swojej rozwiniętej nazwie zawiera słowa „data acquisition”, czyli pozyskiwanie, gromadzenie, czy też, jak to się najczęściej mówi, zbieranie danych. Jednakże osoby zainteresowane danymi z procesu produkcyjnego poszukują ich obecnie bezpośrednio w artykułach poświęconych systemom automatyzacji procesów. Ma to swoje uzasadnienie. Określenie SCADA ma bowiem obecnie, w pewnym sensie, inne znaczenie niż kilka lat temu. Kiedyś przemysł wydobywczy (kopalnie, wydobywanie gazu czy ropy), a także inne, był wyposażony w rozproszone sterowniki, które potrzebowały uzyskiwać dane w celu poprawnego nastawiania wartości zadanych dla obwodów regulacyjnych. Oprogramowanie SCADA zostało ukierunkowane na zbieranie tych rozproszonych danych i lokowanie ich w jednym miejscu, co umożliwiało poprawne prowadzenie przebiegu procesów systemowi automatycznego nadzorowania i regulacji. Pomimo tak brzmiącej nazwy wiele informacji zawartych w oprogramowaniu SCADA odnosi się do układów automatyki lub systemów informatycznych bazujących na powszechnie używanym oprogramowaniu do typowych sterowników PLC lub interfejsów użytkownika HMI. Tego rodzaju przemieszczenie treści wystąpiło w ciągu ostatnich lat, od kiedy sprzęt typu HMI stał się powszechną, integralną częścią każdego komputerowego systemu informatycznego użytkowników.

Dane testu produkcji rur wizualizowane przez Microsoft Excell, format plików tekstowych, zmiennoprzecinkowych (CSV)
Innym rodzajem działań o charakterze zbierania i magazynowania danych, jednak różniących się od typowego SCADA, jest dziedzina, w której zachodzi potrzeba wykonywania bardzo szybkich i dokładnych pomiarów. Nie są to pomiary dotyczące czasu trwania cyklu pracy maszyny lub sumowania ilości przepływającego medium. Dotyczą one na przykład pomiaru zmian ciśnienia lub częstotliwości prądu rzędu kilo- lub megaherców, a użytkownikami wyników takich pomiarów są naukowcy studiujący niestabilność pola magnetycznego lub tempo przebiegu reakcji.
Niektóre rozwiązania techniczne przeznaczone do gromadzenia danych stanowią samodzielne urządzenia o wyglądzie zbliżonym do pierwszych, walizkowych, przenośnych komputerów, inne z kolei stanowią kosztowne moduły instalowane w typowych PC. Szczególnym przypadkiem takiego rozwiązania są oscyloskopy cyfrowe.
Wymienione tu przykłady sprzętu do zbierania i gromadzenia danych są całkiem odmienne od standardowych rozwiązań określanych mianem SCADA. Pomimo tego pewne wyroby z tej grupy są zaliczane do rozwiązań ogólnego przeznaczenia i wykorzystywane zarówno w pracach naukowych, jak i przemyśle.
– Ta podwójna natura jest dobrze zilustrowana w ostatnio przeglądanym artykule dotyczącym systemów automatyki – relacjonuje autor artykułu. Napisano tam: – My potrzebujemy wielokanałowego zbierania danych wykonującego pomiary z prędkością 100 tysięcy próbek na sekundę, zsynchronizowanego z obwodem hydraulicznego sterowania pracą manipulatora o dwóch ramionach (osiach). W takim stwierdzeniu mamy do czynienia z kompletnym połączeniem pojęć z dziedziny sterowania ruchem oraz gromadzenia danych.
Niestety, operatorzy lub kierownicy procesu technologicznego nie zawsze zdają sobie sprawę z tego, że takie zaawansowane rozwiązania techniczne nie mają nic wspólnego z ich problemem, bowiem to nie jest to, co naprawdę jest im potrzebne; zazwyczaj chodzi im o pewną ilość danych w określonym układzie, nad którymi mogliby pomyśleć podczas śniadania.
Otrzymywanie potrzebnych danych
Te wszystkie zmiany dotyczące funkcjonalności układu automatyzacji, jego możliwości, a także prosta obecnie sztuka uzyskiwania wybranych danych z systemu, spowodowały wyraźne komplikacje w sferze nazewnictwa. Aby zatem uporządkować poruszanie się na tym wspólnym polu zbierania danych, prezentujemy trzy przykłady wzięte wprost z inżynierskiej praktyki.
Operator procesu wytłaczania elementów z aluminium próbuje rozwiązać trudności dotyczące jakości i przebiegu produkcji, jakie napotkał w nadzorowanym procesie. Wykonuje testy i próbuje zoptymalizować przebieg produkcji, podnosząc szybkość wytłaczania i obserwując rezultat w kształtowaniu się temperatury i czasie chłodzenia oraz jakości wyrobu. Pierwotnie były to informacje obserwowane wzrokowo i zapisywane w podręcznym notatniku. Operator wie jednak, że przed zapisaniem w rejestrze powinno mieć miejsce pewne uśrednianie i analiza wyników obserwacji dla cyklu pracy maszyny. Np. tempo schładzania nie jest pojedynczą liczbą umieszczoną w rejestrze danych. W tym celu inżynier (operator) wypróbował kupiony za duże pieniądze 3-częściowy pakiet programowy, którego zastosowanie nie dało jednak oczekiwanego rezultatu. Zatem teraz poszukuje bardziej znanego rozwiązania, lepiej dopasowanego do celu, który pozwoli programowi Microsoft Access na wgląd do danych. Jego zadaniem jest dać odpowiedź na pytanie: Jak uzyskać odpowiednie dane z arkusza kalkulacyjnego dokładnie w odpowiednim momencie cyklu pracy oraz we właściwej postaci?
Kierownik wytwórni stiuku dla ułatwienia wytwarzania wielu, opartych na wzorach, mieszanin materiałów do wyrobu końcowego produktu, w kombinowanym taktowym i ciągłym procesie produkcyjnym chce prześledzić zużycie materiału w specjalny sposób. Kierownik wie, że będzie to wymagało pewnych prac programowania w istniejącym systemie automatyki (opartym na PLC/HMI) w celu wytworzenia lub uchwycenia zdarzeń. Wie również, że sterownik i program zarządzania transakcjami lub program rejestrujący przebieg zdarzeń również będą musiały wykonać pewne obliczenia oraz grupy danych umieścić w buforach. W ostatecznym rezultacie wszystkie zgromadzone dane będą musiały być czytelne dla głównego komputera (będącego w ciągłym ruchu) i bazy danych Oracle (terminowym planie zakupów).
Dział zapewnienia jakości w fabryce wytłaczającej rury z PVC chce wyeliminować rejestratory z nośnikiem papierowym, używane do zapisu ciśnienia testowania każdego odcinka wytworzonej rury. Personel chce też, aby zanotowane trendy były ukazywane na panelu operatora. Dodatkowo chcą, by dane decydującego testu (wykonywanego co 0,2 sekundy w ciągu 5 sekund) były uwidocznione w bazie danych lub w arkuszu kalkulacyjnym. Ponadto chcą jeszcze zapisania wielu informacji z cyklu pracy oraz wielu innych, zsynchronizowanych zdarzeń zachodzących dokładnie w tym samym momencie podczas wykonywania cyklu pracy. Na koniec poszukują dostępu do wszystkich tych danych umieszczonych w jednorodnym pliku za pomocą programu Oracle, Notepad oraz Microsoft Access.
Czy przytoczone powyżej różne przykłady wymagań potrzebują oddzielnych rozwiązań? Nie. Bez względu na to, jaki system informatyczny jest używany, jakie rozwiązania w nim zastosowano, każdy z nich zawiera w sobie oprogramowanie umożliwiające zbieranie, zapisywanie w rejestrach i przechowywanie danych dotyczących zdarzeń i wyników pomiarów. Oprogramowanie tych systemów ma też zdolność tworzenia nowych rejestrów pamięci do zapisywania nowych danych powstałych w rezultacie wystąpienia uprzednio określonych zjawisk. W pewnych przypadkach zdefiniowane zostaje nowe wydarzenie, które ma związek lub wynika bezpośrednio ze zmian licznych, kontrolowanych przez system warunków lub parametrów pracy maszyny w cyklu roboczym. Obie z wyżej wymienionych możliwości, występujące w każdym użytkowym systemie, pozwalają na pozyskanie nowych danych i zapisanie ich w odpowiednim formacie tak, aby dowolne narzędzie dostępu do baz danych, z edytorem tekstu włącznie, mogło dokonać odczytu i wizualizacji danych zapisanych w rejestrach pamięci.
Sposoby programowania
Specjaliści zgłaszający swoje potrzeby co do systemu gromadzenia danych wiedzą, że rozwiązanie problemu wymaga określonego oprogramowania. Powstaje zatem pytanie, jakiego? Czy można rozwiązać ten problem „domowym sposobem”? Czy powinno się zakupić nowy program SCADA o dużej zdolności przetwarzania? A może obecnie posiadany system automatyzacji ma pewne narzędzia i możliwości pozwalające na rozwiązanie problemu bez dodatkowych nakładów?
Na wszystkie te pytania odpowiedź brzmi: TAK. Istniejący system ma wiele narzędzi potrzebnych do zbudowania satysfakcjonującego rozwiązania. Poniżej powody tego twierdzenia:

  • zarówno złożone, jak i ich pochodne wydarzenia mogą być wygenerowane przez sterownik PLC;
  • dane mogą być buforowane w sterowniku lub w interfejsie użytkownika (HMI);
  • interfejs użytkownika (HMI), mający w swoim oprogramowaniu sterowniki do PC, może działać jako serwer danych;
  • interfejs użytkownika (HMI) jest wyposażony w Visual Basic, będący idealnym narzędziem tworzenia kodów DAQ (do zbierania i gromadzenia danych), umożliwia też zapisywanie danych w dowolnym formacie oraz tworzenie baz danych w postaci pozwalającej na ich odczytywanie przez uniwersalne programy użytkowe;
  • powszechnie stosowane oprogramowanie Microsoft Office umożliwia dostęp do danych w rozpoznawalnej dla każdego postaci, w celu przeprowadzenia analizy.

Jedyny program, jaki musiał być dokupiony, był kopią programu z pakietu Office. We wszystkich wyliczonych tu praktycznych przypadkach interfejs użytkownika (HMI) był wyposażony w symboliczny, kodowy język VBA. Tylko w niektórych przypadkach, z którymi miałem do czynienia, VBA nie był wbudowany w HMI, wtedy zachodziła konieczność zakupienia go i dodania do regularnego Visual Basic, aby umożliwić odczytanie danych ze sterownika (VBA jest językiem kodowym w odróżnieniu do Visual Basic, który jest środowiskiem programistycznym wykorzystującym właśnie VBA).
W dwóch ostatnich z trzech opisanych tutaj przypadków dane mogły być umieszczone w plikach tekstowych w formacie CSV (zmiennoprzecinkowym). Podkreślić należy jako ważne, aby dane były łatwo odczytywane i przenoszone. Co do możliwości odczytania, format tekstowy jest uniwersalny, innym przypadkiem łatwo dostępnych danych są pliki XML.
W przypadku produkcji stiuku (2) leciwy już komputer główny IBM musiał odczytać dane i zrobił to tak, jak gdyby był projektowany na przyszłe potrzeby. Tu ukłon w stronę programistów IBM – mogą się czuć usatysfakcjonowani, bowiem możliwości oprogramowania potrzebne użytkownikowi teraz, już od lat tkwiły w ich opracowaniach, choć wykonanych przed dekadami. Są przy tym proste i funkcjonują bezbłędnie.
Dla opisanego przypadku produkcji rur z tworzywa (3) każdy wykonany test powodował utworzenie nowego pliku w formacie CSV oznaczonego nazwą i zawierającego dane dotyczące: maszyny, procesu i czasu. Dla klienta było to doskonałe rozwiązanie. Tego typu pliki są małe, zrozumiałe i bardzo łatwe do przenoszenia, spełniają wszystkie wymagania użytkownika. Książka pracy w programie Excell została tak zaprojektowana, że jednym naciśnięciem przycisku użytkownik może wywołać dane konkretnego testu celem ich wizualizowania w postaci rysunku lub wykresu dającego możliwość oceny przebiegu testu oraz określenia, czy był on poprawny czy wadliwy. Wizualizacja obejmowała też wszystkie inne podstawowe informacje w wygodnej postaci, pozwalającej błyskawicznie ogarnąć całość testu.
Warte podkreślenia jest również to, że tworzenie arkusza kalkulacyjnego do prezentacji danych nie było wymaganiem klienta, zostało tylko wykonane jako przykład możliwości wizualizacyjnych realizowanych przez oprogramowanie Microsoft Office. Pliki tekstowe w formacie CSV są czytelne dla komputera i mogą być importowane do innych programów bez potrzeby nabywania jakichkolwiek dodatkowych elementów do wyposażenia powszechnie używanego dzisiaj sprzętu.
W przypadku producenta elementów wytłaczanych z aluminium (1) wymagania dotyczyły tylko tego, aby dane o przebiegu procesu były wpisane bezpośrednio do bazy danych, z której program Microsoft Access będzie mógł je odczytać celem wizualizacji. Główni użytkownicy systemu informatycznego przedsiębirstwa (zarówno dla sfery produkcji – MES, jak też ekonomiczno-finansowej ERP), jako zainteresowani tymi informacjamimogą w dowolnej chwili, także w przyszłości, sięgnąć do tych danych. Fakt ten jest dla użytkownika korzyścią dodatkową.
Narzędzia stale pod ręką
Ważne jest to, że obecne interfejsy użytkownika prawdopodobnie mają już zainstalowane po dwa najważniejsze narzędzia umożliwiające przeprowadzanie analiz w oparciu o zgromadzone dane. Pierwszy to serwer danych, mający zdolność pozyskiwania danych od regulatorów na obiekcie bez potrzeby jakichkolwiek przeróbek w obwodach automatyki. Drugim jest wbudowany w oprogramowanie język VBA. Kiedy interfejs HMI ma oba te narzędzia, zbieranie igromadzenie danych jest łatwe. VBA bezpośrednio może odczytywać wartości parametrów ze sterowników. Interfejsy użytkowników są integralnymi elementami systemu informatycznego w przedsiębiorstwie (układ automatyzacji jest jednym z odgałęzień tego systemu). Zespolony w całość system nie musi poszukiwać konkretnych danych, są one dostępne z każdego miejsca bez względu na to, w którym fragmencie tego systemu się znajdują, bo to tylko kwestia adresu. Nie ma przy tym żadnego przeciwwskazania do kolejnej rozbudowy systemu, jego ulepszania lub wymiany poszczególnych urządzeń na nowsze.
Przy wykorzystaniu takich uniwersalnych narzędzi pojedyncze rozwiązania do zbierania i gromadzenia danych mogą być dostosowywane do konkretnych potrzeb użytkownika. Można też już opracowane rozwiązanie rozszerzać o kolejne procedury bez potrzeby zmiany tych narzędzi. Tak było w przypadku produkcji stiuków, gdzie został dodany program dla nowej procedury. Zarówno komputer IBM, jak i oprogramowanie Windows SCADA mogły korzystać z tych samych zasobów danych umieszczonych w plikach typu CSV. Program języka VBA w interfejsie HMI został rozbudowany, aby objął procedurę sprawdzającą dla testów.
Ważne jest też to, że wszystkie niezbędne składniki systemu: serwer danych, program poszukiwania procedur, program zbierania i gromadzenia danych oraz interfejsy użytkowników, były obecne w systemie. Oznacza to bowiem, że każdy z tych składników zmierzał w tym samym kierunku, każdy był i jest w stanie wesprzeć inne w osiągnięciu celu. Jest to szczególnie cenne (także dla personelu informatycznego) w sytuacji, gdy pracując nad określonym systemem, wszyscy ze spokojem realizują swoje zadania, wspierając się wzajemnie w wysiłkach; tworzy się wtedy atmosfera niskiego ryzyka niedopatrzeń, które mogłyby przeszkodzić w osiągnięciu spodziewanego rezultatu.
William Love jest starszym inżynierem w firmie Kredit Automation & Controls w Phoenix.
Artykuł pod redakcją Józefa Czarnula.
Terminologia
DAQ – „Data acquisition” – zbieranie i gromadzenie danych – w tym artykule oznacza rozwiązanie odbierające bezpośrednio od regulatorów i sterowników obiektowych dane dotyczące przebiegu procesu technologicznego oraz stanu urządzeń i zapisuje je w czytelnym formacie w celu udostępnienia personelowi oraz komputerowym urządzeniom układu automatyzacji. Rezultatem jest także możliwość wizualizacji dla celów naukowych oraz nadzorowania produkcji (SCADA).
VBA – „Visual Basic for Application” – jest językiem programowania w zestawie narzędzi programowych Visual Basic, służącym do tworzenia oprogramowania użytkowego dla sprzętu posługującego się systemem operacyjnym Windows.
SCADA – „Supervisory control and data acquisition” – termin ten oznacza rozwiązanie przeznaczone do pozyskiwania od licznych, rozmieszczonych na obiekcie, regulatorów i sterowników olbrzymiej ilości pojedynczych danych. Te dane są następnie zapisywane w określonych formatach w łatwo dostępnych plikach pamięci systemu informatycznego. Dotyczy to zarówno danych, jakie regulatory otrzymują od sprzętu pomiarowo – kontrolnego, ulokowanego na zautomatyzowanym obiekcie, jak też danych dotyczących samego regulatora i stanu technicznego urządzeń. Zgromadzone i zapisane dane służą przede wszystkim do wygenerowania (przez regulatory i sterowniki układu automatycznego nadzorowania procesu) sygnałów sterujących i regulujących do elementów wykonawczych na obiekcie. Niemniej są też dostępne dla personelu zakładu, który w dowolnym momencie może uzyskać wizualizację przebiegu procesu oraz zdarzeń zaistniałych w procesie, w celu przeprowadzenia rozmaitych analiz: naukowych, technicznych, porównawczych, ekonomicznych i im podobnych.
MES – „Manufacturing execution system” – podsystem informatyczny połączony z układem automatyzacji produkcji, służący do ustalania parametrów produkcji (ilość, asortyment, przeznaczenie), ale też inwentaryzacji, zarządzania zasobami, planowania i sporządzania analiz ekonomicznych.
ERP – „Enterprise Resource Planning” – oprogramowanie podsystemu informatycznego przedsiębiorstwa dla celów planowania i zakupów.