Частотник и Modbus. Универсальная заготовка.
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Получилось cd забыл.
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
С компилировал вроде нормально, а linuxcnc не запускается.
В чем дело, не пойму.
Не подскажет кто нибуть?
В чем дело, не пойму.
Не подскажет кто нибуть?
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Код: Выделить всё
execv(spindle-vfd): No such file or directory
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Понял, спасибо.
Сделал так (sudo make install) и пошло.
Сделал так (sudo make install) и пошло.
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Добрый вечер.
Как организовать modbus функции x02; х04 в этом исходнике, как я понял сдесь опрос идет по функции х03,
а передача х06.
Как организовать modbus функции x02; х04 в этом исходнике, как я понял сдесь опрос идет по функции х03,
а передача х06.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Если покопаться в modbus.c, то можно найти две функции:
Пробуйте, экспериментируйте.
Код: Выделить всё
/* Same as read_coil_status but reads the slaves input table */
int read_input_status(modbus_param_t *mb_param, int slave, int start_addr,
int count, int *data_dest)
{
int function = 0x02;
...
Код: Выделить всё
/* Read the input registers in a slave and put the data into
an array */
int read_input_registers(modbus_param_t *mb_param, int slave,
int start_addr, int count, int *data_dest)
{
int function = 0x04;
...
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
С function = 0x04; вроде получилось считывает регистры нормально без ошибок.
Возможно разобрать считанный регистр по битам например (01010101 01010101) и присвоить каждому биту имя.
Как лучше сделать?
Возможно разобрать считанный регистр по битам например (01010101 01010101) и присвоить каждому биту имя.
Как лучше сделать?
-
- Мастер
- Сообщения: 632
- Зарегистрирован: 23 янв 2016, 11:40
- Репутация: 195
- Настоящее имя: Александр
- Откуда: Рязань
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Добрый день! Я новичок в LinuxCNC. Хочу перейти с мача на LinuxCNC но не могу не как настроить LinuxCNC по Modbus. Частотник всеми известный китайский Huanyang. Прошу помощи сильно не пинайте.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Huanyang - это не частотник, а фирма-производитель. Модель частотника огласите. И что конкретно не можете настроить подробно распишите: что уже пытались сделать, что получилось, что нет.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Это похвально, добро пожаловать в нашу сектуSashalex24 писал(а):Хочу перейти с мача на LinuxCNC
-
- Мастер
- Сообщения: 632
- Зарегистрирован: 23 янв 2016, 11:40
- Репутация: 195
- Настоящее имя: Александр
- Откуда: Рязань
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Спасибо. Я устал от глюков мача.
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Разбираюсь, экспериментирую с "Универсальной заготовкой" вроде получается считывать и записывать регистры из частотника.
Возник вопрос, а возможно подключить два,три....частотника?
Или надо еще один Исходник компилировать с другим адресом преобразователя частоты, тогда COM порт еще один надо.
Кто разъяснит эту ситуацию?
Возник вопрос, а возможно подключить два,три....частотника?
Или надо еще один Исходник компилировать с другим адресом преобразователя частоты, тогда COM порт еще один надо.
Кто разъяснит эту ситуацию?
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Возможно, но нужно конкретизировать задачу. Частотники одинаковые (одной модели) или разные? Частотники будут работать синхронно (одновременное вкл/выкл и одно задание частоты для всех) или у каждого будет индивидуальное задание?Валерий писал(а):а возможно подключить два,три....частотника?
Не нужен второй COM-порт, все частотники могут висеть на одной линии, обращение происходит по уникальному адресу slave (задается в настройках преобразователя). Кстати, пакет отправленный для устройства с адресом slave = 0, будет принят сразу всеми устройствами на линии. Но в целом, для поддержки нескольких частотников, в компоненте придётся много чего дописать, и "универсальности" там уже не будет.Валерий писал(а):Или надо еще один Исходник компилировать с другим адресом преобразователя частоты, тогда COM порт еще один надо.
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Частотники ВЕСПЕР Е2-8300 одинаковые но разной мощности 1.5kw, 2.2kw, 5.5kw , у каждого будет индивидуальное заданиеBentScrew писал(а):Возможно, но нужно конкретизировать задачу. Частотники одинаковые (одной модели) или разные?
Как я понял надо отправлять принимать пакеты с разными адресами slaveBentScrew писал(а):Но в целом, для поддержки нескольких частотников, в компоненте придётся много чего дописать
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Да.Валерий писал(а):Как я понял надо отправлять принимать пакеты с разными адресами slave
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Вот такую конструкцию попробывал вроде работает.
//#define DEFAULT_Slave 10 // адрес преобразователя частоты УБРАЛ
........
int read_data_1(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
.......}
int read_data (modbus_param_t *param, int slave, haldata_t *hal_data_block) {
..........
}
int write_data_1(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
..............}
int write_data(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
.........
}
/* Основная функция */
int main(int argc, char **argv)
{ ......
int slave[]={10,11}; // адреса преобразователей частоты
.............
read_data (&mb_param, slave[0], haldata);
read_data_1(&mb_param, slave[1], haldata);
write_data (&mb_param, slave[0], haldata);
write_data_1(&mb_param, slave[1], haldata);
.............
}
Я правильно двигаюсь или есть какие то другие способы, (функции)
//#define DEFAULT_Slave 10 // адрес преобразователя частоты УБРАЛ
........
int read_data_1(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
.......}
int read_data (modbus_param_t *param, int slave, haldata_t *hal_data_block) {
..........
}
int write_data_1(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
..............}
int write_data(modbus_param_t *param, int slave, haldata_t *hal_data_block) {
.........
}
/* Основная функция */
int main(int argc, char **argv)
{ ......
int slave[]={10,11}; // адреса преобразователей частоты
.............
read_data (&mb_param, slave[0], haldata);
read_data_1(&mb_param, slave[1], haldata);
write_data (&mb_param, slave[0], haldata);
write_data_1(&mb_param, slave[1], haldata);
.............
}
Я правильно двигаюсь или есть какие то другие способы, (функции)
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Как организовать опрос двух частотников на разных адресах slave..BentScrew писал(а):Но в целом, для поддержки нескольких частотников, в компоненте придётся много чего дописать, и "универсальности" там уже не будет.
С начало считать один частотник затем другой частотник потом отправить данные в один частотник затем другой частотник или
считать один частотник затем отправить данные в него, затем считать второй частотник и отправить данные в него.
Как по науке это должно происходить?
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
По науке можно и так, и эдак. Как лучше в вашем конкретном случае - никто не знает. Расскажите что у вас за девайс такой хитрый, с тремя частотниками, да ещё под управлением LinuxCNC? Какова логика включения/выключения каждого преобразователя? Каким образом задаётся частота? Индивидуально для каждого преобразователя? Вот, например, подали команду S10000 M3, первый частотник завёлся на 10к оборотов. Что делают другие два частника? Они тоже должны запуститься на 10к? Нужно ли контролировать spindle-at-speed для всех трёх преобразователей? Дайте больше исходных данных, коллективный разум форума подскажет как лучше решить конкретно вашу задачу.Валерий писал(а):Как по науке это должно происходить?
-
- Мастер
- Сообщения: 241
- Зарегистрирован: 21 июл 2013, 21:01
- Репутация: 2
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Вот для этого 1516Ф1
http://www.cnc-club.ru/forum/viewtopic. ... &start=180
Двигатель главного движения (Планшайба) 5Квт нужно будет регулировать обороты и контролировать обороты (полный контроль и управление)
Двигатель установочных перемещений (Суппорт вертикальный ) 2.2Квт нужно будет включать- выключать на максимальные обороты но очень часто в процессе работы и наладке контролировать обороты не надо.
Двигатель (Суппорт горизонтальный ) 1.5 Квт. нужно будет включать- выключать на максимальные обороты но очень часто в процессе работы и наладке
контролировать обороты не надо.
Управлением LinuxCNC G код не используем, работает только PLC Classicladder.
Замучались с пускателями , с перемоткой двигателей..
Да если на Двигатель главного движения (Планшайба) сделаем плавный пуск и регулировку то возможно еще муфты переключения оборотов
(Планшайбы) уберем.
Можно конечно и без MODBAS подключить но опять же надо входа выхода LPT, а их уже и так нет.
http://www.cnc-club.ru/forum/viewtopic. ... &start=180
Двигатель главного движения (Планшайба) 5Квт нужно будет регулировать обороты и контролировать обороты (полный контроль и управление)
Двигатель установочных перемещений (Суппорт вертикальный ) 2.2Квт нужно будет включать- выключать на максимальные обороты но очень часто в процессе работы и наладке контролировать обороты не надо.
Двигатель (Суппорт горизонтальный ) 1.5 Квт. нужно будет включать- выключать на максимальные обороты но очень часто в процессе работы и наладке
контролировать обороты не надо.
Управлением LinuxCNC G код не используем, работает только PLC Classicladder.
Замучались с пускателями , с перемоткой двигателей..
Да если на Двигатель главного движения (Планшайба) сделаем плавный пуск и регулировку то возможно еще муфты переключения оборотов
(Планшайбы) уберем.
Можно конечно и без MODBAS подключить но опять же надо входа выхода LPT, а их уже и так нет.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
В общих чертах понятно. Надо подумать как лучше сделать, позже выложу вариант для тестов.