В статье описан модуль PL302, который позволяет оснастить любое устройство, поддерживающее протокол Modbus, собственным веб-сервером. Наличие веб-сервера дает возможность выполнять настройку, удаленно контролировать текущие параметры и управлять объектом с помощью обычного браузера. Помимо этого, модуль обладает рядом других функций, таких как сбор и архивирование данных на SD-карту, шлюз Modbus TCP – Modbus RTU, связь с внешним сервером сбора данных.
Компания «Планар», г. Пенза

Многие производители оборудования задумывались о необходимости иметь в устройстве веб-сервер для настройки, удаленного контроля и управления. А кому-то очень не хватало сведений о состоянии объекта в момент каких-либо неполадок и аварий при последующем «разборе полетов». Модуль PL302 (рис. 1) позволяет легко решить эти и другие задачи.

Рис. 1. Многофункциональный модуль связи PL302
Перечислим функции устройства:
- сервер сбора данных (концентратор данных). Этот режим работы позволяет вести непрерывный опрос устройств по протоколам Modbus RTU и Modbus TCP, поддерживая в памяти модуля актуальную базу текущих значений параметров;
- шлюз Modbus TCP – Modbus RTU (рис. 2). Позволяет на ходу конвертировать пакеты TCP в RTU и обратно;

Рис. 2. Схема работы шлюза Modbus TCP – Modbus RTU
- архивирование любых данных с Modbus-устройств с сохранением на карту памяти MicroSD и возможностью последующего чтения архивных данных по протоколам Modbus TCP или HTTP (включая визуализацию в виде графиков посредством встроенного веб-сервера);
- встроенный веб-сервер (рис. 3). Позволяет реализовать визуальный интерфейс для контроля и управления удаленным объектом; работа ведется в том числе по защищенному протоколу HTTPS;

Рис. 3. Схема работы встроенного веб-сервера
- подключение в качестве клиента к внешнему серверу мониторинга, с которого выполняется контроль и управление объектом с помощью специализированного ПО (рис. 4).

Рис. 4. Схема работы в режиме подключения к внешнему серверу
Все перечисленные функции могут использоваться по отдельности или в совокупности.
Возможные области применения устройства:
- системы промышленной автоматизации (шлюз, сервер сбора данных);
- промышленные приборы и оборудование (веб-сервер для настройки, шлюз, архивирование данных);
- удаленный мониторинг состояния различных объектов (веб-сервер, внешний сервер мониторинга, архивирование данных);
- система «умный дом» (веб-сервер);
- сбор данных с приборов учета (внешний сервер мониторинга).
Разберем подробнее каждую функцию.
Шлюз Modbus TCP – Modbus RTU
Это самое простое, что может модуль PL302. В данном режиме работы модуль ретранслирует запросы Modbus TCP, поступающие с порта Ethernet, в запросы Modbus RTU (порт RS‑485). Устройство на шине RS‑485, которому адресован запрос, обрабатывает его и отвечает, а модуль PL302 преобразует ответ в формат Modbus TCP и отправляет через порт Ethernet. Таким образом, модуль PL302 является посредником, обеспечивающим прозрачный обмен данными между устройствами, находящимися на разных шинах.
В этом режиме опрос могут вести одновременно несколько Master-устройств, при этом модуль PL302 организует внутреннюю буферизацию и очередь запросов.
Сервер сбора данных
Модуль PL302 позволяет настроить перечень переменных, которые необходимо циклически запрашивать с внешних устройств. Внешними устройствами, например, могут быть специализированные контроллеры или модули ввода/вывода. Значения переменных, полученные с внешних устройств, сохраняются в локальной базе модуля PL302. Когда приходит запрос на чтение этих данных по Modbus TCP, то нужная информация быстро извлекается из локальной базы, без обмена запросом и ответом непосредственно с внешним устройством. Это позволяет значительно увеличить скорость ответа на запросы по Modbus TCP. Внешние устройства могут быть подключены как к порту RS‑485 по протоколу Modbus RTU, так и к порту Ethernet по протоколу Modbus TCP.
Значения, сохраняемые в локальной базе модуля, также могут быть использованы пользовательским веб-сервером. Состав переменных, опрос которых необходимо выполнять, настраивается через встроенный веб-интерфейс модуля. Для этого заполняется таблица опроса модулей (рис. 5). Каждой переменной, помимо прочих параметров, присваивается символьное имя, которое в дальнейшем может использоваться в веб-сервере для получения значения этой переменной.

Рис. 5. Таблица опроса внешних устройств на странице настроек
Архивирование данных
Замечательная возможность модуля – это сохранение данных, собираемых с внешних устройств, на SD-карте. Архивировать разрешается все переменные (кроме массивов и строк), объявленные в таблице опроса на странице конфигурации. В таблице опроса нужно отметить те переменные, значения которых необходимо сохранять в архиве. Добавление новых отсчетов выполняется через равные промежутки времени, составляющие от 1 до 65 535 секунд. Данные, добавляющиеся в архив, сопровождаются меткой времени.
При архивировании данные сохраняются на SD-карте в файлах формата CSV (текстовый файл с разделителями), которые легко открываются на компьютере. Файл можно загрузить на компьютер, как скопировав его с SD-карты, так и скачав через веб-интерфейс модуля. Помимо этого, архивные данные могут запрашиваться у модуля через http-запросы специального формата. Эта функция, например, может использоваться в работе пользовательского веб-сайта для визуализации данных в виде графиков.
Модуль PL302 снабжен часами реального времени с батареей для энергонезависимого питания. При этом он также поддерживает протокол NTP для синхронизации времени с внешними серверами точного времени.
Встроенный веб-сервер
Веб-сервер позволяет создать любой визуальный интерфейс для настройки, мониторинга и управления объектом. А поскольку HTML-страницы хранятся на SD-карте, то размер встроенного сайта будет ограничен только размером карты памяти. Возможности по созданию встроенного сайта практически ничем не ограничены, можно использовать графику, JavaScript, CSS и пр. (нет только возможности использовать скрипты, выполняющиеся на стороне сервера). Работа с переменными ведется по их символьным именам, описанным в таблице опроса, а непосредственно обмен данными между модулем PL302 и внешними устройствами осуществляется прозрачно для веб-сервера.
Для защиты доступа предусмотрено два уровня паролей. Пароль первого уровня защищает доступ к пользовательской части страниц веб-сервера, второго – доступ к настройкам модуля.
Для возможности доступа к устройству из сети Интернет необходимо, чтобы роутеру, через который он подключается, был назначен статический IP-адрес, либо роутер должен поддерживать технологию динамического DNS.
Чтобы продукт можно было легче и быстрее освоить, специалисты нашей компании подготовили пример реализации встроенного веб-сайта, а также пару готовых элементов, которые можно сразу встроить в сайт и получить результат. Это дерево файлов архива, которое позволяет просматривать список и загружать на компьютер архивные данные, а также графики, позволяющие визуализировать как текущие, так и архивные данные.
Подключение к внешнему серверу
В данном режиме работы модуль PL302 самостоятельно устанавливает соединение с внешним компьютером, выполняющим роль сервера. Это может быть обычный персональный компьютер, с которого ведется мониторинг одного или нескольких объектов. После того как будет установлено соединение между PL302 и компьютером, оператор получит возможность контролировать объект и управлять им.
Преимущество данного режима работы состоит в том, что для модуля PL302 не требуется наличия статического IP-адреса в месте установки, а также хорошая защищенность соединения. Это достигается тем, что инициатором соединения является сам модуль PL302, и он подключается к компьютеру-серверу по адресу, установленному заранее. В модуле PL302 обеспечена возможность одновременного подключения сразу к двум удаленным компьютерам.
Статья опубликована в журнале «ИСУП», № 5(59)_2015
А. А. Степанов, генеральный директор,
компания «Планар», г. Пенза,
тел.: (8412) 98-1014,
e-mail: info@planar-smt.ru,