PDA

Просмотр полной версии : СПК+ расходомер 4-20 подсчет накопленных значений



Serjay
12.04.2024, 09:12
Здравствуйте коллеги!
На объекте стоит СПК с модулем аналогового ввода. К модулю подключены счетчики-расходомеры, которые выдают текущий расход по 4-20мА в м3 в час. (импульсов нет, возможности опросить по rs485 то же нет).
Задача состоит в том чтобы вести учет суммарного расхода, расхода за сутки, неделю, месяц...

Искал информацию по форому через поиск и ничего подобного не увидел, если такая тема ранее обсуждалась, то дайте пожалуйста ссылочку)

Ка я понял, то решается такая задача:
1. Получаем усредненный расход
2. Этот расход каждый час суммируем

Вопрос в том, если какая-то готовая библиотека для подсчета аналогово значения?
Не хочется придумывать велосипед, а потом его допиливать....

kondor3000
12.04.2024, 16:43
Здесь одна из подобных тем, ФБ на языке ST, расход общий, за час, месяц, год. Правда там считается по импульсам в секунду, но можно переделать на средний расход в секунду и адаптировать для ПЛК.
https://owen.ru/forum/showthread.php?t=38925&page=5
Еще тема с запоминанием https://owen.ru/forum/showthread.php?t=38990&page=3&highlight=%D0%E0%F1%F5%EE%E4+%F7%E0%F1%2C+%EC%E5%F 1%FF%F6%2C+%E3%EE%E4
Ещё тема с расходом по 4-20 мА https://owen.ru/forum/showthread.php?t=30963&highlight=%D0%E0%F1%F5%EE%E4+%F7%E0%F1%2C+%EC%E5%F 1%FF%F6%2C+%E3%EE%E4

Фактически всё сводится к суммированию расхода раз в секунду и запоминание общего расхода, расхода раз в час, день, месяц и год.
Это делается по битам времени.

In_Da_Cher_A
12.04.2024, 17:09
Вопрос в том, если какая-то готовая библиотека для подсчета аналогово значения?
Не хочется придумывать велосипед, а потом его допиливать....оскат бейсик 333, там вроде типа такого фб под кдс 3,5

IVM
13.04.2024, 10:55
Предстоит заниматься численным интегрированием. Надо будет интегрировать мгновенный расход по времени. Задача тривиальная. Но если не получится точно отмерять временной интервал (чем короче интервал интегрирования, тем лучше), то погрешность вычисления накопленного расхода будет большой.

Сергей0308
13.04.2024, 12:30
Мне кажется для показаний расходомера из модуля аналогового ввода надо иметь метки времени, иначе не получится, в смысле, точность будет никакая! И в секунду минимум 10 опросов для минимальной точности!

МихаилГл
13.04.2024, 13:02
Ну не знаю, вполне выполнимая операция. А если писать всё ы базу, то вообще без проблем.

Применяли такое решение на обогатительных фабриках для расходомеров и конвейерных весов. Для весов потом стали считывать показания с соответствующих регистров по протоколу, и рассчитанные по суммарным значениям и с числом, посчитанным самим прибором, были с достаточно малой погрешностью, 1..2. Но для коммерческого учёта конечно такой подход лучше не применять.

Serjay
15.04.2024, 09:09
Спасибо большое за ответы.
Эту задачу пока не решил, но попробую ее реализовать по примеру описанному тут - https://owen.ru/forum/showthread.php?t=38925&page=5
Для подсчета усредненного расхода использую библиотеку UTIL.LIB->STATISTICS_REAL
А там как пойдет....
И надо бы пошерстить библиотеку "oscat basic 333", может там что-то есть...

melky
15.04.2024, 17:39
я как-то мерял электрический счетчик, использую ток и напряжение от МЭ701, вполне точно получалось. Уперся только в real, так как он не мог повторить показания счетчика так как ограничен числом.
Переделывать на целочисленные не стал, так как чисто игрался. Читал МЭ всего лишь 2 раза в секунду при этом.

