W tym artykule opiszę metodę zapisu danych z panelu HMI firmy Siemens (na przykładzie KTP 400 Basic) na pendrive lub inny kompatybilny nośnik danych.
Potrzebujemy trzy rzeczy, bez których nie da się zapisać danych:
sterownik PLC,
panel HMI z portem USB,
nośnik danych np. pendrive.
Następnie piszemy programy na PLC i HMI, tak jak to się robi zwykle. Wartości zmiennych, które chcemy zapisać, dobrze jest umieścić w bloku danych, ponieważ pozwala to na wygodniejszy dostęp. Przyjmujemy założenia dotyczące danych:
Ile zmiennych chcemy zapisywać? Mam do dyspozycji dwie i obie będę zapisywał.
Jak często chcemy je zapisywać? Wybrałem 1s dla obu zmiennych.
W ilu plikach? Chciałbym dwa, ale panel Basic ogranicza to jednego.
Jaka ma być długość nagrania (liczba zapisów na plik)? Wybrałem 1000 próbek.
Na panelu dodajemy przycisk wyzwalający generowanie sygnału i umieszczamy wykres trendu, dający podgląd na aktualne przebiegi. Sygnały są z zakresu od 0 do 15, więc odpowiednio dostosowujemy wykres. Umieszczamy jeszcze przycisk do przechodzenia na drugi ekran panelu.
Na drugim ekranie dajemy przycisk powrotu do pierwszego i dodajemy drugi wykres trendu, ale tym razem bez konfiguracji.
Przechodzimy do konfiguracji danych, które chcemy zapisać na pendrive. W drzewie projektu, w części z HMI, szukamy Historical data i otwieramy. Ukazuje się nam poniższe okno. Dostępne są dwie zakładki Data logs i Alarm logs, my skupiamy się na Data logs. Okno jest podzielone na dwie części, pierwsza, górna, jest odpowiedzialna za skonfigurowanie pliku, w którym będą przechowane dane, druga, dolna, za same dane.
Konfigurować możemy na dwa sposoby albo w pokazanym oknie, albo w dolnej zakładce Properties, w której informacje są lepiej uporządkowane. Wybieramy opcję drugą i zaczynamy dostosowywanie pliku. Klikamy dwukrotnie <Add new> w Data logs i przechodzimy do zakładki Properties. Wpisujemy nazwę pliku, liczbę próbek w pliku w Data records per log i miejsce zapisu pliku oraz jego typ. W przypadku paneli serii Basic do wyboru mamy tylko pliki txt, w przypadku paneli z serii Comfort dochodzi między innymi typ csv i RDB. Wybieramy ścieżkę zapisu pliku, w moim przypadku jest to \USB_X60.1\ i w zależności od modelu panelu może się ona różnić. Przechodzimy dalej.
W zakładce Logging metod wybieramy sposób zapisu danych. Wybieramy Circular log, który spowoduje, że po zapisie najstarsze próbki będą nadpisywane przez najnowsze.
W zakładce Restart behawior wybieramy sposób zachowania się programu po restarcie panelu. Zostawiamy wartości domyślne.
Przechodzimy teraz do konfiguracji samych danych. W oknie Logging tags klikamy dwukrotnie <Add new> i przechodzimy do zakładki Properties. W zakładce General podajemy nazwę widoczną w programie oraz wybieramy zmienną, którą chcemy zapisywać.
Logging type pozwala nam na zdefiniowanie sposobu wymuszania zapisu tzn. czy zapis ma być wykonywany co 1s (Cyclic), czy jeśli zmienna zmieni wartość (On change), czy na żądanie (On demand). Wybieramy zapis cykliczny.
W Deadband for logging możemy ustawić granice, po których przekroczeniu, dane będą ignorowane albo granice, dla których dane nie będą ignorowane. Np. wiemy, że max. temperatura wynosi 50deg i wyniki powyżej będą ignorowane, bo będą błędne. Domyślne ustawienie wyłącza granice.
Uwaga! Panele serii Basic mają ograniczenie do jednego pliku z danymi. Musimy wtedy wszystkie zmienne umieścić w jednym pliku. Jeśli posiadamy panel z serii Comfort, to problem się nas nie dotyczy i dodajemy kolejny plik z kolejną zmienną. Zmienna może być zapisywana tylko w jednym miejscu, w przeciwnym wypadku program nie pozwoli się skompilować.
Wracamy do okna edycji drugiego ekranu panelu (tego z przyciskiem i nieskonfigurowanym wykresem trendu). Dodajemy nowy Trend i wybieramy jego typ jako Datalog. Teraz wybieramy źródło sygnału jako Historical data, Pomiar A, Zmienna A. Dodajemy w ten sposób jeszcze drugi Trend i konfigurujemy jego wygląd, a zakres osi czasu ustawiamy na 500s. Tak utworzony wykres będzie przedstawiał nam zmienne zapisane w plikach na pendrive.
Teraz pozostaje nam wgrać program na HMI i włożyć pendrive. Ekran z danymi z plików odświeża się tylko podczas zmiany ekrany, tzn. jeśli go otworzymy i nic się nie wyświetli, to należy przejść przyciskiem powrót do ekranu głównego i wrócić. Jeżeli dalej nic nie będzie się wyświetlało, oznacza to, że pendrive nie jest odczytywany poprawnie. Restart HMI z włożonym pendrive powinien pomóc.
Jak widać, plik txt zawiera wszystkie dane, ale są one dość niewygodne do obróbki i analizy. Do rozwiązania tego problemu posłuży się nam program arkusza kalkulacyjnego np. MS Excel. Kopiujemy wszystkie dane z pliku Ctrl + A, Ctrl + C i otwieramy MS Excel. W Narzędzia główne rozwijamy opcję wklej i wybieramy Użyj kreatora importu tekstu. Następnie w kreatorze zaznaczamy, że tekst ma być rozdzielone przy pomocy tabulatorów.
Otrzymujemy poniższą formę prezentacji danych. Jak widać, jest lepiej. Dane z dwu przebiegów występują kolejno po sobie i ciężko je przerzucić np. na wykres. Dlatego w przypadku paneli Basic lepiej jest zapisywać tylko jedną najważniejszą zmienną, a w przypadku paneli Comfort zapisywać zmienne do różnych plików w formacie csv.
Edit: Projekt zapisany w archiwum TIA Portal v15:
Comments