вторник, 30 сентября 2014 г.

Multi-Protocol MasterOPC сервер – модульный OPC сервер

3 года назад, наша компания выпустила Modbus Universal MasterOPC сервер. За это время данный сервер успел обновится до третьей версии, и зарекомендовать себя как надежный, быстрый и функциональный инструмент. На основе данного сервера мы разработали ряд других OPC серверов, например, для счетчиков Меркурий и Энергомера, которые также хорошо себя зарекомендовали.
Сегодня мы хотим представить вам нашу новую разработку – Multi-Protocol MasterOPC сервер.
Особенностью нового OPC сервера является модульность – к серверу, подключаются дополнительные модули, обеспечивающие реализацию протокола. Данный сервер, способен в единой среде работать со всеми поддержанными протоколами. При этом, помимо модулей разработки ИнСАТ, есть возможность создания собственных модулей – на языке C++ и встроенном сценарном языке.

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


В настоящий момент к Multi-Protocol MasterOPC доступны три плагина – плагин протокола SNMP, User SCRIPT, User Protocol. Рассмотрим их подробнее.

Плагин протокола SNMP

SNMP – это стандартный интернет-протокол для управления устройствами в IP-сетях на основе архитектур TCP/UDP. Данный протокол используется для мониторинга состояния сетевого оборудования, компьютеров, источников бесперебойного питания и других устройств, входящих в локальную сеть предприятия.
В протоколе SNMP участвуют управляемое устройство с установленным на нем агентом и Система сетевого управления (NMS), которая и занимается мониторингом и управлением устройств. При этом взаимодействие между NMS и устройством может происходить в режиме запроса – NMS передает на устройство запрос чтения или записи, или в режиме Trap – широковещательный пакет устройства, подобные сигналы отправляются устройствами для того, чтобы оповестить о наступлении каких-либо критических событий. Оба режима работы поддержаны в нашем OPC сервере.
Для конфигурирования сервера на режим запроса, указывается IP адрес устройства и используемая версия протокола SNMP. 
После этого в устройство добавляются теги SNMP. Основной тега SNMP является OID - Object ID, уникальный идентификатор объекта в дереве значений SNMP. Каждый OID соответствует какому-либо параметру опрашиваемого устройства (напряжение батареи в ИБП, температура внутри стойки, состояние маршрутизатора и т.д.). OID представляется в числовой форме, например - .1.3.6.1.4.1.318.1.1.8.5.1.7.0

Для определения соответствия номера OID нужному параметру устройства, существуют специальные базы данных, называемыми MIB-файлами. MIB файл поставляется производителем и представляет собой текстовый файл с древовидной структурой всех параметров устройства. Для просмотра MIB файлов существуют специальные программы – OID браузеры, например, iReasoning MIB Browser:
Рассмотрим теперь работу с трапами (Trap). Trap -  пакет, инициативно отправляемый устройством. Как правило, подобные сигналы отправляются устройствами для того, чтобы оповестить о наступлении каких-то критических событий (пропадание сетевого напряжения в ИБП, отказ устройства и т.п.). 
Для работы с Trap, необходимо добавить в плагин специальное устройство.
Добавится устройство, с группой и 4 тегами. 

Тег TrapsCounter выдает количество принятых за все время трапов. 
SCurrentTrap – строк параметров последнего принятого трапа. Этот тег может быть включен как HDA тег, что позволит посмотреть весь архив принятых трапов.
SFailure – строка ошибки. Выдается при некорректной инициализации системы трапов.
Failure – флаг ошибки. Взводится при некорректной инициализации системы трапов.
В устройство можно добавить собственные теги, настроенные на прием определенных трапов.
Помимо стандартных свойств, тег трапа имеет отдельную группу – «Свойства протокола». Данная группа представляет собой фильтр, который позволяет выводить в тег только трапы с определенными параметрами. В частности, можно задать фильтрацию трапа по IP адреса источника, его OID, типу значения и т.д.
Посмотреть информацию на плагин SNMP для Multi-Protocol MasterOPC сервер можно на странице продукта, на нашем сайте:

Плагин пользовательского протокола User SCRIPT

Multi-Protocol MasterOPC сервер имеет встроенный сценарный язык программирования Lua. С помощью Lua можно производить обработку значений, работать с признаками качествами, а также реализовать поддержку собственных протоколов. Помимо возможности выполнить скрипт для различных обработок в узлах устройства и тегов в основных плагинах, сценарный язык выделен в самостоятельный плагин, имеющий возможность непосредственной работы с портами и называемый User SCRIPT.
User SCRIPT имеет 5 вариантов типов узла – COM и COM Slave (для работы с последовательными интерфейсами), TCP/IP и TCP/IP Slave (для работы в сетях Ethernet) и Program (для создания симуляторов, работы с базами данных и т.д.).
Язык программирования эквивалентен использованному в Modbus Universal MasterOPC сервере – аналогичный редактор, синтаксис и функции.

Пользователь, знакомый с Lua в Modbus Universal MasterOPC сервер, без труда сможет решить поставленную задачу и в Multi-Protocol MasterOPC.
Посмотреть информацию по плагину User SCRIPT для Multi-Protocol MasterOPC можно на странице продукта на нашем сайте:

Плагин пользовательского протокола User Protocol

В отличие от User SCRIPT в данном плагине разработка ведется на языке C++. Таким образом пользователю становится доступен весь функционал и библиотеки данного языка, обеспечивающего достижение максимальной производительности драйвера.
Для разработки драйвера в рамках данного плагина пользователю необходимо скачать с сайта специальный OPC сервер – оболочку – Multi-Protocol SDK MasterOPC Server

В комплект OPC сервера также входит специальный конфигуратор протокола – Protocol Maker. Используя конфигуратор происходит создание основы будущего плагина -  с его помощью можно добавить в устройство протокола статические и динамические теги, дополнительные свойства (как к тегам, так и устройству), создать описание драйвера и лицензионное соглашение.

В поставку сервера входят несколько готовых примеров драйверов с открытым кодом, написанных в Visual Studio. Руководство по разработке драйверов включено в справочную систему сервера.

На основе данных примеров, а также используя Protocol-Maker, пользователь сможет создать собственный плагин для сервера. Разработанный плагин можно перенести в Multi-Protocol MasterOPC сервер, после чего пользователь может применять его в собственных проектах. Кроме того, наша компания готова принять разработанные драйверы на реализацию.
Посмотреть информацию по плагину User Protocol для Multi-Protocol MasterOPC можно на странице продукта на нашем сайте:

Лицензионная политика

Multi-Protocol MasterOPC сервер имеет гибкую лицензионную политику. Используется индивидуальный способ лицензирования к каждому плагину, что позволяет оптимально подбирать конфигурацию сервера к каждой задаче. Кроме того, любой из плагинов предоставляется бесплатно с ограничением на 32 тега или одно устройство (в зависимости от способа лицензирования). 
В ключевую версию OPC сервера входят плагин (или плагины) на приобретенное пользователем количество устройств (или тегов). При этом остальные плагины могут также присутствовать и функционировать со стандартным для демонстрационной версии ограничением.
Посмотреть общую информацию по Multi-Protocol MasterOPC, а также скачать бесплатную версию можно со страницы нашего сайта:

Комментариев нет:

Отправить комментарий

Поделиться