Научно-исследовательская лаборатория систем ЧПУ |
|||||
|
|||||
|
Эквидистантный конверторЭквидистантный конвертор (далее «конвертор») предназначен для осуществления эквидистантной коррекции в файле управляющей программы. Входными данными конвертора являются файлы управляющей программы на языке ISO7bit. Выходными данными конвертора являются обработанные данные в виде текстового файла управляющей программы, также в формате языка ISO7bit.По своей сути конвертор представляет собой интерпретатор управляющих команд ISO7bit. Функционально конвертор разделен на два уровня: платформо-зависимый и платформо-независимый. Под платформой подразумевается конкретная версия управляющей системы с ее собственной версией языка управляющих программ ISO7bit. Платформо-независимый уровень включает в себя данные и методы обработки единые для всех платформ:
Платформо-зависимый уровень реализует особенности конкретной платформы:
Платформо-зависимый и платформо-независимый уровни тесно взаимодействуют. Если на платформо-независимом уровне представлены в основном данные и методы их получения и хранения, то на платформо-зависимом уровне описаны правила преобразования этих данных и методы получения выходных форматов этих данных. Ниже приведена схема работы эквидистантного конвертора. Рис.1 Схема работы эквидистантного конвертора Кадр управляющей программы в виде тестовой строки поступает на вход конвертора. Здесь, он транслируется во внутреннее представление. Полученные данные обрабатываются:
Дальнейшая работа зависит от того, находится ли конвертор в режиме эквидистантной коррекции. Если нет, то данные сразу передаются на генерацию в выходной файл. В противном случае запускается механизм эквидистантной коррекции – кадр управляющей программы помещается в буфер и подвергается дополнительной обработке (анализу возможности пересечения с другими кадрами УП и коррекции геометрического перемещения в кадре). После этого обрабатываются 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с. |
||||
|