Выбор плоскости, — G17 (плоскость X Y), G18 (плоскость Z X), G19 (плоскость Y Z). Инструкции определяют выбор рабочей плоскости в системе координат детали или программы. Работа инструкций G02 G03 G05 непосредственно связана с этим выбором так же, как и программирование в полярных координатах так же, как и эквидистантная коррекция (см. рис.28). [c.34]
Эквидистантная коррекция, — 640, 641, 642. В результате коррекции инструмент перемещается по траектории, параллельной исходному контуру. Принцип эквидистантной коррекции проиллюстрирован на рис.38. [c.47]
Эквидистантная коррекция, — 641. Инструкция С41 инициирует положительную эквидистантную коррекцию слева от заготовки, если смотреть в направлении подачи. Для реализации коррекции радиус фрезы программируют в О-слове, а номер инструмента в Т-слове. Вместе с инструкцией С41 можно программировать линейные [c.48]
Эквидистантная коррекция, — 642. Инструкция С42 инициирует [c.49]
Применять инструкцию 364 можно только в том случае, если активны инструкции эквидистантной коррекции С41/С42 и используется круговая интерполяция 02/03/05. Инструкции 064 и 065 модальны и взаимно исключают одна другую. [c.53]
Сопряжение эквидистант на стыке кадров, — по дуге, — С68 по траектории пересечения эквидистант, — 669. Инструкции являются модальными и работают при активной эквидистантной коррекции. Их действие сводится к автоматической генерации дуги (С68) или траектории пересечения эквидистант на стыке не плавно сопрягаемых кадров. [c.54]
Для компенсации длины инструмента используют Н-слово а для компенсации радиуса инструмента используют О-слово. Для компенсации радиуса при эквидистантной коррекции должны быть активными инструкции С41 или С42. [c.94]
Вход в эквидистантную траекторию и выход из нее. Если активны инструкции круговой интерполяции (С02, СОЗ, С05), то в кадрах, инициирующих эквидистантную коррекцию (с инструкциями С41 или С42), программирование перемещений недопустимо. Инструмент входит в эквидистантную траекторию в следующем кадре (после 041 или С42) перпендикулярно к контуру. То же и для любого кадра с С41 или С42 при отсутствии в кадре запрограммированных перемещений (см. рис.81). [c.95]
G40 Отмена эквидистантной коррекции 41 [c.98]
G41 Эквидистантная коррекция слева по направлению подачи 41 [c.98]
АСПУ предусматривает системы Н с непрерывным управлением по двум, трем и пяти координатам. Для двух-и трехкоординатных непрерывных систем предусмотрено устройство коррекции эквидистантного контура. [c.7]
Приблизить форму детали к требуемой чертежом можно либо нанесением слоя изоляции на электрод-инструмент или заготовку, либо коррекцией формы рабочей поверхности инструмента по результатам расчетов и экспериментов. При расчете формы электрода-инструмента в общем случае принимают режим обработки стабильным, а начальный (до корректировки) профиль инструмента эквидистантным профилю детали. Методика расчета выбирается в зависимости от схемы ЭХО. [c.289]
Обработка фасонных поверхностей, образуемых сочетанием вертикальных и наклонных поверхностей (рис. 17, б). На входе в прошиваемую полость имеются как торцевые, так и боковые зазоры Вертикальные участки поверхности ЭИ следует занижать эквидистантно к профилю детали на величину соответствующих боковых зазоров, а наклонные участки—на величину максимальных торцевых зазоров. Такой способ коррекции размеров позволяет исключить завышение припуска под последующую обработку. [c.33]
Если обрабатывается фасонная поверхность типа тела вращения без орбитального движения ЭИ, размеры ЭИ занижаются эквидистантно размерам фасонной поверхности детали на величину припуска на последующую обработку и максимального торцевого зазора Размеры коррекции ЭИ зависят от режима обработки. Для каждого режима обработки размер коррекции рассчитывается особо, если на каждом из режимов используется свой ЭИ Когда ЭИ используется на нескольких режимах обработки, он занижается на величину коррекции, рассчитанной для наиболее мягкого режима. Фасонная поверхность, образованная сочетанием вертикальных и наклонной поверхностей, обрабатывается, как правило, на нескольких режимах, так как иа входе в прошиваемую фасонную полость имеются как боковые, так и торцевые зазоры, это обстояте 1ь-ство вызывает необходимость вертикальные стенки ЭИ занижать на вели- [c.103]
Отмена коррекции, — 640. Отмена коррекции С40 может сопровождаться прямолинейным движением в активной плоскости. В этом случае выход из эквидистантной траектории осуществляется по пути к конечной точке кадра. Если активны функции круговой интерполяции, то действие инструкции С40 не должно сопровождаться перемещением. [c.48]
Функции систем приведены на рис. 78. На системы управление первой группы возлагается широкий диапазон задач — от поиск начальной точки сварки до выбора закона перемещения инструмента от точки к точке для обеспечения заданного динамического режима работы. Такие системы на первом этапе должны обеспечивать коррекцию траектории сварочного инструмента с целью выхода его начальную точку и слежение за кромкой детали для выполнения швов, эквидистантных кромке. Развитие таких систем позволит обеспечить управление перемещением сварочного инструмента по-любой заданной траектории, параметры которой корректируются относительно кромок и поверхностей свариваемой детали в процессе движения инструмента. [c.185]
Блок ввода коррекции эквидистанты осуществляет пересчет вводимых величин в соответствии с вводимой коррекцией эквидистантного контура сразу же после ввода очередного кадра в устройство буферной памяти. Эти данные хранятся в памяти до поступления сигнала от интерполятора. Устройство применяется в контурных СЧПУ фрезерными станками в случаях, когда радиус применяемой фрезы мол<ет отличаться от запрограммированного. [c.313]
Во фрезерном станке МА-655 (ЭНИМС) применена система УМС2Ф — модификация системы ЧПУ с учетом специфических требований к фрезерным станкам с тиристорным приводом. В качестве следящей системы ЧПУ используется импульсно-фазовая система с датчиком перемещения вращающегося трансформатора. Система УМС2Ф обеспечивает ЧПУ трехкоординатного фрезерного станка с одновременным управлением по любым из двух координат, рассчитывает эквидистантный контур, учитывая радиус фрезы, а также выполняет линейную и круговую интерполяцию. В системе предусмотрен блок коррекции, который повышает точность обработки и производит по той же программе черновое и чистовое фрезерование, а также позволяет применять немерную фрезу. [c.475]
Точность обработки. При ЭХО плотность тока по длине МЭЗ неравномерна и зависит от формы электродов и расстояния между ними и тем выше, чем меньше текущее значение МЭЗ (рис. 5). Следовательно, скорость растворения в начальный период также неравномерна, в результате наблюдается эффект саморегулирования процесса ЭХО. Однако, в процессе ЭХО текущее значение каждой точки анода определяет текущую погрешность обработки и может быть описана величиной МЭЗ по нормали к торцевой поверхности инструмента и отклонением от эквидистанты инструмента (рис. 6). Очевидно, что наибольшую погрешность будет иметь участок поверхности, подвергающийся наиболее длительному воздействию электрического поля, причем тем бдльшему, чем меньше угол ее наклона к направлению подачи инструмекга. Поскольку форма обработанной поверхности эквидистантна поверхности ЭИ с некоторой погрешностью, практически всегда требуется коррекция электрода для получения обработанной поверхности заданной формы. [c.537]
На этой линии расположена ось режущего инструмента. При этом рабочая поверхность инструмента независимо от диаметра всегда тангенциальна к эпитрохоидной поверхности, а режущая кромка инструмента, ось которого качается относительно теоретической вершины ротора, отстоит на расстоянии А от оси качания для обеспечения постоянного контакта с обрабатываемой поверхностью. Важной особенностью этих станков является перемещение оси инструмента по траектории, эквидистантной обрабатываемому контуру. Это позволяет ввести кулачковый механизм для коррекции геометрии теоретической эпитрохоиды по желанию конструктора. [c.125]
Синтез наивыгоднейших траекторий формообразования производится в подсистеме (IV). Для этого расчитываются (36) параметры ортов и п нормалей к поверхностям Д и И, после чего поверхность И вводится (37) в касание с поверхностью Д путем совмещения орта п с противоположным направлением орта в точке К касания поверхностей Д л И. Затем проверяется (38) вьшолнение условий формообразования поверхностей деталей, в случае возможного нарушения которых (39) вводится (40) коррекция на положение инструмента относительно детали. Если условия формообразования поверхностей деталей выполняются (39) и формообразование поверхности Д производится (41) при постоянной ширине строки формообразования, то наивыгоднейшие траектории формообразования расчитываются (42) как линии, эквидистантные к геодезической линии наибольшей длины на обрабатываемом участке поверхности Д с учетом (43), при необходимости, влияния на параметры траекторий формообразования формы и параметров границ контура участка поверхности Д (с учетом краевого эффекта), после чего параметры наивыгоднейших для данного случая обработки траекторий формообразования подаются (44) на выход подсистемы (IV). [c.514]
На чтение 25 мин. Просмотров 1 Опубликовано 28 апреля, 2023
Команды управления станками с ЧПУ
Продолжаем публикацию материалов из Справочника фрезеровщика под редакцией В.Ф. Безъязычного. На этот раз разберем cтанки с числовым программным управлением.
Станки с числовым программным управлением отличаются от обычных тем, что контролируются не оператором в процессе работы, а управляющей программой, составленной до начала работы. От того, насколько грамотно составлена программа, во многом зависит качество обрабатываемых деталей. Качество же отработки самой программы определяется, с одной стороны, характеристиками механической части станка (точностью, жесткостью и другими), с другой – совершенством стойки ЧПУ (дискретность, математическое обеспечение и прочее).
Наибольшее распространение получили три системы числового программного управления: Heidenhain, Sinumerik и Fanuc (рис. 3.26). Все они поддерживают стандартный код ISO, однако имеют наборы специфических команд. Например, пакет пятиосевой трансформации, решая одни и те же задачи, реализован по-разному в каждой системе.
Рис. 3.26. Стойки ЧПУ основных производителей
Управляющая программа представляет собой последовательность кадров (строчек), в которых задана траектория перемещения инструмента и технологические команды – включение и выключение вращения шпинделя, подача СТОС, смена инструмента и др. Каждый кадр состоит из слов, сочетания адреса (X, Y, T, S…) и числа, записываемого в этот адрес памяти стойки (см. табл. 3.13)
3.13. Шаблон типового кадра управляющей программы
Так, для перемещения в позицию 100 по координате Х следует задать адрес позиционирования X100 и тип перемещения, например линейное, на рабочей подаче – технологическую команду G1. В современных стойках ЧПУ номер кадра не является обязательным блоком и служит для удобства наладчика и программиста
Основные адреса позиционирования приведены в таблице 3.14, основные G-коды и М-коды – в таблицах 3.15 и 3.16.
3.14. Основные адреса позиционирования
3.15. Основные G-коды (подготовительные функции)
3.16. Основные M-коды (функции управления станком)
Различают модальные и немодальные (одноблочные) команды. Немодальные действуют только на тот кадр, где встречаются. Модальные работают как тумблер, будучи включены, распространяют свое действие на все последующие кадры. То есть немодальные команды необходимо указывать в каждом кадре, а модальные достаточно в одном. Например:
В кадре N10 происходит перемещение в абсолютных координатах G90 в точку X = 100; Y = 200 на холостом ходу G0 с торможением в конце кадра G9. G90 и G0 модальные, поэтому в следующем кадре происходит перемещение, также на холостом ходу в точку с абсолютными координатами X100; Y200; Z50. G9 не модальная команда, ее приходится повторять.
В кадре N20 отменяем действие G90, указав G91 – происходит относительное перемещение по координате X на 100 мм (в точку с абсолютными координатами X200; Y200; Z50), причем на рабочем ходу G1 с подачей F 350 мм/мин. G91 и G1 модальные, поэтому в следующем кадре N25 произойдет перемещение на рабочем ходу на 200 мм по оси Y (в точку с абсолютными координатами X200; Y400; Z50).
При разработке программы используют линейную или круговую интерполяцию. Стойка ЧПУ рассчитывает траекторию движения инструмента (положение в каждый момент времени при отработке кадра) из текущей позиции в запрограммированную конечную по прямой в случае линейной интерполяции и по дуге окружности в случае круговой. Строго говоря, движение по дуге станок отрабатывает тоже прямыми отрезками, но они достаточно малы, чтобы аппроксимировать дугу с требуемой точностью.
Кадр круговой интерполяции, в отличие от линейной, должен содержать не только координаты конечной точки X, Y, Z но и адреса I, J, K, задающие центр дуги окружности, по которой происходит перемещение. Например:
Используя круговую интерполяцию, следует предварительно указать, в какой координатной плоскости происходит расчет командами G17, G18 или G19 (рис. 3.27). Так, при движении в плоскости XY (G17) адрес I соответствует расстоянию по координате X; J соответствует Y.
Рис. 3.27. Координатные плоскости
Следует помнить о двух основных способах определения I, J, K:
- абсолютный («вектор»), заданы абсолютные координаты центра окружности в системе координат, в которой рассчитана программа (рис. 3.28);
- относительный, центр окружности задан как смещение относительно точки интерполяции (запрограммированное конечное положение) предыдущего кадра (рис. 3.29).
Рис. 3.28. Абсолютное положение координат центра окружности
Рис. 3.29. Относительное положение координат центра окружности
Причем относительное смещение может измеряться от центра дуги до конечной точки предыдущего кадра или от конечной точки до центра, то есть отличаться знаком. Имея центр дуги, придти в ее конечную точку можно как по часовой стрелке, так и против. Профиль на детали будет обработан разный. Поэтому нельзя забывать указывать направление движения при круговой интерполяции – по часовой стрелке G02 или против G03 (рис. 3.30).
Рис. 3.30. Направление круговой интерполяции
Любая управляющая программа разработана в определенной системе координат, привязанной к настроечным базам обрабатываемой детали, которую можно назвать системой координат заготовки. Станок имеет свою, машинную или ссылочную, систему координат. Чтобы связать эти две системы, используется таблица смещений начала системы координат заготовки в координатах машинной системы.
Выбор требуемой системы координат заготовки осуществляется командами G54…G59. Разумеется, предварительно необходимо занести фактические значения в таблицу смещений – машинные координаты настроечных баз, установленных на столе станка деталей.
Традиционно настроечные базы определяют с помощью индикатора часового типа. Более современный метод использования контактных щупов (головки Renishaw) (рис. 3.31).
Рис. 3.31. Определение настроечных баз
Управляющая программа обычно рассчитана с учетом заданной геометрии инструмента. Если возникает необходимость использовать инструмент, отличающийся от расчетного, следует ввести коррекцию. Коррекция на радиус инструмента задается командами G41 и G42 в зависимости от положения инструмента относительно детали (припуска) слева и справа соответственно (рис. 3.32).
Рис. 3.32. Компенсация радиуса режущего инструмента (радиус-коррекция)
Следует указать координатную плоскость, в которой осуществляется компенсация, для фрезерных станков это G17 (XY). Отмена радиус-коррекции – G40. Для определения фактического вылета инструмента используются специальные датчики.
Рассмотренная компенсация на инструмент работает в плоскости и подходит только для двух- и трехосевой обработки. Современные системы ЧПУ позволяют осуществлять компенсацию на инструмент и для многокоординатной обработки. При этом используются уже совсем другие функции, управляющая программа становится более сложной и воспринимать ее так же легко, как в обычном формате удается не сразу.
Многокоординатная обработка отличается от двух- и трехосевой наличием не только линейных перемещений, но и вращения исполнительных органов – поворотных столов, планшайб и шпиндельных бабок. Традиционно программируется непосредственно поворот исполнительного органа в градусах, например для осей поворота А и С:
Международные стандарты, которым должны следовать все производители оборудования, предписывают обозначать поворотные оси фрезерных станков в зависимости от линейных осей, вокруг которых происходит вращение (когда другие оси стоят в «ноле») (рис. 3.33).
Рис. 3.33. Стандартные обозначения осей поворота
Положительное направление соответствует вращению против часовой стрелки. При этом имеется в виду, что инструмент движется вокруг детали. Если же компоновка станка такова, что деталь вращается вокруг инструмента, т.е. установлена на поворотном столе, то не следует забывать, что наблюдаемое вращение стола с деталью против часовой стрелки соответствует отрицательному направлению. В этом случае движение инструмента относительно детали происходит, на самом деле, по часовой стрелке и в соответствии с принятым соглашением поворотная координата должна «идти в минус».
Рис. 3.34. Смещение при повороте
Рис. 3.35. Вектор оси инструмента
Проще запомнить следующее правило. Если против часовой стрелки вращается:
узел с инструментом – «плюс»;
узел с деталью – «минус».
Программирование непосредственно в координатах поворота исполнительных органов имеет существенный недостаток. Поскольку при вращении стола с деталью или шпиндельной бабки есть определенное плечо поворота, изменяется не только угловое положение детали или инструмента, но и линейное (рис. 3.34). Возникшее смещение необходимо учесть. Эту задачу может решить постпроцессор, пересчитав и внеся в текст программы соответствующее положение. Но у каждого станка плечо поворота индивидуально и на каждый станок приходится разрабатывать свой постпроцессор.
Современный подход – это машинонезависимое программирование, когда рассчитывают только взаимное расположение инструмента и детали, а все нюансы, связанные с кинематикой станка, решает сам станок. Для этого используются функции так называемой пятиосевой трансформации. Основное преимущество такого подхода – абсолютная независимость управляющей программы от кинематики станков. Единственное ограничение состоит в том, что стойки ЧПУ должны быть одного производителя. Кроме того, программа уже не привязана к конкретному расположению детали на столе станка (точнее, к расстоянию от настроечных баз детали до осей поворота).
Пакет пятиосевой трансформации у каждого производителя выполнен по-разному, однако концепция использована одна. Кадры управляющей программы дополняют блоками, описывающими пространственную ориентацию оси инструмента в системе координат заготовки, а именно, проекциями вектора оси на координатные оси. Программу сопровождают командами, включающими и выключающими трансформацию. Для стойки Heidenhain управляющая программа имеет следующий вид:
Компенсация геометрии инструмента в случае пятиосевой трансформации требует включения информации о векторе нормали к обрабатываемой поверхности в точке контакта инструмента с деталью (рис. 3.35). Heidenhain использует следующий формат:
Siemens рассматривает две точки контакта, в начале кадра (A4, B4, C4) и в конце (A5, B5, C5):
Чтобы правильно рассчитать компенсацию, системе ЧПУ необходимо предварительно указать необходимую информацию о геометрии инструмента, для которого была рассчитана программа. Тогда можно без потери точности применить переточенный инструмент с измененной геометрией.
Системы числового программного управления непрерывно развиваются, следуя возрастающим требованиям современной индустрии. Совершенствуется как аппаратная, так и программная часть. Рост быстродействия системы (как генератора импульсов, так и обратной связи) позволяет повысить точность позиционирования и скорость перемещения исполнительных узлов станка.
Увеличение скорости обработки влечет динамические перегрузки станка, которые приходится сглаживать, регулируя процесс разгона-торможения. Эта задача решается программным обеспечением, которое развивается и в других направлениях, совершенствуя сервисные функции, удобство работы со стойкой.
Источник
Основные функции cистем программного управления на станках ЧПУ
При программировании обработки деталей на станках с ЧПУ в соответствии со стандартом DIN 66025 (ISO 6983), известном ранее как ISO 7bit, используются следующие операторы:
- N — номер кадра;
- G — подготовительные функции;
- Х, Y, Z, А, В, С — информация о перемещениях по осям;
- М — дополнительные функции;
- S — функции шпинделя;
- T — функции инструмента;
- F — функции подачи;
- D — номер коррекции инструмента;
- Н — вспомогательные функции (блоки данных коррекции инструмента в режиме DIN-ISO). При наличии действительного номера D актуального инструмента он индицируется дополнительно.
Для большей наглядности структуры кадра операторы в кадре должны быть расположены в следующей последовательности: N, G, X, Y, Z, А, В, С, F, S, T, D, M, H.
Управляющая программа состоит из n-го числа кадров, воспроизводимых непрерывно или с заданными паузами (при высокоскоростной обработке деталей из высокопрочных алюминиевых сплавов даже кратковременная остановка инструмента между смежными кадрами недопустима из-за опасности перегрева или проплавления обработанной поверхности за счет трения). Кроме того, возможен пропуск отдельных кадров и коррекция размеров путем подключения подготовительных функций. Это обеспечивает разработку управляющих программ для типовых технологических процессов.
Кадры управляющей программы состоят из следующих компонентов:
- команды (операторы) по DIN 66025;
- элементы высокоуровневого языка программирования ЧПУ;
- идентификаторы (определенные имена) для:
- системных переменных;
- определенных пользователем переменных;
- подпрограмм;
- кодовых слов;
- меток перехода;
- макросов;
- операторы сравнения;
- логические операторы;
- функции вычисления;
- управляющие структуры.
Так как набора команд по DIN 66025 недостаточно для программирования сложных процессов обработки на современных многоцелевых станках, он был дополнен элементами высокоуровневого языка программирования ЧПУ.
В отличие от команд по DIN 66025 команды высокоуровневого языка программирования ЧПУ состоят из нескольких букв адреса, к примеру:
- OVR — для коррекции скорости (процентовка);
- SPOS — для позиционирования шпинделя.
Структура программы имеет следующий вид: «%» (только для программ, разработанных на ПЭВМ), заголовок программы «О» или «:» с последующим номером программ, содержащим не более четырех цифр. Каждая строка в программе является кадром.
Каждый кадр программы имеет структуру:
- N — порядковый номер кадра (не более четырех знаков, нумерация ведется через 5 или 10 для возможности при отработке программы введения дополнительных кадров);
- подготовительная функция G;
- координаты Х, Y, Z, A, C, В;
- дополнительная функция М;
- функция шпинделя S;
- функция инструмента Т;
- функция подачи F;
- D — номер коррекции инструмента;
- H — блоки данных коррекции инструмента в режиме DIN-ISO. Команды действуют либо модально, либо покадрово.
Модально действующие команды сохраняют свою значимость во всех последующих кадрах с запрограммированным значением до тех пор, пока по тому же адресу не будет запрограммировано новое значение, отменяющее действующую прежде команду.
Действующие покадрово команды сохраняют свою значимость только в том кадре, в котором они программируются.
Каждый кадр заканчивается символом LF, запись символа LF не требуется, он автоматически создается при переключении строки. Программа заканчивается командами М2, М30 или М99. Кадр может состоять максимально из 512 символов (включая комментарий и символ конца кадра LF).
Подготовительные функции G обеспечивают все действия станка.
Х, Y, Z — линейные координатные оси станка, координата Z всегда параллельна оси шпинделя станка или перпендикулярна плоскости закрепления детали для станков с двухповоротной фрезерной головкой; А, С, В — угловые координаты вращения относительно линейных координатных осей. Если станок имеет больше двух шпинделей, а также инструментальных головок, то появляются дополнительные координатные оси Х’, Y’, Z’, А’, С’, В’ и т. д.
Следует отметить, что подготовительные функции позволяют переходить к системе координат детали, что в ряде случаев позволяет отказаться от применения специальных приспособлений.
Дополнительные функции М отвечают за включение, выключение шпинделя, насосных станций для подачи СОЖ, направление вращения шпинделя, конец программы.
Функция шпинделя S задает частоту вращения шпинделя.
Функция инструмента Т задает номер инструмента или инструментальной наладки.
Функция подачи F задает значение подачи.
Рис. 1. Система координат рабочего пространства станка и направления положительных перемещений
Система координат станка и направления положительных перемещений приведены на рисунке 1.
Управляющие программы могут быть составлены в системе координат станка, в этом случае применяемая станочная оснастка должна быть согласована с координатной сеткой стола станка. Согласование выполняется тем, что опорная плита приспособления имеет центрирующий палец и шпонку. Палец совмещается с втулкой, запрессованной в центре стола станка, а шпонка — с классным пазом. Таким образом, рабочее пространство станка в плоскости Х–Y совмещается с системой координат приспособления. В системе координат приспособления выполнены базовые поверхности, например плоскость и два пальца (цилиндрический и срезанный). Следовательно, погрешности базирования имеют место как при установке приспособления, так и при установке детали.
При интенсивной эксплуатации в условиях многономенклатурного производства, т. е. при частой смене приспособлений необходимо выполнять перепроверку не только оснастки, но и направляющих базовых поверхностей стола станка, а именно центрирующую втулку и классный паз.
С учетом этого целесообразно обработку выполнять в системе координат детали. Приспособление ориентируется только по одной оси, а привязка к системе координат детали выполняется измерительными датчиками. В этом случае кроме исключения погрешности базирования снижаются требования к срокам перепроверки оснастки, более того, появляется возможность шире применять нормализованные приспособления или наладки из них без привязки к системе координат станка.
Подготовительные функции G, дополнительные функции М приведены в таблицах 1, 2.
Так, на фрезерных станках смена инструмента выполняется в следующей последовательности: с помощью команды Т выбирается инструмент, а его смена происходит только по команде M6.
Для револьверных головок токарных станков для смены инструмента достаточно команды Т.
Функция шпинделя S задает частоту вращения шпинделя, функция инструмента Т задает номер инструментальной наладки или инструмента, функция подачи F задает значение подачи.
Таблица 1. Подготовительные функции G
Инструкция | Описание |
G00 | Линейная интерполяция при ускоренном перемещении |
G01 | Линейная интерполяция при скорости подачи |
G02 | Круговая интерполяция по часовой стрелке |
G03 | Круговая интерполяция против часовой стрелки |
G04 | Выдержка времени |
G05 | Круговая интерполяция с выходом на круговую траекторию по касательной |
G06 | Снижение допустимого уровня ускорения |
G07 | Отмена снижения допустимого уровня ускорения |
G0S | Управление скоростью подачи в точках перегиба |
G09 | Отмена управления скоростью подачи в точках перегиба |
G10 | Ускоренное перемещение в полярных координатах |
G11 | Линейная интерполяция в полярных координатах |
G12 | Круговая интерполяция по часовой стрелке в полярных координатах |
G13 | Круговая интерполяция против часовой стрелки в полярных координатах |
G14 | Программирование величины коэффициента усиления по скорости следящего привода |
G15 | Отмена G14 |
G16 | Программирование без указания плоскости |
G17 | Выбор плоскости У—Х |
G1S | Выбор плоскости Z—X |
G19 | Выбор плоскости У—Z |
G20 | Задание полюса и плоскости координат при программировании в полярных координатах |
G21 | Программирование классификации осей |
G22 | Активизация таблиц |
G23 | Программирование условного перехода |
G24 | Программирование безусловного перехода |
G32 | Нарезание резьбы в режиме линейной интерполяции без компенсирующего патрона |
G34 | Скругление угла для двух соседних прямолинейных участков (с допустимым отклонением под адресом Е) |
G35 | Выключение сглаживания угла |
G36 | Выключение запрограммированного при скруглении угла отклонения, которое становится равным машинному параметру |
G37 | Программирование точки для зеркального отображения или поворота координат |
G38 | Активизация зеркального отображения, поворота координат, масштабирования |
G39 | Отмена зеркального отображения, поворота координат, масштабирования |
G40 | Отмена эквидистантной коррекции |
G41 | Эквидистантная коррекция слева по направлению подачи |
G42 | Эквидистантная коррекция справа по направлению подачи |
G53 | Отмена смещения нуля |
G54-G59 | Инициация смещения нуля |
G60 | Смещение координатной системы программы |
G61 | Точное позиционирование при движении со скоростью подачи |
G62 | Отмена точного позиционирования |
G63 | Включение 100% от запрограммированного значения скорости |
G64 | Привязывание скорости подачи к точке контакта фрезы и детали |
G65 | Привязывание скорости подачи к центру фрезы |
G66 | Активизация значения скорости заданной потенциометром |
G67 | Отмена смещения координатной системы программы |
G68 | Вариант сопряжения отрезков эквидистант по дуге |
G69 | Вариант сопряжения отрезков эквидистант по траектории пересечения эквидистант |
G70 | Программирование в дюймах |
G71 | Отмена программирования в дюймах |
G73 | Линейная интерполяция с точным позиционированием |
G74 | Выход в начало координат |
G75 | Работа с датчиком касания |
G76 | Перемещение в точку с абсолютными координатами в системе координат станка |
G78 | Активизация сверлильной оси |
G79 | Деактивация одной сверлильной оси или всех сразу |
G80 | Отмена вызова стандартных циклов |
G81, G82 | Стандартный цикл сверления |
G83 | Стандартный цикл глубокого сверления |
G84 | Цикл нарезания резьбы с компенсирующим патроном |
G85, G86 | Стандартный цикл рассверливания |
G90 | Программирование в абсолютных координатах |
G91 | Программирование в относительных координатах |
G92 | Установка значений координат |
G93 | Программирование времени отработки кадра |
G94 | Программирование подачи в мм/мин |
G95 | Программирование подачи в мм/об |
G97 | Программирование скорости резания |
G105 | Установка нуля для линейных бесконечных осей |
G108 | Управление подачей в точках перегиба с учетом Look Ahead |
G112 | Деактивация опережающего управления скоростью |
G113 | Активация опережающего управления торможением |
G114 | Активация опережающего управления скоростью |
G115 | Деактивация опережающего управления скоростью |
G138 | Включение компенсации положения заготовки |
G139 | Выключение компенсации положения заготовки |
G145-845 | Активизация внешней коррекции со стороны программируемого контролера |
G146 | Выключение внешней коррекции инструмента |
G147, G847 | Вторичная компенсационная группа коррекций инструмента; коррекции соотнесены с осями |
G148 | Отмена дополнительной компенсации инструмента |
G153 | Отмена первого аддитивного смещения нуля |
G154-159 | Индикация первого аддитивного смещения нуля |
G160-360 | Внешнее смещение нуля |
G161 | Точное позиционирование при ускоренном перемещении |
G162 | Отмена точного позиционирования при ускоренном перемещении |
G163 | Точное позиционирование при ускоренном перемещении и перемещение со скоростью подачи |
G164 | Первая опция точного позиционирования |
G165 | Вторая опция точного позиционирования |
G166 | Третья опция точного позиционирования |
G167 | Отмена внешнего смещения нуля |
G168 | Смещение координатной системы управляющей программы |
G169 | Отмена всех смещений координатной системы |
G184 | Цикл нарезания резьбы без компенсирующего патрона |
G189 | Программирование в абсолютных координатах для бесконечных осей |
G190 | Программирование в абсолютных координатах «слово за словом» |
G191 | Программирование в относительных координатах «слово за словом» |
G192 | Установка нижнего предела частоты вращения в управляющей программе |
G194 | Программирование скорости (подачи, частоты вращения) с адаптацией ускорения |
G200 | Линейная интерполяция на ускоренном перемещении без торможения до V = 0 |
G202 | Винтовая интерполяция по часовой стрелке |
G203 | Винтовая интерполяция против часовой стрелки |
G206 | Активизация и сохранение в памяти максимальных значений ускорений |
G228 | Переходы от кадра к кадру без торможения |
G253 | Отмена второго аддитивного смещения нуля |
G254-259 | Инициация второго аддитивного смещения нуля |
G268 | Аддитивное смещение координатной системы управляющей программы |
G269 | Отмена аддитивного смещения координатной системы управляющей программы |
G292 | Установка верхнего предела частоты вращения в управляющей программе |
G301 | Включение осциллирующего движения |
G350 | Установка параметров осциллирующего движения |
G408 | Формирование гладкого ускорения при движении от точки к точке |
G500 | Обнаружение возможных коллизий при опережающем просмотре кадров |
G543 | Включение управления коллизиями при опережающем просмотре кадров |
G544 | Выключение управления коллизиями при опережающем просмотре кадров |
G575 | Переключение кадров высокоскоростным внешним сигналом |
G580 | Расформирование координатных осей |
G581 | Формирование координатных осей |
G608 | Формирование гладкого ускорения при движении от точки к точке для каждой оси в отдельности |
Примечание. Для каждой системы управления некоторые значения подготовительных функций могут иметь разные значения в зависимости от изготовителя станка. Следует отметить, что для расширения технологических возможностей оборудования у изготовителей систем ЧПУ имеет место тенденция увеличения подготовительных функций.
Таблица 2. Дополнительные функции М
Инструкция | Описание |
МО | Остановка программы |
М1 | Остановка по требованию |
М2 | Конец программы |
М3 | Включение вращения шпинделя по часовой стрелке |
М4 | Включение вращения шпинделя против часовой стрелки |
М5 | Остановка шпинделя |
М2=3 | Инструмент с механическим приводом включен по часовой стрелке |
М2=4 | Инструмент с механическим приводом включен против часовой стрелки |
М2=5 | Инструмент с механическим приводом выключен |
М6 | Автоматическая смена инструмента |
М7 | Включение обдува воздухом |
МS | Включение подачи СОЖ |
М9 | Выключение охлаждения |
М1О | Отключение обдува воздухом |
М11 | Зажим инструмента |
М12 | Разжим инструмента |
М13 | Включение вращения шпинделя по часовой стрелке совместно с включением СОЖ |
М14 | Включение вращения шпинделя против часовой стрелке совместно с включением СОЖ |
М15 | Включение СОЖ для смыва стружки |
М17 | Конец подпрограммы |
М19 | Ориентация шпинделя |
М21 | Включение зеркального отображения программы вдоль оси Х |
М22 | Включение зеркального отображения программы вдоль оси У |
М23 | Отключение зеркального отображения программы |
М29 | Включение режима жесткого резьбонарезания |
М3О | Конец программы с возможностью одновременного выключения питания станка |
М52 | Перемещение магазина на позицию вправо |
М53 | Перемещение магазина на позицию влево |
М7О | Инициализация магазина |
М71 | Опускание активного кармана магазина |
М72 | Поворот манипулятора на 60° |
М73 | Разжим инструмента |
М74 | Поворот манипулятора на 120° |
М75 | Зажим инструмента |
М76 | Поворот манипулятора на 180° |
М77 | Поднятие активного кармана магазина |
М98 | Вызов подпрограммы |
М99 | Возврат в основную программу |
Примечакие. Для разных систем управления и типов станков дополнительные функции могут иметь другие значения, например активировать перемещение задней бабки, функции загрузочного устройства, люнета и т. д.
При создании программы ЧПУ само программирование, т. е. преобразование отдельных рабочих переходов в язык ЧПУ, часто является лишь небольшой частью работы по программированию.
Перед программированием необходимо осуществить планирование и подготовку рабочих переходов. Чем точнее будет спланировано начало и структура программы ЧПУ, тем быстрее и проще будет осуществляться само программирование и тем более наглядной и менее подверженной ошибкам будет готовая программа ЧПУ.
Преимущество наглядных программ особо проявляется тогда, когда позднее необходимо вносить изменения.
Так как не каждая программа имеет такую же структуру, то не имеет смысла работать по типовому шаблону. Однако для большинства случаев целесообразно придерживаться следующей последовательности.
1. Подготовка чертежа детали заключается:
- а) в определении нулевой точки детали;
- б) в нанесении системы координат;
- в) в вычислении возможно отсутствующих координат.
2. Определение процесса обработки:
- а) Когда будут использоваться, какие инструменты и для обработки каких контуров?
- б) В какой последовательности будут изготовляться отдельные элементы детали?
- в) Какие отдельные элементы повторяются (возможно, в повернутом виде) и должны быть сохранены в подпрограмме?
- г) Имеются ли в других программах обработки деталей или подпрограммах контуры деталей, которые могут быть повторно использованы для актуальной детали?
- д) Где целесообразны или необходимы смещения нулевой точки, вращение, отражение, масштабирование (концепция фрейма)?
3. Создание технологической карты. Определить поочередно все процессы обработки станка, к примеру:
- а) движения ускоренным ходом для позиционирования;
- б) смена инструмента;
- в) определение плоскости обработки;
- г) свободный ход для дополнительного измерения;
- д) включение/выключение шпинделя, СОЖ;
- е) вызов данных инструмента;
- ж) подача;
- з) коррекция траектории;
- и) подвод к контуру;
- к) отвод от контура и т. д.
4. Перевод переходов на язык программирования: запись каждого перехода как кадра ЧПУ (или кадров ЧПУ).
5. Соединение всех отдельных переходов в операцию, как правило, в одной программе. Иногда, особенно при обработке крупногабаритных деталей в программу, могут быть выделены переходы черновой, получистовой и чистовой обработки. Это имело место при ограниченном объеме памяти, характерном для устаревших систем ЧПУ. Для современных систем программного управления объем памяти практически не ограничивает технологические возможности станков.
В современных системах программного управления широко применяются стандартные циклы обработки. Их использование значительно сокращает затраты времени на программирование.
Некоторые постоянные цикла для систем управления, используемые в программном обеспечении WIN NC SINUMERIK, приведены ниже:
- CYCLE81 — сверление, центрование;
- CYCLE82 — сверление, зенкерование;
- CYCLE83 — сверление глубоких отверстий спиральными сверлами;
- CYCLE84 — нарезание внутренней резьбы без компенсирующего патрона;
- CYCLE840 — нарезание внутренней резьбы с компенсирующим патроном для метчика;
- CYCLE85 — растачивание 1;
- CYCLE86 — растачивание 2;
- CYCLE87 — растачивание 3;
- CYCLE88 — растачивание 4;
- CYCLE89 — растачивание 5;
- CYCLE93 — проточка;
- CYCLE94 — внутренняя выточка;
- CYCLE95 — цикл снятия припуска;
- CYCLE96 — резьбовая выточка;
- CYCLE97 — цикл нарезания резьбы.
Следует отметить, что системы программного управления высокого уровня являются открытыми, что позволяет расширить библиотеку стандартных циклов обработки типовых поверхностей характерных для производства данного типа продукции и тем самым сократить сроки подготовки производства.
Рис. 2. Текущее положение между системами автоматизированного проектирования технологических процессов, управляющих программ и ЧПУ разных изготовителей
Применение CAM систем привело к необходимости для каждой системы программного управления разрабатывать постпроцессоры, без которых оборудование не понимает программы без их перевода в машинные коды (рис. 2).
Программирование современных систем ЧПУ выполняется в соответствии со стандартом ISO 6983 (DIN 66025), которому уже более 50 лет и который, как считают программисты, якобы тормозит развитие ЧПУ-технологий. Термин «ЧПУ-технологии», по мнению автора, не правомерен, обработка деталей на станках с ЧПУ подчиняется всем закономерностям технологии машиностроения и обработки металлов резанием или других методов формообразования.
Нарушение закономерностей технологических наук приводит:
- к повышенному короблению деталей;
- к снижению точности линейных размеров;
- к росту трудоемкости обработки деталей и т. д.
Основным отличием для многоцелевых станков является предельно выраженная концентрация операций, не только характерная для данного вида оборудования, но и реализуемая приводным инструментом и специальной шпиндельной оснасткой, а также методы обеспечения точности с использованием станочных измерительных систем. Стандарт поддерживает простые команды для элементарных перемещений и логических операций. В настоящее время для решения сложных геометрических и логических задач в системах программного управления кроме машинных кодов в соответствии с DIN 66025 (ISO 7bit) применяют языки программирования высокого уровня. Управляющие программы в стандарте ISO 6983 содержат незначительное количество информации, полученной на уровне CAD-CAM систем. Однако более серьезным недостатком, как считают разработчики систем программного управления, является невозможность двустороннего обмена информацией с этими системами, что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке к системам CAD-CAM. Необходимо отметить, что это целесообразно не для всех отраслей промышленности. Так, например, сглаживание плавного сопряжений теоретических контуров сплайнами допустимо, а сопряжение двух поверхностей требует анализа возможных методов их формообразования, для ряда конструкционных материалов могут иметь место технологические ограничения, например, минимально допустимые радиусы сопряжения конструктивных элементов деталей из высокопрочных алюминиевых сплавов и т. д.
В отличие от DIN 66025 (ISO 6983) разрабатываемый стандарт STEP-NC ISO 14649 (на данный период разработаны не все его модули) определяет специальную структуру управляющей программы ЧПУ — program structure, которую используют для построения логических блоков в рамках структурного программирования обработки. Структура управляющей программы не является списком типовых обрабатываемых форм (features); она определяет план операции (workplan), который представляет собой последовательность исполняемых объектов (executables). STEP-NC предполагает широкий обмен информацией между инженерными службами, в том числе подготовки и планирования производства, а также цеховым уровнем.
Структура предполагаемого обмена информацией приведена на рисунке 3.
Структура планируемого информационного обмена вызывает массу вопросов:
- недостаточный уровень формализации инженерных работ затрудняет создание баз знаний;
- большое количество каталогов режущего инструмента, в которых приведена недостаточная информация для выбора инструмента для обработки специальных материалов и условий его применения, что требует в большинстве случаев экспериментальной проверки;
- в каталогах оборудования часто отсутствует информация о позиционной точности управляемых осей станка, динамические характеристики приводов и т. д.;
- устаревшие технологические справочники, разработанные еще для универсального оборудования и систематически переиздаваемые практически без обновления технологической информации;
- отсутствие систематизированной информации о прогрессивной технологической оснастке.
Рис. 3. Планируемый обмен информацией между инженерными службами и цеховым уровнем
Дополнительно необходимо отметить, что не существует типовых методов оптимизации программирования станков по параметрам, позволяющих выбрать наилучший станок или группу станков для выполнения того или иного технологической операции или процесса.
На эти проблемы много раз указывали пользователи различных станков, вовлеченные в процесс стандартизации STEP-NC. Производители оборудования и разработчики программного обеспечения стараются учесть требования пользователей и реализуют некоторые из указанных функций в своей продукции. Однако часто их работа не подчиняется единому стандарту, что, по существующему мнению, может тормозить обновление промышленных систем. Также нельзя не упомянуть о том, что выпускаемое оборудование редко пользуется всеми современными технологиями и в результате производственная база оказывается не такой эффективной и совершенной. С учетом этого изготовители систем программного управления выбрали компромиссный вариант, позволяющий работать как по DIN 66025 (ISO 6983), так и по ISO 14649 (рис. 4).
Рис. 4. Смешанная архитектура системы ЧПУ, поддерживающая стандарты DIN 66025 (ISO 6983) и ISO 14649 (STEP-NC)
Все это свидетельствует о том, что кроме совершенствования систем программного управления и методов программирования необходимо заниматься на системной основе и подготовкой технологической информации:
Источник
45
Примеры использования инструкций поворота показаны на рис.35.
Y
X
P
Y
X
P
Y
X
P
Y
X
P
13
13
10
10
1
1
2
2
Эффект от
Эффект от
Эффект от
Эффект от
G38 R45
G38 R — 45
G37 X10 Y13
G38 R45
G37 X10 Y13
G38 R — 45
1: Определение центра поворота (X10;Y13)
2: Включение поворота
1: Определение центра поворота (X10;Y13)
2: Включение поворота
(без G37 = центр поворота
совпадает с нулем программы)
(без G37 = центр поворота
совпадает с нулем программы)
Рис.35.
24.4. Совместное использование зеркального отображения, масштабирования и
поворота. При совместном использовании, первым выполняется поворот, а затем
зеркальное отображение и масштабирование.
Пример:
N…G37 X100 Y-200 /Определение полюса вращения и зеркального
/отображения
N…G38 X-3 Y-2 R115 /Угол поворота против часовой стрелки на 115 градусов.
/Зеркальное отображение задано знаками минус.
/Коэффициент масштабирования по осям X и Y
/равен соответственно трем и двум.
N…G39 /Все три функции деактивируются.
24.5. Отношения между инструкциями G37/G38, с одной стороны, и инструкциями
G60 или G54, G259, — с другой стороны. В пределах координатной системы
46
управляющей программы инструкция G60 оказывает влияние на инструкции G37/G38,
см. рис.36.
Y
X
P
P1
P2
P3
G60
G38
20
20
10
10
30
40
Рис.36.
Рисунок можно проиллюстрировать фрагментом программы.
N05… /Точка P1: исходное положение.
N10 G60 /Точка P2: смещение G60 точки P1.
N20 G38 X2 Y2 /Активизация масштабирования.
N30 G01 X10 Y10 /Точка P3: масштабное отображение положения P2.
Инструкции G54, G259 инициируют смещение начала координатной системы
управляющей программы по отношению к началу координатной системы станка. По
этой причине эти инструкции не оказывают влияния на операции, предусмотренные
инструкциями G37/G38 или G60, см. рис.37.
P1
P2
P3
G60
R90
Y
X
P
55
20
20
10
10
P1
P2
P3
G60
R90
Y
X
P
54
20
20
10
10
+X
+Y
M
ZS
G54
ZS
G55
Рис.37.
На рис. 37 показаны такие примеры:
Пример для G54
Пример для G55
Комментарий
47
N10 G54
N110 G55
Вызов функции
N20 G37 X10 Y10
N120 G37 X10 Y10
Точка P1 есть полюс с координатами X10
Y10
N30 G60 X10
N130 G60 X10
Точка P2 есть смещение G60 точки P1
N40 G38 R90
N140 G38 R90
Точка P3 есть результат поворота P2
N50 G01 X10 Y10
N150 G01 X10 Y10
25. Эквидистантная коррекция, — G40, G41, G42. В результате коррекции инструмент
перемещается
по
траектории,
параллельной
исходному
контуру.
Принцип
эквидистантной коррекции проиллюстрирован на рис.38.
G42
G42
G41
G41
= Направление подачи
= Контур детали
= Эквидистанта
Коррекция на диаметр
Справа по
ходу резания
Слева по ходу
резания
.
Рис.38.
Вдоль контура и тех сопряжений кадров, для которых угол наклона касательной
остается неизменным, эквидистанта однозначно определяется параметрами контура,
см. рис.39.
t
t
t
t
t
t
= Сопряжение по
касательным
Рис.39.
48
В других же нерегулярных случаях внешних сопряжений кадров система ЧПУ
рассчитывает сопряжения отрезков эквидистант соответственно инструкциям G68
или G69, см. рис.40.
С функцией
G68
С функцией
G69
Рис.40.
В случае нерегулярных сопряжений внутренних контуров система ЧПУ рассчитывает
пересечения эквидистант для определения нужной траектории, см. рис.41. В некоторых
случаях это может привести к полному искажению контура. Чтобы избежать этого,
некоторые системы ЧПУ располагают функцией «контроля коллизий
u
u
t
a
2
a
2
t = Переход по касательной
u = Нерегулярный переход
Рис.41.
25.1. Отмена коррекции, — G40.
Отмена коррекции G40 может сопровождаться
прямолинейным движением в активной плоскости. В этом случае выход из
эквидистантной траектории осуществляется «по пути» к конечной точке кадра. Если
активны функции круговой интерполяции, то действие инструкции G40 не должно
сопровождаться перемещением.
25.2. Эквидистантная коррекция, — G41.
Инструкция G41 инициирует положительную
эквидистантную коррекцию слева от заготовки, если смотреть в направлении подачи.
Для реализации коррекции радиус фрезы программируют в D-слове, а номер
инструмента в Т-слове. Вместе с инструкцией G41 можно программировать линейные
Была ли эта страница вам полезна?
Да!Нет
Большое спасибо!
Ваше мнение очень важно для нас.
М функции. Программирование м-функций. Импорт и анализ данных
При программировании обработки деталей на станках с ЧПУ в соответствии со стандартом DIN 66025 (ISO 6983), известном ранее как ISO 7bit, используются следующие операторы:
- N — номер кадра;
- G — подготовительные функции;
- Х, Y, Z, А, В, С — информация о перемещениях по осям;
- М — дополнительные функции;
- S — функции шпинделя;
- T — функции инструмента;
- F — функции подачи;
- Н — вспомогательные функции (блоки данных коррекции инструмента в режиме DIN-ISO). При наличии действительного номера D актуального инструмента он индицируется дополнительно.
Для большей наглядности структуры кадра операторы в кадре должны быть расположены в следующей последовательности: N, G, X, Y, Z, А, В, С, F, S, T, D, M, H.
Управляющая программа состоит из n
-го числа кадров, воспроизводимых непрерывно или с заданными паузами (при высокоскоростной обработке деталей из высокопрочных алюминиевых сплавов даже кратковременная остановка инструмента между смежными кадрами недопустима из-за опасности перегрева или проплавления обработанной поверхности за счет трения). Кроме того, возможен пропуск отдельных кадров и коррекция размеров путем подключения подготовительных функций. Это обеспечивает разработку управляющих программ для типовых технологических процессов.
Кадры управляющей программы состоят из следующих компонентов:
- команды (операторы) по DIN 66025;
- элементы высокоуровневого языка программирования ЧПУ;
- идентификаторы (определенные имена) для:
- системных переменных;
- определенных пользователем переменных;
- подпрограмм;
- кодовых слов;
- меток перехода;
- макросов;
- операторы сравнения;
- логические операторы;
- функции вычисления;
- управляющие структуры.
Так как набора команд по DIN 66025 недостаточно для программирования сложных процессов обработки на современных многоцелевых станках, он был дополнен элементами высокоуровневого языка программирования ЧПУ.
В отличие от команд по DIN 66025 команды высокоуровневого языка программирования ЧПУ состоят из нескольких букв адреса, к примеру:
- OVR — для коррекции скорости (процентовка);
- SPOS — для позиционирования шпинделя.
Структура программы имеет следующий вид: «%» (только для программ, разработанных на ПЭВМ), заголовок программы «О» или «:» с последующим номером программ, содержащим не более четырех цифр. Каждая строка в программе является кадром.
Каждый кадр программы имеет структуру:
- N — порядковый номер кадра (не более четырех знаков, нумерация ведется через 5 или 10 для возможности при отработке программы введения дополнительных кадров);
- подготовительная функция G;
- координаты Х, Y, Z, A, C, В;
- дополнительная функция М;
- функция шпинделя S;
- функция инструмента Т;
- функция подачи F;
- D — номер коррекции инструмента;
- H — блоки данных коррекции инструмента в режиме DIN-ISO. Команды действуют либо модально, либо покадрово.
Модально действующие команды сохраняют свою значимость во всех последующих кадрах с запрограммированным значением до тех пор, пока по тому же адресу не будет запрограммировано новое значение, отменяющее действующую прежде команду.
Действующие покадрово команды сохраняют свою значимость только в том кадре, в котором они программируются.
Каждый кадр заканчивается символом LF, запись символа LF не требуется, он автоматически создается при переключении строки. Программа заканчивается командами М2, М30 или М99. Кадр может состоять максимально из 512 символов (включая комментарий и символ конца кадра LF).
Подготовительные функции G обеспечивают все действия станка.
Х, Y, Z — линейные координатные оси станка, координата Z всегда параллельна оси шпинделя станка или перпендикулярна плоскости закрепления детали для станков с двухповоротной фрезерной головкой; А, С, В — угловые координаты вращения относительно линейных координатных осей. Если станок имеет больше двух шпинделей, а также инструментальных головок, то появляются дополнительные координатные оси Х’, Y’, Z’, А’, С’, В’ и т. д.
Следует отметить, что подготовительные функции позволяют переходить к системе координат детали, что в ряде случаев позволяет отказаться от применения специальных приспособлений.
Дополнительные функции М отвечают за включение, выключение шпинделя, насосных станций для подачи СОЖ, направление вращения шпинделя, конец программы.
Функция шпинделя S задает частоту вращения шпинделя.
Функция инструмента Т задает номер инструмента или инструментальной наладки.
Функция подачи F задает значение подачи.
Рис. 1.
Система координат станка и направления положительных перемещений приведены на рисунке 1.
Управляющие программы могут быть составлены в системе координат станка, в этом случае применяемая станочная оснастка должна быть согласована с координатной сеткой стола станка. Согласование выполняется тем, что опорная плита приспособления имеет центрирующий палец и шпонку. Палец совмещается с втулкой, запрессованной в центре стола станка, а шпонка — с классным пазом. Таким образом, рабочее пространство станка в плоскости Х
–Y
совмещается с системой координат приспособления. В системе координат приспособления выполнены базовые поверхности, например плоскость и два пальца (цилиндрический и срезанный). Следовательно, погрешности базирования имеют место как при установке приспособления, так и при установке детали.
При интенсивной эксплуатации в условиях многономенклатурного производства, т. е. при частой смене приспособлений необходимо выполнять перепроверку не только оснастки, но и направляющих базовых поверхностей стола станка, а именно центрирующую втулку и классный паз.
С учетом этого целесообразно обработку выполнять в системе координат детали. Приспособление ориентируется только по одной оси, а привязка к системе координат детали выполняется измерительными датчиками. В этом случае кроме исключения погрешности базирования снижаются требования к срокам перепроверки оснастки, более того, появляется возможность шире применять нормализованные приспособления или наладки из них без привязки к системе координат станка.
Подготовительные функции G, дополнительные функции М приведены в таблицах 1, 2.
Так, на фрезерных станках смена инструмента выполняется в следующей последовательности: с помощью команды Т выбирается инструмент, а его смена происходит только по команде M6.
Для револьверных головок токарных станков для смены инструмента достаточно команды Т.
Функция шпинделя S задает частоту вращения шпинделя, функция инструмента Т задает номер инструментальной наладки или инструмента, функция подачи F задает значение подачи.
Таблица 1.
Подготовительные функции G
Инструкция |
Описание |
G00 | Линейная интерполяция при ускоренном перемещении |
G01 | Линейная интерполяция при скорости подачи |
G02 | Круговая интерполяция по часовой стрелке |
G03 | Круговая интерполяция против часовой стрелки |
G04 | Выдержка времени |
G05 | Круговая интерполяция с выходом на круговую траекторию по касательной |
G06 | Снижение допустимого уровня ускорения |
G07 | Отмена снижения допустимого уровня ускорения |
G0S | Управление скоростью подачи в точках перегиба |
G09 | Отмена управления скоростью подачи в точках перегиба |
G10 | Ускоренное перемещение в полярных координатах |
G11 | Линейная интерполяция в полярных координатах |
G12 | Круговая интерполяция по часовой стрелке в полярных координатах |
G13 | Круговая интерполяция против часовой стрелки в полярных координатах |
G14 | Программирование величины коэффициента усиления по скорости следящего привода |
G15 | Отмена G14 |
G16 | Программирование без указания плоскости |
G17 | Выбор плоскости У –Х |
G1S | Выбор плоскости Z –X |
G19 | Выбор плоскости У –Z |
G20 | Задание полюса и плоскости координат при программировании в полярных координатах |
G21 | Программирование классификации осей |
G22 | Активизация таблиц |
G23 | Программирование условного перехода |
G24 | Программирование безусловного перехода |
G32 | Нарезание резьбы в режиме линейной интерполяции без компенсирующего патрона |
G34 | Скругление угла для двух соседних прямолинейных участков (с допустимым отклонением под адресом Е) |
G35 | Выключение сглаживания угла |
G36 | Выключение запрограммированного при скруглении угла отклонения, которое становится равным машинному параметру |
G37 | Программирование точки для зеркального отображения или поворота координат |
G38 | Активизация зеркального отображения, поворота координат, масштабирования |
G39 | Отмена зеркального отображения, поворота координат, масштабирования |
G40 | Отмена эквидистантной коррекции |
G41 | Эквидистантная коррекция слева по направлению подачи |
G42 | Эквидистантная коррекция справа по направлению подачи |
G53 | Отмена смещения нуля |
G54-G59 | Инициация смещения нуля |
G60 | Смещение координатной системы программы |
G61 | Точное позиционирование при движении со скоростью подачи |
G62 | Отмена точного позиционирования |
G63 | Включение 100% от запрограммированного значения скорости |
G64 | Привязывание скорости подачи к точке контакта фрезы и детали |
G65 | Привязывание скорости подачи к центру фрезы |
G66 | Активизация значения скорости заданной потенциометром |
G67 | Отмена смещения координатной системы программы |
G68 | Вариант сопряжения отрезков эквидистант по дуге |
G69 | Вариант сопряжения отрезков эквидистант по траектории пересечения эквидистант |
G70 | Программирование в дюймах |
G71 | Отмена программирования в дюймах |
G73 | Линейная интерполяция с точным позиционированием |
G74 | Выход в начало координат |
G75 | Работа с датчиком касания |
G76 | Перемещение в точку с абсолютными координатами в системе координат станка |
G78 | Активизация сверлильной оси |
G79 | Деактивация одной сверлильной оси или всех сразу |
G80 | Отмена вызова стандартных циклов |
G81, G82 | Стандартный цикл сверления |
G83 | Стандартный цикл глубокого сверления |
G84 | Цикл нарезания резьбы с компенсирующим патроном |
G85, G86 | Стандартный цикл рассверливания |
G90 | Программирование в абсолютных координатах |
G91 | Программирование в относительных координатах |
G92 | Установка значений координат |
G93 | Программирование времени отработки кадра |
G94 | Программирование подачи в мм/мин |
G95 | Программирование подачи в мм/об |
G97 | Программирование скорости резания |
G105 | Установка нуля для линейных бесконечных осей |
G108 | Управление подачей в точках перегиба с учетом Look Ahead |
G112 | |
G113 | Активация опережающего управления торможением |
G114 | Активация опережающего управления скоростью |
G115 | Деактивация опережающего управления скоростью |
G138 | Включение компенсации положения заготовки |
G139 | Выключение компенсации положения заготовки |
G145-845 | Активизация внешней коррекции со стороны программируемого контролера |
G146 | Выключение внешней коррекции инструмента |
G147, G847 | Вторичная компенсационная группа коррекций инструмента; коррекции соотнесены с осями |
G148 | Отмена дополнительной компенсации инструмента |
G153 | Отмена первого аддитивного смещения нуля |
G154-159 | Индикация первого аддитивного смещения нуля |
G160-360 | Внешнее смещение нуля |
G161 | Точное позиционирование при ускоренном перемещении |
G162 | Отмена точного позиционирования при ускоренном перемещении |
G163 | Точное позиционирование при ускоренном перемещении и перемещение со скоростью подачи |
G164 | Первая опция точного позиционирования |
G165 | Вторая опция точного позиционирования |
G166 | Третья опция точного позиционирования |
G167 | Отмена внешнего смещения нуля |
G168 | Смещение координатной системы управляющей программы |
G169 | Отмена всех смещений координатной системы |
G184 | Цикл нарезания резьбы без компенсирующего патрона |
G189 | Программирование в абсолютных координатах для бесконечных осей |
G190 | Программирование в абсолютных координатах «слово за словом» |
G191 | Программирование в относительных координатах «слово за словом» |
G192 | Установка нижнего предела частоты вращения в управляющей программе |
G194 | Программирование скорости (подачи, частоты вращения) с адаптацией ускорения |
G200 | Линейная интерполяция на ускоренном перемещении без торможения до V = 0 |
G202 | Винтовая интерполяция по часовой стрелке |
G203 | Винтовая интерполяция против часовой стрелки |
G206 | Активизация и сохранение в памяти максимальных значений ускорений |
G228 | Переходы от кадра к кадру без торможения |
G253 | Отмена второго аддитивного смещения нуля |
G254-259 | Инициация второго аддитивного смещения нуля |
G268 | Аддитивное смещение координатной системы управляющей программы |
G269 | Отмена аддитивного смещения координатной системы управляющей программы |
G292 | Установка верхнего предела частоты вращения в управляющей программе |
G301 | Включение осциллирующего движения |
G350 | Установка параметров осциллирующего движения |
G408 | Формирование гладкого ускорения при движении от точки к точке |
G500 | Обнаружение возможных коллизий при опережающем просмотре кадров |
G543 | Включение управления коллизиями при опережающем просмотре кадров |
G544 | Выключение управления коллизиями при опережающем просмотре кадров |
G575 | Переключение кадров высокоскоростным внешним сигналом |
G580 | Расформирование координатных осей |
G581 | Формирование координатных осей |
G608 | Формирование гладкого ускорения при движении от точки к точке для каждой оси в отдельности |
Примечание
. Для каждой системы управления некоторые значения подготовительных функций могут иметь разные значения в зависимости от изготовителя станка. Следует отметить, что для расширения технологических возможностей оборудования у изготовителей систем ЧПУ имеет место тенденция увеличения подготовительных функций.
Таблица 2.
Дополнительные функции М
Инструкция |
Описание |
МО | Остановка программы |
М1 | Остановка по требованию |
М2 | Конец программы |
М3 | Включение вращения шпинделя по часовой стрелке |
М4 | Включение вращения шпинделя против часовой стрелки |
М5 | Остановка шпинделя |
М2=3 | Инструмент с механическим приводом включен по часовой стрелке |
М2=4 | Инструмент с механическим приводом включен против часовой стрелки |
М2=5 | Инструмент с механическим приводом выключен |
М6 | Автоматическая смена инструмента |
М7 | Включение обдува воздухом |
МS | Включение подачи СОЖ |
М9 | Выключение охлаждения |
М1О | Отключение обдува воздухом |
М11 | Зажим инструмента |
М12 | Разжим инструмента |
М13 | Включение вращения шпинделя по часовой стрелке совместно с включением СОЖ |
М14 | Включение вращения шпинделя против часовой стрелке совместно с включением СОЖ |
М15 | Включение СОЖ для смыва стружки |
М17 | Конец подпрограммы |
М19 | Ориентация шпинделя |
М21 | Х |
М22 | Включение зеркального отображения программы вдоль оси У |
М23 | Отключение зеркального отображения программы |
М29 | Включение режима жесткого резьбонарезания |
М3О | Конец программы с возможностью одновременного выключения питания станка |
М52 | Перемещение магазина на позицию вправо |
М53 | Перемещение магазина на позицию влево |
М7О | Инициализация магазина |
М71 | Опускание активного кармана магазина |
М72 | Поворот манипулятора на 60° |
М73 | Разжим инструмента |
М74 | Поворот манипулятора на 120° |
М75 | Зажим инструмента |
М76 | Поворот манипулятора на 180° |
М77 | Поднятие активного кармана магазина |
М98 | Вызов подпрограммы |
М99 | Возврат в основную программу |
Примечакие
. Для разных систем управления и типов станков дополнительные функции могут иметь другие значения, например активировать перемещение задней бабки, функции загрузочного устройства, люнета и т. д.
При создании программы ЧПУ само программирование, т. е. преобразование отдельных рабочих переходов в язык ЧПУ, часто является лишь небольшой частью работы по программированию.
Перед программированием необходимо осуществить планирование и подготовку рабочих переходов. Чем точнее будет спланировано начало и структура программы ЧПУ, тем быстрее и проще будет осуществляться само программирование и тем более наглядной и менее подверженной ошибкам будет готовая программа ЧПУ.
Преимущество наглядных программ особо проявляется тогда, когда позднее необходимо вносить изменения.
Так как не каждая программа имеет такую же структуру, то не имеет смысла работать по типовому шаблону. Однако для большинства случаев целесообразно придерживаться следующей последовательности.
1. Подготовка чертежа детали заключается:
- а) в определении нулевой точки детали;
- б) в нанесении системы координат;
- в) в вычислении возможно отсутствующих координат.
2. Определение процесса обработки:
- а) Когда будут использоваться, какие инструменты и для обработки каких контуров?
- б) В какой последовательности будут изготовляться отдельные элементы детали?
- в) Какие отдельные элементы повторяются (возможно, в повернутом виде) и должны быть сохранены в подпрограмме?
- г) Имеются ли в других программах обработки деталей или подпрограммах контуры деталей, которые могут быть повторно использованы для актуальной детали?
- д) Где целесообразны или необходимы смещения нулевой точки, вращение, отражение, масштабирование (концепция фрейма)?
3. Создание технологической карты. Определить поочередно все процессы обработки станка, к примеру:
- а) движения ускоренным ходом для позиционирования;
- б) смена инструмента;
- в) определение плоскости обработки;
- г) свободный ход для дополнительного измерения;
- д) включение/выключение шпинделя, СОЖ;
- е) вызов данных инструмента;
- ж) подача;
- з) коррекция траектории;
- и) подвод к контуру;
- к) отвод от контура и т. д.
4. Перевод переходов на язык программирования: запись каждого перехода как кадра ЧПУ (или кадров ЧПУ).
5. Соединение всех отдельных переходов в операцию, как правило, в одной программе. Иногда, особенно при обработке крупногабаритных деталей в программу, могут быть выделены переходы черновой, получистовой и чистовой обработки. Это имело место при ограниченном объеме памяти, характерном для устаревших систем ЧПУ. Для современных систем программного управления объем памяти практически не ограничивает технологические возможности станков.
В современных системах программного управления широко применяются стандартные циклы обработки. Их использование значительно сокращает затраты времени на программирование.
Некоторые постоянные цикла для систем управления, используемые в программном обеспечении WIN NC SINUMERIK, приведены ниже:
- CYCLE81 — сверление, центрование;
- CYCLE82 — сверление, зенкерование;
- CYCLE83 — сверление глубоких отверстий спиральными сверлами;
- CYCLE84 — нарезание внутренней резьбы без компенсирующего патрона;
- CYCLE840 — нарезание внутренней резьбы с компенсирующим патроном для метчика;
- CYCLE85 — растачивание 1;
- CYCLE86 — растачивание 2;
- CYCLE87 — растачивание 3;
- CYCLE88 — растачивание 4;
- CYCLE89 — растачивание 5;
- CYCLE93 — проточка;
- CYCLE94 — внутренняя выточка;
- CYCLE95 — цикл снятия припуска;
- CYCLE96 — резьбовая выточка;
- CYCLE97 — цикл нарезания резьбы.
Следует отметить, что системы программного управления высокого уровня являются открытыми, что позволяет расширить библиотеку стандартных циклов обработки типовых поверхностей характерных для производства данного типа продукции и тем самым сократить сроки подготовки производства.
Рис. 2.
Применение CAM систем привело к необходимости для каждой системы программного управления разрабатывать постпроцессоры, без которых оборудование не понимает программы без их перевода в машинные коды (рис. 2).
Программирование современных систем ЧПУ выполняется в соответствии со стандартом ISO 6983 (DIN 66025), которому уже более 50 лет и который, как считают программисты, якобы тормозит развитие ЧПУ-технологий. Термин «ЧПУ-технологии», по мнению автора, не правомерен, обработка деталей на станках с ЧПУ подчиняется всем закономерностям технологии машиностроения и обработки металлов резанием или других методов формообразования.
Нарушение закономерностей технологических наук приводит:
- к повышенному короблению деталей;
- к снижению точности линейных размеров;
- к росту трудоемкости обработки деталей и т. д.
Основным отличием для многоцелевых станков является предельно выраженная концентрация операций, не только характерная для данного вида оборудования, но и реализуемая приводным инструментом и специальной шпиндельной оснасткой, а также методы обеспечения точности с использованием станочных измерительных систем. Стандарт поддерживает простые команды для элементарных перемещений и логических операций. В настоящее время для решения сложных геометрических и логических задач в системах программного управления кроме машинных кодов в соответствии с DIN 66025 (ISO 7bit) применяют языки программирования высокого уровня. Управляющие программы в стандарте ISO 6983 содержат незначительное количество информации, полученной на уровне CAD-CAM систем. Однако более серьезным недостатком, как считают разработчики систем программного управления, является невозможность двустороннего обмена информацией с этими системами, что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке к системам CAD-CAM. Необходимо отметить, что это целесообразно не для всех отраслей промышленности. Так, например, сглаживание плавного сопряжений теоретических контуров сплайнами допустимо, а сопряжение двух поверхностей требует анализа возможных методов их формообразования, для ряда конструкционных материалов могут иметь место технологические ограничения, например, минимально допустимые радиусы сопряжения конструктивных элементов деталей из высокопрочных алюминиевых сплавов и т. д.
В отличие от DIN 66025 (ISO 6983) разрабатываемый стандарт STEP-NC ISO 14649 (на данный период разработаны не все его модули) определяет специальную структуру управляющей программы ЧПУ — program structure, которую используют для построения логических блоков в рамках структурного программирования обработки. Структура управляющей программы не является списком типовых обрабатываемых форм (features); она определяет план операции (workplan), который представляет собой последовательность исполняемых объектов (executables). STEP-NC предполагает широкий обмен информацией между инженерными службами, в том числе подготовки и планирования производства, а также цеховым уровнем.
Структура предполагаемого обмена информацией приведена на рисунке 3.
Структура планируемого информационного обмена вызывает массу вопросов:
- недостаточный уровень формализации инженерных работ затрудняет создание баз знаний;
- большое количество каталогов режущего инструмента, в которых приведена недостаточная информация для выбора инструмента для обработки специальных материалов и условий его применения, что требует в большинстве случаев экспериментальной проверки;
- в каталогах оборудования часто отсутствует информация о позиционной точности управляемых осей станка, динамические характеристики приводов и т. д.;
- устаревшие технологические справочники, разработанные еще для универсального оборудования и систематически переиздаваемые практически без обновления технологической информации;
- отсутствие систематизированной информации о прогрессивной технологической оснастке.
Рис. 3. Планируемый обмен информацией между инженерными службами и цеховым уровнем
Дополнительно необходимо отметить, что не существует типовых методов оптимизации программирования станков по параметрам, позволяющих выбрать наилучший станок или группу станков для выполнения того или иного технологической операции или процесса.
На эти проблемы много раз указывали пользователи различных станков, вовлеченные в процесс стандартизации STEP-NC. Производители оборудования и разработчики программного обеспечения стараются учесть требования пользователей и реализуют некоторые из указанных функций в своей продукции. Однако часто их работа не подчиняется единому стандарту, что, по существующему мнению, может тормозить обновление промышленных систем. Также нельзя не упомянуть о том, что выпускаемое оборудование редко пользуется всеми современными технологиями и в результате производственная база оказывается не такой эффективной и совершенной. С учетом этого изготовители систем программного управления выбрали компромиссный вариант, позволяющий работать как по DIN 66025 (ISO 6983), так и по ISO 14649 (рис. 4).
Рис. 4. Смешанная архитектура системы ЧПУ, поддерживающая стандарты DIN 66025 (ISO 6983) и ISO 14649 (STEP-NC)
Все это свидетельствует о том, что кроме совершенствования систем программного управления и методов программирования необходимо заниматься на системной основе и подготовкой технологической информации:
- инструмент, обеспечивающий интенсификацию режимов обработки;
- рекомендации по применению различных конструкций инструмента;
- зависимости для расчета резания;
- зависимости для расчета составляющих усилий резания;
- базы данных по оборудованию с ЧПУ и их технологические возможности, в том числе и в случаях оснащения разными системами управления;
- алгоритмы расчета режимов резания для станков, где в качестве привода главного движения применены электрошпинделя;
- стратегия обработки различных конструктивных элементов деталей на станках с ЧПУ;
- базы данных по применению серийно выпускаемой оснастки для станков с ЧПУ;
- измерительные системы для станков, включая датчики нулевого отсчета и измерительные;
- производственные инструкции по сборке инструментальных наладок и их балансировке;
- технологические регламенты по проверке точности станков с ЧПУ, перепроверки шпиндельной оснастки, особенно оправок и втулок типа HSK и многое другое.
M00 — останавливает выполнение программы после выполнения операций, содержащихся в кадре. Останавливает вращение шпинделя и охлаждающий поток. Сохраняет всю информацию, накопленную в памяти.
М01 — условная остановка программы: если трёхбуквенный код USO = 1 занесён с клавиатуры, функция М01 интерпретируется управлением как М00; если трёхбуквенный код USO = 0 подтвержден, функция М01 не учитывается.
M02 — определяет конец программы без перемотки ленты на начало.
M03 — вращение шпинделя по часовой стрелке.
M04 — вращение шпинделя против часовой стрелки.
M05 — остановка шпинделя и подачи охлаждения. Осуществляется после выполнения операций, содержащихся в кадре.
M06 — замена инструмента. Останавливает вращение шпинделя, подачу охлаждения и выполнение программы. Подтверждает корректировки, выбранные функцией Т. Осуществление становится возможным после выполнения информации, содержащейся в кадре. Не стирает М03, М04, М08, М13, М14.
M07 — подача вспомогательного охлаждения.
M08 — подача основного охлаждения.
M09 — остановка охлаждения. Осуществляется после выполнения операций, содержащихся в кадре.
M10 — блокировка линейных и вращающихся осей. При помощи этой функции осуществляется блокировка осей, не участвующих в процессе обработки.
М11 — отмена М10.
М12 — блокировка вращающихся осей. При помощи этой функции осуществляется блокировка осей, не участвующих в процессе обработки.
М13 — вращение шпинделя по часовой стрелке и подача охлаждения.
М14 — вращение шпинделя против часовой стрелки и подача охлаждения.
М19 — остановка вращения шпинделя с угловой ориентацией осуществима после операций, содержащихся в кадре. Отменяется функциями М03, М04.
М30 — автоматический СБРОС в конце программы. При помощи функции М30 стирается вся информация, находящаяся в динамическом буфере системы. Подтверждаются автоматически: начальная точка 0 и возобновление выбранной программы. Корректировка инструмента в шпинделе не стирается.
М40 — отмена диапазона вращения шпинделя.
М42-М43-М44 — активизирует диапазон вращения шпинделя 1-2-3-4.
М45 — автоматическая смена диапазона вращения шпинделя.
М60 — замена детали.
При помощи программы логики представляется возможным определить эти функции другим образом, добавляя или сокращая их. В каждом кадре можно программировать до четырёх функций М.
Все функции М стираются при помощи выполнения режима «СБРОС, RESET ».
При кодировании информации следует иметь в виду, что в УЧПУ в исходном (начальном) состоянии установлены определенные значения подготовительных функций. Эти функции не следует программировать. Их вводят (указывают) в программу лишь в том случае, если по ходу программы были запрограммированы другие функции, отменяющие действие исходных. Например, в УЧПУ NC201M исходными (введенными в УЧПУ) является функция G00(быстрое позиционирование осей), G17 (плоскость интерполяции XY),G27(Непрерывный режим обработки с автоматическим замедлением скорости на углах), G20(Выход из программы GTL), G71(программирование в миллиметрах),G80(Отмена постоянных циклов),
G40 Отмена компенсации радиуса инструмента),G80(Отмена постоянных циклов),G90(Абсолютное программирование),G95(Скорость подачи в мм/об или дюйм/об), G96(Скорость резания в м/мин или фут/мин).
2. Синтаксис определения и вызова
M-функций
.
Текст M-функции должен начинаться с заголовка
, после которого следует тело функции
.
Заголовок определяет » интерфейс» функции (способ взаимодействия с ней) и устроен следующим образом:
function [ RetVal1, RetVal2,
] =
FunctionName(par1, par2,
)
Здесь провозглашается функция (с помощью неизменного «ключевого» слова
function) с именем FunctionName, которая принимает входные параметры
par1, par2,
, и вырабатывает (вычисляет) выходные (возвращаемые)
значения RetVal1, RetVal2
По-другому говорят, что аргументами функции
являются переменные par1, par2,.., а значениями функции
(их надо вычислить) являются
переменные RetVal1, RetVal2,
.
Указанное в заголовке имя функции (в приведённом примере —
FunctionName) должно служить именем файла, в который будет записан текст
функции. Для данного примера это будет файл FunctionName.m (расширение
имени, по-прежнему, должно состоять лишь из одной буквы m).
Рассогласования имени функции и имени файла не допускается!
Тело функции состоит из команд, с помощью которых вычисляются
возвращаемые значения. Тело функции следует за заголовком функции.
Заголовок функции плюс тело функции в совокупности составляют определение
функции.
Как входные параметры, так и возвращаемые значения могут быть в общем
случае массивами (в частном случае — скалярами) различных размерностей и
размеров. Например, функция MatrProc1
function [ A, B ] = MatrProc1(X1,
X2, x)
A = X1 .* X2 * x;
B = X1 .* X2 + x;
рассчитана на «приём» двух массивов одинаковых (но произвольных)
размеров и одного скаляра.
Эти массивы в теле функции сначала перемножаются поэлементно, после
чего результат такого перемножения ещё умножается на скаляр. Таким образом
порождается первый из выходных массивов. Одинаковые размеры входных
масивов X1 и X2 гарантируют выполнимость операции их поэлементного
умножения. Второй выходной массив (с именем B) отличается от первого
тем, что получается сложением со скаляром (а не умножением).
Вызов
созданной нами функции
осуществляется из командного окна системы
MATLAB (или из текста какой-либо другой функции) обычным образом:
записывается имя функции, после которого в круглых скобках через запятую
перечисляются фактические входные параметры
,
со значениями которых и будут произведены вычисления. Фактические
параметры могут быть заданы числами (массивами чисел), именами
переменных, уже имеющими конкретные значения, а также выражениями.
Если фактический параметр задан именем некоторой переменной, то
реальные вычисления будут производиться с копией этой переменной (а не с
ней самой). Это называется передачей
параметров по значению
.
Ниже показан вызов из командного окна MATLABа ранее созданной нами для
примера функции MatrProc1.
Здесь имена фактических входных параметров (W1 и W2) и
переменных, в которых записываются результаты вычислений (Res1 и Res2),
не совпадают с именами аналогичных переменных в определении функции
MatrProc1. Очевидно, что совпадения и не требуется, тем более, что у
третьего входного фактического параметра нет имени вообще! Чтобы
подчеркнуть это возможное отличие, имена входных параметров и выходных
значений в определении функции называют формальными.
В рассмотренном примере вызова функции MatrProc1 из двух входных
квадратных матриц 2 x 2 получаются две выходные матрицы Res1 и Res2 точно
таких же размеров:
Res1
=
9
6
6 6
Res2 =
6
5
5 5
Вызвав функцию
MatrProc1 =
MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);
с двумя входными массивами размера 2×3, получим две выходные матрицы
размера 2×3. То есть, одна и та же функция MatrProc1 может обрабатывать
входные параметры различных размеров и размерностей! Можно вместо массивов
применить эту функцию к скалярам (это всё равно массивы размера 1×1).
Теперь рассмотрим вопрос о том, можно ли использовать эту функцию в
составе выражений так, как это делается с функциями, возвращающими
единственное значение? Оказывается это делать можно, причём в качестве
значения функции, применяемого для дальнейших вычислений, используется
первое из возвращаемых функцией значений. Следующее окно системы MATLAB
иллюстрирует это положение:
Рис. 2.
Применение CAM систем привело к необходимости для каждой системы программного управления разрабатывать постпроцессоры, без которых оборудование не понимает программы без их перевода в машинные коды (рис. 2).
Программирование современных систем ЧПУ выполняется в соответствии со стандартом ISO 6983 (DIN 66025), которому уже более 50 лет и который, как считают программисты, якобы тормозит развитие ЧПУ-технологий. Термин «ЧПУ-технологии», по мнению автора, не правомерен, обработка деталей на станках с ЧПУ подчиняется всем закономерностям технологии машиностроения и обработки металлов резанием или других методов формообразования.
Нарушение закономерностей технологических наук приводит:
- к повышенному короблению деталей;
- к снижению точности линейных размеров;
- к росту трудоемкости обработки деталей и т. д.
Основным отличием для многоцелевых станков является предельно выраженная концентрация операций, не только характерная для данного вида оборудования, но и реализуемая приводным инструментом и специальной шпиндельной оснасткой, а также методы обеспечения точности с использованием станочных измерительных систем. Стандарт поддерживает простые команды для элементарных перемещений и логических операций. В настоящее время для решения сложных геометрических и логических задач в системах программного управления кроме машинных кодов в соответствии с DIN 66025 (ISO 7bit) применяют языки программирования высокого уровня. Управляющие программы в стандарте ISO 6983 содержат незначительное количество информации, полученной на уровне CAD-CAM систем. Однако более серьезным недостатком, как считают разработчики систем программного управления, является невозможность двустороннего обмена информацией с этими системами, что означает, что любые изменения в управляющей программе не могут быть отображены в восходящем информационном потоке к системам CAD-CAM. Необходимо отметить, что это целесообразно не для всех отраслей промышленности. Так, например, сглаживание плавного сопряжений теоретических контуров сплайнами допустимо, а сопряжение двух поверхностей требует анализа возможных методов их формообразования, для ряда конструкционных материалов могут иметь место технологические ограничения, например, минимально допустимые радиусы сопряжения конструктивных элементов деталей из высокопрочных алюминиевых сплавов и т. д.
В отличие от DIN 66025 (ISO 6983) разрабатываемый стандарт STEP-NC ISO 14649 (на данный период разработаны не все его модули) определяет специальную структуру управляющей программы ЧПУ — program structure, которую используют для построения логических блоков в рамках структурного программирования обработки. Структура управляющей программы не является списком типовых обрабатываемых форм (features); она определяет план операции (workplan), который представляет собой последовательность исполняемых объектов (executables). STEP-NC предполагает широкий обмен информацией между инженерными службами, в том числе подготовки и планирования производства, а также цеховым уровнем.
Структура предполагаемого обмена информацией приведена на рисунке 3.
Структура планируемого информационного обмена вызывает массу вопросов:
- недостаточный уровень формализации инженерных работ затрудняет создание баз знаний;
- большое количество каталогов режущего инструмента, в которых приведена недостаточная информация для выбора инструмента для обработки специальных материалов и условий его применения, что требует в большинстве случаев экспериментальной проверки;
- в каталогах оборудования часто отсутствует информация о позиционной точности управляемых осей станка, динамические характеристики приводов и т. д.;
- устаревшие технологические справочники, разработанные еще для универсального оборудования и систематически переиздаваемые практически без обновления технологической информации;
- отсутствие систематизированной информации о прогрессивной технологической оснастке.
Рис. 3. Планируемый обмен информацией между инженерными службами и цеховым уровнем
Дополнительно необходимо отметить, что не существует типовых методов оптимизации программирования станков по параметрам, позволяющих выбрать наилучший станок или группу станков для выполнения того или иного технологической операции или процесса.
На эти проблемы много раз указывали пользователи различных станков, вовлеченные в процесс стандартизации STEP-NC. Производители оборудования и разработчики программного обеспечения стараются учесть требования пользователей и реализуют некоторые из указанных функций в своей продукции. Однако часто их работа не подчиняется единому стандарту, что, по существующему мнению, может тормозить обновление промышленных систем. Также нельзя не упомянуть о том, что выпускаемое оборудование редко пользуется всеми современными технологиями и в результате производственная база оказывается не такой эффективной и совершенной. С учетом этого изготовители систем программного управления выбрали компромиссный вариант, позволяющий работать как по DIN 66025 (ISO 6983), так и по ISO 14649 (рис. 4).
Рис. 4. Смешанная архитектура системы ЧПУ, поддерживающая стандарты DIN 66025 (ISO 6983) и ISO 14649 (STEP-NC)
Все это свидетельствует о том, что кроме совершенствования систем программного управления и методов программирования необходимо заниматься на системной основе и подготовкой технологической информации:
- инструмент, обеспечивающий интенсификацию режимов обработки;
- рекомендации по применению различных конструкций инструмента;
- зависимости для расчета резания;
- зависимости для расчета составляющих усилий резания;
- базы данных по оборудованию с ЧПУ и их технологические возможности, в том числе и в случаях оснащения разными системами управления;
- алгоритмы расчета режимов резания для станков, где в качестве привода главного движения применены электрошпинделя;
- стратегия обработки различных конструктивных элементов деталей на станках с ЧПУ;
- базы данных по применению серийно выпускаемой оснастки для станков с ЧПУ;
- измерительные системы для станков, включая датчики нулевого отсчета и измерительные;
- производственные инструкции по сборке инструментальных наладок и их балансировке;
- технологические регламенты по проверке точности станков с ЧПУ, перепроверки шпиндельной оснастки, особенно оправок и втулок типа HSK и многое другое.
M00 — останавливает выполнение программы после выполнения операций, содержащихся в кадре. Останавливает вращение шпинделя и охлаждающий поток. Сохраняет всю информацию, накопленную в памяти.
М01 — условная остановка программы: если трёхбуквенный код USO = 1 занесён с клавиатуры, функция М01 интерпретируется управлением как М00; если трёхбуквенный код USO = 0 подтвержден, функция М01 не учитывается.
M02 — определяет конец программы без перемотки ленты на начало.
M03 — вращение шпинделя по часовой стрелке.
M04 — вращение шпинделя против часовой стрелки.
M05 — остановка шпинделя и подачи охлаждения. Осуществляется после выполнения операций, содержащихся в кадре.
M06 — замена инструмента. Останавливает вращение шпинделя, подачу охлаждения и выполнение программы. Подтверждает корректировки, выбранные функцией Т. Осуществление становится возможным после выполнения информации, содержащейся в кадре. Не стирает М03, М04, М08, М13, М14.
M07 — подача вспомогательного охлаждения.
M08 — подача основного охлаждения.
M09 — остановка охлаждения. Осуществляется после выполнения операций, содержащихся в кадре.
M10 — блокировка линейных и вращающихся осей. При помощи этой функции осуществляется блокировка осей, не участвующих в процессе обработки.
М11 — отмена М10.
М12 — блокировка вращающихся осей. При помощи этой функции осуществляется блокировка осей, не участвующих в процессе обработки.
М13 — вращение шпинделя по часовой стрелке и подача охлаждения.
М14 — вращение шпинделя против часовой стрелки и подача охлаждения.
М19 — остановка вращения шпинделя с угловой ориентацией осуществима после операций, содержащихся в кадре. Отменяется функциями М03, М04.
М30 — автоматический СБРОС в конце программы. При помощи функции М30 стирается вся информация, находящаяся в динамическом буфере системы. Подтверждаются автоматически: начальная точка 0 и возобновление выбранной программы. Корректировка инструмента в шпинделе не стирается.
М40 — отмена диапазона вращения шпинделя.
М42-М43-М44 — активизирует диапазон вращения шпинделя 1-2-3-4.
М45 — автоматическая смена диапазона вращения шпинделя.
М60 — замена детали.
При помощи программы логики представляется возможным определить эти функции другим образом, добавляя или сокращая их. В каждом кадре можно программировать до четырёх функций М.
Все функции М стираются при помощи выполнения режима «СБРОС, RESET ».
При кодировании информации следует иметь в виду, что в УЧПУ в исходном (начальном) состоянии установлены определенные значения подготовительных функций. Эти функции не следует программировать. Их вводят (указывают) в программу лишь в том случае, если по ходу программы были запрограммированы другие функции, отменяющие действие исходных. Например, в УЧПУ NC201M исходными (введенными в УЧПУ) является функция G00(быстрое позиционирование осей), G17 (плоскость интерполяции XY),G27(Непрерывный режим обработки с автоматическим замедлением скорости на углах), G20(Выход из программы GTL), G71(программирование в миллиметрах),G80(Отмена постоянных циклов),
G40 Отмена компенсации радиуса инструмента),G80(Отмена постоянных циклов),G90(Абсолютное программирование),G95(Скорость подачи в мм/об или дюйм/об), G96(Скорость резания в м/мин или фут/мин).
2. Синтаксис определения и вызова
M-функций
.
Текст M-функции должен начинаться с заголовка
, после которого следует тело функции
.
Заголовок определяет » интерфейс» функции (способ взаимодействия с ней) и устроен следующим образом:
function [ RetVal1, RetVal2,
] =
FunctionName(par1, par2,
)
Здесь провозглашается функция (с помощью неизменного «ключевого» слова
function) с именем FunctionName, которая принимает входные параметры
par1, par2,
, и вырабатывает (вычисляет) выходные (возвращаемые)
значения RetVal1, RetVal2
По-другому говорят, что аргументами функции
являются переменные par1, par2,.., а значениями функции
(их надо вычислить) являются
переменные RetVal1, RetVal2,
.
Указанное в заголовке имя функции (в приведённом примере —
FunctionName) должно служить именем файла, в который будет записан текст
функции. Для данного примера это будет файл FunctionName.m (расширение
имени, по-прежнему, должно состоять лишь из одной буквы m).
Рассогласования имени функции и имени файла не допускается!
Тело функции состоит из команд, с помощью которых вычисляются
возвращаемые значения. Тело функции следует за заголовком функции.
Заголовок функции плюс тело функции в совокупности составляют определение
функции.
Как входные параметры, так и возвращаемые значения могут быть в общем
случае массивами (в частном случае — скалярами) различных размерностей и
размеров. Например, функция MatrProc1
function [ A, B ] = MatrProc1(X1,
X2, x)
A = X1 .* X2 * x;
B = X1 .* X2 + x;
рассчитана на «приём» двух массивов одинаковых (но произвольных)
размеров и одного скаляра.
Эти массивы в теле функции сначала перемножаются поэлементно, после
чего результат такого перемножения ещё умножается на скаляр. Таким образом
порождается первый из выходных массивов. Одинаковые размеры входных
масивов X1 и X2 гарантируют выполнимость операции их поэлементного
умножения. Второй выходной массив (с именем B) отличается от первого
тем, что получается сложением со скаляром (а не умножением).
Вызов
созданной нами функции
осуществляется из командного окна системы
MATLAB (или из текста какой-либо другой функции) обычным образом:
записывается имя функции, после которого в круглых скобках через запятую
перечисляются фактические входные параметры
,
со значениями которых и будут произведены вычисления. Фактические
параметры могут быть заданы числами (массивами чисел), именами
переменных, уже имеющими конкретные значения, а также выражениями.
Если фактический параметр задан именем некоторой переменной, то
реальные вычисления будут производиться с копией этой переменной (а не с
ней самой). Это называется передачей
параметров по значению
.
Ниже показан вызов из командного окна MATLABа ранее созданной нами для
примера функции MatrProc1.
Здесь имена фактических входных параметров (W1 и W2) и
переменных, в которых записываются результаты вычислений (Res1 и Res2),
не совпадают с именами аналогичных переменных в определении функции
MatrProc1. Очевидно, что совпадения и не требуется, тем более, что у
третьего входного фактического параметра нет имени вообще! Чтобы
подчеркнуть это возможное отличие, имена входных параметров и выходных
значений в определении функции называют формальными.
В рассмотренном примере вызова функции MatrProc1 из двух входных
квадратных матриц 2 x 2 получаются две выходные матрицы Res1 и Res2 точно
таких же размеров:
Res1
=
9
6
6 6
Res2 =
6
5
5 5
Вызвав функцию
MatrProc1 =
MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);
с двумя входными массивами размера 2×3, получим две выходные матрицы
размера 2×3. То есть, одна и та же функция MatrProc1 может обрабатывать
входные параметры различных размеров и размерностей! Можно вместо массивов
применить эту функцию к скалярам (это всё равно массивы размера 1×1).
Теперь рассмотрим вопрос о том, можно ли использовать эту функцию в
составе выражений так, как это делается с функциями, возвращающими
единственное значение? Оказывается это делать можно, причём в качестве
значения функции, применяемого для дальнейших вычислений, используется
первое из возвращаемых функцией значений. Следующее окно системы MATLAB
иллюстрирует это положение:
При вызове с параметрами 1,2,1 функция MatrProc1 возвращает два
значения: 2 и 3. Для использования в составе выражения используется первое
из них.
Так как вызов любой функции можно осуществить, написав произвольное
выражение в командном окне MATLABа, то всегда можно совершить ошибку,
связанную с несовпадением типов фактических и формальных параметров.
MATLAB не выполняет никаких проверок на эту тему, а просто передаёт
управление функции. В результате могут возникнуть ошибочные ситуации.
Чтобы избежать (по-возможности) возникновения таких ошибочных ситуаций,
предлагается в тексте M-функций осуществлять проверку входных параметров.
Например, в функции MatrProc1 легко осуществить выявление ситуации, когда
размеры первого и второго входных параметров различны. Для написания
такого кода требуются конструкции управления, которые мы пока ещё не
изучали. Самое время приступить к их
изучению!
Язык технических вычислений
Миллионы инженеров и ученых во всем мире используют MATLAB ® , чтобы анализировать и разработать системы и продукты, преобразовывающие наш мир. Матричный язык MATLAB является самым естественным способом в мире выразить вычислительную математику. Встроенная графика облегчает визуализацию и понимание данных. Окружение рабочего стола способствует экспериментированию, исследованиям и открытиям. Эти средства MATLAB и возможности все строго протестированы и разработаны, чтобы работать совместно.
MATLAB помогает вам воплощать свои идеи за пределами рабочего стола. Можно запустить исследования больших наборов данных и масштабировать до кластеров и облаков. Код MATLAB может быть интегрирован с другими языками, позволив вам развернуть алгоритмы и приложения в сети, предприятии и промышленных системах.
Начало работы
Изучите основы MATLAB
Основы языка
Синтаксис, индексация и обработка массива, типы данных, операторы
Импорт и анализ данных
Импорт и экспорт данных, в том числе и больших файлов; предварительная обработка данных, визуализация и исследования
Математика
Линейная алгебра, дифференцирование и интегрирование, преобразования Фурье и прочая математика
Графика
2D и 3D графики, изображения, анимация
Программирование
Скрипты, функции и классы
Создание приложений
Разработка приложений с помощью App Designer, программируемого рабочего процесса или GUIDE
Инструменты разработки программного обеспечения
Отладка и тестирование, организация крупных проектов, интеграция с системой контроля версий, упаковка тулбоксов
Вспомогательные функции (или М
-коды) программируются с помощью адресного слова М
. Вспомогательные функции используются для управления программой и электроавтоматикой станка — включения/выключения шпинделя, охлаждающей жидкости, смены инструмента и др.
Таблица 3.
Обозначение |
Назначение |
M00 |
Программируемый останов |
M01 |
Останов с подтверждением |
M02 |
Конец программы |
M03 |
Вращение шпинделя по часовой стрелке |
M04 |
Вращение шпинделя против часовой стрелки |
M05 |
Останов шпинделя |
M06 |
Смена инструмента |
M08 |
Включение охлаждения |
М09 |
Отключение охлаждения |
М17 |
Возврат из подпрограммы |
M18 |
Позиционирование шинделя на заданный угол |
M19 |
Ориентация шпинделя |
М20 |
Конец повторяющегося отрезка программы |
M30 |
Останов и переход в начало управляющей программы |
M99 |
Продолжить выполнение УП первого кадра |
Вспомогательные функции, которые выполняют включение каких-либо операций (M03
, M04
и M08
), выполняются в начале кадра перед командами движения. Остальные вспомогательные функции выполняются в конце кадра.
В табл. 3 приведен список обычно используемых вспомогательных функций.
2.1. Программируемый останов (M00)
Безусловный останов управляющей программы после выполнения движения содержащейся в текущем кадре. Состояние УП не изменяется до повторного нажатия кнопки START
на пульте управления СЧПУ или клавиши В НАЧАЛО,
для возврата к началу выполняемой УП.
2.2. Останов с подтверждением (M01)
Останов управляющей программы после выполнения движения содержащейся в текущем кадре, при условии, что установлен режим “Останов с подтверждением”
с панели управления СЧПУ (см. Документ СЧПУ MSHAK- CNC Руководство оператора)
.
Пример:
X-2 X-4.
M1 ; Останов выполнения программы на этом кадре, если
; задан режим “Останов с подтверждением”
с пульта оператора
2.3. Конец программы (M02)
Определяет конец выполнения управляющей программы, прекращает подачу охлаждающей жидкости и останавливает вращение шпинделя.
Пример:
G0X20Z50 Z.5
G0 X0Z0 M2
2.4. Вращение шпинделя по часовой стрелке (М03)
Запускает вращение шпинделя по часовой стрелке, используя текущее значение, заданное словом.
Пример:
G54 G0 X-20 Z30 S500M3
2.5. Вращение шпинделя против часовой стрелки (М04)
Запускает вращение шпинделя против часовой стрелки, используя текущее значение, заданное словом.
Пример:
G54 G0 X-20 Z30 S1500M4
2.6. Останов шпинделя (M05)
Останавливает вращение шпинделя. Выполняется после движений, содержащихся в кадре.
Пример:
G28 X0 Z0 M5
G4 P2 M2
2.7. Смена инструмента (M06)
Выполняет смену инструмента между шпинделем и магазином инструментов. По этой функций происходит:
· Позиционирование по осям в точку смены инструмента;
· Останов вращения шпинделя и ориентация шпинделя;
· Смена инструмента.
Пример:
T5 ; начало поиска инструмента 5 в магазине
X50 Z60 ; продолжение отработки программы
M6 ; смена инструмента
2.8. Включение охлаждения (M08)
Включает подачу смазочно-охлаждающей жидкости (СОЖ).
Пример:
S300M3X20Z30G0
G1X50Z44M8 ; Включить СОЖ
G0Z-100
2.9. Выключение охлаждения (M09)
Выключает подачу смазочно-охлаждающей жидкости (СОЖ).
Пример:
S300M3X20Z30G0 G1X50Z44 M9M5G0Z-100
2.10. Возврат из подпрограммы (М17)
Определяет конец подпрограммы при ее вызове словом с адресом L
.
Пример:
X5Z5
; Основная программа
L10 ; Вызов подпрограммы начинающейся с кадра N10 X2Z8
N10Z2 ; Подпрограмма с меткой кадра N10 X10
M17 ; Конец подпрограммы и возврат в основную программу
2.11. Позиционирование шпинделя (М18)
При помощи этой функции можно повернуть шпиндель на заданный угол
Формат:
M18 Pnnn
Где: nnn – угол поворота +/- 360 градусов.
Отсчет угла поворота выполняется относительно позиции шпинделя, на которую устанавливается шпиндель по функции M19.
Пример:
M18 P45 ; поворот шпинделя на 45 градусов
2.12. Ориентация шпинделя (М19)
Вспомогательная функция М19
останавливает вращение шпинделя, выполняет его ориентацию.
2.13. Конец повторяющегося отрезка программы (М20)
Определяет конец повторяющегося отрезка программы при ее вызове словом с адресом H
.
Пример:
N10 H2 ; выполнить отрезок программы до M20 2 раза