Програмне забезпечення Modbus для тестування, моніторингу, симуляції та спільного використання мережі

Modbus

Modbus — це широко використовуваний промисловий комунікаційний протокол, який використовує архітектуру «майстер-слейв» для обміну даними через послідовні з’єднання. Ці з’єднання — RS-485, RS-422 і RS-232, а також мережі TCP/IP.

У цьому посібнику ми порівнюємо найкращі програмні інструменти для тестування Modbus — від професійних платформ до широко використовуваних безплатних альтернатив, щоб ви могли знайти правильний варіант для своїх потреб.

Що таке Modbus? Пояснення основних принципів

Протокол Modbus використовує три режими передавання: 
  • Modbus RTU для двійкового послідовного зв’язку
  • Modbus ASCII для символьного обміну даними та простішого усунення несправностей
  • TCP для зв’язку на основі Ethernet із заголовком MBAP

Мережа Modbus зазвичай працює з одним Майстром, відповідальним за ініціювання зв’язку, і до 247 Ведених, які відповідають на команди.

Тип Що робить
Моніторинг/аналізатор Аналізує живий зв’язок Modbus і декодує трафік, не втручаючись у наявне з’єднання
Розгалужувач Дублює потік даних одного COM-порту, щоб до нього могли одночасно отримувати доступ кілька застосунків
Симулятор майстра та підлеглого Надає емуляцію пристрою Modbus для тестування робочих процесів без потреби у фізичному обладнанні
Спільний доступ TCP Дозволяє віддалено підключатися до локального послідовного пристрою, зробивши його доступним через TCP/IP

Програмне забезпечення для моніторингу Modbus для тестування та діагностики

Ефективний моніторинг живого трафіку Modbus RTU та ASCII потребує спеціалізованого програмного забезпечення, яке може перехоплювати активність COM-порту в режимі реального часу, зберігаючи наявне з’єднання. 

Нижче наведено провідні доступні інструменти:

Монітор послідовного порту

Найкраще підходить для: Розробників та інженерів, яким потрібен моніторинг і аналіз у реальному часі живого зв’язку Modbus RTU/ASCII на послідовних портах без впливу на активне підключення.

Аналізатор протоколу Modbus пропонує зручний спосіб виявляти можливі проблеми під час розробки застосунку або драйвера, тестувати й оптимізувати послідовні пристрої тощо.

Ключові функції:

  • Підключайтеся до послідовного порту, який уже використовується іншою програмою, і починайте моніторинг безпосередньо там. Усі дані, отримані портом, відображаються в реальному часі для негайного відстеження будь-яких можливих проблем.
  • Відстежуйте кілька послідовних портів одночасно. Ви можете синхронно аналізувати активність кількох портів Modbus в одному сеансі. Дані, що передаються в обох напрямках, зручно записуються в один журнал за принципом «першим прийшов — першим пішов».
  • Переглядайте захоплені дані у вигляді таблиці, термінала, рядка та дампа одночасно. Ви можете використовувати різні фільтри для точного моніторингу.
  • Емулюйте передачу даних на послідовний пристрій, щоб побачити, як саме він реагуватиме на конкретні команди.


Дізнайтеся, як декодувати повідомлення Modbus, тут.

Протоколи: протоколи Modbus RTU та Modbus ASCII, що працюють через RS-232, RS-422 і RS-485.

Платформа: сумісний із Windows 7/8/8.1/10/11 у 32- і 64-розрядних версіях, а також Windows Server 2012, 2016, 2019 і Windows на ARM.

Ціна: доступний за платною ліцензією у редакціях Standard, Professional і Company, з включеною безкоштовною пробною версією.

Переваги

  • Підтримує ненав’язливий моніторинг через порти, які вже відкриті
  • Можливість працювати з кількома портами одночасно
  • Містить вбудований декодер Modbus зі спеціалізованим поданням моніторингу Modbus
  • Включає функціональність відтворення сеансу
  • Працює з усіма типами COM-портів, такими як адаптери USB-to-RS232 та RS485

Недоліки

  • Обмежено лише системами Windows
  • Розроблено лише для моніторингу послідовного порту, без підтримки Modbus TCP

Modbus Poll

Найкраще підходить для: техніків та інженерів з автоматизації, яким потрібні побудова графіків у реальному часі, багатовіконний моніторинг і журналювання даних у надійному симуляторі головного пристрою Modbus.

Modbus Poll

Modbus Poll — це популярний застосунок для Windows для моніторингу Modbus у реальному часі та симуляції майстра. Він добре працює з Modbus RTU, ASCII та TCP/IP, дозволяючи користувачам читати й записувати регістри, візуалізувати дані в реальному часі та опитувати пристрої slave. 

