Для создания локального индивидуального архива используется канал CALL с типом вызова (23) LArc0 или (24) LArc1. Канал, для которого создается архив, должен быть привязан к каналу CALL.
Аргументы 0 и 1 канала CALL используются следующим образом:
arg0 – для служебных целей (в профайлере в этом аргументе отображается привязка канала CALL; тип данных arg0 должен соответствовать типу данных архивируемого канала);
arg1 – значение этого аргумента (тип данных – любой целочисленный) задается как число секунд. Период запроса значения привязанного канала устанавливается монитором кратным периоду пересчета канала CALL и примерно соответствующим arg1.
Архивируемые данные записываются в последующие аргументы канала CALL. Эти аргументы используются парами (создаются вручную или автоматически): в аргумент с четным порядковым номером записывается архивируемое значение, в последующий аргумент с нечетным порядковым номером – время этого значения. При создании вручную для аргументов с четными порядковыми номерами должен быть задан соответствующий числовой тип данных, для аргументов с нечетными порядковыми номерами – Date_And_Time.
Модификации индивидуальных архивов определяются значением атрибута Параметр канала CALL:
Параметр = 0 – архив реальных значений привязанного канала (стек, последнее по времени значение записывается в первую пару аргументов);
Параметр = 1...60 – циклически перезаписываемый архив реальных значений привязанного канала, усредненных по интервалу 1...60 минут;
Параметр = 61...120 – циклически перезаписываемый архив реальных значений привязанного канала, усредненных по интервалу 1...60 минут, с нарастающим итогом. Если не начат новый цикл записи в архив, архивное значение представляет собой сумму предыдущего архивного значения и среднего значения привязанного канала за последний интервал. При начале нового цикла записи в архив архивное значение представляет собой среднее значение привязанного канала за последний интервал. Величина интервала усреднения (1-60) записывается в атрибут 34, FPrint; 1 как признак вычислений нарастающим итогом – в атрибут 53, Update.
Аргумент arg1 канала CALL с усреднением должен быть равен 0, значения привязанного канала запрашиваются с периодом канала CALL, текущая сумма значений за заданный интервал записывается в атрибут 1, A, текущее среднее – в атрибут 87, CC.
Если аргументы канала CALL с усреднением не созданы, то в канале автоматически создается следующее количество пар аргументов для записи архивных значений и их времен:
если интервал усреднения (Interval) больше или равен 10 минутам, в канале создается количество пар аргументов, необходимое для суточного архива:
если интервал усреднения (Interval) меньше 10 минут, в канале создается количество пар аргументов, необходимое для 8-часового архива:
Времена для созданных таким образом пар аргументов фиксированы, первой паре соответствует начало суток (0 минут). При этом при старте монитора могут возникнуть две ситуации:
время (T минут от начала суток) значения для записи в архив меньше или равно времени, соответствующему последней паре аргументов (это время равно (N-1)*Interval, где N – номер последней пары);
T>(N-1)*Interval.
В первом случае первое вычисленное архивное значение и его время записываются в соответствующую пару аргументов.
Во втором случае архив зацикливается необходимое число раз, и первое вычисленное архивное значение и его время записываются в соответствующую пару аргументов (номер этой пары равен остатку от деления T на N).
Если аргументы канала CALL с усреднением созданы вручную, первое вычисленное архивное значение и его время записываются в произвольную пару аргументов.
Алгоритм вычислений архивируемых данных для (23) LArc0 и (24) LArc1 отличается:
для (23) LArc0 реальное значение канала обрабатывается с заданным периодом, если с момента предыдущего запроса изменилось время значения;
для (24) LArc1 реальное значение канала обрабатывается с заданным периодом, если с момента предыдущего запроса значение изменилось.
Индивидуальный архив может быть отображен с помощью ГЭ/еГЭ Тренд (см. ГЭ ‘Тренд’ ), а также выведен в генерируемый документ (на тренд – см. Вставка тренда ).
Если имя канала CALL – индивидуального архива некоторого канала ch – начинается со знака "минус" и в канале ch не используется трансляция, МРВ уничтожает канал CALL после переноса его аргументов в канал ch. Класс канала ch не изменяется, ch.123=CALL.123. Если существует несколько подобных архивов канала ch, уничтожается один канал CALL (с младшим ID).