Просмотр полной версии : Получить накопленную энергию из мгновенной мощности
Карбофос
28.11.2019, 13:10
Добрый день!
Есть такая задача: к ПЛК110 по модбасу подключен прибор, способный отдавать мгновенное значение электрической мощности. Можно ли как-нибудь вычислить накопленную электрическую энергию, если постоянно измерять мощность? Т.е. что бы ПЛК выступил в качестве элетросчетчика?
Учет сугубо технологический, ни о каком коммерческом учете речи не идет.
можно. я даже формулу когда-то выкладывал, читая МЭ110-1M, вот только понту от этого, если будет свет пропадать например и ПЛК будет отключаться...
хотя и это можно. Ну и с переменными придется повозиться, REAL не хватает, нужен либо LREAL либо как-то иначе..
Добрый день!
Есть такая задача: к ПЛК110 по модбасу подключен прибор, способный отдавать мгновенное значение электрической мощности. Можно ли как-нибудь вычислить накопленную электрическую энергию, если постоянно измерять мощность? Т.е. что бы ПЛК выступил в качестве элетросчетчика?
Учет сугубо технологический, ни о каком коммерческом учете речи не идет.
Это элементарно делается. Интегрируй мгновенное значение электрической мощности по времени и получишь то, что надо.
W = W + ((P(t) + P(t-1))/2) * dt.
Карбофос
28.11.2019, 15:36
Это элементарно делается. Интегрируй мгновенное значение электрической мощности по времени и получишь то, что надо.
W = W + ((P(t) + P(t-1))/2) * dt.
Если P(t) у нас будет выражено в киловаттах, то W мы получим в киловатт*часах или еще дополнительно нужно умножить на некий коэффициент?
Если P(t) у нас будет выражено в киловаттах, то W мы получим в киловатт*часах или еще дополнительно нужно умножить на некий коэффициент?
Если P(t) у нас будет выражено в киловаттах, а время в секундах, то W - в кило Джоулях
1 кДж = 0,000277778 кВт*ч
Карбофос
28.11.2019, 16:35
Всем спасибо!
Если P(t) у нас будет выражено в киловаттах, то W мы получим в киловатт*часах или еще дополнительно нужно умножить на некий коэффициент?
Если сделать интервал интегрирования dt, к примеру, 1 сек., то энергию в кВт * час можно считать по формуле:
W = W + (((P(t) + P(t-1))/2) * dt)/3600.
В принципе, в util.lib есть ФБ интеглала.
Карбофос
29.11.2019, 07:59
Главные слова сказал melky — real не катит. Соответственно не катят все вышеприведенные формулы в данном виде включая интеграл из util.
От себя - базовая размерность это размерность самого измерителя, а dt не секунда, а расчет в момент цифровки и/или получения данных
А что если я возьму DWORD, в котором будет храниться накопленное значение, умноженное на 1000, тогда при масштабировании в скаде или HMI у меня будет точность 3 знака после запятой. Расчет буду производить один раз в секунду при помощи ФБ Блинк - формула выше тогда работать будет?
Ну или как в 110м включить LReal?
Карбофос, где то в свойствах должно включаться в CDS. Просто 100-ка этот формат не поддерживает и когда я использовал формулу, то надо было вбить поаказания счетчика, чтобы типа видеть те же данные что и на счетчике, так вот при большом значении (относительно большом, всего лишь примерно 65000 кВт/ч) ругалось на формат.
Можно приводить к целочисленным без знака DINT в принципе.
Я читал МЭ примерно раз в 0,5 секунды. Соответственно у меня было деление на 7200 а не 3600.
Ну и в идеале заточить формулу, чтобы рассчитывалось время между запросами, тогда погрешность будет меньше. Хотя у меня не сильно большая была при таком опросе. Ну права за пару суток.
От себя - базовая размерность это размерность самого измерителя, а dt не секунда, а расчет в момент цифровки и/или получения данных
dt - это период опроса мощности. Какой период, такова и величина dt.
Приведенная формула вполне рабочая. Если добавить еще пару выражений, то вопрос с переполнением будет решен.
PROGRAM PLC_PRG
VAR
W: REAL;
W1: DWORD;
P: REAL;
P_1: REAL;
DEL_T: INT := 1;
WP: INT;
END_VAR
W := W + (((P + P_1)/2) * DEL_T)/3600;
WP := REAL_TO_INT(W); (* Целая часть W *)
W := W - INT_TO_REAL(WP); (* Дробная часть W *)
W1 := W1 + WP; (* Энергия в кВт x час *)
P_1 := P;
Валенок, попробуй докопаться. ;)
Сергей0308
30.11.2019, 17:10
Раньше тема попадалась, если не изменяет память, кажется Ситников подобным образом пытался электроэнергию подсчитывать, так расхождение в показаниях со счётчиком доходило до 20%, короче, боюсь никого такая точность не устроит!
PROGRAM Kwt_hours
VAR
kwt_corr: BOOL;
rt1: R_TRIG;
kwt_h: REAL;
kwt_start: REAL;
END_VAR
VAR RETAIN
kwt_summ: REAL;
END_VAR
rt1(CLK:=kwt_corr , Q=> );
IF rt1.Q THEN
kwt_summ:=kwt_start;
kwt_start:=0;
END_IF
kwt_h:=active/7200/1000;
kwt_summ:=kwt_summ+kwt_h;
при условии вызова опроса раз в 0,5 секунды. Погрешность тоже будет. А вот если считать время между опросами и вместо 7200 подставлять точное значение между получения ответов, то погрешность будет меньше.
з.ы. считать при помощи ПЛК в принципе БРЕД, либо нужна скорость куда выше. Это вам не счетчик раз в 250 мкс расчет...
PROGRAM Kwt_hours
VAR
kwt_corr: BOOL;
rt1: R_TRIG;
kwt_h: REAL;
kwt_start: REAL;
END_VAR
VAR RETAIN
kwt_summ: REAL;
END_VAR
rt1(CLK:=kwt_corr , Q=> );
IF rt1.Q THEN
kwt_summ:=kwt_start;
kwt_start:=0;
END_IF
kwt_h:=active/7200/1000;
kwt_summ:=kwt_summ+kwt_h;
при условии вызова опроса раз в 0,5 секунды. Погрешность тоже будет. А вот если считать время между опросами и вместо 7200 подставлять точное значение между получения ответов, то погрешность будет меньше.
з.ы. считать при помощи ПЛК в принципе БРЕД, либо нужна скорость куда выше. Это вам не счетчик раз в 250 мкс расчет...
melky вычисляет площадь прямоугольника. Я в своем коде вычисляю площадь трапеции, я думаю это повысит точность вычисления энергии.
Переменная kwt_summ, объявленная у melky как REAL быстро переполнится. В моем коде накопленная энергия хранится в переменной DWORD.
Будет много лучше использовать таймер 20 мкс для измерения временных интервалов (прерываться можно раз в 100 мкс). В программе прерывания по таймеру надо делать вычисление энергии.
IVM я про это и писал выше, что REAL не подходит, а это мой код из ПЛК100. В любом случае я от него отказался, так как счетчик электроэнергии с интерфейсом считает все куда лучше
Да, тут еще есть и экономическая составляющая, если токи у нас до 100А то счетчик выгоднее и занимает меньше места.
Например Меркурий 236 с интерфейсом стоит 5 с чем-то. А МЭ110 3-х фазный + трансы будет стоить дороже и добавит головняков с расчетами.
IVM я про это и писал выше, что REAL не подходит, а это мой код из ПЛК100. В любом случае я от него отказался, так как счетчик электроэнергии с интерфейсом считает все куда лучше
Да, тут еще есть и экономическая составляющая, если токи у нас до 100А то счетчик выгоднее и занимает меньше места.
Например Меркурий 236 с интерфейсом стоит 5 с чем-то. А МЭ110 3-х фазный + трансы будет стоить дороже и добавит головняков с расчетами.
Никто не говорит, что надо ставить ПЛК и МЭ110 вместо счетчика, просто у автора темы ситуация такая сложилась. Но как известно все проблемы решаемы.
Нет никаких головняков с расчетами, все предельно просто.
да есть головняки.
1. скорость опроса по интерфейсу
2. скорость опроса самим прибором
отсюда и погрешность. ну не способен ПЛК в связке с прибором по RS485 дать скорость расчета 250 мкс.
да есть головняки.
1. скорость опроса по интерфейсу
2. скорость опроса самим прибором
отсюда и погрешность. ну не способен ПЛК в связке с прибором по RS485 дать скорость расчета 250 мкс.
Измерители мощности бывают с интерфейсом Ethernet (на Али таких море и недорого). ПЛК110 [М02] может вести расчеты с периодом от 20 мкс.
e.filatov
01.12.2019, 13:59
Взять 701-й, который сам накапливает мощности? не, не слышал
нафига? если счетчик прекрасно накапливает мощность ? :) взять 701-й это когда надо и большая система. Ну и кроме 701-ого есть куча других производителей если так рассматривать ситуацию. Опять же, 701-й требует трансформаторов тока, как и многие другие приборы
Если P(t) у нас будет выражено в киловаттах, а время в секундах, то W - в кило Джоулях
1 кДж = 0,000277778 кВт*ч
или 1кДж = 1 кВт*сек
Карбофос
01.12.2019, 19:57
нафига? если счетчик прекрасно накапливает мощность ? :) взять 701-й это когда надо и большая система. Ну и кроме 701-ого есть куча других производителей если так рассматривать ситуацию. Опять же, 701-й требует трансформаторов тока, как и многие другие приборы
А я скажу нафига. Потому что измерять будем параметры сети 10 кВ, объект со дня на день собирается запускаться, а заказчики про**** покупку соответствующих счетчиков, а у тех очень нехорошие сроки поставки (как мне объяснили), и теперь слезно умоляют в качестве временного решения получить данные с блоков релейной защиты (дабы не получить люлей от начальства). А блоки эти могут только отдать значение активной/реактивной мощности, но не накопленной энергии.
Развлекаемся как можем:)
Карбофос, тогда лучше конечно применить 701 или аналогичное, что умеет считать и энергию и не заниматься мазохизмом. Хотя если уже купили, то занимайтесь.
А по секрету скажу, счётчики можно включать через трансформаторы тока и напряжения. Ужас просто...
Сергей0308
02.12.2019, 03:14
А по секрету скажу, счётчики можно включать через трансформаторы тока и напряжения. Ужас просто...
Что значит можно? Вы вроде писали что имели к этому отношение(к подстанциям)?
Иначе и не возможно сделать для сетей 10кВ!
Можно, это когда более одного способа(варианта)!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot