99544

Устройство сопряжения промышленного манипулятора с микро ЭВМ Электроника-60М

Курсовая

Коммуникация, связь, радиоэлектроника и цифровые приборы

В ходе выполнения курсового проекта разработано устройство сопряжения промышленного манипулятора с микроЭВМ Электроника-60М. Разработана схема алгоритма работы, полученной микропроцессорной системы управления промышленным манипулятором. Приведены фрагменты программ, реализующие принципы взаимодействия с устройством сопряжения.

Русский

2016-09-22

649.5 KB

0 чел.

15

Министерство образования Российской Федерации

Ивановский государственный энергетический университет

Кафедра электроники и микропроцессорных систем

Пояснительная записка

к курсовому проекту по учебной дисциплине

"Электронные промышленные устройства "

на тему

"Разработка микропроцессорной системы управления промышленным манипулятором"

(Код варианта: 2433---21)

Выполнил: студент гр. 5-35Х,

Смирнов А. Н.

Проверил: Терехов В. Г.

Иваново 2002

Содержание


  1.  Общее описание

В ходе выполнения курсового проекта разработано устройство сопряжения промышленного манипулятора с микроЭВМ "Электроника-60М". Разработана схема алгоритма работы, полученной микропроцессорной системы управления промышленным манипулятором. Приведены фрагменты программ, реализующие принципы взаимодействия с устройством сопряжения.

На рис. 2 представлена функциональная схема автоматизации промышленного манипулятора. Промышленный манипулятор содержит три звена, которые включают в себя электродвигатель привода, статический преобразователь, командное устройство, фиксаторы крайних положений и измерительный преобразователь поворота. Кроме этого манипулятор оснащён устройством схата состоящим из сжимающего электромагнита, командного устройства, статического преобразователя, и измерительного преобразователя усилия.

Разработанное устройство содержит три одинаковые подсистемы управления соответственно тремя звеньями. Каждая подсистема включает в себя блок определения  положения, блок определения скорости и блок выдачи задания на привод.

Кроме этого в устройстве имеется подсистема оперативного реагирования на срабатывание конечных выключателей звеньев пришедших в упор и на нажатие кнопки аварийного останова. Также устройство содержит блок определения усилия схвата и буфер управления силой схвата.

Для управления и контроля в устройстве реализована возможность подключения 10-ти кнопок и 6-ти индикаторов. Эти элементы могут быть представлены в виде отладочного пульта управления (см. рис. 1).

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

При включении или сбросе (перезапуске) устройство устанавливает точку отсчёта и входит в режим ручного управления. В этом режиме возможно управление звеньями путём нажатия кнопок ▲ и ▼. Нажатие и удержание соответствующей кнопки вызывает перемещение звена в ту или иную сторону. Нажатие на кнопки управления схватом приводят к сжатию или отпусканию.

Для перевода в режим автоматической работы по кадрам используется кнопка "ПУСК". В режиме автоматической работы по кадрам ручное управление блокируется. Нажатие на кнопку "ОСТАНОВ" снова переводит устройства в режим ручного управления. Но при этом повторный возврат к продолжению работы по кадрам невозможен, автоматическая работа начинается  только с первого кадра.

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

Рис. . Функциональная схема автоматизации промышленного манипулятора


  1.  Описание разработанного устройства
    1.  Сопряжение устройства с микроЭВМ "Электроника-60М"

Машина имеет магистрально-модульный принцип построения на основе унифицированного интерфейса (МПИ). Все функциональные блоки выполняются в виде модулей со стандартным набором связей, объединение которых в систему осуществляется через общую шину с мультиплексированной магистралью адреса/данных. Процессор адресует 216 ячеек памяти. Минимальной адресуемой единицей является байт. Совокупность двух байтов, начинающаяся с чётного адреса, представляет слова. Таким образом, процессор адресует 64К байт или 32К слов информации. При выполнении операций ВВОДа в процессор всегда читаются слова, при выполнении операций ВЫВОДа возможно обращение к словам (чётные адреса) либо к байтам (чётные либо нечётные адреса).

Адресное пространство микроЭВМ делится на 8 блоков по 4К слов в каждом. В первом блоке находятся векторы прерываний, а в последнем адреса регистров ввода/вывода. Каждый вектор прерываний занимает два слова, в первом хранится начальный адрес установки счётчика команд (PC) при переходе к прерыванию, а во втором – код установки регистра состояния (RS).

Со стороны микроЭВМ устройство управления манипулятором представляет собой набор регистров для чтения и для записи. Регистры чтения построены на базе микросхемы КР580ИР83. Они являются инвертирующими и непосредственно подключаются к инверсной шине адреса/данных магистрали, поскольку имеют выходы с тремя состояниями.

Сигналы с инверсной шины адреса/данных магистрали, поступаю на входы приёмников через микросхемы DA1 и DA7, выполняющие функцию усиления и инвертирования.

+30

Запуск преобразования

+30

"Заморозка" регистров преобразователей

+28

Регистр модуля прерываний

+28

Адрес вектора прерывания

+26

Информация от кнопок

+26

Разрешение/запрещений прерываний

+24

Значение усилия схвата

+24

На блок индикации

+22

Сброс положения 3-го звена

+22

Буфер СП схвата

+20

Скорость 3-го звена (0…15)

+20

Буфер СП 3-го звена

+18

Положение 3-го звена (16…21)

+18

Буфер СП 2-го звена

+16

Положение 3-го звена (0...15)

