Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

отображение Alarms в Genesis 7

 Ответить Ответить
Автор
Сообщение
2lon Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - 2lon Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: отображение Alarms в Genesis 7
    Опубликовано: 11 Февраль 2004 12:20

Необходимо автоматически отобразить окно со списком тревог (AWXView32) в случае получения нового тревожного сообщения

Наверх
Сергей Гусев Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 16 Апрель 2003
Online Status: Offline
Публикации: 126
Свойства публикации Свойства публикации   Ответить, цитируя автора - Сергей Гусев Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 11 Февраль 2004 13:53

Добрый день!

Все очень просто.

Начнем с того, что в Вашей основной экранной форме Вы не хотите постоянны видеть состояние тревог, но хотите "держать руку на пульсе". Для этого в основной экранной форме нужно все-таки иметь установленный AWXView32, но, возможно, настроенный так, что он имеет подписку на нужные события, но невидим, и не содержит ни одного столбца. Например так:

Далее идем в его VBA код:

Код создаем для обработки событиям OnNewAlarm.

В принципе тут можно просто написать что-то тапа:

Private Sub AWXVIEW32OCX1_OnNewAlarm()
    x = ThisDisplay.OpenPopupWindow("Pop-UP.gdf", False, True, False)
End Sub

Но это приведет к появлению всплывающего окна на кажное событие, и если они приходят парами, то два (или более) окна подряд Вам могут показаться лишними:)

Поэтому лучше всего проверить, не было ли окно уже открыто, и написать для этого отдельную несложную функцию. Например, так:

Private Sub AWXVIEW32OCX1_OnNewAlarm()
    OpenPopupOnce "Pop-UP.gdf"
      
End Sub

Public Function OpenPopupOnce(szFile As String) As Long
    On Error GoTo catch
    FileOpenOne = 0
    Dim szCaption As String
    Dim oPopup As GwxDisplay
    szCaption = szFile + " - GraphWorX32 by ICONICS"
    Set oPopup = ThisDisplay.GetOpenPopupWithTitle(szCaption)
    If oPopup Is Nothing Then
        If Not (ThisDisplay.OpenPopupWindow(szFile, False, True, False) Is Nothing) Then
            FileOpenOne = 1
        End If
    Else
        oPopup.ShowWindow
        FileOpenOne = 2
    End If
catch:
End Function

В результате получите примерно следующее:

Естественно, во всплывающей форме нужно поставить "нормальный", (в смылсе - видимый) Активикс, и для красоты - кнопку закрытия окна.

Все вышеописанные примеры можно найти на

ftp://ftp.prosoft.ru/pub/Software/Genesis32/to_forum/ALARM_popup/

С уважением,

Сергей Гусев,

ПРОСОФТ

Сергей Гусев
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
2lon Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - 2lon Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 11 Февраль 2004 14:31
Спасибо. Попробую. Только почему то у меня нет доступа на указанную ссылку да и вообще на ftp.prosoft.ru
Наверх
2lon Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - 2lon Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Февраль 2004 13:28

Добрался до ftp на Прософт...

В данном примере хорошо бы еще использовать функцию GetNumberofAlarms, иначе окно будет появляться каждый раз при получении ЛЮБОГО сообщения.

 

Наверх
Сергей Гусев Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 16 Апрель 2003
Online Status: Offline
Публикации: 126
Свойства публикации Свойства публикации   Ответить, цитируя автора - Сергей Гусев Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Февраль 2004 13:55

Дык!:)

Именно для этого и написана функция OpenPopupOnce, где мы смотрим, а не было ли открыто уже такое попап окно, и если открыто (или находится в процессе) - то не беспокоемся:) Так что GetNumber тут можно особенно и не проверять.

С уважением,

Сергей Гусев
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
2lon Смотреть выпадающим
Новичок
Новичок


Присоединился: 09 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - 2lon Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Февраль 2004 15:57

Вот нет у меня тревог, а приходит некое системное сообщение о критериях фильтрации и.т.д, причем оно может не отображаться в AWXView32 - тут же выскакивает всплывающее окно.

OnNewAlarm() возникает даже при подтверждении тревог.

Поэтому я и говорю, что надо посчитать именно тревоги и принять решение о необходимости "всплывания" окна

Наверх
Сергей Гусев Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 16 Апрель 2003
Online Status: Offline
Публикации: 126
Свойства публикации Свойства публикации   Ответить, цитируя автора - Сергей Гусев Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Февраль 2004 16:10

Тогда да, лучше проверить. Но теоретически можно и просто от GenEvent отписаться. Оставить только AlarmServer. Тоже должно помочь....

С уважением,

Сергей Гусев
"Первая Миля", Authorized ICONICS Systems Integrator
Наверх
nikename Смотреть выпадающим
Новичок
Новичок


Присоединился: 21 Июль 2011
Online Status: Offline
Публикации: 11
Свойства публикации Свойства публикации   Ответить, цитируя автора - nikename Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 22 Сентябрь 2011 14:58
кто знает как сюда попасть?
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz