Страница 15 из 39

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 15:24
Serg
Только вот как сделать это технически?
Чтобы добавить инстанс к компоненту придётся расширить выделенную ему память под его данные (переменные и пины), просто так её не раздвинуть - будут мешать области данных других компонентов. Единственный способ - создать новую область большего размера и скопировать в неё станые данные. Засада в том, что в процессе копирования кто-то может записать новые данные (у нас ведь РТ) в ту часть старой области, которая уже была скопирована - т.е. эти данные в итоге будут потеряны.
Можно конечно изменить концепцию написания компонентов (полностью переписав их все) и за счёт некоторого ухудшения их быстродействия добавить возможность дозагрузки, но опять-же как быть с именами клонов?..
IMHO гораздо проше воспользоваться помощью make, grep, sed или просто вынести загрузку всех копонентов в один обий файл.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 15:53
Nick
Ок, убедил :)

ЗЫ Хотя разве память им не динамичестки выделяется из имеющейся при объявлении переменной? Разве все в памяти в одном месте хранится, а не размазано, а назад выдается указатель на начальный элемент?

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 17:45
Serg
Обычно динамически, но не в случае RT, ибо процесс динамического выделения памяти занимает неопределённое количество времени и прерывать его нельзя.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 18:12
Nick
а никто не говорит о том, что во время загрузки нам нужен rt... загрузка компонентов идет до запуска rt потоков...

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 18:52
Serg
И тех, которые грузятся после запуска GUI?..

P.S. в третий раз спрошу: Что с именами "инстансов" делать?..

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 19:25
torvn77
Вообще говоря не залезь я в Питерский мусорный бачок,
не было бы у меня компьютера менее чем с четырьмя гигами ОЗУ.

Может каждый loadrt отдельный процесс делать.
Конечно тогда увеличится перезагрузка кэша,но в сложном конфиге имхо это всеравно будет происходить часто,
да и голова у конфигописателя должна быть,а значит не будет злоупотреблять лоадрт,где оправдано разделяя,где оправдано сливая в один.
Но это будет уже потом при оптимизации,а так первоначально упростится написание шаблона.

Да и умножение числа процессов можно расмотреть еще и с позици удешевления многоядерных процессоров.
Пройдет год два и компов с одним ядром уже и не отыскать будет.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 19:42
Nick
UAVpilot писал(а):P.S. в третий раз спрошу: Что с именами "инстансов" делать?..
Ну теоритически их можно всех именами именовать... или это опять вопрос с подвохом? :)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 14 июл 2014, 23:24
Serg
Ага.
Допустим сделали дозагрузку компонентов, torvn77 написал "hal-библиотеку" для подключения MPG, а Nick захотел ей воспользоваться, чтоб подключить два MPG... ;)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 12:09
torvn77
Я не знаю что такое MPG,так что ответ я дам общии.
В приведенном вами случае один файл будет подключен без изменения,
а во втором файле перед подключением будут изменены названия компонентов и пинов.
И если в один прикрасный миг Николай скажет,все я запутался и ничего не понимаю,
то в корзину надо будет выбрасывать только второй файл,
а вот в если все оставить как есть то выбрасывать придется весь конфиг.

С другой стороны,если просто забить на имена то при включении
стороннего кода можно напороться на то,что автоматические имена в уже гдето использованы.
И так будет всякии раз при попытке внести сторонни для конфига код.
Я такую ситуацию считаю не удовлетворительной.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 16:27
Serg
Я потому сразу и написал: нафик дозагрузку, make, grep и sed рулят.
Ибо опробовано и показало себя удобным, особенно на этапе проведения различных экспериментов т.к. позволяет автоматически поддерживать несколько паралельных конфигов в актуальном состоянии.

P.S. MPG - Manual Pulse Generator, в просторечии "штурвал", пора-бы уже и знать. ;)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 18:27
torvn77
Я уже слышал от гентушников нечто подобное.
И где сейчас этот гентоо?
Боюсь что будет два дистра сабайон и калькулейт.
Кардинально отличаются от гентоо одним,наличием графического инсталятора.
А в остальном сабайон будет даже и хуже.
Но он живет,а вот гентоо загибается.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 19:58
Serg
Это уже какая-то другая тема?..

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 20:43
torvn77
Тема та самая,программа должна быть не только для разработчиков,но для простых пользователей тоже.
Вот что вы думаете,человек покупает станок,начинает работу,деньги за аренду текут,
а время уходит на освоение 3D софта и премудростей какую фрезу и с какими параметрами для какого материала запускать надо.
А вы ему изучай grep,sed,про make зачем то вспомнили...
Хоть бы уж тогда про | и uniq для полноты помянули помянули.
Если взять начинающего пользователя без знания step/dir и со "здоровым" станком то на освоение собственно ЧПУ должна уходить одна две недели.
Это если он САМ устанавливает на комп и настраивает.
А ведь комплект плат MESA стоит 13,5 тыр,при цене пульта в 19 тыр,при том что на освоение его может уйти вообще несколько дней.
А вы предлагаете изучать утилиты каждая из которых сама по себе сложна как миниум как упомянутый пульт.

Так вот,я конечно чертыхнусь,но на интузиазме как нибудь уж конфиги себе сделаю.
Но вот отдать другим и сказать разбирайте их на части не смогу.

