Вход En Разрешение выполнения блока

На этом форуме Вы можете задать вопросы знатокам программы и автору.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Вход En Разрешение выполнения блока

Сообщение CraCk »

Собрал блок пользователя на FBD со входом En Разрешение выполнения блока, чтоб не работал все время в цикле. Но получаю странное поведение, кода на выходе блока true и в это время на Вход En подать false, то есть его отключить. Получаю на выходе блока застывший true. Который будет висеть пока снова на в вход En не подать 1. Это баг или так должно работать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

Логически все правильно. Мультиплексор после блока поставьте, что бы обойти подвисший выход. Управление мультиплексора от En.
Аватара пользователя
Phazz
Полковник
Сообщения: 3121
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 232 раза
Поблагодарили: 114 раз

Вход En Разрешение выполнения блока

Сообщение Phazz »

CraCk писал(а): 07 июн 2024, 15:29 так должно работать?
Должно, когда en переходит в состояние false, все переменные в блоке замораживают свое состояние.
georgsp
Рядовой
Сообщения: 23
Зарегистрирован: 15 май 2021, 17:25
Имя: Георгий
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение georgsp »

Блок пользовательский, можно прямо в блоке прописать сброс выхода в ноль при подаче False в EN если именно это нужно.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Вход En Разрешение выполнения блока

Сообщение CraCk »

montirovka писал(а): 07 июн 2024, 20:55 Логически все правильно. Мультиплексор после блока поставьте, что бы обойти подвисший выход. Управление мультиплексора от En.
Тоже про это думал. Но хотелось как бы по правильному на в ходе En 0 значит на выходе тоже 0.
georgsp писал(а): 09 июн 2024, 10:23 Блок пользовательский, можно прямо в блоке прописать сброс выхода в ноль при подаче False в EN если именно это нужно.
Да как раз так нужно. Возможно для блока пользовательского на коде возможно. Но на блоке где внутри FBD такого нет.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Вход En Разрешение выполнения блока

Сообщение WildCat »

CraCk писал(а): 09 июн 2024, 18:52 Но на блоке где внутри FBD такого нет.
Используйте блок switch.
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Вход En Разрешение выполнения блока

Сообщение CraCk »

WildCat писал(а): 09 июн 2024, 20:24 Используйте блок switch.
То есть в самом блоке?
[spoiler]
Снимок экрана 2024-06-10 115617.png
[/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
WildCat
Лейтенант
Сообщения: 556
Зарегистрирован: 04 июн 2022, 04:14
Имя: Михаил
Благодарил (а): 5 раз
Поблагодарили: 9 раз

Вход En Разрешение выполнения блока

Сообщение WildCat »

CraCk писал(а): 10 июн 2024, 11:57 То есть в самом блоке?
Да, так
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение Утвш »

Может быть кто-то cможет ввести в блок Грачика вход En? В мониторе Com-порта вижу, что блок производит отправку в UART даже при пустом входе ""send.
Тест блока Грачика.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

Утвш писал(а): 21 июн 2024, 10:21 Может быть кто-то cможет ввести в блок Грачика вход En?
А для чего? Что это даст?
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение Утвш »

montirovka писал(а): 21 июн 2024, 11:33 Что это даст?
Странный вопрос. самопроизвольная отправка переключает Nextion на другой экран. Приложенный тест - чисто демонстрационный.
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

Утвш писал(а): 21 июн 2024, 12:04Странный вопрос.
Что бы подсказывать, порой нужно полное понимание как работает весь проект. Перед Nextion вставьте логическое И.Один вход En, другой - с блока.
В блоке передача Nextion по умолчанию не прописано значение Send.
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение Утвш »

montirovka писал(а): 21 июн 2024, 16:42 как работает весь проект
Весь проект еще не готов, но в нем уже более 30 плат. Кто будет убивать время и разбираться? Давайте упростим. Выкладываю тестовый проект на 1 плате. Назначение: Программа через 15 сек после включения должна отослать на Nextion значение переменной va0=5. По получении Nextion перейдет на другую страницу.
Компилируем, подключаем монитор порта и видим, что сразу после подключения, на Nextion отправляется значение va0=5, и через 15 сек отправляется вторая отправка va0=5. Простое отключение сигнала на send исключает только вторую отправку. Вот мне и кажется, что введение входа en может исправить положение.
Тест.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

А попробуйте с переменной, которой по умолчанию присвоено значение FALSE.
тест_с_переменной.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение Утвш »

montirovka писал(а): 22 июн 2024, 15:43 А попробуйте с переменной
А что изменилось? Я же писал, что если отключить сигнал на send, т.е. оставить вход send свободным, то это исключает только вторую отправку.
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

Утвш писал(а): 22 июн 2024, 08:28 Компилируем, подключаем монитор порта и видим, что сразу после подключения, на Nextion отправляется значение va0=5, и через 15 сек отправляется вторая отправка va0=5.
В этом варианте точно так же?
Утвш
Сержант
Сообщения: 148
Зарегистрирован: 02 дек 2016, 07:31
Благодарил (а): 2 раза

Вход En Разрешение выполнения блока

Сообщение Утвш »

Да
Аватара пользователя
montirovka
Капитан
Сообщения: 735
Зарегистрирован: 15 фев 2021, 16:16
Откуда: Геленджик
Имя: Сергей
Благодарил (а): 43 раза
Поблагодарили: 174 раза

Вход En Разрешение выполнения блока

Сообщение montirovka »

Добавил для проверки дисплей. На дисплее все нормально. А вот Nextion дважды выдает значения в ком порт. А если инвертировать вход блока Nextion, то срабатывает один раз.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
garikb
Сержант
Сообщения: 182
Зарегистрирован: 04 ноя 2015, 19:52
Откуда: Славянск
Имя: Игорь
Поблагодарили: 2 раза

Вход En Разрешение выполнения блока

Сообщение garikb »

Ну если хочется отключать блок, тогда так:
Тест2.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4005
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 153 раза

Вход En Разрешение выполнения блока

Сообщение ecoins »

montirovka писал(а): 22 июн 2024, 21:59 Добавил для проверки дисплей. На дисплее все нормально. А вот Nextion дважды выдает значения в ком порт. А если инвертировать вход блока Nextion, то срабатывает один раз.
Переходите на дисплей Nextion в новой версии FLProg - старая поддерживаться не будет.
В новых блоках EN есть.
С уважением, ecoins.
Ответить

Вернуться в «Спросить у знатоков»

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

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