Сергей0308
15.04.2024, 18:16
я как-то мерял электрический счетчик, использую ток и напряжение от МЭ701, вполне точно получалось. Уперся только в real, так как он не мог повторить показания счетчика так как ограничен числом.
Переделывать на целочисленные не стал, так как чисто игрался. Читал МЭ всего лишь 2 раза в секунду при этом.

Получается Вы точнее счётчика считали, коли с его показаниями ваши не совпадали?!
Конструкторы цифровых счётчиков конечно хуже Вас в этом разбираются, коль 200 раз в секунду опрашивают!

melky
15.04.2024, 22:47
Сергей0308 не точнее, но близко к счетчику. 250мс вообще-то расчет у Меркурий. то есть 4 раза в секунду всего лишь

Про 200 раз это вам кто напел то?

Сергей0308
15.04.2024, 23:30
Сергей0308 не точнее, но близко к счетчику. 250мс вообще-то расчет у Меркурий. то есть 4 раза в секунду всего лишь

Про 200 раз это вам кто напел то?

Так не будем далеко ходить возьмём ваш модуль(МЭ701), у него время обновления измеренных значений = 15мс.

melky
15.04.2024, 23:37
Ну вот покажите мне в паспорте счетчика время измерения? я что-то найти не смог

Сергей0308
16.04.2024, 00:16
Ну вот покажите мне в паспорте счетчика время измерения? я что-то найти не смог

Счётчик должен быстрей вашего модуля "шевелится", иначе он максимумы значений может никогда не найти, а у него есть такая функция.
К тому же он заточен под коммерческий учёт, там точность важна. В смысле измеряемые счётчиком параметры могут практически мгновенно меняться!

melky
16.04.2024, 08:55
блин, лоханулся я, у меня не 701-й, а старый однофазный мультиметр, там вообще одна секунда.
У счетчиков никак не могу найти, но интеграция маскимумов у СЭТ нашел от 0,2 секунд до 5с. А вот за сколько он вообще читает хз.
Ну частоту если счетчик считает, он должен 20 раз в секунду это делать. (хотя тут нога МК может по прерываниям это делать и это не показатель общего измерения по остальным параметрам) + еще нашел по поводу превышения мощности сработку 10 мс.

з.ы. погрешность при меньшем количестве считывания возникает на быстроменяющейся нагрузке, если она меняется не очень быстро, то и погрешность будет не сильно большая.
Если тот же 701-й читать так же, со скоростью 15мс, то по его значениям погрешность вообще будет ласковой. Даже если проводить расчеты, но тут уже будет зависеть от скорости выполнения программы в целом.

В любом случае это нифига не средство измерения. Проще поставить счетчик и вычитывать из него потребленную энергию и не парить себе мозг...

Сергей0308
16.04.2024, 09:09
блин, лоханулся я, у меня не 701-й, а старый однофазный мультиметр, там вообще одна секунда.
У счетчиков никак не могу найти, но интеграция маскимумов у СЭТ нашел от 0,2 секунд до 5с. А вот за сколько он вообще читает хз.
Ну частоту если счетчик считает, он должен 20 раз в секунду это делать. (хотя тут нога МК может по прерываниям это делать и это не показатель общего измерения по остальным параметрам) + еще нашел по поводу превышения мощности сработку 10 мс.

з.ы. погрешность при меньшем количестве считывания возникает на быстроменяющейся нагрузке, если она меняется не очень быстро, то и погрешность будет не сильно большая.
Если тот же 701-й читать так же, со скоростью 15мс, то по его значениям погрешность вообще будет ласковой. Даже если проводить расчеты, но тут уже будет зависеть от скорости выполнения программы в целом.

В любом случае это нифига не средство измерения. Проще поставить счетчик и вычитывать из него потребленную энергию и не парить себе мозг...

Кроме того счётчик должен уметь находить действующие(эффективные) значения при любой форме сигнала, в смысле, могут стоять регуляторы с ФИМ и тому подобное!