сколько процессов!?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Dozer009
Новичок
Сообщения: 22
Зарегистрирован: 09 июл 2012, 17:12
Репутация: 1
Контактная информация:

сколько процессов!?

Сообщение Dozer009 »

Доброе время суток Уважаемые форумчане!

вопрос такой сколько одновременных процессов может поддерживать linuxcnc.

для понимания вопроса опишу так!

имеется станок необходимо управление 4 осями по 2 оси на канал или процесс, чтобы пары осей были не зависимы друг от друга.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: сколько процессов!?

Сообщение Nick »

А что именно станок делает?
Что значит независимы?

Оси XYZ независимы или нет?

-----
вообще процесс 1, но многое можно решить обходными путями. Лучше всего опиши задачу целиком и расскажи про станок - тогда можно будет точнее сказать...
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: сколько процессов!?

Сообщение NightV »

что за оси? шаговые? сервы?
а вообще (по умолчанию) потдерживается 9 осей
Всё просто! если знаешь КАК!
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: сколько процессов!?

Сообщение Nick »

NightV писал(а):что за оси? шаговые? сервы?
А это не важно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

Скажем более конкретно: одновременно может исполнятся только одна управляющая программа.
Однако одновременно с этим в LinuxCNC может работать сколько угодно (в разумных пределах) конечных автоматов.

P.S. в теории в одной ОС можно запустить несколько экземпляров LinuxCNC, но без "танцев с бубнами" тут не обойтись.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11731
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: сколько процессов!?

Сообщение michael-yurov »

У KMotionCNC и KFlop - 7 независимых процессов.
Т.е. и программа и сам контроллер могут обрабатывать семь независящих друг от друга программ.
При желании можно обмениваться данными между выполняемыми независимо процессами. Можно один из процессов заставить ждать, пока другой выполнит определенные действия.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

michael-yurov писал(а):У KMotionCNC и KFlop - 7 независимых процессов.
Т.е. и программа и сам контроллер могут обрабатывать семь независящих друг от друга программ.
Сколько управляющих программ (ну тех, что на G-коде пишут) можно исполнять одновременно?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Dozer009
Новичок
Сообщения: 22
Зарегистрирован: 09 июл 2012, 17:12
Репутация: 1
Контактная информация:

Re: сколько процессов!?

Сообщение Dozer009 »

michael-yurov писал(а):
У KMotionCNC и KFlop - 7 независимых процессов.
Т.е. и программа и сам контроллер могут обрабатывать семь независящих друг от друга программ.
При желании можно обмениваться данными между выполняемыми независимо процессами. Можно один из процессов заставить ждать, пока другой выполнит определенные действия.
именно это и нужно! пример как на балтсистем
но там не совсем то что нужно

необходимо чтобы одна управляющая программа работала не зависимо от другой в своем процессе и общий так сказать мастер процесс( ну или что то типа того)
или из gui 1 процесс - 1одна УП - 2 процесс 2 УП
а станок двух суппортной колесотокарный
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: сколько процессов!?

Сообщение Nick »

Dozer009 писал(а):а станок двух суппортной колесотокарный
тогда скорее всего вариант - два компьютера и согласование процессов по сети. Т.е. один мастер, другой слейв и по выполнению программы слейв говорит мастеру можно двигаться дальше.
Да, будет не совсем прям стандартными методами, но при желании можно вписать все в стандартный Gкод.

Я так понимаю, что процессы в разных суппортах не синхронизируются между собой?

Погоди, двух суппортный или двух шпиндельный?

Какого вида будет работа? Лучше всего в Gкоде, если он не ооочень большой. (лучше всего упрощенный Gкод)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

Наверно колёсные пары протачивать?..
Это можно делать одной УП выполняя одновременно проходы обоими суппортами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Dozer009
Новичок
Сообщения: 22
Зарегистрирован: 09 июл 2012, 17:12
Репутация: 1
Контактная информация:

Re: сколько процессов!?

Сообщение Dozer009 »

да! колесные пары, один шпиндель тоесть 1 ось вращения

суппорта должны работать независимо друг от друга ! можно делать чтобы одна УП была мастре другая slave не удобно это и не практично. нужна возможность обточки любой из сторон или правой или левой . при обломе резца к примеру отвел левый суппорт , правый продолжает точить и наоборот.. также не зависимая подача по каждой из сторон!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

Так не может ни LinuxCNC, ни Kflop, ни другие. Разве что какая-то специализированная стойка...
Наиболее реально сделать как я в #10 написал, а при обломе резца останавливать работу обоих суппортов, менять резец, мерять компенсацию и продолжать работу.
Тем более, что менять резцы при работающем шпинделе - странная идея...
Да и такая асинхронная работа не имеет смысла - если один суппорт закончит свою работу раньше другого, то он же не сможет начать обработку второй детали, пока первый не закончит свою часть.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Dozer009
Новичок
Сообщения: 22
Зарегистрирован: 09 июл 2012, 17:12
Репутация: 1
Контактная информация:

