М функции. Вспомогательные функции (м - коды). Список стандартных М команд

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

На множестве B=0,1 введём полный порядок: будем считать, что 0<1. Нам придётся иметь дело с функциями от n переменных, поэтому полезно ввести частичное упорядочение в булевом пространстве В n .

Определение 1. Пусть б=(б 1 б 2 …б n) и в=(в 1 в 2 …в n) - элементы из В n . Будем говорить, что б предшествует (младше) в, и обозначать бв, если б k в k для k=1,2,…,n, причём хотя бы для одного k имеет место строгое неравенство.

Пример. б=(001100), в=(001110); б 1 =в 1 , б 2 =в 2 , б 3 =в 3 , б 4 =в 4 , б 5 <в 5 , б 6 =в 6 . Значит, бв.

Определение 2. Два вектора б и в называются сравнимыми между собой, если бв или вб. В противном случае векторы считаются несравнимыми. Частичным такой порядок называется потому, что не все элементы из В n сравнимы. Поэтому не надо путать частичный порядок на В n с полным упорядочением, которое использовалось при задания булевой функции таблицей или вектором её значений.

Вот пара примеров несравнимых между собой векторов.

1. б =(1100), в =(0110). Здесь б 1 > в 1 , б 2 =в 2 , б 3 < 3 , б 4 =в 4 .

2. б =(01), в =(10). Здесь б 1 < в 1 , б 2 > в 2 .

Из примеров видно, что несравнимые наборы - это те, в которых есть компоненты типа (01) в одном наборе и (10) в другом наборе на соответствующих местах.

Определение 3. Функция f(х 1 ,…,х n) называется монотонной (принадлежит классу М), если для любых двух сравнимых между собой наборов б, в В n из того, что б предшествует в, следует, что f(б) не больше f(), то есть бв f(б) f(в).

Если же существует такая пара наборов, что бв, но f(б) > f(в), то функция f(х1,…,хn) - немонотонная По аналогии с непрерывными функциями, которые изучаются в курсе математического анализа, функции алгебры логики можно было бы назвать неубывающими . Но поскольку мы не будем иметь дело с невозрастающими функциями, можно говорить просто о монотонности ..

Пример 20. Тождественная функция f(x) = x является монотонной, поскольку б=(0) (1)=в и f(б)=0 < 1=f()

Пример 21. f(x,y) = xy - монотонная функция.

Действительно, наборы (01) и (10) несравнимы, их в расчёт брать не будем. Для других наборов имеем:

(00)-- (11) и f(0,0)=0 1= f(1,1).

(01) (11) и f(0,1)=1 1= f(1,1).

(10)-- (11) и f(1,0)=1 1= f(1,1).

Мы убедились, что xy равна 0 лишь на наборе (00), который предшествует всем остальным наборам, так что условие монотонности функции выполняется.

Пример 22. f(x,y)=x&y - монотонная функция, т.к. равна 1 лишь на наборе (11), которому предшествуют все остальные.

Пример 23. Константы 0 и 1 являются монотонными функциями, т.к. для любых наборов будет f(б)=f(в).

Пример 24. f(x)=x" - немонотонная функция, т.к. при б=(0) и в=(1) имеем бв, но f(б)=1> 0=f(в).

Пример 25. f(x,y)=xy - немонотонная функция.

Действительно,

(00)---- (01) и f(0,0)=1 1=f(1,1) ,

(10)---- (11) и f(1,0)=0 1=f(1,1).

Но при (00)---- (10) получим

f(0,0)=1 > 0=f(1,0).

Условие монотонности функции не выполняется!

Пример 26. Определим монотонность функции сложение по модулю 2:

Наборы (01) и (10) несравнимы, их в расчёт брать не будем.

Для других наборов имеем:

(00) (01) и f(0,0)=0 1= f(0,1).

(00)-- (10) и f(0,0)=0 1= f(1,0).

(00) (11) и f(0,0)=0 0= f(1,1).

(10) (11) и f(1,0)=1 > 0= f(1,1).

Последнее условие говорит о том, что функция x+y немонотонна.

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(Скорость резания в м/мин или фут/мин).

Язык технических вычислений

Миллионы инженеров и ученых во всем мире используют 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 раза

В настоящее время для программирования систем ЧПУ используется множество языков программирования, в основе которых лежит универсальный язык ИСО 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 – возврат из подпрограммы в основную;

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



Понравилась статья? Поделиться с друзьями: