Решен ли вопрос "умного" продолжения работы?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
shalek
Почётный участник
Почётный участник
Сообщения: 3023
Зарегистрирован: 25 авг 2014, 10:40
Репутация: 2583
Настоящее имя: Александр
Откуда: РБ Бобруйск
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение shalek »

Точно. Я выше поправился.
Если ты не можешь решить проблему, значит это не твоя проблема!
Мой канал на YouTube: YouTube
ЧПУ "Бобр" 600x500 мм
shalek64@gmail.com
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

Вот вы всё флудите, уже о гуёвом окошке спорите, а как быть с не глобальными переменными если выполнение УП ставили на паузу во время вызова суброутины?
:tongue:
А если было несколько вложенных вызовов суброутин?
:lol: :lol: :tongue:

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

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

torvn77 писал(а):А если было несколько вложенных вызовов суброутин?
Вот ты обижаешься, что тебя не понимают, но как можно понять человека, разговаривающего придуманными словами?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

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

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

Я такого слова не знаю.
Знаю например слова подпрограмма, subroutine, manual, но на твои это слабо похоже, даже по произношению.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

UAVpilot писал(а):даже по произношению
Хорош притворяться:
s|u|b|r|o|u|t | i|n|e
с|у|б|р|о|у|т|и|н|а
Ну а уж м|а|н|у|а|л|ьник наверно раньше чем я купил i486 в сети появился
_ _____m|a|n|u|a|l
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

