PDA

Просмотр полной версии : Помогите с формированием отчётов



StrelecRUS
16.03.2012, 14:06
Задача: нужно сделать отчёт о суточной температуре с ТРМ202 с интервалом в 30 мин, с 8:00 до 8:00. Сохранение отчёта каждый день, ну допустим в 8:30.

Всё в принципе получается, кроме: ни могу добиться чтоб каждый день показывало отчёт за прошедшие сутки, показывает только за те сутки которые указал в переменных "начало"(тип данных-время) и "конец"(тип данных-время). До сохранение ещё особо не доходил, но всёравно непонятно куда какие данные писать в ФБ "Управление документом":confused: :confused:

SCADAMaster
16.03.2012, 14:34
Вы видели документацию по отчетам и видеопримеры?
http://www.owen.ru/forum/showthread.php?t=10704
Во втором видеопримере рассматривается сохранение тренда по расписанию за прошедшие сутки.
Задача решается примерно следующим образом.
Вы добавляете два модуля "Расчет" в дерево объектов, один "Начало", другой "Конец".
В "конец" пишете формулу:
CurDay( )
В результате на выходе "Конец" будет начало текущих суток. Т.е. например 16.03.2012 00:00
В "Начало" пишите формулу:
CurDay( ) - 24*60*60
В результате на выходе "Начало" будете начало предыдущих суток. Т.е. 15.03.2012.
Эти переменные связываете с источником данных в редакторе отчетов.
Формировать отчет можно используя расписание.

StrelecRUS
16.03.2012, 14:39
Документацию читал, а видео ещё не смотрел. Сейчас буду пробовать

StrelecRUS
16.03.2012, 15:07
Вы видели документацию по отчетам и видеопримеры?
http://www.owen.ru/forum/showthread.php?t=10704
Во втором видеопримере рассматривается сохранение тренда по расписанию за прошедшие сутки.
Задача решается примерно следующим образом.
Вы добавляете два модуля "Расчет" в дерево объектов, один "Начало", другой "Конец".
В "конец" пишете формулу:
CurDay( )
В результате на выходе "Конец" будет начало текущих суток. Т.е. например 16.03.2012 00:00
В "Начало" пишите формулу:
CurDay( ) - 24*60*60
В результате на выходе "Начало" будете начало предыдущих суток. Т.е. 15.03.2012.
Эти переменные связываете с источником данных в редакторе отчетов.
Формировать отчет можно используя расписание.

всё сделал как Вы написали, но при нажатии "просмотр" появляется сообщение -"Необходимо задать значение параметров "Конец" и "Начало""-
Если ставлю галочки "Значение до опроса" и задаю даты то отчёт получается от даты "началО" до даты "Конец" т.е. тоже самое что и было

И что надо вводить в скобки команды "CurDay( ??????)" ???

SCADAMaster
16.03.2012, 15:21
всё сделал как Вы написали, но при нажатии "просмотр" появляется сообщение -"Необходимо задать значение параметров "Конец" и "Начало""-

Это в режиме разработки или в режиме исполнения?
В режиме разработки нужно действительно задать значения до опроса.

StrelecRUS
16.03.2012, 15:41
Это в режиме разработки или в режиме исполнения?
В режиме разработки нужно действительно задать значения до опроса.

Всё работает в режиме исполнения:) :) Большое спасибо.

Ещё вопрос по расписанию. Я задал сохранение отчёта каждое утро, как и где я могу посмотреть отчёты например 5 дневной давности???

SCADAMaster
16.03.2012, 15:51
Опять таки посмотрите видеопримеры.
Используя ФБ "Управление документом" вы можете сохранять тренды с разными именами подавая, к примеру, дату на вход "Имя файла".
А имя файла можно генерировать от даты, при помощи ФБ "Разбор времени" (закладка "Работа со временем"). Затем используя ФБ "Формирование строки" делаете строку по определенной маске. В примере это есть.

StrelecRUS
16.03.2012, 15:55
Посмотрю обязательно, но попозже, недели через 2, сесия начинается))))
У меня ещё сразу возник вопрос)) какую надо ввести команду чтобы отчёт формировался не с 0:00 по 0:00, а с 8:00 по 8:00 след. дня??

SCADAMaster
16.03.2012, 16:04
какую надо ввести команду чтобы отчёт формировался не с 0:00 по 0:00, а с 8:00 по 8:00 след. дня??
Что значит следующего дня?
Как можно построить отчет с данными за промежуток когда данных еще нет?

StrelecRUS
16.03.2012, 16:16
Я наверное не так выразился, с 8:00 вчера до 8:00 сегодня( например с 8:00 14.03 по 8:00 15.03). Сейчас показывает отчёт формируется с 0:00 по 0:00

SCADAMaster
16.03.2012, 16:25
Аналогично через модуль расчет.
В "конец" пишете формулу:
CurDay( ) + 8*60
В "Начало" пишите формулу:
CurDay( ) - 16*60*60

StrelecRUS
16.03.2012, 16:26
Спасибо. Попробую.