Сосонкин_Системы_ЧПУ (1087166), страница 23
Текст из файла (страница 23)
Каждыйкадр генерирует HL_nO5 со своим относительным номером. Кадры, не содержащие информации для интерполятора, только увеличивают относительный номер следующего кадра. Признак «i» в заголовке означает прерываниеинтерполяции, а признак «п» - отсутствие прерывания.Глава 3. Задачи управления129В табл. 6. приведены примеры исходных текстов в коде ISO-7bit и соответствующие IPD-форматы на входе в интерполятор.Таблица 6.
Результаты работы ISO-процессорапо формированию IPD-форматов№1ПрограммаN10%CNC-Test1• N20 'commentN30 G90N40G00X20Y20N50 G01 Х50 Y50N60X100N70Y100N80 МЗО2N10%CNC-Test2N20 'commentN30 G91 G00 X20 Y20N40G01X30Y10F2000N50X100N60 Y100N70 G02 X10 Y10 110 JO F2500N80 МЗО3N10%CNC-Test3N20 *commentN30 G91N40 GOO X30 Y30N50 G300 G01 Z50G02 X20 Y20 I0 J20 F2500N60G01X100N70Y100N80 M30IPD-форматыHL_nO5(O)HL_nO5(3) HLJ02(10,0)HL_nO5(1) HL_i02(10,1)HL_nO5(1)DL_17(8)DLHL_nO5(1)DL_17(2)DLHL_nO5(1)HL_EndDL_06(20,20)DL_06(30,30)06(50)06(50)HL_n05(0)HL_nO5(2) HL_i02(10,0) DL_06(20,20)HL_nO5(1) HLJ01 (10,2000) DL_06(30,10)HL_nO5(1)DL_17(8)DL_06(100)HL_nO5(1) DL_17(2)DL_06(100)HL_nO5(1) HL_n01(2500) DL_17(10)DL_11(...)HL_nO5(1)HL_EndHL_n05(0)HL_nO5(3) HL_i02(10,0) DL_06(30,30)HL_nO5(1) H U 0 1 (12,2500) HL_nOO(3)DL_17(4)DL_06(50)DL_17(10)DL_11(...)HL_nO5(1)DL_17(8)HL_nO5(1)DL_17(2)HL_nO5(1)HL_EndDL_06(100)DL 06(100)Рассмотрим пример интерполятора, реализующего линейную, круговую и сплайновую интерполяции, а также их комбинации.
Модуль интерполяции подключен к общей объектно-ориентированной магистрали системы ЧПУ. Интерфейс интерполятора обеспечивает прием параметров интерполяции и оперативных сигналов управления интерполятором, а такжевыдачу данных о состоянии модуля интерполяции (рис. 78).в-| 30лСосонкин, Г.М. Мартинов. Системы числового программного управленияе< Приращения координат закаждый период таймера*fПускtsСтопJBАварийный остановпМаска аварийного состоянияконечных переключателей осейesСостояние интерполятораesСброс интерполятора в нуль&tsКоманды ручного управленияприводами подачиНомер кадра, отрабатываемогоинтерполяторомjt- Абсолютные значения всехкоординат11ИнтерполяторРис.
78. Интерфейс подключения интерполятора к общей магистралиСхема интерполятора приведена на рис. 79 в виде некоторого набораблоков, собственной внутренней шины и администратора. Кадры управляющей программы поступают на вход транслятора в IPD-формате, преобразуются во внутренний формат интерполятора, обрабатываются в блоке опережающего просмотра кадров Look Ahead (с целью сглаживанияскорости подачи) и запоминаются в кольцевом буфере. Транслятор формирует сообщения, в которых упакованы параметры интерполяции. Сообщения адресуются к определенным блокам интерполятора и могут быть главными и дополнительными.
Главные сообщения содержат данные, необходимые адресуемым блокам, а дополнительные сообщения содержат данныео перемещениях вдоль координатных осей. Таким образом, главные сообщения инициализируют блоки, которые должны быть задействованы в интерполяторе при отработке кадра управляющей программы, а с помощьюдополнительных сообщений инициализируются координатные оси, принимающие участие в интерполяции.Внутренняя шина интерполятора является «шиной быстрых процессов» и связывает между собой все блоки. Она реализована на базе объектно-ориентированного подхода и соединена с основной объектно-ориентированной шиной системы ЧПУ с помощью администратора. Блоки, участвующие в отработке текущего кадра, назначаются с помощьюспециального кода.
Этот код инициализируется в трансляторе и передается в администратор.Код Mode блока интерполятора занимает 1 байт и состоит из двух частей:Mode =хххх I хххх В| Номер блока в группеНомер группыГлава 3. Задачи управления131Объектно-ориентированная шинаАдминистраторБлок разгонаторможенияЛинейныйинтерполяторКруговойинтерполяторДанныеЗаданиеДанныеДанныеЗаданиеЗаданиеДанныеДанныеЗаданиеЗаданиеСплайновыйинтерполятор^Данные ^Блок ручногоуправленияДанныеЗаданиеСумматорТрансляторLook AheadЗаданиеДанныеЗаданиеИнтерполяторРис. 79. Структурная схема интерполятораБлоки интерполятора разделены по функциональному признаку на группы, как показано в табл. 7.Номер блока и режим его работы определяются в трансляторе в зависимости от содержания кадра управляющей программы.
В одном кадрепосле трансляции могут быть задействованы несколько блоков интерполяции из разных или одинаковых групп. Например, при воспроизведениина станке винтовой линии будут включены блоки линейного разгона-торможения (Mode = 1.0), круговой интерполяции (Mode = 3.1), линейной интерполяции (Mode = 3.0) и управления приводами подачи (Mode =7.0). Приобработке деталей на пяти- шестикоординатных станках возможна одно-В.Л.
Сосонкин, Г.М. Мартинов. Системы числового программного управл132Таблица 7. Кодирование блоков интерполятораГруппаModeНазначение группыРезервная группа00.01Признак конца кадраБлок управления скоростями и ускорениями1.0Блок разгона-торможенияРезервная группа23Контурные интерполяторы3.0Линейный интерполятор3.1Круговой интерполятор3.24Сплайновый интерполяторРезервная группа5Резервная группа6Резервная группа7Блоки управления приводами подачи7.0Сумматорвременная работа нескольких круговых и линейных или сплайновых интерполяторов.Значения номеров блока и группы определяют приоритет модуля приожидании в очереди к процессору. Блок с наименьшим номером имеет наивысший приоритет.
Приоритеты блоков можно менять путем присвоенияим других номеров.Режимы работы блоков интерполятора задаются кодом Codeln (табл. 8),который занимает один байт. Структура кода имеет следующий вид:Codeln =Оххх хххх ВКод интерполяцииПризнак кода интерполяцииТаблица 8. Кодирование режимов интерполятораРежим интерполяцииКодБлок разгона-торможения (Mode = 1.0)01Линейный закон разгона и торможения2Линейно-экспоненциальный закон разгона и торможенияЛинейно-параболический закон разгона и торможенияБлок линейной интерполяции (Mode = 3.0)01Быстрое позиционирование2Круговая интерполяция по часовой стрелке3Круговая интерполяция против часовой стрелкиЛинейная интерполяцияБлок круговой интерполяции (Mode = 3.1)Глава 3. Задачи управления-| 3 3Подобная схема кодирования обеспечивает гибкость и открытость интерполятора.
Возникает возможность построения администратора, который инвариантен к составу и количеству блоков интерполятора.Назначение блока Look Ahead опережающего просмотра состоит в определении условного времени отработки кадра в циклах интерполяторадля последующей коррекции контурной скорости и анализе в каждом кадре базовых параметров движения (вектора контурной скорости в начале иконце кадра, скорости по дополнительным координатным осям, пути восновной системе координат, радиуса кривизны траектории движения). Врезультате своей работы блок Look Ahead определяет скорость в конце кадра(конечную скорость) и новое значение контурной скорости подачи.Общая схема работы интерполятора выглядит следующим образом.После предоставления кванта процессорного времени администратор (построенный по схеме микропрограммного автомата) посылает запрос транслятору на получение кодов блоков интерполятора, которые должны бытьзапущены.
Получив коды, администратор запускает блоки в порядке ихприоритетов, причем перед каждым запуском устанавливает одну из следующих команд: «ЗАГРУЗКА», «РАБОЧ ИЙ ТАКТ», ЗАВЕРШАЮЩИЙ ТАКТ»,«АВАРИЙНОЕ ТОРМОЖЕНИЕ»,«ОСТАНОВ ИНТЕРПОЛЯТОРА»,«СБЮСИНТЕРПОЛЯТОРА», «ПУСК ИНТЕРПОЛЯТОРА».Список команд можно изменять и расширять путем перепрограммирования администратора. Процесс загрузки нового кадра совпадает с завершающим тактом интерполяции предыдущего кадра.
Завершающий такт интерполяции состоит в выходе в конечную точку траектории и не требуетсколько-нибудь сложных вычислений. По команде «РАБОЧИЙ ТАКТ» каждый из интерполяторов обращается с запросом к блоку разгона-торможения и получает от него значение приращения пути, которое необходимопройти вдоль контура в цикле интерполяции. Блок разгона-торможения запускается ранее интерполяторов, поскольку имеет более высокий приоритет.Блок «СУММАТОР» формирует суммарные приращения пути из отдельных составляющих и выдает их на приводы подачи. Кроме того, сумматорнакапливает абсолютные значения координат и хранит их в течение всеговремени работы. По команде «УСТАНОВКА ФИКСИРОВАННОЙ ТОЧКИ»сумматор инициализирует абсолютные координаты.
В этом же блоке работает и алгоритм коррекции погрешностей ходовых винтов.ЗаключениеГеометрическая задача ЧПУ полагается традиционной, однако требования к ней за последнее время существенно изменились (усложнились).Эти изменения связаны с внедрением общей концепции открытых системуправления, а также с использованием объектно-ориентированной техно-•| 3 4В.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управлениялогии программирования, которая только одна в силах справиться с нарастающими сложностью и объемом математического обеспечения систем ЧПУ.3.2.
Реализация логической задачи управленияИзложен подход к реализации логической задачи числового программного управления мехатронными системами. В рамках жизненного цикла логической задачи рассмотрены фазы программирования, интерпретации программы и исполнения. На первой фазепредставляется важным применение визуальных средств программирования, которые дают оператору инструмент для графической диалоговой разработки программы управления электроавтоматикой, причем эта программа интерпретируется в исполняемые C++коды без компиляции в промежуточный язык. Приэтом изменяется (в сторону существенно большей эффективности) сама структура математического обеспечения системы логического управления.Логическая задача, являясь по сути системой управления цикловой электроавтоматикой, реализуется двояко: программно в рамках системы ЧПУили с помощью программируемого контроллера.
Традиционный контроллер - это специализированный аппарат, дооснащенный терминалом в видеперсонального компьютера. При этом возрастание мощности и уровня сервиса персонального компьютера позволяет объединить терминал, программатор и собственно контроллер в рамках единой компьютерной архитектуры с дополнительным модулем ввода-вывода сигналов электроавтоматики.Существует прообраз, который называют системой РСС (Personal ComputerController- персональный программируемый контроллер).
Прогнозируя развитие концепции РСС, можно постулировать такие ее особенности:• использование однокомпыотерного варианта, с операционной системой Windows NT и расширением реального времени;• увеличение числа функций интерфейса оператора за счет многорежимного управления и применения встроенных инструментальных систем программирования;• поддержание в реальном времени динамических графических моделей (мнемограмм) управляемого объекта;• построение терминальной части системы РСС по типу «виртуального прибора» [52,53];• применение визуального программирования электроавтоматики (например, по типу графического языка HighGraph фирмы Siemens, [54]) сгенерацией C++ кодов исполняемого модуля; организация многопоточного управления (multi-thread).Глава 3. Задачи управления•) 3 53.2.1.