+16

Буфер СП 1-го звена

+14

Сброс положения 2-го звена

+14

"Заморозка" регистров преобразователей

+12

Скорость 2-го звена (0…15)

+12

Адрес вектора прерывания

+10

Положение 2-го звена (16…21)

+10

Разрешение/запрещений прерываний

+8

Положение 2-го звена (0...15)

+8

Регистр блока индикации

+6

Сброс положения 1-го звена

+6

Буфер СП схвата

+4

Скорость 1-го звена (0…15)

+4

Буфер СП 3-го звена

+2

Положение 1-го звена (16…21)

+2

Буфер СП 2-го звена

+0

Положение 1-го звена (0...15)

+0

Буфер СП 1-го звена

ВВОД

ВЫВОД

Рис. . Регистры ввода/вывода разработанного устройства

Канал каждого звена содержит четыре слова для чтения и одно слово для записи.

Разработанное устройство занимает в адресном пространстве, отведённом для ввода/вывода, 16 подряд идущих слов (32 байта). Адрес начального слова (BASE_ADR) определяется состоянием перемычек X1 … X8 устройства и кратен 32. Назначение отдельных слов указано на рис. 3. Рассмотрим их более подробно.

Модуль прерываний содержит регистр, по содержимому которого можно определить от каких источников пришло прерывание, можно определить текущее состояние конечных выключателей, кнопки аварийного останова, состояние кнопок №9 и №10. Назначение отдельных бит регистра модуля прерывания (BASE_ADR+28):

D0 – бит запроса прерывания от конечных выключателей 1-го звена;

D1 – бит запроса прерывания от конечных выключателей 2-го звена;

D2 – бит запроса прерывания от конечных выключателей 3-го звена;

D3 – бит запроса прерывания от кнопки аварийного останова;

D4 – бит состояния кнопки №9;

D5 – бит состояния кнопки №10;

D6 – не используется;

D7 – не используется;

D8 – бит состояния конечного выключателя №1 1-го звена;

D9 – бит состояния конечного выключателя №2 1-го звена;

D10 – бит состояния конечного выключателя №1 2-го звена;

D11 – бит состояния конечного выключателя №2 2-го звена;

D12 – бит состояния конечного выключателя №1 3-го звена;

D13 – бит состояния конечного выключателя №2 3-го звена;

D14 – бит состояния кнопки аварийного останова;

D15 – не используется.

Записью в регистр блока индикации производится управление элементами индикации №1 … №6. Назначение отдельных бит этого регистра приведено ниже (BASE_ADR+8):

D0 – бит зажигания/гашения (1/0) элемента индикации №1;

D2 – бит зажигания/гашения (1/0) элемента индикации №2;

D4 – бит зажигания/гашения (1/0) элемента индикации №3;

D6 – бит зажигания/гашения (1/0) элемента индикации №4;

D8 – бит зажигания/гашения (1/0) элемента индикации №5;

D10 – бит зажигания/гашения (1/0) элемента индикации №6;

остальные биты не используются.

Чтение текущего состояния кнопок №1 … №8 производится из регистра с адресом (BASE_ADR+26). Назначение отдельных бит этого регистра:

D0 – состояние кнопки №1;

D1 – состояние кнопки №2;

D2 – состояние кнопки №3;

D3 – состояние кнопки №4;

D4 – состояние кнопки №5;

D5 – состояние кнопки №6;

D6 – состояние кнопки №7;

D7 – состояние кнопки №8;

остальные не используются.

Чтение из регистров с адресами BASE_ADR +6, +14 и +22 вызывает соответственно сброс счётчиков положения 1-го, 2-го и 3-го звеньев. Прочитанное значение не несёт никакой информативности, поскольку не выставляется устройством.

Чтение скорости 1-го, 2-го и 3-го звеньев производится по адресам BASE_ADR +4, +12 и +20 соответственно из 32-х разрядных регистров.

Чтение положения производится в два захода. В первый заход читаются младшие 16 разрядов. Во второй заход – старшие шесть.

Для исключения возможности модификации данных при их чтении из регистров положения или скорости используется следующий приём. Перед чтением этих регистров путём установки в "1" определённых разрядов регистра "заморозки" необходимо запретить модификацию данных. Назначение отдельных бит регистра "заморозки" приведёно ниже (BASE_ADR+14):

D0 – запрещение/разрешение (1/0) модификации регистра положения 1-го звена;

D1 – запрещение/разрешение (1/0) модификации регистра скорости 1-го звена;

D2 – запрещение/разрешение (1/0) модификации регистра положения 2-го звена;

D3 – запрещение/разрешение (1/0) модификации регистра скорости 2-го звена;

D4 – запрещение/разрешение (1/0) модификации регистра положения 3-го звена;

D5 – запрещение/разрешение (1/0) модификации регистра скорости 3-го звена;

остальные разряды не используются.

Регистр управления запросами прерываний (BASE_ADR+10) используется для разрешения/запрещения (1/0) прерываний от соответствующих источников, а также для сброса запросов от обработанных источников. Он имеет следующую структуру:

D0 – сброс-запрещение/разрешение прерывания от конечных выключателей 1-го звена;

D1 – сброс-запрещение/разрешение прерывания от конечных выключателей 2-го звена;

D2 – сброс-запрещение/разрешение прерывания от конечных выключателей 3-го звена;

D3 – сброс-запрещение/разрешение прерывания от кнопки аварийного останова;

остальные биты не используются.

По адресу (BASE_ADR+12) можно записать, а по адресу (BASE_ADR+30) прочитать адрес вектора который устройство выставляет в цикле обработки запроса прерывания. Кроме этого, чтение по адресу (BASE_ADR+30) запускает цикл аналого-цифрового преобразования значения усилия схвата. Преобразование длится около 7,5 мкс. Чтение преобразованного значения производится из восьмиразрядного регистра с адресом (BASE_ADR+24).

Для управления силовыми преобразователями 1-го, 2-го, 3-го звеньев и схвата применяются регистры с адресами BASE_ADR +0, +2, +4 и +6 соответственно.

Цикл ВВОДа и ВЫВОДа начинается с выставления процессором (активным модулем) адреса на  шине адреса/данных. Усиленный в элементах DD1, DD7 адрес поступает на компараторы DD15, DD17 и на регистр DD22. На входы A компараторов поступают разряды 05 … 12 адреса, на входы B значения, определяемые установленными перемычками.  При совпадении значений на входах A и B на выводе DD2.1:2 появляется лог. "0". Этот сигнал объединяется по ИЛИ с сигналов ВУ магистрали образуя признак выборки устройства DD20:1. При поступлении сигнала СИА (DD23:9) этот признак и разряды адреса 01 … 04 защёлкиваются в регистре DD23 до начала следующего цикла. Защёлкнутые разряды адреса одновременно поступают на дешифраторы ВВОДа DD30 и ВЫВОДа DD27.

В цикле ВВОДа на DD30:19 приходит сигнал ВВОД который одновременно с признаком выборки устройства разрешает работу дешифратора, вызывая появления лог. "0" на одном из его выходов номер которого определяется адресом. Управляющий сигнал с дешифратора вызывает выставление данных на шину адреса/данных соответствующим регистром либо вызывает какое-либо управляющее воздействие. Одновременно с этим сигнал ВВОД с некоторой задержкой, обусловленной временем распространения через элементы DD10.4 и DD19, поступает на линию СИП.

Цикл ВЫВОДа происходит аналогично с той лишь разницей, что используется дешифратор DD27 и адрес не выставляется, а считывается с шины адреса/данных.

  1.  Измерительный преобразователь на основе фазовращателя

Измерение скорости и положения строится на основе фазовращателя (ФВ). Для питания фазовращателей в устройстве имеются блоки ≠Y1 и ≠Y2 вырабатывающие напряжения синусоидальной формы, сдвинутые относительно друг друга на 90°.

Рассмотрим принцип работы блока ≠Y1. Микросхема ППЗУ DS1 предназначена для преобразования линейно нарастающего кода в синусоидально изменяющийся код. На основе элементов DA19, DA20, R33 и R34 построен биполярный преобразователь код–напряжение. Схема формирует напряжения в пределах –UREF до UREF. Режим биполярного преобразования реализуется вычитанием токов I1 и I2 микросхемы ЦАП. Инвертирование I2 производится операционным усилителем (ОУ) DD20.1. На ОУ DD20.2 осуществляется их суммирование. Погрешность преобразования в данной схеме определяется разбросом номиналов и степенью согласования резисторов R29, R30 одного номинала. Источник опорного напряжения построен на стабилитроне VD1 и резисторе R5. Он выдаёт стабильное напряжение UREF  = 10В (10,24).

Элементы DA21, R35, R36 и T1 предназначены для усиления сигнала до требуемого значения и его последующей гальванической развязки.

Сигнал с ФВ при помощи элементов DA22, DA23 и R33 усиливается, преобразуется в прямоугольную форму и гльванически развязывается. Полученный сигнал поступает на блок измерения скорости и блок измерения положения.

  1.  Измеритель скорости

Измерение скорости с помощью ФВ производится косвенно через измерение периода следования импульсов с этого датчика. Преобразователь "период – код" построен как счётчик импульсов высокочастотного генератора за период входного сигнала.

Высокочастотный синхронный счётчик построен на элементах DD52 … DD55. Регистры, защёлкивающие код счётчиков – DD57, DD58. На элементах DD38, DD41, DD45, DD48, DD39.3, DD49 и DD50 построена система управления защелкиванием и сбросом. Система работает следующим образом. Пришедший с ФВ сигнал с каждым вторым тактом высокочастотного генератора устанавливает последовательно все триггеры. Сигналы с этих триггеров идут на логические элементы, формирующие в соответствии с диаграммами на рис. 4 управляющие воздействия.

Т. о. каждый фронт сигнала с ФВ вызывает запоминание кода полученного в счётчике за период и сброс счётчика в ноль. Как видно из диаграммы после прихода фронта с ФВ счёт приостанавливается на время равное примерно длительности девяти импульсов высокочастотного генератора. Поэтому, при необходимости считанное с платы значение должно быть скорректировано программно.

Рис. . Временные диаграммы, поясняющие принцип работы

Произведём расчёт частоты питания ФВ и частоты заполнения высокочастотного генератора.

Максимальная скорость вращения вала двигателя:

.

Минимальная скорость вращения вала двигателя:

.

Период съёма информации с платы сопряжения – период квантования:

 Tк = 5мс = 0,005с.

Частота сигнала на выходе ФВ fизм связана с частотой питания ФВ f0 и частотой вращения вала ФВ fв следующим соотношением:

 fизм = f0 + fв * p, (1)

где p – коэффициент редукции, p = 50.

Анализируя эту формулу (1) (принцип работы ФВ) можно сделать следующие выводы:

1) если вал ФВ не вращается, то на выходе ФВ будет сигнал с частотой питания:

 fизм = f0; (2)

2) если вал ФВ вращается вперёд с максимальной скоростью, то на выходе ФВ будет сигнал с частотой:

 fизм max = f0 + fв max * p; (3)

3) если вал ФВ вращается назад с максимальной скоростью, то на выходе ФВ будет сигнал с частотой:

 fизм min = f0 - fв max * p; (4)

4) fизм не будет изменять знак, если будет выполняться следующее условие:

 f0 ≥ fв max * p.

В преобразователе "период - код" частота преобразования равна частоте измеряемого сигнала. Эта частота не должна быть ниже частоты съёма информации с платы. Т. е. должно выполняться следующее условие:

 fизм ≥ 1/Tк = 1/0,005с = 200Гц.

Выберем минимальную частоту преобразования в два раза выше частоты съёма информации с платы:

 fизм min = 400Гц.

Из уравнения (4) определим значение частоты питания ФВ:

 f0 = fизм min + fв max * p = 400Гц + 25Гц * 50 = 1650Гц.

Эта частота удовлетворяет требованиям по питанию ФВ:

 f0 = 500 … 2000Гц.

Из уравнения (3) можно определить максимально возможное значение частоты с выхода ФВ:

fизм max = f0 + fв max * p = 1650Гц + 25Гц * 50 = 2900Гц.

Т. о. при изменении частоты вращения вала ФВ (двигателя) от –25Гц до 25Гц сигнал на выходе ФВ fизм изменяет свою частоту от 400Гц до 2900Гц. При этом, когда вал не вращается fизм = 1650Гц.

Изменение частоты выходного сигнала связано с изменением частоты вращения вала ФВ следующим соотношением:

 Δfизм = Δfв * p,

где Δfв – изменение скорости на 10%, Δfв = 0,1* fв.

Изменение периода выходного сигнала связано с изменением частоты выходного сигнала следующим соотношением:

.

Для обеспечения заданной точности при частоте вращения вала двигателя fв необходимо чтобы период сигнала заполнения не был выше периода ΔTизм.

Т. о. нижняя граница частоты заполнения определяемая точностью измерения скорости  в нашем случае равна:

 

Верхняя граница частоты заполнения определяется разрядностью счётчика и в нашем случае равна:

 fmax = Nmax / Tизм max = Nmax * fизм minx = 65536 * 400Гц ≈ 26,21МГц,

где Nmax – модуль счёта счётчика, Nmax = 216.

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

22МГц ≤ f ≤ 26МГц.

Данный генератор построен на элементах DD4, C1, R1, R2 и ZQ1. Частота этого генератора при помощи элементов DD5, DD6 делится на 2*6*5=60 и поступает на тактирующий вход синхронного счётчика DD11, DD12. Модуль счёта данного счётчика составляет 256. Частота его переполнения определяет частоту питания ФВ и равна 1650Гц. Т. е. счётчик необходимо тактировать с частотой 256 * 1650Гц = 422,4кГц. В итоге получаем частоту высокочастотного генератора f = 422,4кГц * 60 = 25,344 МГц.

  1.  Измеритель положения

Измеритель положения строится как преобразователь "фаза – код". И работает следующим образом. В счётчике  DD11, DD12 генерируется периодически изменяющийся код, который одновременно поступает в систему питания ФВ и в систему измерения положения. При изменении углового положения ротора ФВ изменяется момент прихода сигнала с ФВ по отношению к коду счётчика (смещается фаза выходного напряжения ФВ относительно фазы питающего напряжения). Код, содержащийся в счетчике к моменту прихода импульса, будет определять численной значение угла поворота вала ФВ.

Подсчёт числа полных оборотов ведётся аппаратно. Для этого требуется счётчик с разрядностью [log2(N*p)] = [log2(1000*50)] = 16. В данном выражении N – число оборотов вала двигателя за полный ход механической части, p – коэффициент электрической редукции ФВ, квадратные скобки обозначают округление в большую сторону. Счётчик числа полных оборотов построен на элементах DD47, DD51, DD56 и DD60.

Диапазон изменения шестиразрядного кода фазы делится на четыре поддиапазона. Номера поддиапазонов  определяются двумя старшими разрядами кода фазы, и имею следующие значения:

от 0 до 15 – диапазон 00;

от 16 до 31 – диапазон 01;

от 31 до 47 – диапазон 10;

от 48 до 63  – диапазон 11.

Рис. . Временные диаграммы, поясняющие принцип работы

Для подсчёта числа полных оборотов необходимо выявлять переходы из диапазона 00 в диапазон 11, когда происходит поворот на один оборот назад и переходы из диапазона 11 в диапазон 00, когда происходит поворот на один оборот вперёд. Данная операция производится на комбинационном устройстве, построенном на элементах DD39.1, DD39.2, DD43.1, DD43.2, DD46.1 и DD46.2. На вход данного устройства поступает старый код фазы с регистра DD36 и новый со счетчика DD11, DD12, а на выходе образуется, при воздействии управляющих импульсов, инкрементирующий или декрементирующий импульсы счётчика.

Формирователь управляющих импульсов построен на элементах DD40, DD44 и DD46. Он работает подобно управляющему устройству измерителя скорости, но согласно своим временным диаграммам, указанным рис. 5.

Триггер DD37 предназначен для синхронизации момента защёлкивания кода положения в регистрах DD61 … DD63 с моментами его стабильности (неизменности). Из диаграммы рис. 5 видно, что эти моменты совпадают с фронтами сигнала DD11:13 который и используется в качестве тактирования триггера DD37. При нулевом значении сигнала на входах DD37:1 и DD37:2 на выходе DD37:5 триггера асинхронно держится логическая единица, которая позволяет проходить данным сквозь регистры DD61 … DD63. Если на указанных выше входах установить логическую единицу, то при ближайшем фронте сигнала тактирования на выходе триггера DD37:5 появится ноль, который защёлкнет данный в регистрах DD61 … DD63. Частота тактирующего сигнала равна 105,6кГц, поэтому считывание информации о положении нужно производить не ранее чем через 1 / 105,6кГц = 9,5мкс.

  1.  Измеритель усилия схвата

Схват оснащён аналоговым датчиком усилия, сопротивление которого пропорционально усилию сжатия. Измерение усилия производится косвенно через преобразование сопротивление – напряжение и далее преобразование напряжение – код. Первая часть преобразование выполняется включением последовательно с измеряемым сопротивлением генератора тока выполненного на элементах DA2, VT1, R7 и R10. Регулировка тока производится при помощи R7.

Вторая часть преобразования выполняется  с использование микросхемы АЦП DA7. При помощи элементов DA3, DA4, DA5, R11, R14, R15, R16 и R17 производится смещение характеристики для получения нулевого напряжения в начальной точке, а также масштабирования напряжения. Величина смещения регулируется при помощи R11. Масштабирующий коэффициент определяется соотношением сопротивлений K = R38 / R14 = R17 / R13. Конкретные значения сопротивлений выбираются в зависимости от параметров датчика усилия.

Элементы DD25, DD26, R23 … R31, DA8 …. DA16 применяются для обеспечения гальванической развязки.

  1.  Конечные выключатели и кнопка аварийного останова

Гальваническая развязка конечных выключателей и кнопки аварийного останова (далее, для краткости, источников) строится на основе микросхемы К262КП1, которая представляет собой оптопару с усилителем на выходе. Для включения оптопары требуется ток 10мА. Так, если подается напряжение 24В, то сопротивление токоограничивающих резисторов будет равно 24В/10мА=2,4 кОм.

После гальванической развязки сигналы источников поступают  на тактирующие входы триггеров. Имеется четыре триггера. Один для кнопки аварийного останова (DD9) и три для конечных выключателей 1-го, 2-го и 3-го звеньев (DD35). Так как у одного звена не могут замкнуться одновременно оба конечных выключателя, то для каждого звена достаточно по одному триггеру. Триггеры предназначаются для запоминания события от источника. Так, приход сигнала от конечного выключателя или от кнопки аварийного останова устанавливает соответствующий триггер. Установленные триггеры через элементы DD3 и DD8 и линию ТПР магистрали ЭВМ запрашивают цикл обработки прерывания. Выдача адреса вектора подпрограммы, обработки прерывания от устройства, реализуется на элементах DD2.5, DD9.1, DD10.1, DD10.2, DD13.1 по диаграммам принятым для интерфейса. Цикл начинает сигналом ВВОД магистрали, который, если устройство запрашивает прерывание (лог. "1" на DD3:6), устанавливает триггер DD9.1. Установленный триггер запрещает при помощи DD10.1 транслирование сигнала ППР к устройствам, имеющим более низкий приоритет по цепочке, и разрешает прохождение этого сигнала через DD10.2 к регистрам DD14, DD16 которые хранят адрес вектора. Далее приходит сигнал ППР, который вызывает выдачу адреса вектора на шину адреса/данных, и выставление сигнала СИП через DD19. Получив СИП, процессор считывает с магистрали адрес вектора, снимает ВВОД, ППР. Устройство в ответ снимает СИП и переводит регистры DD14, DD16 в Z – состояние.

Подпрограмма обработки прерывания может узнать источник, вызвавший прерывание, прочитав содержимое регистра DD21. Также можно непосредственно узнать состояние источников чтением из регистра DD23, но при этом необходимо учитывать явление дребезга контактов. Перед выходом из подпрограммы необходимо сбросить требования обработанных источников. Сброс требований прерывания от конкретных источников осуществляется кратковременной установкой в ноль соответствующих битов регистра DD18, которые подключены к входам сброса триггеров. Некоторые триггеры могли установиться уже после прочтения состояния всех триггеров и поэтому их запросы будут обработаны только в следующем цикле обработки прерывания. Сброс таких триггеров в данном цикле нежелателен.

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


  1.  Программная реализация
    1.  Схема алгоритма

Алгоритм работы системы представлен на рис. 6.

В кадре определены:

- координаты точки, в которую должен переместиться схват;

- усилие, с которым должен сработать схват.

В приведённых далее фрагментах программы использованы следующие символьные обозначения:

BASE_ADR – базовый адрес устройства;

UST – значение, помещаемое в буферы СП звеньев для перемещения их в начальные положения.

Фрагмент программы, реализующий установку точки отсчёта.

 CLRB STATE_BEGIN ; сброс признаков начального

 ; положения 1-го, 2-го и 3-го звеньев

 MOV (BASE_ADR+28),R1 ; чтение состояния конечных выключателей

 BIT #0000000100000000B,R1 ; анализ бита замыкания конечного выключателя начального

 BNE UM1 ; положения 1-го звена, переход если замкнут

 MOV #UST,(BASE_ADR+0) ;

