Научно-исследовательская лаборатория систем ЧПУ
Научно-исследовательская лаборатория систем ЧПУ

Поиск по сайту:
 

Расписание курсов "Программирование SINUMERIK 810D/840D/840Di"



Эквидистантный конвертор

Эквидистантный конвертор (далее «конвертор») предназначен для осуществления эквидистантной коррекции в файле управляющей программы. Входными данными конвертора являются файлы управляющей программы на языке ISO7bit. Выходными данными конвертора являются обработанные данные в виде текстового файла управляющей программы, также в формате языка ISO7bit.

По своей сути конвертор представляет собой интерпретатор управляющих команд ISO7bit. Функционально конвертор разделен на два уровня: платформо-зависимый и платформо-независимый. Под платформой подразумевается конкретная версия управляющей системы с ее собственной версией языка управляющих программ ISO7bit.

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

Платформо-зависимый уровень реализует особенности конкретной платформы:
  •   Набор конкретных G и M функций
  •   Интерпретатор управляющей программы
  •   Модель кадра управляющей программы
  •   Модуль представления выходных данных

Платформо-зависимый и платформо-независимый уровни тесно взаимодействуют. Если на платформо-независимом уровне представлены в основном данные и методы их получения и хранения, то на платформо-зависимом уровне описаны правила преобразования этих данных и методы получения выходных форматов этих данных. Ниже приведена схема работы эквидистантного конвертора.

Рис.1 Схема работы эквидистантного конвертора

Кадр управляющей программы в виде тестовой строки поступает на вход конвертора. Здесь, он транслируется во внутреннее представление. Полученные данные обрабатываются:
  • Выделяются геометрические перемещения в кадре
  • Определяются обработчики для G функций, представленных в кадре

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

Обработка эквидистантного контура


Рис. 2. Кольцевой буфер

Для анализа эквидистантного контура дополнительно необходимо организовать хранение информация о предыдущих элементах контура. Для этих целей служит кольцевой буфер. Количество элементов в буфере определяет глубину эквидистантной коррекции. Буфер работает по принципу FIFO (first in first out).

Первым этапом эквидистантной коррекции является расчет новых параметров геометрических элементов контура с учетом радиуса инструмента (рис.3а).

Следующим этапом является расчет непрерывного контура (рис. 3b). На этом этапе ищутся точки пересечения соседних. Например, т.2’’ на рис.3b является точкой пересечения прямых 1’2a’ и 2b’3a’ (рис.3a). Если точки пересечения отсутствуют, то генерируется дополнительный. Например окружность 3a’3b’ или 4a’4b’. После расчета непрерывного контура кадр управляющей программы помещается в эквидистантный буфер.


Рис. 3. Генерация эквидистантного контура


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


Рис.4. Кольцевой буфер

Например, на рис. 4b пересекаются окружности 4a’4b’ и 9a’9b’. Результатом коррекции будет контур, представленный на рис. 3с.