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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавлено: 24 июн 2017, 13:12
Astro_Graf
rw6cm, Спасибо!

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

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

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

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

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

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

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

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

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

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

Добавлено: 24 июн 2017, 14:06
Astro_Graf
Pan, Спасибо!

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

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

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

Добавлено: 24 июн 2017, 14:14
Astro_Graf
Стормозил, удалил.

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

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

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

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

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

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

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

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

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

Добавлено: 24 июн 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 июн 2017, 09:33
rw6cm
Это был один из примеров как делать на RS
Astro_Graf писал(а):Пробовал использовать SR, а потом и RS триггеры, но не смог создать
На TT еще проще.[spoiler=Спойлер][/spoiler]
Начинающим не всегда понятен блок FreeLod, (на котором сейчас реализовано 4 элемента И)
Можно заменить на еще один переключатель.[spoiler=Спойлер][/spoiler]
Можно и элементарной логикой, для сравнения
[spoiler=Спойлер][/spoiler]

Как ведите вариантов много )

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

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