счётчик времени работы насоса за последние 24 часа

Ответить
holodaleksey
Лейтенант
Сообщения: 595
Зарегистрирован: 10 янв 2016, 13:47
Благодарил (а): 1 раз

счётчик времени работы насоса за последние 24 часа

Сообщение holodaleksey »

Люди-человеки. Подскажите, пожалуйста, или пните в нужную сторону.
Сразу скажу, проекта ещё нет, потому не знаю с какой стороны его начинать.
точнее знаю, но с неполным желаемым функционалом.
Суть: есть насос, включается по датчику давления. Хотелось бы видеть сколько он времени отработал за последние сутки и сколько раз включался.
Засада для меня в том, как определить, каким образом отсчитать именно эти ПОСЛЕДНИЕ 24 часа, при обращении к просмотру. И эти 24 часа назад он мог стоять, а мог и работать.
На что моей дурнявой фантазии хватает - либо сделать сброс, например, в 00-01, что совсем неиформативно и неудобно,
Либо сделать 24 счётчика, по одному на каждый час, но это же уже даже не костыли, а оглобли.
Вот. Железяку хотелось бы есп8266, входов хватает, да и для визуализации Гугл графики удобны, что на есп для меня реализовать проще.

Мож кто что подскажет?
Аватара пользователя
Serquick
Сержант
Сообщения: 254
Зарегистрирован: 25 ноя 2019, 01:07
Откуда: Украина
Имя: Сергей

счётчик времени работы насоса за последние 24 часа

Сообщение Serquick »

Записывайте время работы в Unix time.
32 Кб должно хватить для любых задач!!!
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

счётчик времени работы насоса за последние 24 часа

Сообщение Ingwar »

holodaleksey писал(а): 05 окт 2021, 23:50 каким образом отсчитать именно эти ПОСЛЕДНИЕ 24 часа
Может раз в час писать в массивы (на 24 ячейки) в стек кол-во срабатываний и время работы за этот час...?
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

счётчик времени работы насоса за последние 24 часа

Сообщение edyapd »

