Как получить в G-code значения переменных из INI-файла LCNC?

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

Как получить в G-code значения переменных из INI-файла LCNC?

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

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

Re: Как получить в G-code значения переменных из INI-файла L

Сообщение Nick »

Может получится в эту строчку запихать:
2.4. [RS274NGC] Section
RS274NGC_STARTUP_CODE = G01 G17 G20 G40 G49 G64 P0.001 G80 G90 G92 G94 G97 G98 - A string of NC codes that the interpreter is initialized with. This is not a substitute for specifying modal g-codes at the top of each ngc file, because the modal codes of machines differ, and may be changed by g-code interpreted earlier in the session.

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

Re: Как получить в G-code значения переменных из INI-файла L

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

А с какой версии эта возможность появилась?
В 2.5.3 ругается - не определен такой параметр.

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

#40 = #<_ini[axis_0]max_velocity>
Чудес не бывает. Бывают фокусы.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Как получить в G-code значения переменных из INI-файла L

Сообщение nkp »

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

Re: Как получить в G-code значения переменных из INI-файла L

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

понятно :(
Чудес не бывает. Бывают фокусы.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Как получить в G-code значения переменных из INI-файла L

Сообщение verser »

Не стоит унывать :)
Я бы попробовал тогда через мгновенное чтение значения аналогового пина (например max_velocity) в переменную #5399 таким g-code

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

M66 P3 L0 Q0
в HAL обязательно сделать 1 строчку

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

net signal-name motion.analog-in-03 <= stepgen.0.maxvel
через stepgen - для меняющихся значений, или так для констант

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

setp signal-name motion.analog-in-03 [AXIS_0]MAX_VELOCITY
использован аналоговый вход #3, можно другой. Вот здесь источник http://linuxcnc.org/docs/html/gcode/m-c ... ut-Control
http://linuxcnc.org/docs/html/man/man9/stepgen.9.html
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Как получить в G-code значения переменных из INI-файла L

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

verser писал(а):Я бы попробовал тогда через мгновенное чтение значения аналогового пина (например max_velocity) в переменную #5399 таким g-code
Спасибо, оригинальный способ :)
я все-таки попробую освежить версию - там довольно много вкусностей появилось.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Как получить в G-code значения переменных из INI-файла L

Сообщение verser »

Сергей Саныч писал(а): я все-таки попробую освежить версию - там довольно много вкусностей появилось.
:good:
Аватара пользователя
verser
Мастер
Сообщения: 1903
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Как получить в G-code значения переменных из INI-файла L

Сообщение verser »

заметил описку, неправильно чуть чуть
verser писал(а):

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

setp signal-name motion.analog-in-03 [AXIS_0]MAX_VELOCITY
правильно конечно же так

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

setp motion.analog-in-03 [AXIS_0]MAX_VELOCITY
И ещё: чтобы пользоваться #<_ini[section]name> надо в INI включить соотв. бит для этой доп. возможности

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

[RS274NGC]
  FEATURES = 4
ссылка на документациюhttp://www.linuxcnc.org/docs/devel/html ... features_a
Ответить

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