Блок сравнения (Comparator)
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок сравнения (Comparator)
[ref]brig62[/ref], Просто немного подумайте как должен работать счётчик в данном режиме, при коэффициенте деления 0? Чего ожидать на выходе?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
[ref=#ff8000]Sancho[/ref], Попробовал выложенный вами вариант без сравнения, V02. Не работает. На шаге с нулевым временем зависает.
Отправлено спустя 1 минуту 29 секунд:
Отправлено спустя 11 минут 54 секунды:
Так тоже не работает. Без добавления 1 и триггера Тоже зависает на шаге с нулевым временем.
[spoiler] [/spoiler]
Отправлено спустя 1 минуту 29 секунд:
Вы о чем? Какой счетчик с делением?Sancho писал(а): 25 фев 2019, 17:14как должен работать счётчик в данном режиме, при коэффициенте деления 0? Чего ожидать на выходе?
Отправлено спустя 11 минут 54 секунды:
Так тоже не работает. Без добавления 1 и триггера Тоже зависает на шаге с нулевым временем.
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок сравнения (Comparator)
Представим, что на вход счётчика подаётся последовательность импульсов. В зависимости от установленного Вами значения, на выходе, который используется для сброса, будут присутствовать импульсы длительностью один цикл в количестве и частотой: входное / коэффициент....
А делить на ноль незя
Отправлено спустя 2 минуты 31 секунду:
Всё, здесь я умываю руки, удачи.
Совсем не хотите думать и проанализировать схему.
Звиняйте, если чего не так.
А делить на ноль незя

Отправлено спустя 2 минуты 31 секунду:
Всё, здесь я умываю руки, удачи.
Совсем не хотите думать и проанализировать схему.
Звиняйте, если чего не так.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Блок сравнения (Comparator)
[ref]brig62[/ref], А у вас в программе не перепутаны переменные?
У вас два раза используется по ВХОДАМ "V тек паузы". На выходе вы получаете "ост V тек паузы".
Но насколько я посмотрел (бегло), эта полученная переменная у вас больше нигде не используется.
У вас, случайно, не должна верхняя, по схеме, переменная быть именно "ост V тек паузы"?
У вас два раза используется по ВХОДАМ "V тек паузы". На выходе вы получаете "ост V тек паузы".
Но насколько я посмотрел (бегло), эта полученная переменная у вас больше нигде не используется.
У вас, случайно, не должна верхняя, по схеме, переменная быть именно "ост V тек паузы"?
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
Кто где на ноль делит?
Отправлено спустя 2 минуты 19 секунд:
Это только для наглядной визуализации на планшете. Не более.
А это основная переменная по которой идет отсчет времени.
Отправлено спустя 5 минут 45 секунд:
Еще раз повторю. Все работает норм без добавления единицы если переменная "V тек паузы" больше нуля. Проблем нет. Но если в переменной ноль, то блок сравнения не срабатывает.
Блок сравнения (Comparator)
Так.brig62 писал(а): 25 фев 2019, 19:35Еще раз повторю. Все работает норм без добавления единицы если переменная "V тек паузы" больше нуля. Проблем нет. Но если в переменной ноль, то блок сравнения не срабатывает.
Тут с логикой, по любому. Если второй вариант, без Р-триггера, то зависание обеспечено, ибо условие выполняется всегда: на 1ом входе компаратора ноль, значит на счетчике обеспечен вечный сброс.
А вот с Р-тиггером... Хм. Так вроде тоже получается фигня. Р-триггер, дал импульс, и вроде как должен пройти сброс счетчика. И он проходит. Но на компараторе то, при этом условие продолжает выполняться. А следовательно, продолжает висеть "1". Но Р-триггер, ее уже не обрабатывает, он же дает одиночный импульс. Ну и продолжает счетчик считать до бесконечности. Как говорится, те же яйца, только в профиль.
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
Вот абсолютно точно. Об этом же мне объяснил в личке ув. [ref=#ff8000]Sancho[/ref], Теперь логика выглядит вот так. И работает без костылейRishelie писал(а): 25 фев 2019, 19:54Так.
Тут с логикой, по любому. Если второй вариант, без Р-триггера, то зависание обеспечено, ибо условие выполняется всегда: на 1ом входе компаратора ноль, значит на счетчике обеспечен вечный сброс.
А вот с Р-тиггером... Хм. Так вроде тоже получается фигня. Р-триггер, дал импульс, и вроде как должен пройти сброс счетчика. И он проходит. Но на компараторе то, при этом условие продолжает выполняться. А следовательно, продолжает висеть "1". Но Р-триггер, ее уже не обрабатывает, он же дает одиночный импульс. Ну и продолжает счетчик считать до бесконечности. Как говорится, те же яйца, только в профиль.
[spoiler] [/spoiler]
Спасибо [ref=#ff8000]Sancho[/ref],
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Блок сравнения (Comparator)
А чего в личке то? Знания как никак.brig62 писал(а): 25 фев 2019, 20:33Вот абсолютно точно. Об этом же мне объяснил в личке ув. Sancho, Теперь логика выглядит вот так. И работает без костылей
Не совсем мне нравится ваше решение. Странное. У вас следующий шаг только для сброса счетчика служит?
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
Не только. Еще идет на командоаппарат для перехода к следующему шагу. Что это меняет? Чем не нравится? Как бы вы сделали?
Поставить генератор вместо триггера было мне предложено как простое быстрое решение. Которое сработало.
Ну результат бы здесь был бы опубликован по любому. Но вы это сделали раньше.
Блок сравнения (Comparator)
Ну смотрите, если у вас возникает условия, когда срабатывает компаратор, возникает последовательность шагов, которые дальше выполняются программой. Я не знаю, как там у вас что дальше, но думаю, вам же не нужна цепочка из переключения шагов.brig62 писал(а): 25 фев 2019, 21:09Еще идет на командоаппарат для перехода к следующему шагу. Что это меняет? Чем не нравится?
Вы в самом начале про феншуй говорили, про ноль упоминая. Ну а тут тоже, вроде как костыль.
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
[ref]Rishelie[/ref], Продолжительность шага у меня если не ноль то от 5 до 60 минут. Поставив частоту генератора например в 1 сек я не вижу условий для проскакивания. Не феншуйно это искусственно менять значение переменной. А заменить один блок на другой, с которым работает, что плохого? Возможно есть более изящные решения. Но пока так устраивает вполне. Предвижу в дальнейшем сложность. Когда добавится еще переменная по температуре. Но это уже другая тема. К компараторам не относящаяся. С ними вроде бы разобрались. Сам проект готов обсуждать в теме про пивоварни. Алгоритм прохождения температурных пауз основной в автоматике для этих целей.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Блок сравнения (Comparator)
Достаточно в Вашем алгоритме выдержать правильную последовательность.
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Блок сравнения (Comparator)
[ref=#ff8000]rw6cm[/ref], Так в этом случае, при "V тек паузы"=0, мы точно также получаем вечный сброс и зависание программы. ;)rw6cm писал(а): 25 фев 2019, 23:59Достаточно в Вашем алгоритме выдержать правильную последовательность.
Отправлено спустя 6 минут 22 секунды:
[ref]brig62[/ref],brig62 писал(а): 25 фев 2019, 22:29Поставив частоту генератора например в 1 сек я не вижу условий для проскакивания. Не феншуйно это искусственно менять значение переменной. А заменить один блок на другой, с которым работает, что плохого?
Я так понял, у вас возникла претензия к нулю.

Вроде не глючу. Коль поняли, где собака зарыта, просто исправьте и все. ;)
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок сравнения (Comparator)
При 0 происходит остановка счёта(зацикливание на нуле), но генератор включается и даёт импульс для командоаппарата о переходе на следующий шаг.Rishelie писал(а): 26 фев 2019, 03:41Но, в вашем, последнем случае, с вторым генератором, при "V тек паузы"=0, точно так же происходит зависание на зацикленном сбросе. И при этом, вам в программу "сыпятся следующие шаги", которые вам не нужны. Сигнал сброса, он же следующий шаг, становится хроническим.
Вроде не глючу. Коль поняли, где собака зарыта, просто исправьте и все. ;)
Компаратор выключается, счёт начинается с нуля "и далее по списку"

Если и следующий шаг(время) равен нулю, за счёт генератора идёт перебор шагов командоаппарата
далее.
Как-то так

Отправлено спустя 2 минуты 41 секунду:
Дополню - в командоаппарате, в параметрах шага, записаны время цикла(длительность шага) и ещё чего-то.
Почему иногда шаги равны нулю - вопросы к автору проекта, значит иногда нужно так.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
Претензия снята. Дело было не в бабине

Ничего подобного. После одного импульса генератора при нулевой переменной, происходит переключение и приходит новое значение переменной. Все нормально работает. На железе опробовано уже.Rishelie писал(а): 26 фев 2019, 03:41Но, в вашем, последнем случае, с вторым генератором, при "V тек паузы"=0, точно так же происходит зависание на зацикленном сбросе. И при этом, вам в программу "сыпятся следующие шаги", которые вам не нужны. Сигнал сброса, он же следующий шаг, становится хроническим.
Так это и сделано. Заменой триггера на генератор.
Отправлено спустя 10 минут 32 секунды:
Вот тут я с вами не согласен. Счет продолжается как положено. Мы же с вами обсудили это. А вот выход компаратора не опускается после предыдущего шага. Остается высоким. Так как условие сохраняется. Ноль с первого момента меньше или равен выходу со счетчика. И триггер не дает импульса. Так как на на его входе ничего не изменилось. На нем висит единица по прежнему.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Блок сравнения (Comparator)
Это я о последнем варианте - без триггера счётчик стоит на нуле, висит. Но второй генератор тикаетbrig62 писал(а): 26 фев 2019, 08:53Вот тут я с вами не согласен. Счет продолжается как положено. Мы же с вами обсудили это. А вот выход компаратора не опускается после предыдущего шага. Остается высоким. Так как условие сохраняется. Ноль с первого момента меньше или равен выходу со счетчика. И триггер не дает импульса. Так как на на его входе ничего не изменилось. На нем висит единица по прежнему.

мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Блок сравнения (Comparator)
Вы уверенны в этом? ) [ref]brig62[/ref], Вы проверьте этот вариант, уверен все будет работать.Rishelie писал(а): 26 фев 2019, 03:41в этом случае, при "V тек паузы"=0, мы точно также получаем вечный сброс и зависание программы. ;)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Блок сравнения (Comparator)
[ref=#ff8000]rw6cm[/ref], Полную уверенность дает только страховой полис.
Мне кажется, да. Ведь если "V тек паузы"=0, то на входе счетчика "сброс" висит хроническая "1". В таком варианте, даже шаги не будут переключаться, ибо Р-Триггер, не будет пропускать через себя "сигнал".
Отправлено спустя 6 минут 9 секунд:

Мне кажется, да. Ведь если "V тек паузы"=0, то на входе счетчика "сброс" висит хроническая "1". В таком варианте, даже шаги не будут переключаться, ибо Р-Триггер, не будет пропускать через себя "сигнал".
Отправлено спустя 6 минут 9 секунд:
[ref]brig62[/ref], Ну оно и должно работать. Я не говорю, что не будет. Просто, на мое ХО, это не совсем изящно. С меня, конечно, тот еще программист, но вот это ощущение, что в программе вдруг начнутся переключатся шаги, если по какой то причине паузы станут равны нулю. Вроде и логично все, а как то неуютно.

- brig62
- Лейтенант
- Сообщения: 469
- Зарегистрирован: 13 май 2016, 16:37
- Откуда: Казань
- Имя: Игорь
- Благодарил (а): 1 раз
Блок сравнения (Comparator)
На выделенной связи, при приходе нуля в переменной, так и останется высокий уровень. Триггер не даст импульса. так как он уже дал на предыдущем шаге, и после этого на его входе ничего не изменилось. Как был высокий так и остался. В этом и есть засада с триггером.
[spoiler] [/spoiler]
Отправлено спустя 6 минут 48 секунд:
Они и должны переключатся если включено затирание и время паузы равно нулю. Но когда после последнего 5 шага произойдет переключение на нулевой, то затирание остановится. И все переключения тоже.Rishelie писал(а): 26 фев 2019, 11:34но вот это ощущение, что в программе вдруг начнутся переключатся шаги, если по какой то причине паузы станут равны нулю. Вроде и логично все, а как то неуютно.
[spoiler] [/spoiler]
Отправлено спустя 5 минут 3 секунды:
И генератор работает только при включенном режиме затирания
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- rw6cm
- Полковник
- Сообщения: 2372
- Зарегистрирован: 06 сен 2015, 20:25
- Имя: Владимир
- Поблагодарили: 41 раз
Блок сравнения (Comparator)
Понял, Вам нужен импульс с ноля, да этого не будет.brig62 писал(а): 26 фев 2019, 11:53 при приходе нуля в переменной, так и останется высокий уровень. Триггер не даст импульса. так как он уже дал на предыдущем шаге,
я понял из сообщения, проблема что счетчик не останавливается.
тогда расстановка позиций это исправит,brig62 писал(а): 25 фев 2019, 13:47Если убрать блок добавления единицы, и в переменной приходит ноль, то блок сравнения не выдает сигнал на своем выходе. Счетчик продолжает считать до бесконечности.
а так да, только генератор
Win10-64, FLProg (portable)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость