Каждая переменная имеет такие свойства:
Имя каждой переменной должно быть уникальным в программе. В именах допускается использовать буквы, цифры и знаки подчеркивания. Пробелы недопустимы.
Тип переменной определяет диапазон значений, которые могут храниться в данной переменной, и размер занимаемой памяти в контроллере.
Логический (Boolean) - допустимые значения 0 или 1. Занимает 1 байт в памяти контроллера.
Целый (Integer) - 16-битное целое число. Значения от -32768 до 32767. Занимает 2 байта.
Вещественный (Float) - 32-битное число с плавающей точкой, соответствующее стандарту IEEE 754.
Значения от ±3.4E–38 до ±3.4E+38.
Занимает 4 байта.
В контроллере имеется 4 вида памяти - RAM, ROM, EEPROM и NVRAM. Соответственно, каждая переменная хранится в одной из этих областей памяти.
RAM (Random Access Memory) - оперативная память. Основной тип памяти для хранения переменных. В этой памяти должны располагаться все переменные, которые не нужно сохранять при выключении питания контроллера. При включении контроллера все переменные в этой памяти автоматически получают свои начальные значения, которые хранятся в ROM (см. ниже). Если начальное значение RAM-переменной не задано, то при включении контроллера эта переменная будет равна нулю.
ROM (Read-Only Memory) - энергонезависимая постоянная память без возможности перезаписи. В этой памяти хранятся команды программы контроллера и начальные значения переменных, расположенных в RAM. Если переменная расположена в ROM, то ее значение всегда равно начальному значению и не может быть изменено. Такая переменная называется константой.
EEPROM (Electrically Erasable Programmable Read-Only Memory) - энергонезависимая память с ограниченным количеством циклов перезаписи (около 100 000). В этой памяти обычно сохраняются конфигурационные переменные и задания регуляторов. Из-за ограниченного ресурса этой памяти, переменные, расположенные в EEPROM недоступны для записи из программы. Их значения можно изменить только в меню контроллера или по сети MODBUS.
NVRAM (Non Volatile Random Access Memory) - энергонезависимая память с неограниченным количеством циклов перезаписи. Содержимое этой памяти обнуляется, если извлечь батарейку из контроллера. Переменные, расположенные в NVRAM доступны для записи из программы, поэтому эту память удобно использовать для организации счетчиков моточасов, или других подобных задач.
Начальные значения всех переменных записываются в ROM контроллера при записи программы.
Все переменные, расположенные в RAM, получают свои начальные значения при каждом включении контроллера.