Многокоординатный цифровой линейный интерполятор
Иллюстрации
Показать всеРеферат
Изобретение относится к технике автоматизированного управления производственными процессами и может быть использовано в системах числового программного управления станками. Цель изобретения - упрощение конструкции. Интерполятор содержит блок 1 управления интерполяцией, блок 2 управления обменом информации, блок 3 оценочной функции, блок 4 двухкоординатной линейной интерполяции, два блока 5 памяти, элемент ИЛИ 6, сдвиговый регистр 7, счетчик 8 перемещения. Интерполяция производится на максимально возможной частоте по циклам в координатах ведущая - ведомая с запоминанием распределения шагов цикла в блоке памяти в виде одного N - выходного регистра сдвига. 1 з.п. ф-лы, 3 ил.
СОЮЗ СОВЕТСКИХ.
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11) (1) 4 С о5 В 19/18
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ НО!.1ИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
1 (21) 4256449/24-24 (22) 04.06.87 (46) 15.11.89. Б)0л. ) " 42 (72) Е.M.Ïàòèøèàí,.И.А.Раисов, В.Н.Спасский, В.С.Тройников и В.С.Натунов (53) 621.503 ° 55 (088.8) (56) Авторское свидетельство СССР
Р 966665, кл. G 05 В 19/18, 1982.
Авторское свидетельство СССР
11 1315939, кл. С 05 В 19/18. 1986. (54) МНОГОКООРДИНАТНЫЙ ЦИФРОВОЙ
ЛИНЕЙНЫЙ ИНТЕРПОЛЯТОР (57) Изобретение относится к технике автоматизированного управления производственными процессами и может быть
2 использовано в системах числового программного управления станками.
Цель изобретения — упрощение конструкции. Интерполятор содержит блок 1 управления интерполяцией, блок 2 управления обменом информации, блок 3 оценочной функции, блок 4 двухкоординатной линейной интерполяции, два блока 5 памяти, элемент ИЛИ 6, сдвиговый регистр 7, счетчик 8 перемещения. Интерполяция производится на максимально возможной частоте по циклам в координатах ведущая — ведомая с запоминанием распределения шагов цикла в блоке памяти в виде одного и-выходного регистра сдвига.
1 з.п ° ф лы 3 ил, 1522154
Изобретение относится к технике автоматизированного управления производственными процессами и может быть использовано в системах число5 ного программного управления станками.
Цель изобретения — упрощение интерполятора.
На фиг.1 представлена функциональ- 10 ная схема интерполятора; на фиг.2схеиа блока оценочной функции; на фиг.3 — схема блока управления интерполяцией.
Интерполятор содержит блок 1 уп5 равления интерполяцией, блок 2 управления обменом информацией, блок 3 оценочной функции, блок 4 двухкоординатной интерцоляции, два блока 5 памяти, элемент ИЛИ 6, регистр 7 сдвига и счетчик 8 перемещения.
Блок 4 двухкоординатной интерполяции образуют регистр 9 ведущей координаты, регистр 10 ведомой координаты, коммутатор 11 двух входов на один выход, комбинационный сумматор
12, регистр 13 суиматора и инвертор
14.
Блок 3 оценочной функции содержит инвертор 15, триггер 16 знака и элеЗО мент И 17.
Блок 1 управления интерполяцией включает генератор 18 импульсов, триггеры 19 и 20, элеиенты И 21-24, первый счетчик 25 тактов, счетчик
26 циклов, второй счетчик 27 тактов, 35 элемент И 28, элементы ИЛИ 29 и 30 и RS-триггер 31.
Линейная интерполяция в координа- 40 тах Х 1, ХО,...,Х„ ведется в ускоренном иасштабе времени по циклам в однои блоке 4. В первом цикле осуществляется интерполяция в плоскостях ведущая координата — Х, во втором цикле — ведуцая — Х, в и-м цикле — ведущая — Х„, где каждый цикл состоит иэ ш тактов интерполяции.
Для ведущей координаты принимается то из приращений Х1 Ха,...,Х„, которое в данном кадре является наибольшим, т.е. h Хьд =dX,. Физической привязки ведущей координаты к какойлибо из координат Х,, Х,...,Х„ не требуется. При интерполяции в каждой
55 из интерполируемых плоскостей используется оценочная функция рк I 1 ij =11Х»»е Х1» -dXq Хьер», где ЛХ„„щ — максимальное значение из совокупности 6Х,, ЬХ<,..., в ° ° ° rдХ»»э дХ„ — приращение по координате
Х „в данном кадре;
Х„ — текущее значение координаты Х»» после совершения шагов вдоль интерполируемого отрезка от начальной его точки, причем начало отрезка находится .в начале координат, т.е. о»»
=...=Х„=О;
Х,„ — текущее значение ведущей координаты после совершения j шагов интерполяции; как и для других коордио нат Х „=О.
Пряиая делит координатную плоскость в координатах Хвеу, --Хк на две юк части, в одной из которых о; > О, в другой о;. (0, а если текущая точка ои отработки находится на самой прямой, то о; = О. Если о; О, то делается к еr .шаг по ведущей координате и вычисляется новое значение оценочной функции о; .1= о; -дХк. Если й; О, то
О 1» »К к делается шаг по координате Х 1» с вычислением
Знак оценочной функции однозначно указывает, по выходу какой из координат должен выйти следук1щий шаг, а очередное значение оценочной функции вычисляется путем простых арифметических операций с использованием приведенных рекуррентных соотношений.
С поступлением сигнала "Сброс" на второй вход блока 2 последний выдает необходимую комбинацию сигналов по записи исходной информации для интерполяции из блока программы (не показан) в блок 5. Адрес подается на третьи входы всех блоков 5, сигнал
"Выборка" — на вторые входы блока 5, сигнал "Запись" — на первые входы блока 5. По начальному адресу в первый блок 5 вводится приращение 6 X q, во второй блок 5 — начальное значение
1» 1 оценочной функции 8 1, =. О и ее знак.
После каждой записи адрес увеличивается на единицу. По последнему адресу в первый. блок 5 вводится Ь Х1», in во второй блок 5 — о = О и ее знак.
Величина Х,„С»„ непосредственно вводится в регистр 9.
5 15221
Перед началом отработки каждого кадра на вход схемы поступает сигнал
"Сброс", который устанавливает счетчики 25 и 27 в "О", а в счетчик 26 вводится число (n-1), где п — число координат интерполятора. Сигнал "Конец смены информации" проходит через элемент И 28 и элемент ИЛИ 29, устанавливает в единичное состояние триггер 31, .который разрешает прохождение тактовой частоты интерполяции йц через элемент И 2 1 на выход блока. На выходе счетчика 25 появляется сигнал, когда на его вход посту- 15 пает ш импульсов интерполяции f„ .
Этот сигнал означает, что окончен один цикл. Он переводит в нулевое состояние триггер 31, который блокирует прохождение частоты Г через 20 элемент И 21. Он же поступает на вход счетчика 26, из содержимого которого вычитается единица, а также проходит на выход блока как сигнал ."Смена информации" ° 25
По сигналу "Конец смены информации", прихоцящему с блока 2, работа блока 1 возобновляется и происходит аналогично описанному. В госледнем и-м цикле переполняется счетчик 26. 30
Нулевой потенциал, появляющийся на его выходе, поступает на выход блока для пуска блока задания скорости и запрещает прохождение сигнала "Конец смены информации" через элемент И 28.
На выходе счетчика 27 появляется сиг35 нал, когда на его вход придет m импульсов с блока задания скорости.
Этот сигнал вновь устанавливает в счетчике 26 число (и-1) и через эле- 4 мент ИЛИ 29 устанавливает триггер 31 в единичное состояние, т.е. возобновляется работа блока 1 с первого цикла. С выходов элементов И 22-24 частоты Й, Е ь, f g поступают постоянно на выход блока и подаются в блок 2 для организации режимов записи-считывания в блоке 5 оперативной памяти.
После записи исходной информации блок 2 выставляет начальный адрес и выдает сигналы со своих второго и четвертого выходов для передачи слов в блок 4 из всех блоков 5 памяти, а также выдает сигнал Конец смены ин- 55 формации" на блок 1. После этого блок 4 подготовлен к первому циклу интерполяции в координатах Хе -Х .
По сигналу "Конец смены информации"
54 6 с второго вьжода блока 1 на первый вход блока 3 поступают импульсы частотой Й„ для интерполяции с участием величины приращения первой координаты. В блоке 3 хранится знак текущего значения оценочной функции к ; . В
Рк аК зависимости от знака 0;> следующий импульс f должен пройти на выход по ведущей координате или одной из
Х -Х„ (в первом цикле — по координаек те Х,). Знак о;„ определяет также, какой из регистров интерполятора подключен к первым входам комбинационного сумматора, в регистре котоh к рого находится d; . Значение о; из регистра 13 сумматора подается на вторые входы комбинационного суммато/ ра 12. Следовательно, на выходах комбинационного сумматора имеется следующее значение оценочной функции, которое следующим импульсом Йц будет записано в память сумматора.
Обозначим о, = б — текущее знаj чение оценочное оценочной функции. (ледуюцее ее значение о наковые знаки, то следующие два шага будут по ведущей координате, так как ее приращение наибольшее в данном кадре. В этом случае следующий импульс f„ должен пройти на выход только по ведущей координате. Если 8@ и о,„ имеют разные знаки, но о з О, что определяет следующий шаг по ведущей координате, то можно сделать диагональный шаг одновременно по двум координатам — ведущей и Хк. На следующем такте интерполяции знаки 8q и d „ снова будут разными (подряд два тактовых импульса не могут пройти на вьмод по координате с меньшим приращением), а знак о будет определять шаг по координате Ху, который был уже сделан при диагональном шаге на предыдущем такте, т.е. при 3 » (0 ,выход является "пустым" без совершеУ о ния шага.
Каждое новое значение оценочной функции вычисляется в сумматоре путем суммирования чисел разных знаков: к к к чк при 8, ), О 8<>i 8, — йХ„„при о., (0
8 „= 8 + ЬХ,„, причем если В к 0, то обязательно происходит переполнение сумматора. Следовательно, на выходе сумматора сигнал S - =1, если
h Ок
8q,, )iO, и S = О, если 8,< < О. Оче1522154 як видно, что 0 ь„ 7iO определяет будущий шаг по ведущей. координате.
Поэтому заполнение буферного регистра 7 сдвига должно производиться
5 по следующему, правилу:, на информационный вход регистра подается инвертированный сигнал с выхода комбинационной части сумматора, а на сдвиговый вход подается иьптульс шага по ведущей координате с выхода блока 3.
Если на данном такте производится шаг только по ведущей координате, то в регистр 7 вводится О„ если производитcsI диагональный mBI (8 т 0, Og„t < 0), 15 то в регистр 7 вводится 1. При 8" (С оп и u° ... » О сдвиг и изменение содержимого регистра 7 не производятся. Если по какай-то координате Ь Хк= ЬХ ща э то а и о,,» постоянно имеют разные знаки. Тогда в данном цикле интерполяции регистр 7 на каждом такте сдвига заполняется единицами.
Каждый цикл интерполяции определяется m шагами по ведущей координате (количество импульсов- f„ может быть от m при АХ =0 до 2ш приЬ Х =
=hXtI„o„). При этом происходит заполнение кодом выходных шагов очеред-. ных ш разрядов регистра 7 сдвига.
Разряды регистра 7 являются именными.
Первые m разрядов служат для записи кода шагов по координате Х>„, вторые
m разрядов — по координате Х„, и т.д.
Последние ш разрядов служат для записи кода шагов но координате Х ».
После m шагов по ведущей координате заканчивается первый цикл, блок
1 запрещает поступление тактовых импульсов f„, а на его первом выходе формируется сигнал Смена информации
tI и 4О которьвr подается на первый вход блока
2. Блок 2 вырабатывает комбинацию сигналов для записи информации иэ блока 4 в блок 5 по ранее установленному (начальному после первого цикла)
45 адресу, т.е. в блок 5 вводятся два
Я t слова: ЛХ», Оь и ее знак. После этого блок 2 увеличивает адрес на единицу и вырабатывает комбинацию сигналов для считывания из блока 5 и передачи в блок 4 двух новых слов: Х и начальное значение ц, и ее знак.
Блок 4 подготовлен к второму циклу интерполяции, а на блок 1 поступает г сигнал "Конец смены информации", который разблокирует поступление f
Во втором цикле интерполяции за m шагов по ведущей координате вычисляется код ° шагов по координате Х . Этот код поступает в регистр 7 н заполняет его первые m разрядов, сдвигая ранее введенный код по координате Х » на вторую группу из ш разрядов.
После второго цикла интерполяции обмен информацией между блоками
4 и 5 происходит аналогично описанному обмену после первого цикла.
Количество таких циклов равно п, где и — число координат для данного интерполятора. После выхода m шагов по ведущей координате в и-м цикле также происходит обмен информацией между блоками 4 и 5 под управлением блока
2, с той лишь разницей, что из блока
4 передаются два слова в блок 5 по последнему и-му адресу, а в блок 4 вводятся рва слова, считанные из блока 5 по начальному адресу. Это значит, что в блок 4 передаются слова, которые были записаны в блок 5 после первого цикла интерполяции, т.е. восстанавливается .состояние блока 4 для продолжения интерполяции в координатах Хэ -Х,.
К данному моменту все m n разрядов регистра 7 заполнены кодом распределения шагов по координатам за
m тактов. Сигнал "Конец смены информации" после и-го цикла с блока 2 на блок 1 не поступает по окончании обмена информацией между блоками 4 и 5. Блок 1 вырабатывает сигнал на своем выходе, который подается на пуск блока, задания скорости. С блока задания скорости начинают поступать сигналы с заданной по программе частотой f через элемент ИЛИ 6 на сдвиговый вход регистра 7 и на вход блока 1. Последний разряд в каждой из групп в m разрядов регистра 7 является выходом по соответствующей координате (т.е. разряды с номерами m, 2m, Зн и т.д.). На выходах этих разрядов с заданной по программе частотой формируются управляющие сигналы по координатам в зависимости от кодов, записанных в этих областях регистра .
7. После и вышедших с блока задания скорости импульсов fT блок 1 разблокирует поступление частоты Ец на блок 3. В дальнейшем работа устройства осуществляется по циклам от первого до и-го в соответствии с приведенным
1522154 описанием. Но все и циклов интерполяции должны производиться за время, меньшее периода следования сигналов
f> с блока задания скорости. В счетчик 8, который работает на вычитание, перед началом отработки участка вводится величина Ь Х,п „- J. Каждый импульс f поступает на вход счетчика
8. Сигнал переполнения счетчика 8 свидетельствует об окончании интерполяции
Максимальная подача, которую может обеспечить устройство, пропорци-. ональна частоте на выходе блока зада- 1
5 ния скорости:
60 fqqe wa> Ь
max 10>
1 У м/мин где Гь...„, — максимальная частота 20 на выходе блока задания скорости;
h — величина единичного шага интерполяции, мм, соответствующая одному импульсу с выхода блока задания скорости.
В предлагаемом устройстве должно выполняться условие Т „ n>in>t ° и, где
t+ — время одного цикла интерполяции. 30
Если Д ) О, то триггер 16 находится в нулевои состоянии, если 8 с Ов единичном. При 8< о О импульс интерполяции проходит через элемент И 17 на выход по ведущей координате. По входу С задним фронтом этого импульса в триггер 16 записывается знак оценочной функции d<„, значение которого подается на вход D триггера 16 в виде инверсного сигнала переполне- 40 ния комбинационного сумматора 12.
Выход триггера 16 управляет коммутатором 11 двух входов на один выход, который, такии образом, в зависимости от знака д подключает к ком- 45 бинационному сумматору 12 либо регистр ведущей координаты 9, либо регистр координаты Хк, причем число из регистра 9 передается в прямом коде, из регистра 10 — в дополнитель- 50 ном. На второй вход сумматора 12 подается текущее значение оценочной функции д как в прямом коде при
de ) 0, так и в дополнительном при
0 с О. Таким образом, на входах сум- 55 матора 12 одно слагаемое представлено всегда в прямом коде, другое — в дополнительном. Если результат суммирования положителен, то происходит переполнение сумматора, т.е. если д, - О, то S = 1, и наоборот, если о,i е 00, то S = О. Таким образом, инверсное значение сигнала переполнения комбинационного сумматора 12 S будет представлять знак Я, . Одновременно с записью знака d <,r в триггер 16 этим же импульсом fa значение 8«< записывается в регистр 13 сумматора.
Блоки 1 и 2 аналогичны представленным в прототипе, за исключением того, что число (n-1) — 1, вводимое в блок 1 для изменения количества циклов интерполяции, в данной схеме является постоянным и ввода этой величины не требуется.
Формула изобретения
1. Иногокоорцинатный цифровой линейный интерполятор, содержащий при интерполяции по и координатам блок двухкоординатной интерполяции, информационный вход которого соединен с первым выходом блока оценочной функции, вход ввода блока двухкоординатной интерполяции подключен к первому выходу блока управления обменом информации, выходы адресции, выборки и записи которого соединены с соответствующими входами управления первого и второго блоков памяти, информационный выход — с информационным входом блока управления интерполяцией, вход тактовой частоты которого соединен с первым информационным входом многокоординатного цифрового линейного интерполятора, выход "Пуск" которого подключен к первому выходу блока управления интерполяцией, второй выход которого соединен с вторым входом блока двухкоординатной интерполяции и с первым входом блока оценочной функции, второй вход которого подключен к первому выходу блока двухкоординатной интерполяции, вход ввода приращения которого соединен с вторым информационным входом многокоординатного цифрового линейного интерполятора, третий информационный вход которого соединен с входом ввода счетчика перемещений, а выход — с выходом счетчика перемещений, третий выход блока управления интерполяцией соединен с первым входом блока управления обменом информацией, второй
1522154
12 перемещений, третий вход блока оценочной функции подключен к выходу второго блока памяти и к-третьему информационному входу блока двухкоординатной интерполяции.
Фиг.2
Составитель ИЛвец
Техред А.Кравчук Корректор Т.Палий
Редактор А.Огар
Заказ 6960/43 Тираж 788 Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб °, д. 4 5
Производственно-издательский комбинат "Патент", r. Ужгород, ул. Гагарина, 101 вход которого соединен с входом и 11
Сброс многокоординатного цифрового линейного интерполятора, второй выход блока линейной интерполяции— с информационным Входом второго блока памяти, а также элемент ИЛИ, отличающийся тем, что, с целью упрощения конструкции интерполятора, s него введен и-выходной 10 регистр сдвига, информационные выходы которого соединены с информационными выходами многокоординатного цифрового линейного интерполятора, информацыонный вход — с первым выхо- 15 дом блока двухкоординатной интерпо;, ляции, а вход сдвига — с выходом элемента ИЛИ, первый вход котооого соединен с- вторым выходом блока оценоч,ной функции,. а второй вход — с пер- 2р вым информационным входом многокоординатного цифрового линейного интер олятора, с тактовым входом счетчика
2. Интерполятор по п.1, о т л и— ч а ю шийся тем, что блок оце- . ночной функции содержит триггер знака, элемент НЕ и элемент И, выход ко. торого соединен с вторым выходом блока оценочной функции, первый вход— с инверсным выходом триггера знака, R-вход которого подключен к входу
"Сброс" блока оценочной функции, D-вход - к второму входу блока оценочной функции, С-вход через элемент
НЕ подключен к первому входу блока оценочной функции, третий вход которого соединен с S-входом триггера знака, второй. вход элемента И соединен с входом элемента НЕ.