Aрхивирование данных
В ИСР Beremiz имеется возможность архивирования данных пользовательского проекта. Весь процесс создания архивов можно описать в двух шагах:
Добавление в структуру проекта «Поддержки Архивов»;
Написание программы для архивирования данных.
Добавление в структуру проекта «Поддержки Архивов»
Для добавления в структуру проекта необходимо щелкнуть правой кнопкой мыши в область дерева проекта и нажать «Поддержка Архивов». Далее необходимо подвести курсор к созданной ветке «Поддержка Архивов», щелкнуть левой клавишей мыши и выбрать пункт «Добавить Arch», как показано на рисунке ниже:
Появляется окно добавленного архива с определенными настройками по умолчанию. Область адресов, выделенных регистров для базовых настроек архивирования начинается с 50000. Данные, начинающиеся с адреса 50013 по 50025 (по умолчанию), являются заголовком архива. Туда входят идентификатор, длина заголовка в битах, длина суммы пользовательских данных и заголовка в битах, время, дата в представлении UNIX, флаг и уникальная контрольная сумма архива и его порядковый номер. В опциях они обозначены как arc_header_data.
Примечание
Переменная Arch_save_arc является триггером для записи данных в архив: при изменении из 0 в 1 данные записываются.
Имеется возможность поменять адреса данных архива. Данные настройки находятся во вкладке «Config»:
Программа для архивирования данных
Для записи пользовательских данных в архив необходимо написать определенную программу. Для примера возьмем ранее реальзованную программу beremiz_project. Программу напишем на языке ST. На рисунке ниже представлены данные для программы.
В глобальные переменные arc_out1…arc_out3 записываются данные переменных OUT1…OUT3, в arc_res – переменная RES при изменении Arch_0_save_arc с 0 на 1. Локальная булевая переменная arc_save с каждым циклом будет менять свое значение, тем самым меняя значение Arch_0_save_arc. Реализация программы представлена ниже:
Далее необходимо добавить переменные arc_res arc_out1…arc_out3 в окно данных архива. Обратите внимание, в «Polling» автоматически присваивается значение write, а так же присваивается адрес переменной:
После написания программы, необходимо создать задачу для данной программы, указать время цикла. Пользовательские данные будут записываться с циклом в 1 минуту, реализация представлена ниже:
После загрузки проекта в ПЛК на WEB-интерфейсе появятся данные об архиве.
В WEB-интерфейсе ПЛК BRIC помимо пользовательских переменных предоставлены данные архива. В таблице ниже описана структура архива:
Имя |
Тип данных |
Описание |
---|---|---|
archive_read_buffer_0 |
U8 |
Данные архива пользовательских переменных и заголовка, представленных в формате U8 |
CONFIG__ARCH_0_SAVE_ARC |
U16 |
Запись данных в архив |
CONFIG__ARCH_0_ARC_FOR_READ |
U32 |
Данные архива из буфера, представленные для чтения |
CONFIG__ARCH_0_ID_NUMBER |
U16 |
Уникальный идентификатор архива данных |
CONFIG__ARCH_0_BODY_LEN |
U16 |
Размер архива с учетом заголовка и пользовательских данных |
CONFIG__ARCH_0_UNIX_TIME_LAST_ARC |
U32 |
Время записи последних данных в архив в формате UNIX |
CONFIG__ARCH_0_ARCS_NUMBER |
U32 |
Количество архивов, доступных для чтения |
CONFIG__ARCH_0_LAST_READED |
U32 |
Номер последнего прочитанного архива |
CONFIG__ARCH_0_FIRST_AVAILABLE |
U32 |
Номер первого архива, доступного для чтения |
В ПЛК BRIC с версией OS 0.30.2.5 и выше предоставлена возможность преобразования архивов в нужные типы данных, а также сохранения их в формате txt для дальнейших манипуляций. Для этого необходимо зайти в WEB-интерфейс архива, введя IP-адрес/arc.html.
В данном окне прописана информация о заголовке архива, а также первый параметр пользовательских данных – в нашем примере это переменная RES. Добавим и остальные переменные с помощью кнопки Add param и преименуя их в OUT1…OUT3. Далее устанавливается тип данных переменной.
Следующим шагом является выбор номера и диапазона количества архива. Выберем от 0 до 20 архивов, после чего нажимаем кнопку Get arcs. Результат представлен на рисунке ниже:
По таблице данных видно, что в момент изменения параметра RES с 0 на 1 все счетчики были сброшены в 0. Имеется возможность сохранить данный архив с помощью кнопки Save to file. Архив будет сохранен в фомате txt по указанному пути.