BIS #000001B,INDIK_SAVE ; установка бита индикации работы 1-го звена

UM1:

 BIT #0000010000000000B,R1 ; анализ бита замыкания конечного выключателя начального

 BNE UM2 ; положения 2-го звена, переход если замкнут

 MOV #UST,(BASE_ADR+2)

BIS #000100B,INDIK_SAVE ; установка бита индикации работы 2-го звена

UM2:

 BIT #0001000000000000B,R1 ; анализ бита замыкания конечного выключателя начального

 BNE UM3 ; положения 3-го звена, переход если замкнут

 MOV #UST,(BASE_ADR+4)

BIS #010001B,INDIK_SAVE ; установка бита индикации работы 3-го звена

UM3:

 MOV INDIK_SAVE,(BASE_ADR+8)  ; гашение/зажигание индикаторов с учетом нового состояния

UM4:

 CMP STATE_BEGIN,#111B ; анализ установки признаков начального

 ; положения 1-гоб 2-го и 3-го звеньев

 BNE UN4 ; переход если не все признаки установлены

 MOV (BASE_ADR+8),R1 ; обнуление счётчика положения 1-го звена

 MOV (BASE_ADR+14),R1  ; обнуление счётчика положения 2-го звена

 MOV (BASE_ADR+22),R1  ; обнуление счётчика положения 3-го звена

Рис. . Схема алгоритма управления промышленным манипулятором

  1.  Цифровой фильтр

В аналоговом виде фильтр представлен следующей передаточной функцией:

.

Для удобства реализации фильтра на ЭВМ, перейдём от аналоговой формы к цифровой форме представления. Для этого произведём подстановку Эйлера:

,

где T0 – период такта квантования, T0 = 0,005.

По найденной дискретной передаточной функции определим разностное уравнение:

 0,03 * y[k] = 0,025 * y[k-1] + 0,00175 * x[k],

y[k] = 0,83333 * y[k-1] + 0,05833 * x[k],

где x и y – входной  и выходной сигналы фильтра.

На рис. 7 и рис. 8 показана проверка полученных результатов.

Рис. . Структурная схема для снятия переходных характеристик в программном комплексе "MatLAB"

Рис. . Сравнение переходных характеристик фильтра представленного в аналоговой и цифровой формах

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

31

30

23

22

16

15

0

s

порядок

мантисса старшая часть

мантисса младшая часть

s – знаковый разряд мантиссы. Мантисса всегда должна быть нормализована. Один, самый старший, разряд от двоичной запятой является скрытым (избыточным).

Двоичная запятая расположена слева от самого старшего разряда дробной части числа, поэтому любое значение мантиссы всегда меньше 1. Нормализованная мантисса в первом после двоичной запятой разряде всегда содержит 1, поэтому значения мантиссы могут изменяться в пределах от ½ до 1. Причём этот разряд (содержащий 1) представлен неявно, он лишь подразумевается. Следующий разряд мантиссы берётся из разряда 22 аргумента. Результаты операций с плавающей запятой округляются в сторону увеличения абсолютной величины числа.

Операнды, используемые при выполнении команд (ПЗ), хранятся в стеке. Содержимое регистра указывает на адреса аргументов, которые расположены следующим образом:

(R) - адрес старшей части аргумента B;

(R)+2 - адрес младшей части аргумента B;

(R)+4 - адрес старшей части аргумента A;

(R)+6 - адрес младшей части аргумента A.

После выполнения команд ПЗ результат помещается в стек следующим образом:

(R)+4 - адрес старшей части результата;

(R)+6 - адрес младшей части результата,

где (R) – первоначальное содержимое используемого регистра общего назначения (РОН).

После выполнения команды ПЗ используемый РОН будет указывать на старшую часть результата, т. е. на (R)+4.

В программе используются переменные, имеющие следующее соответствия:

XKD = x[k-1];

YKD = y[k-1];

YK = y[k].

Переменные VAR1, VAR2, VAR3 хранят в себе аргументы, используемые при выполнении команд ПЗ. Аргументы B в переменных VAR1 и VAR2 имеют значения констант 0,83333 и 0,05833. Они инициализируются один раз и далее не изменяются.

; вычисление первого произведения 0,83333*Y[K-1]

 MOV VAR1,R1

MOV YKD,4(R1)

MOV (YKD+2),6(R1)

FMUL

MOV @R1,VAR3

MOV 2(R1),(VAR3+2)

 

; вычисление второго произведения 0,05833*X[K-1]

 MOV VAR2,R1

MOV XKD,4(R1)

MOV (XKD+2),6(R1)

FMUL

MOV @R1,(VAR3+4)

MOV 2(R1),(VAR3+6)

; суммирование первого и второго произведений

 MOV VAR3,R1

FADD

MOV @R1,YK

MOV 2(R1),(YK+2)

 

  1.  Подпрограмма, выполняемая по такту квантования

