Управление частотником Huanyang по Modbus
Добавлено: 04 окт 2014, 17:40
Тема подключения ПЧ по модбасу уже много раз обсуждалась, есть куча мануалов и описаний, но я решил всё же выложить результаты моих пыток ПЧ по RS485 (Modbus RTU), чтобы всё лежало в одном месте и не забылось со временем.
Итак, решил я подключить свой частотник Huanyang HY02D223B (3ф, 220 В, 2.2 кВт) по Modbus RTU к MACH3. Преобразователь интерфейсов USB-RS485 прикупил на алиэкспрессе http://www.aliexpress.com/snapshot/6207227962.html по 66 рублей за штуку. Драйверов с ними не было, нашёл по ИД оборудования: USB\VID_1A86&PID_7523&REV_0254 Выход 'A(D+)' подключаем ко входу 'RS+' частотника, выход 'B(D-)' - ко входу 'RS-' соответственно. В описании подключения RS485 говорится что на крайние точки подключения нужно ставить терминальные резисторы по 120 Ом, но у меня провод меньше 0,5 метра, поэтому всё работает и так
Настраиваем MACH3 по инструкции (плагин тоже в архиве присутствует). Если всё закончилось благополучно - в окне считанных параметров будут стоять актуальные значения. В противном случае - будут числа 99. Далее самое интересное. Т.к. Modbus вообще не был описан в прилагаемой инструкции, а найденный в интернете вариант мануала содержит крайне скудную информацию (как потом оказалось - вообще не соответствует спецификации протокола Modbus) то пришлось для изучения Modbus пойти другим путём - методом "от обратного". Для этого установил сниффер СОМ-порта - LGComSpy++ v1.0 и включая/выключая шпиндель и изменяя частоту его вращения из MACH3 смотрел что же улетает через СОМ-порт и прилетает обратно с частотника В итоге сопоставив эти данные с мануалом частотника удалось понять структуру посылки пакета Modbus и какими параметрами можно управлять частотником: Далее установил программу Modbus Poll, с помощью которой можно отсылать и принимать пакеты Modbus, и , что немаловажно, она сама считает код CRC: Софтина триальная и рвёт соединение каждые 10 минут, но для экспериментов этого достаточно.
В итоге получилось считывать параметры ПЧ; изменять их; управлять включением/выключением шпинделя; задавать частоту; считывать статусную информацию.
Сделано это всё было в основном для изучения протокола Modbus, т.к. есть интерес к данной области и возможная халтура , ну и для диагностики Modbus это всё мне очень пригодится, "я так думаю" (с)
Итак, решил я подключить свой частотник Huanyang HY02D223B (3ф, 220 В, 2.2 кВт) по Modbus RTU к MACH3. Преобразователь интерфейсов USB-RS485 прикупил на алиэкспрессе http://www.aliexpress.com/snapshot/6207227962.html по 66 рублей за штуку. Драйверов с ними не было, нашёл по ИД оборудования: USB\VID_1A86&PID_7523&REV_0254 Выход 'A(D+)' подключаем ко входу 'RS+' частотника, выход 'B(D-)' - ко входу 'RS-' соответственно. В описании подключения RS485 говорится что на крайние точки подключения нужно ставить терминальные резисторы по 120 Ом, но у меня провод меньше 0,5 метра, поэтому всё работает и так
Настраиваем MACH3 по инструкции (плагин тоже в архиве присутствует). Если всё закончилось благополучно - в окне считанных параметров будут стоять актуальные значения. В противном случае - будут числа 99. Далее самое интересное. Т.к. Modbus вообще не был описан в прилагаемой инструкции, а найденный в интернете вариант мануала содержит крайне скудную информацию (как потом оказалось - вообще не соответствует спецификации протокола Modbus) то пришлось для изучения Modbus пойти другим путём - методом "от обратного". Для этого установил сниффер СОМ-порта - LGComSpy++ v1.0 и включая/выключая шпиндель и изменяя частоту его вращения из MACH3 смотрел что же улетает через СОМ-порт и прилетает обратно с частотника В итоге сопоставив эти данные с мануалом частотника удалось понять структуру посылки пакета Modbus и какими параметрами можно управлять частотником: Далее установил программу Modbus Poll, с помощью которой можно отсылать и принимать пакеты Modbus, и , что немаловажно, она сама считает код CRC: Софтина триальная и рвёт соединение каждые 10 минут, но для экспериментов этого достаточно.
В итоге получилось считывать параметры ПЧ; изменять их; управлять включением/выключением шпинделя; задавать частоту; считывать статусную информацию.
Сделано это всё было в основном для изучения протокола Modbus, т.к. есть интерес к данной области и возможная халтура , ну и для диагностики Modbus это всё мне очень пригодится, "я так думаю" (с)