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

Установка, программы и драйвера - 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 сервер - задания, контроль, связь

Комплекс программых средств ELECTRO для построения коммерческих систем учета энергии и диспетчерских систем

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

Комплекс Electro – открытая для адаптации к обьекту внедрения система, позволяющая:
- принимать данные от различных устройств (счетчики учета энергии с интерфейсом удаленного доступа; концентраторы импульсных сигналов типа ЦТ5000, ITEK-210; программируемые логические контроллеры; терминалы телеметрических систем);
- накапливать Базу Данных (БД) с использованием широкого класса Систем Управления Базами Данных (СУБД) – MS Access, MS SQL Server, MySQL server, Borland Interbase server, Sybase SQL Anywhere, Informix, Oracle. Выбор СУБД определяется требованиями к внедряемой системе и возможностями заказчика.
- синхронизировать (реплицировать) БД расположенных на различных серверах (допускается применение различных СУБД).
- поддерживать архитектуру клиент – сервер БД (удаленный доступ).
- разрабатывать произвольные отчетные формы.
- передавать, в согласованном формате, информацию между БД Electro и другими системами.
- обслуживать интернет-клиентов (Electro WEB-сервер).

2.     Установка системы

Настройка комплекса Electro в общем случае включает этапы:
- подключение аппаратуры передачи и пребразования данных (модемы, мультиплексоры);
- настройка сетевых компонент используемых операционных систем (подключение клиентского ПК к серверу через Microsoft Network (TCP/IP));
- настройка используемого SQL-сервера (в настоящее время поддерживаются MS Access, MS SQL Server, Interbase SQL Server; MySQL, Sybase SQL Server);
- настройка ODBC-источника данных на клиентском ПК;
- собственно установка компонент Electro на клиентских ПК и сервере.
Перечисленные этапы описываются в отдельных документах.

3.     Программы и драйвера сбора данных

В данном разделе описываются различные программные компоненты, предназначенные для получения данных из некоторого источника (счетчики, устройства, файлы данных) и записи в БД Electro.
Отдельное место занимает программная компонента NRS, являющаяся также основой для построения диспетчерской ситемы контроля.

3.1.   C300.exe – импорт данных из DGC300