Если вы хотите смотреть статистику за ПОСЛЕДНИЕ 24 часа, то обнуление счётчика в 00:01 не вариант. Так как в этом случаи вы будите видеть только статистику за текущие сутки. А это может быть как одна минута, так и 23 часа.
По сути вам надо знать время включения и отключения насоса. У ESP есть файловая система, куда вы можете сохранять это время в UNIX формате (как вам уже подсказали выше).
А вот когда вы захотите посмотреть статистику, то вам надо будет прочитать этот файл или его часть. Найти метку времени которая отстоит на 24 часа от текущего(или , а так же проверить, был насос в этот момент включен или выключен. После этого посчитать сколько у вас меток времени помечены как включение и просуммировать время работы.
Как этот алгоритм сделать в других языках я примерно представляю, в FLProg пока не очень.
holodaleksey
Лейтенант
Сообщения: 595
Зарегистрирован: 10 янв 2016, 13:47
Благодарил (а): 1 раз

счётчик времени работы насоса за последние 24 часа

Сообщение holodaleksey »

О. UNIX для меня пока непонятен, буду пробовать с массивами...
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

счётчик времени работы насоса за последние 24 часа

Сообщение Dryundel »

[ref]holodaleksey[/ref], как часто насос включается, на сколько долго работает и какая точность требуется?
chess
Рядовой
Сообщения: 26
Зарегистрирован: 11 июл 2018, 08:54
Имя: Игорь

счётчик времени работы насоса за последние 24 часа

Сообщение chess »

holodaleksey писал(а): 05 окт 2021, 23:50сторону
интернета - beebotte или narodmon, или beebotte + narodmon, вот сколько отработал насос твердотоплевного котла за последних 24:
[spoiler]Изображение[/spoiler]
еще лучше narodmon:
[spoiler]Изображение[/spoiler]
Аватара пользователя
Dryundel
Полковник
Сообщения: 2451
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 6 раз
Поблагодарили: 31 раз

счётчик времени работы насоса за последние 24 часа

Сообщение Dryundel »

Короче, идея такая.
Делаем три стека: Последняя минута(60сек), Последний час(60мин), Последние сутки(24часа)
Ставим их в цепочку и таймерами в каждый записываем сумму с предыдущего.

Можно было бы сделать один стек на 84600 секунд (байт), но памяти МК не хватит.

[spoiler=Как то так...]
Время работы насоса.jpg
Время работы насоса.flp
[/spoiler]

Отправлено спустя 6 минут 41 секунду:
Наверное правильней сделать:
- За последнюю минуту
- За последние 59 минут
- За последние 23 часа
А потом сплюсовать.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
fok52
Рядовой
Сообщения: 98
Зарегистрирован: 15 сен 2016, 09:44

счётчик времени работы насоса за последние 24 часа

Сообщение fok52 »

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

[spoiler]FUNCTION_BLOCK FB1
VAR_INPUT
in1:BOOL;
ai1:REAL;
END_VAR
VAR_OUTPUT
qr1,qr2,qr3,qr4,qr5,qr6,qr7,qr8,qr9,qr10,qr11,qr12,qr13,qr14,qr15,qr16,qr17,qr18,qr19,qr20,qr21,qr22,qr23,qr24,qr25,qr26,qr27,qr28,qr29,qr30,qr31:REAL;
END_VAR
VAR
rt1:R_TRIG;
at1:ARRAY [0..30] OF REAL;
k:WORD;

END_VAR


rt1(CLK:=in1 , Q=> );

IF rt1.Q=TRUE THEN
FOR k:=0 TO 29 DO

at1[30-k]:=at1[30-k-1];

END_FOR
at1[0]:=ai1;
END_IF
qr1:=at1[0];
qr2:=at1[1];
qr3:=at1[2];
qr4:=at1[3];
qr5:=at1[4];
qr6:=at1[5];
qr7:=at1[6];
qr8:=at1[7];
qr9:=at1[8];
qr10:=at1[9];
qr11:=at1[10];
qr12:=at1[11];
qr13:=at1[12];
qr14:=at1[13];
qr15:=at1[14];
qr16:=at1[15];
qr17:=at1[16];
qr18:=at1[17];
qr19:=at1[18];
qr20:=at1[19];
qr21:=at1[20];
qr22:=at1[21];
qr23:=at1[22];
qr24:=at1[23];
qr25:=at1[24];
qr26:=at1[25];
qr27:=at1[26];
qr28:=at1[27];
qr29:=at1[28];
qr30:=at1[29];
qr31:=at1[30];
[/spoiler]
holodaleksey
Лейтенант
Сообщения: 595
Зарегистрирован: 10 янв 2016, 13:47
Благодарил (а): 1 раз

счётчик времени работы насоса за последние 24 часа

Сообщение holodaleksey »

Спасибо всем откликнувшимся!

Отправлено спустя 2 минуты 7 секунд:
Dryundel писал(а): 06 окт 2021, 12:26 [ref]holodaleksey[/ref], как часто насос включается, на сколько долго работает и какая точность требуется?
Как часто и насколько долго - это и хочется понимать, такое ощущение что всегда, и останавливается по защите перегрева обмоток.
Точность: +/- полчаса за сутки - более чем отличный вариант.
ЗЫ. Сегодня посмотрел плоттером из СОМ-а по датчику давления - не, останавливается по давлению, работает примерно 50/50.

Отправлено спустя 4 минуты 24 секунды:
chess писал(а): 06 окт 2021, 12:34
holodaleksey писал(а): 05 окт 2021, 23:50сторону
интернета - beebotte или narodmon, или beebotte + narodmon, вот сколько отработал насос твердотоплевного котла за последних 24:
[spoiler]Изображение[/spoiler]
еще лучше narodmon:
[spoiler]Изображение[/spoiler]
Спасибо, но нет, зачем мне сторонний ресурс, если все реализуемо на месте.

Отправлено спустя 7 минут 49 секунд:
fok52 писал(а): 06 окт 2021, 16:45 есть пример функционального блока от кодесиса с массивом может пригодится по аналогии (в нем средняя температура за последние 30 дней считается)
может кто владеет обоими языками сделает блок в flprog

[spoiler]FUNCTION_BLOCK FB1
VAR_INPUT
in1:BOOL;
ai1:REAL;
END_VAR
VAR_OUTPUT
qr1,qr2,qr3,qr4,qr5,qr6,qr7,qr8,qr9,qr10,qr11,qr12,qr13,qr14,qr15,qr16,qr17,qr18,qr19,qr20,qr21,qr22,qr23,qr24,qr25,qr26,qr27,qr28,qr29,qr30,qr31:REAL;
END_VAR
VAR
rt1:R_TRIG;
at1:ARRAY [0..30] OF REAL;
k:WORD;

END_VAR


rt1(CLK:=in1 , Q=> );

IF rt1.Q=TRUE THEN
FOR k:=0 TO 29 DO

at1[30-k]:=at1[30-k-1];

END_FOR
at1[0]:=ai1;
END_IF
qr1:=at1[0];
qr2:=at1[1];
qr3:=at1[2];
qr4:=at1[3];
qr5:=at1[4];
qr6:=at1[5];
qr7:=at1[6];
qr8:=at1[7];
qr9:=at1[8];
qr10:=at1[9];
qr11:=at1[10];
qr12:=at1[11];
qr13:=at1[12];
qr14:=at1[13];
qr15:=at1[14];
qr16:=at1[15];
qr17:=at1[16];
qr18:=at1[17];
qr19:=at1[18];
qr20:=at1[19];
qr21:=at1[20];
qr22:=at1[21];
qr23:=at1[22];
qr24:=at1[23];
qr25:=at1[24];
qr26:=at1[25];
qr27:=at1[26];
qr28:=at1[27];
qr29:=at1[28];
qr30:=at1[29];
qr31:=at1[30];
[/spoiler]
давно я с кодесиськой не общался, и вспоминать что-то страшно)
chess
Рядовой
Сообщения: 26
Зарегистрирован: 11 июл 2018, 08:54
Имя: Игорь

