Для отладки ППО на ПЛК потребовалось настроить симуляцию устройства, которое опрашивается по протоколу Modbus RTU. Все ниже перечисленные программы и действия произведены в ОС Windows.
Для симуляции я использовал связку следующих программ :
-
Modbus Poll в качестве Modbus-клиента
-
ModRSsim2 для симуляции Modbus-сервера
-
VESPE (Virtual Serial Ports Emulator (64 bit) ) ,
У меня была какая то древняя версия VESPE - 1.0.5.443
Первое что нужно сделать , это настроить виртуальный COM-порт. Запускаем VESPE и создаем коннектор:

На том ПК, где я себе ставил симулятор, уже был какой то COM-порт, поэтому на примере будет COM2:

После этого, чтобы подключиться к нему по TCP , необходимо создать TCP-сервер, который откроет порт для обмена поверх TCP:


Выбираем ранее созданный COM-порт и назначаем TCP-порт, через который будем обращаться MOdbus клиентом дял чтения регистров:


Далее запускаем MODRSSIM (у меня он был установлен из пакета ModbusOPCServer demo trial от MPSSoft (это та, что MasterScada выпускает) и настраиваем на MOdbus RS-232 , а также подключаем к COM2:

Заполним холдинг регистры:

Подключаемся ModbusPoll :

Подключение есть, запросы идут, ответы приходят:

Эту статью решил написать для себя как шпаргалку. Верю в то, что таких примеров на просторе сети много. Буду признателен, если в комментариях поделитесь опытом симуляции Modbus RTU, Modbus TCP устройств на базе Linux.
Автор: magratem