Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 16 из 16

Тема: Открытие всплывающего окна по состоянию тэга

  1. #11

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    повторное срабатывание триггера окна закрывает открытое.
    Да, Вы правы, это действительно так. Мой косяк, не разобравшись поспешил с ответом.

    Если всплывающее окно открыто, а триггер сработает снова, то окно закрывается. И, соответственно, нужно как-то контролировать "открытость" окна.
    Можете пояснить что требуется?
    1. окно должно оставаться открытым при повторном срабатывании триггера
    2. окно должно открываться/закрываться по триггеру
    3. пользователь может открывать/закрывать окно
    4. нужно отслеживать состояние открытости/закрытости окна вне зависимости от того, было ли оно открыто/закрыто пользователем или триггером

  2. #12

    По умолчанию

    Цитата Сообщение от Ready Посмотреть сообщение
    Можете пояснить что требуется?
    1. окно должно оставаться открытым при повторном срабатывании триггера
    2. окно должно открываться/закрываться по триггеру
    3. пользователь может открывать/закрывать окно
    4. нужно отслеживать состояние открытости/закрытости окна вне зависимости от того, было ли оно открыто/закрыто пользователем или триггером
    1. Да, оно должно оставаться открытым при повторном срабатывании триггера
    2. Окно должно открываться по триггеру, закрывать его должен пользователь
    3. Да, пользователь может открывать и закрывать окна
    4. Да, я думаю, что не важно кто или что открыло/закрыло окно
    Вкратце обрисую задачу. Есть диспетчер, который сидит у компьютера и наблюдает за некоторым рядом объектов, открывая и закрывая окна (не обязательно, конечно, "серфить" по окнам объектов, но может ему от скуки придет такое в голову). Если на объекте происходит тревожное событие, то должен открыться соответствующий экран и подсветиться та часть схемы объекта, где произошла тревога. В общем случае, на одном и том же объекте последовательно могут произойти несколько тревожных событий, а диспетчер может успеть закрыть окно между событиями, а может и не успеть.
    Тут еще всплывает вопрос. А если одновременно на двух объектах произойдет тревожное событие (маловероятно, но возможно), то как откроются окна? Не будут ли мешать друг другу?

  3. #13

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    Если на объекте происходит тревожное событие, то должен открыться соответствующий экран и подсветиться та часть схемы объекта, где произошла тревога.
    А диспетчер тем временем занят разбором ситуации на другом объекте. Очень Вы ему поможете, очень. Сами же дальше правильные вопросы задаёте. Это порочный подход, если коротко.

    У меня нет знаний по организации окон/экранов конкретно в мастерскаде, потому общие соображения. Наличие общей для всех экранов области, в которой выводится список активных алармов. Т.е. на всех окнах/экранах (за исключением pop-up) должна быть зона вывода активных алармов в определенном порядке (время возникновения, приоритет и т.п.). При выборе конкретного аларма из этого списка диспетчер сам должен определиться с действиями - просто квитировать, перейти на экран объекта, связанный с этим алармом, ничего не делать, что-то ещё.

  4. #14

    По умолчанию

    ХЗ. Пока постановка задачи заказчиком такая. А от списка аварий с цветовой дифференциацией приоритетов никто не отказывается в любом случае.

  5. #15

    По умолчанию

    Цитата Сообщение от Hemann Посмотреть сообщение
    1. Да, оно должно оставаться открытым при повторном срабатывании триггера
    2. Окно должно открываться по триггеру, закрывать его должен пользователь
    3. Да, пользователь может открывать и закрывать окна
    4. Да, я думаю, что не важно кто или что открыло/закрыло окно
    Вкратце обрисую задачу. Есть диспетчер, который сидит у компьютера и наблюдает за некоторым рядом объектов, открывая и закрывая окна (не обязательно, конечно, "серфить" по окнам объектов, но может ему от скуки придет такое в голову). Если на объекте происходит тревожное событие, то должен открыться соответствующий экран и подсветиться та часть схемы объекта, где произошла тревога. В общем случае, на одном и том же объекте последовательно могут произойти несколько тревожных событий, а диспетчер может успеть закрыть окно между событиями, а может и не успеть.
    Тут еще всплывает вопрос. А если одновременно на двух объектах произойдет тревожное событие (маловероятно, но возможно), то как откроются окна? Не будут ли мешать друг другу?
    Вот, что получилось: WindowsControl.zip Вроде по всем пунктам отрабатывает. По тэгу окно только открывается. Закрывать может только пользователь. Даже, если пользователь закрыл окно, а тэг все еще в 'True', окно не откроется до следующего 'True' тэга. Но пользователь всегда может открывать/закрывать окно. Пришлось отключить "Разрешить закрытие" у окна и добавить отдельную кнопку, иначе не отследить закрытие. Заголовок у окна теперь полностью пустой, нужен только для "drag-and-drop"а. Сами увидите. Вынес все в библиотеку, чтобы было удобно разместить сразу несколько экземпляров. Управление вынес в программу на ST, иначе получается нагромождение параметров и условий (легко запутаться). Триггер срабатывает по двум условиям ("Открытие окна по тэгу" ИЛИ "Ручное открытие окна"). Окно будет открытым/закрытым даже, если обновить страницу.

    Тут еще всплывает вопрос. А если одновременно на двух объектах произойдет тревожное событие (маловероятно, но возможно), то как откроются окна? Не будут ли мешать друг другу?
    Откроются все сразу, если иного условия нет. Во вложенном проекте сразу откроются, т.к. каждое окно находится в своем экземпляре и работает независимо от других. Если окна большие, то да, будут мешать. В примере большие и мешают, но я сделал их открытие со смещением от элемента. Стало немного лучше. Чем больше будет открытых окон, тем сильнее будет страдать UI и UX. Автоматически всплывающие окна это хорошо, но в меру по количеству и их размерам. Вообще для тревожных событий, в том числе, существуют журналы, индикаторы событий. В MS4D это есть. Их можно фильтровать и настраивать под определенные тревоги и события. Например, на главное окно можно вывести текущий журнал и настроить его на все критически важные тревоги/события, на клик по ячейке повесить любое действие.
    У MS4D на YouTube-канале есть видео по журналам и сообщениям: MasterSCADA 4D–платформа для автоматизации и диспетчеризации. Работа с журналами и системой сообщений

  6. #16

    По умолчанию

    Спасибо большущее! Буду разбираться. Правда, скорее всего, завтра - сегодня хочется отдохнуть. Еще раз спасибо!!!

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. Ответов: 4
    Последнее сообщение: 16.03.2023, 12:17
  2. открытие окна с трендами и передача параметров
    от jek815 в разделе ПЛК (среда MasterSCADA 4D)
    Ответов: 1
    Последнее сообщение: 11.01.2021, 13:47
  3. Открытие окна из дерева
    от spdif123 в разделе Master SCADA 4D
    Ответов: 3
    Последнее сообщение: 18.04.2020, 21:32
  4. открытие окна объекта
    от ANDREY2002 в разделе Master SCADA 3
    Ответов: 18
    Последнее сообщение: 12.08.2015, 14:55
  5. ошибка тэга
    от Адлан в разделе Master SCADA 3
    Ответов: 3
    Последнее сообщение: 20.11.2013, 21:37

Ваши права

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