Схема алгоритма работы устройства управления по такту квантования (цифровой регулятор) изображена на рис. 9. Ниже приведён фрагмент подпрограммы, реализующий считывание информации о положении и скорости 1-го, 2-го и 3-го звеньев.

 MOVB #0FFH,(BASE_ADR+14) ; запрещение обновления информации о положении

 ; и скорости 1-го, 2-го и 3-го звеньев

 MOV (BASE_ADR+0),POLL1 ; считывание младшей части положения 1-го звена

 MOV (BASE_ADR+2),POLH1 ; считывание старшей части положения 1-го звена

 MOV (BASE_ADR+4),SKOR1 ; считывание скорости 1-го звена

 MOV (BASE_ADR+8),POLL2 ; считывание младшей части положения 2-го звена

 MOV (BASE_ADR+10),POLH2 ; считывание старшей части положения 2-го звена

 MOV (BASE_ADR+12),SKOR2 ; считывание скорости 2-го звена

 MOV (BASE_ADR+16),POLL3 ; считывание младшей части положения 3-го звена

 MOV (BASE_ADR+18),POLH3 ; считывание старшей части положения 3-го звена

 MOV (BASE_ADR+20),SKOR3 ; считывание скорости 3-го звена

 CLR (BASE_ADR+14) ; разрешение обновления информации о положении

 ; и скорости 1-го, 2-го и 3-го звеньев

Рис. . Схема алгоритма работы устройства управления по такту квантования (цифровой регулятор)

  1.  Подпрограмма обработки прерывания от устройства

На рис. 10 приведена схема алгоритма обработки прерывания от конечных выключателей и кнопки аварийного останова.

; Подпрограмма обработки прерываний от датчиков конечного положения и

; кнопки аварийного останова

 MOV R1,-(R6) ; сохранение в стеке используемых регистров процессора

 MOV R2,-(R6)

MOV (BASE_ADR+28),R1 ; считывание слова состояния прерываний

 BIT #1000B,R1 ; анализ бита запроса прерывания от кнопки

 ; аварийного останова

 BEQ IM1 ; переход если запроса нет

 CLR (BASE_ADR+0) ; обнуление буферов силовых преобразователей

 CLR (BASE_ADR+2) ; 1-го, 2-го, 3-го звеньев и схвата

 CLR (BASE_ADR+4)

CLR (BASE_ADR+6)

IM2:

CLR (BASE_ADR+8) ; гашение всех индикаторов

 JSR DELAY ; временная задержка

 MOV #0FFFFH, (BASE_ADR+8) ; зажигание всех индикаторов

 JSR DELAY ; временная задержка

 MOV (BASE_ADR+28),R1 ; считывание слова состояния прерываний

 BIT #0100000000000000B,R1 ; анализ бита текущего состояния кнопки аварийного останова

 BNE IM2 ; переход если кнопка нажата

 HALT ; останов

IM1:

MOV INDIK_SAVE,R2 ; считывание состояния индикации

 BIT #0001B,R1 ; анализ бита запроса прерывания от конечного

 ; выключателя 1-го звена

 BEQ IM3 ; переход если запроса нет

 CLR (BASE_ADR+0) ; обнуление буфера силового преобразователя 1-го звена

 BIC #000000000001B,R2 ; сброс бита индикации работы 1-го звена

 BISB #001B,STATE_BEGIN ; установка признака начального положения 1-го звена

IM3:

BIT #0010B,R1 ; анализ бита запроса прерывания от конечного

 ; выключателя 2-го звена

 BEQ IM4 ; переход если запроса нет

 CLR (BASE_ADR+2)  ; обнуление буфера силового преобразователя 2-го звена

 BIC #000000000100B,R2 ; сброс бита индикации работы 2-го звена

 BISB #010B,STATE_BEGIN ; установка признака начального положения 2-го звена

IM4:

BIT #0100B,R1 ; анализ бита запроса прерывания от конечного

 ; выключателя 3-го звена

 BEQ IM5 ; переход если запроса нет

 CLR (BASE_ADR+4)  ; обнуление буфера силового преобразователя 3-го звена

 BIC #000000010000B,R2 ; сброс бита индикации работы 3-го звена

 BISB #100B,STATE_BEGIN ; установка признака начального положения 3-го звена

IM5:

MOV R2,(BASE_ADR+8) ; гашение/зажигание индикаторов с учетом нового состояния

 MOV R2,INDIC_SAVE ; сохранение нового состояния индикации

 COM R1 ; сброс

 BIS #1111111111110000B,R1 ; обработанных

 MOV R1,(BASE_ADR+10) ; запросов

 MOV #0FFFFH,(BASE_ADR+10) ; прерывания

 

MOV (R6)+,R2 ; восстановление сохранённых в

 MOV (R6)+,R1 ; стеке регистров процессора

 RTI ; возврат из прерывания

Рис. . Схема алгоритма обработки прерывания от конечных выключателей и кнопки аварийного останова


