Из картинки вроде как следует ,что результат интерпретации gcode кладется в буфер.Но он вроде преобразует gcode в какие-то более простые(для расшифровки) команды,а потом уже их обрабатывает в реальном времени.Интерполятор же должен включаться уже при обработке непосредственно движения ,а не преобразовывать gcode.UAVpilot писал(а):Зачем? Он может сразу всё расчитать и результат положить в некий буфер, из которого в каждый сервоцикл будет передаваться генераторам данные по перемещениям, которые нужно сделать в очередном сервоцикле. Именно тут только и начинается RT. Вот хорошая картинка, поглядывайте на неё: http://linuxcnc.org/docs/devel/html/cod ... e_overview
LinuxCNC + Orange Pi (allwincnc)
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Это и есть интерполятор.Это вариант использования нескольких счетчиков с разными коэффициентами деления.Такой вариант наименее затратный по машинному времени ,но и наименее точный.Чем длиннее отрезок тем большийй разбег между осями.Выход -разбивать на короткие отрезки.Но есть и другие методы интерполяции.UAVpilot писал(а):G-код незачем "парсить" с точностью до каждого шага (микрона), на его выходе (точнее на выходе планировщика) достаточно получать команды/данные типа "сделать в ту сторону N шагов со скоростью S", а превратить такое задание в массив состояний пинов сможет сам генератор.
-
arkhnchul
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
те, которые в составе ядра.sidor094 писал(а):Драйвера для ARM?
в смысле "читатель и исполнитель", а не только парсер и анализатор.UAVpilot писал(а):Интерпретатор G-кода?
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Для свистулек WIFI драйвера идут в основном под процессоры INTEL .Не важно LINUX или WINDOWS но только под INTEL .А здесь CORTEX(ARM).arkhnchul писал(а):те, которые в составе ядра.
Интерпретатор преобразует текстовые данные в числовые величины(float,int) координат(x,y z)и тип движения (g0 g1 g2 g3).arkhnchul писал(а):в смысле "читатель и исполнитель", а не только парсер и анализатор
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Процессор - это отдельное от DMA устройство и он не может запретить каким-либо устройствам пользоваться DMA.Сергей Саныч писал(а):Если какое-то устройство способно захватить память монопольно и надолго, то есть на неограниченное количество циклов доступа к памяти (я не в курсе, возможно ли такое в процессоре, который в Orange), то да.
Разрешить/запретить может ядро ОС, а в Linux оно разрешает.
Может не превышать, а может и превышать - в не-RT ОС всё это возможно. Уже 100500 раз говорил, что RT - это не быстродействие, а гарантированное время отклика на события.Сергей Саныч писал(а):Если же суммарное время захвата памяти помянутыми (и непомянутыми) узлами не превышает нескольких циклов доступа, то с таким "джиттером" мириться можно.
Да, там простые задания типа "в течении времети T осью Х ехать в ту сторону со скоростью Sx, а осью Y в эту сторону со скоростью Sy". Интерполятор - это часть планировщика, который в том числе занимается и расчётом синхронного движения осей. Для этих расчётов RT не нужно.sidor094 писал(а):Из картинки вроде как следует ,что результат интерпретации gcode кладется в буфер.Но он вроде преобразует gcode в какие-то более простые(для расшифровки) команды,а потом уже их обрабатывает в реальном времени.Интерполятор же должен включаться уже при обработке непосредственно движения ,а не преобразовывать gcode.
Процессор тут значения не имеет. В ядре для ARM полностью реализованы USB стек и WiFi стек. Драйвер свистульки - это мостик между этими стеками, он написан на стандартном C и совершенно спокойно компилится под любую платформу. Можно скачить исходники ядра Linux и самостоятельно убедиться в этом - исхоники драйверов даже расположены в общей части, а не в платформозависимой.sidor094 писал(а):Для свистулек WIFI драйвера идут в основном под процессоры INTEL .Не важно LINUX или WINDOWS но только под INTEL .А здесь CORTEX(ARM).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
arkhnchul
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
sidor094 писал(а):Для свистулек WIFI драйвера идут в основном под процессоры INTEL
arkhnchul писал(а):те, которые в составе ядра
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Со сборкой ядра с RT патчем стало всё боль мень понятно. Но есть загвоздка. При установке в систему, идёт доп. компиляция. А т.к. система работает на плохой китайской MicroSD карте, этот процесс растягивается на вечность.
Вощем, придётся полностью образ для MicroSD карты собирать, а не только ядро..
Вощем, придётся полностью образ для MicroSD карты собирать, а не только ядро..
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Однако на картинке планировщик находится в РТ части.UAVpilot писал(а): Интерполятор - это часть планировщика, который в том числе занимается и расчётом синхронного движения осей. Для этих расчётов RT не нужно.
sidor094 писал(а):
В LINUX не силен,но на каждую свистульку свой драйвер,и не видел ,чтобы с исходникамиUAVpilot писал(а):Драйвер свистульки - это мостик между этими стеками, он написан на стандартном C и совершенно спокойно компилится под любую платформу. Можно скачить исходники ядра Linux и самостоятельно убедиться в этом - исхоники драйверов даже расположены в общей части, а не в платформозависимой.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
В LinuxCNC это именно так. Я-же говорю, что планировщик в принципе можно вынести из RT (развивая мысль ТС), но совсем без RT не обойтись.sidor094 писал(а):Однако на картинке планировщик находится в РТ части.
Смотри на здоровье, совершенно бесплатно: https://github.com/torvalds/linux/tree/ ... k/rtl8xxxusidor094 писал(а):В LINUX не силен,но на каждую свистульку свой драйвер,и не видел ,чтобы с исходниками
Обрати внимание на имена файлов - они означают, что один драйвер поддерживает не конкретную модель "свистульки", а сразу десятка два подобных устройств.
Это в винде один и тот-же драйвер не походит к однотивным устройствам, отличающимся лишь парой VID:PID...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
sidor094
- Мастер
- Сообщения: 826
- Зарегистрирован: 20 фев 2014, 09:13
- Репутация: 81
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Спасибо.Понял.Буду разбираться.Надо читать по Линуксу .
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Собрал образ системы с RT патчем, установил всё также как в системе без RT патча.
4-е ядро изолировано и там, и там (isolcpus=3).
Запускал cyclictest на двух системах. Результаты ниже.
Белый - без RT, чёрный - с RT патчем.
Что-то не заметно больших различий. ~3500 мкс и там, и там.
Может, кто подскажет в чём может быть дело?
И как правильно протестировать RT систему?
4-е ядро изолировано и там, и там (isolcpus=3).
Запускал cyclictest на двух системах. Результаты ниже.
Белый - без RT, чёрный - с RT патчем.
Что-то не заметно больших различий. ~3500 мкс и там, и там.
Может, кто подскажет в чём может быть дело?
И как правильно протестировать RT систему?
-
arkhnchul
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
просто накатили патч и собрали? preemption mode в конфиге ядра не забыли случаем выбрать?
https://wiki.linuxfoundation.org/realti ... ion_models
https://wiki.linuxfoundation.org/realti ... ion_models
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Вопрос: А почему время выполнения программы должно было измениться?
Чудес не бывает. Бывают фокусы.
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
указал Preemptible Kernel (Basic RT), а вот с Fully Preemptible Kernel (RT) не собираетсяarkhnchul писал(а):просто накатили патч и собрали? preemption mode в конфиге ядра не забыли случаем выбрать?
https://wiki.linuxfoundation.org/realti ... ion_models
А где там время выполнения программы?Сергей Саныч писал(а):Вопрос: А почему время выполнения программы должно было измениться?
Последний раз редактировалось MX_Master 29 сен 2017, 15:14, всего редактировалось 1 раз.
-
arkhnchul
- Мастер
- Сообщения: 1773
- Зарегистрирован: 01 фев 2016, 13:56
- Репутация: 339
- Откуда: москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
измениться по идее должны были значения в последнем столбце, max latencyСергей Саныч писал(а):А почему время выполнения программы должно было измениться?
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Вот и тут внизу пишет человек https://github.com/ScotSalmon/rt-tests , что последнее правое значение (MAX) это и есть max latency
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Вопрос снят. я посчитал, что это время выполнения тестовой программы из предыдущих постов.
Чудес не бывает. Бывают фокусы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
MX_Master писал(а):Что-то не заметно больших различий. ~3500 мкс и там, и там.
Может, кто подскажет в чём может быть дело?
Basic RT model is mainly for debugging of RT, use RT instead. RT aims to minimize parts of the kernel where preemption is explicitly disabled.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
ясно, пойду смотреть логи сборки ядра полным RT.. как минимум, придётся руками многие места подправить..
UPDATE:
С небольшим костыльком в коде, собрал, всё-таки, ядро с RT патчем и опцией FULL_RT (5).
Всё установлено точь также как и в предыдущих образах. 4-е ядро проца изолировано (isolcpus=3).
Результат cyclictest'a на удивление похож на все предыдущие:
Даже и не знаю, что думать. Сергей (UAVpilot), подскажите пожалуйста дальнейшее направление.
Если кто-то знает в чём может быть дело, буду очень рад.
UPDATE:
С небольшим костыльком в коде, собрал, всё-таки, ядро с RT патчем и опцией FULL_RT (5).
Всё установлено точь также как и в предыдущих образах. 4-е ядро проца изолировано (isolcpus=3).
Результат cyclictest'a на удивление похож на все предыдущие:
Даже и не знаю, что думать. Сергей (UAVpilot), подскажите пожалуйста дальнейшее направление.
Если кто-то знает в чём может быть дело, буду очень рад.
- Argon-11
- Мастер
- Сообщения: 2068
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: ЧПУ контроллер на базе Orange Pi
Затусуйся на форуме 4pda, там есть очень умные дядьки.