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

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

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

Сообщение aekhv »

成龙79 писал(а): Вот данные из терминала при реверсе
Всё понятно, регистр частотника хранит значение со знаком. Vfdmod такое не поддерживает, постараюсь исправить.
nau
Новичок
Сообщения: 33
Зарегистрирован: 02 фев 2020, 11:10
Репутация: 11
Настоящее имя: Антон
Откуда: Алматы
Контактная информация:

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

Сообщение nau »

Спасибо за шикарный компонент!

С обычным черным свистком ничего не работало, с вот с таким запустилось:
485.jpg (2064 просмотра) <a class='original' href='./download/file.php?id=191564&sid=4f7da03ef15351a4561c11ffda5161a3&mode=view' target=_blank>Загрузить оригинал (112.13 КБ)</a>
Чтобы работало, перемычку 5V убрал

Версия LinuxCNC у меня 2.8.1, частотник VFD300 (так же выпускается под маркой Кастон).
Конфиг прилагаю:
VFD300.ini
(926 байт) 130 скачиваний
Я могу запустить шпиндель либо gcode программой, либо через MDI (M3 S10000 и тп) и скорость соответствует, spindle at speed срабатывает как надо. И как бы это самое главное, но вот в ручном режиме работает не корректно: если запускать в ручную (F9, F10 или кнопки ротации), шпиндель запускается на минимальной скорости (и корректно отображается), но при этом скорость регулировать я не могу, к тому же, spindle at speed не срабатывает.

По команде halcmd show all spindle в первом случае кажет вот так:

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

Type          Value  Name     (linked to)
bit            TRUE  spindle-at-speed
                         ==> pyvcp.at-speed
                         ==> spindle.0.at-speed
                         <== vfdmod.spindle.at-speed
bit           FALSE  spindle-ccw
                         <== spindle.0.reverse
                         ==> vfdmod.control.run-reverse
float         10000  spindle-cmd-rpm
                         <== spindle.0.speed-out
                         ==> vfdmod.spindle.rpm-in
float         10000  spindle-cmd-rpm-abs
                         <== spindle.0.speed-out-abs
float      166.6667  spindle-cmd-rps
                         <== spindle.0.speed-out-rps
float      166.6667  spindle-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
bit            TRUE  spindle-cw
                         <== spindle.0.forward
                         ==> vfdmod.control.run-forward
float         10000  spindle-rpm-out
                         ==> pyvcp.rpm-out
                         <== vfdmod.spindle.rpm-out
А во втором, вот так:

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

Signals:
Type          Value  Name     (linked to)
bit           FALSE  spindle-at-speed
                         ==> pyvcp.at-speed
                         ==> spindle.0.at-speed
                         <== vfdmod.spindle.at-speed
bit           FALSE  spindle-ccw
                         <== spindle.0.reverse
                         ==> vfdmod.control.run-reverse
float             1  spindle-cmd-rpm
                         <== spindle.0.speed-out
                         ==> vfdmod.spindle.rpm-in
float             1  spindle-cmd-rpm-abs
                         <== spindle.0.speed-out-abs
float    0.01666667  spindle-cmd-rps
                         <== spindle.0.speed-out-rps
float    0.01666667  spindle-cmd-rps-abs
                         <== spindle.0.speed-out-rps-abs
bit            TRUE  spindle-cw
                         <== spindle.0.forward
                         ==> vfdmod.control.run-forward
float          6000  spindle-rpm-out
                         ==> pyvcp.rpm-out
                         <== vfdmod.spindle.rpm-out
мой hal файл:

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

net spindle-cmd-rpm     <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps     <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed    => spindle.0.at-speed
net spindle-cw          => spindle.0.forward
net spindle-ccw         => spindle.0.reverse
custom.hal почти стоковый, исправлено только это:
net spindle-cmd-rpm => vfdmod.spindle.rpm-in

Подскажите, пожалуйста, где подкрутить?
Последний раз редактировалось nau 26 янв 2021, 18:50, всего редактировалось 1 раз.
Аватара пользователя
vala
Почётный участник
Почётный участник
Сообщения: 490
Зарегистрирован: 08 окт 2013, 21:01
Репутация: 258
Откуда: Latvia
Контактная информация:

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

Сообщение vala »

Linuxcnc ничего не знает про установленную min rpm и начинает плюсовать с 0, когда превысит min rpm всё будет коректно.
Надо ему указать что имеем min rpm.
Если установить в my-config-file MinSpeedRpm = 1, всё работает коректно.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

Только лучше так не делать, ибо можно шпиндель спалить. Минимальные обороты MinSpeedRpm - это реальные минимальные обороты, на которых ПЧ способен вращать шпиндель.
nau
Новичок
Сообщения: 33
Зарегистрирован: 02 фев 2020, 11:10
Репутация: 11
Настоящее имя: Антон
Откуда: Алматы
Контактная информация:

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

Сообщение nau »

vala писал(а): 26 янв 2021, 18:18 Linuxcnc ничего не знает про установленную min rpm и начинает плюсовать с 0, когда превысит min rpm всё будет коректно.
Надо ему указать что имеем min rpm.
Если установить в my-config-file MinSpeedRpm = 1, всё работает коректно.
и в правду, если по-дольше подержать кнопку увеличения и скорость увеличивается и at speed загорается. Работает, получается.
С аналоговым регулированием ровно так же было, только быстрее нарастало, почему-то думал, раз уж теперь все по цифре, то и это исправиться :-)
nau
Новичок
Сообщения: 33
Зарегистрирован: 02 фев 2020, 11:10
Репутация: 11
Настоящее имя: Антон
Откуда: Алматы
Контактная информация:

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

Сообщение nau »

Ответ, оказывается в доках был, аж стыдно :-)
в Display секции основного ini станка надо добавить:
DEFAULT_SPINDLE_SPEED = 6000 (у меня 6000 в ЧП указано)

сейчас все идеально.
Аватара пользователя
vala
Почётный участник
Почётный участник
Сообщения: 490
Зарегистрирован: 08 окт 2013, 21:01
Репутация: 258
Откуда: Latvia
Контактная информация:

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

Сообщение vala »

aekhv писал(а): 26 янв 2021, 18:38 Только лучше так не делать, ибо можно шпиндель спалить. Минимальные обороты MinSpeedRpm - это реальные минимальные обороты, на которых ПЧ способен вращать шпиндель.
Воздушник конешно можно спалить если крутить меньше 6000.
Мне иногда необходимо работать царапалкой и чтобы не мудрить поставил в MinSpeedRpm = 1. ПЧ в включонном состоянии выдаёт тоже самое что в выключенном. Может быть это и не правильно, но шпиндель цел.
nau
Новичок
Сообщения: 33
Зарегистрирован: 02 фев 2020, 11:10
Репутация: 11
Настоящее имя: Антон
Откуда: Алматы
Контактная информация:

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

Сообщение nau »

Что примечательно, пока адаптер RS485 был вне корпуса, ошибок практически не было, причем подключено все было тонюсенькими проводами (AWG28). Сегодня решил все облагородить, встроить в корпус, подключил нормальными проводами, связь со шпинделем стала моментально отключаться после его включения. Переподключил старыми хилыми проводами, коротеньким обрезком - сантиметров 10, теперь шпиндель наглухо не отваливается, но ошибки все равно прут. Видимо, сказывается, что корпус коннектора гальванически соединен с заземлением станка, или так адаптер ловит помехи внутри корпуса. Буду разбираться.
20210127_223647.jpg (1981 просмотр) <a class='original' href='./download/file.php?id=191616&sid=4f7da03ef15351a4561c11ffda5161a3&mode=view' target=_blank>Загрузить оригинал (381.82 КБ)</a>
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

nau писал(а): 26 янв 2021, 16:30 Спасибо за шикарный компонент!

С обычным черным свистком ничего не работало, с вот с таким запустилось:
485.jpg
Чтобы работало, перемычку 5V убрал
Получилось сегодня запустить управление через обычный "черный свисток"
Может кому пригодится:
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

Возможно кто подскажет. После настройки modbas для danfoss FC51, перестал запускаться LinuxCNC, ошибка:

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

Debug file information:
Note: Using POSIX realtime
hm2_eth: rtapi_app_main: Network is unreachable (-101)
./CONFIG.hal:9: waitpid failed /usr/bin/rtapi_app hm2_eth
./CONFIG.hal:9: /usr/bin/rtapi_app exited without becoming ready
./CONFIG.hal:9: insmod for hm2_eth failed, returned -1
1266
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Полный лог ошибки в документе ниже.

Что делал:
- заранее проверил свисток и связь в режиме FC и стандартной программы конфигурирования пч;
- Изменил в ПЧ настройки:
8-30 [2] modbas
8-31 [2] adres
8-32 [3] 19200 bod
8-33 [3] Контроль четности отсутствует, 2 стоповых бита (Хотя где-то писали что это параметр 1стоп бит)
Важно что ставить в config-file.ini??? Стоп бит 1 или 2?

- Далее подкинул настойки уже имеющиеся с данной ветки для моего ПЧ FC51 (пока важно убедиться запуститься ли это хоть как-то)
- Тест через командную строку прошел: --- Config file is OK ---
- В файле custom.hal вписал все параметры, но в основных настройках config.hal не нашел "net spindle-at-speed <= vfdmod.spindle.at-speed"
решил закомментировать эту стройку символом #.

- из описания "Запустите LinuxCNC и убедитесь что компонент vfdmod" не понял как это сделать....=(

- создал файлы xml и hal

- пробую запустить LinuxCNC, в ответ окно ошибки:
Создать файл.rar
(11.81 КБ) 82 скачивания

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

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

Сообщение Serg »

smart4on писал(а): hm2_eth: rtapi_app_main: Network is unreachable (-101)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

Serg писал(а): 18 фев 2021, 21:51
smart4on писал(а): hm2_eth: rtapi_app_main: Network is unreachable (-101)
Ошибки пропала, или я ее не вижу...
Когда включил плату, при запуске LinuxCNC ничего не запускается.
При попытке повторного подключение выскакивает окно что приложение уже запущено...
Соглашаемся на перезапуск. Выкидывает два окна с ошибками:
Новый каталог.rar
(24.96 КБ) 79 скачиваний
возможно что сейчас у меня два профиля для загрузки? Раньше был CONFIG.ini (для платы управления)
сейчас добавился для пч my-config-file.ini
Аватара пользователя
rage
Мастер
Сообщения: 1002
Зарегистрирован: 13 окт 2014, 09:14
Репутация: 617
Настоящее имя: Константин
Откуда: Новосибирск
Контактная информация:

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

Сообщение rage »

smart4on писал(а): 19 фев 2021, 19:34
Serg писал(а): 18 фев 2021, 21:51
smart4on писал(а): hm2_eth: rtapi_app_main: Network is unreachable (-101)
Ошибки пропала, или я ее не вижу...
Когда включил плату, при запуске LinuxCNC ничего не запускается.
При попытке повторного подключение выскакивает окно что приложение уже запущено...
Соглашаемся на перезапуск. Выкидывает два окна с ошибками:
Новый каталог.rar

возможно что сейчас у меня два профиля для загрузки? Раньше был CONFIG.ini (для платы управления)
сейчас добавился для пч my-config-file.ini
./CONFIG.hal:55: Pin 'iocontrol.0.coolant-flood' does not exist

Если хотите и дальше использовать линукс, то нужно научиться самому читать логи и находить ошибки. Это только начало, и если с этим вы уже не можете справиться самостоятельно, то боюсь дальше ваш ждет большое разочерование.
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

rage писал(а): 19 фев 2021, 20:13

./CONFIG.hal:55: Pin 'iocontrol.0.coolant-flood' does not exist

Если хотите и дальше использовать линукс, то нужно научиться самому читать логи и находить ошибки. Это только начало, и если с этим вы уже не можете справиться самостоятельно, то боюсь дальше ваш ждет большое разочерование.
(для просмотра содержимого нажмите на ссылку)
Особо не пользовался Linux, но интерес есть к ней. Вопрос как научиться правильно читать логи и находить ошибки?
Думою что со временем придет небольшое понимание. Просто хочется чтобы интерес не потух, и процесс двигался.

Я читая логи и видел фигу"ERROR Connection timed out: select" думал в большей степени только туда.
nau
Новичок
Сообщения: 33
Зарегистрирован: 02 фев 2020, 11:10
Репутация: 11
Настоящее имя: Антон
Откуда: Алматы
Контактная информация:

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

Сообщение nau »

Распечатал на 3д принтере корпус для адаптера, теперь абсолютно никаких ошибок.
20210219_130728.jpg (1756 просмотров) <a class='original' href='./download/file.php?id=192484&sid=4f7da03ef15351a4561c11ffda5161a3&mode=view' target=_blank>Загрузить оригинал (266 КБ)</a>
20210219_180833.jpg (1756 просмотров) <a class='original' href='./download/file.php?id=192485&sid=4f7da03ef15351a4561c11ffda5161a3&mode=view' target=_blank>Загрузить оригинал (156.55 КБ)</a>
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

При запуске LinuxCNC окно ошибки (debug):
postgui.hal:2: Pin 'fc051.spindle.rpm-out' does not exist

Если эту стройку закомментировать в postgui.hal, то в логе с ошибкой появляется следующая строчка из postgui

На что и куда можно посмотреть?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

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

Сообщение nkp »

smart4on писал(а): 20 фев 2021, 14:25 При запуске LinuxCNC окно ошибки (debug):
postgui.hal:2: Pin 'fc051.spindle.rpm-out' does not exist

Если эту стройку закомментировать в postgui.hal, то в логе с ошибкой появляется следующая строчка из postgui

На что и куда можно посмотреть?
выложи сюда папку с конфигом(то есть все файлы конфигурации)
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

nkp писал(а): 20 фев 2021, 14:48
smart4on писал(а): 20 фев 2021, 14:25 При запуске LinuxCNC окно ошибки (debug):
postgui.hal:2: Pin 'fc051.spindle.rpm-out' does not exist

Если эту стройку закомментировать в postgui.hal, то в логе с ошибкой появляется следующая строчка из postgui

На что и куда можно посмотреть?
выложи сюда папку с конфигом(то есть все файлы конфигурации)
Запускаю LinuxCNC на CONFIG.ini. Настройки которые менял для ПЧ: my-config-file.ini и custom.hal.
Дистрибутив ставил для AMD64.deb. Стоит на материнке проц AMD Athlon 64 processor 3000+

ПЧ (с клеммы заземления объединил с полигоном на метеринке). Включил подтяжку RS485 через джампер S640 на частотнике.
Когда запускаю программу LinuxCNC, светодиод возле разъёма ПЧ начинает моргать.
Свисток через команду вижу

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

# udevadm info -a -n /dev/ttyUSB0
Аватара пользователя
rage
Мастер
Сообщения: 1002
Зарегистрирован: 13 окт 2014, 09:14
Репутация: 617
Настоящее имя: Константин
Откуда: Новосибирск
Контактная информация:

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

Сообщение rage »

smart4on писал(а): При запуске LinuxCNC окно ошибки (debug):
postgui.hal:2: Pin 'fc051.spindle.rpm-out' does not exist
Не нужно бездумно вставлять куски чужих конфигов в свои.
В postgui.hal замените fc051 на vfdmod
Аватара пользователя
smart4on
Почётный участник
Почётный участник
Сообщения: 160
Зарегистрирован: 27 июн 2016, 18:54
Репутация: 34
Настоящее имя: Михаил
Откуда: Беларусь, Минск
Контактная информация:

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

Сообщение smart4on »

Всем хорошего воскресного дня)

Получилось запустить LinuxCNC, уже прогресс) Но шпиндель не хочет крутиться.
Пытаюсь самостоятельно разобраться в этой пока мало известной мне экосистеме:
-Открыл установки HAL и вижу что очень много ошибок vfdmod.rs485.last-error
Параметры_HAL.png (1626 просмотров) <a class='original' href='./download/file.php?id=192543&sid=4f7da03ef15351a4561c11ffda5161a3&mode=view' target=_blank>Загрузить оригинал (87.08 КБ)</a>
Я так понимаю вызвана это возможным не экранированным кабелем, или не настроенными таймаутами в my-config-file.ini?
- вижу что задание (vfdmod.spindle.rpm.in) приходит. Причем оно изменяется если давать разные обороты в MDI.

Что смущает, в custom.hal у меня есть компонент "vfdmod.spindle.at-speed" однако в основном CONFIG.hal у меня такого нет.
Есть только net spindle-speed-cmd;net spindle-cw и net spindle-ccw.

Логика в моих мыслях есть? Или я не туда смотрю?
Ответить

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