Протокол обмена с ASD-B2

Ответить
dots
Сообщения: 9
Зарегистрирован: 11 ноя 2021, 16:35

Протокол обмена с ASD-B2

Сообщение dots »

Добрый день!
В наличии имеется сервопривод ASD-B2-0421-B.
Требуется осуществлять с ним связь по протоколу Modbus-RTU, используя внешний контроллер.
Контроллер подключен к сервоприводу по RS-485. Проблема заключается в записи по адресам, содержащим 32 бита данных.
Например, не получается установить 1-ый числитель коэффициента редукции (P1-44) в значение 100
(с панели самого привода при этом данное значение устанавливается успешно).
После передачи сообщения на панели прибора появляется ошибка AL019.
Сама связь с приводом по этому протоколу работает корректно. Удается считывать значения с адресов и записывать
по адресам, которые содержат 16 бит данных.
Вопрос следующий. Как необходимо сформировать сообщение в формате протокола Modbus-RTU, чтобы записать 32 бита данных по
адресу, например, 0158H? Адрес сервопривода установлен как 0x7F.
Пробую послать следующее сообщение [0x7f, 0x06, 0x01, 0x58, 0x00, 0x00, 0x00, 0x64, 0x40, 0x98],
т.е установить 100 в P1-44 и безрезультатно. Подозреваю из-за того, что команда записи 0x06 осуществляет запись только одного слова.
Пытался также послать сообщение вида [0x7f, 0x06, 0x01, 0x58, 0x00, 0x64, 0x02, 0x10], результат тот же, AL019...

pkl
Сообщения: 1468
Зарегистрирован: 23 ноя 2010, 10:08

Re: Протокол обмена с ASD-B2

Сообщение pkl »

0x06 как бы и подразумевает запись одного 16 разрядного регистра. Используйте 0x10.

dots
Сообщения: 9
Зарегистрирован: 11 ноя 2021, 16:35

Re: Протокол обмена с ASD-B2

Сообщение dots »

Спасибо! Искал в руководстве пользователя ASD-B2 упоминания команды 0x10. Так и не нашел.

bayk
Сообщения: 887
Зарегистрирован: 30 май 2015, 21:20

Re: Протокол обмена с ASD-B2

Сообщение bayk »

так это стандарт модбас, никто не обязан его описывать в каждой инструкции на каждое устройство.

Ответить