кнопки и переменные

Вопросы по встроенным блокам
Ответить
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

тренируюсь на кошках так сказать

Собрал конструкцию из 3 кнопок и сервы. первый вариант - нажатие на кнопку двигает серву на заданный угол

[spoiler]
3knopki.png
[/spoiler]

Все работает.

Заменил действие на третьей кнопке (поворот сервы на угол 10град по нажатию кнопки):

[spoiler]
3 knopki2.png
[/spoiler]

перестали работать первые две кнопки. Почему?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

кнопки и переменные

Сообщение edyapd »

[ref]shura2[/ref], а вы найдите отличие в записи переменной "поворот" для первых двух кнопок и для третьей. И сразу станет всё понятно
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

Как бы и там и там переменной присваивается значение. Согласно моей логике в первом или во втором случае переменной должно присвоится значение. Но не присваивается. Почему перестали работать первые две, а третья работает я не понимаю.
Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24 ноя 2017, 16:25
Откуда: Червоноград
Имя: Марьян

кнопки и переменные

Сообщение dizzyy »

[ref]shura2[/ref], что бы не присвоилось переменной в первых случаях , то третий всегда перезапишет свое ..переделайте 3 пункт на условие записи(как в первых) и все пойдет

Отправлено спустя 3 минуты 7 секунд:
если нажата кнопка 1 то поворот на столько..
если нажата кнопка 2 то поворот на столько
по барабану нажата или нет 3 кнопка присвоить переменной значение счетчика умноженное на 10
выполнить поворот

вот ваш алгоритм
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

Спасибо! Поправил - заработало.
[spoiler]
3 knopki_rabochij.png
[/spoiler]
dizzyy писал(а): 11 янв 2020, 17:51 shura2, что бы не присвоилось переменной в первых случаях , то третий всегда перезапишет свое ..переделайте 3 пункт на условие записи(как в первых) и все пойдет
сделал, но все равно не понимаю,почему не работали первые две кнопки, даже если не была нажата третья?
что означает en в переменной?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

кнопки и переменные

Сообщение edyapd »

En это разрешение на запись в переменную.
Просто представьте себя на месте цикла программы. И от вас требуется принести значение, на которое требуется повернуть серву.
Идёте вы с блокнотиком и опрашиваете устройства. Подходите к первой кнопке. Есть разрешение на управление? Есть. Записываете её значение в блокнотик. Шагаете дальше. Подходите ко второй кнопке. Есть разрешение на управление? Нет. Свободен. Шагаете к третьей. Есть разрешение? А ей разрешение не требуется. Ясно, вычёркиваете то, что дала вам первая кнопка и записываете значение третьей. Пришли вы к серве. Какое значение вы ей должны отдать?
А ещё, таким образом у вас на серву может быть два значения. Не одновременно конечно. А скажем нажали на кнопку. Записали значение в переменную. А считывание с переменной происходит не после того, как были опрошены все устройства, а где-то между ними. Серва у вас повернулась на заданное значение. А в следующем цикле эта переменная перезаписалась той, для которой разрешение не требуется и серва вернулась в исходное состояние. Она физически конечно не успеет даже повернуться, но конвульсии будут.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

Спасибо большое за разжеванное объяснение.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

Продолжаю тренироваться на кошках.

Сделал такую схемку:

[spoiler]
3 knopki_serva.png
[/spoiler]
1 кнопка - 0град
2 кнопка - 90 град
3 кнопка - +10 градусов к текущему положению.
все работает без замечаний.

Вопрос - как лучше упростить схему?

второй вопрос, если мне нужно двигать серву вниз, то ставить новый счетчик?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

кнопки и переменные

Сообщение edyapd »

[ref]shura2[/ref], было бы удобней, если бы вы выложили файл проекта, а не картинку.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

К сожалению не сохранил.

Так как поменял логику - теперь 1 кнопка ставит серву в положение 90град, остальные две кнопки +-10 град.
[spoiler]
3 knopki+-.png
[/spoiler]

и тут тоже вопрос: мне для того что бы подключить сброс (R), SP и триггер мало того, что пришлось ввести логику OR, не нужную в данном случае, так еще и соблюдать порядок в подключении. (сначала R, потом OR, потом триггер). Это фича или баг?
может есть какой то другой способ?

[spoiler]
3 knopki+-.flp
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

кнопки и переменные

Сообщение grin-mpx »

3 knopki+-2.flp
[spoiler]
3 кнопки.jpg
[/spoiler]

Отправлено спустя 2 минуты 57 секунд:
shura2 писал(а): 18 янв 2020, 23:48 мне для того что бы подключить сброс (R), SP и триггер мало того, что пришлось ввести логику OR, не нужную в данном случае, так еще и соблюдать порядок в подключении. (сначала R, потом OR, потом триггер).
А зачем там вообще вверху OR нужен? Тем более одноногий?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

grin-mpx писал(а): 19 янв 2020, 00:44 А зачем там вообще вверху OR нужен? Тем более одноногий?
[ref]grin-mpx[/ref], А он и не нужен был. я не смог 3 вывода подключить на кнопку.

А зачем на вашей схеме Rtriger? и что за Ftriger? Я попробовал к счетчику напрямую "кнопку 90гр" подключить - работает
[spoiler]
3 knopki+- v2.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

кнопки и переменные

Сообщение grin-mpx »

shura2 писал(а): 19 янв 2020, 03:20 А зачем на вашей схеме Rtriger? Я попробовал к счетчику напрямую "кнопку 90гр" подключить - работает
Работает и хорошо. Rtriger для записи в 1 цикл независимо от длины нажатия на кнопку.
shura2 писал(а): 19 янв 2020, 03:20 и что за Ftriger
viewtopic.php?f=81&t=2977
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

А как сделать, что бы повторное нажатие кнопки не перезапускало какой-либо цикл снова?
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

кнопки и переменные

Сообщение support »

Но можно ещё проще
Серво.PNG
Отправлено спустя 2 минуты 7 секунд:
Да и вообще можно отказатся от R тригеров. Счетные входы счетчика и так работают по переднему фронту.

Отправлено спустя 2 минуты 34 секунды:
Серво1.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Автор программы FLProg.
shura2
Рядовой
Сообщения: 45
Зарегистрирован: 10 янв 2020, 00:26
Имя: Александр

кнопки и переменные

Сообщение shura2 »

А как сделать, что бы, к примеру, кнопка "90град" не "нажималась" повторно, пока выполняется поворот?
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

кнопки и переменные

Сообщение edyapd »

shura2 писал(а): 05 фев 2020, 01:15 А как сделать, что бы, к примеру, кнопка "90град" не "нажималась" повторно, пока выполняется поворот?
Для этого надо ввести обратную связь. В своём устройстве, делаете концевик, а выход с него заводите в проект.
А там уже в зависимости от логики схема "И" или "RS-тригер".
Просто сами подумайте, как программа может узнать, повернулась Серва или ещё нет?
Ответить

Вернуться в «Штатные блоки»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя