This is topic Конфигурирование отчетов в TRACE MODE 6 in forum Документирование в TRACE MODE 6 и в T-FACTORY 6 / Document generation in TRACE MODE 6 and T-FACTORY 6 at Форум TRACE MODE: техническая поддержка.
Здравствуйте! Необходимо решить задачу формирования отчетов по n каналам из СПАД с пере привязкой по m группам за произвольный промежуток времени От и До задаваемый графическими элементами «Дата и время» относительно текущего времени с усреднением мгновенных значений за фиксированный (задаваемый) интервал в минутах. Наибольшее затруднение вызывает выдача в отчет усредненных значений архива. Подскажите, пожалуйста, наиболее рациональный на ваш взгляд путь решения задачи. Возможные пути решения, которые видятся нам, требуют существенного увеличения используемых каналов (LocalStatistics) или довольно громоздкой обработки (LocalSnap).
[ 17.11.2006, 13:25: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Можно воспользоваться архивной таблицей в документе. Посмотрите справочное руководство. Справка-->Генерация документов-->Использование таблиц в шаблоне документа-->Конфигурирование таблицы архивных значений.
Posted by nival (Участник № / Member № 1947) on :
Спасибо за ответ. Уточните пожалуйста какой вид обработки из предлагаемого набора (Нет, Разность, Всего, Разность-Всего)необходимо задать, что бы получить в отчете среднее значение контролируемого параметра за шаг.
Posted by nival (Участник № / Member № 1947) on :
Каков, все же, будет ответ. Ведь простое сопоставление значений полученных из архивной таблицы по точкам на концах шага разбиения интервала выборки говорит о том, что при виде обработки "Нет" мы имеем дело с мгновенными значениями в этих точках (с некоторой погрешностью). И еще один вопрос - существует ли какая либо возможность настройки шага в шаблоне из экрана или из программы.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Общее решение с произвольными объемами и интерфейсом, удовлетворительное с точки зрения информационной структуры и быстродействия, найти трудно. Пришлите нам на техподдержку более точные постановочные данные. Мы рассмотрим вместе с Вами возможные пути решения.
Posted by nival (Участник № / Member № 1947) on :
Отправил по ЭП дополнительную информацию. Reports4 разрабатывался в ТМ6.03.01
Posted by nival (Участник № / Member № 1947) on :
Вопрос задан 23.08. Сколько же надо времени на ответ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Я прошу прощения за очень большую задержку ответа. Я ответил Вам почтой. На всякий случай дублирую ответ здесь. В настоящее время существует, по крайней мере, 4 способа решения Вашей задачи конфигурирования отчетов, которые представляют собой таблицы усредненных выборок 5- и 15-минутных интервалов в пределах 7-дневного архива по 80 параметрам (если я правильно понял задачу).
1. Архивировать мгновенные значения параметров, делать статистические выборки с помощью каналов LocalStatistic для каждого интервала последовательно. Накапливать эти данные в промежуточных аргументах, а затем выводить в документ. Решение требует дополнительных каналов (больше 80), трудоемкое в программировании, и протяженная во времени генерация документа, т.к. N последовательныхвыборок из архива по 80 параметрам на каждый документ (N - число строк в таблице ) требуют значимого времени.
2. Второй крайний случай - создание программы (довольно простой) для интервальных усреднений всех параметров в реальном времени и передача полученных результатов в БД, где будет таким образом создан нужный архив, на основании которого уже средствами БД будут формироваться нужные документы. Преимущества - никаких дополнительных каналов. Недостатки - использование еще одного приложения и программирование БД.
3. С помощью аналогичной математики получать интервальные усреднения для всех параметров, записывать в архивируемые каналы и эти данные архивировать. Документы будут формироваться в виде штатных таблиц. Могут понадобиться дополнительные каналы - 80 или 160 ( по 1 или по 2 на параметр). 3.1. Если для каждого параметра используются 2 дополнительных канала (5- и 15-минутных усреднений), то задача документирования - штатные архивные таблицы. 3.2. Можно для каждого параметра использовать 1 дополнительный архивируемый канал (15-минутного усреднения). 5-минутное усреднение получать непосредственно в РЕАЛЬНОМ значении канала, которое будет штатно архивироваться. Задача документирования - штатные архивные таблицы. При этом РЕАЛЬНОЕ значение будет меняться 1 раз в 5 минут. Если для обработки и индикации параметра необходимы более динамичные данные, можно использовать для этого атрибуты ВХОД или АППАРАТНОЕ. 3. 3. Использовать для каждого параметра 1 дополнительный архивируемый канал с 5-минутным усреднением. Документ с 5-минутным усреднением создается с помощью штатной архивной таблицы. Документ с 15 минутным усреднением создается с промежуточными выборками (LocalSnap) (по 3 выборки на каждый 15-минутный интервал), суммированием результатов в промежуточных аргументах и выводом результатов в обычную штатную таблицу. Организация выборок и математика относительно несложные, время генерации - невелико. 3.4. 5-минутные усреднения осуществлять в РЕАЛЬНОМ значении. Документ с 5-минутным усреднением - штатная архивная таблица. Для документа с 15-минутным усреднением надо воспользоваться механизмом по п.3.3. Дополнительных каналов для параметров нет.
4. Использовать для усреднения "Индивидуальные архивы с усреднением" (по 1 или по 2 дополнительных канала на параметр). Глубина 5-минутного архива на 7 дней - около 2 тыс записей, 15-минутного - втрое меньше. Архивы сохраняются в файле DUMP и восстанавливаются при перезагрузке узла. Индивидуальные архивы могут выводиться на тренд (в консоли и в документе). В ближайшей перспективе - вывод индивидуального архива в архивную таблицу документа. Если использовать 2 канала на параметр, то документы используют обычные таблицы. Если использовать 1 канал на параметр, то для одной из таблиц будет нужна дополнительная математика (сумма из 3-х значений). Дополнительный недостаток такого варианта - до 2 МБ дополнительной памяти (для Вашего проекта).
Видимо, возможны и какие-то другие варианты, использующие в сочетании те или иные фрагменты из предложенных решений.
На мой взгляд, для Вашего проекта самым приемлемым решением является вариант п.3.2 (если возможно) или п.3.1.
Posted by nival (Участник № / Member № 1947) on :
Спасибо за развернутый ответ. Но, пока мы его ждали, было принято решение о реализации варианта, который в какой то мере соответсвует Вашему п.2. Ваши другие предложения еще предстоит рассмотреть (в другое время) - они в основном согласуются с нашим представлениями. Но, имея сервер документирования, бороться с проблемами таким образом выглядить более чем странно. Тем более, что в ТМ5 аналогичная задача решалась штатными средствами локального сервера документирования. И только из-за ограничений используемого сервера документирования нам пришлось дублировать и обрабатывать данные в своей базе.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Над расширением функций текущего варианта сервера документирования мы работаем.
Posted by Алексей Александрович (Участник № / Member № 2741) on :
Здравствуйте! Дело в том что мне необходимо формировать протокол плавки в виде документа в котором необходимо вывести все аварии в отчёт тревог только за время плавки. Продолжительность известна. В документе, в отчёте тревог я воспользовался фильтром по времени, но дело в том что монитор реального времени выводит не нужные мне последнии аварии а вообще все которые есть в файле отчёта тревог.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
К сожалению, в настоящее время фильтр по времени для отчета тревог в документе не работает. Об этом уже писалось в форуме, и в ближайшее время исправлений по этому поводу не предвидится.
Posted by Алексей Александрович (Участник № / Member № 2741) on :
Уважаемая служба поддержки, тогда не могли бы вы подсказать способ который бы это позволял. Я попытался сделать следующее - после формирования документа переписывать текстовый файл отчета тревог в другую дирректорию и удалить его. Но Trace Mode скорее всего хранит информацию о тревогах где то в другом месте. В итоге выводятся также все тревоги что и если этого не делать. Возможно как то можно скинуть счётчик тревог или ещё совершить какие либо действия. Согласитесь это ведь не очень удобно когда выводятся все сообщения и тревоги которые были раньше и которых можно увидеть в прошлом фрагменте документа html, т.е в прошлом протоколе плавки. Заранее благодарю!
Posted by Майборода Алексей (Участник № / Member № 1701) on :
Мы, например, когда ОТ переполняется, оформляем его в виде html файла и ложим в соответствующую папку. Вот и Вам можно после окончания процесса плавки парсить ОТ и формировать html отчёт. Для упрощения парсинга можно перед началом процесса плавления и после окончания отправлять в ОТ сообщения с флагом "невидимые". Мы для этих целей написали DLL с соответствующими функциями.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
ОТ узла хранится в буфере, и на экран и в документ выводится именно из буфера, а не из файла.
Posted by Алексей Александрович (Участник № / Member № 2741) on :
Спасибо Алексей! Я так и сделал. Конечно с работающим фильтром было бы гораздо легче :-)