Текст вебинара SS-5 от 05.03.2018. Курс SEIKI-SEICOS.

Макропрограммирование для Hitachi Seiki

Главные темы занятия:
- Информация о позиции #4500..
- Стандартные переменные #5001... Идентификаторы ABSIO, ABSMT, ABSKP, и т.д.
- Переменные рабочих оффсетов #5200..
- Инструмент Life Management Information. Толкование функции.
- Таблица переменных #21001..
- Пример создания управляющий программы

Ссылка на видео-запись: https://adm.cnc.uno/my/videos/SS-5.php

Ссылка на слайды/материалы: https://ru.cnc.uno/learn/theme2/topic10/lesson2-10-main05/index.php

 

Лекция преподавателя:
Переходим к теме, и продолжаем изучение макропрограммирования Hitachi Seiki, точнее мы переходим к новому занятию этого предмета (пятое занятие). Перед этим, давайте сделаем небольшое повторение прошлого занятия, в котором рассматривалось, как мы можем работать с разновидностями системных переменных. Такие переменные как переменные системного типа.

Повторим эту тему буквально две минуты. Хочется сказать, что существует большое количество системных переменных, которые могут читать/прочитать информацию от системы ЧПУ. Это может быть таблица оффсета, может быть рабочая координата, может быть информация о циклах работы инструмента, т.е. сколько он прошел в работе. Может быть сигнал от датчиков.

Системные переменные. Нужно сказать отдельно, про такой тип переменных. Это та информация, которую можно только прочитать (обычно), тремя методами. Либо используя их в выражении, либо использовать их в условии (например if-then, if-goto). И 3ий вариант, например, если переменная эквивалентна 10, тогда выполни то действие, если нет, тогда код м30, или тогда перейди на номер кадра 30 (оператором GOTO). Либо мы просто подставляем их значения в переменную, то есть переменная #111 равняется переменной 3012 (используем оператор эквивалентости EQ).

Мы записываем текущее время в часах, минутах, секундах, которое имеет конкретный формат. Каждая системная переменная имеет свой формат. Если мы используем переменную для проверки модальности в своей группе, например переменная #42.., то постоянно возвращаем, в случае проверки, значение кода, который сейчас модален в группе номер 1. То есть она не возвращает значение G90 (с кодом G), а именно цифру 90. Например, либо g01/g00, они возвращают конкретную цифру 0 либо 1. Переменная #4203 - информация в группе 3, возвращает цифру 90 либо 91.

Почему так? Почему без буквы G? Потому что, системная переменная предназначена для того, чтобы использовать (либо оказывать, либо прочитывать/передавать) нам, то конкретное значение модальностей кодов, которые выполняются. Переменная 4309, может прочитать значение подачи, которое сейчас активно в станке.

Переменную 4309 я могу либо сравнить в условии, либо сравнивать ее значение, либо вывести. Например, переменная #100 равняется переменной 4309 деленной на 3. Я взял текущую подачу и разделил на три. Записал его или перезаписал новую подачу. То есть, получается, что мы имеем возможность только читать значения переменной.

Сегодня мы продолжим изучение других функций, и рассмотрим, что кроме того, что мы рассмотрели, используется. Такие функции, как информация о модальности и другие модальные коды. Есть ещё информация о позициях, то есть, в текущей позиции мы можем узнать, с помощью специальных переменных информацию. Кроме этого можно читать разные виды сигналов I/O в переменных.

Информация о системных переменных позиций. Все эти переменные соответствуют своим значениям для разных осей. В этом их роль, в этих строчках нашей таблицы, работа с конкретными координатами, которые в данный момент являются активными при работе управляющей программы. Есть отдельные системные переменные, разделенные по группах. Все они походи по функционалу, и начинаются на 50... Это переменная 50.. отвечает за информацию об позиции (местонахождения инструмента), при позиционировании инструмента относительно заготовки. А 01 определяет, точнее 0, определяет принадлежность (свойства) переменой к этой функциональности. А последняя цифра, определяет номер оси, то есть в переменных от 5001 до 5008 меняются только цифры (принадлежности к классу/функциональности). Например, переменная 5001 - информация об конечной координате по X. Это позиция, на момент чтения кадра в этой управляющей программы, в которую, сейчас станок переходит (в эту координату). Но находится он в предыдущем кадре/блоке.

