Обработка дискретных параметров

<< Click to Display Table of Contents >>

Navigation:  Проект > Документы объектов > Генератор отчетов > Примеры построения отчетов > Различные способы обработки данных > Пример второй. Обработка дискретных параметров >

Обработка дискретных параметров

В MasterReport также существуют специальные способы обработки для дискретных параметров: счетчик наработки – длительность времени, когда переменная была в состоянии Истина, и количество включений – количество переходов переменной из состояния Ложь в состояние Истина. Обе эти обработки присутствуют в списке только при способе обработки Периодический. Рассмотрим пример использования данных обработок.

Задание

Дискретная переменная отображает состояние работы насоса – включен или выключен. Требуется сформировать отчет, содержащий строки, выведенные с определенным интервалом. В каждую строку необходимо вывести наработку и количество включений за данный интервал времени. В конце отчета нужно вывести итог – суммарную наработку и суммарное количество включений.

Решение

В объект добавлено событие "Дискретный сигнал" - состояние насоса, и две команды "Начало" и "Конец", определяющие  диапазон выборки значений из архива. У события при помощи имитации архив был наполнен данными, а у команд "Начало" и "Конец" установлены значения до опроса.

ReportManualPart2_img44

Создадим новый отчет. Добавим в словарь источник данных, в него дважды перетащим событие "Дискретный сигнал" (для вычисления количества включений и наработки), свяжем команды "Начало" и "Конец" с одноименными параметрами. Переименуем колонки, зададим им имена – "Количество_включений" и "Наработка".

ReportManualPart2_img45

В свойствах источника установим способ формированияПериодический.

ReportManualPart2_img46

Зададим у колонок "Количество_включений" и "Наработка" способы нужные обработкиКоличество включений и Счетчик пробега. Обратите внимание, что в поле Тип изменился тип переменной.

ReportManualPart2_img47

Обработка Счетчик пробега возвращает наработку в секундах. Если необходимо выводить наработку в минутах или часах, то можно воспользоваться полем Параметр обработки - это поле аналогично полю обработки Интеграл у числовых переменных. Если значение в данном поле не равно нулю, то результат наработки делится на это значение. Таким образом, если ввести в поле 3600, то колонка будет возвращать наработку в моточасах. В нашем примере, мы будем выводить  наработку в секундах, поэтому оставим в этом поле ноль.

В свойствах параметра Интервал установим значение 60 – мы будем выводить строки с интервалом в одну минуту (60 секунд).

ReportManualPart2_img48

Вытащим на страницу источник данных "Данные", отметим все поля, а также включим вывод Заголовка данных и Итога данных.

ReportManualPart2_img49

Настроим отображение бэндов – включим отображение границы, сделаем выравнивание текста по центру.

ReportManualPart2_img50

Запустим построение отчета.

ReportManualPart2_img51

Отчет построен, теперь на каждый интервал времени рассчитано количество включений и наработка насоса.

У столбца наработки насоса, отключим вывод дробной части.

ReportManualPart2_img52

Также настроим подсчет итога – суммарную наработку и суммарное количество включений.

ReportManualPart2_img53

ReportManualPart2_img54

Запустим построение отчета

ReportManualPart2_img55

Отчет необходимой формы построен. При необходимости его можно доработать – добавить заголовок и итог отчета, вывести наработку в других единицах измерения и т.д.

Примечание. Готовый отчет можно посмотреть в проекте "Обработка в отчетах" в объекте "Обработка дискретных сигналов" .