Это не русский и не английский, а вообще непонятно какой язык. :(
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

Давай лучше вот о чём поговорим:
  • Оператор нажимает кнопку пауза
  • В соответствии с указанным в соответствии с указанным в теле NC программы активным комментарием (pause_pre_code) или (pause_post_code) ЧПУ
    либо дожидается окончания работы текущего кадра
    либо прерывает работу прямо во время выполнения кадра
    если в этот момент выполняется суброутина то делается тоже самое, но только уже для суброутины в целом.
    После чего в переменной #<_pause_return_string> запоминается номер кадра, в котором произошла остановка.
  • Вместо следующего кадра выполняется написанная пользователем ЧПУ суброутина O<sys.programm_pause>
    которая по усмотрению пользователя сохраняет переменные окружения,
    в частности позицию станка и производит отвод инструмента указанным пользователем способом,
    в том числе по параметрическому пути (x,y,z)=f(t)
    При этом для запроса на совершение потенциально опасных действий запрашивается разрешение с помощью активного комментария
    (DIABOX, сообщение #<_x> #<_у> #<_z> ; cmd_согласия ; cmd_отказа; cmd_отмены )
    Какие действия являются опасными, а какие нет и выводить ли такой запрос вообще каждый пользователь решает для себя сам.
  • Разблокировывается ручное управление
  • Оператор делает что ему надо
  • Оператор снимает станок с паузы
  • Блокируется ручное управление
  • Выполняется написанная пользователем ЧПУ суброутина O<sys.programm_unpause>
    которая по усмотрению пользователя восстанавливает переменные окружения и производит подвод инструмента указанным пользователем способом,в том числе по параметрическому пути (x,y,z)=f(t)
    При этом для запроса на совершение потенциально опасных действий запрашивается разрешение с помощью активного комментария
    (DIABOX, сообщение #<_x> #<_у> #<_z> ; cmd_согласия ; cmd_отказа; cmd_отмены )
    Какие действия являются опасными а какие нет и выводить ли такой запрос вообще каждый решает для себя сам.
  • В соответствии с указанным в теле NC программы активным комментарием (pause_pre_code) или (pause_post_code) выполняет
    либо кадр следующий за кадром на котором была остановка.
    либо кадр который следует после того, на котором произошла остановка.
  • По умолчанию LinuxCNC поставляется с суброутинами имеющими пустое тело или выводящим сообщение с помощью активного комментария (MSG, ...)
  • При отсутствии в начале УП активных комментариев (pause_pre_code) или (pause_post_code) УП на выполнение запускаться не должна.
  • Допускается в основном теле УП и вызываемых им суброутинах не ограниченное повторное переключение режима активными комментариями (pause_pre_code) или (pause_post_code) включая работающею во время паузы консоль MDI.
  • По умолчанию суброутины должны находится в папке ncsubroutines/sys в основной директории конфига.
    (Чтобы пользователю их полегче найти было)
  • Имеет смысл сделать активный комментарий (set_return_pause_string, число) позволяющий произвольно назначать номер строки в переменной #<_pause_return_string> для возврата из паузы.
  • Есть смысл оставить кнопку || пауза как она есть сейчас и сделать две дополнительные кнопки m|| и m> для входа и
    выхода из паузы по предложенному мной механизму.
    • Так же возможно стоит сделать две раздельных кнопки для возврата из паузы в текущий "<m" и последующий "m>" кадр УП.
  • Для выбора режима паузы надо бы предусмотреть отдельный М код, например М0.1 или М1.1
    Или договриться, что на М0 обычная пауза, а на М1 предложенная, коли по факту эти два кода сейчас совпадают.
  • Из соображение безопасности выполнения Gcode в версиях LinuxCNC без поддержки DIABOX ответ активного комментария DIABOX надо помещать в переменную #<_diabox_response>, которую перед использованием DIABOX обязательно обнулять.
    Выбор нужного действия будет осуществляться потом с помощью условий if или case при этом при нулевом значении этой переменной должна быть прописана выдача диагностического сообщения и остановка исполнения программы.

    Код: Выделить всё

    #<_diabox_response> = 0
    (DIABOX, сообщение #<_x> #<_у> #<_z> ; число_согласия ; число_отказа; число_отмены )
    O<dia_box_sys.pause> if [#<_diabox_response> eq 0] 
    (MSG, DIABOX error)
    (DEBUG, cmd_line = #<_cmd_line>)
    (DEBUG, _diabox_response = 0)
    M02
    O<dia_box_sys.pause> elseif[#<_diabox_response> eq число_отказа] 
    M02
    O<dia_box_sys.pause> elseif[#<_diabox_response> eq число_отмены]
    M02 
    O<dia_box_sys.pause> elseif[#<_diabox_response> eq число_согласия] 
    (Work continue)
    O<dia_box_sys.pause> else
    (MSG, DIABOX error)
    (DEBUG, cmd_line = #<_cmd_line>)
    (DEBUG, _diabox_response = #<_diabox_response>)
    M02
    O<dia_box_sys.pause> endif
    
    Для поддержания дисциплины в синтаксический анализатор можно ввести проверку на соответствие шаблону:

    Код: Выделить всё

    #<_diabox_response> = 0
    (DIABOX, * )
    O<*> if [#<_diabox_response> eq 0] 
    
Последний раз редактировалось torvn77 09 мар 2016, 01:29, всего редактировалось 13 раз.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение AndyBig »

torvn77 писал(а):s|u|b|r|o|u|t | i|n|e
с|у|б|р|о|у|т|и|н|а
Тебе спеакают что у ворлда SUBROUTINE есть комплетели адекватный и фулльный аналог в русском лангуаге - подпрограмма. Ты же не спеакаешь инстеад "мама" - "мотхер". Или "миллинг мацхине" инстеад "фрезерный станок".
И как твоя "суброутина" сможет обработать, к примеру, выход в сторону при работе с дисковой горизонтальной (пазовой) фрезой? Она же ни сном ни духом с какой стороны от фрезы материал и куда нужно отвести эту фрезу.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

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

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

torvn77 писал(а):Как правильно замечает UAVPilot, задачи могут быть самые не определённые по этому написание конкретной суброутины для конкретного станка совершающего конкретные операции есть забота его владельца, пользователя или настройщика.
Так я и говорю, что 6 страниц этой темы не имеют смысла - ответ был дан во втором посте. А частные улучшения/дополнения просто берёшь и делаешь, тут и обсуждать нечего. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

UAVpilot писал(а):Так я и говорю, что 6 страниц этой темы не имеют смысл
Тема смысл имеет, потому что вы никак не поймёте, что штатных средств для решения этой задачи нет,
надо заниматься колхозом с исходниками, что как минимум не каждому по силам, не говоря уж о том, что произойдёт при попытке обновится.
Программирование же GCode это 7-8 класс средней школы и должно быть по силам каждому.
Ну может потребуется дать объяснения гуманитарию, но гдето за неделю три это понять сможет
И я всю тему пытаюсь это вам объяснить, но вы никак не поймёте.
Последний раз редактировалось torvn77 08 мар 2016, 23:09, всего редактировалось 1 раз.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

И видимо никогда не пойму. Наверно потому, что понял разницу между кнопками Пауза и Стоп и у меня нет никаких проблем с остановкой УП и последующим продолжением...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

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

Re: Решен ли вопрос "умного" продолжения работы?

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

shalek писал(а):Единственный момент: Если из паузы продолжать работу кнопкой пуск, то при нахождении шпинделя в нужной координате может не хватить время на разгон шпинделя и обработка может пострадать.
Так нужно в настройках NCStudio прописать время, необходимое на разгон шпинделя. Тогда программа будет ждать сколько нужно.
shalek писал(а):При постановке на паузу - шпиндель не отключается.
Галочка есть в настройках.
AndyBig писал(а):Не видел такого... Жмешь паузу - просто останавливается движение после очередного кадра, шпиндель не выключается. Жмешь после этого старт - движение возобновляется. Может быть поведение при паузе где-то настраивается? Не интересовался, честно говоря
Для mach3 есть настройка поднятия шпинделя на безопасную высоту при нажатии Стоп.
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

UAVpilot писал(а):Стоп и у меня нет никаких проблем с остановкой УП и последующим продолжением.
Координаты инструмента и номер строки ручкой на бумажку записываете?
(для просмотра содержимого нажмите на ссылку)
Меня ваш вариант не устраивает по нескольким причинам.
1)Мои УП могут весить мегабайт или два с соответствующим количеством строк и поиск строки являющиеся точкой входа в траекторию просто не возможен.
2)При выполнении всяких сервисных суброутин у меня обычно сбрасывается состояние станка и восстановление его как правило приводит к операторским ошибкам,
по этому вас удивит, но помере автоматизации и появления безусловно выполняемых операции аварий в целом у меня стало меньше.
То есть следование вашей позиции для меня означает росто аварийности, порчи инструментов и заготовок.
Последний раз редактировалось torvn77 08 мар 2016, 23:28, всего редактировалось 2 раза.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

torvn77 писал(а):Координаты инструмента ручкой на бумажку записываете?
Зачем? Они в УП в предыдущем кадре написаны. :) Опять-же можно в какой-нибудь свободной СК запомнить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

Меня ваш вариант не устраивает по нескольким причинам.
1)Мои УП могут весить мегабайт или два с соответствующим количеством строк и поиск строки являющиеся точкой входа в траекторию просто не возможен.
Что за точка входа смотрите здесь: Re: Постпроцессор для ArtCam'а к LinuxCNC #18
2)При выполнении всяких сервисных суброутин у меня обычно сбрасывается состояние станка и восстановление его как правило приводит к операторским ошибкам,
по этому вас удивит, но по мере автоматизации и появления безусловно выполняемых операции аварий в целом у меня стало меньше.
То есть следование вашей позиции для меня означает ростом аварийности, порчи инструментов и заготовок.

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

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение Serg »

torvn77 писал(а):и поиск строки являющиеся точкой входа в траекторию просто не возможен
LinuxCNC подсвечивает строчку с текущим кадром... :)
torvn77 писал(а):При выполнении всяких сервисных суброутин у меня обычно сбрасывается состояние станка
ССЗБ. У меня не сбрасывается. :)
torvn77 писал(а):По этому я бы очень хотел средства автоматизации процесса.
Руки связывают и текстовый редактор отнимают?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: Решен ли вопрос "умного" продолжения работы?

Сообщение torvn77 »

Проект входа и выхода из паузы дополнен, просьба пересмотреть его и перечитать.
Re: Решен ли вопрос умного продолжения работы? #108
UAVpilot писал(а):Руки связывают и текстовый редактор отнимают?.. :)
Хорошо, вам ничто не помешает оставить суброутины пустыми и продолжать мучится с текстовым редактором дальше.
А я запонив их тело смогу сделать так, как мне удобно.
Вот и будет всё замечательно, и у меня, и у вас.
Ответить

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