Итак, я делаю проект, где у меня Raspberry Pi 4 в качестве мастера, управляющего 4 приводами с Modbus. Я использую PyModbus (с python 3) и использую подобный код для тестирования Pi (с симулятором P C Slave).
client = ModbusClient(method = "rtu", port="/dev/ttySC0", stopbits = 1, bytesize = 8, parity = 'E' baudrate= 19200)
connection = client.connect()
print(connection)
result = client.read_input_register(1, 1, unit= 0x01)
#client.write_register(address, value, **kwargs)
Это было здорово до сих пор , Но теперь я перешел от тестирования на симуляторе к тестированию на реальных приводах и только сейчас понял, что, похоже, нет способа «переключить» ведомого, на которого вы читаете / пишете. Учитывая, что я стремлюсь к 4 рабам, это проблема.
Так что после поиска в Интернете не нашли ответа, я надеюсь, что у кого-то здесь есть решение. Я бы предпочел избегать использования чего-то другого, кроме PyModbus, так как потребовалось некоторое время, чтобы найти библиотеку Modbus, которая работала бы для меня.