в чем преимущество модальных g кодов перед немодальными
§ 11. Модальность. Группы кодов
На фрагменте ниже программируется ускоренное перемещение (G0) в точку на безопасной плоскости, после чего происходит переключение на режим рабочего движения фрезы (кадр N30).
.
N10 G0 X0 Y0
N20 Z10
N30 G1 Z5 F100
N40 X10 Y5.5
.
В кадрах N20 и N40 движение происходит на режимах заданных кадром выше. Соответственно по принципу модальности вывод G0 и G1 в этих кадрах не нужен. В кадре N30 также задается скорость перемещения фрезы 100 мм/мин. Она будет действовать пока не встрится новое значение с адресом F или изменен режим движения.
Код, действующий в пределах одного кадра программы называется немодальным. Его действие прекращается уже в следующем кадре.
Группы кодов вспомогательных функций:
Группы кодов подготовительных функций:
G-коды для программирования станков с ЧПУ
Для управления автоматизированными обрабатывающими центрами применяется язык программирования, созданный специально для этих целей, — G-Code. Программа генерации G-кодов для станков с ЧПУ была разработана американской компанией Electronic Industries Alliance. В СССР программа была введена стандартом ГОСТ 20999-83 и в технической литературе получила наименование ISO 7-bit (ИСО 7-бит).
Система G-кодов для управления оборудованием с ЧПУ и 3D-принтерами представляет собой высокоуровневый язык. Программа содержит список команд, расположенных в определенной последовательности, и может при необходимости редактироваться в любом текстовом редакторе. Также она открывается в специализированных приложениях G-CodeViewer или Simplify3D.
Описание G-кодов и структуры управляющей программы
Алгоритм работы обрабатывающего центра задается набором команд, расположенных в установленном порядке. Программы, созданные на основе джи-кодов для станков с ЧПУ, отличаются жесткой структурой. Отдельные команды группируются в кадры; в некоторых из них команда может быть одна, в других — несколько. Все группы, за исключением первой, в обязательном порядке нумеруются и начинаются символом номера. Допускается добавление комментариев в круглые скобки.
Элементарные команды в кадрах выполняются в один и тот же промежуток времени, но традиционно размещаются в такой последовательности:
У подавляющего большинства интерпретаторов языка G-команд для станков с ЧПУ число элементарных команд в пределах кадра не превышает шести. Они могут быть как модальными, так и немодальными. Первые используются для изменения настроек или параметров, и их действие распространяется на все следующие за ними кадры вплоть до появления другой модальной команды. Соответственно, немодальные команды работают только в пределах своей группы.
Интерпретаторы программного языка, содержащего коды для ЧПУ, сохраняют показатели введенных данных на все время работы алгоритма. Изменение их происходит путем отмены или последующей модальной командой. Это упрощает процесс разработки и делает необязательным задание всех параметров в каждом кадре.
Группы команд G-кодов
Подготовительные программные коды имеют разные функции и управляют различными технологическими операциями. Так, некоторые из них устанавливают линейную или круговую скорость перемещения рабочих органов оборудования, а другие задают режимы обработки детали. С их помощью указываются значения параметров, и осуществляется управление координатными системами: относительной и абсолютной.
Для удобства освоения и использования все команды разделены на группы по определенному признаку. Перечислим основные:
Полный перечень групп G-кодов можно найти в справочниках по программированию на описываемом языке. Операторы станков с ЧПУ, как правило, изучают такие справочники в полном объеме.
Основные G-коды
Расшифровка всех G-кодов для ЧПУ дается в таблицах, которые можно найти в профильной учебной и технической литературе. Рассмотрим подробнее наиболее часто используемые команды:
Полная таблица кодов для ЧПУ содержит порядка 100 позиций с подробными описаниями команд. Выдержки из нее часто приводятся на профильных форумах в обсуждениях специалистов.
Написание G-кода и подготовительные функции
Перечисленные G-команды для ЧПУ считаются основными, но наряду с ними при написании программ используются и другие символы. Они имеют следующие значения:
Эти команды, помимо буквенных символов, содержат числовые параметры. Они указывают направление и скорость движения рабочих органов фрезерно-гравировальных устройств.
Подпрограммы, их запуск и уровни вложений
Функционал языка G-кодов для станков с ЧПУ предусматривает возможность циклического выполнения некоторого набора команд, в том числе размещенных в разных частях алгоритма. Такие неоднократно выполняемые последовательности операций называются подпрограммами, а каждая из них реализует заданный сценарий. При этом управление перемещением инструмента производится в системе относительных (инкрементных) координат. Переход к подпрограмме задается специальной командой G90, а выход из нее — G91.
В описании тела подпрограммы обязательно содержатся М-команды для ЧПУ, например, M30 (окончание). После нее допустимо использование команды M02, обозначающей завершение основной программы с именем вида O111 и любым другим аналогичным. Количество выполнений подпрограммы задается необязательным параметром L c числовым значением, например, L5. Тело обязательно завершается командой M99, предписывающей переход в основную программу.
Система M-кодов для ЧПУ допускает вложение подпрограмм одна в другую по принципу матрешки. При этом вызов вложения осуществляется специальным оператором. Количество уровней определяется конкретной версией программы-интерпретатора.
Компания MULTICUT осуществляет продажу высокопроизводительных обрабатывающих станков, а также выполняет их установку и обслуживание. Коды программирования для ЧПУ обязательно указываются в документации, входящей в комплект поставки. Наши инженеры предоставляют консультации по вопросам применения G-кодов по телефону и электронной почте.
Модальные и немодальные коды
Все станочные коды можно условно разделить на два класса в зависимости от их способности сохраняться в памяти СЧПУ. Немодальные коды действуют только в том кадре, в котором они находятся. Модальные коды, напротив, могут действовать бесконечно долго, пока их не отменят другим кодом.
Выделяют несколько групп кодов в зависимости от функции, которую они выполняют (табл. 5.2). Два модальных кода из одной группы не могут быть активными в одно и то же время.
Таблица 5.2. Коды по группам
Функциональная группа | Коды |
Перемещения | G00, G01, G02, G03 |
Тип координатной системы | G90, G91 |
Единицы ввода данных G20, G21 | |
Постоянные циклы | G80, G81, G82, G83, G84, G85… |
Рабочая система координат | G54, G55, G56, G57, G58… |
Компенсация длины инструмента | G43, G44, G49 |
Коррекция на радиус инструмента | G40, G41, G42 |
Возврат в постоянных циклах | G98, G99 |
Активная плоскость обработки | G17, G18, G19 |
Особенностью модальных кодов является то, что не нужно вводить активный код в последующие кадры. Например, код G01 используется для перемещения инструмента по прямой линии.
Если нам необходимо совершить множество прямых перемещений, то не обязательно в каждом последующем кадре писать G01. Для отмены кода G01 следует применить один из кодов той же самой функциональной группы (G00, G02 или G03). Большинство из G-кодов являются модальными. Программист должен знать, к какой группе и к какому классу принадлежит тот или иной код.
Хотя М-коды обычно не делят на модальные и немодальные, однако этот термин все же можно применить и к ним. Например, можно выделить группу М-кодов, отвечающих за подачу охлаждающей жидкости (М07, М08, М09) или за вращение шпинделя (М03, М04, М05). Тем не менее большинство М-кодов нужно рассматривать как немодальные. Некоторые стойки ЧПУ допускают программирование только одного М-кода в кадре.
Формат программы
Одна и та же управляющая программа может выглядеть по-разному.
Так как G01 является модальным кодом, то совсем не обязательно указывать этот код в каждом кадре линейных перемещений.
СЧПУ читает первый кадр, в котором задается линейное перемещение по оси Z на глубину 1 мм (Z-1). Затем считывается второй кадр, в котором присутствуют координаты, но нет другого G-кода. Так как G01 является модальным кодом, то он сохраняется в памяти и используется СЧПУ для работы с новыми координатами. Можно сказать, что адреса X и Y также являются модальными. То есть значения координат сохраняются в памяти, пока СЧПУ не заменит (обновит) их другими значениями координат.
Система ЧПУ читает программу обработки кадр за кадром. При этом в буфер памяти системы попадает один или несколько кадров целиком. Для современных систем ЧПУ не принципиально, в каком месте кадра находится тот или иной код (слово данных). Однако некоторые станки, имеющие старые системы ЧПУ, могут быть очень придирчивы к порядку слов данных в кадре и к пробелам между ними.
Для того чтобы программисту было легче создавать и читать УП, рекомендуется следующий порядок расположения слов данных и знаков программирования в кадре:
1. код пропуска кадра (/);
3. подготовительные функции (G-коды);
4. адреса осевых перемещений (X, Y, Z, I, J, К, А, В, С);
5. команда подачи (F);
6. команда числа оборотов (S);
7. вспомогательные функции (М-коды).
После номера кадра N обычно следует G-код. Это как глагол в предложении – G-коды говорят нам, какую функцию несет каждый кадр. Далее следуют адреса и координаты позиций осевых перемещений. М-коды обычно ставятся в конец кадра. Это правило действует, когда в кадре присутствует G-код.
В УП не допускаются пробелы между адресом (буквой) и числом или внутри G- и М-кодов.
Большинство современных стоек прекрасно работает и без пробелов между словами данных. Удаление пробелов позволяет сократить размер управляющей программы. Однако человеку, в отличие от компьютера, будет непривычно читать УП в таком варианте. Сравните два варианта одного и того же кадра:
Первый вариант явно читается легче, что означает меньшую вероятность ошибки при написании или проверке программы обработки.
Номера кадров для большинства современных СЧПУ не обязательны. Они используются для облегчения поиска требуемой информации в УП и для создания переходов к определенному кадру в некоторых особых случаях.
Необходимо уделить особое внимание числовому формату, с которым ваша стойка ЧПУ сможет работать. Обычно система ЧПУ работает с десятичным форматом и позволяет использовать несколько знаков до десятичной точки и несколько знаков после нее (например, 999.999). Возможны различные варианты употребления ведущих (перед десятичной точкой) и последующих (после десятичной точки) нулей.
В некоторых случаях наличие десятичной точки в определенных словах данных обязательно, а в других случаях недопустимо. Поэтому внимательно ознакомьтесь с разделом документации станка с ЧПУ, в котором говорится о формате программирования.
При работе с положительными числами не требуется вводить знак «+», так как СЧПУ исходит из положительного значения числа, если не введен никакой знак. Но при необходимости ввода отрицательного числового значения знак «–» должен быть запрограммирован обязательно.
Теперь мы можем сравнить первоначальный вариант программы обработки паза и новый вариант, созданный в этой главе (табл. 5.3). Несмотря на то что второй вариант УП имеет меньший размер (экономия программной памяти системы ЧПУ), его гораздо труднее читать.
При работе с «экономичной» версией УП появляется вероятность сделать ошибку или ее не заметить. Так как современные СЧПУ и компьютеры обладают достаточно большим объемом памяти, то нет смысла «экономить байты», убирая пробелы между словами данных, не ставя номеров кадров и забывая про комментарии.
Таблица 5.3. Два варианта одной программы
Не нашли, что искали? Воспользуйтесь поиском:
Модальные команды
Автор предупреждает! Статья не дописана! Данная статья не дописана и требует до- или, даже, переработки. Примеры и данные в этой статье могут быть не проверены, тесты не отлажены, а информация не действительна. Я постараюсь, чтобы таких статей было по-меньше, но пока они есть. Смотрите: NikiWiki:Отказ от ответственности |
Модальными называются команды, чье действие в пределах соответствующей модальной группы сохраняется до окончания программы или отмены действия предыдущей команды последующей.
Две команды одной модальной группы не могут действовать одновременно. Так, например, G00 отменит действие G01 или G02 и наоборот. Станок не может перемещаться сразу в двух точках, по этой причине все модальные команды объединены в группы.
Пример использование
Примером модальной команды может служить команда ускоренного перемещения G00, действие которой влияет на все команды из других групп. Так, например, если командой G00 X100 ось X станка была переведена в позицию 100, то любая другая команда из другой группы будет начинать свое действие именно из этой позиции.
Приведенный пример переведет станок из текущей (какая бы она не была) в позицию X=100 (будет задействована одна ось X, остальные останутся в том же положении) и затем произведет фрезеровку окружности диаметром 20мм со скоростью подачи 100мм/мин.
Дополнительная информация
Группы модальных команд собраны в категории Категория:G модальные группы команд
Особенности для LinuxCNC
Отладка данного фрагмента кода производилась в LinuxCNC, учитывая то, что найденные мной в пространстве Интернет примеры кодов подпрограмм не на 100% соответствовали этой, смею предположить, что такой синтаксис характерен именно для используемой мной программы управления станком, а не любой другой.
Русские Блоги
Программирование диалогового окна MFC 1 (модальное и немодальное)
2. Немодальный
1) См. то же самое выше. Но появилось окно
выбор параметра showWindow ()
2) В основном Dlg.h добавить
Этот немодальный режим не мигает, но второй щелчок возвращает ошибку
3) Внесите изменения на основе 2)
Добавить в OnInitDialog () основного Dlg.app
Таким образом при обработке событий
Интеллектуальная рекомендация
Статическая и динамическая отправка в Java
Освойте команду jar
Упражнение «Think Python» 4-1: Пример схемы стека кода и размышления об остановке в этой главе
Глава 4 Пример: дизайн интерфейса Упражнение 4-1. Пример схемы стека кода в этой главе, точка остановки отклоняется от мышления 4.1 Упражнение 4.1.1】 Нарисуйте диаграмму стека, чтобы показать состояни.
Конвертировать PDF в SWF файл
1. Необходимо использовать службу pdf2swf.exe Во-вторых, код выглядит следующим образом.
Windows 10 Python 2.x совместим с Python 3.x
Некоторое время назад, из-за потребностей работы, Python 3.6.1, установленный на компьютере, использовал модуль M2Crypto для шифрования закрытого ключа, и дешифрование открытого ключа всегда происходи.
- как убрать алфавит в меню пуск windows 10
- не удается восстановить доверительные отношения с доменом windows 10