Доброго времени суток.
Возникла необходимость управлять частотным преобразователем по RS485. Марка Prostar PR6000, он же pr6100, он же CTA-C2.
Смотрю документацию, но никак не разберусь, какие байты и за что отвечают. Хотя в ней написано что это протокол Modbus RTU.
Например команда "Прямой пуск преобразователя" 2D 01 FF 0F 00 00 17 10 00 00 DB (всего 22байта).
Если я правильно понимаю, то согласно инструкции: 2D(заголовок блока данных 1 байт) 01(адрес slave устройства)
FF(управление константой) 0F(значение константы) 00(управление) 00(значение задания),
а вот с этого места непонятно, это контрольная сумма 17 10 00 00 ? И с 2D не все ясно куда его ставить. и где номер функции?
Описание для rs485:
Вложение:
pr6000_rs485.pdf [497.51 KiB]
Скачиваний: 266
Нашел информацию, что частотник откликается на эти запросы:
01 10 20 00 00 02 04 00 12 13 88 CRC16 FWD 50.00 - "Прямой пуск преобразователя" почему-то отличается от мануала.
01 10 20 00 00 02 04 00 22 13 88 CRC16 REV 50.00
01 10 20 00 00 02 04 00 01 00 00 CRC16 STOP 00.00
01 03 20 01 00 01 CRC16 Запросить частоту
01 03 02 13 88 CRC16 Ответ #1388 = 50.00
Но не указано какой программой формировали эти посылки запросов.
Пробовал делать запрос при помощи COMPump, чп не реагирует на них.
Обычно в мануалах на приборы с которыми я работал, этот протокол выглядит совсем по другому.
Например - запрос от мастера к слейву состоит из 8-ми байт. Пример: 01 05 00 00 FF 00 8C 3A.
Где 01(адрес прибора - 1байт); 05(функция - 1байт); 00 00(номер реле - 2 байта); FF 00(состояние - 2 байта);
8C 3A(контрольная сумма - 2 байта). И всегда прилагается карта регистров с их адресами.
Подскажите может кто-то сможет расшифровать этот ребус.
Или может программа типа сканера какая нибудь есть чтобы методом перебора вычислить адреса регистров.