Tabele Danych w programie UniLogic są bardzo wydajnym i pomocnym obiektem przeznaczonym do organizacji danych.
Tabele danych (w programie UniLogic Data Table) są pomocną strukturą, która pozwala przede wszystkim na:
- Organizowanie i manipulowanie danymi za pomocą funkcji Ladder
- Tworzenie Data Logs
- Tworzenie i przenoszenie Receptur
- Importowanie danych z arkusza kalkulacyjnego (np. Excel)
- Pozwala użytkownikowi modyfikować dane za pośrednictwem widgetu na panelu HMI
Uwaga: Kiedy tworzysz Data Table musisz zdefiniować jej strukturę przez Properties Windows. UniLogic automatyczne wygeneruje strukturę dla każdej tabeli. Każda z typów Data Table posiada nieco inne funkcje struktury, ponieważ służą do różnych zastosowań.
Tworzenie Data Table
W drzewie programu wybieramy opcje Data Table, klikamy Add Table. Następnie klikając doskonale znanego nam "Zielonego plusa" dodajemy nową tabelę.
Następie uzupełniamy Properties Window. Określamy nazwę, typ (więcej o typach w dalszej części artykułu), liczbę rzędów i strukturę.
- Data Table Name - Nazwa tabeli, pojawia się w Global Tags
- Data Table Type - wybór typu tabeli FIFO, LIFO, Indexed
- Retained (Przechowywanie) - pozwala na awaryjny zapis danych w razie nagłego utracenia zasilania przez sterownik
- Rows - liczba rzędów tabeli
- Struct - Struktura Tabeli Danych
Gdy w kolumnach wybierzemy typ Float (liczby zmiennoprzecinkowe, więcej dowiesz się tu) musimy określić liczbę miejsc po przecinku która będzie zapisywana w tabeli.
Wprowadzanie i edycja w tabelach danych
Środowisko UniLogic pozwala na wprowadzanie i/lub edycje wartości tabel danych na kilka sposobów:
Za pomocą UniLogic
Klikamy na komórkę (ang. cell) którą chcemy zmienić, a następnie modyfikujemy jej wartość, nazwę itp.
Możemy również wprowadzić wartość do komórki gdy sterownik jest podłączony do PC a program znajduje się w trybie Online.
Przechodzimy do zakładki Online, wybieramy interesującą nas komórkę i klikamy, żeby zmienić jej wartość.
Za pomocą funkcji Ladder
Funkcje drabinkowe (LD) pozwalają na za zapis struktury w wybrany przez nas rząd tabeli lub nadpisanie dowolnej wartości w rzędzie.
- A - (Data Table Destination) podpinamy adres Tabeli, którą chcemy modyfikować.
- B - (Struct: Source) Wybieramy źródło struktury, którą chcemy zapisać/nadpisać w rzędzie. Przykładowo, możemy umieścić tutaj strukturę próbkowania Data Samplera.
- C - (Row Number: Write Destination) - wybieramy rząd który chcemy nadpisać/zapisać.
Uwaga, powyższy blok stosujemy dla wszyskich rodzajów Data Table
Rodzaje Data Table
Omówimy teraz podstawowe typy Tabel, które z pewnością będą często wykorzystywane przez programistę pracującego w UniLogic.
FIFO (kolejkowanie)
Tabla FIFO zgodnie z nazwą pracuje według zasady First-in-first-out (Pierwszy wchodzi - pierwszy wychodzi). Oznacza to, że dane które zostały wcześniej wprowadzone do tablicy są procesowane w pierwszej kolejności.
Struktura Tabeli FIFO:
- Number of Occupied Rows (UNIT32) - określa liczbę rzędów kolumny, które są zajęte przez dane.
- Number of Rows (UNIT32) - liczba rzędów w tabeli
- Status (INT8) - pozwala na odczytanie stanu tabeli (0=brak błędów, -1=full, -2=empty)
- Is Full/Is Empty (BIT) - sygnalizuje stan tabeli (pusta/nie pusta, pełna/nie pełna)
LIFO (pozycjonowanie)
Tabela LIFO działa według zasady last-in-first-out - (ostatni wchodzi - pierwszy wychodzi). W swoim zamyśle, ta tabela jest podobna do magazynu spożywczego, w którym jako pierwsze wychodzą produkty o najkrótszym terminie przydatności. Możemy wiec powiedzieć, że LIFO operuje na najwyższych rzędach tablic.
Struktura Tabeli LIFO jest identyczna jak FIFO
Funkcje LIFO
Układ tabeli LIFO możemy modyfikować za pomocą prostych funkcji wbudowanych w utworzoną strukturę.
- Push LIFO - (write) - zapisanie wartości do najwyższego rzędu tabeli
- Pop LIFO - (delete) - usunięcie wartości z najwyższego rzędu tabeli
- Top LIFO - (move) - kopiuje wartość z najwyższego rzędu i zapisuje do struktury.
- Clear LIFO - (clear) - czyści całą tabelę LIFO
Struktura Indexed (Indeksowanie)
Ostatnią omówioną przez nas strukturą będzie Indexed (indeksowanie, a właściwie "zaindeksowany'). Cechą tej struktury jest to, że możemy dowolnie adresować dane do wierszy. Ponadto, za pomocą DTI (Data Table Indexed) możemy importować wartość pochodzące ze źródeł zewnętrznych.
Import danych zewnętrznych do DTI
Do struktury Indexed możemy dodać każdy plik z rozszerzeniem .udtf, który znajduje się na wbudowanej karcie SD. Ponieważ, jest to nieco bardziej skomplikowane niż FIFO i LIFO, omówmy wszystkie złącza bloku LD.
Wybieramy z listy blok "Load DTI from SD", a następnie, podobnie jak w przypadku "Write Row To Data Table" dodajemy odpowiednie parametry.
- A - Data Table Destination - wybieramy tutaj do której tabeli chcemy zapisać dane.
- B - Start Row Number Destination - wybieramy od którego rzędu chcemy rozpocząć wstawianie.
- C - Source File Name - wpisujemy nazwę pliku z którego chcemy zaimportować dane
- D - Start Row in Source File - wybieramy od którego rzędu chcemy zacząć importować dane z pliku SD
- E - Number of Rows to Load - liczba rzędów które chcemy zaimportować
- F - Status - jest przypisany przez system jako tag błędów
Podsumowanie
Tabele Danych w programie UniLogic to z pewnością potężne narzędzie pozwalające na szybki import dużych ilości wcześniej przygotowanych przez nas danych. Poza importem danych, tabele są wykorzystywane przede wszystkim do archiwizacji danych Data Samplerów (opisanych w 11. części Akademii PLC). Tabele danych poznamy dokładniej przy wykonywaniu projektu końcowego, ponieważ będzie ich wymagał zapis danych z falownika.
Zachęcamy do zapoznania się z pozostałymi częściami kursu Akademi PLC Elmark, dzięki którym można poznać inne istotne cechy i funkcje sterowników Unitronics:
- Sterowniki Unitronics serii UniStream
- Uruchomienie sterownika UniStream i instalacja UniLogic
- Konfiguracja sprzętowa sterownika Unitronics UniStream
- Typy danych dostępnych w sterownikach UniStream
- Tagi i struktury w programie UniLogic
- Podstawy tworzenia wizualizacji w UniLogic
- UniLogic prosty program przycisk + lampka
- Timery dostępne w UniLogic
- RTC w sterownikach Unistream
- String, czyli tekstowy typ danych
- DataSampling i archiwizacja danych w UniLogic
- I/O w sterownikach PLC UniStream
- Alarmy wbudowane w programie UniLogic
- UAC, czyli Zarządzanie uprawnieniami użytkowników
- Dostęp VNC do sterownika UniStream
- Tabele Danych w programie UniLogic
- Komunikacja EtherNet/IP
- Komunikacja ModBus RTU w UniStream
- Regulator PID w sterownikach UniStream
- Komunikacja CAN, czyli szeregowa magistrala komunikacyjna
- Konfiguracja Falowników w UniLogic
- Komunikacja za pomocą protokołu FTP
- Protokół MQTT w środowisku UniLogic
- Konfiguracja modemu 3G, wysyłanie/odbieranie SMS
- Bazy SQL w połączeniu z UniLogic
Wpisy wykorzystujące nabytą wiedzę w zaawansowany sposób
Skontaktuj się ze specjalistą Elmark
Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!