Вверх ↑
Ответов: 27
Рейтинг: 0
#1: 2017-01-13 20:46:19 ЛС | профиль | цитата
Netspirit, в общем смысле я примерно понял. При таком G-коде
N10 G01 X10.0 Y37.0 F100
N11 X20.0 Y40.0 Z40.0
N10 и N11 - это номера кадров и они нам не нужны, предположим первая строка станком уже выполнена, значит мне нужно распарсить следующую, сформировать на ее основе свою и послать в контроллер. Для этого, в компьютерной программе пересчитываю разность координат по осям в миллиметрах в количество шагов двигателей, и при дискретности перемещений станка например 0.1мм, записываю новые данные перемещений примерно так.
1. По "X" нужно сделать 100 шагов, и при том что следующая координата больше предыдущей, тогда она запишется со знаком "+", так мы задаем например правое вращение двигателя.
2. По "Y" нужно сделать 30 шагов. Формат записи тот же, со знаком "+".
3. По "Z" после выполнения перемещений по XY, переместить инструмент на новую позицию по вертикали.
4. Скорость(F100) - нам пока не нужна.
Значит запись должна выглядеть примерно так: +100 +30 -55 (предположим последняя позиция по "Z" была 45.5)
Тогда я имею посылку размером 10байт, в которой символы "+" и "-" остаются такими же как прислал Леонид, а на "1", "0", "3" и "5" нужно сделать таблицу замены и наверное правильно ты сказал, если она будет в бинарном виде. Вопрос, как ее послать через COMEX в бинарном виде?!
Вопрос разбора команд G-кода сейчас не стоит, сейчас мне нужно разобраться с отправкой-приемом данных через Com-UART. Пока в такой простой форме. А может товарищ nesco знает?!
карма: 0

0