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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

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

Сообщение aekhv » 24 мар 2020, 14:30

Всем доброго времени года. Родил новую версию компонента для управления частотником, также с претензией на универсальность, но уже без необходимости компилировать исходники. Теперь все настройки берутся из текстового INI-файла, для популярных дистрибутивов LinuxCNC 2.7 на базе Debian Wheezy/Stretch подготовлены установочные deb-ки.

Исходники: https://github.com/aekhv/vfdmod
Документация: https://github.com/aekhv/vfdmod/wiki/Russian-(Русский)
Дистрибутивы DEB: https://github.com/aekhv/vfdmod/releases

Возможности
  • Задание частоты кодами функций 0x06 (write holding register) и 0x10 (write multiple holding registers).
  • Управление запуском и сброс ошибок (fault reset) кодами функций 0x06, 0x10, 0x05 (write coil) и 0x0F (write multiple coils).
  • Мониторинг любого количества дополнительных параметров (напряжение, ток, температура и т.п.) кодами функций 0x01 (read coils) и 0x03 (read holding registers) с созданием в HAL пинов различных типов: bit, float, s32 и u32.
  • Формирование at-speed с заданной точностью.
  • Генератор панели управления PyVcp.
  • Мониторинг качества связи RS485: подключено (да/нет), количество ошибок передачи и код последней ошибки.
  • Переподключение адаптера RS485 при возникновении определённых кодов ошибок (коды выбираются пользователем).
  • Частотные преобразователи Huanyang не поддерживаются поскольку используют не стандартный протокол MODBUS.

Скриншоты

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

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


Примеры файлов конфигурации

  • Tecorp HC1-C+
    Код: Выделить всёРазвернуть
    [Common]
    MaxSpeedRPM=24000
    MinSpeedRPM=3000
    AtSpeedThreshold=0.01

    [RS485]
    SlaveAddress=1
    SerialDevice=/dev/rs485
    BaudRate=19200
    DataBits=8
    Parity=N
    StopBits=1
    ConnectionErrorList=5
    ConnectionDelay=2000

    [Control]
    Address=0x2000
    RunForwardValue=0x000A
    RunReverseValue=0x0006
    FaultResetValue=0x0010
    StopValue=0x0001

    [SpindleRpmIn]
    Address=0x2001
    Multiplier=1
    Divider=6

    [SpindleRpmOut]
    Address=0x0004
    Multiplier=10
    Divider=1

    [Command frequency]
    Address=0x0001
    Multiplier=1
    Divider=10
    PinType=float
    PinName=command-frequency

    [Output frequency]
    Address=0x0002
    Multiplier=1
    Divider=10
    PinType=float
    PinName=output-frequency

    [Output current]
    Address=0x0003
    Multiplier=1
    Divider=10
    PinType=float
    PinName=output-current

    [DC bus voltage]
    Address=0x0005
    Multiplier=1
    Divider=10
    PinType=float
    PinName=dc-bus-voltage

    [Temperature]
    Address=0x0006
    Multiplier=1
    Divider=10
    PinType=float
    PinName=temperature

  • Omron CIMR-V7AZ: viewtopic.php?p=563283#p563283
  • Danfoss FC-051 и Altivar 212: viewtopic.php?p=566261#p566261
  • Delta VFD075E43A: viewtopic.php?p=566710#p566710

И ещё по теме

Последний раз редактировалось aekhv 06 июн 2020, 13:30, всего редактировалось 12 раз(а).
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение aekhv » 24 мар 2020, 14:36

В ближайших планах:
  • Генератор PyVcp панелей, custom.hal и postgui.hal из ini-файла.
  • Переподключение при внезапной пропаже/появлении переходника USB-RS485. Сейчас эта ситуация никак не отслеживается.
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение aekhv » 31 мар 2020, 17:26

Добавил генератор PyVcp, работает вот так:
Код: Выделить всёРазвернуть
vfdmod --pyvcp my-config-file.ini > my-pyvcp-panel.xml
vfdmod --postgui my-config-file.ini > postgui.hal

На выходе будет простейшая панель со всеми параметрами, которые прописаны в ini-файле. Удобно для тестирования.
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение 成龙79 » 05 апр 2020, 08:50

Добрый день! Подскажите где взять параметры отмеченные на скрине ? Пытаюсь подружить VLT FC51 с Linuxcnc 2.7.15 (Debian Wheezy) через конвектор rs232>rs485 .
На частотнике выставил значения параметров : 8-01 ( 0 или 2 ) ставл и 0 и 2
8-02 (1) rs 485
8-30 (2) -modbus
8-31 (1) адрес шины по умолчанию
8-32 (2 - (9600)) менял и в большую и меньшую сторону как и в конфигурации linuxcnc
8-33 (2) - нет контроля четности, 1 стоп бит.
Конфигурацию делал stepconfig по инструкции с ютуба одного Польского блогера: ссылка на видео ( https://youtu.be/OJap9CVGacg) дохожу до момента где должна появится связь но связи нет. Хочу попробовать ваш метод.
Вложения
Vfdmod - управляем частотником по MODBUS RTU 1.png
成龙79
Новичок
 
Сообщения: 22
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 0

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

Сообщение aekhv » 05 апр 2020, 09:03

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

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

Сообщение aekhv » 05 апр 2020, 09:37

Мануал: https://prom-electric.ru/media/fc51.pdf

Стр.28:
Код: Выделить всёРазвернуть
Register number
...
50000 Input data: Frequency converter control word register (CTW)
50010 Input data: Bus reference register (REF).
...

Стр.30:
Код: Выделить всёРазвернуть
5.4 How to Access Parameters
5.4.1 Parameter Handling
The PNU (Parameter Number) is translated from the register address contained in the Modbus read or write message. The parameter number is translated
to Modbus register address as (10 x parameter number -1)DECIMAL.


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

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

Сообщение 成龙79 » 05 апр 2020, 14:14

Хорошо Спасибо! буду изучать. :roll:
成龙79
Новичок
 
Сообщения: 22
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 0

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

Сообщение alex_sar » 15 апр 2020, 23:42

Классная идея! Такого не хватало.

Вопрос - инструкции по сборке есть?
alex_sar
Опытный
 
Сообщения: 194
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 21
Настоящее имя: Алексей

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

Сообщение aekhv » 16 апр 2020, 04:04

alex_sar писал(а):Вопрос - инструкции по сборке есть?

Я всё собираю в Qt4, который в Wheezy ставится из штатного репозитория: apt-get install qtcreator. В Qt5 тоже собирается без проблем.

На гитхабе сейчас лежит сырая версия с возможностью переподключаться при ошибках связи, она не совсем корректно работает, советую дождаться релиза. На этих выходных планирую доделать.
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение alex_sar » 16 апр 2020, 12:57

Понял, спасибо, подожду релиза.

Просьба всё-таки Makefile хотя бы положить в репозиторий. Когда-то давно ставил qtcreator, там вроде есть такая опция стандартная - makefile создать.
alex_sar
Опытный
 
Сообщения: 194
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 21
Настоящее имя: Алексей

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

Сообщение alex_sar » 18 апр 2020, 18:01

Разобрался, пишу для тех кому тоже удобнее компилировать из консоли. Ставил на рабочей машине под ubuntu 18.04, на дебиан могут отличаться имена пакетов, суть такая же.

Нужно поставить
Код: Выделить всёРазвернуть
apt install qtcreator qt5-default


потом заходим в папку vfdmod и запускаем qmake && make

если linuxcnc также собран из исходников и не установлен, нужно поменять строчки в файле vfdmod.pro
Код: Выделить всёРазвернуть
INCLUDEPATH += /usr/include/linuxcnc
LIBS += -lmodbus -llinuxcnchal

на
Код: Выделить всёРазвернуть
INCLUDEPATH += /usr/include/linuxcnc
INCLUDEPATH += /home/user/linuxcnc/include
LIBS += -lmodbus -llinuxcnchal -L/home/user/linuxcnc/lib
alex_sar
Опытный
 
Сообщения: 194
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 21
Настоящее имя: Алексей

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

Сообщение Taganrog » 22 апр 2020, 11:42

BentScrew, Добрый день, пытаюсь запустить частотник OMRON varispeed v7cimr с вашим плагином. Настроил частоту и параметры порта на частотнике и в ini файле. Добавил строку запуска в HAL с режимом отладки. После старта получаю такие сообщения:
Vfdmod - управляем частотником по MODBUS RTU modbus.PNG


В hal стоит статус нет связи и постоянно накапливаются ошибки. Я так понимаю что идет запись параметров с помощью команды 06H (запись 1 регистра). Мой частотник, насколько я понял из даташита, такой команды незнает.
Vfdmod - управляем частотником по MODBUS RTU протокол.PNG

Знает только 10H.

Можно ли что-то поправить в плагине чтоб подружить таки их ?
Документация на всякий случай:
OMRON varispeed v7cimr - v7azb1p5_ru.pdf
(5.33 Мб) Скачиваний: 86
Аватара пользователя
Taganrog
Мастер
 
Сообщения: 1236
Зарегистрирован: 15 апр 2015, 16:32
Откуда: Брянск
Репутация: 282
Настоящее имя: Евгений

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

Сообщение aekhv » 22 апр 2020, 13:13

Taganrog писал(а):Знает только 10H.

Можно ли что-то поправить в плагине чтоб подружить таки их ?

Суть проблемы ясна, поправить можно. Надо только подумать как это отразить в ini-файле, чтобы юзер мог указывать код команды записи (0х06 или 0х10)...

Пы.Сы. В соседней теме у человека тоже Omron, так там ещё интереснее, на запуск/останов он принимает только код 0х05. Что-то эти Омроны замороченные слишком :)
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение Taganrog » 22 апр 2020, 13:20

