Архитектура построения и особенности организации программно-математического обеспечения беспроводной системы передачи телеметрической информации на основе GPRS-модемов нового поколения
Современный существенный рост цен на энерго- и теплоресурсы требует минимизации издержек при их потреблении. К примеру, для большинства промышленных предприятий доля энергоресурсов в себестоимости выпускаемой ими продукции часто составляет 15–35%. При этом многие предприятия до сих пор рассчитываются с поставщиками энергоресурсов либо на основе множества показаний отдельных приборов невысокой точности и надежности, требующих визуального съема данных и зачастую их ручной обработки, либо по суммарной мощности подключенных теплоэлектроустановок и расчетным нормам энергопотребления, что выгодно поставщикам энергоресурсов, но никак не может устроить промышленные предприятия.
С другой стороны, энергетические компании несут большие потери, связанные с элементарным воровством, то есть незаконными подключениями, «отматыванием» показаний счетчиков и т. п. Потери также происходят из-за низкой точности измерений индукционных и импульсных счетчиков (около 4–8% от общего объема потребляемой энергии), из-за временного разрыва между поставкой и оплатой (достигает 1,5–3 месяца), что приводит к потерям 45,3%; за счет воровства (потери в бытовом секторе составляют до 25%); при пиковых нагрузках энергосистемы потери составляют 5–10%. А отсутствие возможности правильно рассчитать баланс энергии по каждому дому, подъезду, квартире приводит к потерям 1–3%. Итого, по подсчетам энергетиков, суммарные потери в энергосистеме составляют 39–51% поставляемой электроэнергии. Единственным выходом из сложившейся ситуации является повсеместное внедрение различных автоматизированных систем коммерческого учета электроэнергии, тепла и воды.
Одной из самых серьезных и актуальных задач при создании автоматизированных систем контроля и учета электроэнергии и тепла является организация каналов передачи данных от различных датчиков и счетчиков до устройств сбора информации, включая диспетчерский или биллинговый центры.
Функциональная схема беспроводной системы передачи телеметрической информации на основе GPRS-модема нового поколения показана на рис. 1.
Центром системы является сервер маршрутизации и сбора данных с установленным на нем специализированным программноматематическим обеспечением (СПМО).
Каналы приема/передачи различной телеметрической информации в прозрачном или пакетном режиме реализуются с помощью GPRS-модемов, устанавливаемых в местах расположения внешнего оборудования.
GPRS-модемы регистрируются в сотовой сети оператора GSM-связи, поддерживающего услугу пакетной передачи данных GPRS. С помощью этой услуги каждый модем получает доступ в Интернет.
Диспетчерский компьютер также имеет доступ в Интернет, при этом неважно, по какой технологии, — главное, чтобы у него был постоянный адрес. Специализированное программно-математическое обеспечение открывает TCP/IP-порт, устанавливает TCP/IP-соединения с GPRS-модемами и осуществляет маршрутизацию данных в системе.
Следует различать два способа организации обмена данными в системе.
В случае, когда обмен данными нужно осуществить между несколькими модемами и СПМО на диспетчерском компьютере (без связи между модемами), СПМО системы обеспечивает прозрачный канал обмена данными между модемами и прикладным программным обеспечением (ПО), установленным на том же компьютере. Поток данных в этом случае показан на рис. 1 стрелками с цифрами 1.
Прямая связь между двумя модемами в системе невозможна, поскольку при каждом выходе в Интернет модемы получают разные IP-адреса и не могут установить прямое TCP/IP-соединение друг с другом. Если в системе требуется связь между отдельными модемами, то она осуществляется с помощью маршрутизации: каждый из модемов устанавливает TCP/IP соединение с СПМО компьютера, имеющего заранее известный и постоянный IP-адрес, а уже СПМО направляет данные требуемому адресату. Поток данных в этом случае показан на рис. 1 стрелками с цифрами 2.
В обоих случаях система обеспечивает прозрачный дуплексный канал обмена данными между внешним оборудованием. Прозрачность в данном случае означает, что прикладное ПО общается напрямую с внешним оборудованием, как если бы это оборудование было подключено напрямую к последовательному порту компьютера. Другими словами, технология передачи данных полностью скрыта от прикладного ПО и внешнего оборудования. Это позволяет строить системы удаленного сбора данных на типовом проводном оборудовании без модификации самого оборудования и без изменений в прикладном ПО.
Рассмотрим более подробно элементы системы. Для каждого зарегистрированного в системе GPRS-модема СПМО при старте создает буфер входных и выходных данных, позволяющий сглаживать последствия возможных разрывов связи с модемом. Буфер накапливает и хранит данные в течение всего сеанса работы СПМО. При подключении GPRS-модема по протоколу TCP/IP создается объект «Интернет-канала», хранящий структуры и переменные, ответственные за работу с модемом через Интернет. Сразу же после подключения происходит проверка наличия накопленных данных для этого модема. Если такие данные присутствуют в буфере, они сразу же передаются в модем через объект «Интернет-канала». СПМО включает в себя драйвер модема, который представляет собой библиотеку функций и типов для управления работой с GPRS-модемом через TCP/IP-соединение и обслуживания буфера данных.
На рис. 2 представлена функциональная схема работы СПМО в режиме маршрутизации между двумя GPRS-модемами. В таком варианте приходящие с GPRS-модема № 1 данные считываются с помощью драйвера, обрабатываются и расшифровываются объектом «Интернет-канала», а затем передаются в буфер данных. При появлении в буфере новых данных они передаются в буфер GPRS-модема № 2, и, если модем подключен к TCP/IP-порту, данные кодируются и передаются в модем объектом «Интернет-канала». Аналогичным образом маршрутизируются данные от GPRS-модема № 2 к модему № 1.
На рис. 3 представлена функциональная схема работы СПМО в режиме маршрутизации между виртуальным портом и GPRS-модемом. В данном случае приходящие от прикладного ПО через виртуальный COM-порт данные помещаются в буфер модема. Если модем подключен по TCP/IP, то данные кодируются и передаются в модем объектом «Интернет-канала». Приходящие от GPRS-модема данные считываются и расшифровываются объектом «Интернет-канала» и буферизируются. Затем из буфера они направляются в виртуальный COM-порт.
Основной единицей системы является GPRS-модем, функциональная схема которого приведена на рис. 4.
Основой модема является микропроцессор AT91SAM75256. Программное обеспечение модема записывается во Flash-память процессора. Процессор содержит также встроенное ОЗУ, используемое как для выполнения программы, так и для организации входного и выходного буфера данных.
Процессор имеет три независимых последовательных порта (UART), два из которых используются для подключения к модему внешнего оборудования (по интерфейсам RS-232 и RS-485), а через третий порт процессор взаимодействует с GSM/GPRS-терминалом Wavecom Q2686.
Для согласования физических уровней интерфейсов RS-232 и RS-485 используются микросхемы преобразователей уровней.
GSM/GPRS-терминал Wavecom Q2686 обеспечивает все необходимые функции для регистрации в GSM-сети оператора связи и установления TCP/IP-соединения по технологии GPRS (встроенный TCP/IP-стек).
С целью упрощения использования модема в простых системах сигнализации предусмотрены три телеметрических входа.
Для хранения конфигурации используется внешняя микросхема ПЗУ по технологии FRAM (FM24CL64), «общение» с которой осуществляется по последовательной шине I2C.
Для питания функциональных частей модема при широком диапазоне входных напряжений (+6…+32 В) используется импульсный формирователь питания на микросхемах LM22680 (формирует напряжение +3,8 В для питания GSM/GPRS-терминала) и ADP3330 (формирует напряжение +3,3 В для питания остальных блоков модема).
При взаимодействии оконечного оборудования системы с ее диспетчерским центром используется протокол взаимодействия, который является упрощенной реализацией высокоуровневой процедуры передачи данных, получившей в литературе название High-Level Data Link Control (HDLC).
Функциональная схема организации программно-математического обеспечения GPRS-модема, который является одним из головных элементов беспроводной системы передачи телеметрической информации, представлена на рис. 5.
Программно-математическое обеспечение GPRS-модема состоит из трех задач:
- основная задача;
- задача обслуживания GSM/GPRS-модема;
- задача поддержания связи между модемом и сервером по протоколу «Интернет-канал», а также обработчиков, обеспечивающих логическое взаимодействие между задачами.
Основная задача
Ключевые функции основной задачи следующие:
- инициализация всех задач, обработчиков и аппаратной части модема в начальное состояние;
- чтение из энергонезависимого ОЗУ (ЭНОЗУ) профиля модема и настройка режима работы модема в соответствии со значениями профиля;
- ожидание событий от обработчика входящих данных и, в случае наличия таковых, запуск задачи обслуживания GSM/GPRS-модема на установление связи с сервером;
- при получении события от обработчика входящих данных на команду конфигурирования модема — вход в режим конфигурации и запуск обработчика команд конфигураций по последовательному порту;
- прием и обработка информации с помощью обработчика команд протокола «Интернет-канал» от задачи поддержания связи между модемом и сервером;
- при наличии данных, предназначенных для передачи оконечному оборудованию, активация обработчика исходящих данных.
Задача обслуживания GSM/GPRS-модема
Основные функции задачи обслуживания GSM/GPRS-модема следующие:
- включение и конфигурация GSM-модема;
- ожидание и поддержание регистрации GSM-модема в GSM-сети;
- открытие GPRS-сессии и последующий анализ ее активности;
- установление соединения с удаленным сервером по протоколу TCP/IP и последующий анализ целостности соединения;
- передача управления задаче поддержания связи между модемом и сервером по протоколу «Интернет-канал» поверх протокола TCP/IP;
- проверка входящих SMS, дешифрация и выдача декодированной информации основной задаче;
- анализ событий от основной задачи на предмет необходимости передачи сообщений в формате SMS с последующим кодированием и передачей их с помощью аппаратуры GSM/GPRS-модема.
Задача поддержания связи между модемом и сервером
Задача поддержания связи между модемом и сервером по протоколу «Интернет-канал» открывает канал связи с сервером по протоколу «Интернет-канал» поверх протокола TCP/IP. Фазе обмена информацией с сервером предшествует процесс авторизации, во время которой происходит создание общего сессионного ключа, необходимого для шифрации/дешифрации потока данных между модемом и сервером.После процесса авторизации осуществляется обмен данными.
Основные функции задачи следующие:
- открытие и поддержание сессии обмена данными между модемом и удаленным сервером;
- прием данных от основной задачи и формирование пакетов в соответствии с протоколом «Интернет-канал» с последующей передачей их по GPRS-каналу;
- прием, декодирование и дешифрация информационных пакетов из GPRS-канала с последующей передачей информации для анализа основной задачей;
- определение отсутствия соединения с удаленным сервером как на физическом, так и на логическом уровнях;
- закрытие соединения как самостоятельно (при потере сигнала), так и по команде от основной задачи, и передача управления задаче облуживания GSM/GPRS-модема.
Помимо трех задач программно-математическое обеспечение модема включает в себя пять основных обработчиков, которые вызываются той или иной задачей.
Обработчик команд протокола «Интернет-канал»
Задача данного обработчика заключается в дешифрации информации, полученной от задачи поддержания связи по протоколу «Интернет-канал», и деинкапсуляции команд конфигурации модема и команд данных, предназначенных для передачи оконечному оборудованию, подключенному к модему. Обработчик также инкапсулирует данные от конечного оборудования и ответы на команды конфигурации модема в единый пакет для дальнейшей передачи его в задачу поддержания связи по протоколу «Интернет-канал».
Обработчик команд конфигураций по последовательному порту
Задача данного обработчика заключается в определении состояния начала конфигурации модема по последовательному порту с дальнейшей обработкой команд конфигурации модема, аналогичных тем, которые могут поступать от удаленного сервера по протоколу «Интернет-канал».
Обработчики входящих/исходящих данных
Функция обработчиков входящих/исходящих данных заключается в обеспечении прозрачного канала связи между основной задачей и обработчиком последовательного интерфейса путем создания и поддержки целостности промежуточных буферов данных.
Обработчик последовательного интерфейса модема
Назначение данного обработчика заключается в мультиплексировании потоков данных с физических интерфейсов модема и последующей передачей их в соответствующие обработчики входящих/исходящих данных.
Таким образом, рассмотренный в рамках настоящей статьи вариант построения беспроводной системы приема/передачи телеметрической информации на основе GPRS-модемов нового поколения служит основой для реализации автоматизированных систем коммерческого учета электроэнергии, городских систем диспетчеризации сбора данных и управления, включая аппаратуру управления освещением городских и региональных электрических сетей, а также аппаратуру метеостанций и систем мониторинга окружающей среды.