Для программирования объектов доступны 18 основных типов:
- BOOL: логическое (true или false) значение;
- SINT: целочисленная короткое значение (8 бит);
- USINT: беззнаковое целочисленная короткое значение (8 бит);
- BYTE: байтовое значение (8 бит);
- INT: простое целочисленное непрерывное значение (16 бит);
- UINT: беззнаковое простое целочисленное непрерывное значение (16 бит);
- WORD: словное значение (16 бит);
- DINT: целочисленное непрерывное значение двойной длины (32 бит);
- UDINT: беззнаковое целочисленное непрерывное значение двойной длины (32 бит);
- DWORD: словное значение двойной длины (32 бит);
- LINT: длинное целочисленное непрерывное значение (64 бит);
- ULINT: беззнаковое длинное целочисленное непрерывное значение (64 бит);
- LWORD: длинное словное значение (64 бит);
- REAL: реальное (с плавающей точкой) непрерывное значение;
- LREAL: длинное реальное (с плавающей точкой) непрерывное значение (64 бит);
- TIME: временная величина; в данном типе описываются значения, меньшие чем 1 день, и этот тип не предназначен для хранения даты;
- DATE: значение даты (32 бит);
- STRING: строка символов, имеющая определенный размер. Размер представляет максимальное число символов, которое может содержать строка. Например, строка "MyString" из 10 символов: MyString(10).
Базируясь на вышеупомянутом стандартном типе IEC 61131-3, Вы можете определять новые пользовательские типы. Кроме того Вы можете определять массивы или структуры, использующие стандартные типы, массивы IEC 61131-3 или другие пользовательские типы.
Во время создания переменной может задаваться размерность для определения массива. Следующий пример показывает переменную MyVar типа BOOL с размерностью, определенной как:
FOR i = 1 TO 10
DO MyVar[i] := FALSE;
END_FOR;