Связь Python modbus tcp с plc saia sbc
Я пытаюсь прочитать регистры и флаги saia sbc PCD2 M4_x plc через Modbus TCP. Я знаю IP-адрес и порт связи ПЛК, однако каждый раз, когда я читаю флаг или регистр, я всегда получаю разные значения из этих установленных. Я уверен, что это не проблема смещения регистра, которая обычно возникает при обмене данными по Modbus. Написанный мной код - это тот, который указан в списке, а также результаты.
from easymodbus.modbusClient import ModbusClient
modbusclient = ModbusClient(IP_address, Port)
modbusclient.connect()
read = modbusclient.read_coils(0, 10)
print(read)
modbusclient.close()
read=[False, False, True, False, True, True, False, False, False, False]
однако флаги с 0 по 10 не имеют этого состояния, и даже если я изменю его при запуске написанного кода, результат останется прежним. Даже если я поменяю адреса.
1 ответ
Вы должны общаться через Modbus? Я не знаком с этим, но я использую другой метод.Saia PCD принимает вызовы CGI, которые очень легко сделать. На их веб-сайте есть хорошая документация для веб-серверов и CGI. Если вы планируете использовать этот вид связи, я могу помочь вам с написанной мной библиотекой для чтения/записи регистров и чтения ошибок с любого PCD.