Інтерфейс із кількома документами дає змогу одночасно відкривати кілька незалежних вікон опитування, кожне з яких зосереджене на різних slave або групах регістрів. Понад 20 років у галузі зробили його фактичним стандартним інструментом для інженерів з автоматизації по всьому світу.

Функції

  • Підтримує інтерфейс із кількома документами, що дає змогу одночасно моніторити кілька slave у окремих вікнах
  • Забезпечує візуалізацію даних у реальному часі за допомогою діаграм, індикаторів і графіків
  • Містить можливості журналювання даних із параметрами експорту в CSV та Excel
  • Пропонує повне покриття функціональних кодів Modbus
  • Дозволяє інжекцію помилок для тестування та аналізу обробки помилок slave
  • Надає доступ через командний рядок і інтеграцію DLL для підтримки сценаріїв автоматизації


Протоколи: Сумісний зі стандартами зв’язку Modbus RTU, ASCII, TCP/IP та UDP.

Платформа: Windows.

Ціна: Доступний із 14-денним безкоштовним пробним періодом і однокористувацькою ліцензією за ціною приблизно $99.

Переваги

  • Вважається галузевим стандартом для тестування та діагностики
  • Підтримує багатовіконне опитування для одночасного моніторингу
  • Багатофункціональний інструмент візуалізації
  • Сумісний з кожним кодом функції Modbus
  • Відомий надійністю та якісною документацією

Недоліки

  • Доступно лише для Windows
  • Інтерфейс може здаватися візуально застарілим
  • Може бути складно вивчити користувачам, які не знайомі зі скриптингом
  • Діє як активний майстер Modbus замість функціонування як пасивний інструмент моніторингу

QModMaster

Найкраще підходить для: Розробників та інженерів, які шукають надійний, безкоштовний Modbus master із можливостями моніторингу шини, що підтримує Windows і Linux.

QModMaster

QModMaster надає безкоштовне середовище з відкритим вихідним кодом на базі Qt для роботи з протоколами Modbus TCP/IP, RTU та ASCII у системах Windows і Linux. Воно дозволяє інженерам і розробникам контролювати дані з котушок, регістрів зберігання, вхідних регістрів і дискретних входів, виконувати операції читання або запису та підключатися до підлеглих пристроїв Modbus.

QModMaster пропонує вбудований монітор шини для аналізу всього трафіку на шині, побудови графіків регістрів у реальному часі та вбудовування Perl-скриптингу для запуску автоматизованих послідовностей тестування.

Функції

  • Має вбудований монітор для перегляду всього трафіку шини Modbus у режимі реального часу
  • Підтримує операції читання та запису для котушок, регістрів зберігання, вхідних регістрів і дискретних входів
  • Забезпечує візуалізацію значень регістрів у режимі реального часу
  • Підтримує автоматизовані тестові послідовності через інтегрований рушій сценаріїв Perl
  • Працює у Windows без встановлення, що дозволяє користувачам розпакувати та одразу використовувати


Протоколи: Сумісний зі стандартами зв’язку Modbus RTU, ASCII та TCP/IP.

Платформа: Windows і Linux.

Ціна: Доступне як безкоштовне програмне забезпечення з відкритим кодом за ліцензією GPL.

Переваги

  • Доступно безкоштовно
  • Працює на кількох операційних системах
  • Постачається з функцією моніторингу автобусів
  • Включає можливості написання сценаріїв
  • Можна використовувати одразу без встановлення

Недоліки

  • Пропонує простіший, менш відшліфований інтерфейс користувача порівняно з комерційним програмним забезпеченням
  • Забезпечує обмежену офіційну підтримку від розробника
  • Не включає відтворення сесій або розширені можливості експорту даних

Програмне рішення для розділення даних Modbus

На практиці один фізичний COM-порт може приймати дані Modbus, які кільком застосункам потрібно обробляти одночасно. Однак послідовні порти не підтримують це нативно, оскільки до порту одночасно може отримати доступ лише один застосунок. Спеціальне програмне забезпечення Modbus splitter розв’язує цю проблему, створюючи кілька віртуальних копій порту та дублюючи вхідні дані, щоб кожен застосунок отримував їх.

Віртуальний драйвер послідовного порту

Найкраще підходить для: Розробників та інженерів, яким потрібен розподіл даних Modbus RTU з одного фізичного COM-порту до кількох застосунків одночасно.

Virtual COM Port Driver від Electronic Team, ймовірно, є найоптимальнішим рішенням для цього завдання. Програма працює як розгалужувач послідовних портів, здатний дублювати дані, що надходять в один COM-порт, на необмежену кількість реальних і віртуальних послідовних інтерфейсів. Virtual COM Port Driver допоможе вам створити у вашій системі стільки віртуальних портів RS485 (RS232, RS422), скільки потрібно. Тож якщо ви хочете, щоб ваш трафік Modbus одночасно отримували кілька застосунків, ви можете просто створити віртуальні копії приймального COM-порту майстра та підключити до них потрібні застосунки. Virtual COM Port Driver дублюватиме трафік на всі віртуальні копії реального COM-порту, і таким чином кілька застосунків зможуть отримувати одні й ті самі дані одночасно.

Функції

  • Налаштовуйте на ПК кілька пар віртуальних COM-портів
  • Дозволяє одному фізичному COM-порту розподіляти ті самі дані Modbus між кількома застосунками паралельно
  • Підтримує емуляцію петльових (loopback) з’єднань і сучасних модемних або лінійних сигналів телефонної трубки
  • Об’єднує кілька COM-портів в уніфікований віртуальний інтерфейс


Протоколи: Сумісний із Modbus RTU та Modbus ASCII з використанням RS-232, RS-422 і RS-485.

Платформа: Працює на Windows XP, Vista, 7, 8, 8.1, 10, 11 у 32- та 64-бітних версіях, а також Windows Server 2003–2019.

Ціна: Комерційне програмне забезпечення доступне у редакціях Standard і PRO, також доступна безкоштовна пробна версія.

Переваги

  • Немає обмежень на створення пар віртуальних COM-портів
  • Підтримує дублювання даних у реальному часі для кількох застосунків одночасно
  • Підтримує loopback та емуляцію лінії зв’язку
  • Повністю програмний; апаратне забезпечення не потрібне
  • Створено для надійної роботи на рівні драйверів

Недоліки

  • Призначено лише для платформ Windows
  • Обмежено комунікаціями через послідовний порт, без підтримки Modbus TCP

com0com

Найкраще підходить для: Розробників, які шукають безкоштовний віртуальний емулятор нуль-модема для простого тестування та використання в розробці.

com0com

com0com — це безкоштовний драйвер віртуального послідовного порту режиму ядра Windows із відкритим вихідним кодом. Він створює пари віртуальних COM-портів і з’єднує їх через віртуальний нуль-модемний кабель. Таким чином, дві програми можуть спілкуватися одна з одною так само, як і через реальне послідовне з’єднання. Ви можете налаштувати його або через командний рядок, або за допомогою простого GUI-інсталятора.

Функції

  • Генерує пари віртуальних COM-портів, наприклад COM5 ↔ COM6
  • Використовує драйвер режиму ядра для підтримки низькорівневої сумісності
  • Підтримує встановлення через простий GUI та налаштування через командний рядок


Протоколи: Сумісний із будь-яким послідовним протоколом, таким як Modbus RTU та ASCII.

Платформа: Windows.

Ціна: Доступний як безкоштовний і з відкритим вихідним кодом.

Переваги

  • Безкоштовно
  • Створено для надійної стабільності на рівні ядра
  • Зазвичай використовується в середовищах розробки програмного забезпечення

Недоліки

  • Підтримується лише одноцільовий вихід без розподілу на кілька цілей
  • Не підтримує функціональність емуляції loopback
  • Графічний інтерфейс для керування не передбачено
  • Не включає офіційну підтримку постачальника
  • Не призначено для виробничих сценаріїв використання Modbus
  • Може знадобитися вимкнення примусового застосування підпису драйверів або ввімкнення тестового режиму Windows

Програмне забезпечення Modbus TCP для мережевого спільного використання послідовних пристроїв

У промислових умовах пристрій Modbus RTU фізично підключається до одного ПК через послідовний порт, тоді як кільком мережевим користувачам або системам потрібно отримувати до нього доступ одночасно. Modbus TCP вирішує це, перетворюючи послідовне RTU-з’єднання на потік TCP/IP. Це робить пристрій доступним для всіх клієнтів у мережі.

Послідовний конектор до Ethernet

Найкраще підходить для: Інженерів, яким потрібно забезпечити доступ TCP/IP до локально підключеного послідовного пристрою Modbus RTU для кількох віддалених користувачів або застосунків.

Конектор Serial to Ethernet від Electronic Team — це популярний програмний застосунок, призначений для спільного доступу до даних із локально підключеного послідовного пристрою Modbus через мережу Ethernet. Він дає змогу користувачам мережі спілкуватися з пристроєм так, ніби вони підключені локально, використовуючи віртуальний COM-порт на власному комп’ютері. 

Serial to Ethernet Connector може одночасно забезпечувати спільний доступ до понад 255 пристроїв, підключених до послідовних портів. Він працює як служба Windows у фоновому режимі, тож застосунок не потрібно тримати відкритим. Система автоматично переналаштовує всі з’єднання після перезавантаження системи.

Функції

  • Надає можливість спільного доступу до локально підключених послідовних пристроїв Modbus RTU через UDP або TCP/IP
  • Підключення від віддалених клієнтів здійснюються через віртуальний COM-порт, зберігаючи повну функціональність пристрою
  • Дозволяє одному порту одночасно обслуговувати кількох клієнтів із налаштовуваними правами читання та запису для кожного клієнта
  • Буферизує дані при втраті з’єднання та автоматично надсилає їх після відновлення з’єднання
  • Працює у фоновому режимі як служба Windows без необхідності тримати застосунок відкритим
  • Автоматично відновлює з’єднання протягом заданого користувачем часу очікування
  • Підтримує протоколи обміну даними RAW та Telnet (RFC 2217)
  • Містить шифрування трафіку та захист паролем для безпечного зв’язку
  • Розроблено для використання в середовищах Windows і Linux
  • Дозволяє експортувати та імпортувати конфігурації, забезпечуючи просту міграцію на інший комп’ютер


Протоколи: Підтримує перетворення Modbus RTU у Modbus TCP/IP та UDP для послідовного-з-мережевим зв’язку.

Платформа:

  • Працює на Windows 7 SP1, 8, 10, 11 у 32- і 64-розрядних версіях, Windows Server 2008 R2 SP1–2022, а також Windows 10 і 11 на ARM
  • Повна версія для Linux (повне видання)


Ціна: Доступно за платною ліцензією та включає 14-денну безкоштовну пробну версію.

Переваги

  • Підтримує понад 255 пристроїв
  • Працює як служба Windows
  • Підтримує буферизацію даних у разі втрати з’єднання
  • Керуйте доступом на читання/запис для кожного клієнта окремо
  • Підтримує шифрування трафіку
  • Розроблено для використання в середовищах Linux і Windows
  • Віддалені клієнти зберігають повну функціональність послідовного порту через віртуальний COM-порт

Недоліки

  • Програмне забезпечення потребує встановлення на серверних і клієнтських системах

Симулятори Modbus Master і Slave

Під час розробки моделювання Modbus є необхідним. Воно дає змогу тестувати системи master і slave на віртуальних аналогах без потреби у фізичному обладнанні з обох боків.

Simply Modbus

Найкраще підходить для: Інженерів, які шукають простий і доступний пакет для Windows, що підтримує симуляцію Modbus master і slave як через TCP, так і через RTU.

Simply Modbus

Створений для Windows, Simply Modbus пропонує набір інструментів для тестування, симуляції та моніторингу послідовних протоколів Modbus TCP/IP і RTU/ASCII. Він надає симулятор Modbus Master, Poll Manager для безперервного опитування регістрів у реальному часі, симулятор Modbus Slave та Data Recorder для журналювання трафіку Modbus. Інтерфейс зберігає все простим і мінімалістичним. Ви просто налаштовуєте з’єднання, обираєте коди функцій і запускаєте обмін даними з мінімальним налаштуванням.

Функції

  • Симулятори Modbus Master і Slave в одному наборі
  • Має менеджер опитування для безперервного опитування та відображення регістрів у реальному часі
  • Має реєстратор даних для запису трафіку Modbus у файли
  • Дозволяє кілька форматів даних із незалежною конфігурацією для кожного регістру
  • Підтримує симуляцію Modbus RTU через послідовний порт і симуляцію Modbus TCP через Ethernet


Протоколи: Сумісний із протоколами Modbus RTU, ASCII та TCP/IP.

Платформа: Windows.

Ціна: Доступний за платною ліцензією з економічно вигідними планами для одного користувача та додатковою сайтовою ліцензією.

Переваги

  • Включає і master, і slave в одному пакеті
  • Простий і зосереджений інтерфейс
  • Бюджетний
  • Налаштування форматів даних для кожного регістру окремо
  • Доступно з опцією ліцензії для сайту

Недоліки

  • Інтерфейс виглядає застарілим
  • Доступно лише для Windows
  • Забезпечує базову підтримку написання скриптів і автоматизації

Modbus Slave

Найкраще підходить для: Інженерів з автоматизації та розробників, яким потрібно запускати кілька симуляцій slave Modbus паралельно для комплексного тестування програмного забезпечення master.

Modbus Slave

Modbus Slave від Witte Software слугує професійним аналогом Modbus Poll. Він може одночасно запускати до 100 незалежних вікон slave з багатовіконним інтерфейсом (MDI), кожне з яких підтримує власну адресу, карту регістрів і значення даних.

Modbus Slave інтегрується з Excel через OLE-автоматизацію, що дає змогу створювати структуровані тестові сценарії, у яких значення регістрів відповідають сценаріям або наборам даних.

Функції

  • Підтримує до 100 одночасних вікон slave, причому кожне вікно налаштовується незалежно
  • Інтеграція з Excel через OLE-автоматизацію дозволяє використовувати скриптові тестові дані
  • Підтримує моделювання відповіді з винятком для тестування обробки помилок master
  • Сумісний із протоколами Modbus RTU, ASCII, TCP та UDP
  • Включає 30-денну безкоштовну пробну версію


Протоколи: Сумісний із Modbus RTU, ASCII, TCP/IP та UDP.

Платформа: Windows

Ціна: Доступний із 30-денною безкоштовною пробною версією та однокористувацькою ліцензією за ціною близько $99

Переваги

  • Підтримує до 100 підлеглих Windows
  • Забезпечує інтеграцію з Excel через OLE
  • Забезпечує підтримку всіх варіантів Modbus, таких як RTU, ASCII, TCP/IP та UDP
  • Надійний постачальник

Недоліки

  • Доступно лише для Windows
  • Потрібна платна ліцензія
  • Використовує інтерфейс користувача старого зразка

Який інструмент Modbus відповідає вашим потребам?

Існує багато інструментів Modbus, і найкращий залежить від вашого конкретного завдання. Якщо вам потрібен пасивний монітор для послідовного трафіку або ви хочете симулювати апаратне забезпечення, спільно використовувати пристрій через мережу чи активно тестувати пристрій, для кожного сценарію існує спеціально створене рішення. 

Перегляньте таблицю нижче, щоб швидко знайти потрібний варіант для ваших потреб.

Завдання Найкращий інструмент
Для моніторингу трафіку RTU/ASCII у реальному часі, не перериваючи з’єднання Serial Port Monitor
Для надсилання запитів до підлеглого пристрою Modbus Modbus Poll
Для роботи як підлеглий пристрій для імітації датчика або ПЛК Simply Modbus Slave
Для спільного використання одного послідовного порту кількома застосунками одночасно Virtual Serial Port Driver
Для підключення до послідовного пристрою через віддалену мережу TCP/IP Serial to Ethernet Connector
Для виявлення та усунення помилок кадрів Modbus, таких як CRC, код функції та проблеми з некоректними відповідями Serial Port Monitor
Безкоштовний інструмент для простого тестування або навчальних цілей QModMaster

Часті запитання

QModMaster — популярний безкоштовний інструмент Modbus, який підтримує RTU і TCP, працює в системах Windows і Linux та має вбудований монітор шини. ModPoll — легка безкоштовна CLI-альтернатива. Для неінвазивного моніторингу або вбудованого декодування кадрів Modbus Serial Port Monitor від Eltima пропонує 14-денну безкоштовну пробну версію.

Modbus RTU використовує послідовний зв’язок, такий як RS-232 і RS-485, для передавання даних у двійковій формі. Натомість Modbus TCP використовує Ethernet і TCP/IP для роботи за тим самим протоколом і замінює послідовне кадрування 6-байтовим заголовком MBAP. Більшість сучасних інструментів сумісні з обома варіантами.

Serial Port Monitor від Eltima підтримує неінвазивне підключення до активних COM-портів і захоплює трафік Modbus у режимі реального часу, не впливаючи на застосунок, який використовує порт.

Ви можете використовувати симулятор майстра Modbus, наприклад безкоштовний QModMaster або Modbus Poll, щоб протестувати пристрій slave. Це допомагає читати holding registers, підключатися до пристрою через TCP або послідовний порт і порівнювати відповіді з очікуваними значеннями. QModMaster містить вбудовані Perl-скрипти для автоматизованих послідовностей тестування.

Послідовні порти не підтримують це нативно, оскільки лише один застосунок може використовувати порт одночасно. Virtual Serial Port Driver від Eltima дублює послідовний порт і доставляє вхідні дані до кожного підключеного застосунку в режимі реального часу.

Modbus Poll функціонує як активний симулятор майстра для надсилання запитів до підлеглих пристроїв і перегляду відповідей. Serial Port Monitor функціонує як пасивний аналізатор для перехоплення та декодування трафіку на активних послідовних з’єднаннях без надсилання запитів. Хоча вони виконують різні завдання, їх часто поєднують у робочих процесах розробки.