Программа C300.exe обеспечивает перенос данных системы L&G DGC300 (каталоги DATEN, ROUTEN, TARIDAT) в БД Электро.
Программу следует разместить и запускать в каталоге, в котором непосредственно содержатся каталоги DATEN, ROUTEN, TARIDAT.
В каталогах   ROUTEN, TARIDAT обрабатываются файлы с расширением TXT либо ABG. В каталоге DATEN обрабатываются файлы с расширениями ann, где a – латинская буква, символ месяца (A – Янв, B – Февр, C – Март, D – Апрель и т.д.), nn – две последние цифры года. Т.о. файл *.A02 хранит информацию за Январь2002.
Программа запускается командной строкой
C300.exe [DELETE] [NOROUTEN] [NODATEN] [NOTARIDAT]  [SCANONLY] [NOWAIT] [TREND0]
Необязательные ключи запуска:
DELETE       - удалять обработанные файлы. При отсутствии данного ключа в строке запуска обработанные файлы не удаляются. Информация об обработанных файлах заносится в файл PROCESSED.INI (отдельно для каждого каталога);
NOROUTEN            - не обрабатывать каталог ROUTEN;
NODATEN   - не обрабатывать каталог DATEN;
NOTARIDAT- не обрабатывать каталог TARIDAT;
SCANONLY - занесение характеристик параметров в БД ElectroCNF без сохранения значений в БД Electro. Режим используется для ускоренного формирования конфигурации обьекта.
NOWAIT      - однократный запуск программы. После обработки файлов программа завершает работу. При отсутствии данного ключа в строке запуска программа переходит в режим ожидания новых файлов.
ПРИМЕЧАНИЕ. Программа игнорирует системную кнопку [x] и команду Alt+F4 во избежание случайного завершения программы пользователем. Прекратить работу программы можно в Диспетчере Задач (Ctrl+Alt+Del).
Особенностью программы C300.exe является автоматическая генерация конфигурации системы согласно имеющимся в импортируемых файлах данным. Например, при импорте файла
\ENERG#/CTK3-ENERGY9-ZMB4#0(E00002233)#12(01-10-29)
\ENERG#11(11:47:14)#8.1(37310*kWh)#8.2(83799*kWh)
\ENERG#8.3(54228*kWh)#9.1(60466*kWh)#9.2(149037*kWh)
\ENERG#9.3(88744*kWh)#38.1(0*kvarh)#38.2(0*kvarh)
\ENERG#38.3(0*kvarh)#48.1(0*kvarh)#48.2(0*kvarh)
\ENERG#48.3(0*kvarh)#8.1*22(0*kWh)#8.2*22(0*kWh)
\ENERG#8.3*22(0*kWh)#9.1*22(0*kWh)#9.2*22(0*kWh)
\ENERG#9.3*22(0*kWh)#38.1*22(0*kvarh)#38.2*22(0*kvarh)
\ENERG#38.3*22(0*kvarh)#48.1*22(0*kvarh)#48.2*22(0*kvarh)
\ENERG#48.3*22(0*kvarh)#108.1*22(4083*kWh)#108.2*22(9801*kWh)
\ENERG#108.3*22(6543*kWh)#109.1*22(0*kWh)#109.2*22(0*kWh)
\ENERG#109.3*22(0*kWh)#138.1*22(0*kvarh)#138.2*22(0*kvarh)
\ENERG#138.3*22(0*kvarh)#148.1*22(0*kvarh)#148.2*22(0*kvarh)
\ENERG#148.3*22(0*kvarh)#20(175337*kWh)#21(298247*kWh)
\ENERG#22(0*kvarh)#24(0*kvarh)#20*22(0*kWh)
\ENERG#21*22(0*kWh)#22*22(0*kvarh)#24*22(0*kvarh)
\ENERG#120*22(20427*kWh)#121*22(0*kWh)#122*22(0*kvarh)
\ENERG#124*22(0*kvarh)#PC(+730*kW)#QC(+0*kvar)
\ENERG#PI(+728*kW)#QI(+0*kvar)#L.1(7.345*kV)
\ENERG#L.2(0.000*kV)#L.3(0.006*kV)#I.1(99.130*A)
\ENERG#I.2(0.000*A)#I.3(0.000*A)#FRE(49.9*Hz)
\ENERG#71(21)
будет проверено наличие раздела ENERG и счетчика с серийным номером E00002233. Будет проверено наличие всех упоминаемых параметров (“8.3”,  “48.1” и др.) и их размерностей.
Программа воспринимает следующий формат файла (каталоги ROUTEN, TARIDAT):
Имя файла – произвольное.
Расширение имени файла – ABG либо TXT.
Тип файла – текстовый, каждая строка заканчивается комбинацией 0x0D, 0x0A.
Общий формат строки (символы ‘[‘ ‘]’  заключают необязательные поля; ‘…’ – повторяющиеся поля):
[\Группа][#/Тип][#]Параметр[…#Параметр]
где:
Группа        - строка символов (например Z0001, ENERG и т.п.). Указывает что данное устройство принадлежит указанной группе устройств. В случае отсутствия поля Группа по умолчанию принимается значение Z0001. Достаточно наличия поля в одной строке (как правило первой). Если поле встречается в нескольких строках, действительным для данного файла принимается первое упоминание. Программа использует имя группы при автоматической генерации каталога БД Электро.
Тип              - строка символов (например ‘CTK3-ENERGY9-ZMB4’, ‘LGZ4ZMB410CT647.SsE’ и т.п.), тип счетчика. Обычно это поле размещается в первой строке, вслед за полем Группа.
Параметр    - имеет в общем случае формат
          Имя[.Инд][*Сохр](Знач[*Размерность])[(Метка)][“Наим”][@Период]
Где:
Имя                - произвольная комбинация цифр ‘0’..’9’ и латинских букв ‘A’..’Z’ (маленькие буквы автоматически приводятся к большим). Длина – не более 4-x символов. Программа использует специальный алгоритм для преобразования комбинации  Имя[.Индекс][* Сохр] к индексу Карты Памяти Устройства (КПУ, см.далее).
Инд                 - индекс, необязательное поле, целое число от 0 до 99.
Сохр              - необязательное поле, целое число. Признак сохраненного значения параметра в памяти устройства. Отсутствие данного поля говорит о текущем значении параметра.
Знач               - целое или вещественное число, значение параметра. В качестве разделителя дробной части можно использовать ‘.’ или ‘,’.
Размерность - строка смволов, размерность параметра (‘kWh’, ‘kV’ и т.п.).
Метка            - необязательное поле, метка времени в формате ГГ-ММ-ДД ЧЧ:ММ , уточняет поле Сохр
Наим              - необязательное поле, наименование параметра
Период          - необязательное поле, период параметра. Может принимать значения: 0 – непериодичный параметрб 1 – день, 2 - месяц, 3 – квартал, 4 – год, 5 – неделя. Прочие значения указывают период в секундах.

Cимвол ‘#’ используется для разделения нескольких полей в строке.
Таким образом, наряду с вышеприведенным форматом ABG-файла, возможна также запись:
\ENERG#/CTK3-ENERGY9-ZMB4
0(E00002233)
12(01-10-29)
11(11:47:14)
8.1(37310*kWh)
8.2(83799*kWh)
и т.д.

            Обязательные и зарезервированные имена параметров. В общем случае Имя.Индекс не имеет содержательного смысла с точки зрения программы C300.exe. Исключение составляют:
0(СерийныйНомер) - уникальный серийный номер устройства, произвольный текст.
Используется для идентификации устройства в БД Электро; 
00(Идентификатор)  - дополнительный идентификатор устройства;
12(ГГ-ММ-ДД)         - дата генерации ABG-файла;
11(ЧЧ:ММ:СС)         - время генерации ABG-файла.
Параметры 11,12 используются для присвоения метки времени параметрам с текущими значениями;
80(XXXXXX)           - признак начала и описание графика нагрузки.

            Обязательными параметрами ABG-файла являются: 0, 12 и 11.

            Определение метки времени для параметров с сохраненными значениями.
Признаком сохраненного значения является наличие поля *Сохр. Например, имеем фрагмент файла:
12(01-10-29)
11(11:47:14)
8.1(37310*kWh)       - текущее значение на 01-10-29 11:47:14
8.1*22(0)                    - сохраненное значение для интервала Сохр=22. (При отсутствии размерности программа попытается ее определить из других параметров 8.1 данного ABG-файла.)
Интервалы сохранения интерпретируются программой С300 как месячные, причем в общем случае месячный интервал сохранения не совпадает с календаным месяцем. День начала месячного интервала сохранения содержится в поле FirstDay таблицы TB_Devices базы данных ElectroCNF. Например, значение FirstDay=20 определяет, что интервал сохранения начанается 20-го числа месяца и заканчивается 19-м числом следующего месяца.
Программе необходимо определить по значению поля Сохр календарную дату интервала сохранения. Для этого анализируются значения FirstDay, значение параметра 12 и максимальное значение полей Сохр ABG-файла.
Рассмотрим наш пример ABG-файла при условии FirstDay=20. Максимальное значение Сохр равно 22, дата сьема показания – 29 октября 2001г.
Максимальное значение (у нас – 22)  Сохр относится к последнему законченному интервалу сохранения  «Октябрь2001» (20 сентября 2001 – 19 октября 2001). В соответствии с принципами хранения данных в БД Електро сохраненным значениям *22 присваивается метка времени ‘01-окт-2001 00:00:00’.
Параметрам с сохраненными значениями *21 будет присвоена метка времени ‘01-сент-2001 00:00:00’, *20 – ‘01-авг-2001 00:00:00’ и т.д.
Отметим, что если бы значение параметра 12 было бы 01-10-19 (т.е. день месяца меньше FirstDay), то интервалу сохранения *22 соответствовал бы «Сентябрь2001» (метка времени ‘01-сент-2001 00:00:00’).

 

            Алгоритм преобразования Имя[.Индекс][*Сохр] в индекс карты памяти устройства.
Общая информация. Система Электро позволяет поддерживать произвольные устройства сбора данных (электронные счетчики, концентраторы, программируемые логические контроллеры, устройства телемеханики). В основе механизма адресации параметров произвольного устройства лежит модель Карты Памяти Устройства (КПУ).
КПУ – это принятое для системы Электро соглашение о том, каким образом нумеруется (индексируется) совокупность параметров для устройства конкретного типа. КПУ перечисляет все возможные параметры устройства данного типа и каждому параметру сопоставляет уникальный числовой идентификатор – Индекс (четырехбайтовое беззнаковое число), сохраняемый в поле MemInd таблицы TB_Objects.

            КПУ для ABG-файла. В общем случае программе C300 ничего не известно об устройстве, от которого получен данный ABG-файл.
            (ABG-формат используется в счетчиках фирмы L&G. Однако практикуется подход, когда совокупность опрошенных параметров со счетчиков другого производителя (Alpha ABB, Энергия-9) оформляется в виде ABG-файла).
Из ABG-файла программа читает символьное обозначение параметра - Имя[.Индекс][*Сохр]. Данная фраза должна быть преобразована к числовому индексу.
Сразу отметим, что алгоритм преобразования не учитывает значение поля Сохр – важен только факт его наличия\отсутствия. Формула преобразования:
ИндексКПУ = (To40(Имя)*100 + Индекс)*4 + K + 1000
где K принимает значение 0..3:

  • - поле Сохр присутствует;
  • – поле Сохр отсутствует;

2,3       - резервируется для будущего использования.

            Функция To40() интерпретирует символьное Имя как совокупность «цифр» с основанием системы счисления 40 и  преобразует к десятичному числу по правилам:
'0'..'9'   <==> 0..9
'A'..'Z' <==> 11..36
коды 10,37,38,39 зарезервированы.

            Таким образом, любая допустимая фраза Имя[.Индекс][*Сохр] преобразуется к целому числу в диапазоне от 1000 до
((((39*40+39)*40+39)*40+39)*100+99)*4+3+1000 = 1024000999  (0х3D0903E7)

Значения ИндексКПУ в диапазоне от 0 до 999 используется для индексации байт состояния и графиков нагрузки.

3.2.   Maket.exe – импорт макетов 817, 30817

Программа Maket.exe обеспечивает перенос данных макетов обмена информацией в БД Электро. В текущей версии программы поддерживаются макеты 30817, 817.
Программу следует разместить и запускать в каталоге, в котором непосредственно содержится каталог MAKET.
Программа запускается командной строкой
Maket.exe [DELETE] [SCANONLY] [NOWAIT] [TREND0]
Необязательные ключи запуска:
DELETE       - удалять обработанные файлы. При отсутствии данного ключа в строке запуска обработанные файлы не удаляются. Информация об обработанных файлах заносится в файл PROCESSED.INI (отдельно для каждого каталога);
SCANONLY - занесение характеристик параметров в БД ElectroCNF без сохранения значений в БД Electro. Режим используется для ускоренного формирования конфигурации обьекта.
NOWAIT      - однократный запуск программы. После обработки файлов программа завершает работу. При отсутствии данного ключа в строке запуска программа переходит в режим ожидания новых файлов  в каталоге MAKET.

Особенности учета летнего\зимнего времени.
1. В БД Электро метки времени данных указывают время по Гринвичу.
2. В прикладных программах (DBView, RepCnf и др.) гринвичское время преобразуется к локальному времени (учет часового пояса и летнего времени) конкретного компьютера.
3. Система Электро (Electro.DLL) автоматически настраивает компьютер согласно принятых в Украине правил. В случае применения других правил необходимо изменить настройки Electro.DLL.

Компоненты сбора данных (C300.exe, Maket.exe, dll-драйвера) должны обеспечивать правильное формирование метки времени (п.1) в контексте локального компьютера (п.3).

В правилах формирования макета 30817 указано:

  • За сутки перехода на зимнее время необходимо передавать 25 часовых значених по всех показателях и записать значения показателей за время перехода в 25 час.
  • За сутки перехода на летнее время необходимо передать 24 значения по всех показателях. Показатели за час перехода должны равняться нулю.

Пример макета в день перехода на летнее время (31 марта 2002):
//30817:020331:513804:++
(1):2927:1:2:0:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:==
После обработки данного макета в БД Електро будет храниться следующая информация (программа DBView, отображается локальное время):
макет в день перехода на летнее время
Показания за 31.03.2002 02:00:00 отсутствуют, т.к. локальному времени с 02 по 03 часа ночи в день перехода на летнее время нельзя сопоставить значение гринвичского времени.

Пример макета в день перехода на зимнее время (28 октября 2001):
//30817:011028:513811:++
(1):2927:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:==
После обработки данного макета в БД Електро будет храниться следующая информация (программа DBView, отображается локальное время):
макет в день перехода на зимнее время
Для метки времени 28.10.2001 02:00:00 имеется два показания, что соответсвует специфике перехода на зимнее время.

3.3.   CBASE-Reader – прием данных по протоколу ЦBase

Программа DataReader.exe предназначена для опроса устройств ЦТ5000, ITEK-210 и занесения считываемых данных в БД Электро. Описание программы в отдельном документе.



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