Страница 1 из 1
emcmot
Добавлено: 29 ноя 2013, 21:05
asv-lab
Нужна помощь, сейчас разбираюсь с исходниками linuxcnc, наверняка уже кто нибудь это проделывал,интересует модуль emcmot который в папке emc/motion/ как он получает данные от интерпретатора в каком файле это обрабатывается, может какая документация есть по этому модулю. спасибо.
Re: emcmot
Добавлено: 29 ноя 2013, 21:42
Nick
Может nkp подскажет - он с интерпретатором возился...
А что хочешь сделать?
Там вроде четыре файла по emcmot, все на пару страничек и в основном определение констант...

Re: emcmot
Добавлено: 29 ноя 2013, 21:55
asv-lab
emcmot разбираю, этот модуль получает команды от интерпретатора, в нем планировщик траектории пид... на выходе только слой hal и железо. Если не ошибаюсь.
Re: emcmot
Добавлено: 29 ноя 2013, 22:38
Nick
Планировщик использует еще tp и tc из emc/kinematics - там по крайней мере считается дистанция до остановки и выдается маскимальная текущая скорость, при этом наверное еще синхронизуются оси...
Re: emcmot
Добавлено: 02 дек 2013, 01:53
asv-lab
Понятно, Можете подбросить gcod какой нибудь детали, только проверенный для 3 координат?
Re: emcmot
Добавлено: 02 дек 2013, 11:24
Nick
А какой именно детали?
Re: emcmot
Добавлено: 02 дек 2013, 12:35
asv-lab

без разницы, только которую уже фрезеровали на linuxcnc,в папке есть несколько примеров, но нужно еще парочку испытанных, мне для проверки интерпретатора.
Re: emcmot
Добавлено: 02 дек 2013, 14:42
Nick
Код: Выделить всё
G0 Z10
G0 X0 Y0
G1 Z-5
G1 X100
G1 Y100
G1 X0
G1 Y0
G0 Z10

.
Ну или вот:
Re: emcmot
Добавлено: 02 дек 2013, 16:53
Impartial
asv-lab писал(а): как он получает данные от интерпретатора в каком файле это обрабатывается,
Работает функция emcmotController() (файл control.c) работающая в потоке реального времени. Данные берет из массива структур emcmot_joint_t. Эти структуры заталкиваются в в очередь интерпретатором в пользовательском режиме.
Re: emcmot
Добавлено: 02 дек 2013, 18:18
asv-lab
понятно. буду дальше копать, если еще есть gcod киньте, этот вроде нормально работает.
http://youtu.be/BiqVjdjmccM
Re: emcmot
Добавлено: 03 дек 2013, 15:41
asv-lab
Еще вопросик код который выполняет круговую интерполяцию в каком файле реализован?
Re: emcmot
Добавлено: 03 дек 2013, 17:00
Impartial
Класс "Interp" методы "arc_data_..." файл \rs274ngc\intep_arc.cc
Re: emcmot
Добавлено: 03 дек 2013, 21:25
nkp
а где можно посмотреть исходники ASVCNC ??
Re: emcmot
Добавлено: 04 дек 2013, 10:47
asv-lab
На днях выложу ссылку сброшу. Может что добавите, хотелось бы что бы для windows тоже была программка с открытыми исходниками.
Re: emcmot
Добавлено: 04 дек 2013, 17:29
asv-lab
Вопросик по g02. Функция
Код: Выделить всё
ARC_FEED (double first_end, double second_end,
double first_axis, double second_axis, int rotation,
double axis_end_point, double a, double b, double c)
точка ouble axis_end_point is the Z coordinate of the end of the arc. abc двигаются линейно
g01 x0 y1
g02 x1.2803 y1.5303 R-.750 z2 a10 b10 c10
Re: emcmot
Добавлено: 05 дек 2013, 11:07
Nick
ммм где вопрос?
(Так и должно быть, Z тоже линейно (зависит от G17-19))
Re: emcmot
Добавлено: 05 дек 2013, 14:33
asv-lab
Это и был вопрос ) все уже понял, Пока разбирался с исходником появилась сомнения что если g01 то все координаты должны перемещаться линейно а тут подумал что g02 то все должны перемещаться по радиусу. Прочитал описание g02 понял что я ошибался/
Re: emcmot
Добавлено: 30 апр 2014, 15:02
asv-lab
Исходники заготовки можно взять тут
https://bitbucket.org/bitplusplus, вдруг кто захочет поучаствовать 4 пользователя в команду можно бесплатно присоединить, или можно ответвление сделать, только не знаю возможно следить за изменениями в ответвленных проектах может кто знает?