Показано с 1 по 8 из 8

Тема: Индикация открытого окна

  1. #1

    По умолчанию Индикация открытого окна

    Добрый день!
    Как сделать индикацию текущего открытого окна?
    Никак не могу найти, каким образом можно вытащить информацию об активном окне.
    Хотелось бы иметь такую переменную, и уже её использовать для динамизации свойств кнопок и прочее.

    Например, есть панель навигации, в ней 10 окон. Если открыто окно №3, то кнопка окна №3 становится нажатой.

    черновик.jpg

  2. #2

    По умолчанию

    Цитата Сообщение от Party3AH Посмотреть сообщение
    Добрый день!
    Как сделать индикацию текущего открытого окна?
    Никак не могу найти, каким образом можно вытащить информацию об активном окне.
    Хотелось бы иметь такую переменную, и уже её использовать для динамизации свойств кнопок и прочее.

    Например, есть панель навигации, в ней 10 окон. Если открыто окно №3, то кнопка окна №3 становится нажатой.

    черновик.jpg
    Возможно это как-то связано с тем, что клиентов может быть несколько - и у каждого из них может быть открыто своё окно в один и тот-же момент времени

  3. #3

    По умолчанию

    Цитата Сообщение от Party3AH Посмотреть сообщение
    Добрый день!
    Как сделать индикацию текущего открытого окна?
    Никак не могу найти, каким образом можно вытащить информацию об активном окне.
    Хотелось бы иметь такую переменную, и уже её использовать для динамизации свойств кнопок и прочее.

    Например, есть панель навигации, в ней 10 окон. Если открыто окно №3, то кнопка окна №3 становится нажатой.

    черновик.jpg
    Добрый день.

    Для организации вкладок на визуализации в разделе Палитра - Панели есть инструмент Панель вкладок.
    Инженер технической поддержки ОВЕН

  4. #4

    По умолчанию

    Отвечаю на вопрос сам себе, может кому пригодится:

    - выбрать нужное окно, выбрать вкладку "Легенда" (там же, где и "Палитра");
    - в "Легенде" выбираем вкладку "События";
    - добавляем новое событие "Открытие окна";
    - добавляем в это событие действие "Установить параметр";
    - Источник - в начальном значении вбиваем номер окна (переменная почему-то только типа STRING);
    - Приёмник - привязываем какой-то параметр (У меня "Номер открытого окна";
    - Операция - присвоить;

    Далее параметр "Номер открытого окна" присваиваем к фону нужно кнопки.

    Всё работает
    Выбор окна.jpg
    Последний раз редактировалось Party3AH; 30.05.2024 в 13:00. Причина: добавил скриншот

  5. #5

    По умолчанию

    Цитата Сообщение от Party3AH Посмотреть сообщение
    Отвечаю на вопрос сам себе, может кому пригодится:

    - выбрать нужное окно, выбрать вкладку "Легенда" (там же, где и "Палитра");
    - в "Легенде" выбираем вкладку "События";
    - добавляем новое событие "Открытие окна";
    - добавляем в это событие действие "Установить параметр";
    - Источник - в начальном значении вбиваем номер окна (переменная почему-то только типа STRING);
    - Приёмник - привязываем какой-то параметр (У меня "Номер открытого окна";
    - Операция - присвоить;

    Далее параметр "Номер открытого окна" присваиваем к фону нужно кнопки.

    Всё работает
    Выбор окна.jpg
    1. События "Открытие окна / Закрытие окна" доступны с версии скады 1.3, в 1.2 их нет.
    2. Данный способ подходит, если в системе один пользователь. Если пользователей более одного, то они будут перекрывать работу друг друга, т.к. параметр "Номер открытого окна" находится в дереве объектов в качестве серверного параметра, т.е. общего для всех. Чтобы этого избежать необходимо добавить этот параметр в параметры окна "Окно выбора окон", тогда для каждого пользователя индикация будет индивидуальной.

  6. #6

    По умолчанию

    В SCADAх, где нет панелей, я делал так:
    Рисовал тёмно-серые прямоугольники, поверх светлые, поверх активную зону для макроса нажатия (кнопки не использовал, так как они чувствительны к привязанному тэгу) и так по количеству окон
    Ну и соответственно на нажатие активной зоны светлый прямоугольник под этой зоной скрывался, а под другими показывался, и одновременно активация нужного окна
    Это всё объединяется и на каждом окне копипастится

    WinCC, FactoryTalk View...

    PS Вернее наоборот:
    1.png
    Последний раз редактировалось МихаилГл; 31.05.2024 в 05:51.

  7. #7

    По умолчанию

    Цитата Сообщение от Ready Посмотреть сообщение
    2. Данный способ подходит, если в системе один пользователь. Если пользователей более одного, то они будут перекрывать работу друг друга, т.к. параметр "Номер открытого окна" находится в дереве объектов в качестве серверного параметра, т.е. общего для всех.
    Читаю и не понимаю. Это штатно в MS4D так или какой-то специфический режим? Какое дело одному клиенту до того, что другой делает? А фраза "параметр "Номер открытого окна" находится в дереве объектов в качестве серверного параметра" меня вообще в ступор вводит.

  8. #8

    По умолчанию

    Вопрос в месте исполнения объекта, замазанного на скриншоте. Если он назначен в задачу Экрана - то относящийся к нему "Номер открытого окна" у каждого клиента будет свой. Если в задачу Узла - то он будет общим для всех клиентов.

Похожие темы

  1. Индикация на СП 307
    от DKE в разделе Помощь Разработчикам
    Ответов: 47
    Последнее сообщение: 12.03.2021, 04:34
  2. индикация и LED на ПР
    от Sel в разделе Программируемые реле
    Ответов: 31
    Последнее сообщение: 29.06.2018, 15:19
  3. ИТП-11 пропадает индикация
    от Andrew_Stranger в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 08.06.2018, 13:24
  4. Индикация шрифта
    от Pimpl в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 10.02.2016, 13:33
  5. Индикация в ИМС-Ф1
    от PterMeh в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 19.03.2012, 19:22

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

Ваши права

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