Частотник и Modbus. Универсальная заготовка.

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

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение Serg »

iMaks-RS писал(а):юмор конечно же понятен.. но поддержки 7i96 из коробки в 2.7.14 нет.
А каким боком 7i96 к модбасу?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
schlank
Новичок
Сообщения: 2
Зарегистрирован: 01 фев 2020, 18:20
Репутация: 0
Настоящее имя: Robert Henke
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение schlank »

Tanks BentScrew for the great work!

I want to use your code with a Altivar ATV320 VDF. Can you briefly describe how to do that? Do I need to pickt he device in the config somwehere?

Thanks in advance,

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

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение aekhv »

schlank писал(а):I want to use your code with a Altivar ATV320 VDF. Can you briefly describe how to do that? Do I need to pickt he device in the config somwehere?
Hi,

I think Spindle-Vfd module should work perfectly if your Altivar VFD supports MODBUS RTU mode. A quick start guide you can find on the first page of this topic and inside the 'spindle-vfd.c' source file. Unfortunately all comments are in russian, but I believe Google translator will help.
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение aekhv »

Захотелось переписать компонент в Qt с заданием настроек из ini-файла, чтоб не нужно было ковыряться в исходниках. Возникли сомнения в правильности моих расчётов задержки в конце передачи. Помогите волшебным пенделем :)
UAVpilot писал(а):
Modbus RTU — компактный двоичный вариант. Сообщения разделяются по паузе в линии. Сообщение должно начинаться и заканчиваться интервалом тишины, длительностью не менее 3,5 символов при данной скорости передачи. Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс, соответственно. Проверка целостности осуществляется с помощью CRC.
Не уверен, но, кажется, бит чётности всегда присутствует, даже если не используется? Тогда считаю так:

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

unsigned long minimum_delay_ns = 3500000 * (conn.dataBits + 1 + conn.stopBits) / conn.baudRate; // +1 потому что бит чётности
Для 19200, 8N1 получается 3500000 * (8 + 1 + 1) / 19200 = 1822 нс. Как-то не сходится с примером выше, каким образом получилось 1750 нс?
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение aekhv »

Почитал описание протокола: https://www.best-microcontroller-projec ... works.html

В общем, если бит чётности не используется, то и в передаче его нет. Но! Я забыл посчитать старт-бит, который сигнализирует о начале передачи. Таким образом, для 19200-8N1 всё равно минимальная задержка получается 1822 нс.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение Serg »

BentScrew писал(а):Не уверен, но, кажется, бит чётности всегда присутствует, даже если не используется? Тогда считаю так:
Нет, бит чётности, стоповые биты относятся к канальному уровню (сетевая модель OSI) и в спецификацию самого протокола не входят, ибо Modbus это уже уровни представления и приложения.
BentScrew писал(а):Для 19200, 8N1 получается 3500000 * (8 + 1 + 1) / 19200 = 1822 нс. Как-то не сходится с примером выше, каким образом получилось 1750 нс?
Тут ключевое слово "допускается".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
ССыч
Новичок
Сообщения: 17
Зарегистрирован: 29 сен 2018, 11:35
Репутация: 0
Настоящее имя: Виталий
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение ССыч »

Подскажите пожалуйста !
Имею частотник Omron MX2
Скачала компоненту, установил, настроил связь через RS232-Rs485 и spindle-vfd.c . Запустил тестовый кофниг. С частоника читает заданную частоту и момент.
Решил настроить регистры для чтения, записи и управляющие значения. И тут затык... Тут не силен где именно в описании они указаны? Помогите а ?
Вырезку из манула по части Modbus прикладываю
Сейчас в spindle-vfd так

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

#define STATUS_Command_Frequency	0x0001	
#define STATUS_Output_Frequency		0x0002	
#define STATUS_Output_Current		0x0003	
#define STATUS_Output_Voltage		0x0004	
#define STATUS_Output_Power		0x0005	
#define STATUS_Output_Torque		0x0006	
#define STATUS_Motor_RPM		0x0007	
#define STATUS_DC_Bus_Voltage		0x0008	
#define STATUS_Temperature		0x0009	
#define STATUS_Uptime			0x000A	
#define STATUS_Fault_Code		0x000B	


#define COMMAND_REGISTER		0x2000	
#define SET_FREQUENCY_REGISTER		0x2001	