Вот в этой координате (это записано в переменной 5002), 2 в конце это принадлежность к оси Y. 1 2 3 это и есть X,Y,Z.

Вопрос от слушателя курса.....
Что определяет последняя цифра, какую букву оси?

Ответ преподавателя:
Почему так написано? Потому что, это уже сугубо настройки станка. В параметрах, мы можем определить и/или подменить на значение другое, или назначить другие. Мы не знаем к чему, например, относится ось b. Может быть, 4 3 5 2 6 8 ось. В зависимости от номера.

Вопрос от слушателя курса.....
Можем ли мы сразу использовать переменную 5001.... 5008 в условии? Не присваивая еще в общую переменную, т.е. сокращать программу управляющую.

Ответ преподавателя:
Да, конечно. Вы можете присваивать своим переменным, имеется в виду в общие, значения. В системные, нельзя присвоить какое-то значение. Да, вы можете это значение присвоить переменной, потом с ним работать, и его сравнить в условиях. А можете прямо напрямую отсюда. Собственно, это тоже самое, не важно как вы это делаете. Вы знаете, мы это уже рассматривали в самом начале курса Хитачи Сейки. Просто начали с этого, на первых занятиях. На другом примере объяснялось, с другой системной переменной. С 50.. то же самое. Мы можем мы присвоить его значение в переменную, потом эту переменную использовать. А можно сразу сравнить. В этом и смысл использования.

Лекция преподавателя:
Мы определяем такие значения позиций, информацию о них, которые могут быть прочитаны (точнее путем прочитывания из значений).
Работая с переменными с 5021 до 5028, мы определяем месторасположение текущей позиции, а это место финальной позиции в блоке. Если посмотреть, на правую колонку таблицы, видно значения Enabled/Disabled. Это значения, которые можно читать в перемещении - enable, то есть мы перемещаемся и можем посмотреть текущее значение. Мы знаем какая координаты и где мы находились. А это - disabled, это значит, что мы можем прочитать, например 5021, когда мы уже переместимся. Мы перешли сюда, вот это новая координата.

Текущая позиция указывается только между строк, то есть не в процессе. Переменная не может нам показать эту информацию. Если речь идет о какой-то круговой интерполяции, даже наблюдая значения этих переменных на станке, мы просто не успеваем наблюдатель текущую координату. Всё изменяются там с максимальной скоростью, если она показывает нам в микронах. Если происходит не круговая интерполяция, а например, линейная интерполяции на 1 метр. То будет видно, что вроде мы перемещаемся, но переменная не изменяется.

Почему? Она не работает никак, в процессе перемещения. Не совсем так я объяснил. Она не читабельна в процессе перемещения. DATA, что тут записана, невозможно прочитать. С другой стороны, мы ее и не должны читать. Мы можем прочитать эту переменную, т.е. выполнить какой-то код, а как его можно выполнить, его надо всё равно записать в УП программу, и какое-то действие должно выполняться, после чего перейти к этому действию. Опять же, мы можем прочитать значение на экране переменных, мы не будем видеть что она меняется. На самом деле, станок перемещается в первом случае, мы будем видеть этот код. Мы обычно используем значение 5021. Это значит, что мы куда-то перешли, и значит, мы там уже находимся. Когда уже перемещения было выполнено в процессе, вот этого времени, и 5021 хранит информацию о текущем месте, в абсолютной системе программирования.

По оси Y 5022, 5023 по оси Z, и так далее. А 5041 определяет текущее позицию относительно абсолютных координат, относительно g54.

Важное добавление!

Я тут пропустил момент, относительно машинной координаты. Машинные координаты MCS (Machine coordinate system), то есть 0 машины, той точки исходного положения, которое определяет производитель, являются переменные 5021...5028. А это именно относительно 0 рабочей координаты G54 - WCS (Work coordinate system), то есть заготовки, которые определяют наладчики. Вот эти две точки 5021 5041.

Продолжение лекции:
Переменные 5061 до 5063, мы не будем рассматривать но я вам в принципе могу рассказать, теоретически только, когда и как это работает. Когда мы используем контрольные измерения на станке, и в шпинделе стоит какой-то контрольно-измерительный инструмент, который вот выглядит, как как инструмент в tool holder-е, с сапфировой головкой, например, производитель renishaw, который используется для осуществления процесса наладки. Он опускается, и касается какого-то, например, материала и срабатывает определенная программа.

Как это делается? Здесь такой код как g31, перемещение регулируется специальной подачей (из переменной), и определяя его, и передавая в макропрограмму, с помощью кода g65 (специальную макропрограмму) значение расстояния, где он сейчас находится, относительно машинной координаты. Касаемся заготовки, при этом, она касается либо здесь, либо немножко ниже, в этом и есть цель его использования. Заготовка может находиться ниже гораздо. Эта "штука" подъедет, контрольный инструмент, подъедет и коснется его. Вот а как и почему так происходит процессе касаним, и они не ломаются, потому что откуда он знает куда ехать. Если вы сверлом подъедете куда-то, примерно пока он не дотронется, то оно явно сломается. Знаете куда именно подъезжать надо, значит инструмент не сломается. Принципе в том, что возникает специальный сигнал, называется SKIP-сигнал, или пропуск, сигнал пропуска, когда контрольно-измерительные (приспособления) инструменты касаются поверхности, то на них производится давление (на него), и останавливается уже сугубо электроника. Электроника работает в данном аппарате и останавливается шпиндель, в результате, мы знаем где именно дотронулся нижней частью данного измерительного прибора вершины заготовки. Мы знаем, что этот инструмент, или прибор имеет конкретный оффсет. Мы не можем его вставить, он уже идёт с патроном, и вставляется в шпиндель, то есть мы не можем его как-то высунуть/всунуть. Он либо работает, либо не работает. Стоит он очень дорого, до 3000 долларов включительно, в зависимости от разных дополнительных опций и программного обеспечения для него.

Такая ситуация, что мы знаем где находится 0 машины это максимальное положение шпинделя. Мы знаем где это. Когда он дотронулся до заготовки, мы можем вычислить значение, чтобы понять сколько он прошел в минус. Он знает это расстояние, сколько он прошёл.

Вопрос преподавателя:
Скажите, какую координату нужно прочитать, чтобы передать в программу информацию, в какой точке мы коснулись вершины заготовки 50..?

Ответы слушателей во внутреннем чате.
Ответ преподавателя:
Почти, 5203 а не 5023. А как вы думаете, 5203 для чего нужен? Переменные с информацией об оффсете рабочих координат по оси Z. В других системах указывается как Shift Amount, или смещение всех рабочих координат.

Продолжение лекции:
Вот она в текущем расположении по оси Z, и вот мы знаем что, например мы прошли -123мм, до того момента как мы коснулись вершины заготовки. Когда мы это сделали, эта информация записалась в SKIP-сигнал. Она специально необходима, для того, чтобы получить информацию об координате касания.  Когда произошло прерывание хода движения, и эта информация записывается в 506.. Почему именно 5063 а не 5061? Правильно! Потому что, третья ось.
Кто прошел предмет программирования, тому должно быть более понятным. Кто не прошел, не совсем понятно. OK. Такие переменные как СКИП-сигнал, работают вместе с кодом g65, и вместе с кодом g31. Хорошо. Есть ещё такая переменная как 5081 до 5088. Она необходима для того, чтобы хранить информацию об абсолютных координатах (как 5041), но с учётом смещения на радиус инструмента. Почему? Потому что, при обработке, например, и указания координаты, представьте, что у нас есть вот такая обработка, где идёт инструмент по контуру, он проходит относительно точек. Какая координата будет записана в 5041, по иксу координата. Вот это левая, либо правая в 5041 запишется? Правая, конечно, правую мы запишем, то что указано в управляющей программе. В управляющей программе правильно написано, потому что откуда она знает какой инструмент работает? Может инструмент меньше стал, или больше, инструмент стерся на 1 микрон. Он уже не тут проходит, он чуть-чуть сдвинут. Получается, что мы записываем координату относительно управляющей программы. Она работает вот по этой траектории движения, на что записывается в 5081, левое, то есть с учетом сдвига. Откуда он знает какой радиус инструмента? Откуда он знает какой-то сдвиг? Он читает его в таблице оффсетов (4 колонки), с помощью кода g41/g42 для левосторонней и правосторонней компенсации. С помощью значения которые в коде обозначены специальными аргументами - D корректоры.
Это изучается на первом предмете, и я перехожу дальше.

Получается, что такие системные переменные, отвечают за позиционирование (координаты) в управляющих программах. Ну и так как мы уже рассмотрели, Антон, по-моему вы написали 5203 случайно, вот мы видим 5203 переменную. Её можно прочитать для контроля координаты, которые мы читаем и записываем в рабочие координаты G54..G59. Это такие специальная разделы системы ЧПУ (ячейки), которые записывают в которые записывается информация о месторасположении заготовки. Например 0 программы, да 0 программы, можно и так сказать. Представьте, что у нас есть какая-то заготовка, вот она установлена на столе станка. У нас есть ноль станка, и он (машинный ноль) находится в данной точке. У нас есть программа, в которой написано, перейди в координату G00 X0.Y0.. Это сделано для удобства, на самом деле, есть очень много разных вариантов работы. Есть первый вариант -работа только относительно машинных координат. Мы знаем где мы её установили, чтобы перейти, например, в точку которая у нас есть на  заготовке. Представьте, заготовка имеет размеры 50 на 100 мм., и мы знаем что вот это вот это (имеются ввиду горизонтали на ось ординат и абсцисс). Надо к ней прийти, но мы же можем конкретно от машинных координаты сделать это. Вот мы знаем, что начало там, 200 - 200. Значит 200 + какое-то значение. Это глупо, но можно. Не обязательно использовать рабочую координату. 2ой вариант более логичный. И для этого они используются (рабочие координаты). Является нулем для данной заготовки будущей детали, и мы просто просчитывает специальными измерениями расстояние от оси X до этой точки, по оси от 0 до этой точки, по оси Z верхней нижней части шпинделя, когда он в самом верху находится. До верхней части заготовки. Мы вот только что говорили про скип-сигнал, и мы узнали где находится эта координата, относительно нуля (дельты так называемой).

3ий вариант - работа с использованием локальной системы координат, код G92 для Фанук, Хитачи Сейки, либо G15, например для Окумы. Это специальные значения, которые позволяют ввести локальную систему координат. Это lcs называется. Это называется wcs. После g92, например, активируем локальную систему коодинат, указав любую координату на рабочей зоне машины в координатах, и станок запоминает что это будет новым нулём. И тогда все координаты нужно указывать относительно этой точки. Это как бы временно (локально), временная координатная система, либо локальная координатная система (локальная система координат). Но это изучается не сегодня. Сегодня давайте еще раз рассмотрим, что это даёт. Мы можем проверять а именно контролировать и прочитывать информацию об позициях которые указаны в 5221 5241 5261.

Давайте я открою блокнот, и приведу пример. Выведу его тоже на экран, и мы сделаем похожу задачу. У нас есть сейчас больше должны принимать участие те, кто уже прошёл программирование, особенно конец его. Давайте попробуем сделать так. Если 5223 у нас больше 200, тогда в него поставить 200. То есть, мы ограничиваем практически, максимальное расстояние вершины заготовки относительно верхней части исходного положения.  (Относительно 0 машины). Как это сделать? Варианты!

