Карта памяти переменных.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Карта памяти переменных.

Сообщение Сергей Саныч »

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

Re: Карта памяти переменных.

Сообщение Nick »

Самое полное описание, что я видел тут: http://www.linuxcnc.org/docs/devel/html ... parameters
Это для последней версии, некоторые именные параметры работать не будут в предыдущих версиях.
по пределам осей там вроде нет.

Можно попробовать использовать параметры ini или hal, но опять только в master версии.
типо вот такого: #<_hal[gladevcp.radius.rad-f]>

(
http://linuxcnc.org/dapper/index.php/en ... mitstart=0
http://www.linuxcnc.org/docs/devel/html ... features_a
)

А какая конечная задача?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Карта памяти переменных.

Сообщение Сергей Саныч »

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

Re: Карта памяти переменных.

Сообщение Nick »

Покаж программу...
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Карта памяти переменных.

Сообщение Сергей Саныч »

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

; Измерение длины инструмента (tool offset)
; Параметры - место расположения датчика (X, Y) в координатах G53
o<tool_measure> sub
G90
G53 G0 Z-160.
G53 G0 X#1 Y#2
G49
G54
G91 
G38.2 Z-80. F500
G38.3 Z-0.1 ; Для гарантированного срабатывания
G38.4 Z3. F30
#<ToolZ> = [#5063 + #5223]
#<Zoffset> = -270. ; Смещение по Z
#<TLSheight> = 43.23 ; Высота датчика
G38.5 Z1. F200 ;  Для гарантированного отпускания
#<TL> = [#<ToolZ> - #<Zoffset> - #<TLSheight>] 
G90 
G53 G0 Z-100
G43.1 Z[#<TL>]
o<tool_measure> endsub
M02
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

Serg-tmn писал(а):G38.5 Z1. F200 ;  Для гарантированного отпускания
а попробуй сделать G53 G38.5 Z1. F200 (вместо Z1 - минимальный предел)
Хотя не уверен, что сработает, но может...
G53 - перемещение в абсолютных координатах станка.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

Кстати, зачем тебе 3 пермещения. G38?
для чего это гарантированное срабатывание?
отъедь назад и заново вперед на маленькой скоростью измеряй... или debounce добавь на probe, тогда просто так срабатывать не будет.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Карта памяти переменных.

Сообщение Сергей Саныч »

Nick писал(а):а попробуй сделать G53 G38.5 Z1. F200 (вместо Z1 - минимальный предел)
Хотя не уверен, что сработает
правильно, что не уверен. Не работает. Говорит, что с G53 можно только G00 или G01 и ничего больше.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

Тогда можно так
G53 G0 Z100
G91
G38.2 Z-100
G90
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

а, у тебя так и есть :)
А какие у тебя пределы оси?
И на какой строчке он может вылетать вообще?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Карта памяти переменных.

Сообщение Сергей Саныч »

Nick писал(а):Кстати, зачем тебе 3 пермещения. G38?
Даже 4 :)
Иногда (очень редко) датчик дает дребезг. Из-за этого, если сразу после G38, особенно на малой скорости, делать простое перемещение, LCNC немедленно ругается, что датчик не вовремя сработал. Поэтому все "потенциально опасные" перемещения делаю только по G38, даже если результат потом не использую. И только отойдя от датчика хотя бы на 1мм, включаю G00.
Nick писал(а):или debounce добавь на probe
Можно, но результат не гарантирован.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

Хммм, а может вот это дает ошибку:
G53 G0 Z-100

Просто так само по себе не должно уходить за пределы...
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Карта памяти переменных.

Сообщение Алексс »

Может пригодится мой вариант измерения.

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

o<auto-tool-change> sub
(G90 G53 G0 Z0)
(G90 G53 G0 X0 Y0)
g49
g40
g90
g53 g0 z0
g53 g0 x135 y71
G91
G38.2 Z-200 F500
G38.4 Z10 F200
G38.2 Z-5 F30
#<_ToolZ>=#5063
(G43.1 z[#<_ToolZ> - #<_ToolRefZ>])
G43.1 z[#<_ToolZ> - #1000]
G90 G53 G0 Z0
(G90 G53 G0 X50 Y50)
o<auto-tool-change> endsub
M02
Каждая собака, бегущая на поводке впереди хозяина, думает, что ведет его за собой.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Карта памяти переменных.

Сообщение Nick »

И у этого перемещения около датчика все на G38 :)
И главное сидят молчат :)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Карта памяти переменных.

Сообщение Сергей Саныч »

Nick писал(а):Просто так само по себе не должно уходить за пределы...
А оно и не уходит никуда. Просто ругается при запуске программы. А потом, если нажать "продолжить", всё прекрасно выполняется и ни за какие пределы не уходит.
Алексс писал(а):Может пригодится мой вариант измерения.
Да я и так твой взял за основу ;)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Карта памяти переменных.

Сообщение Алексс »

а чо сразу молчат то :)
чтобы картина была полной, краткое описание. надеюсь Серж будет не против :)

скрипт первый - найти ноль заготовки по Z

скрипт второй - найти расстояние между нулем детали и нулем стола (того места, где будет находится датчик при последующих измерениях)

скрипт третий- измерить новый инструмент и настроить длину.

G38.4 Z10 F200 можно зменить на просто отъезд вверх по Z, но так значительно быстрее и учитываются инерционные свойства приводов и тп.

порядок действий:
установить датчик на ноль детали, выполнить скрипт 1;
установить датчик туда, где он будет стоять при работе, выполнить скрипт два;
настройка закончена. потом уже только вызываем скрипт 3 для настройки очередного инструмента.

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

Re: Карта памяти переменных.

Сообщение Nick »

чтобы картина была полной, краткое описание.
:good: вот так бы сразу :)
Serg-tmn писал(а):А оно и не уходит никуда. Просто ругается при запуске программы. А потом, если нажать "продолжить", всё прекрасно выполняется и ни за какие пределы не уходит.
Т.е. вот это:
Serg-tmn писал(а):G53 G0 Z-100
в пределах оси станка?
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Карта памяти переменных.

Сообщение Алексс »

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

Re: Карта памяти переменных.

Сообщение Nick »

Я так думаю тут лучше
G53 G0 Z100
или вообще что-то совсем другое :thinking:.
Аватара пользователя
Алексс
Почётный участник
Почётный участник
Сообщения: 2210
Зарегистрирован: 20 июл 2012, 15:49
Репутация: 266
Заслуга: IQ32
Настоящее имя: Алексей
Откуда: Прага
Контактная информация:

Re: Карта памяти переменных.

Сообщение Алексс »

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

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