BentScrew писал(а): Надо только подумать как это отразить в ini-файле, чтобы юзер мог указывать код команды записи (0х06 или 0х10)...

А если не переписывать алгоритм , а добавить параметр "Использовать только 10H" например в группу RS485 типа bool. И если false то писать в порт как и было, а если thue то записывать этот же 1 параметр только через 10Н с указанием количества адресов равным 1 ?
Аватара пользователя
Taganrog
Мастер
 
Сообщения: 1236
Зарегистрирован: 15 апр 2015, 16:32
Откуда: Брянск
Репутация: 282
Настоящее имя: Евгений

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

Сообщение aekhv » 22 апр 2020, 13:34

Не всё так просто, задание частоты может работать через 0х06 или 0х10. А запуск/останов может работать через 0x05 или 0x06. То есть true/false все возможные комбинации не описывает. У меня есть идея как всё сделать красиво.
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение alex_sar » 23 апр 2020, 15:06

вообще есть модуль стандартный mb2hal (оказывается :) ) - наверное чем с нуля пилить. лучше было бы его чутка доработать - сделать ему более user-friendly настройку для задач управления частотником. по крайней мере гляньте как конфиг там устроен. там немного generic всё это сделано - регистры modbus можно писать/читать из linuxcnc.

настроить mb2hal для частотника непрограммисту будет трудно.

зато - работает, и 0x06 0x10 там поддерживается.
alex_sar
Опытный
 
Сообщения: 194
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 21
Настоящее имя: Алексей

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

Сообщение Taganrog » 23 апр 2020, 15:38

alex_sar писал(а): наверное чем с нуля пилить.

Александр уже доработал плагин. Его плюс в том что очень легко устанавливается и настраивается без танцев с бубнами.
Аватара пользователя
Taganrog
Мастер
 
Сообщения: 1236
Зарегистрирован: 15 апр 2015, 16:32
Откуда: Брянск
Репутация: 282
Настоящее имя: Евгений

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

Сообщение aekhv » 23 апр 2020, 15:47

alex_sar писал(а):настроить mb2hal для частотника непрограммисту будет трудно.

Вот именно! Поэтому мы пойдём своим путем :hehehe:

alex_sar писал(а):зато - работает, и 0x06 0x10 там поддерживается.

Поддержку 0х10 сделал на коленке, тестер-доброволец говорит - работает.
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение 成龙79 » 24 апр 2020, 08:26

Добрый день! Извиняюсь за безграмотность, программирование для меня чуждо и все делаю впервый раз.По этому прошу помощи в настройке.
И оценки правильности моих действий.
1.Были установлены deb. файлы из начала темы. в результате появились в директории usr/bin несколько vfd файлов
Vfdmod - управляем частотником по MODBUS RTU IMG_20200424_083201.jpg
при нажатии на которые правой кнопкой предлагается открть с помощю linuxcnc.
Vfdmod - управляем частотником по MODBUS RTU IMG_20200424_091716.jpg
Далее выпадает ошибка.
Vfdmod - управляем частотником по MODBUS RTU IMG_20200424_091747.jpg


Так же появился пустой файл в папке Evgenii под названием my-config-file.
Vfdmod - управляем частотником по MODBUS RTU IMG_20200424_083057.jpg


2.Заполнил этот путой файл по иннструкции а так же с использованием мануала на чп fc51 https://euroec.by/news/article/61 и гид по настройке чп овен https://ural-avtomatika.ru/sites/defaul ... achat1.pdf
в результате получил такой файл.
my-config-file.ini
(855 байт) Скачиваний: 106
成龙79
Новичок
 
Сообщения: 22
Зарегистрирован: 11 сен 2016, 16:49
Репутация: 0

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

Сообщение aekhv » 24 апр 2020, 10:19

成龙79 писал(а):1.Были установлены deb. файлы из начала темы.

Не надо ставить все deb-файлы! Только один, для своей ОС.

成龙79 писал(а):при нажатии на которые правой кнопкой предлагается открть с помощю linuxcnc.

Вообще неправильно! Читайте инструкцию в первом сообщении темы.

成龙79 писал(а):в результате получил такой файл.

Мануал на частотник я не читал, но конфиг файл точно неправильный. MinSpeedRPM не может быть равно нулю. Адреса регистров не могут быть больше чем 65535 (0хFFFF).
Аватара пользователя
aekhv
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: aekhv, aftaev, barroweer, Bing [Bot], Google [Bot], Google Feedfetcher, Leo_1943, NickSon, Prav, shalek, solo, Umnik, vitzin, Vlad_Z, Yandex [bot], yurayerz, ДанилаМастер, ДмитрийП, индеецпетя

Reputation System ©'