Vfdmod - управляем частотником по MODBUS RTU

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

Кто нибудь уже победил частотник Kinda? Подключаю по этой схеме, отклика нет. Подключаю через морально устаревшую тему скорость изменияется, показатели отображаются.
В какую сторону копать?
На разницу в скорости обмена не смотрите, я балоавался с этим параметром :roll:
Вложения
kinda-config-file.ini
Мой файл настройки
(771 байт) 305 скачиваний
spindle-vfd.c
Файл из морально устаревшей темы
(35.26 КБ) 328 скачиваний
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

В документации к ПЧ написано, что command code задается:
03H: Read slave parameters
06H: Write slave parameters
Насколько я понимаю плагин не умеет читать код 03H?
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

alexx.bit писал(а):Насколько я понимаю плагин не умеет читать код 03H?
Поддерживаемые коды функций: http://www.cnc-club.ru/forum/viewtopic. ... 79#p557679
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

alexx.bit писал(а):В какую сторону копать?
На первый взгляд INI составлен верно, всё должно работать. Включите дебаг (vfdmod --debug ...) и покажите вывод. Я склоняюсь к тому, что ошибка скорее где-то в HAL, неверно связаны пины компонентов.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

LINUXCNC - 2.7.15
Machine configuration directory is '/home/cnc/linuxcnc/configs/new_KINDA'
Machine configuration file is 'new_KINDA.ini'
Starting LinuxCNC...
.
Found file(REL): ./new_KINDA.hal
Found file(REL): ./custom.hal
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
return self.func(*args)
File "/usr/bin/axis", line 1325, in jogspeed_listbox_change
if isinstance(value, str): value = value.encode('utf-8', 'replace')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

Вот что я еще заметил, что не все пины подключены к панели управления PyVcp. Это вообще законно? :)
Вложения
Пины.jpg (2779 просмотров) <a class='original' href='./download/file.php?id=184106&sid=2515fa28213c01920f545dae0a61dba0&mode=view' target=_blank>Загрузить оригинал (86.79 КБ)</a>
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

alexx.bit писал(а):Это вообще законно?
Если не прочитать доки и сделать всё как-нибудь по-своему, то вполне... А что за панель? Полученная генератором? Тогда тем более.

Судя по картинке компонент загружен, связи нет. Я бы копал в сторону ProtocolDelay в группе RS485, но при условии что настройки соединения точно-точно одинаковые (как в рабочем конфиге от spindle-vfd).

И дебаг всё же покажите. Нормальный. А не вон то вот, непонятное...
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

aekhv писал(а):И дебаг всё же покажит
Надеюсь, что теперь правльиный дебаг

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

LINUXCNC - 2.7.15
Machine configuration directory is '/home/cnc/linuxcnc/configs/new_KINDA'
Machine configuration file is 'new_KINDA.ini'
Starting LinuxCNC...
.
Found file(REL): ./new_KINDA.hal
Found file(REL): ./custom.hal
Opening /dev/ttyUSB0 at 19200 bauds (N, 8, 2)

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
    return self.func(*args)
  File "/usr/bin/axis", line 1325, in jogspeed_listbox_change
    if isinstance(value, str): value = value.encode('utf-8', 'replace')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>

Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

Да, это то что надо! Судя по выводу у вас там всё хорошо: обмен стабильный, частотник отвечает, ошибок нет. Что сейчас не работает? Если не реагирует на вкл/выкл, смотрите как компонент связан с HAL. Можете выложить сюда архив с конфигом, я посмотрю.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

Я сглупил, не убрал в ini строку POSTGUI_HALFILE = custom_postgui.hal.
Сейчас статус соединения горит зеленым, в счетчике обшиок 0, но шпиндель не включается и другие параметры не выводятся.
Значит ли это, что единственная моя ошибка, это не правльино прописанные регистры управления ПЧ?

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


LINUXCNC - 2.7.15
Machine configuration directory is '/home/cnc/linuxcnc/configs/cnc_kinda'
Machine configuration file is 'cnc_kinda.ini'
Starting LinuxCNC...
.
Found file(REL): ./cnc_kinda.hal
Found file(REL): ./custom.hal
Opening /dev/ttyUSB0 at 19200 bauds (N, 8, 2)

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>
Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1437, in __call__
    return self.func(*args)
  File "/usr/bin/axis", line 1325, in jogspeed_listbox_change
    if isinstance(value, str): value = value.encode('utf-8', 'replace')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>