#define CONTROL_Run_Fwd			0x000C	
#define CONTROL_Run_Rev			0x000D	
#define CONTROL_Stop			0x000E	
#define CONTROL_Fault_Reset		0x000F 

Вложения
MX2-ru-UsersManual_instrukcija_293.pdf
Omron MX2 Modbus
(531.44 КБ) 503 скачивания
Аватара пользователя
aekhv
Мастер
Сообщения: 393
Зарегистрирован: 17 окт 2014, 15:03
Репутация: 218
Настоящее имя: Александр
Откуда: г.Хабаровск
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение aekhv »

ССыч писал(а):Решил настроить регистры для чтения, записи и управляющие значения. И тут затык... Тут не силен где именно в описании они указаны? Помогите а ?
Я так понял адреса регистров задания частоты - 0001h и 0002h (стр. 293). Используется только один или оба - непонятно.

Команды на запуск и останов подаются установкой бит (стр. 292). Это надо делать через modbus_write_bit(), а текущая версия компонента этого не умеет, надо допиливать...
ССыч
Новичок
Сообщения: 17
Зарегистрирован: 29 сен 2018, 11:35
Репутация: 0
Настоящее имя: Виталий
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение ССыч »

BentScrew писал(а):
ССыч писал(а):Решил настроить регистры для чтения, записи и управляющие значения. И тут затык... Тут не силен где именно в описании они указаны? Помогите а ?
Я так понял адреса регистров задания частоты - 0001h и 0002h (стр. 293). Используется только один или оба - непонятно.

Команды на запуск и останов подаются установкой бит (стр. 292). Это надо делать через modbus_write_bit(), а текущая версия компонента этого не умеет, надо допиливать...
Спасибо за ответ , буду копать.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение iMaks-RS »

Ниид хелп ))

Кто бы смог реализовать одну доп. опцию? Либо подсказать что и куда прописать в конфигурационные файлы/исходники. (к ТС обращался, данным проектом он больше не занимается и врятли будет, если я правильно понял)

Нужно "через гланды" запускать шпиндель.. стартовать на максимальном напряжении/оборотах, после выхода на максимальные обороты / задержки на раскрутку - уже устанавливать обороты заданные в УП и выжидать паузу 5-7 секунд.

Причина - "ударный" аккустический звук при запуске на частотах ниже 200Гц - особенность запуска некоторых высоко-оборитистых китайских шпинделей в векторном режиме на ПЧ IEK Control A-310.

п.с.
Желательно иметь возможность отключать эту опцию по кнопке в интерфейсе.. особенно когда в шпинделе "сковородка", "балеринка", или механический краеискатель.
У ПЧ есть функции ПЛК, попробую в этом направлении глянуть, если ничего не найду в описании - напишу на суппорт iek.. может что подскажут.
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение steals_y2k »

почему бы не сделать это через отдельный конфиг под подобную обработку и/или ремап команды М3?
либо поправить пост под это дело(оптимально)
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение N1X »

iMaks-RS писал(а): особенно когда в шпинделе "сковородка", "балеринка", или механический краеискатель.
Если неприятность в принципе может произойти - она произойдет.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение iMaks-RS »

Дистр: 9.9.0 _Stretch_
Сделал по мануалу, установил пакет, сгенерировал файлы и т.д. Но не удалось создать /dev/rs485, поэтому подравил postgui.hal и вместо rs485 прописал ttyUSB0, правда пришлось изменить права доступа на 666
(для просмотра содержимого нажмите на ссылку)
Debug file information:
Note: Using POSIX realtime
/usr/bin/gmoccapy:311: GtkWarning: Invalid icon size 48

self.widgets.window1.show()

(gmoccapy:4195): GtkSourceView-CRITICAL **: gtk_source_language_manager_set_search_path: assertion 'lm->priv->ids == NULL' failed
postgui.hal:6: Pin 'vfdmod.ttyUSB0.is-connected' does not exist
4145
4191
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Что подправить нужно для запуска?
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение steals_y2k »

закомментировать на пробу этот пин, разумеется-возможно, он называется иначе.
можно в исходниках посмотреть.
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение iMaks-RS »

