Управление частотником Huanyang по Modbus

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Тема подключения ПЧ по модбасу уже много раз обсуждалась, есть куча мануалов и описаний, но я решил всё же выложить результаты моих пыток ПЧ по RS485 (Modbus RTU), чтобы всё лежало в одном месте и не забылось со временем.

Итак, решил я подключить свой частотник Huanyang HY02D223B (3ф, 220 В, 2.2 кВт) по Modbus RTU к MACH3. Преобразователь интерфейсов USB-RS485 прикупил на алиэкспрессе http://www.aliexpress.com/snapshot/6207227962.html по 66 рублей за штуку.
DSCN1805.JPG (37026 просмотров) <a class='original' href='./download/file.php?id=34323&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (4.7 МБ)</a>
DSCN1804.JPG (37026 просмотров) <a class='original' href='./download/file.php?id=34324&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (4.66 МБ)</a>
Драйверов с ними не было, нашёл по ИД оборудования: USB\VID_1A86&PID_7523&REV_0254
CH341SER.ZIP
Дрова к преобразователю интерфейсов USB-RS485
(187.98 КБ) 8068 скачиваний
Выход 'A(D+)' подключаем ко входу 'RS+' частотника, выход 'B(D-)' - ко входу 'RS-' соответственно.
DSCN1807.JPG (37026 просмотров) <a class='original' href='./download/file.php?id=34325&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (5.17 МБ)</a>
В описании подключения RS485 говорится что на крайние точки подключения нужно ставить терминальные резисторы по 120 Ом, но у меня провод меньше 0,5 метра, поэтому всё работает и так :D

Настраиваем MACH3 по инструкции (плагин тоже в архиве присутствует).
HuanyangVFD_plugin.zip
(625.37 КБ) 2692 скачивания
Если всё закончилось благополучно - в окне считанных параметров будут стоять актуальные значения. В противном случае - будут числа 99.
1.png (37026 просмотров) <a class='original' href='./download/file.php?id=34327&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (141.62 КБ)</a>
Далее самое интересное. Т.к. Modbus вообще не был описан в прилагаемой инструкции, а найденный в интернете вариант мануала
huuang_Inverter_MANUAL.pdf
(428.27 КБ) 9821 скачивание
содержит крайне скудную информацию (как потом оказалось - вообще не соответствует спецификации протокола Modbus) то пришлось для изучения Modbus пойти другим путём - методом "от обратного". Для этого установил сниффер СОМ-порта - LGComSpy++ v1.0
3.png (37026 просмотров) <a class='original' href='./download/file.php?id=34330&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (39.32 КБ)</a>
и включая/выключая шпиндель и изменяя частоту его вращения из MACH3
2.png (37026 просмотров) <a class='original' href='./download/file.php?id=34332&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (319.88 КБ)</a>
смотрел что же улетает через СОМ-порт и прилетает обратно с частотника
4.png (37026 просмотров) <a class='original' href='./download/file.php?id=34333&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (32.56 КБ)</a>
В итоге сопоставив эти данные с мануалом частотника удалось понять структуру посылки пакета Modbus и какими параметрами можно управлять частотником:
(для просмотра содержимого нажмите на ссылку)
**********************************
* Чтение параметров ПЧ *
**********************************
Read function code data
Format:
ADDR 01 LEN FUNC Data
ADDR=0 means no answer
ADDR не равен 0 means a reply from inverter of this address
When inverter reply normal, the format as follows:
ADDR 01 LEN FUNC Data
If DATA is one word, the LEN=3, If DATA is one byte, the LEN=2 .
When inverter has no this function code or reply no effect, the format as follows:
ADDR 81H 01 FUNC


01 01 02 00 00 B9 FC - Чтение значения параметра PD000
01 01 02 00 00 B9 FC - ответ - PD000 = 0

01 01 02 01 00 B8 6C - Чтение значения параметра PD001
01 01 02 01 02 39 AD - ответ - PD001 = 2

01 01 02 02 00 B8 9C - Чтение значения параметра PD002
01 01 02 02 02 39 5D - ответ - PD002 = 2

