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

Что можно урезать в Linux/LinuxCNC, чтобы сделать меньше Lat

Добавлено: 03 фев 2016, 21:44
Lexxa
UAVpilot писал(а):
Lexxa писал(а):Итак, имеем Linuxcnc на P4 2400MHz, который тормозит и HH320 на Celeron 400MHz без тормозов.
Я могу обычный Linux так урезать, оставив только самое необходимое, что он будет резвее HH320 на том-же Celeron 400MHz, но это нафик не надо.
Lexxa писал(а):Согласен, но нужны ли такие короткие времена?
А как-же
Lexxa писал(а):Он каждую нс не 1 дискрету едет, а получает новое положение, в котором может быть и 1 и 1000 дискрет. Там все на ПЛИС.
? :)
UAVpilot,
Ну так скажи что урезать, я попробую, ибо это надо.

Почему ни НН320 (3мс), ни НН620 (3мс) ни ННi530 (3 мс, опционально 0.1), ни sinumerik 828 (3 мс интерполятор/125мкс серво) такие короткие времена тактов не нужны.
Что будет если у линукс цнц такт по положению сделать тоже 3 мс?
Тема отделена от: Re: Halcompail и драйвер. #108

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 02:13
Serg
Lexxa писал(а):Ну так скажи что урезать, я попробую, ибо это надо.
Много чего, например надо ядро пересобрать повыключав всё, что не используется... Я б не советовал делать это, если не знаешь как это делать и хорошо не знаешь "железо", чипсет и т.п. - можно что-нибудь нужное отключить...
Lexxa писал(а):Что будет если у линукс цнц такт по положению сделать тоже 3 мс?
Будет работать, если производительности хватит. :) Это зависит и от кофигурации компа и от конфигурации LinuxCNC (сколько задействовано компонентов и каких).

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 03:10
PKM
Обычно такт 1мс, почему вдруг на 3мс не хватит производительности?

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 03:15
Serg
Я понял, что речь про [TASK]CYCLE_TIME

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 08:05
Lexxa
UAVpilot писал(а): про [TASK]CYCLE_TIME
Нет, про [EMCMOT]TRAJ_PERIOD = 100000
UAVpilot писал(а):Много чего, например надо ядро пересобрать повыключав всё, что не используется... Я б не советовал делать это, если не знаешь как это делать и хорошо не знаешь "железо", чипсет и т.п. - можно что-нибудь нужное отключить...
ну так не только ж в ядре дело, а в сервисах ненужных. как узнать нужные и не нужные?
UAVpilot писал(а): если производительности хватит.
Ты хочешь сказать, что че период больше, тем выше производительность железа нужна, проясни я не понял чет немного

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 10:42
Serg
Ну не принципиально :)
Смысл в том, что было 10 мс, а станет 3 мс.

Списка ненужных сервисов пока никто не составил... :) Придётся во всё вникать самостоятельно и принимать решение что нужно, а что нет.

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 12:06
Lexxa
[EMCMOT]TRAJ_PERIOD = 100000 нс = 100 мкс = 0.1 мс!!!
[EMCMOT]SERVO_PERIOD = 1000000 нс =1000 мкс = 1 мс.
У сименса 3 мс и 125мкс соответственно!!!

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 16:51
Nick
Lexxa писал(а):Очень для меня странно, что servo thread величина плюс минус километр. Я как то раньше думал, что это главный параметр быстродействия.
Сам servo-period плавает. Но в определенных пределах. При этом мы знаем на сколько уплыл текущий период.
Т.е. погрешность будет только в пределах 1-2 периодов. Что при этом имеем:
1. Запросим у FPGA инфу на +-25мкс раньше
2. Все рассчеты будут начинаться +-25мкс.
3. Отправим команду в FPGA на +-25мкс раньше

Далее, у FPGA период не плавает. Он может точно отсчитать начало нового периода и начнет действовать ровно тогда, когда это нужно. Поэтому влияние плавания комповского сервопериода на нем не скажется.

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 17:27
Nick
Lexxa писал(а):Почему ни НН320 (3мс), ни НН620 (3мс) ни ННi530 (3 мс, опционально 0.1), ни sinumerik 828 (3 мс интерполятор/125мкс серво) такие короткие времена тактов не нужны.
Что будет если у линукс цнц такт по положению сделать тоже 3 мс?
Lexxa писал(а):UAVpilot,
Ну так скажи что урезать, я попробую, ибо это надо.
GUI нужен? Или можно без него?

PS может с этим в отдельную тему?

Re: Halcompail и драйвер.

Добавлено: 04 фев 2016, 22:16
T00T
Nick писал(а):PS может с этим в отдельную тему?
Я б так вообще последнюю страницу всю в другую тему. Но визуализация в AXIS вещь неоценимая, снижает уровень ошибок до нуля!!!
Nick писал(а):Сам servo-period плавает. Но в определенных пределах. При этом мы знаем на сколько уплыл текущий период.
Т.е. погрешность будет только в пределах 1-2 периодов. Что при этом имеем:
1. Запросим у FPGA инфу на +-25мкс раньше
2. Все рассчеты будут начинаться +-25мкс.
3. Отправим команду в FPGA на +-25мкс раньше

Далее, у FPGA период не плавает.
Вот это походу относиться к данной теме. Я думаю что ещё проще, а именно: ЧПУ выставляет грубо говоря для каждого серво-цикла новое положение, и я думаю расчёт этого положения ведётся с учётом того, что серво-цикл 1мс, а какой он там реально будет 1025 мкс или 990 мкс не важно, он в среднем как ты говоришь и будет 1000 мкс, поэтому для FPGA вообще всё это лишнее. Просто при расчёте частоты степа нужно исходить из этих соображений.
Ну эксперементы покажут.

Re: Что можно урезать в Linux/LinuxCNC, чтобы сделать меньше

Добавлено: 05 фев 2016, 16:24
Nick
Раз уж тема новая, давайте рассуждать с чего начинать урезать :).

Я так понимаб для начала надо посмотреть lsmod. Lexxa, что он у тебя показывает?

Re: Что можно урезать в Linux/LinuxCNC, чтобы сделать меньше

Добавлено: 05 фев 2016, 19:24
Serg
Если хотите "урезать Linux", то в первую очередь надо определится с составом и конфигурацией железа (проц, чипсет и т.п.).