Список литературы

  1.  Алексенко А. Г., Коломбет Е. А., Страдуб Г. И. Применение прецизионных аналоговых ИС. – М.: Радио и связь, 1981. – 224 с.
  2.  Александров К. К., Кузьмина Е. Г. Электротехнические чертежи и схемы. – М.: Энергоатомиздат, 1990. – 288 с.: ил.
  3.  Большие интегральные схемы запоминающих устройств: Справочник/А. Ю. Гордонов, В. В. Цыркин и др.; Под ред. А. Ю. Гордонова и Ю. Н. Дьякова. – М.: Радио и связь, 1990. – 288 с.: ил.
  4.  Домрачев В. Г., Матвеевский В. Р., Смирнов Ю. С. Схемотехника цифровых преобразователей перемещения. – М.: Энергоатомиздат, 1987. – 391 с.
  5.  Мячев А.А. и  др. Интерфейсы систем обработки данных: Справочник/А. А. Мячев, В. Н. Степанов, В. К. Щербо. – М.: Радио и связь, 1989. –416 с.: ил.
  6.  Интегральные микросхемы: Справочник/Б. В. Тарабрин, Л. Ф. Лунин, Ю. Н. Смирнов и др.; Под ред. Б. В. Тарабрина. - 2-е изд., испр. – М.: Энергоатомиздат, 1985. – 528 с.: ил.
  7.  Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга/Ю. М. Казаринов, В. Н. Номоконов, Г. С. Подклетнов, Ф. В. Филипов; Под ред. Ю. М. Казаринова. – М.: Высш. шк., 1990. – 269 с.: ил.
  8.  Микросхемы и их применение: Справ. пособие/В. А. Батушев, В. Н. Вениаминов, В. Г. Ковалёв, О. Н. Лебедев, А. И. Мирошниченко. – 2-е изд., перераб. и доп. – М.: Радио и связь, 1984. – 272 с.: ил.
  9.  Шило В. Л. Популярные цифровые микросхемы: Справочник. 2-е изд., испр. – Челябинск: Металлургия, Челябинское отд., 1989. – 352 с.: ил.
  10.  Захаров И. В. Техническое обслуживание и эксплуатация микроЭВМ "Электроника – 60М". – М.: Машиностроение, 1989. –192 с.: ил.
  11.  Федорков Б. Г., Телец В. А. Микросхемы ЦАП и АЦП: функционирование, параметры, применение. – М.: Энергоатомиздат, 1990. – 320 с.: ил.
  12.  Хвощ С. Т. Микропроцессоры и микроЭВМ в системах автоматического управления:  Справочник/С. Т. Хвощ, Н. Н. Варлинский, Е. А. Попов; Под общ. ред. С. Т. Хвоща. - Л.: Машиностроение. Ленингр.отд-ние, 1987. 640 с.: ил.


 

А также другие работы, которые могут Вас заинтересовать

77972. екстовые файлы. Диалоги для работы с файлами, настройка цвета и шрифта 53.5 KB
  Диалоги для работы с файлами настройка цвета и шрифта. Для облегчения работы с файлами в Delphi каждый отдельный файл представляет файловая переменная. Объявления файлов переменной Файловая переменная в общем виде объявляется в разделе vr примерно так...
77973. Типизированные файлы с идентичными структурами 30.5 KB
  Типизированный файл – это файл в котором записаны идентичные структуры. Например любой файл может считать файлом байтов – т.е можно читать байт за байтом, можно перейти сразу к любому байту по его номеру, можно сразу узнать сколько байт в файле, можно заменить любой байт на другой не перезаписывая файл.
77974. Условный оператор 28 KB
  Встречаются следующие формы условного оператора: Условный оператор с одной ветвью if условие then команды end При выполнении такого оператора вычисляется условие и если оно истинно то выполняются команды до ключевого слова end в противном случае выполнение программы продолжается со следующей за условным оператором команды. Условный оператор с двумя ветвями if условие then команды else команды end Здесь при истинности условия выполняются команды при ложности команды.
77976. Компоненты ввода-вывода информации 125 KB
  Свойство IsMasked: Boolean доступно только для чтения и содержит True, если строка шаблона задана. Свойство EditText: string содержит текст до наложения на него маски шаблона (т. е. то, что ввел пользователь), а свойство Text: String может (в зависимости от шаблона см. ниже) содержать либо исходный текст, либо результат наложения на него маски шаблона.
77977. Палитра компонентов 271 KB
  Для этого используется специальный редактор окно которого появляется на экране после щелчка правой кнопкой мыши на любой пиктограмме в палитре компонентов и выбора опции properties Свойства. Окно редактора палитры компонентов Данное окно позволяет добавлять или удалять компоненты с палитры компонентов или переименовывать названия вкладок: кнопка dd позволяет добавить новую вкладку палитры компонентов; кнопка Delete предназначена для удаления вкладки палитры компонентов. На нем изображены шесть наиболее важных окон Delphi: главное...
77978. Возможности Delphi для ввода и отображения дат и времен. Таймер 193.5 KB
  Таймер Компонент Delphi Timer очень простой компонент который не виден на экране но тем не менее Delphi Timer выполняет очень важные функции в программе. Delphi Timer позволяет вводить необходимые задержки между выполнением тех или иных действий. Компонент Timer имеет всего четыре свойства и одно событие и работать с компонентом Delphi Timer очень просто. Свойство Назначение Enbled Включение-выключение таймера Intervl Интервал срабатывания в миллисекундах Nme Имя компонента в программе Tg Произвольный числовой параметр Помещаем...
77979. Графические файлы в Delphi 63 KB
  У ряда объектов из библиотеки библиотеки визуальных компонент есть свойство Cnvs канва которое предоставляет простой путь для рисования на них. Cnvs является в свою очередь объектом объединяющим в себе поле для рисования карандаш Pen кисть Brush и шрифт Font. Cnvs обладает также рядом графических методов: Drw TextOut rc Rectngle и др. Используя Cnvs вы можете воспроизводить на форме любые графические объекты – картинки многоугольники текст и т.
77980. Итерационные циклы 47 KB
  Для организации итерационных циклов используются операторы цикла с предусловием цикл ПОКА и цикла с постусловием цикл ДО. Эти операторы не задают закон изменения параметра цикла поэтому необходимо перед циклом задавать начальное значение параметра с помощью оператора присваивания а внутри цикла изменять текущее значение этого параметра. Циклы с предусловием используются тогда когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.