Страница 1 из 1

emcmot

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

Re: emcmot

Добавлено: 29 ноя 2013, 21:42
Nick
Может nkp подскажет - он с интерпретатором возился...

А что хочешь сделать?
Там вроде четыре файла по emcmot, все на пару страничек и в основном определение констант... :thinking:

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
asv-lab писал(а):понятно. буду дальше копать, если еще есть gcod киньте, этот вроде нормально работает. http://youtu.be/BiqVjdjmccM
а где можно посмотреть исходники 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 пользователя в команду можно бесплатно присоединить, или можно ответвление сделать, только не знаю возможно следить за изменениями в ответвленных проектах может кто знает?