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

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

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

Сообщение aekhv »

1. Строка "loadusr -w vfdmod fc51.ini" записана неправильно. Прочитайте ВНИМАТЕЛЬНО инструкцию, ошибка в одном символе.
2. В папке "мой-станок" нет файла "fc51.ini". Есть какой-то другой файл с похожим названием.
Видео инструкции точно не будет, поскольку в вашем случае начать придётся с базовых навыков владения ОС (не обязательно Linux).
Аватара пользователя
成龙79
Кандидат
Сообщения: 61
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 4
Контактная информация:

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

Сообщение 成龙79 »

BentScrew писал(а):1. Строка "loadusr -w vfdmod fc51.ini" записана неправильно. Прочитайте ВНИМАТЕЛЬНО инструкцию, ошибка в одном символе.
2. В папке "мой-станок" нет файла "fc51.ini". Есть какой-то другой файл с похожим названием.
Видео инструкции точно не будет, поскольку в вашем случае начать придётся с базовых навыков владения ОС (не обязательно Linux).
Спасибо за ответ! понял! Заменил в строке "w" на заглавную linuxcnc запустился ! Инструкция из первого поста исчезла по этому следующие строки в castom hal из своих постов на форуме а так же из вашей инструкции на форуме linuxcnc.org
Снимок экрана_2020-05-14_09-01-23.png (4821 просмотр) <a class='original' href='./download/file.php?id=181332&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (189.96 КБ)</a>
они немного отличаются (в частности 3 строка ). Вот с этими строками удалось запустить linuxcnc остальное закоментировал
Снимок экрана_2020-05-14_09-31-12.png (4821 просмотр) <a class='original' href='./download/file.php?id=181333&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (89.52 КБ)</a>
Снимок экрана_2020-05-14_09-39-58.png (4821 просмотр) <a class='original' href='./download/file.php?id=181334&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (244.68 КБ)</a>
Можно ли с этим запускать шпиндель или нужно еще что то исправить? Спрашиваю тк компьютер после тщетных попыток запустить шпиндель в гараже был демонтирован из шкафа станка и лежит дома в разобранном виде на табурете. Хотелось бы произвести отладку в домашних условиях и исключить беготню с компьютером в гараж и обратно.
p.s Спасибо за вашу помощь! ТК живу в глухой деревне кроме вас мне помочь не кому. :wik:
三条通往知识的道路:反思之路是最高贵之路,模仿之路是最简单之路,体验之路是最苦之路
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

成龙79 писал(а):Инструкция из первого поста исчезла
Инструкция переехала поближе к исходникам, на Github Wiki. Ссылка есть в первом сообщении темы.
成龙79 писал(а):Вот с этими строками удалось запустить linuxcnc остальное закоментировал
В теории у вас должно работать задание частоты, запуск вперёд и останов. Но только при условии, что в INI корректно прописаны параметры связи и адреса регистров. Без подключенного частотника проверить не получится.

И ещё проверьте что последовательный порт указываете верно, "/dev/ttyS0" это обычно встроенный в мамку COM-порт, если у вас USB переходник, то будет что-то вроде "/dev/ttyUSB0".
Аватара пользователя
成龙79
Кандидат
Сообщения: 61
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 4
Контактная информация:

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

Сообщение 成龙79 »

Хорошо буду пробовать на станке.Спасибо! Да у меня как раз rs232 -> rs485 converter
三条通往知识的道路:反思之路是最高贵之路,模仿之路是最简单之路,体验之路是最苦之路
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

Настроил для двух частотников, погонял - работает отлично, как часы. Конфигурация и отладка, после mb2hal - просто удовольствие!

Конфиги для Danfoss FC-051 и Altivar 212 приложил, может пригодятся кому.
Вложения
atv212.ini
(869 байт) 428 скачиваний
fc051.ini
(3.29 КБ) 454 скачивания
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

