Для отладки ППО на ПЛК потребовалось настроить симуляцию устройства, которое опрашивается по протоколу 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