Как ускорить Pymodbus или оптимизировать связь RS485, используя расширение C в Python? - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над проектом. В проекте я использую плату ввода-вывода и 2 драйвера двигателя (Danfoss F C 51). Для связи с ними я использую RS485 в качестве метода и pymodbus в качестве библиотеки. Я фактически завершил проект, но он работает медленно. Я посмотрел на время каждой части кода. Я видел, например,

            client1.write_coil(6,0,unit=1) # Ramp stop
            client1.write_registers(motor1ModbusParameter["w_motorSpeedReq"],0,unit=1)
            client1.write_coil(10,False,unit=1)

            client1.write_coil(6,0,unit=2) # Ramp stop
            client1.write_registers(motor1ModbusParameter["w_motorSpeedReq"],0,unit=2)
            client1.write_coil(10,False,unit=2)

            client1.write_coil(1,1,unit=4)

этот пример кода занимает 1,26 минуты, в то время как другие занимают, например, 0,06 минуты, и это слишком долго для меня. Итак, у меня есть 2 идеи для этого: 1 - Упрощение pymodbus, фактически адаптация pymodbus для моего расписания, но я попробовал это, и это было так запутано. 2 - Использование Cython, адаптация модуля C modbus к моей программе, если он существует. Я уже работаю с Cython, но я в самом начале. На самом деле мне ближе 2 варианта, потому что каждый знает, как адаптировать C выход для связи RS485 будет очень полезно. Заранее спасибо.

...