Создание архива. Структура архива. Добавление пользовательских переменных. Расчет глубины архивации

Архивы являются неотъемлемой частью большинства проектов. В Beremiz имеется возможность создания архивов с добавлением пользовательских переменных. Рассмотрим более подробно данный процесс.

Для добавления в структуру проекта необходимо щелкнуть правой кнопкой мыши в область дерева проекта и нажать «Archive support». Далее необходимо подвести курсор к созданной ветке «archive», щелкнуть левой клавишей мыши и выбрать пункт «Add Arch», как показано ниже:

../_images/g1.gif

Добавление модуля архива в проект

Рассмотрим более детально окно конфигурации модуля архива.

../_images/1.png

Окно параметров архива

Описание archive_manage

Имя

Тип данных

Описание

Arch_save_arc

UINT

Триггер для записи данных в архив: при изменении из 0 в 1 данные записываются

Arch_arc_for_read

UDINT

Данные архива из буфера, представленные для чтения

Arch_id_number

UINT

Уникальный идентификатор архива

Arch_body_len

UINT

Размер архива с учетом заголовка и пользовательских данных

Arch_unix_time_last_arc

UDINT

Время записи последних данных в архив в формате UNIX

Arch_arcs_number

UDINT

Количество архивов, доступных для чтения

Arch_last_readed

UDINT

Номер последнего прочитанного архива

Arch_first_available

UDINT

Номер первого архива, доступного для чтения

Последующие данные являются структурой самого архива.

Описание структуры archive_header_data

Имя

Тип данных

Описание

Arch_id_number_data

UINT

Номер архива данных [0:6]

Arch_header_len_data

UINT

Длина заголовка архива

Arch_body_len_data

UINT

Длина всего архива (header_len + body_len)

Arch_sec_data

USINT

Данные секунд часов реального времени

Arch_min_data

USINT

Данные минут часов реального времени

Arch_hour_data

USINT

Данные часов часов реального времени

Arch_date_data

USINT

Данные дней часов реального времени

Arch_month_data

USINT

Данные месяцев часов реального времени

Arch_year_data

USINT

Данные годов часов реального времени

Arch_date_data

USINT

Данные дней часов реального времени

Arch_unix_time_data

UDINT

Время в формате UNIX

Arch_flags_data

UDINT

Данные о выставленных флагах архива

Arch_id_crc_data

UDINT

Данные об уникальном CRC архива

Arch_number_data

UDINT

Данные о номере архива в списке

Пользовательские данные добавляются при нажатии кнопки plus в левом верхнем углу окна, удаляются с помощью кнопки minus.

../_images/g2.gif

Добавление и удаление пользовательских данных в архив

Внимание

Название и тип пользовательских данных должны совпадать с созданными данными программы архива

Размер выделяемой памяти для одного архива обеспечивает минимальную глубину архивации в 1000 записей при максимальном размере пользовательских данных 256 байт. При уменьшении размера пользовательских данных, глубина архивации увеличивается.

Точное значение глубины архивации можно вычислить по формуле:

arc_num = 284000 / (header_len + body_len),

где header_len - длина заголовка (28 байт);

body_len - длина пользовательских данных.

Например, при записи в архив 2-х пользовательских данных типа REAL (по 4 байта) и 2-х данных типа UINT (по 2 байта), то глубина архивации будет составлять:

arc_num = 284000 / (28 + (2 * 4 + 2 * 2)) = 284000 / 40 = 7100 записей.

Допустим, что программа архивации данных записывает 1 раз в 10 минут, то есть 24 * (60 / 10) = 144 записей за сутки. Тогда глубину архивации можно выразить в виде:

7100 / 144 = 49,3 суток.