Частотник и Modbus. Универсальная заготовка.
-
magrelo
- Кандидат
- Сообщения: 42
- Зарегистрирован: 27 ноя 2015, 11:53
- Репутация: 0
- Настоящее имя: Andrey
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
По этой ветке пользовался modbusом, все работало ))) а тут при переделке системы под MESA7i76e пришлось поменять ядро RTAI на PREEMPT RT.
Теперь не работает makefile:
$ make
make: *** Нет правила для сборки цели `/usr/include/linuxcnc/rtapi.h', требуемой для `.o/laserbms.d'. Останов.
надо поменять флаги в makefile?
...
CFLAGS := $(EXTRA_CFLAGS) -URTAPI -U__MODULE__ -DULAPI -Os
CFLAGS += $(shell pkg-config --cflags glib-2.0)
LFLAGS := -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal
LFLAGS += $(shell pkg-config --libs glib-2.0)
...
Теперь не работает makefile:
$ make
make: *** Нет правила для сборки цели `/usr/include/linuxcnc/rtapi.h', требуемой для `.o/laserbms.d'. Останов.
надо поменять флаги в makefile?
...
CFLAGS := $(EXTRA_CFLAGS) -URTAPI -U__MODULE__ -DULAPI -Os
CFLAGS += $(shell pkg-config --cflags glib-2.0)
LFLAGS := -Wl,-rpath,$(LIBDIR) -L$(LIBDIR) -llinuxcnchal
LFLAGS += $(shell pkg-config --libs glib-2.0)
...
-
magrelo
- Кандидат
- Сообщения: 42
- Зарегистрирован: 27 ноя 2015, 11:53
- Репутация: 0
- Настоящее имя: Andrey
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Заметил у себя, что иногда новое значение параметра не отправляется. Оказалось в файле spindle-vfd.c в функции write_data параметр отправляется только если он изменился.
old_value = *hal_data_block->command_value; Так старое значение сохранять неверно, т.к.*hal_data_block->command_value может измениться во время отправки и старое значение будет несответствовать отправленному. Там надо значению old присваивать то что отправляли, а не то что сейчас в hal_data_block, т.к. оно может измениться в другом потоке насколько я понимаю.
old_value = *hal_data_block->command_value; Так старое значение сохранять неверно, т.к.*hal_data_block->command_value может измениться во время отправки и старое значение будет несответствовать отправленному. Там надо значению old присваивать то что отправляли, а не то что сейчас в hal_data_block, т.к. оно может измениться в другом потоке насколько я понимаю.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
Re: Частотник и Modbus. Универсальная заготовка.
Да, смотрю в код, такое может быть... Хотя у меня - и, полагаю, не только у меня - работает без сбоев не первый год. 
Можно так пофиксить, но я не проверял, сейчас нет возможности:
Можно так пофиксить, но я не проверял, сейчас нет возможности:
Код: Выделить всё
// Замена в двух строках "*hal_data_block->command_speed" на "speed_cmd"
if (speed_cmd != old_speed) {
...
if (verbose == 1) printf("Write OK!\n");
old_speed = speed_cmd;
...- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Извините. Вопросов пока нет.
Альтивар 12й увиделся. Но очень странно.
В пч адрес 2, отвечает на 1. Буду курить мануал на него кароче.
Все оказалось банально. Изменение параметров и принятие их к исполнению происходит после полного снятия с пч напряжения.
Автору спасибо за мануал.
Могу посоветовать один момент - написать в какой папке запускать make и sudo make install
Мне как новичку было совсем не ясно.
И после распаковки в винде на флешку - make не проходил, права на все файлы послетали, надо по правой кнопке выставить разрешение на запуск find-bindir и find-libdir
Альтивар 12й увиделся. Но очень странно.
В пч адрес 2, отвечает на 1. Буду курить мануал на него кароче.
Все оказалось банально. Изменение параметров и принятие их к исполнению происходит после полного снятия с пч напряжения.
Автору спасибо за мануал.
Могу посоветовать один момент - написать в какой папке запускать make и sudo make install
Мне как новичку было совсем не ясно.
И после распаковки в винде на флешку - make не проходил, права на все файлы послетали, надо по правой кнопке выставить разрешение на запуск find-bindir и find-libdir
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
Re: Частотник и Modbus. Универсальная заготовка.
ScrewDriver писал(а):Вопросов пока нет.
Это можно и нужно делать там, где лежат исходные файлы с расширением ".с", которые надо скомпилировать (то есть превратить в исполняемый код). Даже не думал, что тут могут быть какие-то проблемы.ScrewDriver писал(а):написать в какой папке запускать make и sudo make install
Зачем виндовс? Люникс запускай, тама архив качай, тама из архива файлы доставай. Частотник крути, станок бегай - всё в люникс!ScrewDriver писал(а):И после распаковки в винде на флешку
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Ну вот эти моменты мне, как виндузятнику, показались сложными. Интернета на линуксе нет.BentScrew писал(а): Зачем виндовс? Люникс запускай, тама архив качай, тама из архива файлы доставай. Частотник крути, станок бегай - всё в люникс!
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
Re: Частотник и Modbus. Универсальная заготовка.
Дополнил инструкцию в первом сообщении касательно компиляции.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Отпишусь пожалуй. Альтивар 12 целиком подцепил, для этого пришлось переписать функции управления и задания скорости.
Дело в том, что в этом ПЧ для запуска нужно использовать две команды последовательно одну за другой. А задание скорости возможно в оборотах сразу в ПЧ.
Момент один возник - если вручную с кнопок запустить шпиндель, он выйдет на минималку. Кнопка же добавления скорости увеличивает переменную не с минимума, а с нуля. В итоге имеем с десяток холостых нажатий, перед увеличением скорости.
В программе это пока не корректировал, не уверен чем грозит для системы.
Дело в том, что в этом ПЧ для запуска нужно использовать две команды последовательно одну за другой. А задание скорости возможно в оборотах сразу в ПЧ.
Момент один возник - если вручную с кнопок запустить шпиндель, он выйдет на минималку. Кнопка же добавления скорости увеличивает переменную не с минимума, а с нуля. В итоге имеем с десяток холостых нажатий, перед увеличением скорости.
В программе это пока не корректировал, не уверен чем грозит для системы.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Выложил у себя в теме архив для альтивара 12. Сюда корректировку не предлагаю, много правок делал. Кому нужно, велком.
Автору огромное спасибо, большой труд сделал.
Автору огромное спасибо, большой труд сделал.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Блин, чего-то я рано победу начал праздновать =)
В симуляторе все команды выполнялись как надо, т.е. говорю ПЧ S1000 M3, S2000, M5 - все это отрабатывается.
В конфиге станка - не работает изменение скорости по S - т.е. ПЧ стартует с минимальной, что прописана в скрипте и все.
Что может быть, помогите побороть, вот это пробовал, не помогло:
Посмотрел пакеты - действительно иногда пакет модифицирован и CRC не сходится. Попробую терминатор шины повесить, надеюсь поможет.
В симуляторе все команды выполнялись как надо, т.е. говорю ПЧ S1000 M3, S2000, M5 - все это отрабатывается.
В конфиге станка - не работает изменение скорости по S - т.е. ПЧ стартует с минимальной, что прописана в скрипте и все.
Что может быть, помогите побороть, вот это пробовал, не помогло:
И еще засада, но уже с софтом не связанная... Перенес ПЧ со станком на балкон - пошли ошибки в контрольной сумме, причем только когда шпиндель запущен. На остановленном все отлично.BentScrew писал(а):У вас задание частоты в компонент spindle-vfd не заведено, поэтому шпиндель стартует на минимальных оборотах. В custom.hal строку
замените наКод: Выделить всё
net spindle-speed-cmd spindle-vfd.command-speedЭто из-за разницы в наименовании сигналов в разных версиях StepConf и PncConf. Подробности уже не помню, но одни версии при создании конфигурации в hal-файл пишут spindle-speed-cmd, а другие spindle-cmd. Поэтому при подключении сторонних компонентов нужно быть внимательным.Код: Выделить всё
net spindle-cmd spindle-vfd.command-speed
Посмотрел пакеты - действительно иногда пакет модифицирован и CRC не сходится. Попробую терминатор шины повесить, надеюсь поможет.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
Re: Частотник и Modbus. Универсальная заготовка.
Смотрите внимательно в основной hal-файл конфигурации станка, ищите как там называется связь, на которую заведено задание оборотов. Может быть spindle-speed-cmd-rpm или ещё как-то.
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
На балконе заземление есть?
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Его вообще в квартире нетMX_Master писал(а):На балконе заземление есть?
Надо проводку переделывать капитально, но это отдаленная перспектива.
BentScrew писал(а):Смотрите внимательно в основной hal-файл конфигурации станка, ищите как там называется связь, на которую заведено задание оборотов. Может быть spindle-speed-cmd-rpm или ещё как-то.
Спасибо, погляжу. Просто система новая и в какую сторону смотреть - не знаю пока что.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Протащите провод потолще (квадрата 4) и соедините "земли" компьютера, частотника и корпус шпинделя. Экранирование кабеля RS485 и кабеля от ПЧ до шпинделя тоже не помешает.ScrewDriver писал(а):Его вообще в квартире нет
Чудес не бывает. Бывают фокусы.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
по этому поводу есть большое сомнение.Сергей Саныч писал(а): соедините "земли" компьютера, частотника и корпус шпинделя.
соединение земель, а проще говоря уравнивание потенциалов, без использования заземления позволит помехам гулять не только по контуру ПЧ, кабель, частотник. Но и по земляному контуру ПЧ и иже с ним.
Кабели есс-но экранированные. Я думаю терминаторы 120Ом, с емкостью поставлю и все пройдет.
За совет спасибо, я прекрасно понимаю что борьба с помехами это сродни шаманству, не помогут терминаторы - попробую уравнять. Вариантов не так уж и много.
(кинуть 4 квадрата от щитка на лестнице через всю квартиру и попытаться объяснить жене, что это так и должно быть)
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
ЗаработалооооBentScrew писал(а):Смотрите внимательно в основной hal-файл конфигурации станка, ищите как там называется связь, на которую заведено задание оборотов. Может быть spindle-speed-cmd-rpm или ещё как-то.
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- xenon-alien
- Почётный участник

