LinuxCNC в конфигурации сервер клиент?
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
LinuxCNC в конфигурации сервер клиент?
Всем привет, решил открыть оную тему в результате долгих мучительных мытарств в попытках заставить работать LinuxCNC как положено без глюков и на максимально возможных скоростях для моего станка(субъективно ) )
вообщем долго мучался с проблемой - станок сбивался через какое-то время работы (в основном по зэтам) на больших файлах, то-есть запустить файл в сто двести мегабайт на несколько суток - это не реальный случай.
Методом проб и болезненных ошибок понял, что если у Вас большой файл и при его открытии аксис его грузит в оперативную память(бэкплот я так понимаю), которой не хватает, то линукс благополучно складывает какую то часть в swap диск подкачки и при работе, когда дело доходит до того момента, чтоб прочитать ту часть, что ушла в swap диск - мы получаем сбой - уходит какаето из осей или несколько и файл режется дальше но только уже с этим рандомным смещением, и да не спрашивайте причем здесь этот бекплот или что там он еще грузит в оперативку не знаю. Я просто провел эксперимент - разделил файл на части и запустил по очереди - все вырезалось как положено, а если файл пытаюсь запустить целиком получаю полностью заполненную оперативную память и сбои осей.
решением было увеличение оперативной памяти, отключение свап диска подкачки и соответственно резание ручками файликов на части чтоб не забить всю оперативку.
ФУУУХ, чет я отвлекся:))
Вообщем, как следствие пришел к потребности сконфигурировать LinuxCNC в серверном виде, то-есть линукс без иксов (без графики) - получаем уменьшение Latency, также пробовал конфигурации для терминала и заметил, что никакой загрузки оперативной памяти нету. То-есть нужна максимально легкая конфигурация заточеная только на выполнение файла. А вот клиент может быть тот же аксис на основной машине, который может висеть в виртуальной машине и может в любой момент подсоединяться к серверу и отсоединяться и не мешать работе основной машине. То-есть в идеале запускаем в виртуалке аксис, подсоединяем его по локалке к серверной машинке и считываем в каком состоянии находиться сейчас станок (возможно он уже работает) запускаем файл в работу и отключаем клиент, а станок его работает, в любой момент подключаем обратно клиент смотрим в каком состоянии находиться исполнение файла и тд. как будто это связка работает на одном компе, ну может добавить в аксис отключение бэкплота, причем тот путь который проехала фреза за время подключения пусть рисует и без бекплота, также кнопку подключния отключения от сервера
ВОООТ, теперь с нетерпением жду дельных советов в какую сторону копать и возможно уже есть готовые решения, я например слышал, что в machinekit есть что то наподобие, но с этим форком я не работал, так что пока вопрос открыт.
вообщем долго мучался с проблемой - станок сбивался через какое-то время работы (в основном по зэтам) на больших файлах, то-есть запустить файл в сто двести мегабайт на несколько суток - это не реальный случай.
Методом проб и болезненных ошибок понял, что если у Вас большой файл и при его открытии аксис его грузит в оперативную память(бэкплот я так понимаю), которой не хватает, то линукс благополучно складывает какую то часть в swap диск подкачки и при работе, когда дело доходит до того момента, чтоб прочитать ту часть, что ушла в swap диск - мы получаем сбой - уходит какаето из осей или несколько и файл режется дальше но только уже с этим рандомным смещением, и да не спрашивайте причем здесь этот бекплот или что там он еще грузит в оперативку не знаю. Я просто провел эксперимент - разделил файл на части и запустил по очереди - все вырезалось как положено, а если файл пытаюсь запустить целиком получаю полностью заполненную оперативную память и сбои осей.
решением было увеличение оперативной памяти, отключение свап диска подкачки и соответственно резание ручками файликов на части чтоб не забить всю оперативку.
ФУУУХ, чет я отвлекся:))
Вообщем, как следствие пришел к потребности сконфигурировать LinuxCNC в серверном виде, то-есть линукс без иксов (без графики) - получаем уменьшение Latency, также пробовал конфигурации для терминала и заметил, что никакой загрузки оперативной памяти нету. То-есть нужна максимально легкая конфигурация заточеная только на выполнение файла. А вот клиент может быть тот же аксис на основной машине, который может висеть в виртуальной машине и может в любой момент подсоединяться к серверу и отсоединяться и не мешать работе основной машине. То-есть в идеале запускаем в виртуалке аксис, подсоединяем его по локалке к серверной машинке и считываем в каком состоянии находиться сейчас станок (возможно он уже работает) запускаем файл в работу и отключаем клиент, а станок его работает, в любой момент подключаем обратно клиент смотрим в каком состоянии находиться исполнение файла и тд. как будто это связка работает на одном компе, ну может добавить в аксис отключение бэкплота, причем тот путь который проехала фреза за время подключения пусть рисует и без бекплота, также кнопку подключния отключения от сервера
ВОООТ, теперь с нетерпением жду дельных советов в какую сторону копать и возможно уже есть готовые решения, я например слышал, что в machinekit есть что то наподобие, но с этим форком я не работал, так что пока вопрос открыт.
- aekhv
- Мастер
- Сообщения: 393
- Зарегистрирован: 17 окт 2014, 15:03
- Репутация: 218
- Настоящее имя: Александр
- Откуда: г.Хабаровск
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Веб-интерфейс для LinuxCNC / Machinekit: http://www.cnc-club.ru/forum/viewtopic. ... 55#p284855
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
В грамотно написанных программах, и в LinuxCNC тоже, файлы с УП не грузятся в оперативную память целиком. Используется механизм "memory mapping", с помощью которого некая часть файла "отображается" в ОЗУ. Т.е. физически в ОЗУ находится только некоторый кусок файла. Просто вы эксперимент неправильно поставили - нужно было не тратить время на выполнение кусков УП, а просто загружать их и смотреть как изменяется занимаемая процессами LinuxCNC память.zaxlex писал(а):Методом проб и болезненных ошибок понял, что если у Вас большой файл и при его открытии аксис его грузит в оперативную память(бэкплот я так понимаю), которой не хватает, то линукс благополучно складывает какую то часть в swap диск подкачки и при работе, когда дело доходит до того момента, чтоб прочитать ту часть, что ушла в swap диск - мы получаем сбой - уходит какаето из осей или несколько и файл режется дальше но только уже с этим рандомным смещением, и да не спрашивайте причем здесь этот бекплот или что там он еще грузит в оперативку не знаю. Я просто провел эксперимент - разделил файл на части и запустил по очереди - все вырезалось как положено, а если файл пытаюсь запустить целиком получаю полностью заполненную оперативную память и сбои осей.
Подозреваю, что нужно просто отключить отображение траектории в axis или пользовать интерфейс попроще.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7465
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3088
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Для небольших УП можно юзать axis/gmocappy/.., для мега больших - tklinuxcnc. На последнем станок может работать целыми сутками без проблем.
- iMaks-RS
- Мастер
- Сообщения: 1726
- Зарегистрирован: 10 июл 2017, 09:25
- Репутация: 198
- Настоящее имя: Maks
- Откуда: От туда.
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Вроде бы уже обсуждалась эта проблема.. это нехватка ОЗУ.
Память рекомендуется подбирать из расчета 1Гб озу для 500 тысяч строк кода. Узнать количество строк - можно командой wc - wc filename.ngc
Загрузка уп большого объёма на Linuxcnc с интерфейсом AXIS #1
ну и да - в axis убрать визуализацию.
Память лучше одной плашкой - максимальный размер, поддерживаемый процессором/платой.
Память рекомендуется подбирать из расчета 1Гб озу для 500 тысяч строк кода. Узнать количество строк - можно командой wc - wc filename.ngc
Загрузка уп большого объёма на Linuxcnc с интерфейсом AXIS #1
ну и да - в axis убрать визуализацию.
Память лучше одной плашкой - максимальный размер, поддерживаемый процессором/платой.
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
не знаю на счет правильно или не правильно поставил эксперимент, но вот допустим после того как я файлик открыл в аксисе, я его вовсе удаляю с диска и о чудо, файлик все равно режется, значит куда-то он его все-таки забирает и вряд-ли копирует себе в какую-то отдельную папочку, наверняка зараза все складывает в оперативку, правда честно признаюсь с большими файлами я такой эксперимент не проводил, то-есть не дожидался пока он дорежет его до конца при удаленном с диска исходном файле.UAVpilot писал(а): В грамотно написанных программах, и в LinuxCNC тоже, файлы с УП не грузятся в оперативную память целиком. Используется механизм "memory mapping", с помощью которого некая часть файла "отображается" в ОЗУ. Т.е. физически в ОЗУ находится только некоторый кусок файла. Просто вы эксперимент неправильно поставили - нужно было не тратить время на выполнение кусков УП, а просто загружать их и смотреть как изменяется занимаемый процессами LinuxCNC память.
Подозреваю, что нужно просто отключить отображение траектории в axis или пользовать интерфейс попроще.
А на счет отключить отображение траектории, честно говоря не фокусировался на этом вопросе, мне как бы нравиться возможность посмотреть траекторию и тд, но вообще если можете, подскажите как отключить это отображение траектории и чтоб он не грузил весь файл и внизу справа не бежала синяя полосочка прогресса загрузки:))?
А интерфейс попроще - может Вы и правы и наверняка, но уже как то к ниму привык, да и вообще идея иметь отдельную машинку которая только исполняет код и ничего лишнего, а танцевать с интерфейсами и тд. уже на отдельной машинке не загружая основную, согласитесь имеет право на жизнь. Вот такую идею и хотелось бы реализовать хоть в каком то виде.
И для начала, может кто знает, как запустить LinuxCNC в режиме сервера, то-есть даже без минимальной GUI типа KEYSTICK GUI, в режиме сервиса или демона.
И вот еще например кто-то пробовал пользовать axis-remote?
Последний раз редактировалось zaxlex 08 июн 2020, 10:55, всего редактировалось 1 раз.
- MX_Master
- Мастер
- Сообщения: 7465
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3088
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
DISPLAY = linuxcncrshzaxlex писал(а):И для начала, может кто знает, как запустить LinuxCNC в режиме сервера, то-есть даже без минимальной GUI типа KEYSTICK GUI, в режиме сервиса или демона.
http://linuxcnc.org/docs/html/man/man1/ ... rsh.1.html
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Да, это Великое Чудо! Правда только для тех, кто не знает как работают современные файловые системы... Открыв файл (какой-нибудь программой) вы создали ссылку на на этот файл. Имя файла в какой-нибудь папке - это тоже всего лишь ссылка на файл. Удалив это имя вы всего лишь удалили одну из ссылок на этот файл, сам он продолжает лежать на диске. Когда та программа закроет этот файл, то удалится ещё одна ссылка на файл. Система реально удалит файл с диска только после того, как на него не останется ни одной ссылки.zaxlex писал(а):не знаю на счет правильно или не правильно поставил эксперимент, но вот допустим после того как я файлик открыл в аксисе, я его вовсе удаляю с диска и о чудо, файлик все равно режется, значит куда-то он его все-таки забирает и вряд-ли копирует себе в какую-то отдельную папочку, наверняка зараза все складывает в оперативку, правда честно признаюсь с большими файлами я такой эксперимент не проводил, то-есть не дожидался пока он дорежет его до конца при удаленном с диска исходном файле.
За удобства надо платить.zaxlex писал(а):А на счет отключить отображение траектории, честно говоря не фокусировался на этом вопросе, мне как бы нравиться возможность посмотреть траекторию и тд,
Все "секретные" фичи LinuxCNC как обычно надёжно спрятаны в документации: http://linuxcnc.org/docs/html/gui/axis. ... ew-controlzaxlex писал(а):но вообще если можете, подскажите как отключить это отображение траектории
Он не грузит, а "просматривает" УП на предмет ошибок, выхода за пределы рабочего поля и т.п.zaxlex писал(а):чтоб он не грузил весь файл и внизу справа не бежала синяя полосочка прогресса загрузки:))?
Linux с поддержкой графики занимает в ОЗУ менее гигабайта. Для комфортной работы LinuxCNC с "красивым" интерфейсом gmoccapy вполне достаточно 2GB.zaxlex писал(а):А интерфейс попроще - может Вы и правы и наверняка, но уже как то к ниму привык, да и вообще идея иметь отдельную машинку которая только исполняет код и ничего лишнего, а танцевать с интерфейсами и тд. уже на отдельной машинке не загружая основную, согласитесь имеет право на жизнь. Вот такую идею и хотелось бы реализовать хоть в каком то виде.
Да, это лучше для уменьшения скорости работы с памятью...iMaks-RS писал(а):Память лучше одной плашкой - максимальный размер, поддерживаемый процессором/платой.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 1080
- Зарегистрирован: 16 окт 2017, 16:07
- Репутация: 85
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Паузу сделать в программе через 500 т.строк. Для дозагрузки программы в память?
Либо может есть возможность встроить в программу очистку памяти после 500т.строк и загрузки следующих 500т.строк?
Либо может есть возможность встроить в программу очистку памяти после 500т.строк и загрузки следующих 500т.строк?
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
вообщем решил я пройти вот по этому пути - http://www.cnc-club.com/forum/viewtopic ... 6e08b451de
и возможно накидать небольшой мануальчик, пока поставил дебиан визи 32bit без иксов на RTAI ядре и собственно сам LinuxCNC 2.7-RTAI.
так как визи уже не поддерживается то при установке, при выборе зеркала, надо указать ручками archive.debian.org и два раза ентер, так как в следующем окошке /debian/ написано по умолчанию(это у меня вызвало самый большой затык):)).
Теперь вопрос, я помню что каким то макаром, можно запустить латенси тест от LinuxCNC с командной строки, гдето на форуме встречал, но теперь снова найти без шансов, так что знающие люди подскажите пожалуйста, как эта команда выглядит, а то хочется узреть этот сказочно маленький латенси ради которого отчасти и развел тут эту всю писанину:))
и возможно накидать небольшой мануальчик, пока поставил дебиан визи 32bit без иксов на RTAI ядре и собственно сам LinuxCNC 2.7-RTAI.
так как визи уже не поддерживается то при установке, при выборе зеркала, надо указать ручками archive.debian.org и два раза ентер, так как в следующем окошке /debian/ написано по умолчанию(это у меня вызвало самый большой затык):)).
Теперь вопрос, я помню что каким то макаром, можно запустить латенси тест от LinuxCNC с командной строки, гдето на форуме встречал, но теперь снова найти без шансов, так что знающие люди подскажите пожалуйста, как эта команда выглядит, а то хочется узреть этот сказочно маленький латенси ради которого отчасти и развел тут эту всю писанину:))
- xenon-alien
- Почётный участник
- Сообщения: 4506
- Зарегистрирован: 01 янв 2013, 13:13
- Репутация: 920
- Настоящее имя: Daniel
- Откуда: Закарпатская обл. Украина
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
latency-testzaxlex писал(а):можно запустить латенси тест от LinuxCNC с командной строки
Ну и с меню можно запустить с папки LinuxCNC.
Оно? Или есть что-то другое?
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
нет не оно, я же графику не ставил, мне надо все через командную строкуxenon-alien писал(а):latency-testzaxlex писал(а):можно запустить латенси тест от LinuxCNC с командной строки
Ну и с меню можно запустить с папки LinuxCNC.
Оно? Или есть что-то другое?
мне надо в терминале запустить команду и получить ответ тоже в терминале
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Кто-то уже спрашивал про latency-test без GUI и я там показывал как это делается, средствами HAL...zaxlex писал(а):нет не оно, я же графику не ставил, мне надо все через командную строку
Upd: вот, нашёл: Re: Latency-test показания на разных материнских платах #407
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Спасибо большое.UAVpilot писал(а):Кто-то уже спрашивал про latency-test без GUI и я там показывал как это делается, средствами HAL...zaxlex писал(а):нет не оно, я же графику не ставил, мне надо все через командную строку
Upd: вот, нашёл: Re: Latency-test показания на разных материнских платах #407
Вот мои результаты:
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
5 s32 OUT 639 base-thread.time
7 float OUT -1.952939 base.avg-err
7 s32 OUT -1047001 base.err
7 s32 OUT 5797 base.jitter
7 s32 OUT 30245 base.max
7 s32 OUT 19165 base.min
7 s32 OUT 25260 base.out
7 bit IN FALSE base.reset
7 s32 OUT 675 base.time
6 s32 OUT 540 servo-thread.time
7 float OUT -1.951199 servo.avg-err
7 s32 OUT -1046155 servo.err
7 s32 OUT 1590 servo.jitter
7 s32 OUT 1000010 servo.max
7 s32 OUT 996890 servo.min
7 s32 OUT 997480 servo.out
7 bit IN FALSE servo.reset
7 s32 OUT 540 servo.time
Я честно говоря растерялся, что для чего мне тут надо, хотелось бы разобраться, джитер это просто колебания частоты, а вот 1000010 servo.max и 30245 base.max, это те значения которые я пишу в своем конфиг файле ну плюс добавив чуток для надежности
кстати если честно, я помню какой-то латенси тест для терминала, в котором значения бегали как в обычном, типа в прямом эфире:)) и еще что то у меня такие ощущения, что значения у меня уж больно высокие как для машинки без иксов, я тут заморачиваюсь и пытаюсь поставить ядро RTAI, сконфигурировать машинку работать классически через лпт порт, а потом попробовать на этом же ядре и через мессу, вообщем вот мое ядро -
:~$ uname -a
Linux CNC 3.4-9-rtai-686-pae #1 SMP PREEMPT Debian 3.4.55-4linuxcnc i686 GNU/Linux
я давно его не ставил честно говоря, меня смущает, что rtai пишеться только в начале, а вот возле PREEMPT его не написано, а я вроде помню что и там оно где-то было дописано, вообщем подскажите успокойте поставил я нормально RTAI или это какой-то неправильный RTAI:))), я просто припоминаю, я когда-то давно экспериментировал с машинкой без иксов замерял латенси и это значение у меня было там что-то в районе от 1000 до 5000(уже и не припомню), так что боюсь что где-то что-то напорол
И да, нашел вот такую папочку - /usr/realtime-3.4-9-rtai-686-pae/testsuite/user/latency$
там есть три файлика для запуска:
./latency
./display
./run
но они пишут command not found и все, может я что то не так делаю:))?
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
а вот когда я поставил значения поменьше вот тут - loadrt threads name1=base-thread period1=5000 name2=servo-thread period2=10000
то и ответ стал повеселее
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
5 s32 OUT 495 base-thread.time
7 float OUT 0.005629169 base.avg-err
7 s32 OUT 14010 base.err
7 s32 OUT 7615 base.jitter
7 s32 OUT 12495 base.max
7 s32 OUT 440 base.min
7 s32 OUT 5050 base.out
7 bit IN FALSE base.reset
7 s32 OUT 450 base.time
6 s32 OUT 441 servo-thread.time
7 float OUT 0.005661807 servo.avg-err
7 s32 OUT 14415 servo.err
7 s32 OUT 6590 servo.jitter
7 s32 OUT 16320 servo.max
7 s32 OUT 3170 servo.min
7 s32 OUT 9925 servo.out
7 bit IN FALSE servo.reset
7 s32 OUT 432 servo.time
не скажу что прям таки огонь, как я припоминаю у меня было раньше но все же.
то и ответ стал повеселее
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
5 s32 OUT 495 base-thread.time
7 float OUT 0.005629169 base.avg-err
7 s32 OUT 14010 base.err
7 s32 OUT 7615 base.jitter
7 s32 OUT 12495 base.max
7 s32 OUT 440 base.min
7 s32 OUT 5050 base.out
7 bit IN FALSE base.reset
7 s32 OUT 450 base.time
6 s32 OUT 441 servo-thread.time
7 float OUT 0.005661807 servo.avg-err
7 s32 OUT 14415 servo.err
7 s32 OUT 6590 servo.jitter
7 s32 OUT 16320 servo.max
7 s32 OUT 3170 servo.min
7 s32 OUT 9925 servo.out
7 bit IN FALSE servo.reset
7 s32 OUT 432 servo.time
не скажу что прям таки огонь, как я припоминаю у меня было раньше но все же.
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
О УРА, доковырял, я какой-то латенси тест, который с ядром идет я так понял, вот он здесь находиться /usr/realtime-3.4-9-rtai-686-pae/testsuite/kern/latency./run
# RTAI latency calibration tool ##
# period = 100000 (ns)
# avrgtime = 1 (s)
# do not use the FPU
# start the timer
# timer_mode is oneshot
RTAI Testsuite - KERNEL latency (all data in nanoseconds)
RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns
RTD| -1620| -1620| -1560| -320| -320| 0
RTD| -1625| -1625| -1570| 5055| 5055| 0
RTD| -1620| -1625| -1569| -1145| 5055| 0
RTD| -1625| -1625| -1562| 4555| 5055| 0
RTD| -1620| -1625| -1580| -1045| 5055| 0
RTD| -1620| -1625| -1572| 4510| 5055| 0
RTD| -1620| -1625| -1568| -1020| 5055| 0
RTD| -1620| -1625| -1571| -1070| 5055| 0
RTD| -1625| -1625| -1568| -1100| 5055| 0
RTD| -1625| -1625| -1563| -1135| 5055| 0
RTD| -1620| -1625| -1569| 3495| 5055|
как эти значения соотнести к предыдущему тесту не очень мне ясно, что такое ovl max ? lat avg ? lat max?
# RTAI latency calibration tool ##
# period = 100000 (ns)
# avrgtime = 1 (s)
# do not use the FPU
# start the timer
# timer_mode is oneshot
RTAI Testsuite - KERNEL latency (all data in nanoseconds)
RTH| lat min| ovl min| lat avg| lat max| ovl max| overruns
RTD| -1620| -1620| -1560| -320| -320| 0
RTD| -1625| -1625| -1570| 5055| 5055| 0
RTD| -1620| -1625| -1569| -1145| 5055| 0
RTD| -1625| -1625| -1562| 4555| 5055| 0
RTD| -1620| -1625| -1580| -1045| 5055| 0
RTD| -1620| -1625| -1572| 4510| 5055| 0
RTD| -1620| -1625| -1568| -1020| 5055| 0
RTD| -1620| -1625| -1571| -1070| 5055| 0
RTD| -1625| -1625| -1568| -1100| 5055| 0
RTD| -1625| -1625| -1563| -1135| 5055| 0
RTD| -1620| -1625| -1569| 3495| 5055|
как эти значения соотнести к предыдущему тесту не очень мне ясно, что такое ovl max ? lat avg ? lat max?
-
- Мастер
- Сообщения: 972
- Зарегистрирован: 25 янв 2013, 17:11
- Репутация: 278
- Откуда: Украина, Харьков.
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
а строка, в начале УП:
(AXIS,stop)
не решает этой проблемы?
(AXIS,stop)
не решает этой проблемы?
Последний раз редактировалось 1240 10 июн 2020, 12:13, всего редактировалось 1 раз.
-
- Новичок
- Сообщения: 38
- Зарегистрирован: 20 окт 2015, 23:09
- Репутация: 0
- Настоящее имя: Alex
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
если вкратце, то не решает.1240 писал(а):а строка, в начале УП:
(AXIS,stop)
не решает это проблемы?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
Тут задаются длительности циклов (base - для генератора шагов, servo - для сервоцикла) в наносекундах:zaxlex писал(а):Я честно говоря растерялся, что для чего мне тут надо, хотелось бы разобраться, джитер это просто колебания частоты, а вот 1000010 servo.max и 30245 base.max, это те значения которые я пишу в своем конфиг файле ну плюс добавив чуток для надежности
loadrt threads name1=base-thread period1=25000 name2=servo-thread period2=1000000
jitter - максимальная погрешность в длительности цикла.
max - максимальная длительность соотв. цикла.
Эти значения не имеют смысла - чем меньше период при том-же джитере, тем меньше стабильность цикла, т.е. важно чтобы базовый период не "гулял" более, чем на ~50%, иначе будут проблемы с генерацией шагов. Например при ваших 5000 и джитере более 7000 длительность некоторых шагов будет нулевая, т.е. их просто не будет.zaxlex писал(а):а вот когда я поставил значения поменьше вот тут - loadrt threads name1=base-thread period1=5000 name2=servo-thread period2=10000
С малой длительностью сервоцикла тоже будут проблемы - за такое короткое время не все компоненты успеют выполнить свою работу.
Ну дай чтоль свою УП попробовать, а то разговор ни о чём.zaxlex писал(а):если вкратце, то не решает.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 697
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: LinuxCNC в конфигурации сервер клиент?
не знаю что там куда ремапится в памяти..
Не однократно замечал, что файлы читаются в реальном времени по строкам с харда. Я когда запускаю первую деталь для теста (токарка и код небольшой и чаще самописный) произвожу корректировку скоростей, а иногда и геометрии.
Так вот если выполнение еще не дошло до измененной строки - выполнит уже по измененному коду. Сегодня проверил это - специально дописал лишний проход пока деталь точилась. И станок отработал новую версию, хотя отображение траектории (белым) было как на момент старта, красным понятное дело отрисовал по новому.
Не однократно замечал, что файлы читаются в реальном времени по строкам с харда. Я когда запускаю первую деталь для теста (токарка и код небольшой и чаще самописный) произвожу корректировку скоростей, а иногда и геометрии.
Так вот если выполнение еще не дошло до измененной строки - выполнит уже по измененному коду. Сегодня проверил это - специально дописал лишний проход пока деталь точилась. И станок отработал новую версию, хотя отображение траектории (белым) было как на момент старта, красным понятное дело отрисовал по новому.