Отличный компонент. Настроил на Delta VFD-E
Вложения
spindle_delta.ini
(4.47 КБ) 452 скачивания
Последний раз редактировалось galexey 27 май 2020, 08:14, всего редактировалось 1 раз.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

galexey писал(а):Настроил на Delta VFD
А модель-то частотника какая? Или конфиг на всех дельтах должен работать?
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

У меня VFD075E43A. Как минимум на всей серии VFD-E будет работать.

Подскажите, есть возможность работать с двумя и более частотниками с этим компонентом?
Последний раз редактировалось galexey 27 май 2020, 08:19, всего редактировалось 1 раз.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

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

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

Сообщение aekhv »

galexey писал(а):Подскажите, есть возможность работать с двумя и более частотниками с этим компонентом?
Да, без проблем. Делаете два INI, в секции Common прописываете разные ComponentName. После этого в HAL будут доступны оба модуля.

Пример:

my-vfd-one.ini

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

[Common]
ComponentName=vfd-one
...
my-vfd-two.ini

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

[Common]
ComponentName=vfd-two
...
custom.hal

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

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

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

Сообщение aekhv »

Тут надо добавить, что оно будет работать только на разных последовательных портах. То есть каждому компоненту - по одному порту. Если вы хотите через один порт общаться с разными slave, то такое не поддерживается.
galexey
Опытный
Сообщения: 104
Зарегистрирован: 01 апр 2012, 21:35
Репутация: 9
Контактная информация:

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

Сообщение galexey »

BentScrew писал(а):Тут надо добавить, что оно будет работать только на разных последовательных портах. То есть каждому компоненту - по одному порту. Если вы хотите через один порт общаться с разными slave, то такое не поддерживается.
Да, вопрос был по работе с несколькими slave.
В любом случае, спасибо за проделанную работу. Очень удобный компонент.
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

galexey писал(а):Да, вопрос был по работе с несколькими slave.
Если не одновременно, то можно и с несколькими. У меня два шпинделя на станке, физически висят на одной шине 485.
Работает. По м-команде выгружается один компонент, загружается другой, и переключается несколько пинов. Без перезагрузки linuxcnc.
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

Раз идея полезная, то код добавлю, надеюсь сэкономит кому-то время.

исполняемый файл [M150], лежит в каталоге routines. в linuxcnc.ini этот каталог настроен как исходный для М-файлов.

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

#!/bin/bash
## switch spindle command
## M150 P1 - ATV212 slow spindle
## M150 P2 - FC051 quick spindle 24000

spindle=$1

case $spindle in
[1]*) 
    halcmd unload fc051
    sleep 2
    halcmd loadusr vfdmod hal/atv212.ini
    halcmd unlinkp fc051.control.run-forward
    halcmd unlinkp fc051.control.run-reverse
    halcmd unlinkp fc051.spindle.rpm-in
    halcmd unlinkp fc051.spindle.at-speed
    halcmd net spindle-forward spindle.0.forward atv212.control.run-forward
    halcmd net spindle-reverse spindle.0.reverse atv212.control.run-reverse
    halcmd net spindle-vel-cmd-rpm spindle.0.speed-out-abs atv212.spindle.rpm-in
    halcmd net spindle-at-speed spindle.0.at-speed  atv212.spindle.at-speed
    ;;
[2]*) 
    halcmd unload atv212
    sleep 2
    halcmd loadusr vfdmod hal/fc051.ini
    halcmd unlinkp atv212.control.run-forward
    halcmd unlinkp atv212.control.run-reverse
    halcmd unlinkp atv212.spindle.rpm-in
    halcmd unlinkp atv212.spindle.at-speed
    halcmd net spindle-forward spindle.0.forward fc051.control.run-forward
    halcmd net spindle-reverse spindle.0.reverse fc051.control.run-reverse
    halcmd net spindle-vel-cmd-rpm spindle.0.speed-out-abs fc051.spindle.rpm-in
    halcmd net spindle-at-speed spindle.0.at-speed  fc051.spindle.at-speed
    ;;
