Начиная с релиза 6.07, рекомендуется использовать каналы CALL выборки данных из архива с Параметр>=32.
Для выборки/обработки данных из архива в реальном времени используются каналы класса CALL с соответствующими типами вызова (каналы-инициаторы выборки, см. Атрибуты канала класса CALL ). Тип пересчета таких каналов должен быть цикл IDLE.
Если в описании канала-инициатора не указан другой порядок отработки, то:
канал типа OUTPUT отрабатывается при изменении значения;
канал типа INPUT отрабатывается R раз со своим периодом (R – значение атрибута 0).
В канале-инициаторе с Параметр>=32: по завершении выборки R=0 автоматически.
В случае ошибки соответствующее сообщение записывается в файл tm6_log.txt (если установлен бит 11 (0x800) переменной @Debug, информация об ошибке записывается также в протокол профайлера), канал-инициатор сбрасывается в исходное состояние, в нем устанавливается признак аппаратной недостоверности и обнуляется входное значение, а атрибут 7, P индицирует код ошибки:
1 – системная ошибка;
2 – выборка данных не завершена в течение 2 минут;
4 – недостаточно памяти;
5 – ошибка экспорта (например, при генерации документа; сообщение – "EXPORT: WRONG");
6 – неправильный параметр;
7 – в архиве нет запрашиваемых данных либо заданный интервал находится вне временного диапазона архива.
Если архив не обнаружен, монитор выключает канал-инициатор.
В ряде случаев результаты выборки/обработки записываются в аргументы канала-инициатора, при этом некоторые аргументы возвращают два параметра – значение и время. Если к такому аргументу привязан канал, то значение записывается в его вход, а время – в атрибут Время изменения.
Атрибут 120, ACK индицирует состояние процесса:
в каналах CALL.TVC/CALL.ChGroupReq, привязанных к аргументам каналов-инициаторов, ACK принимает значение 1 по завершении приема данных;
в каналах-инициаторах ACK принимает значение 1 после извлечения всех данных (по всем интервалам и выбираемым параметрам);
в каналах-инициаторах и каналах CALL.TVC/CALL.ChGroupReq, привязанных к аргументам каналов-инициаторов, ACK принудительно обнуляется перед началом выборки.
В каналах-инициаторах и каналах CALL.TVC/CALL.ChGroupReq, привязанных к аргументам каналов-инициаторов, фиксируется время присвоения 1 атрибуту 120, ACK (метка времени записывается в атрибут 45, T).
Ключ TVC_RSZ=<n> в файле *.cnf задает максимальное число аргументов каналов CALL.TVC/CALL.ChGroupReq, привязанных к аргументам каналов-инициаторов (1024 по умолчанию).
При присвоении каналу-инициатору одного из следующих значений архивные данные экспортируются в файл ../<папка узла>/0_<кодировка канала>_<YYYYMMDD>_<аппаратное значение канала>_<имя канала> соответствующего формата:
0xfff1 – XML;
0xfff2 – HTML (аналог SubNum=558, см. Номер SubNum );
0xfff3 – HTML (аналог SubNum=542).
Существуют также другие способы экспорта архивных данных (см. Профайлер с поддержкой графических экранов , Профайлер без поддержки графических экранов , Конфигурирование таблицы архивных значений , Канал CALL.ChGroupReq и описание переменной @Data_from_SIAD в разделе Группа СИСТЕМНЫЕ ).