счётчик времени работы насоса за последние 24 часа

Сообщение chess »

holodaleksey писал(а): 06 окт 2021, 22:44 все реализуемо на месте.
давайте смоделируем такую ​​ситуацию, вы в 8:00 посмотрели на статистику данных с МК, прошли почти сутки и за каких-то непонятных обстоятельств в МК сработал WDT (7:55), в 8:00 - как всегда, вы делать очередную выборку данных с МК за последних 24 часа и что вы там - увидите ..?
Аватара пользователя
Nano
Рядовой
Сообщения: 48
Зарегистрирован: 31 май 2018, 09:39
Имя: Сергей

счётчик времени работы насоса за последние 24 часа

Сообщение Nano »

holodaleksey писал(а): 06 окт 2021, 22:44 зачем мне сторонний ресурс, если все реализуемо на месте.
вырезал из рабочего проекта, вместо блоков mqtt поставьте UART там и смотрите (или в брокере), если мало значений, добавьте переменных "время 11,12...." или через стек попробуйте, но так нагляднее. Если в уарт все сразу показания не нужны(накопленные в переменных , то в уарт отправте с переменной "время0" и смотрите не отключая комп
вторая часть схемы тогда не нужна"[spoiler]
сдвиг пер.jpg
[/spoiler]
а так то? почему включено/выключено не отправлять на брокера, где есть графики.
у меня такая морока с переменными стоит для того, что если не было у меня связи, я мог увидеть позже по запросу то , что сохранилось в МК, в охранной системе стоит, типа маленький архив сработок в МК с привязкой ко времени.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей