М функции. Импорт и анализ данных

  • 3. Основные технические характеристики и механическая система
  • 4. Генератор сверхвысокого давления
  • 5. Система электроуправления. Электрическая система генератора сверхвысокого давления
  • 6. Электрическая система механического станка
  • 7. Система ЧПУ. Система координат
  • 8. Выполнение программы ЧПУ
  • 9. Подготовительные функции. (Функция G)
  • ➔ 13. Прочие функции (М функции)
  • 14. Функционирование системы
  • 15. Выбор основных функций
  • 16. Редактирование
  • 17. Переименование, удаление
  • 18. Свойства программ ЧПУ
  • 19. Управление механизмом вручную
  • 20. Установка режима работы системы
  • 21. Параметры установки для станка
  • 22. Основная функция GRAPH
  • 23. Другой способ выбора основной функции GRAPH
  • 24. ПРИЛОЖЕНИЕ 1: Коды погрешностей
  • 25. Система защиты
  • 26. Технология и параметры обработки гидроабразивной резкой
  • 27. Транспортировка и установка
  • 28. Пробный запуск
  • 29. Двумерная и полуавтоматическая система программирования с ЧПУ
  • 30. Запуск и установка
  • 31. Выбор файла
  • 32. Предварительная подготовка построения графика
  • 33. Выбор материала и оборудования
  • 34. Создание программы ЧПУ
  • Прочие функции (М функции)

    Прочие функции гидроабразивной резки программируются с помощью буквы М, за которой следуют 2 однозначных числа. Данная система имеет несколько таких функций:

    М00 Остановка программы

    М02 Завершение программы

    М30 Завершение программы с возвращением на начало

    М71-79 Неправильное функционирование плюс выход

    Теперь мы рассмотрим выполнение функции М подробно

    1. М00 - Остановка программы

    Пример: Когда система ЧПУ станка гидроабразивной резки считывает код М00 в блоке, она останавливает программу. Для запуска программы необходимо снова нажать кнопку включения.

    2. М02 - Завершение программы

    Пример: Этот код обозначает завершение программы и осуществляет основную функцию сброса системы ЧПУ гидрорезки.

    3. М30 -Завершение программы с возвращением на начало

    Пример: Данная функция похожа на функцию М02 плюс возвращение системы ЧПУ установки гидроабразивной резки к первому блоку начала программы.

    4. М71-79 Неправильное функционирование плюс выход

    Формат: М71 Пример: Система ЧПУ гидроабразивной резки устанавливает данную функцию и последовательность выполнения операций следующая:

      контроль соответствующей передачи, соединение

      время задержки 400 м/с

      поломка №1

    M71- остановка масляного насоса станка гидроабразивной резки

    M71 обычно возникает перед М02, которая обозначает остановку масляного насоса после резки. Данная функция такая же, как и нажатие кнопки остановки.

    M72- остановка водяного насоса

    Когда высвечивается M72, двигатель насоса прекращает работу. Данная функция совпадает с функцией кнопки остановки насоса оборудования гидроабразивной резки.

    M73- запуск системы подачи воды под высоким давлением

    Когда высвечивается M73, открывается клапан подачи воды под высоким давлением. Данная функция совпадает с функцией нажатия кнопки системы подачи воды под высоким давлением.

    M74- остановка системы подачи воды под высоким давлением

    Когда высвечивается M74, закрывается клапан подачи воды под высоким давлением. Данная функция совпадает с функцией нажатия кнопки остановки системы подачи воды

    под высоким давлением.

    M75- открытие клапана подачи песка

    Появление М 75 означает открытие клапана подачи песка. Данная функция совпадает с функцией нажатия кнопки открытия клапана подачи песка для гидроабразивной резки.

    M76- закрытие клапана подачи песка

    Появление М 76 означает закрытие клапана подачи песка. Данная функция совпадает с функцией нажатия кнопки закрытия клапана подачи песка.

    F, S, T Функции.

    1. F-функция выбора подачи.

    Функция выбора подачи обычно называется F-функция. При помощи данной функции вы можете непосредственно контролировать скорость подачи на каждой оси. F-функция может обозначаться буквой F и цифрами, которые следуют за буквой, а также обозначением скорости подачи, которое выражается в мм/мин.

    Скорость подачи в данной системе изменяется от 9 до 1300 мм/мин. Значения скорости гидроабразивной резки можно выбирать произвольно в зависимости от требуемых условий резки.

    2. Т- функция выбора инструмента.

    Функция выбора инструмента также называется как функция Т. При помощи данной функции осуществляется выбор инструмента. Функция выбора инструмента обозначается буквой Т цифрами, которые ставятся после обозначения Т. В системе содержится до 20 названий параметров выбора инструмента, от Т01 до Т20. В режиме PARAM нажмите кнопку F2 и на экране высветится 20 параметров выбора инструмента. Оператор может выбрать на экране гидроабразивного станка любую кнопку параметра D в зависимости от диаметра инструмента.

    Если в программе необходима коррекция на радиус режущего инструмента гидрорезки, система контроля может обратиться к соответствующему параметру для его корректировки.

    При программировании обработки деталей на станках с ЧПУ в соответствии со стандартом 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 и многое другое.

    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);

    с двумя входными массивами размера 2x3, получим две выходные матрицы размера 2x3. То есть, одна и та же функция MatrProc1 может обрабатывать входные параметры различных размеров и размерностей! Можно вместо массивов применить эту функцию к скалярам (это всё равно массивы размера 1x1).

    Теперь рассмотрим вопрос о том, можно ли использовать эту функцию в составе выражений так, как это делается с функциями, возвращающими единственное значение? Оказывается это делать можно, причём в качестве значения функции, применяемого для дальнейших вычислений, используется первое из возвращаемых функцией значений. Следующее окно системы MATLAB иллюстрирует это положение:

    При вызове с параметрами 1,2,1 функция MatrProc1 возвращает два значения: 2 и 3. Для использования в составе выражения используется первое из них.

    Так как вызов любой функции можно осуществить, написав произвольное выражение в командном окне MATLABа, то всегда можно совершить ошибку, связанную с несовпадением типов фактических и формальных параметров. MATLAB не выполняет никаких проверок на эту тему, а просто передаёт управление функции. В результате могут возникнуть ошибочные ситуации. Чтобы избежать (по-возможности) возникновения таких ошибочных ситуаций, предлагается в тексте M-функций осуществлять проверку входных параметров. Например, в функции MatrProc1 легко осуществить выявление ситуации, когда размеры первого и второго входных параметров различны. Для написания такого кода требуются конструкции управления, которые мы пока ещё не изучали. Самое время приступить к их изучению!

    Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB, детище фирмы The MathWorks, Inc., – это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения. Наиболее известные области применения системы MATLAB:

    Математика и вычисления;

    Разработка алгоритмов;

    Вычислительный эксперимент, имитационное моделирование, макетирование;

    Анализ данных, исследование и визуализация результатов;

    Научная и инженерная графика;

    Разработка приложений, включая графический интерфейс пользователя.

    MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками.

    Версия MATLAB 6.1 - это предпоследнее достижение разработчиков (последнее - MATLAB 6.5).

    Система MATLAB - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. Именно поэтому пакеты прикладных программ - MATLAB Application Toolboxes, входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировых достижений.

    Операционная среда системы MATLAB 6.1. Операционная среда системы MATLAB 6.1 - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром через диалог с пользователем через командную строку, редактор М-файлов, взаимодействие с внешними системами Microsoft Word, Excel и др.

    После запуска программы MATLAB на дисплее компьютера появляется её главное окно, содержащее меню , инструментальную линейку с кнопками и клиентскую часть окна со знаком приглашения . Это окно принято называть командным окном системы MATLAB (рис. 1).

    Меню Файл (рис. 2) объединяет обычные функции: Правка отвечает за изменение содержания Окна команд (отмена, повтор, вырезать, копировать, вставить, выбрать всё, удалить и др.) и за очистку некоторых окон MATLAB; меню Вид – за оформление Рабочего стола; меню Web – запускает Web-страницы из Internet; меню Окно – работает с редактором/отладчиком М-файлов (закрывает все М-файлы, делает текущим один из них); меню Помощь – работает со справочной документацией и демонстрациями.


    Особого рассмотрения заслуживает опция Предпочтения ... (выбор характеристик), которая при выборе открывает окно, включающее слева дерево объектов (рис. 3), а справа их возможные характеристики.

    Инструментальная панель командного окна системы MATLAB позволяет обеспечить простой доступ к операциям над М-файлами: создание нового М-файла; открытие существующего М-файла; удаление фрагмента; копирование фрагмента; вставка фрагмента; восстановление только выполненной операции и др.

    В клиентской части командного окна MATLAB после знака приглашения можно вводить различные числа, имена переменных и знаки операций, что в совокупности составляет некоторые выражения. Нажатие клавиши Enter заставляет систему MATLAB вычислить выражение или, если оно не вычисляется, повторить его. Хотя знак «;» в конце строки гасит вывод результата (эхо-вывод).

    Таким образом, в клиентской части командного окна MATLAB пользователь может сразу писать команды, образующие отдельные вычисления или целую программу.

    Итак, были подвергнуты разбору структурные части командного окна MATLAB. Но кроме них существуют ещё несколько элементов MATLAB, которые помогают при работе:

    Команды - окно, содержащее по порядку введённые ранее команды в Окне команд («история команд»).

    Рабочая область – это область памяти MATLAB, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who (выводит только имена переменных) и whos (выводит информацию о размерах массивов и типе переменной) или в отдельном окне под тем же названием. В нём можно выполнить следующие операции: загрузить файл данных, сохранить Рабочую область как (команды позволяют открыть и сохранить содержимое рабочей области в двоичном MAT-файле), удалить выбранные переменные; открыть выбранные переменные (где можно изменить их значение). Кроме этого в меню Правка можно очистить как Окно команд и Историю команд, так и Рабочую область (или выполнить команду в Окне команд: clear ).

    Для сохранения и запуска Рабочей области можно использовать команды load и save.

    Пример.

    Saving to: matlab.mat

    >> save my.mat

    >> load my.mat

    >> save my2

    >> load my2

    Текущий каталог – окно, являющееся своеобразным «проводником» по каталогам MATLAB.

    Запустить Редактор – окно, отражающее дерево структурных элементов MATLAB и других установленных вместе с ним программных средств, которые можно запускать двойным левым щелчком мыши. Например, это окно может выглядеть, как показано на рис 9.

    Редактор/отладчик М-файлов – один из важнейших структурных частей MATLAB, который может быть открыт выбором соответствующей опции в главном меню, на инструментальной панели или вызван из командной строки командой edit или edit <имя М-файла> и позволяющий создавать и редактировать М-файлы.

    Редактор/отладчик поддерживает следующие операции: создание нового М-файла; открытие существующего М-файла; сохранение М-файла на диске; удаление фрагмента; копирование фрагмента; вставка фрагмента; помощь; установить/удалить контрольную точку; продолжить выполнение и др.

    GUIDE – графический интерфейс пользователя, в котором происходит создание законченных приложений.

    Интерактивный сеанс работы. М-файлы . Интерактивный режим – это пользовательский режим ввода с клавиатуры команд и выражений, в результате выполнения которых получаются необходимые числовые результаты, которые можно легко и быстро визуализировать встроенными графическими средствами пакета MATLAB. Но использование этого режима для создания и сохранения конкретной программы невозможно. Поэтому создатели MATLAB кроме Окна команд, в котором реализован интерактивный режим, выделили специальные файлы, содержащие коды языка MATLAB, и назвали M-файлами (*.m). Для создания M-файла используется текстовый редактор (редактор/отладчик М-файлов).

    Работа в редакторе M-файлов. Работа из командной строки MatLab затрудняется, если требуется вводить много команд и часто их изменять. Самым удобным способом выполнения команд является использование M -файлов, в которых можно набирать команды, выполнять их все сразу или частями, сохранять в файле и использовать в дальнейшем. Для работы с M -файлами предназначен редактор M -файлов. При помощи редактора можно создавать собственные функции и вызывать их, в том числе и из командной строки.

    Раскройте меню File основного окна MatLab и в пункте New выберите подпункт M-file. Новый файл открывается в окне редактора M -файлов (рис. 10). Запишем в файл программу вычисления среднего арифметического пере-

    менных a и b, затем сохраним с именем fun1.m. Сравните способы решения задачи, представленные в таблице.

    В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 7 бит. Однако каждый производитель вносит свои особенности, которые реализуются через подготовительные (G-коды) и вспомогательные (M-коды) функции.

    Функции с адресом G – называются подготовительными , они определяют условия работы станка связанные с программированием геометрии перемещения инструмента. Подробное описание G-кодов можно найти в главе код ИСО 7 бит .

    В данной главе подробно рассмотрим назначение вспомогательных функций.

    Функции с адресом M – называются вспомогательными (от анг. Miscellaneous) и предназначены для управления различными режимами и устройствами станка.

    Вспомогательные функции могут использоваться одиночно или совместно с другими адресами, например, кадр ниже производит установку инструмента с номером 1 в шпиндель.

    N10 T1 M6, где

    T1 – инструмент номер 1;
    M6 – смена инструмента;

    В данном случае под командой М6 на стойке ЧПУ скрывается целый набор команд, которые обеспечивают процесс замены инструмента:

    Перемещение инструмента в позицию смены;
    - выключение оборотов шпинделя;
    - перемещение устанавливаемого инструмента в магазине;
    - замена инструмента;

    Использование М-кодов допускается в кадрах с перемещением инструмента, например в строке ниже охлаждение включится (M8) одновременно с началом движения фрезы.

    N10 X100 Y150 Z5 F1000 M8

    М-коды, включающие какое-либо устройство станка, имеют парный М код, который это устройство выключает. Например,

    M8 – включить охлаждение, M9 – выключить охлаждение;
    M3 – включить обороты шпинделя, M5 – выключить обороты;

    Допускается использование нескольких М команд в одном кадре.

    Соответственно чем больше устройств имеет станок, тем больше М команд будет задействовано в его управлении.

    Условно все вспомогательные функции можно разделить на стандартные и специальные . Стандартные вспомогательные функции используются производителями ЧПУ для управления устройствами, имеющимися на каждом станке (шпиндель, охлаждение, смена инструмента и т.д.). Тогда как специальные программируют режимы на одном конкретном станке или группе станков данной модели (вкл/выкл измерительную головку, зажим/разжим поворотных осей).

    На картинке выше представлен поворотный шпиндель многоосевого станка. Для увеличения жесткости при позиционной обработке станок оснащен зажимами поворотных осей, которые управляются М кодами: M10/M12 – включить зажимы для осей A и С. М11/М13 – выключить зажимы. На другом оборудовании производитель станка может данные команды настроить на управление другими устройствами.

    Список стандартных М команд

    M0 – останов программы;
    M1 – останов по требованию;
    M2 – конец программы;
    M3 – включить обороты шпинделя по часовой стрелке;
    M4 – включить обороты шпинделя против часовой стрелки;
    M5 – останов шпинделя;
    M6 – автоматическая смена инструмента;
    M8 – включить охлаждение (как правило СОЖ);
    M9 – выключить охлаждение;
    M19 – ориентация шпинделя;
    M30 – завершение программы (как правило со сбросом всех параметров);
    M98 – вызов подпрограммы;
    M99 – возврат из подпрограммы в основную;

    Специальные вспомогательные функции производитель станка описывает в соответствующей технической документации.