01 01 02 03 00 B9 0C - Чтение значения параметра PD003
01 01 03 03 01 F4 CC 59 - ответ - 01 F4 [hex] = 500 [dec] -> PD003 = 5,00 Гц

01 01 02 04 00 BB 3C - Чтение значения параметра PD004
01 01 03 04 9C 40 15 7F - ответ - 9C 40 [hex] = 40000 [dec] -> PD004 = 400,00 Гц

**********************************
* Запись параметров ПЧ *
**********************************
Write function code data
Format:
ADDR 02 LEN FUNC Data
ADDR=0 for broadcast, it write to all inverter, but no reply.
ADDR не равен 0, set data and reply from inverter of this address.
When the setting is incorrect or the inverter does not have this function, the format returned is as
follows:
ADDR 81H 01 FUNC


01 02 02 01 01 79 E8 - Запись значения параметра PD001=1
01 02 02 01 01 79 E8 - ответ - PD001=1


************************
* Управление ПЧ *
************************

Control commands
Format:
ADDR 03 LEN CNTR
ADDR=0 for broadcast, it write to all inverter, but no reply
ADDR?0, reply and return.
CNTR
7 6 5 4 3 2 1 0
jogr jogf jog r/f stop rev for run
When the setting is correct it will return to present control status.
Format:ADDR 03 LEN CNST
CNST
7 6 5 4 3 2 1 0
Track start Braking r/f jogging running r/f jog run
When the check is not correct,
ADDR 83H 01 CNST


01 03 01 01 31 88 - Запуск шпинделя (31 88 - CRC) - адрес 257
01 03 01 00 F0 48 - ответ
01 03 01 08 F1 8E - Останов шпинделя (F1 8E - CRC) - адрес 264
01 03 01 01 31 88 - ответ


*****************************
* Чтение статуса ПЧ *
*****************************
Read status value
Format:
ADDR 04 01 CFG
ADDR=0, no reply
ADDR?0, reply.
CFG=0~7, reply single data
0:Set F 1:Out F 2:Out A 3:RoTT
4:DCV 5:ACV 6:Cont 7:Tmp
For example: read agreed frequency
Send:01 04 03 00 CRC
Return:01 04 03 13 88 CRC
In which, 13 88 are data
13 for high order, while 88 for low order.


01 04 01 00 41 89 - Set F - Заданная частота
01 04 03 00 20 8D 29 EB - ответ = 20 8D [hex] = 8333 [dec] -> 83,33 Гц

01 04 01 01 80 49 - Out F _ Выходная частота
01 04 03 01 20 8D 78 2B - ответ = 20 8D [hex] = 8333 [dec] -> 83,33 Гц

01 04 01 02 C0 48 - Out A - Выходной ток
01 04 03 02 00 01 90 4E - ответ = 00 01 [hex] = 0 [dec] -> 0,1 А

01 04 01 03 01 88 - RoTT - Частота вращения
01 04 03 03 13 87 4D 1C - ответ = 13 87 [hex] = 4999 [dec] -> 4999 об/мин

01 04 01 04 40 4A - DCV - Напряжение в звене постоянного тока
01 04 03 04 0B E7 F6 F5 - ответ = 0B E7 [hex] = 3047 [dec] -> 307,7 Вольт

01 04 01 05 81 8A - ACV - Напряжение на выходе
01 04 03 05 02 26 60 F5 - ответ = 02 26 [hex] = 550 [dec] -> 55,0 Вольт

01 04 01 06 C1 8B - Cont - Counter - Счетчик (видимо - состояние счетчика из параметра PD065)
01 04 03 06 00 00 10 4F - ответ = 00 00 [hex] = 0 [dec] -> 0

01 04 01 07 00 4B - Tmp - Температура
01 04 03 07 00 00 41 8F - ответ = 00 00 [hex] = 0 [dec] -> 0

*****************************************
* Запись задания частоты ПЧ *
*****************************************

В мануале не расписана запись задания частоты ПЧ, поэтому разберём просто на примерах.
Здесь структура похожая:
АДРЕС_ПЧ=01 №_ФУНКЦИИ=05 ДЛИНА=03 (т.к. записываем слово: WORD=2 BYTE) ЗАДАНИЕ_ЧАСТОТЫ [hex] ПУСТОЙ_3-й_БАЙТ=00 CRC

01 05 03 20 8D 00 A9 14 - Скорость шпинделя 5000 об/мин = 83,33 Гц (A9 14 - CRC) - 20 8D -> 8333
01 05 02 20 8D 61 69 - ответ

В принципе, можно указать длину = 02, ничего не изменится, только запись сократится:
01 05 02 20 8D 61 69 - Скорость шпинделя 5000 об/мин = 83,33 Гц (A9 14 - CRC) - 20 8D -> 8333
01 05 02 20 8D 61 69 - ответ


01 05 03 41 1A 00 96 FA - Скорость шпинделя 10000 об/мин = 166.6 Гц (96 FA - CRC) - 41 1A -> 16666
01 05 02 41 1A 09 57 - ответ

01 05 03 61 A8 00 E3 90 - Скорость шпинделя 15000 об/мин = 250 Гц (E3 90 - CRC) - 61 A8 -> 25000
01 05 02 61 A8 90 E2 - ответ
Далее установил программу Modbus Poll, с помощью которой можно отсылать и принимать пакеты Modbus, и , что немаловажно, она сама считает код CRC:
5.png (37026 просмотров) <a class='original' href='./download/file.php?id=34334&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (93.64 КБ)</a>
Софтина триальная и рвёт соединение каждые 10 минут, но для экспериментов этого достаточно.

В итоге получилось считывать параметры ПЧ; изменять их; управлять включением/выключением шпинделя; задавать частоту; считывать статусную информацию.
Сделано это всё было в основном для изучения протокола Modbus, т.к. есть интерес к данной области и возможная халтура :D , ну и для диагностики Modbus это всё мне очень пригодится, "я так думаю" (с)
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6191
Откуда: Казахстан.
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение aftaev »

Kopyloff, ты наверно забыл выложить настройки Мача под МодБас ;)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Все настройки MACH указаны в мануале (лежит в архиве HuanyangVFD_plugin.zip). Единственное различие - у меня номер COM-порта был COM1, а в мануале - COM5. Настройки ПЧ - такие же как в этом мануале.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение NightV »

хорошая статья, закинул сылку в WiKi :good:
Всё просто! если знаешь КАК!
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Вот так я узнал что есть ещё и Wiki на сайте оказывается :D Спасибо за такую оценку. Если будут вопросы - спрашивайте, пока в голове свежо и ничего не забыл.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6599
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение NightV »

это тебе спасибо, что не поленился и поделился опытом! :)
молодца! :beer_blow: :good:
Всё просто! если знаешь КАК!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Kopyloff писал(а):содержит крайне скудную информацию (как потом оказалось - вообще не соответствует спецификации протокола Modbus) то пришлось для изучения Modbus пойти другим путём - методом "от обратного".
"Всё уже украдено до вас!" (c)
Re: Полезные программы #61

P.S. А мне показалось что в этой доке вполне достаточно информации... :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

У меня под виндой баша нет чтобы эти скрипты запускать :D
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Kopyloff писал(а):У меня под виндой баша нет чтобы эти скрипты запускать :D
А где там сказано, что нужен баш под виндой? :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

А как ещё эти проги запускать? У меня по ссылкам скрипты открываются:
6.png (36956 просмотров) <a class='original' href='./download/file.php?id=34365&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (15.47 КБ)</a>
Может есть какое-то кроссплатформенное приложение? А то порой проще новое приложение написать, чем чьи-то исходники раскурить.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Написано-же:
UAVpilot писал(а):Для работы ей нужно установренные tcl/tk и bwidget
:wik:
Kopyloff писал(а):А то порой проще новое приложение написать, чем чьи-то исходники раскурить.
Ага, и протокол обмена расшифровать проще чем документацию почитать... ;)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Под виндой сначала как минимум нужно будет cygwin ставить, и только потом уже tcl/tk и bwidget. Слишком хлопотно пока для меня, но за ссылки всё-равно спасибо. При случае надо будет потестить, может с live-cd с линухом каким-нибудь..
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