Тест для слушателей...
Отличная идея, но неправильно. Почему? Ну ещё лучше это оператор сравнения, он явно не может быть не в условии. Ну потому что системную переменную можно только прочитать а не записать. А вот ещё вариант такой интересный, у другого слушателя, сейчас что делает данный код.
Татьяна пожалуйста, как вы думаете, укажите сами, самостоятельно. Что делает данный код вашей программы. Что делает код 90, записывает координаты, какую координату активирует, активирует рабочие координаты? Правильно, он определяет что нужно работать относительно 0 рабочих коордаинат. И номер 1, которая записана в 2004 правильно. А что делать перемещается 200 - это быстро или медленно? Как это нет перемещения? 100, не может не быть кода, модального по умолчанию, не может быть. Давайте по порядку. А если в программе нет g00? Это не значит, что нет перемещения, потому что если правильно есть Z200 - это значит что есть перемещение. Какое может быть перемещение, если ничего не указано? То  перемещение происходит относительно чего, в каком коде неправильно? Неправильно. Относительно того, какой код модален в группе номер 1, то есть не g00 необязательно, я действительно написал кусок из программы. Может быть там было g01, или нет, но я вам действительно этого не обозначил. Что станок ничего не сделает? Как это ничего не сделает. Хорошо. Другой вопрос. А если вы сейчас включите просто станок. Вы пришли на рабочее место, включите, обнулите и просто напишите z200. Что сделает станок, относительно чего он перемещается? В абсолютной форме, правильно, потому что G90 модальный. Он приедет в дюймах либо миллиметрах? Он переедет относительно первый рабочей координаты или 6ой? Он приедет ускорено либо медленно? Правильно. А с чего вы это все берете? Нет! Причем тут подача? Подача может быть по умолчанию другая. Нет. Дело не в этом. Если Вы только включаете станок, то увас инициализируется те коды, которыя включаются по умолчанию. Давайте мы возьмем сейчас, например, руководство к станку. Чтобы не бежать слишком наперёд. Давайте, проверим, что пишет производитель по этому поводу. Например, берём руководство, руководство по эксплуатации, и берем какую то брощуру по программированию. Ну любой, например, вот такой. И возьмём ещё этот, если тот нам не нравится.

Переход к цитированию руководства по эксплуатации станка:
Открываем, и посмотрим, что пишет производитель в G кодах. Сначала он описывает g-коды. Должна быть такая табличка, к примеру фанук, где будет указываться модальные коды по умолчанию. И вообще которые бывают они уже тоже. Вот они. Вот табличка кодов, и смотрим на Вот это. Этот значок он может показать либо какой код модален по умолчанию, либо то, что он вообще может быть модальным. В данном случае указывается что к 00 и 01 могут. Например g00 выполнился в последнем кадре, значит он является модальным. Выполнил g01 значит он является модальным. В таком случае, если написано понятно, что если g01 выполняться в начале, и значит - 200 это перемещение с какой-то подачей - линейная интерполяция. Если он выполнил последним позиционирование, то в 100 перейдет ускоренно. Давайте посмотрим g-коды которые маркированы с помощью звездочки инициализирует g-коды. Да и применяются он после того как питание станка было включено или когда система была перезагружена. OK. Получается что для разынх групп, те коды которые являются модальными, были выбраны в параметрах, такими-то и мы определили что эти коды будут активными. Если я изменяю это вручную в параметре 2401 для системы фанук 15 MB, конкретно этой, то я могу изменить это. Соответственно бывает код модальным в группе, модальный по умолчанию. То есть мы включили станок и g00 уже модальный, как ни крути. Поэтому подача тут вообще не причём. g-коды это код.

