М функции. Основные функции cистем программного управления на станках ЧПУ. Список стандартных М команд

Поскольку сейчас речь пойдет только о неопределенном интеграле, то для сокращения термин «неопределенный» будем опускать.

Для того чтобы научиться вычислять интегралы (или, как говорят, интегрировать функции), нужно, прежде всего, выучить таблицу интегралов:

Таблица1. Таблица интегралов

2.
(
), u >0.

2a.
(α=0);

2б.
(α=1);

2в.
(α=).

3.

3а.

4.

5.

5а)

6а.

7.

7а.

8.

9.

10.

10а.

11.

11а.

12.

13.

13а.

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

Таблица 2. Таблица производных и правила дифференцирования:


6.а.

(sin и ) = cos и и

(cos u ) = – sin и и

А еще нам потребуется умение находить дифференциал функции. Напомним, что дифференциал функции
находят по формуле
, т.е. дифференциал функции равен произведению производной этой функции на дифференциал её аргумента . Полезно держать в памяти и следующие известные соотношения:

Таблица 3. Таблица дифференциалов

1.
(b = Const )

2.
(
)

3.

4.

5.
(b = Const )

6.

7.

8.

9.

10.

11.

12.

14.

15.

16.

17.

Причем использовать эти формулы можно, как читая их слева направо, так и справа налево.

Рассмотрим последовательно три основных приема вычисления интеграла. Первый из них называют методом непосредственного интегрирования. Оноснован на использовании свойств неопределенного интеграла, включает два основных приема: разложение интеграла на алгебраическую сумму более простых и подведение под знак дифференциала , причем эти приемы могут быть использованы как самостоятельно, так и в совокупности.

А) Рассмотрим разложение на алгебраическую сумму – этот прием предполагает использование тождественных преобразований подынтегральной функции и свойств линейности неопределенного интеграла:
и .

Пример 1. Найти интегралы:

а)
;
б)
;

в)
г)

д)
.

Решение.

а) Преобразуем подынтегральную функцию, разделив почленно числитель на знаменатель:

Здесь использовано свойство степеней:
.

б) Сначала преобразуем числитель дроби, затем разделим почленно числитель на знаменатель:

Здесь также использовано свойство степеней:
.

Здесь использовано свойство:
,
.

.

Здесь использованы формулы 2 и 5 таблицы 1.

Пример 2. Найти интегралы:

а)
; б)
;

в)
г)

д)
.

Решение.

а) Преобразуем подынтегральную функцию, используя тригонометрическое тождество :

.

Здесь вновь использовано почленное деление числителя на знаменатель и формулы 8 и 9 таблицы 1.

б) Аналогично преобразуем, используя тождество
:


.

в) Сначала разделим почленно числитель на знаменатель и вынесем за знак интеграла константы, затем используем тригонометрическое тождество
:

г) Применим формулу понижения степени:

,

д) Используя тригонометрические тождества, преобразуем:

Б) Рассмотрим прием интегрирования, который называют подведением под знак дифференциала . В основе этого приема лежит свойство инвариантности неопределенного интеграла:

если
, то для любой дифференцируемой функции и = и (х ) имеет место:
.

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

Например,
, но и
, и
, и
.

Или
и
, и
.

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

(в последнем примере записано ln(3 + x 2) вместо ln|3 + x 2 | , так как выражение 3 + x 2 всегда положительно).

Пример 3. Найти интегралы:

а)
; б)
; в)
;

г)
; д)
; е)
;

ж)
; з)
.

Решение.

а) .

Здесь использованы формулы 2а, 5а и 7а таблицы 1, две последние из которых получены как раз путем подведения под знак дифференциала:

Интегрировать функции вида
приходится очень часто в рамках вычисления интегралов от более сложных функция. Чтобы каждый раз не повторять описанные выше действия, рекомендуем запомнить соответствующие формулы, приведённые в таблице 1.

.

Здесь использована формула 3 таблицы 1.

в) Аналогично, учитывая что , преобразуем:

.

Здесь использована формула 2в таблицы 1.

г)

.

д) ;

е)

.

ж) ;

з)


.

Пример 4. Найти интегралы:

а)
б)

в)
.

Решение.

а) Преобразуем:

Здесь так же использована формула 3 таблицы 1.

б) Используем формулу понижения степени
:

Здесь использованы формулы 2а и 7а таблицы 1.

Здесь наряду с формулами 2 и 8 таблицы 1 использованы и формулы таблицы 3:
,
.

Пример 5. Найти интегралы:

а)
; б)

в)
; г)
.

Решение.

а) Произведение
можно дополнить (см. формулы 4 и 5 таблицы 3) до дифференциала функции
, где а и b – любые константы,
. Действительно, , откуда
.

Тогда имеем:

.

б) Используя формулу 6 таблицы 3, имеем
, а также
, значит, присутствие в подынтегральном выражении произведения
означает подсказку: под знак дифференциала нужно внести выражение
. Поэтому получаем

в) Так же как в пункте б), произведение
можно дополнить до дифференциала функции
. Тогда получим:

.

г) Сначала воспользуемся свойствами линейности интеграла:

Пример 6. Найти интегралы:

а)
; б)
;

в)
; г)
.

Решение.

а) Учитывая, что
(формула 9 таблицы 3), преобразуем:

б) Используя формулу 12 таблицы 3, получим

в) Учитывая формулу 11 таблицы 3, преобразуем

г) Используя формулу 16 таблицы 3, получим:

.

Пример 7. Найти интегралы:

а)
; б)
;

в)
; г)
.

Решение.

а) Все представленные в этом примере интегралы имеют общую особенность : подынтегральная функция содержит квадратный трехчлен. Поэтому и способ вычисления этих интегралов будет основан на одном и том же преобразовании – выделении полного квадрата в этом квадратном трехчлене.

.

б)

.

в)

г)

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

Вспомогательные функции (или М -коды) программируются с помощью адресного слова М . Вспомогательные функции используются для управления программой и электроавтоматикой станка - включения/выключения шпинделя, охлаждающей жидкости, смены инструмента и др.

Таблица 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 раза

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

На множестве 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

Инструменты разработки программного обеспечения

Отладка и тестирование, организация крупных проектов, интеграция с системой контроля версий, упаковка тулбоксов