Тема / Topic: Как заполучить LocalStatistic за 8ми часовую смену
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028
отправлено / posted
Структура системы: несколько контроллеров которые общаются с рабочей станцией (МРВ TraceMode) по ModBus. Функции рабочей станции - мониторинг и архивирование состояния технологического оборудования которыми управляют контроллеры.
Один из параметров, который передает контроллер - это потребленная мощность.
МРВ получает данное значение и архивирует его в SIAD.
Суть задачи: В сутки работают три смены, необходимо выводить потребленную электроэнергию (интеграл мощности) по каждой смене за текущие сутки.
Проблема еще в том, что рабочая станция может быть отключена, и следовательно данные о мощности не заносятся. Но, при подсчете интеграла необходимо, чтобы выключенное время не учитывалось.
Подскажите пожалуйста, какими механизмами пользоваться и как, так как мы зашли в тупик использую LocalStatistic с разбиением на интервалы и без?
Сообщения / Posts 52 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Так как канал LocalStatistics очень старый и не учитывает недостоверность, то лучше использовать канал LocalList. Он выдает средневзвешенное значение по интервалам с учетом недостоверности. Для получения интеграла, Вам нужно будет просто умножить это значение на интервал.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028
отправлено / posted
LocalList с разбиением на интервалы по 5 минут работает, но с некоторыми особенностями или с ошибкой. Дело в том, что когда запрашиваем данные за период в котором точно нет ни единой записи (как пример запрашиваем с 5 утра до 6 утра, и знаем точно что в это время МРВ не работал), то в результате значения аргументов (ARG 002...) остаются от предыдущего запроса, атирбут 92 отражающий количество извленченных записей равен 0.
Но если мы делаем запрос за промежуток времени, в котором известно что 30 минут МРВ работал (как пример), а остальные 30 минут был выключен, допустим с 7:00 до 7:30 МРВ работал, а с 7:31 до 8:00 не работал.
Запрашиваем LocalList за промежуток с 7:00 до 8:00, и в итоге получаем, все аргументы имеют ненулевое значение, результат получился такой что с 7:00 до 8:00 МРВ работал и канал получал значения (хотя известно что МРВ работал всего 30 минут из запрашиваемого часа).
И еще в добавок атрибут 92 принял значение 12, 12 х 5 минут = 60 минут, хотя на самом деле атрибут должен был быть равен 6.
Soyuz
Forum Member / Участник форума
Участник № / Member № 2028
отправлено / posted
Господа, прошел месяц, а ответа так и не поступило. Отсутствие ответа на наш вопрос можно рассматривать как отсутствие ответа?
Сообщения / Posts 52 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
В решении этой задачи возможны 2 варианта.
В любом случае надо ставить в настройках МРВ флажок "Запись в архивы срезов по всем каналам" при запуске МРВ.
1. Интегрировать мощность в реальном времени и записывать в архив уже интеграл. Тогда зафиксированные показатели по каждой смене могут быть определены как разности интеграла между концом и началом смены. Тогда DifSnap должен делать выборку соответствующих срезов и вычислять их разности. Следует учесть, что каналы-интеграторы должны сохранять свои данные в DUMP и при запуске МРВ восстанавливать эти данные (с автоматической записью этих данных в архив).
2. При архивировании текущих усредненных значений мощностей надо поставить LocalList за сутки с выдачей средневзвешенных значений за каждые 8 часов и умножить эти средневзвешенные значения на коэффициент, равный (8 час.)/(период обработки архивируемого канала).
В каждом из этих вариантов автоматически (!) будут исключены из отчета промежутки времени, в которые МРВ был выключен. В первом варианте это будет происходить за счет того, что при выключенном МРВ интегрирование не осуществляется. Во втором варианте при загрузке МРВ в архив будут записаны начальные значения каналов (нулевые) на весь промежуток времени, в течение которого МРВ не работал.
Хотя, надо отметить, что постановка задачи контроля энергии с неполной информацией (с выключаемым МРВ) представляется нам не очень строгой.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |