Как я превратил смартфон в Modbus-RTU терминал для RS-485 (плюс нужна ещё коробочка) — АСУ ТП: сообщество инженеров

Как я превратил смартфон в Modbus-RTU терминал для RS-485 (плюс нужна ещё коробочка)

Коротко о статье

Автор рассказывает, как из опыта наладки систем коррозионного мониторинга по RS-485 с Modbus-RTU пришёл к идее использовать смартфон как человеко-машинный интерфейс. В итоге получилась коробочка на ESP8266 с точкой доступа Wi-Fi и веб-приложением для чтения и записи регистров.

Главное
  • СКМ стыковались с телемеханикой через RS-485 и протокол Modbus-RTU.
  • Для диагностики наладчики применяли ноутбук с преобразователем USB→RS-485 и утилитами чтения/записи регистров.
  • Автор счёл нецелесообразным носить ноутбук ради значений двух-байтных регистров и сделал инструмент в форм-факторе мультиметра, что выросло в патент.
  • Позже появилась коробочка с проводом для RS-485, внутри ESP8266 с точкой доступа Wi-Fi и сервером, преобразующим http-запросы в modbus-команды.
  • Интерфейс — единственный html-файл с разметкой, стилями и скриптами, адаптивный за счёт flex; на айфоне в сафари скрипты не исполняются.
  • В интерфейсе есть сессия с логгированием и отправка результата по электронной почте; VBA-форма формирует протокол сессии.
Термины и технологии
  • RS-485
  • Modbus-RTU
  • СКМ
  • ТМ
  • ESP8266
  • http
  • VBA
  • USB→RS-485

Кому полезно: Сервисные инженеры и наладчики АСУ ТП.

По теме на сайте

Первоисточник: habr.com

Выжимка составлена редакцией сайта с помощью ИИ по тексту статьи.

«Что меня не убивает, делает меня сильнее». — Фридрих Ницше

Работаю программистом я немного более трёх лет. До этого более 10 лет трудился в одной известной газовой компании в сфере электрохимической защиты подземных стальных сооружений от коррозии, также электроснабжения и немного автоматики. Была у меня там специализация на ремонте электронных блоков для эксплуатируемого оборудования.

И вот в начале 2010-х строились новые объекты, а на них появились относительно современные на тот момент так называемые системы коррозионного мониторинга.

Тогда я ещё был «синим воротничком» то есть непосредственно трогал всё своими руками.

Так вот на сцену выходят СКМ, по сути это часть автоматизации объекта в срезе ЭХЗ — непосредственные устройства, измеряющие физические параметры и состояние оборудования, и отдающие эти данные в систему телемеханики, а также выполняющие команды, приходящие из ТМ.

СКМ-ки стыковались с ТМ посредством интерфейса RS-485 с использованием протокола Modbus-RTU. Для тех кто знаком с промышленной автоматизацией эти вещи широко известны.

И вот, приезжают наладчики от производителя и пытаются заставить всё это работать, а я с ними таскаюсь по объектам, как представитель эксплуатации. Для диагностики оборудования они подключали ноутбук через преобразователь USB→RS-485 и через свои утилитки читали и писали регистры (этих утилиток общего назначения можно найти в сети достаточно).

Как же я благодарен этим ребятам и производителям оборудования за его невысокую на тот момент надёжность (я так понял что эта линейка оборудования была совсем новой со всеми вытекающими болячками). Железки ломались, наладчики приезжали, меняли, потом ломаться перестали, всё было подписано, но договор на обслуживание заключён не был (на что рассчитывало руководство сказать трудно). Через некоторое время как в старой машине местами начало «сыпаться». И разбираться с этим было поручено мне (электроника же).

Что там было описывать не буду, но это привело меня в итоге к изучению arduino и всякого микро-контроллерного. А тут и программирование понадобилось которым я сильно увлекался в школе (но не поступил на программиста к сожалению после школы).

В общем проблемы в итоге я все порешал. Потом появилась вакансия инженера и сменил воротничок на белый.

В процессе всего этого я пришёл к выводу что таскать с собой ноут ради такой скудной информации как значения двух-байтных регистров нецелесообразно, а умея «ардуинить», я решил сделать себе инструментик для этих целей в форм-факторе мультиметра.

В итоге это выросло в патент.

А так выглядел прототип для выставки инноваций, которая не состоялась из-за ковида.

Из недостатков использование двухстрочного дисплея (у меня были только такие тогда).

Да и вообще основная техническая часть занимает в устройстве меньшую часть чем то что нужно для взаимодействия с пользователем (экран, кнопки).

Вот мы и подошли к сути статейки.

Примерно за год до своего перехода в IT мне пришла идея использовать смартфон в качестве человеко-машинного интерфейса.

Сказано — сделано.

Получилась коробочка с проводом для подключения к оборудованию по RS-485.

Внутри ESP8266. На нём поднимается точка доступа вай-фай и сервер преобразующий http-запросы в modbus-команды.

Подключаем коробочку к железке, включаем, подключаемся смартфоном к точке доступа и открываем приложение.

Собственно приложение это громко сказано. По сути это единственный html-файлик, содержащий сразу разметку стили и скрипты, я постарался сделать его поуниверсальнее, использовал flex.

Как итог, получилась адаптивность (можно и на ноуте юзать, интерфейс тогда делится на две колонки, но это бессмысленно, так как изначальная цель была избавиться от ноута).

Правда на айфоне в сафари не работает, скрипты не исполняются, но у меня андроид хе-хе.

По итогу получилось кошерно. В интерфейсе отображается сессия с практически взрослым логгированием и добавил возможность отправлять результат по электронной почте (другие каналы доставки инфы на рабочее место закрыты безопасниками).

Сделал VBA форму, при помощи которой из результата формировался (конечно, не какой то стандартный) полноценный протокол сессии взаимодействия с оборудованием.

Инструмент может быть полезен сервисным инженерам и наладчикам АСУ ТП.

Источник: https://habr.com/ru/articles/1033290/

🔗 Как я превратил смартфон в Modbus-RTU терминал для RS-485 (плюс нужна ещё коробочка)

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх