<< Click to Display Table of Contents >> Navigation: Создание отчетов > Пример создания отчета |
Имеем контролируемые параметры, на основании которых нужно построить отчет. Оператор должен иметь возможность выбрать время начала составления отчета, время окончания, а также интервал, с которым будет появляться новая строка. Так, например, если стоит задача построить суточный отчет, с интервалом в 1 час, то оператору нужно задать время начала отчета, время окончания, которое отличается на 24 часа от значения предыдущего параметра, и интервал 60 минут. В этом случае в отчете должно появится 24 строки. Значение, которое будет отображено в отчете будет зависеть от способа обработки архивных данных, например, может выбраться максимальное значение, за контролируемый час, или минимальное, или среднее, др. В данном случае отчет строится на основании архивных данных, поэтому в проекте у контролируемых параметров должен быть установлен флаг Архивировать.
Важно! Модуль отчетов работает на исполнительных системах для ОС Windows, Linux. При использовании модуля в предопределенных контроллерах необходимо уточнить, поддерживается ли он в каждом конкретном типе.
Отчет может быть создан как в узле, так и в объекте. Рассмотрим создание отчета в объекте.
Чтобы добавить отчет в проект необходимо выполнить пункт контекстного меню объекта Добавить.Отчет.
Итак, создадим в проекте объект с именем Формирование отчета, в него добавим элемент Отчет:
Редактор создания отчетов откроется автоматически.
В группе объекта Ресурсы, появится подгрупа Отчеты, в которой будет находится созданный элемент.
При необходимости можно изменить имя отчета в его панели свойств.
Также стоит обратить внимание на свойство Полное имя, которое в будущем пригодится (оно отображается, если Простой режим в панели свойств отключен ). Значение свойства Полное имя можно скопировать:
В проект добавляем служебные параметры, необходимые для формирования отчета.
Название |
Тип |
Назначение |
---|---|---|
Начало |
DT |
Определяет время начала формирования отчета |
Конец |
DT |
Определяет время окончания формирования отчета |
Интервал
|
Time |
Время определяющее через какой промежуток будет формироваться новая строка или столбец. |
Сформировать |
Bool |
Команда оператора, после которой начнется формирование отчета. |
Параметры Начало, Конец, Интервал и Сформировать размещаем в окне, в удобном для оператора виде. Пример окна:
Если отчет должен формироваться автоматически, то данные параметры могут формироваться в результате работы программ, например, ST.
•Добавляем в проект служебный ФБ из библиотеки: BaseObjects.ФБ.Системные.ReportFB, который управляет формированием отчета.
•В настройках входа Name необходимо указать в качестве значения по умолчанию имя отчета, которым будет управлять данный ФБ. Имя отчета содержит в себе имя объекта и его родителей, в которым находится отчет, и имя самого отчета. Поэтому можно вставить ранее скопированное полное имя отчета и удалить оттуда несущественные элементы. Например, свойство Полное имя имеет значение: Объекты.Формирование отчета.Ресурсы.Отчеты.Отчет 1, нужно оставить - Объекты.Формирование отчета.Отчет 1
Если отчет создан в дереве системы, то в свойстве нужно указать только имя отчета. Имя узла, указывать не требуется.
•Вход Execute соединить с параметром Сформировать
•В редакторе отчетов, который открылся автоматически необходимо перейти на панель Словарь. В данной панели определяется какие параметры MasterSCADA будут участвовать при составлении отчета. В описываемом случае необходимо настроить группу словаря Архив данных.
•Перетаскиваем контролируемые параметры в группу Архив данных - появятся ссылки на соответствующие элементы. Затем необходимо связать элементы из подгруппы Параметры с соответствующими элементами дерева объектов. Для этого нужно переменные из дерева объектов перетащить на нужный параметр
•Далее необходимо определить способ формирования отчета. Для этого выделим элемент Архив данных в Словаре отчета. и перейдем на панель Свойства в интерфейсе дизайнера отчетов.
Для решения поставленной задачи укажем Способ формирования данных - Периодический.
•Далее необходимо выбрать способ обработки данных, т.е как рассчитывать значения для записи в отчет. Нужно выделить контролируемый параметр в словаре отчета. И перейти на панель свойств, где определить для каждого параметра свой способ обработки.
Например, если отчет будет формироваться раз в час, т.е. время начала будет 10:00, а время окончания 11:00, а Интервал будет 10, то в отчете будет 6 строк, и нужно определить какое число попадет в ячейку отчета, если выбрать способ обработки - минимальное, то в отчет попадет самое маленькое значение за 10 минут, если максимальное - то соответственно самое большое.
•Внешний вид отчета определяется его шаблоном, который задается в рабочей области, заголовок отчета, а также вид каждой новой страницы определяется элементами, которые располагаются с левой стороны поля отчета.
Добавим Заголовок отчета. Разместим в появившемся контейнере элемент Текст (свойства также настраиваются на соответствующей панели внутри редактора отчетов)
Перетащим из словаря элемент Архив данных на поле отчета. В диалоговом окне укажем, какие столбцы необходимы отображать в отчете.
Примечание: Если нужно добавить в отчет текущие значения параметров на момент формирования отчета, то их перетаскивают в Словарь в группу Переменные, а затем также перетаскивают в поле отчета в нужно место
•Сохраним отчет в редакторе отчетов
Созданный отчет попадет в базу данных проекта. После компиляции проекта, его запуска в исполнительной системе и формирования отчета (помните, что для формирования отчета нужны архивные данные), если не были заданы дополнительные настройки, то отчет сохранится по умолчанию в папке <папка узла>\htdocs\reports
Например:
•если узел запускается локально из среды разработки, то используется папка <имя пользователя>\AppData\Roaming\MPSSot\MasterSCADA4D<версия>\ProjectsServiceData\<имя проекта>\Debug\<имя узла>\PLC\htdocs\reports,
•если узел запускается локально в режиме эмуляции из среды разработки, то используется папка <имя пользователя>\AppData\Roaming\MPSSot\MasterSCADA4D<версия>\ProjectsServiceData\<имя проекта>\Debug\web_imit\htdocs\reports,
•если используется отдельно установленная исполнительная система MasterSCADA 4D RT, то узел запускается из папки запуска проекта по умолчанию среды исполнения для Windows - C:\ProgramData\MPSSoft\MasterSCADA4DRT<версия>\Server\htdocs\reports.
Рассмотрим один из возможных способов открытия ранее сформированного отчета в окне:
•Добавим в окно графический элемент Контейнер окна
•Добавим в окно графический элемент Кнопка.
• В панели свойств кнопки перейдем в режим События и в Клик мыши добавим действие Открыть адрес.
•Установим связь между выходом ФБ ReportFB Path и параметром действия Адрес.
•Откроем вкладку Элементы легенды графического редактора и перетащим параметр действия Контейнер окна на элемент Контейнер окна.
В результате в клиенте будет открываться последний созданный отчет.