Поворотная ось (статуэтки, балясины).
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Ну, считаем, что диаметр уменьшается, а потому скорость должна возрастать, но в целом интересное решение. Ограничение по параметрам срабатывало в МАЧЕ. Там у меня скорость по линейным была 600, по ангулярной 7000, и F5000 прекрасно работало - ангулярка с постоянной скоростью 5000, а линейные с ограничением 600... А тут работать будет, но плохо, (если как писалось, скорость поворотной оси выставляется автоматом, чтобы только успеть за линейными...). Медленно будет.
Простите, Nick, а можно мне как новичку ткнуть носом, как "Завести пин положения по оси Y на пин feedoverride - тогда скорость подачи будет сама уменьшаться пророцционально диаметру... ", ну или хотя бы пример решенной задачи: куда лезть, чего править. Я так понимаю, пины тут программные, в железо лезть не придется. Хотя и это не проблема, важно понять, о чем речь.
Простите, Nick, а можно мне как новичку ткнуть носом, как "Завести пин положения по оси Y на пин feedoverride - тогда скорость подачи будет сама уменьшаться пророцционально диаметру... ", ну или хотя бы пример решенной задачи: куда лезть, чего править. Я так понимаю, пины тут программные, в железо лезть не придется. Хотя и это не проблема, важно понять, о чем речь.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Это можно и в обратную сторону настроить, не вопрос. Главное, чтобы идея сама подошла.MihailCarib писал(а):Ну, считаем, что диаметр уменьшается, а потому скорость должна возрастать, но в целом интересное решение
Да, все просто... более менее
пины все программные - пины это пины hal.
В общем надо сделать отдельный hal файл, точнее лучше просто поправить custom.hal
Да, будем использовать пин:
Итак, надо добавить следующее:motion.adaptive-feed IN FLOAT
When adaptive feed is enabled with M52 P1, the commanded velocity is multiplied by this value. This effect is multiplicative with the NML-level feed override value and motion.feed-hold.
Код: Выделить всё
# загружаем компоненты
loadrt scale count=1
loadrt invert count=1
# добавляем функции в серво поток, чтобы компоненты работали
addf invert.0 servo-thread
addf scale.0 servo-thread
# подключаем пины
net y-pos <= axis.1.joint-pos-cmd
net y-pos => invert.0.in
# теперь у нас положение по y инвертировано
net y-pos-i <= invert.0.out
net y-pos-i => scale.0.in
# теперь подключаем пин scale к adaptive feed
net y-pos-s <= scale.0.out
net y-pos-s => motion.adaptive-feed
# осталось настроить параметры scale
setp scale.0.offset 0.1 # минимальное значение (1/10 подачи)
setp scale.0.scale 0.1 # это дополнительный множитель, т.к. adaptive-feed должен быть где-то в пределах 0..1
ЗЫ со мной можно "на ты", надеюсь взаимно
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Конечно! Спасибо большое, сейчас полезу разбираться.... А, не полезу - дома винда, а диск с линуксом я на работе оставил. Ну хоть твой код разберу. Nick, а откуда это буржуйское описание команд , можно где-нибудь его тиснуть?Nick писал(а):ЗЫ со мной можно "на ты", надеюсь взаимно
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Как где - на оф сайте linuxcnc
http://linuxcnc.org/index.php/english/documentation
Integrators manual - настоятельно к прочтению, также можно hal manual почитать.
Мы тут своими силами какое-то количество от integrators manual перевели, правда, многое вышло коряво, если с английским дружишь - лучше оригиналы читать: EMC2 Integrators Manual Перевод на русский язык #1
Или http://cnc-club.ru/wiki/index.php/%D0%A ... ranslation, кстати, в wiki можно присоединиться к переводу
.
Также несколько страниц к изучению:
1. Gкод - очень большой и подробный справочник http://linuxcnc.org/docs/html/gcode.html
2. Практически все компоненты linuxcnc: http://linuxcnc.org/docs/html/ (очень полезная страничка!)
3. одни из самых важных компонентов, чаще всего в них лажу: motion и halui http://linuxcnc.org/docs/html/man/man9/motion.9.html http://linuxcnc.org/docs/html/man/man1/halui.1.html
Кстати, в linux есть встроенная система справки, в консоле напиши man motion и получишь полную справку как по ссылке выше, фактически по ссылке и есть страничка из man.
http://linuxcnc.org/index.php/english/documentation
Integrators manual - настоятельно к прочтению, также можно hal manual почитать.
Мы тут своими силами какое-то количество от integrators manual перевели, правда, многое вышло коряво, если с английским дружишь - лучше оригиналы читать: EMC2 Integrators Manual Перевод на русский язык #1
Или http://cnc-club.ru/wiki/index.php/%D0%A ... ranslation, кстати, в wiki можно присоединиться к переводу
Также несколько страниц к изучению:
1. Gкод - очень большой и подробный справочник http://linuxcnc.org/docs/html/gcode.html
2. Практически все компоненты linuxcnc: http://linuxcnc.org/docs/html/ (очень полезная страничка!)
3. одни из самых важных компонентов, чаще всего в них лажу: motion и halui http://linuxcnc.org/docs/html/man/man9/motion.9.html http://linuxcnc.org/docs/html/man/man1/halui.1.html
Кстати, в linux есть встроенная система справки, в консоле напиши man motion и получишь полную справку как по ссылке выше, фактически по ссылке и есть страничка из man.
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Спасибо, описание HAL уже нашел сам. Удивляюсь - конечно, вникать долго, система команд новая для меня, но если разобраться, то возможности этого HAL практически безграничны...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Во-во, вот это мне в linuxcnc и нравится больше всегоMihailCarib писал(а):но если разобраться, то возможности этого HAL практически безграничны...
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Nick! Прости, что надоедаю, но я тут немного поразбирался с твоим кодом, как оно работать будет проверю только послезавтра, но у меня вопросы по синтаксису:
# подключаем пины
net y-pos <= axis.1.joint-pos-cmd
net y-pos => invert.0.in
# теперь у нас положение по y инвертировано
переменной (ну или ячейке памяти, не важно) y-pos присваиваем значение axis.1.joint-pos-cmd, здесь 1 номер оси? Тогда, если надо Z, то 2, так?
затем значение переменной y-pos записываем в (куда? invert - функция, на выходе из нее должна быть переменная) в результат функции. Циферка 0 - не соображу...
y-pos-i, y-pos-s - тоже просто переменные?
# подключаем пины
net y-pos <= axis.1.joint-pos-cmd
net y-pos => invert.0.in
# теперь у нас положение по y инвертировано
переменной (ну или ячейке памяти, не важно) y-pos присваиваем значение axis.1.joint-pos-cmd, здесь 1 номер оси? Тогда, если надо Z, то 2, так?
затем значение переменной y-pos записываем в (куда? invert - функция, на выходе из нее должна быть переменная) в результат функции. Циферка 0 - не соображу...
y-pos-i, y-pos-s - тоже просто переменные?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
сигналу y-posMihailCarib писал(а):переменной (ну или ячейке памяти, не важно)
да, (оси нумеруются начиная с 0).MihailCarib писал(а):axis.1.joint-pos-cmd, здесь 1 номер оси?
затем присоединяем к сигналу пин invert.in цифра 0 - это номер компонента, нам может понадобится 100 invert для разных переменных, тогда пишем loadrt invert count=100MihailCarib писал(а):затем значение переменной y-pos записываем в
и они будут нумероваться invert.0 ... invert.99
Сигналы.MihailCarib писал(а):y-pos-i, y-pos-s - тоже просто переменные?
Вообще в hal есть пины, параметры и сигналы. Пины - часто меняющиеся значения. Параметры - статичные значения. Сигналы могут связывать пины и некоторые параметры.
команда net <сигнал> <пин> <пин> <пин>... делает следующее:
1. смотрит, если нет сигнала <сигнал>, то создает новый сигнал.
2. присоединяет к сигналу пины.
Значки <= => нужны только для более простого чтения hal файлов, они могут показать в каком направлении идут данные.
При этом к сигналу можно присоединить только 1 пин OUT, и сколько угодно IN, т.е. данные берутся из пина OUT, и пишутся в пины IN. Все. Больше ничего эти сигналы не делают.
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Nick, спасибо большое за пояснения, извини, сечас цейт-нот маленький образовался, не могу оперативно отвечать.
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Nick, даже при добавлении только
loadrt scale count=1
loadrt invert count=1
в custom.hal машина ругается, ЕМС не запускается. Что может быть?
loadrt scale count=1
loadrt invert count=1
в custom.hal машина ругается, ЕМС не запускается. Что может быть?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
ускорит решение вопроса сам файл .hal и текст ошибки...MihailCarib писал(а):Что может быть?
причин может быть много...
даже пробел ,вот здесь например loadrt scale count = 1 (между count и знаком равно) ,не дает запустить емс...
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Кхе... А ведь правда, пробел... Спасибо большое, синтаксис языка не знаю, попался на мелочи...Буду дальше копать.nkp писал(а):ускорит решение вопроса сам файл .hal и текст ошибки...причин может быть много...даже пробел ,вот здесь например loadrt scale count = 1 (между count и знаком равно) ,не дает запустить емс...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
это не синтаксис - это просто недоработка парсера...MihailCarib писал(а):синтаксис языка не знаю,
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Теперь ругается на крайнюю нижнюю строчку. В дебаге пишет, что такой параметр или пин scale.0.scale не найден. Текст hal
Текст обиды:
Код: Выделить всё
# Include your customized HAL commands here
# This file will not be overwritten when you run stepconf again
loadrt scale count=1
loadrt invert count=1
#
addf invert.0 servo-thread
addf scale.0 servo-thread
#
net z-pos <= axis.2.joint-pos-cmd
net z-pos => invert.0.in
#
net z-pos-i <= invert.0.out
net z-pos-i => scale.0.in
#
net z-pos-s <= scale.0.out
net z-pos-s => motion.adaptive-feed
#
setp scale.0.offset 0.1
setp scale.0.scale 0.1Код: Выделить всё
Print file information:
RUN_IN_PLACE=no
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/usr/bin
LINUXCNC_TCL_DIR=/usr/lib/tcltk/linuxcnc
LINUXCNC_SCRIPT_DIR=
LINUXCNC_RTLIB_DIR=/usr/realtime-2.6.32-122-rtai/modules/linuxcnc
LINUXCNC_CONFIG_DIR=
LINUXCNC_LANG_DIR=/usr/share/linuxcnc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
LINUXCNC_EMCSH=/usr/bin/wish8.5
LINUXCNC - 2.5.0
Machine configuration directory is '/home/ubuntu/linuxcnc/configs/мой-станок'
Machine configuration file is 'мой-станок.ini'
INIFILE=/home/ubuntu/linuxcnc/configs/мой-станок/мой-станок.ini
PARAMETER_FILE=linuxcnc.var
TASK=milltask
HALUI=
DISPLAY=axis
Starting LinuxCNC...
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting LinuxCNC IO program: io
Shutting down and cleaning up LinuxCNC...
Killing task linuxcncsvr, PID=6800
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
custom.hal:19: parameter or pin 'scale.0.scale' not found
6800
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Kernel message information:
[12869.341675] I-pipe: Domain RTAI registered.
[12869.341697] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[12869.341706] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[12869.341725] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[12869.341733] PIPELINE layers:
[12869.341742] f8c6de20 9ac15d93 RTAI 200
[12869.341750] c085cb20 0 Linux 100
[12869.423733] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[12869.423962] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[12869.423979] RTAI[sched]: hard timer type/freq = APIC/6250189(Hz); default timing: periodic; linear timed lists.
[12869.423991] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 600079000 hz.
[12869.424002] RTAI[sched]: timer setup = 999 ns, resched latency = 2942 ns.
[12869.424193] RTAI[usi]: enabled.
[12869.622410] RTAI[math]: loaded.
[12869.796679] config string '0x378 out '
[12871.836684] RTAI[math]: unloaded.
[12871.939296] SCHED releases registered named ALIEN RTGLBH
[12871.952654] RTAI[malloc]: unloaded.
[12872.052032] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[12872.058766] I-pipe: Domain RTAI unregistered.
[12872.058792] RTAI[hal]: unmounted.
Последний раз редактировалось MihailCarib 30 июл 2013, 22:08, всего редактировалось 1 раз.
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
такого пина вроде бы нет- scale.0.scale
зы пользуй тэг "Code"
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Просветите неуча, "парсер" - это что за зверь?
Ну и по смыслу, вроде, (поправь меня, Nick), там должно быть
На этот код не ругается, а как работает поглядим завтра на станке.
Ну и по смыслу, вроде, (поправь меня, Nick), там должно быть
Код: Выделить всё
setp scale.0.gain 0.1- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Ну это такая штука, которая читает этот hal файл и пытается его разбить на что-то значащие куски. Вот она разбивает count = 1 на три отдельных куска "count", "=", "1" и пытается их по отдельности интерпретировать, когда надо было "count=1" целиком брать.MihailCarib писал(а):Просветите неуча, "парсер" - это что за зверь?
Хотя, в принципе это подходит под парсинг командной строки. Пробел это переход к следующему параметру...
В общем, это наверное не парсер, это наверное синтаксис
Ага, он самый.MihailCarib писал(а):Ну и по смыслу, вроде, (поправь меня, Nick), там должно быть
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
можно было бы согласиться - если б так было для всех случаев , а так в других местах сколько не ставь пробелов - все работаетNick писал(а):это наверное не парсер, это наверное синтаксис
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Это там просто "=" не ставится...
-
MihailCarib
- Новичок
- Сообщения: 19
- Зарегистрирован: 22 июл 2013, 15:31
- Репутация: 0
- Контактная информация:
Re: Поворотная ось (статуэтки, балясины).
Так, ну, сегодня код не с первого раза, но таки запустился на машине. Все как бы хорошо, параметры удалось подобрать, при увеличении Z скорость падает, но вот засада: мне надо, чтобы падала только скорость поворотной оси, а он зараза режет скорость по всем сразу. Нет ли возможности это поправить?
