Olexander
Junior Member / Новичок
Участник № / Member № 7774
отправлено / posted
Какие значения нулевого байта, подаваемого в функцию @Data_from_SIAD фрейма, каким значениям интервалов выборки из архива соответствуют?
В руководстве к ТМ 6.10.1 сказано: "Значение (period) нулевого байта переменной задает интервал (T_FROM, T_TO)", - и далее никаких ссылок. В руководстве к ТМ 6.06 идет отсылка: (аргумент TYPE – см. Интервал выборки из архива). Пробовал брать оттуда - ничего не выходит. Пробовал брать соответствия для T_FROM, T_TO из параграфа Выборка и обработка данных SIAD / Временной интервал выборки - также тщетно.
Эмпирически установлены следующие соответствия: 16#XX00 - возвращаются все записи из архива, 16#XX01 - возвращаются все записи из архива до начала текущего часа, 16#XX02, 16#XX03 - то же, что и для 16#XX01, 16#XX31 - возвращаются все записи из архива до какого-то времени (это время пока не установлено ввиду дискретности заполнения имеющегося архива).
В целом поступил следующим образом. Создал в слое "Источники/приемники" переменную @Data_from_SIAD. Методом D&D в слое "Система" создал одноименный канал класса Float типа Output, привязанный к данной переменной. В атрибут (2, In) "Входное значение" этого канала периодически подаю фрейм типа 16#06XX. Функция отрабатывается, ее значение автоматически сбрасывается в "0", и в папке узла создается файл @Data_from_SIAD_1_1.txt. (Хотя в рук-ве написано, что при подаче в бит 3 2#0110=16#6 такой файл должен быть создан отдельно по каждому каналу, но это даже лучше.) Теперь стоит задача экспортировать в этот файл не весь архив, как происходит сейчас, а за определенный промежуток времени, завязанный на текущем времени: за последний час, за последние сутки, за предыдущий день (предпочтительнее). Настроив соответствующим образом периодичность подачи команды на экспорт, в итоге нужно добиться того, чтобы в файл @Data_from_SIAD_1_1.txt порционно дублировался весь архив, но без повторений. Для этого-то и необходимо знать, что именно подавать в нулевой байт фрейма.
отправлено / posted
Описанный Вами механизм экспорта архивных данных устарел. Жесткий в настройках, узкий функционально, весьма ресурсоемкий.
Данные из архива SIAD/SQL 6 могут быть легко конвертированы в распространенные форматы, такие как TXT, HTML и XML как полностью, так и за заданные интервалы.
Olexander
Junior Member / Новичок
Участник № / Member № 7774
отправлено / posted
Я понимаю, что вы не очень жалуете данную системную переменную. Но тем не менее она не исключена из ИС и описана в руководстве, а значит, должна работать.
Представленный видеоурок изучен мною хорошо. И механизм с использованием @Data_from_SIAD выбран осознанно. Привлекает в этой функции следующее:
- она заведомо работает по всем архивируемым каналам: это как раз и нужно. Для CALL-канала с типом вызова ROOT, насколько я понимаю, пришлось бы связывать все архивируемые каналы с его аргументами вручную;
- предопределено имя файла для экспорта и оно не зависит от даты и времени. Это важно для последующего извлечения данных сторонними приложениями;
- данные в файле представлены в виде <Базовое имя канала> <дата> <время> <действ. значение>. Т.е. базовое имя фигурирует в каждой строке, что мне очень удобно;
Как бы то ни было, сейчас необходимо получить рабочее решение именно с @Data_from_SIAD. SCADA вводится в опытную эксплуатацию. Прямого доступа к ней я не имею. Реализован экспорт средствами @Data_from_SIAD. Единственная реальная перспектива - это подправить нулевой байт фрейма, отсылаемого в @Data_from_SIAD и соответственно ему задать периодичность экспорта. Скажите, пожалуйста, есть ли расшифровка для значений этого байта интервала выборки? Мне нужна таблица типа
0 - данные из всего архива, 1 - данные до начала тек. часа, 20 - данные за последние сутки...
отправлено / posted
В ранних релизах Эта функция поддерживалась. Однако, в силу указанных выше недостатков практики использования этого механизма в реальных проектах не было.
Начиная с релиза 6.09, в системе были разработаны и активно используются в реальных проектах новые эффективные механизмы экспорта архивных данных. Иллюстрация этих функций приведена в упомянутом видео-уроке.
Одновременно были модифицированы и усовершенствованы все остальные функции выборок и обработки данных из архивов. Устаревшие механизмы были удалены.
По недоразумению в документации не была введена адекватная корректировка описания системной переменной @Data_from_SIAD.