Для создания локального индивидуального архива используется канал 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).