Aрхивирование данных ==================== В ИСР Beremiz имеется возможность архивирования данных пользовательского проекта. Весь процесс создания архивов можно описать в двух шагах: * Добавление в структуру проекта «Поддержки Архивов»; * Написание программы для архивирования данных. Добавление в структуру проекта «Поддержки Архивов» -------------------------------------------------- Для добавления в структуру проекта необходимо щелкнуть правой кнопкой мыши в область дерева проекта и нажать «Поддержка Архивов». Далее необходимо подвести курсор к созданной ветке «Поддержка Архивов», щелкнуть левой клавишей мыши и выбрать пункт «Добавить Arch», как показано на рисунке ниже: .. figure:: images/beremiz/ar1.png :align: center Добавление «Поддержки Архивов» .. figure:: images/beremiz/ar2.png :align: center Добавление Arch Появляется окно добавленного архива с определенными настройками по умолчанию. Область адресов, выделенных регистров для базовых настроек архивирования начинается с 50000. Данные, начинающиеся с адреса 50013 по 50025 (по умолчанию), являются заголовком архива. Туда входят идентификатор, длина заголовка в битах, длина суммы пользовательских данных и заголовка в битах, время, дата в представлении UNIX, флаг и уникальная контрольная сумма архива и его порядковый номер. В опциях они обозначены как *arc_header_data*. .. note:: Переменная *Arch_save_arc* является триггером для записи данных в архив: при изменении из 0 в 1 данные записываются. .. figure:: images/beremiz/ar3.png :width: 600 :align: center Окно данных archive Имеется возможность поменять адреса данных архива. Данные настройки находятся во вкладке «Config»: .. figure:: images/beremiz/ar4.png :width: 600 :align: center Окно конфигурирования адресов archive Программа для архивирования данных ---------------------------------- Для записи пользовательских данных в архив необходимо написать определенную программу. Для примера возьмем ранее реальзованную программу *beremiz_project*. Программу напишем на языке ST. На рисунке ниже представлены данные для программы. .. figure:: images/beremiz/ar5.png :width: 600 :align: center Переменные программы archive В глобальные переменные *arc_out1…arc_out3* записываются данные переменных *OUT1…OUT3*, в *arc_res* – переменная RES при изменении *Arch_0_save_arc* с 0 на 1. Локальная булевая переменная *arc_save* с каждым циклом будет менять свое значение, тем самым меняя значение *Arch_0_save_arc*. Реализация программы представлена ниже: .. figure:: images/beremiz/ar6.png :width: 600 :align: center Программа archive Далее необходимо добавить переменные *arc_res* *arc_out1…arc_out3* в окно данных архива. Обратите внимание, в «Polling» автоматически присваивается значение *write*, а так же присваивается адрес переменной: .. figure:: images/beremiz/ar7.png :width: 600 :align: center Добаленные переменные После написания программы, необходимо создать задачу для данной программы, указать время цикла. Пользовательские данные будут записываться с циклом в 1 минуту, реализация представлена ниже: .. figure:: images/beremiz/ar8.png :width: 600 :align: center Настройка ресурса программы После загрузки проекта в ПЛК на WEB-интерфейсе появятся данные об архиве. .. figure:: images/beremiz/archieve1.png :width: 600 :align: center WEB-интерфейс проекта В WEB-интерфейсе ПЛК BRIC помимо пользовательских переменных предоставлены данные архива. В таблице ниже описана структура архива: .. csv-table:: Описание структуры архива :header: "Имя", "Тип данных", "Описание" :widths: 10, 3, 20 "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**. .. figure:: images/beremiz/archieve2.png :width: 600 :align: center WEB-интерфейс архива В данном окне прописана информация о заголовке архива, а также первый параметр пользовательских данных – в нашем примере это переменная *RES*. Добавим и остальные переменные с помощью кнопки *Add param* и преименуя их в *OUT1…OUT3*. Далее устанавливается тип данных переменной. .. figure:: images/beremiz/archieve3.png :width: 600 :align: center WEB-интерфейс архива с пользовательскими данными Следующим шагом является выбор номера и диапазона количества архива. Выберем от 0 до 20 архивов, после чего нажимаем кнопку *Get arcs*. Результат представлен на рисунке ниже: .. figure:: images/beremiz/archieve.png :width: 600 :align: center Результат вывода пользовательских архивных данных По таблице данных видно, что в момент изменения параметра *RES* с 0 на 1 все счетчики были сброшены в 0. Имеется возможность сохранить данный архив с помощью кнопки *Save to file*. Архив будет сохранен в фомате *txt* по указанному пути.