Приложение развивается уже довольно давно. Но была одна фича, которой не хватало, чтобы сделать CoreBus по-настоящему универсальным терминалом. Мне об этом писали еще с первых релизов. В личных сообщениях и в комментариях к статьям. Эта идея формулировалась по-разному, но суть была одна.
И поэтому хочу представить вам новый режим — «Modbus мониторинг»!
Но давайте сначала разберемся а из чего получается универсальность моего приложения? Какие потребности оно закрывает?
Глобально тут есть несколько режимов работы:
- Режим «Без протокола»
Это по сути обычный «сырой» терминал. Работает со строками и байтами.
Полезно, когда нужно вручную сформировать пакет, поработать с не Modbus протоколом, отладить какое-то внешнее устройство, воспроизвести баг и т.д. - Режим «Modbus»
В этом режиме приложение значительно упрощает пользователю работу с протоколом Modbus. А также позволяет более детально рассматривать пакеты. Работает через запрос — ответ.
Удобно использовать для изучения, отладки или управления подключенным устройством. - Макросы
Позволяют удобно собрать несколько действий в одну команду.
Можно использовать как решение для автоматизации каких-то процессов: сложной инициализации устройства, управление группой оборудования и т.д. - «Modbus мониторинг»
И наконец новый режим! Он нужен для визуального контроля подключенного устройства.
Удобно использовать для контроля показаний датчиков или контроля состояния внешнего устройства. В этом режиме приложение может работать и в качестве логгера.
А обо всех возможностях приложения вы можете прочитать под спойлером.
Скрытый текст
Основные возможности приложения:
- Три режима работы: «Без протокола», «Modbus» и «Modbus мониторинг».
- «Без протокола»:
- Работа с данными в строковом или байтовом формате.
- Поддержка разных кодировок.
- Три режима отправки: одиночная, цикличная, отправка файла.
- “Modbus”:
- Поддержка различных вариаций протокола Modbus: TCP, RTU, ASCII и RTU / ASCII over TCP.
- Удобная работа с функциями записи.
- Возможность работы с числами типа float.
- Возможность работы с бинарными данными.
- Modbus сканер, который осуществляет поиск устройств на линии связи.
- «Modbus мониторинг»:
- Удобное отображение регистров.
- Конвертация в числовые типы (Int16/32, float, и др.).
- Преобразования по заданной формуле.
- Построение графика в реальном времени.
- Логгер.
- Макросы:
- Отдельные макросы для каждого режима работы.
- Макрос состоит из неограниченного количества команд (действий).
- Для Modbus макросов предусмотрена возможность выставления общего Slave ID для всего макроса.
- Импорт и экспорт макросов.
- Темная и светлая темы приложения.
- Пресеты с пользовательскими настройками.
- Руководство пользователя.
- Кроссплатформенность: Windows, Linux.
А теперь давайте подробнее разберем режим «Modbus мониторинг».
В этом режиме отображаются регистры Modbus. Значения регистров обновляются с заданным периодом. Полученные данные можно легко преобразовать: выбрать тип, применить формулу и отобразить результат в удобном виде или на графике.
Глобально рабочее поле разделено на две части. Верхняя часть отвечает за управление мониторингом. А на нижней находится список опрашиваемых регистров.
Каждая строка в списке это один 16-битный регистр Modbus. Ячейки с цифрами «подсвечиваются» после изменения значения внутри.
Галочки слева отмечают регистр для удаления или просто для визуального выделения среди остальных элементов списка. На картинке выделен регистр с адресом 3.
Пройдемся по всем столбцам:
- Адрес
Содержит в себе адрес регистра. Может иметь формат HEX или DEC. - Псевдоним
Произвольное символьное имя. В случае, если оно будет пустое, то и на графике, и в логе регистр будет иметь имя «Адрес + значение адреса». Например, «Адрес 3», «Адрес 75» и т.д. - Значение
«Сырое» значение регистра. Может иметь формат HEX или DEC. - Типизированное значение
Значение регистра, приведенное к одному из доступных типов. В случае, если тип занимает больше 16 бит, то при преобразовании захватываются еще и следующие значения (как на картинке выше).
Например, тип float занимает 32 бита, значит для приведения значения к этому типу требуется два регистра Modbus. - Преобразованное значение
Типизированное значение, преобразованное по заданной формуле. Формула задается в окне, открывающимся по нажатию на кнопку «f(x)».
В примере на картинке формула «0.5*x». - График / Лог
Это выделение означает, что преобразованное значение этого регистра будет отображаться на графике и записываться в лог.
Приложение может строить подобные графики в реальном времени.
Видеоролики
Лучше один раз увидеть, чем много раз прочитать. Поэтому, начиная с прошлой версии, я стал делать видео с демонстрацией работы приложения.
Вот тут можно посмотреть о режиме «Modbus мониторинг»:
А о макросах и режимах «Modbus» и «Без протокола» тут:
Заключение
В версии 3.4.0 появился новый долгожданный функционал. Подробнее вы можете прочитать во встроенном руководстве пользователя или из видеороликов выше.
Проект развивается благодаря вашей обратной связи и пожертвованиям, которые вы можете сделать, перейдя по этой ссылке:
Приложение доступно по ссылкам ниже:
- Скачать версию для Windows (installer)
- Скачать версию для Windows (portable)
- Скачать версию для Linux (portable)
- Исходный код
Смотрите также:
- CoreBus: Часть 5 — попытка использования Native AOT
- Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 4
- Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 3
- Кроссплатформенный терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 2
- Терминал Modbus TCP / RTU / ASCII с открытым исходным кодом: Часть 1
Источник: https://habr.com/ru/articles/1021344/