ЖУРНАЛ «СТА» 3/2016

109 СТА 3/2016 www.cta.ru В ЗАПИСНУЮ КНИЖК У ИНЖЕ Н Е РА тельна, поэтому провели анализ документации на приобретён- ный комплект ICONICSGENESIS64, по итогам которого при- няли решение воспользоваться для организации SMS-инфор- мирования компонентом ScriptWorX64. ScriptWorX64 – это сервер приложения на основе скриптов. Он используется для запуска VBA-скриптов по расписанию или как реакции на определённые события (триггеры) и пред- ставляет собой многопоточный сервис, предназначенный для работы 24 часа в сутки, готовый выполнить созданные разра- ботчиком сценарии в любой момент. Далее поэтапно описан процесс конфигурирования Script- WorX64 и разработки необходимых скриптов для организации SMS-информирования. Данная статья не ставит своей целью подменить руководство ICONICS, поэтому ряд моментов был сознательно опущен, например, описание стандартных проце- дур в коде VBA-скриптов. П РЕДВАРИТЕЛЬНЫЕ НАСТРОЙКИ Разработка велась в системе следующей конфигурации: ● Windows 7 Professional x64; ● ICONICS GENESIS64 v.10.71, HotFixPack 1, ServicePack 1, ServicePack 2. В Unified Data Manager (UDM) были предварительно созда- ны регистры, а в AlarmWorX64 Server – аварийные сигналы, связанные с регистрами UDM, и Area – объекты для группи- ровки аварийных сигналов, например, для разных объектов. Поскольку ScriptWorX64 является опциональным компо- нентом GENESIS64, необходимо выполнить его установку. После установки, к сожалению, выяснилось, что не хватает одной библиотеки – AlarmOle.dll. Выражалось это в невоз- можности настроить в ScriptWorX64 Configurator подписку на аварийные события. Проблема была успешно решена со- вместно с сотрудниками компании ПРОСОФТ, они выслали недостающую библиотеку и описали процесс её установки. На этом этап предварительной настройки завершён, и мож- но перейти к настройке триггеров ScriptWorX64 на аварийные события. Н АСТРОЙКА ТРИГГЕРОВ АВАРИЙНЫХ СОБЫТИЙ В S CRIPT W OR X64 После установки ScriptWorX64 необходимо запустить ScriptWorX64 Configurator и создать новый проект (рис. 1). Внутри проекта создаётся объект Thread, в котором создаёт- ся объект Script (рис. 2). Теперь можно перейти непосред- ственно к созданию триггера аварийных событий. На экран- ной форме под списком скриптов надо нажать кнопку New напротив Trigger Name, откроется приложение UDMConfig (рис. 3). В нём необходимо выбрать раздел Event Triggers-> ->Alarm Triggers. Триггеры аварийных событий основаны на отслеживании аварийных событий от заданного сервера (сервер аварий). Связь с сервером аварий называется подпи- ской. Для создания новой подписки необходимо выбрать в контекстном меню пункт New->Alarm Trigger Subscrip- tion (рис. 3). Необходимо будет задать имя подписки, а за- тем выполнить связку с сервером аварий, для этого нажать кнопку Subscribe/Edit OPC Subscriptions. В открывшемся диа- логовом окне (рис. 4) на вкладке Server надо нажать кнопку Browse и выбрать в открывшемся окне сервер аварий. Далее на вкладке Types (рис. 4) был выбран диапазон Severity – уров- ней аварийных событий, для которых должен срабатывать триггер. На этом можно было бы и завершить создание подписки триггера, теперь через него будут проходить все аварии с сер- вера. Но в случае сложного технического объекта, скорее все- го, аварии далеко не всех объектов требуют SMS-информи- рования. На вкладке Areas необходимо выбрать интересую- щие нас Area на сервере аварий, в которых заранее сгруппи- рованы нужные аварийные сигналы. При необходимости можно задать и остальные настройки. Теперь надо открыть существующую подписку на аварий- ные события и создать объект Alarm Trigger Item (рис. 5): за- дать имя триггера, а на вкладке Alarm Trigger Options в поле Alarm Filter прописать x=1. Это означает, что будут обрабаты- ваться все аварийные события, на которые выполнена под- писка. При необходимости можно прописывать расширен- ные условия, по которым срабатывают триггеры в поле Alarm Filter, их примеры есть в документации на UDMConfig. Аль- тернативой фильтру будет задание части условий при на- стройке подписки. Теперь можно всё сохранить и закрыть UDMConfig. Остаётся только связать VBA-скрипт и триггер, для этого на экранной форме, показанной на рис. 2, под спис- ком скриптов нужно нажать кнопку «…» напротив Triger Name и выбрать созданный триггер алармов (рис. 6). Теперь можно приступить к созданию VBA-скриптов. Рис. 7. Структурная схема разрабатываемой системы SMS-информирования Рис. 8. Структура разработанных классов системы SMS-информирования: курсивом отмечены методы, прямым шрифтом – поля и свойства классов Сотовый оператор SMS SMS SMS SMS-сервис ScriptWorX64 AlarmWorX64 Server MonitorWorX Триггер Аварийное событие Unified Data Manager Перечень номеров для рассылки Регистры результатов работы SMS-сервиса Скрипт SMSbyHTTP POST SMSAero ListNumbers Message SendSMS SendSMSAll SMS_sender SendSMS

RkJQdWJsaXNoZXIy MTQ4NjUy