UAVpilot писал(а):Ага, и протокол обмена расшифровать проще чем документацию почитать... ;)
Лёгких путей не ищем :hehehe:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Kopyloff писал(а):Под виндой сначала как минимум нужно будет cygwin ставить, и только потом уже tcl/tk и bwidget.
Kopyloff писал(а):Лёгких путей не ищем :hehehe:
Вот уж воистину!.. cygwin-то зачем? :shock:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

А как ещё установить и запустить tcl/tk и bwidget под Windows? Я, честно говоря, других способов не вижу... :wik:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Первая-же ссылка в гугле: http://www.activestate.com/activetcl/downloads

P.S. Специально для немощных положил рядом vfd.exe и vfdctl.exe. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Я настолько немощен, что даже не могу ЕХЕ-шники скачать :hehehe:
8.png
8.png (9.89 КБ) 36880 просмотров
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Serg »

Видимо даже мой сервер ЕХЕ-шники не раздаёт, но может научить, как ставить Tcl/Tk... :lol:

P.S. поправил.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Kopyloff
Мастер
Сообщения: 387
Зарегистрирован: 28 мар 2013, 07:40
Репутация: 117
Настоящее имя: Сергей
Откуда: Первоуральск
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение Kopyloff »

Потестил немного программки - здорово! Всё работает! Без бубна конечно не обошлось :)
Запускал сначала vfd.exe (param.conf положил в ту же папку что и vfd.exe). Сначала словил сообщение об ошибке:
9.png (36843 просмотра) <a class='original' href='./download/file.php?id=34454&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (102.51 КБ)</a>
Заругался значит на то что в винде COM-порт по другому называется. Поправил param.conf:
(для просмотра содержимого нажмите на ссылку)
Вместо:
-------------------------------
set VFDport /dev/ttyUSB0
set VFDmode 38400,n,8,1
set VFDid 1
------------------------------

написал:
------------------------------
set VFDport COM1
set VFDmode 9600,n,8,1
set VFDid 1
------------------------------
и заработало! Удалось скачать параметры с частотника и залить их обратно (те же, без изменений правда :)).
Было бы неплохо ещё сделать выгрузку текущих параметров в текстовый файл и возможность потом заливать эти параметры из текстового файла в частотник - цены бы этой софтине не было!

Потом попробовал запустить vfdctl.exe. Вылезло такое сообщение об ошибке:
10.png (36843 просмотра) <a class='original' href='./download/file.php?id=34455&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (35.11 КБ)</a>
Файла с параметрами для этой софтины нет, но можно задавать параметры в командной строке, как сказано у автора в описании.
Забил в командной строке следующее:

Код: Выделить всё

c:\vfdctl.exe 1 COM1 9600,N,8,1
и заработало!
Есть только замечание: на странице сайта с описанием программы сказано что надо задавать параметры в следующем порядке:

Код: Выделить всё

vfdctl 1 /dev/ttyUSB0 9600,8,N,1
а нужно поменять местами параметры 8 и N, т.е.:

Код: Выделить всё

vfdctl 1 /dev/ttyUSB0 9600,N,8,1
Ну и после этого удалось завращать шпиндель, менять частоту и наблюдать текущие параметры частотника.
12.png (36843 просмотра) <a class='original' href='./download/file.php?id=34458&sid=1bdd2f647fd6ad2e5c3df443ec21657e&mode=view' target=_blank>Загрузить оригинал (40.35 КБ)</a>
Супер! Спасибо UAVpilot за этот софт!
AVK74
Почётный участник
Почётный участник
Сообщения: 1854
Зарегистрирован: 02 июл 2013, 09:03
Репутация: 335
Откуда: Уфа
Контактная информация:

Re: Управление частотником Huanyang по Modbus

Сообщение AVK74 »

Вот http://royaumedeole.fr/informatique/plu ... nyang-vfd/
Все совершенно четко расписано. У меня на подключение и настройку ушло пять минут.
Ответить

Вернуться в «Windows / Mach»