*)
    >&2 echo "Invalid P parameter for M150 [$0] [$1] [$2] [$3]"
    exit 1
    ;;
esac
В линуксцнс набираем
M150 P2 - переключаемся на второй шпинель.
M150 P1 - обратно на первый.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

Я бы добавил -Wn <component-name> для надёжности, иначе нет полной уверенности, что компонент загружен и готов к работе.

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

...
halcmd loadusr -Wn atv212 vfdmod hal/atv212.ini
...
halcmd loadusr -Wn fc051 vfdmod hal/fc051.ini
...
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

Да, так лучше. И sleep тогда можно убрать скорей всего.
Аватара пользователя
成龙79
Кандидат
Сообщения: 61
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 4
Контактная информация:

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

Сообщение 成龙79 »

alex_sar писал(а):Настроил для двух частотников, погонял - работает отлично, как часы. Конфигурация и отладка, после mb2hal - просто удовольствие!

Конфиги для Danfoss FC-051 и Altivar 212 приложил, может пригодятся кому.
Покажите свой custom.hal файл и на каком дистрибутиве запускали?. Не не могу запустить у себя частотник FC051. Пробовал ваш config fc051.ini на stretch amd64 linuxcnc запустился (только со строками в cutom.hal о которых я говорил ранее), в графическом окне программы включается шпиндель но частотник не реагирует на команды.
На частотнике параметры выставленны:
8-01 (0- цыфровое управление и командное слово)
8-02 (1-rs 485)
8-30 (2-modbus rtu)
8-32 (2-9600)
Снес дистрибутив stretch и установил Wheezy i386 на этом дистрибутиве при запуске linuxcnc выпадает ошибка что нет такого файла.
1.png (4297 просмотров) <a class='original' href='./download/file.php?id=181917&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (257.78 КБ)</a>
三条通往知识的道路:反思之路是最高贵之路,模仿之路是最简单之路,体验之路是最苦之路
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

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

Сообщение aekhv »

Ошибка в файле custom.hal:

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

loadusr -W fc051.ini
Как должно быть написано в инструкции, ссылка в первом сообщении темы.

Для понимания: http://linuxcnc.org/docs/2.6/html/hal/b ... _loadusr_a
alex_sar
Мастер
Сообщения: 1718
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 286
Настоящее имя: Алексей
Контактная информация:

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

Сообщение alex_sar »

成龙79 писал(а):
alex_sar писал(а):Настроил для двух частотников, погонял - работает отлично, как часы. Конфигурация и отладка, после mb2hal - просто удовольствие!

Конфиги для Danfoss FC-051 и Altivar 212 приложил, может пригодятся кому.
Покажите свой custom.hal файл и на каком дистрибутиве запускали?. Не не могу запустить у себя частотник FC051. Пробовал ваш config fc051.ini на stretch amd64 linuxcnc запустился (только со строками в cutom.hal о которых я говорил ранее), в графическом окне программы включается шпиндель но частотник не реагирует на команды.
На частотнике параметры выставленны:
8-01 (0- цыфровое управление и командное слово)
8-02 (1-rs 485)
8-30 (2-modbus rtu)
8-32 (2-9600)
Снес дистрибутив stretch и установил Wheezy i386 на этом дистрибутиве при запуске linuxcnc выпадает ошибка что нет такого файла.
1.png
У меня linuxcnc 2.8 так что custom.hal не поможет для 2.7

Проблема вот в том, что выше написали. Ещё очень рекомендую на период отладки включить дебаг (добавить --debug)
loadusr -W vfdmod --debug vfd-config-file.ini
и запускать линкусцнц из консоли. Запускаете терминал, заходите в каталог с конфигурацией, и запускаете команду
linuxcnc machine-configname.ini
тогда вы можете наблюдать что там происходит в сети модбус. Это значительно облегчает задачу. Ещё есть параметр в .ini файле чтобы замедлить обмен - посмотрите документацию. Помогает, чтобы не мелькали цифры-буквы на экране.

