В состав любого ПЛК входит память. Емкость памяти определяет количество переменных, задействованных в программе контроллера. Для работы ПЛК используется два вида памяти: загрузочная (ПЗУ) и рабочая (ОЗУ).
Загрузочная память выполняется на базе различных видов памяти: ROM — Read Only Memory или EEPROM — Electrically Erasable Programmable ROM — электрически стираемая перепрограммируемая память. В качестве загрузочной памяти также может использоваться флеш-память, принцип действия которой основан на хранении заряда в конденсаторе, образованном плавающим затвором и подложкой МОП-транзистора.
Недостатком всех ПЗУ является низкое быстродействие и ограниченное количество циклов чтения и записи.
Рабочая память может выполняется на SRAM (Static Random Access Memory) — статическая память с произвольным доступом или DRAM (Dynamic Random Access Memory) — динамическая память с произвольным доступом.
Недостатком ОЗУ является энергозависимость, то есть при включении память будет пустой.
При разработке программ необходимо иметь память, которая бы не стиралась при выключении питания. Допустим, в программе используются уставки, и если не принять специальных мер, то придется каждый раз при включении контроллера вводить их заново. Либо необходимо запомнить режим работы оборудования, работающего до сбоя или выключения ПЛК.
Для этого используются Retain-переменные. Это такие переменные, значение в которых по событию пишется в ПЗУ и восстанавливается при включении ПЛК. Событием для записи может быть, например, выключение питания ПЛК. При возникновении события выключения ПЛК за счет батарейки в контроллере или конденсатора перезаписываются значения из ОЗУ в ПЗУ. Возможна принудительная запись по команде из программы.
Для использования в своей программе необходимо указать в свойствах переменной, что она будет Retain, и операционная система ПЛК будет знать, как нужно обращаться со значением этой переменной.
Таким образом, выполнение программ не будет замедлено из-за времени записи значений в ПЗУ, ПЗУ не будет «изнашиваться» постоянным перезаписыванием. Но в то же время значения переменных будут восстановлены при включении ПЛК.
Вам также будет интересно:
- Для чего нужен и почему используется именно RS-232 в ПЛК? Это же древний интерфейс!
- Для чего нужен и почему используется именно RS-485 в ПЛК? Это же древний интерфейс!
- Что такое термосопротивление в применении ПЛК?
- Что такое термопара в применении ПЛК?
- Что такое резистивные датчики в применении ПЛК?
- Что такое AO (аналоговый выход) в ПЛК. Для чего он нужен?
- Что такое AI (аналоговый вход) в ПЛК. Для чего он нужен?
- Что такое DI (дискретный вход) в ПЛК. Для чего он нужен?
- Почему современные ПЛК так сложно программировать любителю?