Применение ПЛК в системах позиционирования. G-коды

Комплексная автоматизация промышленного производства
Рисунок 1 — Комплексная автоматизация промышленного производства

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

Современные системы ЧПУ, называемые CNC (англ. Computer Numerical Control), основаны на системе управления построенной на микроконтроллере (обычно самодельные блоки управления), промышленном компьютере или программируемом логическом контроллере (ПЛК).Любой станок с ЧПУ имеет два или более направления для движения, которые называемых осями. Причем движение по этим осям осуществляется точно и автоматически. На универсальном станке движение детали или инструмента порождается путем ручных операций, выполняемых станочником(например, вращением рукояток). Вместо этого станки с ЧПУ оснащены сервомоторами, которые приводятся в действие системой с ЧПУ, а та в свою очередь в точности исполняет команды управляющей программы. Обобщая, можно сказать, что тип движения (ускоренный, линейный или круговой), оси перемещений, величина и скорость перемещения программируются во всех типах систем с ЧПУ. На рисунке схема управления линейным перемещением на станке с ЧПУ.

Применение именно ПЛК для создания полноценной системы ЧПУ в локальных условиях набирает особую популярность. Стоимость готовых станков ЧПУ на базе промышленных компьютеров очень велика, и оправдывает себя в крупном производстве. Разработка системы основанной на ПЛК, позволяет создать решение не уступающее по характеристикам в быстродействие и, что самое главное, в гибкости более мощным станкам. ПЛК разработанные для управления приводами имеют специальную структуру предназначенную для считывания и вырабатывания команд управления. В структуру входят: мощный обрабатывающий процессор, быстродействующие входы/выходы, специальная среда программирования, способная сама обрабатывать программы специальных языков программирования, используемых в промышленных станках ЧПУ.

Самой распространенным из таких языков является стандарт RS274D или как его условно называют G-код. Данный язык был создан компанией Electronic Industries Alliance в начале 1960-х. Финальная доработка была одобрена в феврале 1980. Комитет ISO утвердил G-код, как стандарт ISO 6983-1:1982, Госкомитет по стандартам СССР – как ГОСТ 20999-83. В советской технической литературе G-код обозначается, как код ИСО 7-бит (ISO 7-bit).Программа, написанная с использованием G-кода, имеет жесткую структуру. Все команды управления объединяются в кадры-группы, состоящие из одной или более команд. Завершается программа командой M02 или M30. Порядок команд в кадре строго не оговаривается, но традиционно предполагается, что первыми указываются подготовительные команды, (например, выбор рабочей плоскости), затем команды перемещения, затем выбора режимов обработки и технологические команды.

Основные (называемые в стандарте подготовительными) команды языка начинаются с буквы G:

  • Перемещение рабочих органов с заданной скоростью (G00-G04)
  • Выполнение типовых последовательностей таких, как обработка отверстий и резьб (G80-G84)
  • Управление параметрами инструмента, системами координат, и рабочих плоскостей (G17-G19, G53-G59)

Технологические команды языка начинаются с буквы М. Включают такие действия, как:

  • Сменить инструмент (M06)
  • Включить/выключить шпиндель(M03, M04)
  • Включить/выключить охлаждение(M13, М14)
Получение G-кодов
Рисунок 2 — Получение G-кодов

Современные программы позволяют получить управляющую программу содержащую G-код из чертежей формата dxf, dwg (AutoCAD, Компас 3D) методом конвертирования в программах NCPlot (платная), ACE converter (бесплатная) так и самому создавать управляющую программу и эмулировать ее: ArtCAM, SolidCAM (платные), inkscape (бесплатная). Остается только правильно реализовать G-коды средствами ПЛК. Фирма Delta Electronics разработала специализированную серию программируемых логических контроллеров DVP-PM для создания локальных систем ЧПУ. Данный ПЛК может осуществлять, в зависимости от модели, 2-х или 3-осевую интерполяцию. Контроллер имеет высокоскоростные выходы для вырабатывания сигналов управления сервоприводом. Так как выходы обладают очень большой частотой срабатывания, до 500 кГц, то благодаря этому, в комплекте с сервоприводами, можно обеспечить высокое быстродействие всей системы а не ее отдельных компонентов. Мощный процессор обеспечивает как высокое быстродействие, так и вычисление большого объема информации.

Управление сервоприводами можно осуществлять специальными командами позиционирования, но основной отличительной особенностью является способность контроллера самому анализировать записанные в него G-коды. Конечно такие команды как смена инструмента, переключение рабочих поверхностей, циклы сверления или нарезание резьб, контроллер не осуществляет, так как это не его прямое назначение. ПЛК поддерживает инструкции G0—G4 (позиционирование инструмента) и G90—G92 (переключение системы координат), т. е. команды, отвечающие именно за перемещение инструмента. Происходит это следующим образом. Средой программирования контроллеров DVP-PM служит бесплатная программа PMSoft. Языки программирования это LD или IL, стандарта IEC61131-3. Добавление в листинг готовой программы управления основанной на G-кодах происходит путем экспортирования файла содержащего текст данной программы. Формат файла не имеет значения, т. к. PMSoft сам его распознает, но обычно используется стандартный *.txt.

Результат преобразования программы ПЛК с интегрированным G-кодом управления инструментом по осям
Рисунок 3 — Результат преобразования программы ПЛК с интегрированным G-кодом управления инструментом по осям

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

  1. Машинные: система оперирует импульсами. Выражается это так, конечное положение через 10 000 импульсов, скорость перемещения 10 кГц. Следовательно, мы должны точно настроить сервопривод и знать, что 10 000 импульсов это, к примеру, 50 см, а скорость 10 кГц соответствует 0,1 м/сек.
  2. Механические: длинна, скорость, угол перемещения задаются в единицах системы СИ. Предварительно необходимо в соответствующих регистрах задать единицы для перевода.
  3. Комбинированные: при задании координат используют механические единицы, а скорости — машинные.

В результате, инструкции и G-коды масштабируются в соответствии с выбранными нами единицами. При использовании G-кодов необходимо учитывать:

Общий алгоритм работы системы
Рисунок 4 — Общий алгоритм работы системы
  • G-коды полученные в CAM программе и не поддерживаемые контроллером не учитываются при выполнении.
  • Инструкция быстрого перемещения (G0) использует максимальную скорость перемещения.
  • Инструкции перемещения и скорость имеют преемство, т. е. в каждой строке кода если идет одна и та же команда необязательно прописывать каждый раз инструкцию и значение скорости, достаточно один раз задать инструкцию и затем задавать координаты. Выполнение инструкции будет идти до тех пор, пока не появится новая.
  • Задание системы координат, G90 и G9, выполняются первыми если в строке есть еще команды.
  • Неразделенные пробелом команды будут определены.
  • >Координаты и скорости с десятичной точкой будут умножены на 1000.

Контроллеры программируемые DVP-PM имеют модификацию как для двух, так и для трех осей. Если используем двухкоординатный PM, то рассмотрим ситуацию с моделированием перемещения по оси Z. В нашем случае это функции: поднять/опустить инструмент, функции захвата и т. п. Когда G-коды содержат координаты перемещения по оси Z, среда создает специальную подпрограмму (называется P255), которая вызывается в ходе программы и осуществляет перемещение по оси Z. В качестве сигнала управления для оси Z можно использовать: собственные дискретные выходы (если перемещения инструмента выполняет к примеру), либо другой ПЛК (например программируемый логический контроллер DVP-SS2) или модуль расширения с сервоприводом (если необходимо позиционирование).

Технические средства для построения системы
Рисунок 5 — Технические средства для построения системы

Разберем реальный пример:

Контур обработки
Рисунок 6 — Контур обработки
  1. Начертим контур обработки в CAD программе, к примеру в Компас-3D.
  2. Получим из чертежа G-код с помощью CAM программы NCPlot v2.21
  3. Сохраним полученный файл. Сохраняется в формате *.NC (можно открыть блокнотом и внести коррективы) и следующим шагом запишем его в PM.
Структура программы
Рисунок 6 — Структура программы
  • 01100 — Здесь разместили подготовительные команды (максимальная скорость, время разгона/замедления, система единиц)
  • Р255 — Подпрограмма для перемещения по оси Z (поднять/опустить) инструмент (срабатывает выход Y0)
  • 0ХО — G-код в подпрограмме перемещения (ОХО)
Выставление параметров перемещения по осям
Рисунок 7 — Выставление параметров перемещения по осям

Чтобы не прописывать вручную, зададим с помощью помошника следующие параметры перемещения по осям:

  • систему единиц, единицы перевода;
  • максимальную скорость,время разгона/замедления, скорость JOG;
  • параметры логики входов и ручного задания;
  • формат выходных импульсов, систему координат, начальную координату, электронный кулачковый.
Параметры в программе интсрукций
Рисунок 8 — Параметры в программе интсрукций

G-код сразу записывается в подпрограмму OX, так как в главной программе инструкции позиционирования применять нельзя. Удобнее G-код вызывать из подпрограмм с заголовком P, а в OX записывать параметры перемещения для обрабатываемого контура (скорость холостого хода, и т. п.) Так и поступим.

Параметры в программе интсрукций
Рисунок 8 — Параметры в программе интсрукций

Загрузим программу в ПЛК и с помощью встроенного в PMSoft монитора XYChart (перемещение по осям) посмотрим на перемещение инструмента по координатам XY. Жирным выделено рабочие перемещения а тонким, перемещение холостого хода.


 Наверх