У меня конкретно была проблема с соединением RS-485. Миллион раз читал про это и всё равно сделал неправильно первый раз. Подключать надо экранированной витой парой, экран подключается к GND только с одной стороны - это важно. Если есть вывод GND в адаптере RS-485 - лучше туда. Если нет, то к GND разъема RS-485 на частотнике (на одном, если их больше одного, как у меня).
Аватара пользователя
成龙79
Кандидат
Сообщения: 61
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 4
Контактная информация:

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

Сообщение 成龙79 »

BentScrew писал(а):Ошибка в файле custom.hal:

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

loadusr -W fc051.ini
Как должно быть написано в инструкции, ссылка в первом сообщении темы.

Для понимания: http://linuxcnc.org/docs/2.6/html/hal/b ... _loadusr_a
Спасибо! Удалось запустить с такими строками в custom.hal
Снимок экрана_2020-06-02_23-36-39.png (4131 просмотр) <a class='original' href='./download/file.php?id=182149&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (193.2 КБ)</a>
но как только раскомментировать строку <net spindle-at-speed > при запуске выдает ошибку что этот пин уже прочитан
Снимок экрана_2020-06-02_23-38-06.png (4131 просмотр) <a class='original' href='./download/file.php?id=182150&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (61.21 КБ)</a>
alex_sar писал(а):
成龙79 писал(а):
alex_sar писал(а):Настроил для двух частотников, погонял - работает отлично, как часы. Конфигурация и отладка, после mb2hal - просто удовольствие!

Конфиги для Danfoss FC-051 и Altivar 212 приложил, может пригодятся кому.
Покажите свой custom.hal файл и на каком дистрибутиве запускали?. Не не могу запустить у себя частотник FC051. Пробовал ваш config fc051.ini на stretch amd64 linuxcnc запустился (только со строками в cutom.hal о которых я говорил ранее), в графическом окне программы включается шпиндель но частотник не реагирует на команды.
На частотнике параметры выставленны:
8-01 (0- цыфровое управление и командное слово)
8-02 (1-rs 485)
8-30 (2-modbus rtu)
8-32 (2-9600)
Снес дистрибутив stretch и установил Wheezy i386 на этом дистрибутиве при запуске linuxcnc выпадает ошибка что нет такого файла.
Снимок экрана_2020-06-02_23-38-06.png (4131 просмотр) <a class='original' href='./download/file.php?id=182150&sid=16e6a506756d425746369d3aee4d95b2&mode=view' target=_blank>Загрузить оригинал (61.21 КБ)</a>
У меня linuxcnc 2.8 так что custom.hal не поможет для 2.7

Проблема вот в том, что выше написали. Ещё очень рекомендую на период отладки включить дебаг (добавить --debug)
loadusr -W vfdmod --debug vfd-config-file.ini
и запускать линкусцнц из консоли. Запускаете терминал, заходите в каталог с конфигурацией, и запускаете команду
linuxcnc machine-configname.ini
тогда вы можете наблюдать что там происходит в сети модбус. Это значительно облегчает задачу. Ещё есть параметр в .ini файле чтобы замедлить обмен - посмотрите документацию. Помогает, чтобы не мелькали цифры-буквы на экране.

У меня конкретно была проблема с соединением RS-485. Миллион раз читал про это и всё равно сделал неправильно первый раз. Подключать надо экранированной витой парой, экран подключается к GND только с одной стороны - это важно. Если есть вывод GND в адаптере RS-485 - лучше туда. Если нет, то к GND разъема RS-485 на частотнике (на одном, если их больше одного, как у меня).

Спасибо! Кабель обязательно заменю на экранированный. Тоесть если запустить как вы говорите: можно видеть связь с частотником по модбас? Я просто запускал как мне советовали ранее: Linuxcnc пр.кн.мыши > свойства>запуск>запускать в терминале. Это не тоже самое?
三条通往知识的道路:反思之路是最高贵之路,模仿之路是最简单之路,体验之路是最苦之路
Ответить

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