ЖУРНАЛ «СТА» №1/2008
если бы они запускались на первом компьютере, «нагружая» при этом сер- вер контроля лицензий первого узла на соответствующее количество клиент- ских единиц. Если мы теперь запустим монитор контроля лицензий на первом узле, то увидим, что у нас в системе ра- ботают уже две станции и суммарное количество используемых клиентских единиц равно 140+125= 265. Нетрудно подсчитать, что оставшееся количество неиспользуемых клиентских единиц можно раздать еще двум (!) другим ра- бочим станциям с выполняющимися проектами GraphWorX32. Из всего сказанного следует один, но очень важный вывод. Под управлением одной действительной лицензии GEN- ESIS32 в рамках сети можно одновре- менно активизировать несколько рабо- чих станций с произвольным набором запущенных приложений. Единствен- ным условием является непревышение числа клиентских единиц, имеющихся в используемой лицензии. В ОПРОС Как мне передать информацию о возникно- вении аварии из сервера тревог AWXsvr32 в экранную форму GraphWorX? Меня не устра- ивает вид стандартного компонента ActiveX для просмотра состояния тревог. Я хочу сде- лать так, чтобы при возникновении тревоги у меня в экранной форме «зажигалась» лампочка и воспроизводился WAW-файл с сообщением о возникновении тревоги. О ТВЕТ Вопрос делится на два. Первый во- прос: как обеспечить отображение воз- никновения тревоги из серверов, рабо- тающих в стандарте OPC Alarms & Eventsв, в клиенте, изначально рассчи- танном на отображение данных реаль- ного времени (OPC Data Access)? Нет ничего проще. Как известно, каждый правильно сконфигурирован- ный сервер тревог в системе GENE- SIS32 изначально имеет два вида пред- ставления своих данных клиентам OPC. Первый — в стандарте OPC Alarm & Events для приложений подсистемы AlarmWorX32, а вторую реализацию такой сервер имеет в виде дополнительного «обыкновенного» OPCсервера. Естественно, в этом псевдоOPCсервере передается дале- ко не вся информация о тревоге или событии, а только битовая переменная, принимающая значение логической «1» в случае возникновения тревоги, и метка времени. Но этого как раз абсо- лютно достаточно для того, чтобы «за- жечь» лампочку в экранной форме. Вторая часть вопроса относится к возможности воспроизведения мульти- медийной информации в контейнере GraphWorX32 без применения специа- лизированных компонентов, таких как AlarmWoxW+. Это также возможно. Но для этого необходимо написать неболь- шой VBAскрипт и воспользоваться стандартным ActiveXкомпонентом, поставляемым фирмой Microsoft в со- ставе операционной системы Windows. Вставить объект MediaPlayer в эк- ранную форму GrahpWorX32 можно с помощью кнопки меню «OLE». После того как данный ActiveX будет успешно вставлен, необходимо отре- дактировать его установки, открыв его окно свойств VBA. Наиболее важно в разделе FileName установить правильный путь к звуково- му или видеофайлу, который должен воспроизводиться. Для того чтобы вос- произведение не начиналось сразу по- сле перевода GraphWorX32 в режим ис- полнения, необходимо установить в False ключ AutoStart. По желанию мож- но соответствующим образом настро- ить и другие параметры компонента так, чтобы отключить ненужные кноп- ки управления, полосы прокрутки и т.д. Для активизации этого компонента необходимо написать небольшой VBAскрипт примерно следующего со- держания: Public Sub runwav() Dim g_mp_App As IMediaPlayer 'оп- ределение типа Set g_mp_App = ThisDisplay.MediaPlayer1' получение ука- зателя на вставленный в нашу экран- ную форму объект MediaPlayer1 If g_mp_App Is Nothing Then Stop 'про- верка успешности получения указателя g_mp_App.Play 'перевод в режим воспроизведения Set g_mp_App = Nothing End Sub Эта процедура будет однократно за- пускать на воспроизведение выбран- ный Вами видео или аудиофрагмент. Для того чтобы это происходило при возникновении реальной аварии в сис- теме, осталось связать эту подпрограм- му с какимнибудь событием в экран- ной форме. Например, с изменением цвета лампочки, привязанной с соот- ветствующему аварийному тегу. ● С.А. Гусев — сотрудник фирмы ПРОСОФТ 117313, Москва, а/я 81 Телефон: (095) 234-0636/0640 E-mail: root@prosoft.ru 87 СТА 1/2001 www.cta.ru В З АПИС Н УЮ К НИЖК У ИНЖЕ Н Е Р А / ВОП Р ОСЫ - О Т В Е Т Ы
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy