2016-12-05 15 views
0

Я использую minimalmodbus для связи с помощью PID controller (Love 16C-3) через RS485 с использованием USB-RS485 adapter cable.Какова эта ошибка RS485 Modbus-RTU Device

Однако при попытке считывания регистра отображается следующая ошибка. Что означает эта ошибка?

raise ValueError('The slave is indicating an error. The response is: {!r}'.format(response)) 
ValueError: The slave is indicating an error. The response is: '\x01\x83\x02\xc0\xf1' 

От Аппаратная Руководство

enter image description here

Python код

instrument = minimalmodbus.Instrument(port, 1, 'rtu') 
instrument.serial.baudrate = 9600 
instrument.serial.bytesize=8 
instrument.serial.parity='E' 
instrument.serial.stopbits=1 
instrument.read_register(4096,1) 

enter image description here

+0

Выглядит как исключение «Недопустимый адрес данных». См. [Исключения по Modbus] (http://www.simplymodbus.ca/exceptions.htm). –

+0

Попробуйте 'instrument.read_register (0x4700,1)' –

+0

@AndrejDebenjak Спасибо, исправил адрес и решил проблему. Как вы скажете, что сообщение об ошибке '\ x01 \ x83 \ x02 \ xc0 \ xf1' означало' Illegal Data Address'? – Nyxynyx

ответ

0

Если вы ссылаетесь на спецификацию modbus, вы обнаружите, что исключение для функции выполняется путем установки MSB в байте функции ... эффективно добавляя 0x80 к номеру функции в ответе.

В вашем примере вы попытались прочитать регистр Холдинга. В вашем запросе использовался номер функции 0x03. Исключением, которое вы получили, является функция 0x03 с установленным значением MSB, в результате чего функция ответа 0x83. Код исключения - это номер, который следует за номером функции, в вашем случае это 0x02.

В спецификации Modbus код исключения из 2 используется, когда адрес регистра не поддерживается.

BTW, modbus - чрезвычайно простой протокол, а сама оригинальная спецификация довольно мала и легко доступна. Если вы планируете работать с modbus на любой глубине, я бы настоятельно рекомендовал по крайней мере иметь его под рукой: Modbus Application Protocol v1.1

 Смежные вопросы

  • Нет связанных вопросов^_^