В общем надо предпринимать меры к упрощению ввода LinuxCNC в эксплуатацию

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 15 июл 2014, 23:27
Serg
"Простые пользователи" - это кто?
Если тот, кто покупает станок и начинает работу, у кого деньги за аренду текут, то что он забыл в настройках станка и linuxcnc в частности?
Или решил, что щас сам быстренько всё настроит и запрограммирует? Тогда, будь добр, изучи инструменты настройки и программирования.
Естественно никто не заставляет изучть make, grep и sed, в принципе можно всё настроить с помощью банального текстового редактора. Да собствено и в любом деле так, например никто не заставлять изучать управление экскаватором, котлован под дом можно и банальной лопатой выкопать.
torvn77 писал(а):Вот что вы думаете,человек покупает станок,начинает работу,деньги за аренду текут,
а время уходит на освоение 3D софта и премудростей какую фрезу и с какими параметрами для какого материала запускать надо.
Я ничего подобного не думаю, это вы себе нафантазировали незнамо чего.
torvn77 писал(а):А ведь комплект плат MESA стоит 13,5 тыр,при цене пульта в 19 тыр,при том что на освоение его может уйти вообще несколько дней.
Причём тут вообще цены и время на освоение? И то и другое всего лишь индивидуальные особенности конкретного субъекта.
torvn77 писал(а):А вы предлагаете изучать утилиты каждая из которых сама по себе сложна как миниум как упомянутый пульт.
Кому, простому пользователю? Да боже упаси! Пусть купит готовый настроенный станок и начинает работать - деньги на аренду зарабатывать.
Чё, правда grep такой сложный?.. :thinking:
torvn77 писал(а):В общем надо предпринимать меры к упрощению ввода LinuxCNC в эксплуатацию
Так предпринимайте! Или оказалось, что для этого надо как минимум освоить английский язык?.. ;)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 16 июл 2014, 15:10
Serg
Для примера выдернул кусок из текущего проекта. В конфиге станка 14 осей, в корневом каталоге целевые файлы, которые автоматически генерятся из файлов в подкаталоге src.
Хотел-бы я посмотреть на того, кто будет подобное писать полностью в рукопашную...
А ещё есть такой момент: на отладочном стенде установлено только 2 сервопривода и для отлажки всех 14 осей нужно в конфиге отлаживаемые оси перенастраивать на задействованные порты 7i77 - если делать это в ручную, то пришлось-бы каждый раз править по несколько строчек в каждом и 14 файлов Изображение А так достаточно в axis.lst поменять названия осей в первой колонке.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 16 июл 2014, 19:37
torvn77
Мы говорим о разных случаях,вы действительно пишите большой конфиг из подобных элементов,
и в этом случае выш метод вполне оправдан.
А я говорю про написание конфига из кучи типовых,но разных элементов.
То есть скажем отключить конфиг джойстика и подключить конфиг мачевского пульта.
То есть это будут два разных и различных в по используемым элементам файлах.
Например для кнопок и валкодера на мачевском пульте нужен элемент encoder и debounce
Для джойстика надо кучу элеметов sum2,mult2 и integ.
Можкт быть автосмена инструмента,она может быть линейной,а может быть ещё какой,и опять таки,огромное количество "кода в себе",
из которого наружу торчит несколько сигналов и досадная,не дающая его полностью в себя замкнуть необъодимость прописывть загрузку в начале файла.
В общем вы нацелены на создание небольшого количества типов тиражируемых на множество осей,
а я нацелен на написание модулей расширения функционала при одних и тех же подключённых и сконфигурированных осях.
И при этом хочу в соответсвии с концепцией обектно-ориентированного программирования максимально замыкать модуль в себя.
Ваша цель оживить один?отдельно взятый станок,моя цель перетащить на LinuxCNC пользователей NC-Studio и Мачеводов

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 16 июл 2014, 23:18
Serg
torvn77 писал(а):Мы говорим о разных случаях,вы действительно пишите большой конфиг из подобных элементов,
Жаль, что вы увидели в этом всего лишь много осей. Я хотел показать простой работающий механизм сборки любых конфигов из функциональных кусочков. Этот механизм уже несколько десятилетий используется при сборке/компиляции практически всех программ на всех существующих платформах, начиная от мелкой утилиты и кончая ядром Linux, самими дистрибутивами Linux, ОС Windows, всякими СУБД типа Oracle и т.п. И пока ещё никто не смог придумать чего-либо лучше.

Но не будем отчаиваться, у вас есть шанс переломить ситуацию:
UAVpilot писал(а):Так предпринимайте! Или оказалось, что для этого надо как минимум освоить английский язык?.. ;)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 17 июл 2014, 14:14
torvn77
UAVpilot писал(а):Но не будем отчаиваться, у вас есть шанс переломить ситуацию:
UAVpilot писал(а):Так предпринимайте! Или оказалось, что для этого надо как минимум освоить английский язык?.. ;)
Ладно,что вы предлагаете,как вы видите этот перелом?
Мануальник к LinuxCNC я читаю и отсутствие знаний английского языка этому конечно мешает,но не сильно.
Да и со свободным временем у меня не плохо,так что лично для меня запрошенные мной улучшения не более чем вопрос удобства.

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 17 июл 2014, 14:52
Serg
torvn77 писал(а):Ладно,что вы предлагаете,как вы видите этот перелом?
Никак, в этом плане мне всё удобно. :)
torvn77 писал(а):Мануальник к LinuxCNC я читаю и отсутствие знаний английского языка этому конечно мешает,но не сильно.
Да и со свободным временем у меня не плохо,так что лично для меня запрошенные мной улучшения не более чем вопрос удобства.
Тогда вам сюда http://linuxcnc.org/index.php/english/community а то наш форум разработчики linuxcnc как-то неактивно посещают. :)

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 19 июл 2014, 15:28
torvn77
При выдаче сообщения об ошибки g-code у LinuxCNC есть противная особенность:
Если ошибка произошла в вызываемой подпрограмме,то указывается точка вызова подпрограммы,
а строка в самой подпрограмме нет,