Спасибо. Разбираться буду.
Сделайте доброе дело покажите пальцем, где в вашем проекте мой случай. Без описания я ни понимать :(
https://youtu.be/NcaoD38b9X4 https://youtu.be/ICwl5rpnGw8 мое видео :)
Вид для печати
Спасибо. Разбираться буду.
Сделайте доброе дело покажите пальцем, где в вашем проекте мой случай. Без описания я ни понимать :(
https://youtu.be/NcaoD38b9X4 https://youtu.be/ICwl5rpnGw8 мое видео :)
Неоднократно подробно описывал, проще найти эти темы, а лучше напишите Вы, как Вы хотите сделать, а я на досуге намалюю! Пока мне не до конца понятно, как Вы хотите сделать, мне нет смысла и начинать что-то переделывать!
Только по пунктам, что бы и ёжику ясно стало, впрочем, если будет не ясно, уточню, так устроит?
Хорошо.
На видео течет вода. Она должна течь по расписанию. Расписание будет зависеть от того как скоро живое ее попьет.
1. Первый полив к примеру 1 числа, 3 месяца, в пятницу в 9-00.
2. Второй полив должен случиться 10 числа, 3 месяца, в среду в 9-00.
3. Пауза в поливах должна исчисляться в часах. Через 240 часов случился второй полив. Получается так.
4. Обстоятельства изменились и нужно начать поливать 1 числа, 3 месяца, в субботу, в 10-00. И уже отсчитывать 240 часов от 10--00 субботы.
Итого я должен иметь возможность начать поливать в любой день недели и любой час и подстраивать паузу.
Если просто блинк поставить, то мне нужно как то организовать день, месяц и час отсчета пауз полива.
Хорошо, тогда уточнения, если первый полив 1 числа 3 месяца, зачем нужен день недели? Идём дальше, пауза между поливами 240 часов(можно менять, назначается в часах) действует до второго полива? Если второй полив не назначен, действует бесконечно долго? Время полива(включения выхода) тоже можно менять в диапазоне 0 - 99 секунд? Так??? И если первый полив 1 числа 3 месяца, второй полив 10 числа 3 месяца, зачем там какую-то паузу выставлять? Может лучше установить дату очередного полива и этого уже вполне достаточно?! Я с Вами супер-пупер агрономом стану! Может Вам надо отображать время до очередного полива(обратный отсчёт времени)???
Действительно день недели не нужен.
Пауза работает циклически. Ей только один раз нужно дать точку отсчета. Далее пауза только и подстраивается. Полил 1 раз 24 марта в 10 часов и ждем. Паузу поставили 240 часов. Пауза отсчиталась 240 часов, полили. Растишки подросли и начали сохнуть раньше 240 часов. Ставим паузу 100 часов. Через 100 часов от последнего полива начнется следующий. И так и останется цикл 100 часов до конца роста. Время полива отсчитывается у меня по количеству поданных литров. Т.е. мне от схемы нужно регулировать время паузы, а время вкл. хватит 1 сек только чтобы взвести триггер отсчета литров воды.
Во замудрил блин. Ну затянула меня реле пр114.
А чем недельный таймер не подходит .?
Первый полив естественно от начала включения. Т.е на блинк подали разрешение считать. Он отсчитал 240 часов и выдал 1 на 1 сек.
Извините, что объяснить не могу. Для начала нужно на стандартный блинк сделать точку отсчета по часам. Пока с Вами свой ребус гадал вроде, как сам надумал как сделать :). Башка трещит от этих алгоритмов. Клинит просто жестко. https://youtu.be/ICwl5rpnGw8
Ну вот понемногу проясняется! Вам достаточно на сезон 32 уставки пауз(периода между поливами)? Например полив с 1 числа 3 месяца пауза 240 часов, с 10 числа 3 месяца пауза 200 часов, с 20 числа 3 месяца пауза 180 часов, с 30 числа 3 месяца пауза 150 часов, с 10 числа 4 месяца пауза 120 часов, с 20 числа 4 месяца пауза 100 часов и т. д. Окончание полива, например: 1 числа 9 месяца! По времени продолжительности полива(включения выхода) насколько понял Вам достаточно 1 секунды, на всякий случай могу поставить переменную, редактируемую с экрана диапазона 1-99 секунд! Короче, так потянет???
И ещё, Вас устроит диапазон пауз: 24-240 часов с шагом(ступенькой) 24 часа?
И ещё, что-то я это совсем упустил, конечно подобное и на ПР114 можно сделать, но это потребует массу дополнительного оборудования, короче, во много раз дешевле и проще получится сделать нечто подобное на ПР200, так как там экран есть и можно с экрана уставки вводить, а на ПР114 это не возможно! Я не представляю, как Вы хотели это на ПР114 сделать! Или секретами делитесь или берите ПР200!
Спасибо Сергей. Подождите рисовать схему. Постараюсь сам сделать. А уставки меняю с помощью Каскада от Rovki.
Вложение 36159 Вложение 36160
Создал. Пауза в часах. Отсчитало 5 часов и выдало 1 на короткое время. Начало запуска произойдет либо по условию совпадения уставки "час" + "час реал. времени". Либо принудительная запись уставки "пауза" отправкой по сети бита 1. Получилось мы можем начать отсчет паузы с любого часа суток. Это необходимо для первого раза подборки паузы между поливами. Далее принудительный запуск не потребуется ибо мы будем точно знать паузы и когда они должны быть изменены с течением времени.
Есть недочет. При первом запуске, когда на сетевых уставках "пауза", "часы" стоит ноль выход меняется с ноля на один. Как исправить?
Так зачем Вам подавать на таймер секундные импульсы в качестве задающего генератора, похоже Вам достаточно и часовых, а если устраивает пауза, кратная 24 часам, как я спрашивал, то достаточно и суточных импульсов и пауза будет диапазона 1-10 суток? Какой шаг паузы Вас устраивает?
У меня на фото часовые импульсы подаются. Пауза 24 часа минималка может и хватит. Но я ещё не знаю. Опыт нужен. Поэтому минималка пауза 1 час для начала нужна.
Вложение 36166 Подскажите как исправить. Колбасит выход при нулевых значениях сетевых переменных. А не должно. Только при уставках отличных от ноля начинается работа.
Вложение 36167 Всем спасибо. Сообразил.
Зачем Вам какая-то нелогичная схема сброса Д-триггера в макросе ТР_Р, мне одному кажется, что она никогда не сбросит Д-триггер?!
Вложение 36171
:) Триггер сбрасывался на счете -1 к заданному числу уставки. А это прибавка :) для того, чтобы счетчик сбросился отсчитав к примеру 5. Без этой схемы в ОЛ отсчитывает 4 часа, а уставка стоит 5 часов. Что странно, если проверяю отдельно работу макроса сбрасывается отсчитав 5 и уставка 5. Переношу макрос в схему там отсчитывает 4, а уставка 5. Чего я не понимаю?
У меня сейчас в ОЛ при моделировании не считает макрос 5 часов, а считает 4 часа. Понимаете? Что не так, где моя ошибка в схеме?
Вложение 36174 Вот вся программа.
НИ фига не понял. Перезапустил ОЛ сейчас все правильно считает. Что за фигня! Остановил и запустил снова моделирование. Считает 4 раза. Где ошибка?
Во-первых, что хочется сказать, этот макрос не очень подходит для ваших целей, я подобный делал для таймера импульса заданной длительности с паузой и он синхронизируется секундными импульсами часов, тоесть, для точного отсчёта заданного интервала времени может быть задержка включения-выключения выхода до одной секунды, разумеется там, где это допустимо, если у Вас поступают часовые импульсы, задержка включения-выключения может составлять до одного часа, что практически в 100% случаев недопустимо, если Вы принудительно включаете-выключаете выход, то погрешность может составлять тоже до одного часа(один импульс), теперь понятно откуда у Вас плюс-минус один час? Короче Вам нужен с внутренним генератором задающих импульсов, я и такие выкладывал неоднократно или секундные импульсы использовать с полной синхронизацией, тоесть без принудительного запуска-останова таймера!
http://www.owen.ru/forum/showthread.php?t=27872&page=17
Спасибо. Переделываю.
А если тики в секундах, а менять нужно дни. То секунды переводим в дни. На счетчике огромная цифра получается. Это нормально? Почему Овен в своих счетчиках ограничился числом 65535?
Михаи потому что счетчик 16-ти разрядный. А огромные цифры пр использовании Write_To_FB вас не пугают ?
Поставьте 2 счетчика друг за другом для секунд и минут и так далее... или ADD + EQ и секундные тики превращайте в минутные или часовые
Подскажите clock уставка 0 часов 0 минут включение, 0 часов 0 минут выключение, на выходе 1. Будет ли при таких уставках выход переходить через ноль между включением/выключением в железе?
Я бы как-то так сделал:
Вложение 36245
Если 0 на один цикл в сутки, то без детектора заднего фронта!
Мне наоборот нужно, чтобы всегда единица на выходе. Использовал на вход блинк. Видимо надо было константой 1 задать.
Суть проблемы в некорректной работе проекта Вложение 36246. Сергей Ваш таймер был использован. Уставка 30 дней. Отсчитывает один день и в ноль выход. Почему так?
Ну и шутки у Вас "Шарапов"!
Вот мой макрос:
Вложение 36247
С вашим он не имеет ничего общего, чем мой-то не устроил? Можно взять мой, я многократно выкладывал, у Вас я извиняюсь не пойми что получилось, короче, смешались в кучу кони, люди, вот нечто такое получилось!
Что в моем не так? Тики сделал на блинк. Убрал уставки часы, секунды. И собственно все. Одну ошибку нашел. Вместо "детектора переднего фронта 1" нужно было завести тики от БЛИНК. И видимо когда не было тиков на D триггере, разрешающий вход переходил через ноль за счет CLOCK. И триггер вечно уходил в ноль.
Как Вам помягче сказать, начну так, мой отсчитывает точную уставку, у Вас включение выхода таймера никак не синхронизировано с секундными импульсами, импульсы сами по себе, включение выхода таймера само по себе! У меня нет слов, хотите Вы уставку в днях, поставьте другой множитель, остальное не трогайте, да и множитель лучше поставить вне макроса, а макрос лучше не трогать, я так думаю, а то получится, что получилось!
А зачем в вашей схеме после сравнение на равенство детектор заднего фронта?
Да блин и принудительный запуск оказался не нужен. Ибо выход появляется сразу при первом тике. Ну что же бывает :) :) :).
Вот это хороший вопрос! Чтобы сформировать короткий импульс и это детектор заднего фронта! При подаче сигнала на первый вход таймера первый секундный импульс взводит(включает) Д-триггер, но счётный импульс на счётчик не проходит, так как мы сформировали предварительно короткий(1 цикл) импульс, если импульс на счётчик пройдёт, наш таймер будет не правильно считать и его придётся выкинуть на свалку!
Не получается с макросом счетчика дней. Помогите пожалуйста.
Задача подать 1 на выход в определенный месяц и день. Далее счетчик отсчитывает уставку в днях и выход в 0. Энергонезависимый.
Вложение 36330
Вложение 36331
Вложение 36333
Создавал условие запуска счетчика. Работает но до отключения питания. Если уставка совпадает с переменной времени и в тот же день отключили питание, то этот узел снова выдаст 1. Как правильно составить условие запуска?
Попробуйте как-то так:
Вложение 36335
Теперь вопрос: зачем Вы для количества дней включения влепили 32 разрядный счётчик, обычного, что в ОЛ, 16 разрядного, хватит почти на 180 лет, в принципе бессмысленно более чем на год и о какой энергонезависимости у Вас речь, если Вы даже 32 разрядный счётчик, не сделали энергонезависимым, короче попробуйте мой вариант, может Вас устроит?!
Спасибо. Вроде как есть энергонезависимость Вложение 36337. Нет это не то:):)
Ну и что это доказывает???
Вроде, как нет:
Вложение 36338
Само наличие переменной не означает энергонезависимости, саму переменную ещё надо сделать энергонезависимой, галочку поставить!
Спасибо. За галочку знаю. Стараюсь не забывать, но не всегда получается. Учусь. Скажите, как в симуляторе проверить энергонезависимость?
Останавливаю на красную, счетчик сбрасывается.
Не сочтите за наглость покажите пожалуйста тоже самое только тики секундные на счетчик?