Страница 503 из 507 ПерваяПервая ... 3403453493501502503504505 ... ПоследняяПоследняя
Показано с 5,021 по 5,030 из 5065

Тема: ПР200

  1. #5021
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    zamboga по событию, что вы находитесь не на главном экране. Как-то это делалось, без использования физических входов, сейчас по быстрому не подскажу.

  2. #5022

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    zamboga по событию, что вы находитесь не на главном экране. Как-то это делалось, без использования физических входов, сейчас по быстрому не подскажу.
    Нашёл старую тему с ровно тем же вопросом: https://owen.ru/forum/showthread.php?t=32351
    Там тоже есть ваши ответы, но нет ответа на исходный сабж, к сожалению.

    Я сам не могу сообразить, как отследить событие "вы на экране таком-то" или "вы покинули экран такой-то"

  3. #5023
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Блин, надо какой-то проект поискать... где-то было.

    Да, единственным способом запустить таймер, который взведет переменную возврата экрана программным способом является переменная. Например на главном экране сделать переменную, изменение которой разрешит перейти к экранам просмотра и настроек.

    То есть чтобы пойти в глубь меню сперва меняем переменную, по которой произойдет переход на следующий экран, уже с которого можно настроить перемещение кнопками.
    Тут же сбрасываем эту переменную и запускаем таймер возврата к главному экрану, скажем на 5 минут, меньше или больше, если не выполнен переход по клавишам.
    Можно клавишей ESC каждому экрану назначать возврат на главный экран, а другой клавише назначать переход назад.

    Используем таймер TP, по заднему фронту ставим переменную возврата на главный экран.
    TP запускаем переменной на главном экране для перехода в настройки или даже просмотра и при переходе ее тут же сбрасываем. По остальным экранам двигаемся уже при помощи переходов, настроенных на клавиши

    Кстати в соседней теме еще один вариант, только увеличить 30 секунд BLINK до большего времени. Как бы вы ни ходили по экранам, то при BLINK.Q = 1 всегда будет переход на главный экран.
    А находясь на главном экране и так на него же переход как бы.

    Еще были реализации ввода пароля для входа в меню, но так не пробовал.
    Последний раз редактировалось melky; 08.08.2023 в 13:22.

  4. #5024

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Например на главном экране сделать переменную, изменение которой разрешит перейти к экранам просмотра и настроек.
    Суровый костыль. Что-то типа "Хочешь поменять настройки?" → Да/Нет, и запускаем таймер. Но это не решит главную задачу — авто-возврат по отсутствию активности с кнопками.
    И главное: тебя в итоге выкинет в Главный экран в любой момент, даже в момент настройки какой-то переменной в глубине меню.
    .
    .
    Цитата Сообщение от melky Посмотреть сообщение
    Кстати в соседней теме еще один вариант, только увеличить 30 секунд BLINK до большего времени. Как бы вы ни ходили по экранам, то при BLINK.Q = 1 всегда будет переход на главный экран.
    А находясь на главном экране и так на него же переход как бы.
    Уже сделал. Проблема та же — тебя выкидывает в Главный экран в любой, в самый случайный момент, даже в момент настроек. Не айс.

  5. #5025
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    zamboga да, костыль. Сделайте время очень большим и все.
    Вообще сделайте правилом возвращаться на главный экран при помощи ESC или комбинацией клавиш ESC + ХХХ, так же делайте возврат на уровень назад на предыдущий экран. Если персонал знает как управлять, то не важно где кто-то забыл выйти, нажал комбинацию и вышел сам. Ну а чтобы не нажимать, таймер с временем минут 15 и возврат на главный экран.

    На BLINK действительно может выкинуть в любой момент, так как вы не знаете состояние текущего таймера, а вот вход в Настройки и запуск таймера у вас однозначно отведенное вами время.

    Обработка кнопок из программы в ОЛ? НЕ ДОЖДЕТЕСЬ!!! (з.ы. представители Овен)
    Индикация на каком экране находимся в программе ОЛ? см. пункт выше

    это вы еще зарубежных контроллеров с паролями в меню настройки не щупали. Заходишь, вводишь перебором 4 цифры, добираешься до параметра, начинаешь читать мануал, пока прочитал, уже пароль сброшен и по новой вводи
    Последний раз редактировалось melky; 08.08.2023 в 13:57.

  6. #5026

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Вообще сделайте правилом возвращаться на главный экран при помощи ESC или комбинацией клавиш ESC + ХХХ, так же делайте возврат на уровень назад на предыдущий экран. Если персонал знает как управлять, то не важно где кто-то забыл выйти, нажал комбинацию и вышел сам.
    Это я прям сразу прописал=)

    Цитата Сообщение от melky Посмотреть сообщение
    На BLINK действительно может выкинуть в любой момент, так как вы не знаете состояние текущего таймера, а вот вход в Настройки и запуск таймера у вас однозначно отведенное вами время.
    Да, точно, об этом я не подумал. Тогда да, это пока максимально наилучшее решение:
    "Хочешь поменять настройки?" → Да/Нет, и запускаем таймер минут на 15.


    Цитата Сообщение от melky Посмотреть сообщение
    Блин, надо какой-то проект поискать... где-то было.
    Буду признателен, если скинете потом этот проект. Второй день бьюсь, хотя изначально "ща, фигня, за 10 мин сделаю, чё там делать-то, переменная и таймер"=)

  7. #5027
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    не, не найду у меня все безусловными переходами. Выход на экран аварий без функции возврата. Только руками.

    планировал делать, но посчитал это лишней тратой времени, у меня всегда ESC выход в главное меню. То есть мне не важно, на каком экране застрял, нажал и вышел.
    Но смысл да, если хочется выходить программно, только запуском таймера - Настройки - Да и переходим в следующий пул экранов с запуском таймера.

  8. #5028

    Question

    Здравствуйте, мне мало переменных ЭСППЗУ и пула адресов в режиме Slave (64 регистра типа int) в серьёзных проектах.
    Упаковку бит в байты я делаю, но всё же.
    Поскольку пишу макросы универсально (вложенные друг в друга в том числе) в них использую энергонезависимые переменные. Недавно озадачился упаковкой бит в байты для EEPROM, ибо 1 бит "кушает" 1 байт EEPROM. При создании пустого проекта уже занято 128 байт из 1016.
    Написал макрос, однако, OL по-разному реагирует на одни и те же биты. На b0 не жалуется, на остальные биты просит линию задержки (но, лининия задержки всё портит). С b0 работает.
    Вложения Вложения

  9. #5029

    По умолчанию

    Цитата Сообщение от =provincial= Посмотреть сообщение
    Здравствуйте, мне мало переменных ЭСППЗУ и пула адресов в режиме Slave (64 регистра типа int) в серьёзных проектах.
    Упаковку бит в байты я делаю, но всё же.
    Поскольку пишу макросы универсально (вложенные друг в друга в том числе) в них использую энергонезависимые переменные. Недавно озадачился упаковкой бит в байты для EEPROM, ибо 1 бит "кушает" 1 байт EEPROM. При создании пустого проекта уже занято 128 байт из 1016.
    Написал макрос, однако, OL по-разному реагирует на одни и те же биты. На b0 не жалуется, на остальные биты просит линию задержки (но, лининия задержки всё портит). С b0 работает.
    Сделайте все биты энергонезависимыми и уберутся жёлтые линии.
    Последний раз редактировалось kondor3000; 09.08.2023 в 10:28.

  10. #5030

    По умолчанию

    Я знаю, в таком случае, идея теряет смысл.

Страница 503 из 507 ПерваяПервая ... 3403453493501502503504505 ... ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •