Типовое М2М-решение: применение GSM-терминалов Cinterion при контроле за электрогенераторами. Возможности программирования на JAVA

Решение описывает семейство терминалов Cinterion, ориентированных на применение в промышленных устройствах (рассмотрено подключение к гипотетической дизель-генераторной установке) и создающих качественно новую функциональность: контролируемый прибор получает свойства дистанционного управления и контроля, при этом логика работы устройства полностью определяется загруженными мидлетами, программами на Java ME. Приложения можно загружать, обновлять, удалять по радиоканалу, при этом само устройство может находиться в любой точке Земли, требуя только подачи питания и присутствия сигнала сети сотовой связи. Трудоёмкость обслуживания минимизирована, один квалифицированный программист может обслуживать любое количество терминалов.

Современное производство становится всё более безлюдным. Обычная картина сейчас – это завод-автомат, где смена состоит из уборщицы и пары водителей электрокаров для погрузки готовой продукции. Управляется такой завод практически полностью автоматически.

Некоторые особенности нашей жизни привели также к дефициту хороших специалистов по автоматизации. Этих специалистов мало, труд их дорог и, для того чтобы его максимально эффективно использовать, надо создать соответствующую инфраструктуру, которая позволит одному человеку управлять и поддерживать большое количество дистанционно доступных устройств. Элементом такой инфраструктуры являются высококачественные терминалы Cinterion c развитой системой ввода/вывода данных (принимают дискретные, аналоговые, звуковые сигналы) и возможностью программирования на платформе Java ME. Одно из важнейших качеств таких терминалов – тщательно продуманная, доведенная до совершенства система загрузки мидлетов через радиоинтерфейс (OTAP – Over The Air Provisioning).

Устройство состоит из Java платформы с модулями ввода/вывода, в число которых входят модули GSM, USB, RS-232 и GPIO (можно конфигурировать как ASC, DAI, SPI, I²C, ADC). Java используется в версии ME 3.2. Для мидлетов предусмотрено до 8 МБ флеш-памяти и до 6 МБ оперативной памяти. Устройство поддерживает защищённую передачу данных по протоколам HTTPS и SSL, а также многозадачный и многопоточный режим для приложений.

Номер п/п Описание разъёма
1

6-контактный 6P6C-коннектор (f) для подключения блока питания, включение/выключение

2

8-контактный (f) Ethernet-коннектор RJ-45

3

9-контактный (f) D-sub-коннектор (интерфейс RS-232)

4

SMA-коннектор (f) для подключения антенны GPS (в будущих моделях, сейчас недоступен)

5

Считыватель SIM-карт

6

SMA-коннектор (f) для антенны GSM

7

SMA-коннектор для разнесенной антенны (RX) (в будущих моделях, сейчас недоступен)

8

12-контактный и 8-контактный коннектор (m), включая RS-485

9

4-контактный (f) коннектор USB B

Таблица 1. Интерфейсы Java-терминала

 

Модуль/Интерфейс

EHS5T RS-485 и EHS5T-US RS-485

EHS6T USB

BGS5T USB

Интегрированный модуль Cinterion℗

EHS5T-E или EHS5T-US

EHS6

BGS5

RS-232 (Sub-D)

-

+

+

USB (USB B)

+

+

+

Интерфейсы GPIO (разъем для подключения питания, ASC1, DAI, SPI, I²C, RS-485)

+

(кроме SPI)

+

(кроме RS-485)

+

(кроме RS-485 и SPI)

Ethernet (RJ-11)

-

-

-

Подключение питания (RJ-11)

+

+

+

2G/3G-антенна

+

+

+

Таблица 2. Возможные типы интерфейсов для различных терминалов Cinterion

GSM-терминал Cinterion размещен в компактном прочном корпусе размером 113,5 х 75 х 25,5 мм. Внешний вид устройства показан на рисунке 1, а в таблице 1 перечислены все его возможные разъёмы. Набор интерфейсов GSM-терминала зависит от типа примененного GSM-модуля: EHS5T или EHS6T.

У модема EHS5T отсутствует интерфейс RS-232, у EHS6T есть USB, но нет разъёма Ethernet. У всех версий терминала есть интерфейс GPIO (разъём типа Weidmueller), состоящий из двух разъёмов – на 12 и 8 выводов. Интерфейс RS-485 также выведен на этот разъём. Кроме того, имеются разъёмы для SIM-карты, подачи питания и управления (сигнал старта и сигнал сброса) на разъёме типа RJ12 6P6C, для подключения антенны типа SMA (female).

На рисунке 2 представлена блок схема Java-терминала. Она содержит все возможные интерфейсы, на реальном терминале часть из них будет отсутствовать.

Эта схема удобна для Java-программиста, по ней легко понимать взаимодействие блоков терминала и пути информационных потоков. Часть выводов общего назначения (GPIO) можно использовать для интерфейсов I²C, RS-485, SPI, ADC. В терминале предусмотрен один 10-разрядный аналоговый вход с допустимым диапазоном входного напряжения от 0 до 5 В. Также эти выводы при необходимости применяются для выработки аппаратного DWM-сигнала (2 вывода), входа счетчика. 

Терминал может быть подключен к источнику питания с напряжением от 8 до 30 В. Имеются требования к стабильности питания: напряжение должно быть не ниже 7,6 В и не должно изменяться более чем на 1 вольт в режиме работы сотового модуля на передачу. Ток потребления в режиме передачи достигает 1,2 А.

Все терминалы оснащены NTC термистором для контроля внутренней температуры. В случае выхода температуры за пределы допустимого диапазона модуль выключается аналогично командам AT^SMSO. В составе модуля имеется аппаратный сторожевой таймер (watchdog). Его можно запрограммировать на множество различных действий – от рестарта программы через определённое время независимо ни от чего до запуска модуля через заданное время после выключения по температуре.

Также в терминале есть часы реального времени. Напряжение питания для работы этого механизма подается с отдельного стабилизатора.

Терминал поддерживает перезагрузку микрокода управления, но он доступен только локально – для соединения USB или LAN. Конечно, LAN-соединение можно считать локальным весьма условно, но оно требует физического доступа к терминалу.

Подробное описание модуля предоставляется всем клиентам.

Рассмотрим возможный сценарий применения такого терминала для управления генератором электроэнергии. Подобные устройства мощностью приблизительно 1 мегаватт используются для снабжения энергией крупных строек, могут служить как резервный источник питания больших дата-центров, бизнес-центров или магазинов. Все эти предприятия заинтересованы в бесперебойном снабжении энергией своих потребителей, но содержание команды для обслуживания генератора стало бы для них нецелевым расходованием бюджета. Можно представить себе, скажем, услугу по сдаче таких генераторов в аренду с дистанционным контролем состояния дизель-генераторной установки (ДГУ). Можно представить себе и услугу по генерации определенного количества электроэнергии, после выработки которого ДГУ не включается до оплатынового объёма электроэнергии.

Сердцем системы дистанционного управления выступает модуль терминала, а Java-мидлет, загруженный в терминал, обеспечивает следующие возможности:

  • контроль за параметрами вырабатываемой электроэнергии и ее качеством. Для этого терминал подключен к электросчетчику с использованием интерфейса RS-485. Электросчетчик измеряет параметры и количество электроэнергии, отданной во внешнюю сеть от ДГУ;
  • контроль за состоянием собственно ДГУ. Для выполнения этой задачи присоединим некоторые сигналы с панели управления ДГУ к терминалу. Сигнал с аналогового датчика уровня топлива подается на аналоговый вход терминала. Остальные сигналы имеют дискретные значения и подаются на цифровые входы. В ДГУ, особенно мощных, предусмотрены десятки и сотни разнообразных параметров «здоровья» системы. Для нашего случая достаточно упомянуть сигналы выхода за допустимые пределы температуры охлаждающей жидкости, давления масла, оборотов двигателя и перегрузки по току. Будем считать, что в нашем гипотетическом случае эти параметры выведены на панель управления на индикаторные лампы и одновременно – на цифро вые выходы. Эти выходы подсоединены к цифровым входам терминала.

Также на терминал можно завести сигналы с датчика открытия двери, датчика дыма. Обычно мощные ДГУ размещают в защищенных помещениях, и надо контролировать как входную дверь на предмет несанкционированного проникновения, так и возможные возгорания.

Чтобы получить возможность дистанционно останавливать генератор, например, в случае исчерпания предоплаты, используем дискретный вход ДГУ «аварийный останов». На этот вход подадим один из дискретных выходов терминала, и можно использовать этот сигнал для отключения ДГУ дистанционно или программно.

Панель управления ДГУ можно подсоединить к внешнему устройству по каналу RS-232, что позволяет программно из мидлета опрашивать все имеющиеся датчики дизель-генераторной установки и управлять ею.

Java-мидлет будет работать в терминале, опрашивая состояние дискретных входов и одного аналогового входа. Мидлет сможет реагировать на внешние команды по СМС- или по HTTPS-соединению от внешней программы, запущенной на внешнем устройстве, имеющем выход в Интернет.

Мидлет сможет реагировать на дискретные сигналы от датчиков. Например, реагируя на сигнал аварийного давления масла, терминал отправит СМС-сообщение ответственному за эксплуатацию механику. Также возможна передача голосового сообщения в полицию при несанкционированном проникновении в помещение, где расположена дизель-генераторная установка, или в пожарную охрану при срабатывании датчика задымления. Голосовые возможности предусмотрены в терминале, но требуют установки дополнительного цифрового звукового модуля. Естественно, доступны и более простые способы реакции типа сигнального фонаря на кожухе ДГУ или сигнальной сирены, включаемой дискретными выходами.

Возможна также интеграция датчика GPS и ГЛОНАСС, что позволит контролировать физическое расположение ДГУ.

Взаимодействуя с панелью управления ДГУ по каналу RS-232, пользователь получит практически всю информацию о ДГУ – начиная от серийного номера установки и текущих параметров (типа температуры двигателя и давления масла) и заканчивая количеством выработанной энергии. Можно прочитать журнал событий системы, контролировать действия оператора (например, зафиксировать хищение топлива). Предусмотрено и удаленное отключение станции по выбранному сценарию: из-за неоплаты, достижения порогового значения параметров, из-за прохождения технического обслуживания.

Все это доступно при весьма невысоких расходах на связь, около сотни рублей на объект в месяц.

Важно отметить, что терминалы на основе продуктов EHS допускают удаленную загрузку JAVA-мидлетов (механизм OTAP): это и загрузка новых программ, и обновление вер сии, и удаление имеющихся. Подобные режимы дают в руки разработчика Javaмидлетов уникальные возможности по адаптации своего программного обеспечения к нуждам конкретного заказчика. Можно дистанционно и массово обновить все обслуживаемые контроллеры, включить или выключить дополнительные функции, гибко реагируя на запросы заказчика. Обслуживаемый терминал может находиться в любой точке Земли: при наличии сети сотовой связи он будет всегда доступен для контроля и изменений или обновлений. Механизм обновлений мидлетов реализован очень надежно, откат (восстановление предыдущих данных) происходит при любой неудаче во время выполнения обновления. Терминал останется в рабочем состоянии и будет доступен извне при каждой мыслимой ошибке, допущенной во время обновления или последующего неудачного запуска обновленного либо только что загруженного мидлета. Естественно, приняты все меры по защите от несанкционированного доступа (защищенные каналы HTTPS/SSL, парольные защиты на выполнение действий, жесткий протокол).

©ООО «ЕвроМобайл», ИСУП, №3 (57), 2015.