Norma IEC 61131-3 definiuje elementarne typy danych, jakie mogą być używane w systemach sterownikowych. Typ określa zbiór wartości jakie mogą przyjmować dane, a zarazem zbiór operacji, które mogą być na nich wykonane. Poniższa tabela zawiera pełny zestaw elementarnych typów danych dopuszczonych w normie. Dana typu BOOL może przyjmować wartości 0 lub 1 odpowiadające słowom kluczowym FALSE i TRUE. Dane z wierszy od 2 do 5 mogą przyjmować wartości od –2 N-1 do 2 N-1-1, gdzie N oznacza liczbę bitów potrzebnych do przechowania danej. Zmienne bez znaku (wiersze od 6 do 9) przyjmują wartości od 0 do 2N-1, gdzie N oznacza, jak poprzednio, liczbę bitów.
Tabela 5.1. Elementarne typy danych stosowane w językach IEC 61131-3
| Słowo kluczowe | Typ danej | Liczba bitów |
| BOOL | Logiczna | 1 |
| SINT | Całkowita | 8 |
| INT | Całkowita | 16 |
| DINT | Całkowita | 32 |
| LINT | Całkowita | 64 |
| USINT | Całkowita bez znaku | 8 |
| UINT | Całkowita bez znaku | 16 |
| UDINT | Całkowita bez znaku | 32 |
| ULINT | Całkowita bez znaku | 64 |
| REAL | Rzeczywista | 32 |
| LREAL | Rzeczywista | 64 |
| TIME | Czas trwania | * |
| DATE | Data | * |
| TOD | Godzina dnia | * |
| DT | Data i czas | * |
| STRING | Ciąg znaków o zmiennej długości | * |
| BYTE | Bajt | 8 |
| WORD | Słowo | 16 |
| DWORD | Podwójne słowo | 32 |
| LWORD | Poczwórne słowo | 64 |
| * - liczba bitów jest zależna sprzętowo | ||
Z elementarnych typów danych można z kolei tworzyć rodzaje danych (generic data types), np. dane liczbowe mogą tworzyć rodzaj ANY_NUM, na który składają się dane typu: LREAL, REAL, LINT, DINT, SINT, ULINT, UDINT, UINT I USINT. Podobnie w normie określono rodzaj ANY_REAL obejmujący typy REAL i LREAL, rodzaj ANY_INT obejmujący wszystkie typy liczb całkowitych oraz rodzaj ANY_BIT zawierający typy LWORD, DWORD, WORD, BYTE i BOOL. Specyfikacja określonego rodzaju danych rozpoczyna się przedrostkiem ANY (z ang. jakikolwiek). Tworzenie rodzajów danych może być wykorzystywane przy użyciu funkcji zdefiniowanych dla pewnego rodzaju danych ( tzw. overloaded functions ).
Copyright © 2008-2010 EPrace oraz autorzy prac.