в чем преимущество модальных g кодов перед немодальными

§ 11. Модальность. Группы кодов

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

На фрагменте ниже программируется ускоренное перемещение (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 кодов перед немодальными

Для управления автоматизированными обрабатывающими центрами применяется язык программирования, созданный специально для этих целей, — 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. Два варианта одной программы

Не нашли, что искали? Воспользуйтесь поиском:

Источник

Модальные команды

в чем преимущество модальных g кодов перед немодальнымиАвтор предупреждает! Статья не дописана!
Данная статья не дописана и требует до- или, даже, переработки. Примеры и данные в этой статье могут быть не проверены, тесты не отлажены, а информация не действительна. Я постараюсь, чтобы таких статей было по-меньше, но пока они есть. Смотрите: NikiWiki:Отказ от ответственности

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

Две команды одной модальной группы не могут действовать одновременно. Так, например, G00 отменит действие G01 или G02 и наоборот. Станок не может перемещаться сразу в двух точках, по этой причине все модальные команды объединены в группы.

Пример использование

Примером модальной команды может служить команда ускоренного перемещения G00, действие которой влияет на все команды из других групп. Так, например, если командой G00 X100 ось X станка была переведена в позицию 100, то любая другая команда из другой группы будет начинать свое действие именно из этой позиции.

Приведенный пример переведет станок из текущей (какая бы она не была) в позицию X=100 (будет задействована одна ось X, остальные останутся в том же положении) и затем произведет фрезеровку окружности диаметром 20мм со скоростью подачи 100мм/мин.

Дополнительная информация

Группы модальных команд собраны в категории Категория:G модальные группы команд

Особенности для LinuxCNC

Отладка данного фрагмента кода производилась в LinuxCNC, учитывая то, что найденные мной в пространстве Интернет примеры кодов подпрограмм не на 100% соответствовали этой, смею предположить, что такой синтаксис характерен именно для используемой мной программы управления станком, а не любой другой.

Источник

Русские Блоги

Программирование диалогового окна MFC 1 (модальное и немодальное)

2. Немодальный
1) См. то же самое выше. Но появилось окно

выбор параметра showWindow ()в чем преимущество модальных g кодов перед немодальными

2) В основном Dlg.h добавить

Этот немодальный режим не мигает, но второй щелчок возвращает ошибку
3) Внесите изменения на основе 2)

Добавить в OnInitDialog () основного Dlg.app

Таким образом при обработке событий

Интеллектуальная рекомендация

Статическая и динамическая отправка в Java

в чем преимущество модальных g кодов перед немодальными

Освойте команду jar

в чем преимущество модальных g кодов перед немодальными

Упражнение «Think Python» 4-1: Пример схемы стека кода и размышления об остановке в этой главе

Глава 4 Пример: дизайн интерфейса Упражнение 4-1. Пример схемы стека кода в этой главе, точка остановки отклоняется от мышления 4.1 Упражнение 4.1.1】 Нарисуйте диаграмму стека, чтобы показать состояни.

Конвертировать PDF в SWF файл

1. Необходимо использовать службу pdf2swf.exe Во-вторых, код выглядит следующим образом.

в чем преимущество модальных g кодов перед немодальными

Windows 10 Python 2.x совместим с Python 3.x

Некоторое время назад, из-за потребностей работы, Python 3.6.1, установленный на компьютере, использовал модуль M2Crypto для шифрования закрытого ключа, и дешифрование открытого ключа всегда происходи.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *