Показано с 1 по 10 из 3018

Тема: CODESYS V3.5. Визуализация

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Добрый день.
    Вы можете менять цвет кнопки через вкладки параметров Цвета и Переменные цвета.
    Евгений, добрый день.
    Правильно ли я Вас понял:
    Надо создать отдельную переменную для каждой кнопки или строку или массив.
    Далее создать отдельную функцию, которая будет отлавливать - какой номер фрейма сейчас активен и на основе этого уже передавать в некую строку из 11 элементов состояние для каждой.
    И далее из этой строки индексами достаем состояние соответствующей кнопки?
    Или есть какой то простой способ просто взять номер активного фрейма и сразу его использовать, задав состояние тревоги?
    Последний раз редактировалось beatitas; 15.11.2023 в 15:27.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,822

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Евгений, добрый день.
    Правильно ли я Вас понял:
    Надо создать отдельную переменную для каждой кнопки или строку или массив.
    Далее создать отдельную функцию, которая будет отлавливать - какой номер фрейма сейчас активен и на основе этого уже передавать в некую строку из 11 элементов состояние для каждой.
    И далее из этой строки индексами достаем состояние соответствующей кнопки?
    Да, вам в любом случае потребуется массив булевских переменных, которые будут привязаны к кнопкам.
    Так как фреймы у вас переключаются по нажатиями по кнопкам - то можно добавить код изменения цветов кнопок ("подсветки" нужной кнопки, "выключение подсветки" всех остальных) в код каждой кнопки (OnMouseClick - Выполнить ST-код).

    Или есть какой то простой способ просто взять номер активного фрейма и сразу его использовать, задав состояние тревоги?
    Можно и так - через "переменную-переключатель фрейма".

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Да, вам в любом случае потребуется массив булевских переменных, которые будут привязаны к кнопкам.
    Можно и так - через "переменную-переключатель фрейма".
    Благодарю. пока не смог её найти, но в поисках.

    Зато удалось добиться очень странного поведения визуализации. А именно, экраны визуализации закрываются не открывшис. То есть подключаюсь к контроллеру, загружаю программу, открываю любую из страниц визуализации и она сразу же закрывается.
    Все окна которые закрываются сами связаны тем фактом, что были добавлены в "переключить визуализацию фрейма". Но сейчас я фрейм удалил и со всех кнопок событие переключающее содержимое - убрал. Не помогло.
    Где я мог так накосячить?

    Заранее спасибо)

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,822

    По умолчанию

    Цитата Сообщение от beatitas Посмотреть сообщение
    Благодарю. пока не смог её найти, но в поисках.

    Зато удалось добиться очень странного поведения визуализации. А именно, экраны визуализации закрываются не открывшис. То есть подключаюсь к контроллеру, загружаю программу, открываю любую из страниц визуализации и она сразу же закрывается.
    Все окна которые закрываются сами связаны тем фактом, что были добавлены в "переключить визуализацию фрейма". Но сейчас я фрейм удалил и со всех кнопок событие переключающее содержимое - убрал. Не помогло.
    Где я мог так накосячить?

    Заранее спасибо)
    Давайте завтра утром разберемся со всеми вопросами сразу через AnyDesk?
    Со мной можно связаться через телеграм (в подписи).

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Давайте завтра утром разберемся со всеми вопросами сразу через AnyDesk?
    Со мной можно связаться через телеграм (в подписи).
    Евгений, ещё раз спасибо за удалённое решение проблемы. Всё оказалось намного проще чем я представлял.


    Для тех кто будет делать так же повторю задачу и решение:

    Есть основной экран, занимающий 100% площади монитора 1920*1080, на котором, справа, столбцом, нарисовано меню с кнопками-названиями объектов автоматизации и "экранов" соответствующих им.
    На оставшемся пустом месте добавлен фрейм, размером 1500*1060. В который загружается нужный экран объекта автоматизации.
    Чтобы кнопка активной визуализации во фрейме подсвечевалась и, тем самым, экономила место заголовка-названия экрана:

    В любой программе создаём переменную в которой будет храниться индекс активной визуализации во фрейме
    iMainFrameIndex: INT;
    Создаём N визуализаций, размером с фрейм.
    Создаём фрейм, на экране с меню. В конфигурации фрейма добавляем эти визуализации и запоминаем присвоенные им индексы.
    В свойствах фрейма Конфигурация Ввода -> Переключение -> Переменная добавляем нашу переменную visualization.iMainFrameIndex

    Теперь в наши кнопки на главном экране добавляем:
    Переменные цвета -> переключить цвет
    visualization.iMainFrameIndex = 0
    Вместо нуля поочерёдно подставляем индекс визуализации соответствующий этой кнопке из настроек фрейма.
    Далее в Конфигурация Ввода -> OnMouseClick добавляем событие "Выполнить ST-код", куда прописываем
    visualization.iMainFrameIndex := 0;

Похожие темы

  1. Визуализация CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.04.2018, 15:26
  2. Визуализация в CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 10.05.2017, 21:11
  3. Визуализация CodeSys
    от DanJer в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.08.2012, 03:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 17:30

Ваши права

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