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

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

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

Сообщение UAVpilot » 23 ноя 2019, 20:14

iMaks-RS писал(а):юмор конечно же понятен.. но поддержки 7i96 из коробки в 2.7.14 нет.

А каким боком 7i96 к модбасу?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20293
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4854
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

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

Сообщение schlank » 01 фев 2020, 18:23

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
schlank
Новичок
 
Сообщения: 1
Зарегистрирован: 01 фев 2020, 18:20
Репутация: 0
Настоящее имя: Robert Henke

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

Сообщение aekhv » 02 фев 2020, 15:27

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
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение aekhv » 08 мар 2020, 12:54

Захотелось переписать компонент в 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
Мастер
 
Сообщения: 338
Зарегистрирован: 17 окт 2014, 15:03
Откуда: г.Хабаровск
Репутация: 189
Медальки:
Настоящее имя: Александр

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

Сообщение aekhv » 08 мар 2020, 15:19

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

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

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

Сообщение UAVpilot » 08 мар 2020, 15:40

BentScrew писал(а):Не уверен, но, кажется, бит чётности всегда присутствует, даже если не используется? Тогда считаю так:

Нет, бит чётности, стоповые биты относятся к канальному уровню (сетевая модель OSI) и в спецификацию самого протокола не входят, ибо Modbus это уже уровни представления и приложения.

BentScrew писал(а):Для 19200, 8N1 получается 3500000 * (8 + 1 + 1) / 19200 = 1822 нс. Как-то не сходится с примером выше, каким образом получилось 1750 нс?

Тут ключевое слово "допускается".
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 20293
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4854
Заслуга: c781c134843e0c1a3de9
Медальки:
Настоящее имя: Сергей

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

Сообщение ССыч » 11 апр 2020, 07:35

Подскажите пожалуйста !
Имею частотник 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 Кб) Скачиваний: 125
ССыч
Новичок
 
Сообщения: 17
Зарегистрирован: 29 сен 2018, 11:35
Репутация: 0
Настоящее имя: Виталий

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

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

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

Я так понял адреса регистров задания частоты - 0001h и 0002h (стр. 293). Используется только один или оба - непонятно.

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

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

Сообщение ССыч » 17 апр 2020, 19:59

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

Я так понял адреса регистров задания частоты - 0001h и 0002h (стр. 293). Используется только один или оба - непонятно.

Команды на запуск и останов подаются установкой бит (стр. 292). Это надо делать через modbus_write_bit(), а текущая версия компонента этого не умеет, надо допиливать...

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

Пред.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: aftaev, AlekseySP, Bing [Bot], Bizon9999, evgeni70, FREEKER, gigs, Google [Bot], igorvpetrov, kens, knifemaker, Levs, Majestic-12 [Bot], niksooon, nkp, PavelTch, rage, Shev, UAVpilot, Vichkins888, vitzin, xvovanx, Yandex [bot]

Reputation System ©'