roboforum.ru

Технический форум по робототехнике.

G коды вопрос

G коды вопрос

whale » 23 авг 2013, 16:07

Хочу написать транслятор G кодов в lpt для 3d принтера,вопрос есть такие команды

G1 X-30.72 Y-18.79 Z0.5 E0 F210 // тут я так понимаю идем на эти координаты со скоростью F210
G1 E1.25 // дошли до предыдущих координат включили подачу прутка

а вот тут непонятно через какое время выполнять следующую строку ?
какой тут интервал ?

G1 X-34.15 Y-22.24 E0.2148


также скорость F задается для всех координат одна, те на заданные координаты x y z головка должна придти одновременно или подача по Z как то описывается отдельно ?
Последний раз редактировалось whale 23 авг 2013, 17:17, всего редактировалось 2 раз(а).

Re: G коды вопрос

hudbrog » 23 авг 2013, 16:11

1) не совсем, зависит от текущего режима. G90/G91 выставляют относительное или абсолютное позициониирование, так что первая ваша строка может быть как смещением на -30, -18 относительно текущей позиции, так и переходом к этим координатам
2) никаких интервалов нет. следующая строка выполняется сразу после предыдущей, чем быстрее, тем лучше =)
3) по третьей строке - будет одновременное выдавливание прутка и перемещение.

Re: G коды вопрос

whale » 23 авг 2013, 16:14

перемещения абсолютны.
Что значит чем быстрее тем лучше ?
Я так понимаю должна выполниться предыдущая команда иначе куда их пихать эти команды ?

тогда команда
G1 E1.25
не имеет смысла тк она сразу становиться равной E0.2148
G1 X-34.15 Y-22.24 E0.2148

Re: G коды вопрос

hudbrog » 23 авг 2013, 19:33

Каждая следующая строка должна начать выполняться сразу как только полностью выполнилась предыдущая.
Про эти две строки:
G1 E1.25
G1 X-34.15 Y-22.24 E0.2148
Опять, зависит от того, абсолютное или относительное позиционирование 4й оси используется (M82/M83). Если стоит относительное - то эти две строки вполне логичны. Да в общем-то даже если и абсолютное - какая разница.

Re: G коды вопрос

TedBeer » 23 авг 2013, 20:11

whale писал(а):Что значит чем быстрее тем лучше ?
Я так понимаю должна выполниться предыдущая команда иначе куда их пихать эти команды ?

тогда команда
G1 E1.25
не имеет смысла тк она сразу становиться равной E0.2148

Читать нужно стандарты, если непонятно, то смотрите реализацию команд в сорцах фирмвари, например в Марлине/Спринтере.
А так, выдергивать кусок gcode из файла и приписывать ему смысл, которого там без контекста нет, совершенно бесполезное занятие.
Вы даже не знаете, что происходит в том куске, что вы привели, что предполагалось делать - печать периметра? ретракт? очистка сопла? прогон пластика до нового цвета? генерация мелодии моторами и механикой? два экструдера или один?

Re: G коды вопрос

baru » 23 авг 2013, 23:44

whale писал(а):перемещения абсолютны.
тогда команда
G1 E1.25
не имеет смысла тк она сразу становиться равной E0.2148
G1 X-34.15 Y-22.24 E0.2148

переход к следующей по выполнению
давит 1,25 и переходит дальше
whale писал(а):также скорость F задается для всех координат одна, те на заданные координаты x y z головка должна придти одновременно или подача по Z как то описывается отдельно ?
z отдельной командой, просто потому, что печатаем слоями, поменяли слой, и дальше X-Y работают. А так да, все три указать, одновременно придут.

Re: G коды вопрос

whale » 24 авг 2013, 21:08

Похоже я понял в чем дело, я думал E это скорость а наверно это перемещение,
тогда все логично.

Еще F30000 это типа на всех парах едем к заданной точке ?


; 'Support Interface', 0.4 [feed mm/s], 10.0 [head mm/s]
G1 X30.72 Y-18.79 Z0.75 E0.63 F30000
G1 X-30.72 Y-18.79 Z0.5 E0 F210
G1 E1.25
G1 X-34.15 Y-22.24 E0.2148
G1 X-33.96 Y-22.59 E0.0179
G1 X-33.79 Y-23.29 E0.0317
G1 X-27.9 Y-17.38 E0.3692

Re: G коды вопрос

baru » 24 авг 2013, 22:12

whale писал(а):так он давит 1,25 а потом сразу 0,21 я вот это не пойму )
Он выдавить 1,25 не успеет ничего, какой смысл в это команде если на нее не отводится времени ?
Может между строками все таки есть какая то минимальная задержка ?
Файл генерировал KISSlicer

; 'Support Interface', 0.4 [feed mm/s], 10.0 [head mm/s]
G1 X30.72 Y-18.79 Z0.75 E0.63 F30000
G1 X-30.72 Y-18.79 Z0.5 E0 F210
G1 E1.25
G1 X-34.15 Y-22.24 E0.2148
G1 X-33.96 Y-22.59 E0.0179
G1 X-33.79 Y-23.29 E0.0317
G1 X-27.9 Y-17.38 E0.3692
ё-моё, написал вам развернутый ответ, да форум знаки больше-меньше не пропускает и всё пропало. В двух словах так, ваш подход, насколько я его понял, принципиально не верен. Контроллер не считает задержки между командами, а следит за их исполнением, пока заданное командой количество шагов не отработал, к следующей не приступает.

Re: G коды вопрос

whale » 25 авг 2013, 02:48

Так я и говорил что сначала ждем исполнения команды а потом уже читаем следующую.
Так это, E это перемещение в мм давилки ?

Добавлено спустя 5 минут 14 секунд:
Чета меня тута банять по ip

Re: G коды вопрос

setar » 25 авг 2013, 02:50

E это координата абсолютная прутка
если нам нужно продавить 1 мм мы увеличиваем на это значение текущее положение.
когда цифра становится большой то принудительно сбрасываем положение командой G92 E0

Добавлено спустя 1 минуту 5 секунд:
никто тебя банить не может кроме паблик блек листов (не попадай туда)

Re: G коды вопрос

whale » 25 авг 2013, 02:52

"паблик блек лист"
а что это за беда такая ?

Вроде с кодами ясно, тут еще ошибка вылетает, кто нить на Buildere прогает ?

Re: G коды вопрос

setar » 25 авг 2013, 02:54


Re: G коды вопрос

whale » 25 авг 2013, 02:57

странно, ниче не делал, правда )

Re: G коды вопрос

hudbrog » 25 авг 2013, 04:57

setar писал(а):E это координата абсолютная прутка

Ну все же не обязательно. Часто очень даже относительная =)

Re: G коды вопрос

setar » 25 авг 2013, 15:26

:) относительно нуля ? который мы где хотим там и ставим
Ну да, можно и так сказать


cron
Rambler\'s Top100 Mail.ru counter