ngcgui
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
ngcgui
NGCGUI - установка, настройка, описание, примеры.
Примеры
Файлы подпрограмм
NGCGUI это утилита для использования в EMC2 подпрограмм,т.н. мастеров.
Ссылки
http://www.youtube.com/watch?v=Bn8T5Fw0ISs
http://www.linuxcnc.org/docs/2.5/html/g ... ha:O-Codes - О-коды
Установка
Для установки в EMC2 версии 2.4 нужны 4 файла: Положить файлы в папку с конфигурацией станка.
Более удобным будет поместить в отдельную папку,тогда можно их использовать для разных кофигураций.
Прописать в ini файле в секции [DISPLAY] пути к этим файлам:
(пример из моего ini файла) Обратите внимание: : ngcgui_app.tcl должен предшествовать ngcgui_ttt.tcl
Теперь создаем нашу первую вкладку следующей строкой - пока без названия: Запускаем,проверяем: Настройка
Теперь создаем сам файл подпрограммы для нашей вкладки.
Он должен быть такого вида: имя- имя подпрограммы,имя файла и название нашей вкладки.
тело подпрогр- g-код, который мы напишем.
Назовем файл lathe (пример будет из токарной обработки): Окончание файлов должно быть .ngc
Помещаем наш файл lathe.ngc в папку прописанную в ini [DISPLAY]PROGRAM_PREFIX и прописываем путь к ней там же: Проверяем: Кстати,загружаемый по умолчанию EMC файл можно изменить в ini [DISPLAY]
если прописать так
не загр. ничего.(как на скриншоте выше.)
Напишем тело нашей подпрограммы.
Его надо начинать с набора инструкций, которые определяют параметры : Смотрим: Каждая строка появилась во вкладке с возможностью редактировать данные.
Теперь мы в нашей подпрограмме (в g-коде) можем (и будем) использовать переменные.
Например,вмето T1M6 пишем T#<RToolNumber> M6
После набора инструкций (их может быть до 30) непосредственно сам G-код: Сам файл: Запускаем,на вкладке нажимаем "Create feature" ,потом "Finalize"
Получаем запрограммированную траекторию: Описание
Примеры
Как объеденить несколько подпрограмм
В программу могут быть объеденены несколько копий как одной подпрограммы, так и разные подпрограммы.
Как это выглядит на практике:
у нас есть 6 вкладок с подпрограммами для фрезерной обработки: Объеденим их все в одну программу. Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
Этим мы передали наши параметры в создаваемый ngcgui файл auto.ngc. Изменим некоторые параметры(например координаты начала обработки) Нажмем еще раз "CreateFeature".В файл auto.ngc передались также и новые параметры.Нажимаем "Finalize"-загружаем готовый файл с двумя подпрограммами: Чтобы объеденить подпрограммы с разных вкладок :
1.Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
2.Переходим на нужную вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
3.Повторяем,если необходимо.
4.Нажимаем "Finalize".
5. Соглашаемся создать из всех вкладок. Удобней объеденять несколько одинаковых контуров так:
1.создаем из требуемой вкладки копию нажатием кнопки "new"
2.нажимаем "Subfile" ,открываем файл(в нашем случае тот же,что и на первой вкладке)
3.повторяем необходимое число раз
4.корректируем параметры для каждой копии
5.объеденяем все,соблюдая нужную нам последовательность обработки. 5. Соглашаемся создать из всех вкладок. Файлы подпрoграмм
для токарной обработки шаблон цикла
сфера
конус по его длине
обработка наружной цилиндрической поверхности
расточка для фрезерной обработки цилиндрический карман
Примеры
Файлы подпрограмм
NGCGUI это утилита для использования в EMC2 подпрограмм,т.н. мастеров.
Ссылки
http://www.youtube.com/watch?v=Bn8T5Fw0ISs
http://www.linuxcnc.org/docs/2.5/html/g ... ha:O-Codes - О-коды
Установка
Для установки в EMC2 версии 2.4 нужны 4 файла: Положить файлы в папку с конфигурацией станка.
Более удобным будет поместить в отдельную папку,тогда можно их использовать для разных кофигураций.
Прописать в ini файле в секции [DISPLAY] пути к этим файлам:
(пример из моего ini файла) Обратите внимание: : ngcgui_app.tcl должен предшествовать ngcgui_ttt.tcl
Теперь создаем нашу первую вкладку следующей строкой - пока без названия: Запускаем,проверяем: Настройка
Теперь создаем сам файл подпрограммы для нашей вкладки.
Он должен быть такого вида: имя- имя подпрограммы,имя файла и название нашей вкладки.
тело подпрогр- g-код, который мы напишем.
Назовем файл lathe (пример будет из токарной обработки): Окончание файлов должно быть .ngc
Помещаем наш файл lathe.ngc в папку прописанную в ini [DISPLAY]PROGRAM_PREFIX и прописываем путь к ней там же: Проверяем: Кстати,загружаемый по умолчанию EMC файл можно изменить в ini [DISPLAY]
если прописать так
не загр. ничего.(как на скриншоте выше.)
Напишем тело нашей подпрограммы.
Его надо начинать с набора инструкций, которые определяют параметры : Смотрим: Каждая строка появилась во вкладке с возможностью редактировать данные.
Теперь мы в нашей подпрограмме (в g-коде) можем (и будем) использовать переменные.
Например,вмето T1M6 пишем T#<RToolNumber> M6
После набора инструкций (их может быть до 30) непосредственно сам G-код: Сам файл: Запускаем,на вкладке нажимаем "Create feature" ,потом "Finalize"
Получаем запрограммированную траекторию: Описание
Примеры
Как объеденить несколько подпрограмм
В программу могут быть объеденены несколько копий как одной подпрограммы, так и разные подпрограммы.
Как это выглядит на практике:
у нас есть 6 вкладок с подпрограммами для фрезерной обработки: Объеденим их все в одну программу. Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
Этим мы передали наши параметры в создаваемый ngcgui файл auto.ngc. Изменим некоторые параметры(например координаты начала обработки) Нажмем еще раз "CreateFeature".В файл auto.ngc передались также и новые параметры.Нажимаем "Finalize"-загружаем готовый файл с двумя подпрограммами: Чтобы объеденить подпрограммы с разных вкладок :
1.Открываем первую вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
2.Переходим на нужную вкладку,корректируем ,если нужно параметры,нажимаем "CreateFeature".
3.Повторяем,если необходимо.
4.Нажимаем "Finalize".
5. Соглашаемся создать из всех вкладок. Удобней объеденять несколько одинаковых контуров так:
1.создаем из требуемой вкладки копию нажатием кнопки "new"
2.нажимаем "Subfile" ,открываем файл(в нашем случае тот же,что и на первой вкладке)
3.повторяем необходимое число раз
4.корректируем параметры для каждой копии
5.объеденяем все,соблюдая нужную нам последовательность обработки. 5. Соглашаемся создать из всех вкладок. Файлы подпрoграмм
для токарной обработки шаблон цикла
сфера
конус по его длине
обработка наружной цилиндрической поверхности
расточка для фрезерной обработки цилиндрический карман
Последний раз редактировалось nkp 20 июл 2012, 06:57, всего редактировалось 45 раз.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
по моему картинка вставляется по умолчанию ,если ее имя совпадает с именем файла программы и она(картинка) лежит в той же папке...Ворон226 писал(а):Так и не нашел как картинку вставить...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: ngcgui
Да ,это я плохо обдумал,g92 лучше.Ворон226 писал(а):А почему не G92?
И как?[/quote]torvn77 писал(а):Вставить программу можно оформив её как вызываемую из мастера внешнею суброутину
Как я писал здесь:Re: [WIKI] Создание конфигурации простого автомата от чайник #220
Опишу ещё раз несколько иначе.
внутрь мастера на место строки
Код: Выделить всё
(тут должна быть программа фрезеровки элемента)
O<example_func> call [#<_line>] [#<param_1>] [#<param_2>] .... [#<param_29>]
А саму функцию записать в фаил example_func.ngc и положить в пути указанном в [RS274NGC]SUBROUTINE_PATH
Можешь попробовать добавить в саму программу /usr/bin/ngcgui вызов mkdir /tmp/ngcgui.out и если это получится то прописать
[RS274NGC]
SUBROUTINE_PATH = NC-Subroutinus:/tmp/ngcgui.out
Получится должно,так как я проверил и ngcgui это скрипт.
- Ворон226
- Мастер
- Сообщения: 1922
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ngcgui
Кхе... Т.е. мы должны взять файл "деталь.ngc" , переименовать его в "cod.ngc" , а уже затем использовать его в "мастере"?nkp писал(а):o<cod> callВорон226 писал(а):Как просто вставить в "мастер" программу обработки детали?
=========
сам код положить в файл cod.ngc и его в папку с остальными программами...
файл cod.ngc оформить в виде:
o<cod>sub
...
...
o<cod>endsub
А, если нужно вторую деталь обрабатывать, то опять все переименовывать и запускать "мастер"?
Я думал есть окно для загрузки подпрограммы обработки детали из самого "мастера"...
Хочешь быть счастливым? Будь им!
- Ворон226
- Мастер
- Сообщения: 1922
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ngcgui
Получается, что проще сделать, используя обычные Ctrl-C и Ctrl-V Выделил, вставил и запустил.torvn77 писал(а):Как я писал здесь:Re: [WIKI] Создание конфигурации простого автомата от чайник #220
Опишу ещё раз несколько иначе.
внутрь мастера на место строки...
Хочешь быть счастливым? Будь им!
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
я может быть не правильно понял вопрос...Ворон226 писал(а):Я думал есть окно для загрузки подпрограммы обработки детали из самого "мастера"...
в окне ngcgui (это ты наверно называешь "мастер") есть кнопка выбора подпрограммы:
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: ngcgui
А preamble и postamble это стандартная машиноспецифичная шапка и конец программы?
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
да - они действительны будут для всех подпрограмм в директории...torvn77 писал(а):А preamble и postamble это стандартная машиноспецифичная шапка и конец программы?
- Ворон226
- Мастер
- Сообщения: 1922
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ngcgui
А почему у меня таких кнопочек в конфигурации нет?
(я вижу, что у вас эта кнопочка появляется при вызове из терминала, а вот как сделать в "мастерах" в конфигурации станка?)Хочешь быть счастливым? Будь им!
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
вот так еще можно вызывать нужную программу фрезеровки:
недостаток - имя программы всегда число(например 111.ngc)
Код: Выделить всё
o<sverlo> sub
#<Num_X> = #1 (=3 кол-во элементов по X)
#<Step_X> = #2 (=10 шаг по X, мм)
#<Num_Y> = #3 (=3 кол-во элементов по Y)
#<Step_Y> = #4 (=10 шаг по Y, мм)
#<Max_RPM> = #9 (=5000 обороты шпинделя)
#<Start_X> = #10 (=0 нач.координата по X, мм)
#<Start_Y> = #11 (=0 нач.координата по Y, мм)
#<prog> = #12 (=111 программа обработки)
G0 Z5.0
G0 X0 Y0 S#<Max_RPM> M3
#<Current_Y> = #<Start_Y>
o100 repeat [#<Num_Y>]
#<Current_X> = #<Start_X>
o101 repeat [#<Num_X>]
G0 X#<Current_X> Y#<Current_Y>
o[#<prog>]call
G0 Z5.0
#<Current_X> = [#<Current_X> + #<Step_X>]
o101 endrepeat
#<Current_Y> = [#<Current_Y> + #<Step_Y>]
o100 endrepeat
G0 Z5.0 M5
G0 X0 Y0
M9
o<sverlo> endsub
Последний раз редактировалось nkp 19 ноя 2014, 22:21, всего редактировалось 1 раз.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
наверно код изменился - раньше всегда кнопки были...Ворон226 писал(а):кнопочка появляется при вызове из терминала, а вот как сделать в "мастерах" в конфигурации станка?)
надо разобраться...
- Ворон226
- Мастер
- Сообщения: 1922
- Зарегистрирован: 01 окт 2012, 18:14
- Репутация: 181
- Откуда: Солнечногорск Московской обл. - Борки Конаковского р-на - Скоморохово Фировского р-на
- Контактная информация:
Re: ngcgui
Это, как раз, не страшно!
Только в вызываемой программе нужно прописывать в начале
o<номер_программы>sub
и закончить программу
o<номер_программы>endsub
Так?
Только в вызываемой программе нужно прописывать в начале
o<номер_программы>sub
и закончить программу
o<номер_программы>endsub
Так?
Хочешь быть счастливым? Будь им!
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
да -только без <>Ворон226 писал(а):Так?
o111sub
...
o111endsub
ну и без M2 в коде разумеется...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: ngcgui
есть в ngcgui такая штука ttt
есть шрифт - вроде как поддерживает кириллицу
написана программка на tcl..
что ей может "мешать" перерабатывать кириллицу??
upd:
решил немного по другому
что ей может "мешать" перерабатывать кириллицу??
upd:
решил немного по другому
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: ngcgui
А что говорит?nkp писал(а):написана программка на tcl..
что ей может "мешать" перерабатывать кириллицу??
Скорее всего проблема с кодировкой - не задана в программе.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: ngcgui
В tcl проблемы с кодировками решены лет 10 назад - везде внутри используется Unicode.Nick писал(а):Скорее всего проблема с кодировкой - не задана в программе.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Кандидат
- Сообщения: 54
- Зарегистрирован: 14 май 2020, 07:05
- Репутация: 1
- Контактная информация:
Re: ngcgui
Уважаемые знатоки спасите помогите, уже несколько дней мучаюсь с добавлением вкладок и кнопок в интерфейс, вроди получилось
но оно не работает (( выдаёт ошибку
Подскажите что не так?
но оно не работает (( выдаёт ошибку
Подскажите что не так?