Страница 1 из 1

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

Добавлено: 30 июн 2014, 14:43
Сергей Саныч
Вопрос: каким образом можно в программе обработки получить значения глобальных переменных, заданных в INI-файле?
Допустим, есть несколько подпрограмм, которые используют некий параметр, ну скажем, #<_SensorSize>. Хотелось бы, чтобы значение этого параметра получали без лишних телодвижений все подпрограммы, которым он требуется.
Еще часто полезно подпрограммам знать границы рабочего поля, обозначенные в INI-файле.

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

Добавлено: 30 июн 2014, 15:08
verser

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

Добавлено: 30 июн 2014, 15:15
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:

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

Добавлено: 30 июн 2014, 15:55
Сергей Саныч
А с какой версии эта возможность появилась?
В 2.5.3 ругается - не определен такой параметр.

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

#40 = #<_ini[axis_0]max_velocity>

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

Добавлено: 30 июн 2014, 15:57
nkp
Сергей Саныч писал(а):А с какой версии эта возможность появилась?
2.6 и выше

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

Добавлено: 30 июн 2014, 16:24
Сергей Саныч
понятно :(

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

Добавлено: 30 июн 2014, 17:16
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

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

Добавлено: 01 июл 2014, 12:07
Сергей Саныч
verser писал(а):Я бы попробовал тогда через мгновенное чтение значения аналогового пина (например max_velocity) в переменную #5399 таким g-code
Спасибо, оригинальный способ :)
я все-таки попробую освежить версию - там довольно много вкусностей появилось.

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

Добавлено: 01 июл 2014, 17:14
verser
Сергей Саныч писал(а): я все-таки попробую освежить версию - там довольно много вкусностей появилось.
:good:

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

Добавлено: 01 июл 2014, 18:17
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