Возвращаемся назад. Получается, что если мы пишем просто Z200, в любом случае выполняется перемещение. Три варианта: либо станок уже работал в программе и перед этим было написано 100, а потом могло быть 1000 кадров, а потом условия. И тогда Z200 переместиться каr ускоренно, и остался модальный в группе номер 1. Если же мы работали с какой-то подачей, то она же должна быть, например 1000. Если Мы работали в круговой интерполяции с подачей 1000, потом работали еще в других кодах, а потом G01, а потом просто написали g01 без ничего, и написали Z200, что делает Z200? Правильно, он переедет линейной интерполяцией. Почему? Потому что G01 выполнялся последним в группе. f1000 указывает подачу. При этом оно никак не связано с кодом, он показывает, что это подача модальна. А теперь внимание, как переедет Z200, они в круговой. Правильно, потому что g02 код не является модальным. Проверяем, почему g02 не стоит галочка, значит он не может быть модальным. Это значит, что станок выполнит 02 и всё. А почему Z200 именно перейдет потому что это 1 код, предыдущий код, скажем так, последный модальный код в этой группе. Абсолютно верно. Ну и читаем, это называется One-Shot коды, этот код которая эффективный, и выполянеся только в блоке в которых они обозначены. То есть другие g-коды Continuous коды, коды которые принимают статус продолжительной работы, то есть такие g-коды являются модальными. Они работают в этой же группе, в которые они были обозначены. То есть если мы выйдем Z200, в любом случае есть перемещение. И 3-е, я не сказал, что будет если мы только включили станок. Мы же ещё не сказали g00 и не указали подачу. То есть он выполняется, именно g00, потому что он модальный по умолчанию, он инициализируется и применяется когда питание включено, либо система ЧПУ перезагружена.

 Хорошо, давайте вернемся и какие-то вопросы дополнительные по ходу действия... Мы переходим дальше. Мы можем контролировать ещё некоторые позиции в постоянных циклах. Canned Cycle, это возможность производить работы: сверление, сверления с задержкой на дне, ступенчатое сверление, что там еще, растачивание, нарезание резьбы, хонингование и суперфиниширование. Что делает станок специальной группой кодов 9. Может быть нам известно с помощью чтения переменных. Мы начиная какой-то постоянный цикл указываем последнюю координату по Z, она является исходным положением. В группе номер 10 Gкодов, есть специальные коды которые называются g98/99. Ведь они определяют возврат из таких постоянных циклов, куда нужно выйти. Например, сверло просверлило и вышло в s-point или r-point. Получается, что мы можем где-то прочитать информацию, где программа хранит инфомацию для работы с постоянными циклами. Я никогда в жизни не использовал такие переменные на производстве, но они скажем так, не нужны в программах стандартных. R point он задается нами в программе, мы и так его знаем, скажем так. Тем не менее это информация. Это задержка на дне в миллисекундах, задержка на дне миллисекундах, всё это определяет переменная, специально для постоянных циклов. Система записывает сама информацию в данных циклах, записывает самостоятельно.

Вопрос от слушателя курса.....
Почему есть расстояния между группами переменных 5001.... 5008 и 5021....5028. Можно ли использовать 5009....5019?

Ответ преподавателя:
Существует серии систем, по использованию опций, количества выделяемой памяти. Обычно, это называется тремя типами памяти в системах ЧПУ. Они определяют функциональность, и определённое количество опций станка. Тоже самое есть у Hitachi, и других производителей, они определяют стандартный набор функций станка. Предположим это память, и он определяет работу в 3 либо 4 либо 5 либо 6 осевой системе. В таком случае для такого станка который в трех осях работает, будут доступны только цифр 3, потому что 4 не используется. 21 22 23 во второй группе может использоваться в 8. Почему значит есть в 8. Получается, что есть 8 осей, может быть конечно и больше ну и ваш ответ. А почему этот пропуск есть потому что может быть ещё больше. Система ЧПУ может поддерживать ещё большее количество осей. Буквально на одну минуту отвлечемся, и посмотрим заодно будете знать где всё находится. Да и как-то в этом, самостоятельно немножко больше тратить времени возможно, я всем говорю не именно вам.  В разделе диагностика ЧПУ, в материалах занятий, есть кстати вот эти картинки, которые показывает миниатюра мне очень даже помогают,в том что я вижу конкретно, что за занятие было. У кого их нет, можно включить их в настройках занятия.  Сейчас, минуту, по поводу количества поддержки осей, справочник системные параметры синтек. Мы просто изучаем конкретно с привязкой по системе syntес. Так нельзя изучать какую-то тему диагностики без привязки к системе. Почему так вот вы видите до определенного значения, значит что параметры для системы синтек 900МE или CAB-48, по-моему, указано то значение которое используется в автоматическом режиме (g64), для систем ЧПУ, которые не используют ручные режимы разгона и торможения, между изменением интерполяции линейной на круговую. Кто работает на станках, видели такой процесс резания, когда станок перемещается линейно с конкретной подачец, которую вы указали ему, а когда есть скругление, то перед скруглением и после выхода из нее, он почему-то ускоряется а при скруглении, он замедляет скорость. Обычно все используют автоматический метод разгона, торможения в системе. Отдельно можно описывать коды g8 g9, они определяют acceleration/decelaration. Не пользуемся мы таким методом, у нас работает автоматическая функция. Ну понятно для чего это нужно,  чтобы больше станок служил, больше работал. Вот поэтому у нас есть такой параметр, который определяет с какой скоростью разгоняться при изменении на ускоренное перемещение. То есть ускоренное перемещение начинается с разгона, даже не может быть резким каким-то, подшипники и так далее.. Указан параметр 600 миллисекунд, это сколько время нормальным языком, чуть больше полу секунды, то есть 500 миллисекунд это полсекунды, миллисекунда это тысячная Доля секунды. 1000 миллисекунд - 1 секунда. Давайте посмотрим, смотрите Икс Вай Зет стандартная поддержка дальше 4 5 6 7 8 9 ... 16, они нули. Но их 16, это значит что система ЧПУ поддерживает 16 осей. Сколько мы используем, сколько у нас есть оборудования. Мы можем, теоретически, поставить просто такие контролеры отдельно и передних бабок 13 штук оставшихся. Еще 4 осталось на всякий случай. Понятно почему расстояние есть.

