Учебный стенд на базе токарного станка с компьютерным управлением: Учебное пособие, страница 20

Для этого будем использовать тот же устойчивый рекуррентный алгоритм, используемый для вычисления значений самого В-сплайна. При этом для k=3 получим таблицу, приведенную ниже.

Таблица 1

Матрица В-сплайнов

0

 

0

 

0

0

0

0

 
 

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

откуда получаем:

следовательно:

а также для компоненты Y:

При этом, для того, что бы избежать деления на 0, если  следует положить:

 

В итоге получим вектор скорости:

Для проведения таких вычислений необходимо знать на каком промежутке траектории    в данный момент находится инструмент станка, и кроме того нужно знать значение параметра t в данной точке траектории. Абсолютно точно это выяснить не представляется возможным, т.к. траектория может быть замкнутой или самопересекающейся. Поэтому значение  будем находить, исходя из предположения о том, что расстояние, на которое перемещается инструмент за время цикла управления, достаточно маленькое. Будем считать, что значение t изменяется на некоторую величину , которую найдем из приближенной формулы дифференциала дуги:

отсюда:

* получим, как расстояние пройденное инструментом от предыдущей точки:

Данные поступают в начале каждого цикла управления от датчиков обратной связи приводов. Получаем следующее выражение для изменения параметра t, за цикл управления:

Изменяя значение t на эту величину, мы сможем на каждом проходе цикла управления рассчитывать составляющие вектора скорости и  перемещать инструмент станка по заданной траектории.

Однако, при больших скоростях будет возрастать погрешность (рис.2). Это показало и моделирование движения инструмента, и практические испытания работы алгоритма без коррекции. Хотя при небольших скоростях возможно, что этот метод можно применять без коррекции.

 


Видно, что для достаточно больших скоростей подачи необходима процедура коррекции, при расчете вектора движения на каждой итерации управляющего цикла. Эта процедура не рассматривается в данной статье, так как на данный момент является «ноу-хау».                       

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

7.  Работа с имитаторАМИ УЧПУ и СТАНКА

          Имитаторы УЧПУ и станка имеют общее исходное окно, которое содержит клавиши инициирования главного окна с имитатором станка и пульта УЧПУ, а также клавишу выхода из программы.

          Имитатор УЧПУ (далее в тексте - УЧПУ) реализует основные функции УЧПУ класса CNC пятого-шестого поколения [1-25].

 Описание программы управления станками

Программа управления приводами станков написана на языке C++Builder. Это средство разработки выбрано не случайно. C++Builder стал одним из самых популярных на сегодняшний день инструментов для создания как настольных, так и корпоративных информационных систем благодаря уникальному сочетанию удобства разработки пользовательских интерфейсов, компонентной архитектуры, однотипности доступа к разнообразным базам данных, а также практически неограниченными возможностями. Следует отметить, что современные тенденции развития инструментальных средств таковы, что актуальным становиться не просто появление новых гибких и мощных средств разработки, а создание семейств таких продуктов с похожими средами и принципами создания приложений, что в целом повторяет появившуюся примерно пять лет назад идеологию формирования офисных пакетов вместо выпуска отдельных офисных приложений.