Linuxcnc.var

Материал из NikiWiki
(перенаправлено с «5067»)
Перейти к:навигация, поиск
YourBunnyWroute.pngАвтор предупреждает!
Данные этой статьи получены из открытых источников и/или документации на обсуждаемое оборудование или из моей экспериментальной деятельности и являются моим персональным мнением и/или комментарием. Смотрите: NikiWiki:Отказ от ответственности


Linuxcnc logo 64.pngПроверялось на LinuxCNC
Все данные и примеры, приведенные в этой статье проверялись на по LinuxCNC и могут некорректно работать в других программах управления станками с ЧПУ


Описание

(i) Обратите внимание на то, что в этот раздел я записал не только сохраняемые переменные, но и переменные времени выполнения. Оглавление поможет Вам найти где именно та или иная переменная применяетcя.

linuxcnc.var - это файл в котором хранятся значения переменных в формате

XXXX = VALUE

где:

  • XXXX - четырехзначный номер переменной
  • VALUE - значение переменной с точностью 0.000000 до 6 знака, т.е. "микро".
(i) Обратите внимание на то, что все внутренние переменные LinuxCNC и, возможно, других программ управления станками с ЧПУ, являются четырехзначными числами. Скорее всего это дань истории, уж дюже консервативна эта наука.

В категории Category:LinuxCNC vars будут храниться описания этих переменных и комментарии к ним. Большинство из этих файлов - ссылки именно сюда. Это сделано для того, чтобы было удобнее и быстрее находить к чему относится та или иная переменная. Так, давайте же приведем этот список, я бы сказал, неразрывных взаимоотношений:

Текущая позиция

Переменные 5420-5428 - содержат текущую позицию станка по всем координатам (тут путаницы нет, их 9 штук ровно).

Определение конца инструмента

5061-5069 - это переменные, которые содержат результат probe - определения конца инструмента, производимого командой G38 и 5070 - булева переменная, определяющая то, успешна проба или не очень.

Отступ координатной системы

Часть переменных из файда linuxcnc.vars (5211-5219) описана в G92, G92.1 и G92.2 и имеет непосредственное отношение к отступам, задаваемым для координатной системы.

Системы координат

Другая часть (5221-5230, 5241-5250, 5261-5270, 5281-5290, 5301-5310, 5321-5330, 5341-5350, 5361-5370 и, наконец 5381-5390) описаны в статье на G-код G54 в Таблица номеров переменных для систем координат и относятся к, Вы будете удивлены, координатам координатных систем. Тоже отступы своего рода, но иные и для иных целей предназначены.

Предопределенная позиция

Переменные 5161-5166 - имеют отношение к команде G28 и координатам предопределенной точки в абсолютных координатах станка. Практика применения этих координат очень обширна и в соответствующей статье описана.

Диаметр установленного инструмента

5410 - это переменная, содержащая диаметр текущего инструмента, например, ее можно очень эффективно использовать совместно с G41 и G42. Зная диаметр загруженного инструмента можно легко "прописать" траекторию с учетом компенсации.

(i) Обратите внимание, что эта переменная не сохраняется в файле linuxcnc.var, а является переменной времени выполнения

Сколько же всего таких переменных?

Скоро тут будет "полный компресс" переменных, которых, к слову сказать, всего переменных в фале linuxcnc.var:

$ wc -l ../configs/YourBunnyCNC/linuxcnc.var
119 ../configs/YourBunnyCNC/linuxcnc.var
$

Аж 119 штук, а мы описали из них, пока, только 105 штук (9 в G92, 6 в G28 и 90 в G54. Надо заметить - большую их часть), осталось только 14 переменных.

Конечно, есть риск того, что LinuxCNC не пишет в эти файлы все, что мог бы записать, но наличие там 119 переменных вида XXXX = 0.000000 говорит мне о том, что упомянутый софт и его разработчики не парятся на предмет сохранения ненулевых переменных, а просто "валят" весь массив в файл каждый раз, когда им это предписано.

К стати, предписано не нами, а им самим. По какому алгоритму - думаю не стоит разбираться. Но, если Ваш компьютер перезагрузился по питанию или Reset'у, то не ждите, что в этом файле будут все Ваши данные. Я такие эксперименты производил. Случайно, конечно. Кроме того, я не нашел команды, "сбрасывающей" данные в файл сохраняя состояние.

Другие переменные

Есть (я Видел!) еще и другие переменные, которые не попадают в этот файл, а являются переменными времени выполнения. Их тоже будем описывать, по мере того, как они будут мне попадаться. Но это уже другая тема, хотя категорию хранения описаний этих переменных, я думаю сохранить.