Таки уже почти собрал схему. Воспользовался вышеприведенным алгоритмом. Все вроде работает, жду экранчик когда приедет, чтобы на него информацию выводить.
при работе насоса каждую секунду из числа вычитаем тройку, (кстати, время работы насоса можно подсчитывать по числу периодов или полупериодов сети с оптрона)
Если число меньше или = 3, - блокировка насоса, сообщение о ошибке на индикатор, ожидания сброса.
При неработающем насосе, каждую секунду плюсуем 1, если число меньше 3603,
если число равно 3600, то проц сидит в режиме ожидания включения насоса.
Разбираюсь с предложенным алгоритмом. Более-менее работает, но есть косячки. Если включения идут одно за другим, то срабатывает на размере = доли (т.е. 3). А если в разнобой, то требуется на одну или несколько итераций больше (т.е. не на 20-й секунде, а на 21-й происходит отсечка). Не пойму как победить....
Хотя сейчас реализовал на предложенном алгоритме с одним счетчиком (есть подозрения, что на Экселе нормально сэмулировать не получилось), но все равно не покидает впечатление, что окно работает не совсем так как должно.
Как по моему представлению, когда окно движется, то новые значения "добавляются" в его конце и максимально быстро уходят. А хотелось бы наоборот, чтобы значения добавлялись в начало окна и "плыли" со временем к его концу :)
Ой, виноват, недостаточно внимательно прочитал "последние 24 часа от текущего времени".
Так, как я саказал - не прокатит.
Но Всё равно там всё просто делается. Сейчас убегаю, позже поговорим.
Согласен, незаметил слово текущего:)
ну тогда массив на 24 эл-та и каждый час записывать туда новый, а последний удалять
блин, зацепило, попробую записать полностью алгоритм
блин, зацепило, попробую записать полностью алгоритм
От и я говорю, на массивах в сущности представляю, думал более изящное на математике существует (в ней не очень силен(((( ).
Друзья,
Таки уже почти собрал схему. Воспользовался вышеприведенным алгоритмом. Все вроде работает, жду экранчик когда приедет, чтобы на него информацию выводить.
Предложу такой алгоритм.
записываем число 3603
при работе насоса каждую секунду из числа вычитаем тройку, (кстати, время работы насоса можно подсчитывать по числу периодов или полупериодов сети с оптрона)
Если число меньше или = 3, - блокировка насоса, сообщение о ошибке на индикатор, ожидания сброса.
При неработающем насосе, каждую секунду плюсуем 1, если число меньше 3603,
если число равно 3600, то проц сидит в режиме ожидания включения насоса.
Разбираюсь с предложенным алгоритмом. Более-менее работает, но есть косячки. Если включения идут одно за другим, то срабатывает на размере = доли (т.е. 3). А если в разнобой, то требуется на одну или несколько итераций больше (т.е. не на 20-й секунде, а на 21-й происходит отсечка). Не пойму как победить....
Тут как бы все нормально отработало:
А тут на 1 секунду больше взяло:
А тут уже на 2 секунды больше:
Хотя сейчас реализовал на предложенном алгоритме с одним счетчиком (есть подозрения, что на Экселе нормально сэмулировать не получилось), но все равно не покидает впечатление, что окно работает не совсем так как должно.
Как по моему представлению, когда окно движется, то новые значения "добавляются" в его конце и максимально быстро уходят. А хотелось бы наоборот, чтобы значения добавлялись в начало окна и "плыли" со временем к его концу :)