Стартовая >> Документация >> Энергонадзор >> Electro для построения систем учета и контроля

ElectroHost сервер - Electro для построения систем учета и контроля

Оглавление
Electro для построения систем учета и контроля
Установка, программы и драйвера
Комплекс модулей опроса
RepCNF
DBView, LogView
AppName
Примеры, рекомендации, типовые решения
Принципы работы WEB-сервера
Результаты тестирования СУБД
Конфигурирование СУБД
Установка демонстрационной версии
FAQ 1
FAQ 2
FAQ 3
FAQ 5
FAQ 6
FAQ 8
Dll Option перечень ключей
Dll Option - организация опроса устройств
Dll Option - организация опроса счетчиков Elgama
Dll Option - организация опроса устройств Альфа
Dll Option - организация опроса счетчиков Энергия-9,  Облік ЛО-3Т5, корректоров ОЕ-VT, OE-VPT
Dll Option - GPS-Приемник, мультиплексор MX16, ПИК-16
БД ElectroCNF, Electro
БД ElectroCNF, Electro - состав таблиц
Работа с БД ElectroCNF
ElectroHost сервер
ElectroHost сервер - задания, контроль, связь

ElectroHost – сервер системы Electro

1 Общая информация

            Программа ElectroHost.exe является важнейшей частью системы Electro и отвечает за:

  • поддержку клиентов БД и OPC;
  • оповещение о событиях;
  • выполнение назначенных заданий;
  • архивирование данных;
  • Web- контроль;
  • Telnet- контроль;
  • Виртуальный модем.

Как правило, запуск ElectroHost выполняется автоматически, когда какое-либо приложение использует библиотеку Electro.dll. Программа может быть также запущена явно, установлена в Автозапуск и т.п.

Поддержка клиентов

Система Electro предусматривает поддержку распределенной клиент-серверной архитектуры. Для понимания используемого механизма рассмотрим пример с приложением DBView.exe (просмотр БД Electro). Для доступа к данным приложение использует реализованные внутри Electro.dll функции
ODBC_Open(“Electro”)       - подключение к БД Electro
и далее, например
ODBC_Execute(“SELECT * FROM trend WHERE …”)
Эти и подобные им функции (см. документ ElectroCNF.doc) обеспечивают унифицированный интерфейс взаимодействия приложения с БД. Изначально эти функции были реализованы на базе протокола ODBC, о чем напоминает префикс ODBC_ в названиях функций. Впоследствии для наиболее востребованых СУБД (в первую очередь для MySQL) ODBC_*-интерфейс был «заточен» под специфические механизмы взаимодействия. При этом приложению ничего не известно о деталях реализации ODBC_*-интерфейса и даже о типе используемой СУБД (в настоящее время поддерживаются MySQL, MSSQL, MS Access, Informix, Oracle, Interbase, Sybase, Cache).
Другими словами, приложение взаимодействует с абстрактной СУБД через набор функций ODBC_*. Следующий, сетевой, уровень абстрагирования обеспечивается за счет расширенного толкования агрумента функции ODBC_Open(). Так, вызов
ODBC_Open(“%hostname%Electro”)
Указывает что необходимо выполнить подключение к БД Electro расположенной на компьютере с сетевым именем hostname. В этом случае локальная Electro.dll устанавливает сетевое соединение с указанным сервером ElectroHost, который и выполняет функцию ODBC_Open(“Electro”) удаленной Electro.dll для удаленной СУБД. Все последующие вызовы ODBC_*-интерфейса передаются на удаленный ElectroHost, там исполняются; ответ возвращается на локальный компьютер.
В заключение вышесказанного отметим:

  • Приложение абстрагируется от типа и сетевого размещения СУБД. Проще говоря, любое приложение системы Electro может, например, работать с локальной БД MySQL и тут же (либо одновременно) подключиться к удаленной БД Oracle.
  • Между локальным и удаленным компьютером задействуется исключительно протокол системы Electro, базирующийся либо на чистом TCPIP либо на своем собственном протоколе управления звеном передачи данных. Таким образом, подключение к удаленной БД Oracle выполняется исключительно сетевым средствами Electro.

Что касается интерфейса OPC.
В составе программного комплекса имеется модуль ElectroOPC.exe, реализующий функции OPC-сервера согласно спецификации OPC DA v1 & v2 custom interface. Особенностью работы модуля есть то, что он запускается НА КОМПЬЮТЕРЕ КЛИЕНТА и связывается с целевым ElectroHost.exe по «чистому» протоколу TCP/IP, т.е. настройка DCOM не требуется.

Оповещение о событиях

Система Electro имеет гибкий механизм оповещения о возникающих событиях. Любое событие (например «Параметр ХХХ превысил предельное значение» либо «Задание NN не выполнено, код ошибки rrr») сопоставляется с реакцией, список которых доступен для редактирования в Конфигураторе системы:
Оповещение о событиях

В реакции указывается класс события (рабочее (нормальное) событие, предупреждение, тревога, отладочное событие) и указываются основные действия:
Распечатать           - распечатать текст события на системной консоли;
В сист.журнал        - поместить текст в файл системного журнала Electro.log;
Квитировать           - Предпринять действия, заставляющие персонал подтвердить факт прочтения текста события;
На экран                    - поместить текст события в окне «Electro журнал».

Дополнительно может быть указана Группа оповещения, описывающая способ доставки текста события внешними средствами (факс, email, SMS и прочее).
Группы оповещения определяются в файле
Electro/Settings/ElectroHost.ini:

;**********************************************************************
;*   ElectroHost.ini  - файл настроек Electro-сервера (ElectroHost)   *
;**********************************************************************
;
;      ***************************************
;      *  ПРИНЦИПЫ РАБОТЫ СИСТЕМЫ ОПОВЕЩЕНИЯ *
;      ***************************************
;   Для возникающего в системе Электро события ([не]удачно выполненое задание,
; выход аналоговой величины за установленные пределы, аварийный сигнал
; от устройства и т.п.) может быть запрограммирована реакция на оповещение.
;   Например, в свойствах некоторой аналоговой величины м.б. указано, что
; в случае выхода за предел необходимо сгенерировать событие
; "Показание ХХХ превысило лимит" согласно RMATR=2
;  Строка RMATR=2 (либо соотв. элемент в таблице TB_Reactions) определяет что это warning,
; распечатать на принтере и записать в системный журнал. Кроме того поле GROUP=5
; указывает, что необходимо активизировать группу оповещения №5.
;  В таблице TB_Alarms (строки GROUP= соответственно) в общем случае может быть
; несколько элементов с номером 5 что создает необходимые степени свободы
; в программировании реакции - в зависимости от даты и времени суток, одновременное
; оповещение по нескольким каналам и т.п.
;  Например, оказалось что имеется два активных елемента GROUP=5. Первый элемент
; определяет последовательность оповещения "SEQ=2 SEQ=10 SEQ=1", второй -
; "SEQ=11 SEQ=3". Обе последовательности оповещения будут выполняться одновременно
; и независимо друг от друга.
;  Ключ SEQ=2 ссылается на соответствующую строку (элемент таблицы TB_Posts). Эта
; строка, например, указывает что необходимо передать текст события в виде SMS на
; указанный номер. Если попытка передачи неуспешна, выполняется SEQ=10 и т.д.
;
;----------------------------------------------------------------------
;*** GROUP - группы оповещения
; GROUP=g VON=дд/мм/гггг BIS=дд/мм/гггг WEEKDAYS=bbbbbbb SEQ=s1 SEQ=s2 ...
;   bbbbbbb - строка из '0' и '1', соответствует дням недели, начиная с Воскресенья;
;   s1, s2  - номера каналов оповещения.
;
;  В системе может присутствовать несколько одинаковых GROUP=g
; Активными являются те из них, для которых текущая дата попадает
; в интервал [VON;BIS] и день недели разрешен в WEEKDAYS.
;  Для активных элементов последовательно выполняеются оповещения s1, s2 и т.д.
;  Как только некоторое оповещение выполнится успешно, выполнение данной последовательности
; s1,s2.. прекращается.
;  Активные группы оповещения выполняются одновременно и независимо друг от друга.
;
GROUP=0 VON=01/04/2000 BIS=30/12/2001 SEQ=4 SEQ=2
GROUP=1 WEEKDAYS=0111110 VON=01/05/2000 BIS=30/12/2001 SEQ=2
GROUP=2 WEEKDAYS=0111110 VON=01/05/2000 BIS=30/12/2001 SEQ=42
GROUP=3 VON=01/05/2000 BIS=30/12/2001 SEQ=2

GROUP=99 VON=01/04/2000 BIS=31/12/2000 SEQ=5
GROUP=99 VON=01/04/2000 BIS=31/12/2004 SEQ=1
;
;----------------------------------------------------------------------
;*** SEQ - каналы оповещения
; SEQ=s MEDIA=тип MODEM=m WORKZONE=чч:мм-чч:мм LINK=стр RETRY=r AFTER=a
;   s    - уникальный номер канала оповещения;
;   м    - номер модема (идентификатор в таблице TB_Modems)
;           (используется в FAX PAGER VOICE)
;   тип  - FAX PAGER NETSEND SPEAK VOICE MAIL
;   стр  - строка настройки
;   на оповещение дается RETRY попыток, повторяемых через AFTER минут.
;  Канал оповещения активизируется если текущее время попадает в интервал WORKZONE. В противном
; случае оповещение приостанавливается до момента вхождения в WORKZONE.
;
SEQ=1 MEDIA=FAX   MODEM=12 WORKZONE=07:00-22:00 LINK=80442491907 RETRY=3 AFTER=5
SEQ=2 MEDIA=PAGER MODEM=100 WORKZONE=07:00-22:00 LINK=0,01722278010:UCP:01739748614 RETRY=3 AFTER=5
SEQ=3 MEDIA=PAGER MODEM=11 WORKZONE=07:00-22:00 LINK=+38050000501:GSM:+380505141136 RETRY=3 AFTER=5
SEQ=4 MEDIA=NETSEND WORKZONE=07:00-22:00 LINK=GIVC5401 RETRY=3 AFTER=5
;SEQ=5 MEDIA=SPEAK WORKZONE=07:00-22:00 RETRY=3 AFTER=5
;SEQ=5 MEDIA=SPEAK WORKZONE=07:00-22:00 LINK="Adult Female #1 Russian (L&H)" RETRY=3 AFTER=5
SEQ=5 MEDIA=SPEAK WORKZONE=07:00-22:00 LINK="Adult Male #1 Russian (L&H)" RETRY=3 AFTER=5
SEQ=9 MEDIA=MAIL LINK="SMTP=10.17.40.65 TO=otd54@givc.energy.gov.ua FROM=ElectroHost@electro.com"
;

            ElectroHost позволяет использовать следующие способы оповещения (ключ MEDIA в строке SEQ=):
FAX               - посылка текста сообщения в виде факса через факс-модем;
PAGER          - посылка текста сообщения в виде SMS на пэйджер либо мобильный телефон абонента (с использованием GSM-модема);
NETSEND     - посылка текста сообщения через NET SEND (Microsoft Windows);
SPEAK           - проговаривание текста сообщения через звуковую карту компьютера (используется технология text-to-speech (TTS));
MAIL             - посылка текста сообщения в виде электронного письма;
VOICE           - звонок (с помощью voice-модема) на телефон абонента и проговаривание текста сообщения.

Настройка канала оповещения FAX

            Канал FAX использует модем (см. Конфигуратор системы) AT-modem. Важно правильно установить режим управления потоком и скорость, например FLOW=XONXOFF SPEED=14400
В ключе LINK= указывается телефонный номер факса.

Настройка канала оповещения PAGER

            Канал PAGER использует (см. Конфигуратор системы) AT-modem (протоколы UCP, TAP) либо GSM-modem (протокол GSM).
Используется синтаксис
LINK=”PROT=XXX BOX=provider TO=abonent”
Где
provider          - номер телефона оператора сети;
XXX               - тип протокола (UCP, TAP, GSM);
abonent           - номер телефона абонента.

            Настройки для посылки SMS-сообщения c GSM-модема следующие:
С номера UMC
            LINK=”PROT=GSM BOX=+38050000501 TO=+380-абонент”
С номера Киевстар (контрактовые абоненты)
            LINK=”PROT=GSM BOX=+380672020000 TO=+380-абонент”
С номера Киевстар (для абонентов ACE&BASE)
            LINK=”PROT=GSM BOX=+380672021111 TO=+380-абонент”
С номера WellCOM
            LINK=”PROT=GSM BOX=+380683211111 TO=+380-абонент”
С номера GoldenTelecom
            LINK=”PROT=GSM BOX=+380444939908 TO=+380-абонент”

Различные GSM-модемы имеют особенности в части организации посылки SMS-сообщений. Проверить работоспособность модема можно, например, с помощью стандартной программы HyperTerminal. Полезный набор AT-команд (обратитесь также к Руководству по AT­-командам для конкретного модема):

            AT+CMGF   Формат SMS-сообщения

            AT+CMGF=?            запрос списка поддерживаемых форматов.
+CMGF: (0,1)                        ответ модема (1-текстовый режим; 0–режим PDU)

 

            AT+CSCA    Адрес сервисного центра

            AT+CSCA?                                       Запрос
+CSCA: "+38050000501",145          в модеме записан адрес сервисного центра UMC +38050000501
код 145 – это т.н. Service centre address format

AT+CSCA="+38050000501",145    Записываем в модем адрес сервисного центра. Адрес
сохраняется в энергонезависимой памяти.

 

                Система Electro использует режим PDU (AT+CMGF=0). Адрес сервисного центра д.б. заранее установлен.

 

Настройка канала оповещения NETSEND

            Для настройки канала оповещения NETSEND необходимо указать
LINK=имякомпьютера
На компьютерах д.б. запущена служба доставки сообщений (Microsoft Windows).

Настройка канала оповещения SPEAK

            Для настройки канала оповещения SPEAK необходимо указать
LINK=”имя TTS-голоса”
На компьютере должен быть установлен Microsoft Text-To-Speech Engine и соответствующий набор голосов.

Настройка канала оповещения MAIL

            Для настройки канала оповещения MAIL необходимо указать
LINK=”SMTP=server TO=email FROM=email”
Например
LINK=”SMTP=10.17.40.65 TO=xxx@mail.ru FROM=electrohost@mail.ru”

            Каналом оповещения MAIL можно пользоваться для посылки SMS. Для этого в ключе TO= необходимо указывать (xxxxxxx – номер абонента):


Оператор

Email

KyivStar (ASE&BASE)

38067xxxxxxx@2sms.kyivstar.net

KyivStar (Contract)

38067xxxxxxx@sms.kyivstar.net

UMC

38050xxxxxxx@sms.umc.com.ua

WellCom

38068xxxxxxx@sms.welcome2well.com

Golden Telecom

38044xxxxxxx@sms.gt.kiev.ua

Baltcom GSM

371xxxxxxx@sms.baltcom.lv

LMT

371xxxxxxx@smsmail.lmt.lv

 

 

 

 

Настройка канала оповещения VOICE



 
EТ2, EТ3 счетчики »
электрические сети