Сохранение состояния

<< Click to Display Table of Contents >>

Navigation:  Работа с конроллерами в MasterSCADA 4D > Руководство по работе с контроллером PLC ONI PLC-W > Программирование >

Сохранение состояния

Служба Сохранение состояния используется для восстановления значений после перезагрузки исполнительной системы и включена в состав Узла по умолчанию (отдельно добавлять её в проект не требуется):

Sohranenie_sostoyaniya_ONI

Как правило, используется для того, чтобы значения уставок после перезагрузки проекта в среде исполнения приняли значения, введённые оператором, либо полученные в результате работы программ в предыдущей сессии. Сохраняются те значения параметров, в настройках которых установлено свойство Сохранять = Да. Поддерживается сохранение значений параметров различных типов данных, в том числе динамических массивов (массивов переменной длины), а также длинных строк (более 256 символов), при условии, что параметр имеет тип STRING.

Установка флага Сохранять в панели свойств:

Hot_restart_ABAK

Важно! Свойство Сохранять = Да нельзя устанавливать для параметров программ, у которых свойство Доступ = InOut.

Период сохранения зависит от настроек, сделанных в панели свойств службы:

Hot_restart_ONI_1

Энергонезависимые переменные в среде программирования

В среде программирования поддерживаются энергонезависимые переменные RETAIN.

Определен следующий модификатор оператора определения энергонезависимых переменных: RETAIN

Используется с операторами VAR, VAR_INPUT или VAR_OUTPUT. Задает сохранение переменной в дамп в энергонезависимой памяти ПЛК и восстановление значения переменной из дампа при "холодном" рестарте.

Пример записи определения переменной в программе:

var RETAIN bbb: REAL; end_var

В редакторе переменной модификатору RETAIN соответствует значение Сохранять = Да.

Хранение энергонезависимых переменных

В ПЛК реализован механизм автоматического копирования определенных файлов в энергонезависимую память в случае потери питания. После копирования файлов дается команда ОС на завершение работы. При включении питания данный файл восстанавливается.

Под хранение RETAIN переменных можно использовать следующие виды энергонезависимой памяти: eMMC 8 Гбайт MLC или 64 Гбайт TLC BiCS5.

Работа с файлом данных для горячего рестарта

Как правило, данные для горячего рестарта хранятся в файлах session.bin, session2.bin. Запись в них идет поочередно. При старте сравниваются времена обновления файлов, вначале происходит попытка загрузки из более нового. Если контрольная сумма не совпадает, идет попытка загрузить из другого.

ПЛК ONI - контроллер с энергонезависимой памятью, данные горячего рестарта хранятся непосредственно в памяти контроллера.

Часто возникает задача произвести импорт/экспорт данных для горячего рестарта.

Экспорт данных для горячего рестарта в файл

Для экспорта данных для горячего рестарта в файл необходимо запустить mplc с опцией /export.

После этого в рабочей папке исполнительной системы /opt/mplc4/server сформируется файл session.bin, который затем может быть использован для импорта.

Импорт файла данных для горячего рестарта

Для импорта файла данных для горячего рестарта необходимо скопировать файл session.bin в рабочую папку исполнительной системы /opt/mplc4/server/import. При очередной перезагрузке, необходимые данные считаются из этого файла, после чего он будет удален, а сами данные сохранятся в основном месте хранения.

Для резервирования (backup'а) файла данных для горячего рестарта можно скопировать файл session.bin в папку /opt/mplc4/server/backup. При перезагрузке, данные для горячего рестарта, как обычно, будут считываться из основного места хранения, но, в случае возникновения ошибки чтения, смогут быть получены из этого файла.

Удаление файла данных для горячего рестарта

Для удаления файла данных для горячего рестарта необходимо запустить mplc с опцией /delhr.