Modbus TCP симулятор Windows/Linux

Я ищу хороший симулятор Modbus over TCP с графическим интерфейсом, чтобы примерить два отдельных компьютера (один мастер, другой как подчиненный). Я нашел только SimplyModbus, но этот действует только как мастер. Любые рекомендации?

4 ответа

Решение

Вы можете попробовать тестер протокола Modbus (мастер), который можно бесплатно скачать здесь: http://www.colwaysolutions.com/modbus-protocol-tester.php

Для ведомого устройства вы можете найти реализацию ведомого Modbus RTU и TCP в форме исходного кода 'C' на http://www.colwaysolutions.com/.

Поскольку реализация находится в ANSI 'C', вы можете легко перенести ее на любой контроллер.

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

Read Coils(0x01),

Read Discrete Input(0x02),

Read Holding register(0x03),

Read Input register(0x04),

write single coil(0x05),

write multiple coils(0x0F),

write multiple registers(0x10),

write single register(0x06),

Read exception status(0x07),

Report slave ID(0x11),

Read/write multiple registers(0x17)

Они также предоставляют услуги портирования для переноса библиотеки на вашу доску и работы с минимальными затратами.

С помощью Modbus Protocol tester (master) а также WIN32(C source code) Modbus slave, вы можете установить клиент / сервер Modbus связь между двумя разными ПК.

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

В итоге я создал графический интерфейс на основе Java для устранения неполадок Modbus RTU и TCP, который теперь известен как ModbusMechanic.

Он имеет симулятор главного и подчиненного устройства, шлюз TCP->RTU, сканер узлов RTU, анализатор шины RTU и может выступать в качестве моста между Ethernet / IP и Modbus.

https://modbusmechanic.scifidryer.com

http://www.modbustools.com/download.html
У них есть и опрос Modbus и симулятор ведомого Modbus. Бесплатно для ознакомления.

Есть бесплатный инструмент симуляции ведомого Modbus RTU/TCP, который называется Unslave.

Вместо графического интерфейса он поддерживает простую конфигурацию на основе JSON, где вы настраиваете подчиненные устройства следующим образом:

"slaves": {
    "1": {
        "isOnline": true,
        "registers": {
            "HR0": 1,
            "HR10": "0x0A",
            "C0": true,
            "C999": {exception: 3}
        }
    }
}

Он также показывает журналы всех сообщений по ссылке для упрощения отладки:

2017/06/06 17:21:54.310 - TRACE: Byte received: 1. Total: 1
2017/06/06 17:21:54.310 - TRACE: Byte received: 3. Total: 2
2017/06/06 17:21:54.310 - TRACE: Byte received: 0. Total: 3
2017/06/06 17:21:54.326 - TRACE: Byte received: 60. Total: 4
2017/06/06 17:21:54.326 - TRACE: Byte received: 0. Total: 5
2017/06/06 17:21:54.326 - TRACE: Byte received: 1. Total: 6
2017/06/06 17:21:54.342 - TRACE: Byte received: 68. Total: 7
2017/06/06 17:21:54.358 - TRACE: Byte received: 6. Total: 8
2017/06/06 17:21:54.363 - INFO: Modbus frame received: [1 3 0 60 0 1 68 6]
2017/06/06 17:21:54.363 - INFO: Reading value: 1HR60 = 14119
2017/06/06 17:21:54.363 - INFO: Modbus frame sent: [1 3 2 55 39 238 110]
Другие вопросы по тегам