This is topic Как заполучить LocalStatistic за 8ми часовую смену in forum SIAD/SQL. Архивирование в TRACE MODE / SIAD/SQL. Data Logging in TRACE MODE at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/40/t/000082.html

Posted by Soyuz (Участник № / Member № 2028) on :
 
Структура системы: несколько контроллеров которые общаются с рабочей станцией (МРВ TraceMode) по ModBus.
Функции рабочей станции - мониторинг и архивирование состояния технологического оборудования которыми управляют контроллеры.

Один из параметров, который передает контроллер - это потребленная мощность.

МРВ получает данное значение и архивирует его в SIAD.

Суть задачи: В сутки работают три смены, необходимо выводить потребленную электроэнергию (интеграл мощности) по каждой смене за текущие сутки.

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

Подскажите пожалуйста, какими механизмами пользоваться и как, так как мы зашли в тупик использую LocalStatistic с разбиением на интервалы и без?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Так как канал LocalStatistics очень старый и не учитывает недостоверность, то лучше использовать канал LocalList. Он выдает средневзвешенное значение по интервалам с учетом недостоверности. Для получения интеграла, Вам нужно будет просто умножить это значение на интервал.
 
Posted by Soyuz (Участник № / Member № 2028) on :
 
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.

Подскажите что не так?

Как тогда подсчитать значение потребеленной электроэнергии с помощью LocalList ?
 
Posted by Soyuz (Участник № / Member № 2028) on :
 
Господа, прошел месяц, а ответа так и не поступило. Отсутствие ответа на наш вопрос можно рассматривать как отсутствие ответа?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
В решении этой задачи возможны 2 варианта.

В любом случае надо ставить в настройках МРВ флажок "Запись в архивы срезов по всем каналам" при запуске МРВ.

1. Интегрировать мощность в реальном времени и записывать в архив уже интеграл. Тогда зафиксированные показатели по каждой смене могут быть определены как разности интеграла между концом и началом смены. Тогда DifSnap должен делать выборку соответствующих срезов и вычислять их разности.
Следует учесть, что каналы-интеграторы должны сохранять свои данные в DUMP и при запуске МРВ восстанавливать эти данные (с автоматической записью этих данных в архив).

2. При архивировании текущих усредненных значений мощностей надо поставить LocalList за сутки с выдачей средневзвешенных значений за каждые 8 часов и умножить эти средневзвешенные значения на коэффициент, равный (8 час.)/(период обработки архивируемого канала).

В каждом из этих вариантов автоматически (!) будут исключены из отчета промежутки времени, в которые МРВ был выключен.
В первом варианте это будет происходить за счет того, что при выключенном МРВ интегрирование не осуществляется.
Во втором варианте при загрузке МРВ в архив будут записаны начальные значения каналов (нулевые) на весь промежуток времени, в течение которого МРВ не работал.

Хотя, надо отметить, что постановка задачи контроля энергии с неполной информацией (с выключаемым МРВ) представляется нам не очень строгой.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2