Страница 1 из 3

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 23.06.2017{, 13:58}
Astro_Graf
Осваиваю FLProg только третий день. Решил вместе с детьми собрать автомат, в котором требуется выбор нужной ячейки, но не хватает опыта. Т.е. имеется 4 кнопки и 4 светодиода, 4 исполнительных механизма (электромагнита), нужно чтобы выбиралась кнопкой нужная ячейка, а потом выбор подтверждался с помощью RFID карты и ячейка бы разблокировалась.
Не получается реализовать алгоритм, при котором выбор ячейки можно было бы произвести нажатием кнопки (в качестве подтверждения загорался бы светодиод), отменить повторным нажатием, а смена выбора нажатием на другую кнопку, гасила предыдущий светодиод и зажигала новый. Получается только ТТ триггером выбирать и отменять выбор, а вот сделать автоматическую отмену (гашение предыдущего светодиода) при нажатии на новую кнопку не получается. Пробовал использовать SR, а потом и RS триггеры, но не смог создать рабочего алгоритма.
Ну и еще нужно как-то запомнить номер окончательного выбора для работы исполнительного механизма.

Буду очень признателен за помощь!

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 23.06.2017{, 15:20}
pan
хоть бы представили свой нерабочий алгоритм для наглядности.
запомнить в каком смысле? в епром для сохранения при отключении питания? или как

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 23.06.2017{, 16:47}
holodaleksey
будьте добры, алгоритм словами, внятно, вдумчиво.

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 00:08}
rw6cm
Astro_Graf писал(а):Не получается реализовать алгоритм

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 00:14}
pan
а как происходит отмена повторным нажатием?

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 08:01}
rw6cm
pan писал(а):а как происходит отмена повторным нажатием?
kn -> OR -> AND -> RTrig -> AND -> RS

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 13:12}
Astro_Graf
rw6cm, Спасибо!

Сижу, разбираюсь, вижу, что не всем инструментарием владел.  В понедельник отчитаюсь о работоспособности прототипа. А потом могу выложить и весь проект.

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 13:36}
pan
уважаемый rw6cm любит нагородить "куча мала"   .
 
поглядите вариант попроще

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 13:58}
Astro_Graf
rw6cm, несколько вопросов:
1. Сигнал L1 разблокирует исполнительный механизм, но он появляется уже после перехода переменной RFID в "1".  Т.е. алгоритм отмены выбора повторным нажатием разблокируется только после поднесения ключа?
2. Зачем нужна логическая цепочка с задержкой в 2 миллисекунды?

Добавлено (24.06.2017, 13:58)
---------------------------------------------
pan, а откуда rTT? Не вижу его среди элементов, хотя при продумывании алгоритма очень хотелось такой иметь :-)

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:01}
pan
Astro_Graf, rtt это мой блок. выложил в блоки пользователей

это ТТ триггер, но с дополнением под вашу задачу, имеет вход сброса

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:06}
Astro_Graf
Pan, Спасибо!

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:10}
pan
разобрались с программой?
к кнопкам подключена таблица, можно было бы поставить логические элементы ИЛИ, но так проще мне кажется.
ну а дальше и так всё ясно

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:14}
Astro_Graf
Стормозил, удалил.

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:16}
pan
почему нет отмены? ТТ триггер именно для того чтобы отменить выбор. а вход сброса у него, чтобы отменять выбор нажатием любой другой кнопки

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 14:20}
Astro_Graf
Этот вариант очень близок к тому, что я пытался изобрести с помощью RS триггеров и нравится мне тем, что его легко объяснить детям. А из варианта rw6cm я узнал много нового инструментария, который пригодится в следующих проектах.

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 17:07}
rw6cm
pan писал(а):уважаемый rw6cm любит нагородить "куча мала" .
поглядите вариант попроще
Что же вы так ... у меня теперь есть фора исполнить все в одном блоке )))
Только толку от этого, за каждым разом кланяться, чтоб написать новый блок?
Вы сделайте из блоков FLProg, и тогда посмотрим на сколько он будет проще )
Да и разница всего на 2 элемента если сравнить с вашим вариантом.

СпойлерПоказать

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 17:27}
pan
rw6cm писал(а):Что же вы так
ну во первых я же в шутку.
во вторых я делал проще для понимания ТС.
я каждый раз как вы сказали "кланяюсь", потому как бывают случаи, что при построении вроде бы простейшего алгоритма, получается гора хлама из блоков. а если я могу упростить то почему бы и нет. мне не трудно.
как говорится - всё дело в мелочах )

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 24.06.2017{, 17:29}
rw6cm
Astro_Graf писал(а):2. Зачем нужна логическая цепочка с задержкой в 2 миллисекунды?
т.к.сигнал на оба входа RS триггер идет от одного источника,
необходима задержка( зависит от быстродействия, в данном случае не меньше 500мкс),
чтобы логика успела отработать, иначе будет срываться в зацикливание.
Astro_Graf писал(а):1. Сигнал L1 разблокирует исполнительный механизм, но он появляется уже после перехода переменной RFID в "1".
Т.е. алгоритм отмены выбора повторным нажатием разблокируется только после поднесения ключа?
Нет. Это чтобы
Astro_Graf писал(а):чтобы выбиралась кнопкой нужная ячейка, а потом выбор подтверждался с помощью RFID карты и ячейка бы разблокировалась.
т.е. после того как вы выбрали ячейку и поднесли ключ,
нельзя было в этот момент воспользоваться другими ячейками какое то время (10сек)(скажем так отступление на свободную тему)))

Добавлено (24.06.2017, 17:29)
---------------------------------------------
pan писал(а):ну во первых я же в шутку.
аналогично)

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 25.06.2017{, 09:33}
rw6cm
Это был один из примеров как делать на RS
Astro_Graf писал(а):Пробовал использовать SR, а потом и RS триггеры, но не смог создать
На TT еще проще.
СпойлерПоказать
Начинающим не всегда понятен блок FreeLod, (на котором сейчас реализовано 4 элемента И)
Можно заменить на еще один переключатель.
СпойлерПоказать
Можно и элементарной логикой, для сравнения
СпойлерПоказать
Как ведите вариантов много )

Нужна помощь с алгоритмом обработки кнопок

Добавлено: 26.06.2017{, 20:52}
Astro_Graf
pan, собрал стенд и загрузил твою программу с rTT триггерами. Все работает, кроме сброса предыдущего выбора при смене кнопки. В связи с этим подозреваю, что у rTT приоритет не у rst.