Давайте, абсолютно не успеем, сделаем уже завтра экспромтом в программе пример делать не будем. В принципе, мы по теме полностью закрыли то что нужно было. В среду у нас будет 6 занятие. Там уже сделаем, но так получилось, что завтра мы сделали такой тренинг. Будет по фанук, но они на этом уровне обучения идентичны, это то что мы сейчас уже прошли по этому курсу. Это будет один в один, за исключением каких-то там строковых переменных и GOTO. Мы просто не будем использовать завтра. Поэтому вот практически пример. Мы завтра и выполним потренируемся.
Я просто взял это, мы разбирали, мы же его не доделали. А я понял хорошо. Ну хорошо смотрите. Что такое таблица офссетов, там есть какое-то значение например 200, а как кто его туда записать, вручную. А можно как-то не вручную? Я говорю можно, можно с помощью кода G10, с помощью кода G10. Да. И вот с помощью кода G90 G10 L2 Z200, я именно сделаю то, что мы хотели. g90 - это метод изменения модальности, но в этом случае, он сообщает что код следует записывать именно в абсолютной форме. Есть специальный код, который необходим для записи в систему ЧПУ, он записывает данные вот в эту таблицу инструментов, и другие вещи. Куда именно нужно записывать. Геометрический оффсет L10 или L11 в компенсацию на высоту инструмента, 12 в геометрический диаметр, или 13 в компенсацию на диаметр. То есть, во все четыре колонки таблицы. 1 определяет номер рабочей координаты. Что если бы надо было g57 записать? Просто номер до 54 55 56 57 - 1,2,3,4 значит записать g57 это использовать аргумент P4. Почему именно z200,  потому что мы должны определить для какой оси есть принадлежность данном случае. Это мы пишем. Ну просто так для примера, чтобы записать компенсацию на инструмент номер 2, чтобы он стал меньше на 1 микрон нужно написать g91, полный формат:  G10 L13 P1 R-0.001. Объясняю почему g91, потому что нужно изменить, а не заменить, потому что там уже могло быть какое то значение оффсета. Нам нужно еще учитывать это, чтобы просто не удалить. L13 - это четвертая колонка в таблице оффсетов, изменение компенсации на диаметр и один это номер корректора 1, соответствует номеру инструмента (обычно). А тут почему? Потому что он используется во всех остальных случаях, это специальный адрес, который указывает значение для кодов от 10 до 13. Это просто надо запомнить. Почему там указывается в L2? Потому что, там могла быть запись в координату X/Y/Z , а тут просто значение а оффсет записываем. Поэтому в L2 когда записывается кодом, указывается конкретно z200. А тут не используется Z, то есть там Z определяло букву адрес оси, а тут аргумент, которому нужно записать само значение. Это просто нужно заполнить, его не надо изучать. А кто это не знает, изучите на занятиях по программированию.

Если вопросов больше нет, всего доброго. До свидания. Записывайтесь завтра на LIVE-тренинг. Ещё 10 человек может записаться.

Поиск необходимой информации:

Тренинг-курс включает в себя следующие разделы обучения:

Программирование ЧПУ
Макро-программирование
Инженерная графика
Управление станков с ЧПУ
Диагностика и тех.обслуживание
Наладка станков с ЧПУ
Основы металло,- и деревообработки и инструмент
Пост-процессоры для САПР-систем
Технический английский (Станки с ЧПУ)

Нет доступа к курсу?

Заполните форму, для получения доступа к системе на 7 дней.