Ten wpis jest kolejną częścią Akademii PLC Elmark, opisuje typy zmiennych dostępnych w sterownikach UniStream i ich zastosowanie.
Czym są typy danych w sterowniku PLC
Typy zmiennych informują nas o rodzajach pamięci, których używają elementy i funkcje programu.
Ogólne typy danych w sterownikach PLC
Bool (Bit)
Najbardziej podstawowa zmienna, która może przyjmować dwie wartości: logiczne 0 lub 1. Zazwyczaj stosuje się je na przykład jako przełączniki. Dane te można zapisać jedynie w formacie binarnym.
INT8
Jest to typ danych, służący do zapisywania wartości które można przedstawić w postaci 8 bitów (1 bajtu). Można je zapisywać zarówno w formacie dziesiętnym, binarnym, jak i szesnastkowym. W systemie dziesiętnym przyjmuje wartości całkowite z przedziału od -128 do 127
UINT8
Rozwinięciem tej nazwy skróconej jest Unsigned INT8 czyli nieoznaczony INT8, co oznacza, że nie przyjmuje on wartości ujemnych. Można zapisywać go w formacie dziesiętnym, binarnym i szesnastkowym. W systemie dziesiętnym przyjmuje on wartości całkowite od 0 do 255
INT16
INT16 służy do zapisu wartości, którą da się zakodować za pomocą 16 bitów i, tak samo jak INT8, można go zapisać w formacie dziesiętnym, binarnym i szesnastkowym, a jego przedział wartości to liczby całkowite od -32768 do 32767. Należy jednak pamiętać, że jeśli wartość którą chcemy zapisać mieści się w przedziale INT o niższej ilości bitów, to dla oszczędności pamięci warto zastosować mniejszy typ danych.
UINT16 (Word)
Analogicznie do UINT8, UINT16 nie przyjmuje wartości ujemnych, a jego zakres w systemie dziesiętnym to od 0 do 65535. Można go przedstawiać w formacie dziesiętnym, szesnastkowym i binarnym.
DINT (INT32)
INT32 to typ danych zajmujący 4 bajty, a w systemie dziesiętnym możemy zapisywać wartości od -2,147,483,648 do 2,147,483,647. Można go używać w formacie binarnym, dziesiętnym, szesnastkowym oraz adresów IP.
UINT32 (DW)
Ten typ danych pozwala nam na zapisywanie wartości od 0 do 4,294,967,295. Możliwe do użycia formaty to binarny, dziesiętny, szesnastkowy, adres IP oraz HH:MM:SS.hhh - do zapisu czasu.
REAL (Float)
Zmienna Real należy do typu danych zmiennoprzecinkowych, w przeciwieństwie do zmiennych opisanych powyżej wyraża ona liczby rzeczywiste mieszczące się w zakresie ujemnym: od -3.402E37 do -1.176E-35 i dodatnim: od +1.176E-35 do +3.402E37. Tego typu zmienne można zastosować w czujnikach analogowych.
Time and Date (czas i data)
Jest to typ danych który obsługuje się za pomocą struktur. RTC Time zawiera godziny, minuty i sekundy, a RTC Date - dzień tygodnia, dzień miesiąca, miesiąc i rok. Co więcej, sterownik pobiera te dane automatycznie z zegaru systemowego.
String (Łańcuch znaków)
Ten typ danych pozwala na zapisywanie znaków w standardzie Unicode. W zależności od wybranego przez nas standardu, znaki są kodowane w sposób 7 bitowy (ASCII), 16 bitowy (UTF-16) lub 32 bitowy (UTF-32).
Struktury - typy danych definiowane przez użytkownika
Array (tablica)
Użytkownik może łączyć zmienne tego samego typu danych, które mogą być obsługiwane jako sekwencyjny blok danych. Tablica to uporządkowany zbiór komórek, gdzie każda komórka posiada własny numer wiersza i kolumny, który ją definiuje. Komórki przechowują wartości danego typu, tak jak zwykłe zmienne.
Struct
Użytkownik może łączyć różne typy zmiennych lub całe tablice w strukturę, która jest traktowana jako sekwencyjny blok danych. Struktura stanowi swego rodzaju zbiór typów danych. Użytkownik definiuje, jakie typy zmiennych wchodzą w skład struktury. Następnie może on dodawać do programu wiele instancji danej struktury - każda przechowuje swój własny zestaw wartości.
Buffers
Buffer jest tablicą bajtów, której długość może definiować użytkownik. Stosuje się go najczęściej przy komunikacji z wykorzystaniem protokołu MODBUS.
Struktury danych tworzone przez system
Struktury
Są one tworzone przez program UniLogic w momencie w którym użytkownik dołączy do układu lub programu dodatkowe I/O, Timery, regulatory PID. Każda struktura przechowuje dane opisujące pracę dołączonego elementu programu.
Buffers
Buffery także są dodawane automatycznie przez program UniLogic w momencie dodania konkretnych elementów. Ich zadaniem jest zachowywanie parametrów działania tych elementów.
Podsumowanie
W zależności od potrzeb programu należy stosować różne typy danych. Zastosowanie właściwej zmiennej jest bardzo istotne jeśli chcemy, aby program był dobrze zoptymalizowany, a dzięki temu wydajny i niezawodny.
Należy pamiętać że zmienne typu Bool (bit) stosujemy, kiedy chcemy zapisać wartości logiczne (true/false). Dlatego używamy ich przykładowo do tworzenia przełączników.
Zmienne typu Integer (INT) używamy, jeśli chcemy zapisywać wartości całkowite w danych przedziałach, na przykład do tworzenia liczników wykonanych cyklów. Należy pamiętać, aby zastosować zmienną całkowitą, której przedział zapisywanych wartości najlepiej odpowiada potrzebom danych, które chcemy w nim przechowywać. Przykładowo, zastosowanie INT16 do zapisywania danych w przedziale od 0 do 100 jest niepoprawne i jedynie niepotrzebnie zajmie pamięć sterownika.
Dane typu Real powinno się stosować przykładowo do zapisywania odczytów z czujników analogowych. Zastosowanie tego typu zmiennej pozwoli nam na dokładne zapisanie danych ze zbioru liczb rzeczywistych.
Zmienne typu String pozwalają na zapisywanie ciągu znaków. Stosuje się je na przykład w celu wyświetlania na panelu HMI informacji tekstowych o zmianie stanu urządzenia, które mają być widoczne dla operatora.
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!