Создание элемента управления ActiveX для SCADA Vijeo Citect с помощью Microsoft Visual C# 2012

Создание элемента управления ActiveX для SCADA Vijeo Citect с помощью Microsoft Visual C# 2012

Статья представляет собой пошаговое руководство, описывающее создание элемента управления ActiveX с помощью Microsoft Visual C# 2012 и последующего его встраивания в графические страницы SCADA Vijeo Citect

Для кого предназначена статья

Технический уровень статьи предполагает в качестве целевой аудитории SCADA инженеров, системных интеграторов и отдельных разработчиков, которые имеют опыт работы со SCADA Vijeo Citect, опыт программирования на Cicode и опыт использования технологии .NET.

В статье мы будем использовать Microsoft Visual C# 2012 Professional (русская редакция) и SCADA Schneider Electric Vijeo Citect 7.30 (английская редакция). В качестве операционной системы использовалась русская редакция Microsoft Windows 7 Professional Service Pack 1 со всеми обновлениями на момент написания статьи.  

Создание проекта в Visual Studio 2012

Для начала давайте создадим новый проект в Visual Studio 2012 используя шаблон Библиотека классов (Class Library) как показано ниже, на рис. 1. и присвоим ему проекту, например, назовем проект MyFirstActiveX.

Создание нового проекта в Microsoft Visual Studio 2012

Рис. 1. Создание нового проекта в Microsoft Visual Studio 2012

Как только проект будет создан, удалите автоматически созданный файл класса Class1.cs из Обозревателя решений, как показано на рис. 2.

Удаление файла класса Class1.cs из созданного проекта Microsoft Visual Studio 2012

Рис. 2. Удаление файла класса Class1.cs из созданного проекта Microsoft Visual Studio 2012

Определение свойств и методов

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

Чтобы добавить новый интерфейс в проект руководствуйтесь рис. 3 и рис. 4.

Добавление нового элемента в проект Microsoft Visual Studio 2012

Рис. 3. Добавление нового элемента в проект Microsoft Visual Studio 2012

Добавление нового интерфейса в проект Microsoft Visual Studio 2012

Рис. 4. Добавление нового интерфейса в проект Microsoft Visual Studio 2012

К созданному интефейсу теперь необходимо добавить следующие атрибуты:

  • [ComVisible(true)]
  • [InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
  • [Guid("281206BC-9115-44D8-95F9-D9EF76EE27C2")]

Первый атрибут интерфейса делает его «видимым» для контейнера элементов управления ActiveX, которым является Vijeo Citect.

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

Третий атрибут требуется для регистрации интерфейса в системном реестре Windows.

Примечания:

  • Guid должен быть уникальным. Для генерации уникального Guid используйте следующий пункт меню Visual Studio 2012: СЕРВИС->Создать GUID (В утилите выберите пятый формат GUID) или же воспользоваться, например, веб-сайтами, которые позволяют в режиме онлайн сгенерировать Guid.
  • Чтобы эти атрибуты можно было задействовать в нашем проекте необходимо подключить пространство имен System.Runtime.InteropServices. Для этого перейдите в начало файла MyFirstActiveX.cs и добавьте следующую инструкцию: using System.Runtime.InteropServices;

Страницы

Теги: