Typy danych dostępnych w sterownikach UniStream

26.07.2019 How to /
Typy danych dostępnych w sterownikach UniStream
Wizerunek autora
Były pracownik Elmark Automatyka S.A.

Czym są typy danych w PLC

Typy zmiennych informują nas o rodzajach pamięci, których używają elementy i funkcje programu.

 

Typy danych w UniStream

 

typy zmiennych 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).

 

Constant

Stała wartość całkowita lub zmiennoprzecinkowa poprzedzona znakiem "#" .

 

Alias constant

Zdefiniowana przez użytkownika nazwa zawierająca stałą wartość.

 

Timer

Struktura składająca się z dwóch rejestrów 32 bitowych całkowitych (Nastawa oraz Aktualny czas) oraz jednego bitu (Out).

 

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.

 

Bufory

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.

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!