Печать

Актуально для версии 5.20

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

Модули расширения - плагины

Для некоторых классов задач, таких как отображение данных СУБД, отображение данных телемеханики из ОИК через интерфейс OPC, существуют типовые решения в составе программного комплекса Модус, реализованные в виде соответствующих модулей расширения (плагинов). Они могут адаптироваться к решениям, используемым на предприятии (например для привязки к базам данных – тип СУБД, имя базы данных, структура – названия таблиц и полей), с помощью конфигурирования.
Как правило, в составе комплекса каждый плагин поставляется в паре с соответствующим редактором, позволяющим настраивать его конфигурацию в рамках внедрения на конкретном предприятии. Например:


Модуль связи с базами данным

SDEDB.dll 

Редактор привязок к БД

LinkSxeme.exe
Модуль навигации по справочнику объектов  HTSDN.ocx Редактор справочника объектов  SDNEdit.exe
Модуль отображения данных OPC  OPCSDE.dll Редактор связи с OPC  OPCLink2.exe
Модуль отображения сцен (для тренажера)  ScnViewX.ocx Редактор сцен  ScnEditor.exe

Модуль отображения состояния оборудования

из БД электронного журнала

 PGUEST.dll ПО ведения мнемосхемы  OL.exe
Навигация по схемам  SDENavigation.dll Графический редактор  Sdedit32.exe

Модули расширения представляют собой исполняемые файлы формата EXE, DLL или OCX. Имеется возможность подключать даже плагины, выполняющиеся на удаленном компьютере по сети.

Для реализации необходимых функций плагины используют доступ к данным приложения через COM-интерфейсы, совокупность которых называется  объектной моделью приложения. Все приложения Модус реализуют одинаковую объектную модель, это означает, что один плагин можно подключать к разным приложениям. Та же объектная модель используется в компоненте ActivesXeme, а значит один и тот же программный код можно использовать и в плагине, и в приложении, использующем ActivesXeme.

Для оповещения модулей расширения о происходящих действиях и предоставления им возможности реализовать реакцию на эти действия в приложениях используются около 30 видов событий, например:

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

Для подключения имеющегося плагина к Интегратору достаточно указать его для приложения, выбрав из списка (операция выполняется в специальном приложении «Управление плагинами»):
 


Подключение плагина из списка имеющихся.

 

 



Далее можно настроить особенности исполнения плагина в приложении (состав меню, вид иконок и др.). 


 Конфигурирование плагина.

Архитектура приложений с использованием модулей расширения позволяет увеличить возможности комплекса без перекомпиляции основных приложений. Также достигается существенная экономия при заказе индивидуальных модулей расширения разработчикам Модус, так как при их использовании исключается необходимость специальной поддержки и тестирования отдельной версии комплекса, реализующей уникальные пожелания заказчика, не требующиеся другим.
Настройки модуля расширения единообразно хранятся в файлах конфигурации приложения и открываются во всех приложениях.

 

 

 

 

Взаимодействие модулей расширения с приложением осуществляется через объектную модель приложения, основанную на стандарте COM и единообразную для всех основных приложений. Таким образом, один и тот же модуль расширения может использоваться с несколькими приложениями. По идеологии организация взаимодействия приложений комплекса с модулями расширения аналогична организации взаимодействия с приложением модулей расширения MS Office.

Плагины реализуют следующую функциональность:

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

Архитектура приложений с использованием модулей расширения позволяет увеличить возможности комплекса без перекомпиляции основных приложений. Также достигается существенная экономия при заказе индивидуальных модулей расширения разработчикам Модус, так как при их использовании исключается необходимость специальной поддержки и тестирования отдельной версии комплекса, реализующей уникальные пожелания заказчика, не требующиеся другим.

Объектная модель приложения

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

Для полного контроля над компонентом ActiveX или приложением комплекса в системе Модус реализуется ряд программных COM-интерфейсов, совокупность которых называется объектной моделью. Перечислим наиболее важные приложения из интерфейсов объектной модели:

Пример реализации модуля расширения

Каков алгоритм взаимодействия модуля расширения с приложением? В качестве примера рассмотрим, что должно быть реализовано в модуле расширения OPC-агента.

Редактор схем как сервер автоматизации

В комплексе Модус, начиная с версии 4. предусмотрена возможность генерации схемы из внешней программы (например, добавление элементов в заданное место схемы) с помощью технологии OLE Automation. Такие возможности полезны, к примеру, для написания пользовательских алгоритмов верификации схем. Этот инструмент доступен как из внешней программы (клиент автоматизации), так и из модуля расширения графического редактора. С помощью плагинов возможно самостоятельное создание функций редактирования, не предусмотренных разработчиками, например, обеспечение привязки элементов схемы к пользовательской БД непосредственно из графического редактора.

Все большую популярность в комплексе Модус получает формат XML, использующийся в большинстве видов настроечных файлов, используемых комплексом, а также для импорта – экспорта информации , в том числе схем SDE.

Выводы

Опыт компании Модус показывает, что разработка и сопровождение специализированной графической подсистемы высокого качества является весьма трудоемкой и дорогостоящей задачей. Созданная объектно-ориентированная графическая система отвечает высоким требованиям заказчиков и уже используется в качестве основного средства подготовки и использования электронных схем такими крупными энергосистемами, как Мосэнерго.

Технология COM/ActiveX позволяет обеспечить простой и удобный доступ пользовательских программ к графической подсистеме. Теперь разработчики могут целиком сосредоточиться на решении прикладных задач, а технологи - использовать привычный ЧМИ.