vfdmod: reading 'spindle.rpm-out' from address 4103 (0x1007)...
[01][03][10][07][00][01][31][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Current' from address 4100 (0x1004)...
[01][03][10][04][00][01][C1][0B]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Error_Description' from address 32768 (0x8000)...
[01][03][80][00][00][01][AD][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Status' from address 4105 (0x1009)...
[01][03][10][09][00][01][50][C8]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: reading 'parameters.Voltage' from address 4099 (0x1003)...
[01][03][10][03][00][01][70][CA]
Waiting for a confirmation...
<01><03><02><00><00><B8><44>
vfdmod: returned value is 0 (0x0000)

vfdmod: setting command speed value to 1500 (0x05DC)...
[01][06][10][00][05][DC][8F][C3]
Waiting for a confirmation...
<01><06><10><00><05><DC><8F><C3>

vfdmod: setting control word value to 6 (0x0006)...
[01][06][20][00][00][06][02][08]
Waiting for a confirmation...
<01><06><20><00><00><06><02><08>
Вложения
cnc_kinda.tar.gz
(4.14 КБ) 297 скачиваний
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

Теперь всё понятно, у вас проблема один-в-один как тут: http://www.cnc-club.ru/forum/viewtopic. ... 74#p570174

Сделайте правки в cnc_kinda.hal, должно заработать.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

Что касается юзер-параметров, надо будет указать верные адреса регистров (смотрите мануал на ПЧ) и подобрать коэффициенты (Multiplier и Divider), в том числе для групп SpindleRpmIn и SpindleRpmOut.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

закрутилось! Большое спасибо за помощь!
Теперь посыпались ошибки, я думаю это изза провода, который я использую.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение aekhv »

Как сделаете рабочий конфиг с правильным отображением параметров и заданием частоты, выкладывайте сюда, я добавлю ссылку в шапку.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

У меня с подключениек какая-то беда. Ошибки сыпятся при включении шпинделя. Ни эранированный кабель (экран к ПЧ), ни ферритовое кольцо, ничего не помогает. Заказал другой свисток, с землей, буду подключать экран туда.
Фильтр между ПЧ и шпинделем поможет?
Что удивительно китайский HY(что-то там), работатет по витой паре без экрана.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение Serg »

alexx.bit писал(а):Что удивительно китайский HY(что-то там), работатет по витой паре без экрана.
У них управляющие входы (аналог, дискретные, RS485) гальванически развязаны от всего остального...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
sima8520
Почётный участник
Почётный участник
Сообщения: 4501
Зарегистрирован: 24 ноя 2016, 23:35
Репутация: 1615
Настоящее имя: Илья
Откуда: Беларусь, Гомель
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение sima8520 »

alexx.bit писал(а):Фильтр между ПЧ и шпинделем поможет?
ни в коем случае не ставить фильтр между ПЧ и шпинделем!!!
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение galexey »

Для своего станка покупал такой конвертор https://www.aliexpress.com/item/32987066676.html
Работает без нареканий и ошибок.
alexx.bit
Кандидат
Сообщения: 41
Зарегистрирован: 27 авг 2016, 09:33
Репутация: 3
Настоящее имя: Алексей
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение alexx.bit »

Спасибо, закажу что-то подобное. Но пока подключился через ШИМ. Обороты конечно плавают, +-100 от заданных.
pegas13
Новичок
Сообщения: 20
Зарегистрирован: 31 мар 2019, 22:26
Репутация: 0
Настоящее имя: Владимир
Откуда: Витебск
Контактная информация:

Re: Vfdmod - управляем частотником по MODBUS RTU

Сообщение pegas13 »

Подскажите как из командной строки обратиться к ПЧ. Может получиться быстрее найти проблему, чем копаться в километровых логах. В linux большого опыта нет, поэтому надеюсь на помощь, если не трудно с парой примеров.

Спасибо.
Ответить

Вернуться в «LinuxCNC»