- Сообщения: 4520
- Зарегистрирован: 01 янв 2013, 13:13
- Репутация: 925
- Настоящее имя: Daniel
- Откуда: Закарпатская обл. Украина
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Краткое видео снимешь? Очень интересно посмотреть.ScrewDriver писал(а):Заработалоооо
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Ошибки связи-то остались.xenon-alien писал(а):Краткое видео снимешь? Очень интересно посмотреть.ScrewDriver писал(а):Заработалоооо
Из-за этого временно отключил spindle at speed и теперь он у меня всегда at speed
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.
- ScrewDriver
- Мастер
- Сообщения: 1942
- Зарегистрирован: 06 сен 2016, 01:44
- Репутация: 498
- Настоящее имя: Василий
- Откуда: Москва
- Контактная информация:
Re: Частотник и Modbus. Универсальная заготовка.
Ошибки связи победил.
У кого подобные проблемы настоятельно рекомендую попробовать метод.
Интерфейс связи стоит самый дешевый, за 100 р из китая.
С одной стороны стоит терминатор 120 ом последовательно с емкостью 1нФ. (Это не помогло)
Кабель связи экранированный, экран подключен на общий провод ПЧ. (Это тоже не помогло)
Помогло запитать ПЧ через сетевой фильтр pilot серии L или серии PRO.
Снял видео, надеюсь поможет кому-то.
https://youtu.be/TI4ebMzIkQc
У кого подобные проблемы настоятельно рекомендую попробовать метод.
Интерфейс связи стоит самый дешевый, за 100 р из китая.
С одной стороны стоит терминатор 120 ом последовательно с емкостью 1нФ. (Это не помогло)
Кабель связи экранированный, экран подключен на общий провод ПЧ. (Это тоже не помогло)
Помогло запитать ПЧ через сетевой фильтр pilot серии L или серии PRO.
Снял видео, надеюсь поможет кому-то.
https://youtu.be/TI4ebMzIkQc
Промышленная автоматика, ПЛК, приводы, SCADA системы
Мой Ютуб канал.
Мой Ютуб канал.