iMaks-RS писал(а): Pin 'vfdmod.ttyUSB0.is-connected' does not exist
предположил, что раз в сгенерированном конфигурационном файле был имено rs485, начал бодаться с его данными.. у него оказывает 3 пары вендор и модель.. хорошо что один серийник.. на второй паре "заколосилось"
Выправил файл обратно. Интерфейс запустился.. а вот ПЧ ни как не хочет принимать команды скорости.. в старой версии хоть можно было выбрать.. как управлять - по частоте или по проценту... В новой версии - нужно подбирать числитель и знаменатель.. вроде бы просто.. для % нужно умножить на 1 и поделить на 240... но не работает.. ни в какую.. Запускается на 10 Гц и всё. Или я что-то не так делаю, или "лучшее - враг хорошего".
steals_y2k
Мастер
Сообщения: 938
Зарегистрирован: 29 окт 2017, 14:08
Репутация: 60
Настоящее имя: Makc
Откуда: Ярославль
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение steals_y2k »

или регистры изменились
Аватара пользователя
iMaks-RS
Мастер
Сообщения: 1726
Зарегистрирован: 10 июл 2017, 09:25
Репутация: 198
Настоящее имя: Maks
Откуда: От туда.
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение iMaks-RS »

частотник тот-же, как и его регистры.. перешел с lpt на mesa
Аватара пользователя
Evgeny1
Кандидат
Сообщения: 70
Зарегистрирован: 03 июл 2016, 07:35
Репутация: 1
Настоящее имя: Evgeny
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение Evgeny1 »

Привет!
прошу помощи в прикручиванию ATV12 к модбасу
запутался в регистрах
отображение частоты работает, индикатор скорость набрана тоже, кнопки +- тоже работают
запуск и останов НЕ работает

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

[Common]
MaxSpeedRPM=24000
MinSpeedRPM=1000


[RS485]
SlaveAddress=1
SerialDevice=/dev/ttyUSB0
BaudRate=19200
DataBits=8
Parity=E
StopBits=1
Range: 0 ... 10000.
LoopDelay=200
ProtocolDelay=90

IsConnectedDelay=10



[Control]
# An address of the control register. 
# 50000-1
Address=0x219A

# A value to run spindle forward.
RunForwardValue=0x000F

# A value to run spindle reverse.
RunReverseValue=0x080F

# A value to reset a fault state.
# If this parameter is commented then fault reset feature will be disabled.
FaultResetValue=0x0080

# A value to stop spindle.
StopValue=0x0002


[SpindleRpmIn]
# An address of the command speed (or frequency) register.
# 50010-1
Address=0x219A

# Multiplier and Divider are integer values to correct command speed value
# before it will be written to command speed register.
# Corrected command speed = (command speed) x Multiplier / Divider.
# Use both (Multiplier & Divider) to reach float coefficient.
Multiplier=4000
Divider=24000

[SpindleRpmOut]

# An address of the output speed (or frequency) register.
Address=0x0C82

# Multiplier and Divider are integer values to correct output speed value
# after it has been read from output speed register.
# Corrected output speed = (output speed) x Multiplier / Divider.
# Use both (Multiplier & Divider) to reach float coefficient.
Multiplier=24000
Divider=4000

[User parameter 1]
Address=0x0C84
# HAL pin type: 'bit', 'float', 's32' or 'u32'.
PinType=float
Multiplier=1
Divider=100
PinName=output-current

#[User parameter 2]
#Address=0x4203
#PinType=u32
#Multiplier=1
#Divider=1
#PinName=fault-code


alex_sar
Мастер
Сообщения: 1672
Зарегистрирован: 28 авг 2018, 17:13
Репутация: 278
Настоящее имя: Алексей
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение alex_sar »

открываете atv12 modbus programming manual pdf
ищете там описание "command word"
берете битовый калькулятор в руки и считаете нужные значения для

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

# A value to run spindle forward.
RunForwardValue=0x000F

# A value to run spindle reverse.
RunReverseValue=0x080F

# A value to stop spindle.
StopValue=0x0002
Аватара пользователя
Evgeny1
Кандидат
Сообщения: 70
Зарегистрирован: 03 июл 2016, 07:35
Репутация: 1
Настоящее имя: Evgeny
Контактная информация:

Re: Частотник и Modbus. Универсальная заготовка.

Сообщение Evgeny1 »

https://inverterdrive.com/file/Schneide ... omm-Manual
страница 19
ниче не пойму что именно переводить и во что

там как раз и даны значения 000F , 0002 и 0080

PS про кнопки +- сказал наверно неправильно
если запустить ПЧ с панели и наболтать скажем 10Гц, то тыкая кнопки +- в аксисе можно добиться того чтоб индикатор (скорость набрана) стал зеленым
на ПЧ при этом скорость не меняется
Ответить

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