Передача значений из M100..M199

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

Передача значений из M100..M199

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

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

Re: Передача значений из M100..M199

Сообщение Nick »

Вроде как у M1xx нет возвращаемых значений.
Сергей Саныч писал(а):Альтернативный вариант: как организовать в bash-программе присвоение значения переменной LinuxCNC?
halcmd setp ...
+ либо M66, либо прямое чтение пина через #<_hal...>.
Смотри первый и 4-й примеры:
http://linuxcnc.org/docs/html/gcode/m-c ... 00-to-M199
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Передача значений из M100..M199

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

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

Re: Передача значений из M100..M199

Сообщение Serg »

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

Re: Передача значений из M100..M199

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

UAVpilot писал(а):Достаточно просто переменной.
А можно подробней? я понимаю, что могу обращаться к hal-параметру, как к переменной, типа #<_hal[hal_name]>, но ведь для этого все равно нужен объявленный параметр и компонент.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Передача значений из M100..M199

Сообщение verser »

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

Re: Передача значений из M100..M199

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

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

Re: Передача значений из M100..M199

Сообщение Nick »

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

Re: Передача значений из M100..M199

Сообщение verser »

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

Re: Передача значений из M100..M199

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

verser писал(а):Этот номер кнопки наверное попадает в stdout, оттуда его забрать в переменную, переменную передать в g-code. Правильно я понял?
Да.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Передача значений из M100..M199

Сообщение Serg »

Сергей Саныч писал(а):А можно подробней? я понимаю, что могу обращаться к hal-параметру
В начальном сообщении про HAL ничего небыло.
Сергей Саныч писал(а):принимать некое (целочисленное) значение при помощи команд M1xx
можно например вот так:
M100 P12345
Сергей Саныч писал(а):далее обрабатывать это значение в G-коде.
можно обащаясь к переменной типа #<_parameter_for_m100>.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Передача значений из M100..M199

Сообщение Nick »

UAVpilot писал(а):можно обащаясь к переменной типа #<_parameter_for_m100>
А как его извне (gкода) поменять?
Аватара пользователя
verser
Мастер
Сообщения: 1904
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Передача значений из M100..M199

Сообщение verser »

или как Nick советовал через M66
в обработке bash после yad забрать номер кнопки в stdout_variable
затем

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

halcmd setp motion.analog-in-00 stdout_variable
а в g-code

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

M66 E0 L0
o100 if [#5399 GT 0]
 # processing...
o100
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Передача значений из M100..M199

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

UAVpilot писал(а):В начальном сообщении про HAL ничего небыло.
Да мне и не надо было. Вот тут насоветовали :oops:
UAVpilot писал(а):M100 P12345
Так это туда параметр, а мне бы оттуда чего получить.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Передача значений из M100..M199

Сообщение Serg »

Nick писал(а):А как его извне (gкода) поменять?
Откуда извне? Из HAL? С помощью MDI_COMMAND например.
Сергей Саныч писал(а):Так это туда параметр, а мне бы оттуда чего получить.
Внутри O-процедуры присвоить значение переменной, если нужно именно M-код, то воспользуйся REMAP.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Передача значений из M100..M199

Сообщение Nick »

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

Re: Передача значений из M100..M199

Сообщение Serg »

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

REMAP=M100 modalgroup=10 argspec=@P ngc=my_m100
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Передача значений из M100..M199

Сообщение Nick »

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

Re: Передача значений из M100..M199

Сообщение Serg »

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

Re: Передача значений из M100..M199

Сообщение Nick »

уу... точно я и не подумал...
но блин изврат тот еще, на такое даже у меня фантазии не хватило :hehehe:
Ответить

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