Коммуникационный сервер
Описание технологии
Пакетная передача данных GPRS имеет большие преимущества перед голосовым каналом CSD, и с развитием сетей связи GPRS сервис постепенно вытесняет Dial-Up соединения.
Основные преимущества пакетной передачи данных:
-
Постоянное соединение;
-
Высокие скорости передачи данных;
-
Возможность более гибко контролировать свои расходы на связь;
-
Возможность одновременного опроса одного устройства с нескольких сторон;
Постоянное соединение устраняет задержки по времени, характерные для «dial-up» соединения, связанные с установлением нового соединения с ответным устройством всякий раз, когда требуется отсылать и получать данные. Информация может передаваться конечному пользователю в режиме реального времени. Серьёзно возрастает скорость передачи данных.
Как известно, технология пакетной передачи GPRS использует в качестве механизма доставки пакетов данных протоколы TCP/IP, в случае применения которых каждому из устройств сети присваивается уникальный IP-адрес. Существует два вида IP-адресов: статические и динамические. Статические IP-адреса могут предоставляться либо Интернет-провайдерами, либо операторами сотовых сетей. Наиболее простой способ получения статических IP-адресов — обратиться к Интернет-провайдеру. У операторов сотовых сетей получить такие адреса зачастую трудно и дорого.
Динамические IP-адреса выдает оператор при подсоединении к сети GPRS и только на время сеанса связи. Если по каким-либо причинам сеанс прервался, то при повторном подсоединении устройство, не имеющее статического IP-адреса, получит новый динамический, отличный от предыдущего. Необходимо упомянуть тот факт, что если устройство, в том числе модем GSM/GPRS, авторизовалось в сети и получило динамический IP-адрес, то для поддержания виртуального GPRS-канала в активном состоянии нужно через определенные временные интервалы передавать сигнальные пакеты на любой известный IP-адрес, иначе оператор разъединит соединение с сетью.
При наличии на опрашиваемом объекте статического IP адреса установить соединение не составит труда, но использование таких адресов весьма затратно, поэтому пользователь стремится использовать SIM-карты с динамическим IP адресом, более дешёвые в эксплуатации. При этом IP адрес опрашиваемого устройства неизвестен и прямое обращение к опрашиваемому объекту становится невозможно.
Для решения проблемы динамических IP адресов разработан специализированный модуль - Коммуникационный Сервер (в дальнейшем по тексту КС). Он выполняет роль связующего звена между удалёнными коммуникаторами.
Как это работает.
Между сервером сбора данных (далее по тексту ССД) и удалённым коммуникатором организуется сервер - посредник, имеющий статический «белый» IP адрес. Данный сервер всегда доступен как ССД, так и удалённому коммуникатору (опрашиваемому прибору).
Удалённые объекты входят в режим работы GPRS, устанавливают "внешние" TCP/IP-соединения с коммуникационным сервером.
После первого подключения объекта к КС ему назначается внутреннее имя, которое далее можно вручную скорректировать.
Сервер Сбора Данных (либо другие модули, запрашивающие данные с удалённых объектов) для получения данных по удаленным объектам устанавливают с КС "внутренние" TCP/IP-соединения, передавая при этом имя соединения. КС передаёт запросы "внутренних" соединений к "внешним", и обратно приходящие ответы.
Рисунок 1. 1-сервер сбора данных, 2-локальная сеть или интернет, 3-коммуникационный сервер, 4-Интернет, 5-удалённый коммуникатор с GSM антенной.
Если компьютер, на котором запущен ССД, имеет фиксированный IP адрес, доступный удалённым коммуникаторам, схему можно сократить, запустив на одном компьютере ССД и КС.
Рисунок 2. 1-сервер сбора данных + коммуникационный сервер, 2-GPRS/Интернет, 3-удалённый коммуникатор с GSM антенной.
Простыми словами, коммуникационный сервер это программное обеспечение, запущенное на компьютере который доступен как серверу сбора данных, так и удалённому опрашиваемому объекту. Коммуникационный сервер принимает входящее соединение от удалённого объекта и назначает ему имя, остающееся неизменным при любом IP адресе объекта. Сервер сбора данных, устанавливая сеанс связи, пользуется данным зафиксированным именем.
Оборудование и протоколы
В качестве удалённого коммуникатора может выступать следующее оборудование:
УСПД “Энтек” ;
УСПД “Меркурий 250” ;
Счётчик ээ “Меркурий” со встроенным GSM/GPRS модемом;
Счётчик ээ “Энергомера” со встроенным GSM/GPRS модемом (СЕ201, СЕ301, СЕ303, СЕ304);
Счётчик "Мир" со встроенным модулем связи, настроенный на протокол СПОДЭС;
GSM шлюз "Меркурий 228";
GPRS терминал TELEOFIS WRX;
Поддерживаются следующие протоколы:
1. Enlogic
2. Меркурий
3. CE
4. Аналитика (GPRS терминал WRX)
5. Телеофис (GPRS терминал WRX)
6. СПОДЭС - МИР (поддержка в ПО V.8 c 16.05.2024)
7. СПОДЭС - Милур (поддержка в ПО V.8 c 16.05.2024)
Программное обеспечение
ПО “Коммуникационный сервер” входит в состав дистрибутива “SCADA система “Энтек””, “Меркурий Энергоучёт” и “ЭНТЕК TEL””, но является опцией. Для запуска использования своего КС необходимо купить лицензию.
Пользователь может бесплатно использовать КС “Энтелс” m2m.smart-grid.ru (при этом устанавливать и запускать на своём компьютере КС не нужно).
При использовании коммуникационного сервера «m2m.smart-grid.ru» пользователь для связи с оборудованием использует интернет.
Использование своего КС даёт возможность администрирования КС и повышает безопасность системы - вместо сети Интернет можно использовать свою закрытую сеть.
Настройка коммуникационного сервера
(Если пользователь использует КС «m2m.smart-grid.ru» и не настраивает свой, данный раздел можно пропустить и сразу переходить на описание настроек УСПД и настроек АСКУЭ.)
Настройки коммуникационного сервера берутся из XML-файла EnComSrv.xml, который расположен в папке \Bin\EnComSrv\ (В старых версиях ПО файл с настройками хранился рядом с исполнительным файлом Bin\EnComSrv.exe)
Внимание! Редактирование файла настроек допустимо только при остановленном КС.
Если КС ещё ни разу не запускался, файл EnComSrv.xml будет отсутствовать в указанной директории. Его можно создать вручную, или скопировать из любого другого проекта.
Есть возможность полу автоматического создания конфигурационного файла.
Запускаем модуль от имени Администратора (это важно) запускаем командную строку Windows, из которой запускаем файл EnComSrv.exe
Используя команду «CD» переходим в папку с установленной программой (в нашем случае это Энтек). Путь к папке содержит пробелы, поэтому заключаем его в кавычки.
И запускаем файл EnComSrv.exe
Запущенная программа определяет что файл с конфигурацией отсутствует и запускает процесс с настройками “по умолчанию”.
Используя комбинацию клавиш CTRL+C корректно завершим работу программы, при этом программа создаёт и сохраняет файл с настройками, для дальнейшего использования.
Внимание! Закрытие приложение нажатием на красную кнопку с крестом не позволит программе создать конфигурационный файл.
Конфигурационный фал создаётся в папке \Bin\EnComSrv\
Также, в этой папке создаётся файл EnComSrv.log, в который будет записываться лог работы КС.
Редактирование конфигурационного файла
Настройки коммуникационного сервера берутся из XML-файла EnComSrv.xml, который лежит рядом с исполнительным файлом Bin\EnComSrv.exe. Основные разделы этого файла:
1)<controlPort> - порт для подключения конфигуратора КС (по-умолчанию 28715)
2)<projectFN> - путь к файлу проекта ЭНТЕК, указание этого пути позволяет КС сохранять сообщения в БД событий проекта
3)<extServers> - количество "внешних" портов и номера ТСР-портов, на которых КС будет принимать входящие соединения от коммуникаторов (по-умолчанию такой порт один и его номер 28815)
4)<extConnThreads> - сколько потоков одновременно будут обслуживать соединения с удалёнными коммуникаторами (по-умолчанию 10)
5)<intServers> - количество "внутренних" портов и номера ТСР-портов, на которых КС будет принимать входящие соединения от ССД и других модулей сбора данных (по-умолчанию такой порт один и его адрес 28915)
6)<intConnThreads> - сколько потоков одновременно будут обслуживать соединения с модулями сбора данных (по-умолчанию 2)
7)<connections> - здесь автоматически сохраняется информация о соединениях, ручное редактирование не требуется
Для типового проекта можно просто скопировать в файл EnComSrv.xml настройки по-умолчанию из Справочной системы: раздел Коммуникационный сервер\Настройка.
Необходимо только заменить путь к рабочему проекту (для того, чтобы сохранять в БД события КС).
Редактируем строку:
<projectFN>C:\ENTEK Projects\РТП-77\entek.epr</projectFN>
В справочной системе подробно расписаны все возможные настройки и их назначение, но для начала можно оставить всё как указано в примере.
Внимание! Редактирование файла настроек допустимо только при остановленном КС.
Сохраним изменения. Теперь КС готов к запуску.
Внимание! Перед началом использования КС необходимо убедиться что указанные TCP порты не закрыты в локальной сети. За информацией и поддержкой обратитесь к системному администратору локальной сети вашего предприятия.
Совет: Редактировать файл EnComSrv.xml удобно в редакторе Notepad++, но можно и в стандартном "Блокноте" Windows.
Пример файла конфигурации КС:
<?xml version="1.0" encoding="windows-1251"?>
<config>
<controlPort>28715</controlPort>
<projectFN>C:\ENTEK Projects\РТП-77\entek.epr</projectFN>
<extServers>
<count>1</count>
<extServer>
<port>28815</port>
</extServer>
</extServers>
<extConnThreads>
<count>2</count>
</extConnThreads>
<intServers>
<count>1</count>
<intServer>
<port>28915</port>
</intServer>
</intServers>
<intConnThreads>
<count>2</count>
</intConnThreads>
</config>
Информация для системного администратора.
Коммуникационный сервер может быть запущен на компьютере с сервером сбора данных, располагаться в локальной сети предприятия, или вообще находиться в любой точке мира. Важно чтобы он был доступен серверу сбора данных и опрашиваемым коммуникаторам.
В настройках по умолчанию используются TCP порты 28715, 28815, 28915. Указанные порты не являются обязательными и вместо указанных можно выделить любые свободные.
Порт 28815 должен быть доступен из внешней сети (на него выходят коммуникаторы), порты 28715 и 28915 служат для внутреннего подключения (На них выходят ССД и конфигуратор КС).
Через коммуникационный сервер пойдёт трафик от всех выходящих на него объектов.
Запуск Коммуникационного сервера
Коммуникационный сервер можно запустить как обычное приложение, либо как сервис.
Рекомендуется эксплуатировать его в режиме службы Windows. Для того, чтобы зарегистрировать КС как службу, надо однократно запустить EnComSrv.exe с ключами командной строки: /registerService /displayName="Entek communication server" /startup=automatic.
(Также, как и в предыдущем случае, запускаем командную строку от имени Администратора.)
Читаем об успешной регистрации службы: «The application has been successfully registered as a service».
После регистрации в стандартном окне Windows "Службы" появится соответствующая служба и возможность изменить её настройки, например, действия в случае сбоя:
После этого службу можно запустить, нажав на кнопку “Запустить”:
Работа КС
Коммуникационный сервер, запущенный в качестве службы Windows не требует никакого обслуживания. Стартует автоматически при запуске операционной системы, принимает входящие "внешние", "внутренние" и "служебные" соединения, принимает и передаёт данные. Действия КС фиксируются в файле EnComSrv.log и (если настроен путь к файлу проекта) в БД событий проекта.
Для контроля работы КС и выполнения некоторых конфигурационных действий используется модуль EnComSrvCfg – Конфигуратор коммуникационного сервера.
Запущенный конфигуратор КС имеет следующий вид:
Рис.N 1-Поле ввода IP адреса КС, 2-Порт для конфигурирования КС, 3-Кнопка подключения к КС, 4-Кнопка отключения от КС, 5-Тайм-аут установки соединения, 6-Панель инструментов, 7-Список объектов зарегистрировавшихся на КС.
Для подключения конфигуратора к КС необходимо указать IP адрес КС и TCP порт, назначенный для подключения Конфигуратора. Нажимаем кнопку "Подключиться". Если КС находится во внешней сети и связь с ним неустойчивая, можно увеличить тайм-аут.
Значение «по умолчанию» 10с.
Если используется коммуникационный сервер «Энтелс», в поле “IP-адрес” указываем m2m.smart-grid.ru, в поле «Порт» прописываем 28715.
При использовании своего КС указываем его IP адрес и прописываем порт указанный в файле настроек КС.
Названия впервые подключившихся объектов формируются из их уникальных идентификаторов.
УСПД выходят на КС под своим серийным номером (серийный номер Энтелс), счётчики ээ и GPRS терминал “Телеофис WRX708” в качестве идентификатора используют последние восемь цифр IMEI.
Для последующего удобства использования рекомендуется по мере подключения объектов к КС сразу же присваивать им названия. Далее эти названия, например, используются при настройке проекта АСКУЭ.
Чтобы изменить имя объекта, нужно выделить его и нажать на правую кнопку мыши. В открывшемся контектсном меню выбрать пункт “Изменить имя” и прописать любое понятное и информативное имя.
Также из контектсного меню доступны следующие команды: “Изменить имя”, “Удалить”, “Очистить статистику”, “Перепрошить ИС”, “Скопировать идентификатор”.
Практически все команды контектсного меню дублируют кнопки панели инструментов:
Рис.N 1-Перезапросить все данные у КС, 2-Изменить название объекта, 3-Удалить соединение, 4-очистить статистику, 5-Запуск программы перепрошивки ИС, 6-Сохранить настройки соединений КС, 7-Экспортировать список соединений в файл формата CSV, 8-Отправить SMS на потерявшим связь УСПД (Только для шлюза Меркурий 228).
Чтобы удалённые коммуникаторы выходили на наш КС, их надо соответствующим образом настроить.
Конфигурирование оборудования
Инструменты для конфигурирования будут зависеть от выбранного оборудования.
УСПД конфигурируются через технологическую платформу EnLogic, для конфигурирования GPRS терминала TELEOFIS WRX708 используем многофункциональную программу “WRX Configuration Tool”. Счётчики электроэнергии и GSM шлюз Меркурий 228 конфигурируются отправкой на них SMS сообщений.
Подробно эти действия рассмотрены в дополнительных инструкциях.