Re: сколько процессов!?

Сообщение Dozer009 »

нагрузка- толщина резания , ползуны окалины , много факторов. где нужно чтобы один раньше начал другой отстал , а когда закончил отъехал и ждет , начало работы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: сколько процессов!?

Сообщение Nick »

UAVpilot писал(а):Так не может ни LinuxCNC, ни Kflop, ни другие. Разве что какая-то специализированная стойка...
вроде как умеют... пишется раздельный Gкод...
правда не уверен, что в процессе можно будеть остановить один из суппортов и перемещать его вручную при работе второго.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11731
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: сколько процессов!?

Сообщение michael-yurov »

UAVpilot писал(а):
michael-yurov писал(а):У KMotionCNC и KFlop - 7 независимых процессов.
Т.е. и программа и сам контроллер могут обрабатывать семь независящих друг от друга программ.
Сколько управляющих программ (ну тех, что на G-коде пишут) можно исполнять одновременно?
Семь разных файлов УП.
При чем они могут быть написаны со всякими переменными, циклами и внутренними командами.
2014-10-28 19-41-35 KMotionCNC - Disconnected - C  Users Michael Desktop Комп станка KMotion431s GCode Programs Polygon.ngc.png (2189 просмотров) <a class='original' href='./download/file.php?id=35692&mode=view' target=_blank>Загрузить оригинал (104.14 КБ)</a>
Сам контроллер выполняет все семь одновременно.
Если выполняется 1 поток (как это обычно бывает) - ему выделяется лишь 1/8 процессорного времени.
(восьмой поток - служебный)
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: сколько процессов!?

Сообщение Nick »

И второй вопрос, как делятся оси между этими файлами?
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

michael-yurov писал(а):Сам контроллер выполняет все семь одновременно.
Вот в документации этот вопрос как-то туманно освещён - попробовал-бы чтоль?..

P.S. Это довольно плохо стыкуется с RS274/NGC, поэтому есть великие сомнения, что это работоспособно...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11731
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: сколько процессов!?

Сообщение michael-yurov »

Nick писал(а):И второй вопрос, как делятся оси между этими файлами?
UAVpilot писал(а):Вот в документации этот вопрос как-то туманно освещён - попробовал-бы чтоль?..
Что-то не получилось нифига.

Пока не остановишь один файл - другой не запускается.

Если попытаться управлять станком из двух разных программ - у него довольно забавно сносит башню. Логику его действий я понять не смог, но он пытался выполнять УП и команды ручных перемещений одновременно.

То, что у контроллера есть 7 отдельных потоков, в которых он может выполнять разные программы, написанные на Си - это точно,
но как заставить выполнять разные УП одновременно - я не понял.
Пока не остановишь одну УП - он не хочет запускать вторую.

Даже если запустить в двух окнах разные УП - он движется по первой, а, как только ее останавливаешь - перепрыгивает на координаты второй и движется по второй траектории.

Я пробовал не смешивать оси (в одной УП - только X, а во второй - только Y), но это не помогло.

В контроллере действительно есть 7 независимых потоков. в которых могут выполняться подпрограммы (например, он может одновременно искать базу, моргать светодиодом, включать, выключать шпиндель, и еще какой-нибудь фигней заниматься, не связанной с выполнением остальных подпрограмм).
Но все это касается только его программ. написанных на Си.

Видимо, без написания собственной оболочки ничего не выйдет.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: сколько процессов!?

Сообщение Serg »

michael-yurov писал(а):Что-то не получилось нифига.
Пока не остановишь один файл - другой не запускается.
Вот и я про то... Моё кунг-фу круче твоего кунг-фу! В смысле - логика. Ведь если поразмыслить, то становится очевидным, что одновременное исполнение нескольких УП будет жестоко нарушать RS274/NGC и порождать кучу неопределённостей... :hottabych-still:
michael-yurov писал(а):В контроллере действительно есть 7 независимых потоков. в которых могут выполняться подпрограммы (например, он может одновременно искать базу, моргать светодиодом, включать, выключать шпиндель, и еще какой-нибудь фигней заниматься, не связанной с выполнением остальных подпрограмм).
Но все это касается только его программ. написанных на Си.
Ну а я не перечислял весь этот список, а назвал всё это мудрёным словом "конечные автоматы". ;)
michael-yurov писал(а):Видимо, без написания собственной оболочки ничего не выйдет.
Ну да, для двух УП нужны два независимых интерпретатора RS274/NGC. Я и говорил, что можно попробовать запустить два экземпляра LinuxCNC/KMoution, только придётся с бубнами поплясать чтоб они не подрались за ресурсы (канал управления, приводы и т.п.).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: сколько процессов!?

Сообщение PKM »

Две ЧПУ поставить и дело с концом.
Ответить

Вернуться в «LinuxCNC»