Процессор программируемого контроллера

Иллюстрации

Показать все

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах управления технологическим оборудованием. Цель изобретения - расширение области применения за счет увеличения области памяти микропрограмм. Процессор содержит синхронизатор, блок управления, блок памяти микропрограмм, регистр микрокоманд, регистр управления вводом-выводом, блок хранения флагов, блок анализа обрабатываемого бита и условий, модификатор микропрограмм, два блока ключей с трехстабильным выходом, регистр кода обрабатываемого бита, дешифратор маски обрабатываемого бита, арифметико-логический блок, блок ввода - вывода, два элемента ИЛИ. Наличие дополнительного объема памяти в блоке памяти микропрограмм позволяет увеличить количество сервисных программ, тестовых и диагностических программ. 6 ил.

СОЮЗ СОВЕТСНИХ

СОЦИДЛИСТИЧЕСНИХ

РЕСПУБЛИК (si}s С 06 F 9/22

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К А BTOPCHOMY СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ

ПРИ П НТ СССР (61) 1406595 (21) 4384863/24-24 (22) 06.01.88 (46) 15.03.90. Бюл. Р 10 (71) Научно-производственное объединение технологии и оборудования сборочных работ в автомобильной промышленности (72) С.А. Гороховик и И.Н. Сохина (53) 681.3(088.8) (56) Авторское свидетельство СССР

В 1406595, кл, G 06 F 9/22, 1985 ° (54) ПРОЦЕССОР ПРОГРАММИРУЕМОГО КОНТРОЛЛЕРА (57) Изобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах управления1 технологическим оборудоваИзобретение относится к автоматике и вычислительной технике и может быть использовано в устройствах управления технологическим оборудованием, Цель изобретения — расширение области применения за счет увеличения области памяти микропрограмм.

На фиг. 1 приведена структурная схема процессора программируемого контроллера; на фиг. 2 — система микрокоманд процессора; на фиг.3 — функциональная схема синхронизатора; на, фиг. 4 — функциональная схема блока управления; на фиг. 5 — функциональная схема блока анализа обрабатываемого бита и условий; на фиг. 6— функциональная схема блока хранения флагов.

„„SU„„3 550515 А 2

2 нием. Цель изобретения — расширение области применения эа счет увеличения области памяти микропрограмм. Процессор содержит синхронизатор, блок управления, блок памяти микропрограмм, регистр микрокоманд, регистр управления вводом-выводом, блок хранения

Флагов, блок анализа обрабатываемого бита и условий, модификатор микропрограмм, два блока ключей с трехстабильным выходом, регистр кода обрабатываемого бита, дешифратор маски обрабатываемого бита, арифметико-логи ческий блок, блок ввода-вывода, два элемента ИЛИ, Наличие дополнительного объема памяти в блоке памяти микропрограмм позволяет увеличить количество сервисных программ, тестовых и диагностических программ. 6 ил.

Процессор программируемого контроллера содержит синхронизатор 1, . блок 2 управления, блоки 3 памяти микропрограмм (БПМ, регистр 4 микро. команд, регистр 5 управления вводомвыводом, блок 6 хранения флагов, блок 7 анализа обрабатываемого бита и условий, модификатор 8 микропрограмм, первый блок 9 ключей с трехстабильным выходом, регистр 10 кода обрабатываемого бита, второй блок ll ключей с трехстабильным выхоцом, дешифратор 12 маски обарабатываемого бита, арифметико-логический блок (АЛБ) 13, блок 14 ввода-вывода, внутренняя шина 15 микрокоманд,внутрен няя шина 16 данных, канал 17 данных, первый 18, и второй 18 элементы ИЛИ, 1550515

Синхронизатор содержит генератор

l 9, счетчик 20 тактов, дешифратор 21 àKòoâ, втброй элемент ИЛИ 22, триггер 23, первый элемент ИЕ 24, первый элемент И 25.

Блок управления процессором и адресом микрокоманд содержит дешифрафатор 26 формата микрокоманд, элемен.

s, û ИЛИ 27-30, регистр 31 возврата, »1торой элемент НЕ 32, элемент 2И-ИЛИ 3 и ЗИ-ИЛИ .34, элементы И 35 и 36, триггеры 37 и 38, счетчик .39 адре»са МК, Блок анализа обрабатываемого бита условий содержит мультиплексор 40, «1лемент ИСКЛЮЧАЮЩЕЕ ИЛИ 41 триг»гер 42.

Блок хранения флагов содержит элементы И 43-48 и триггеры 49-54.

Процессор работает следующим образом.

Генератор 19 синхронизатора 1

»„Фиг.3 ) генерирует последовательность импульсов, которая преобразуется

<начетчиком 20 и дешифратором 21 тактов

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

30 лементов И-ИЛИ 33 и 34 блока 2 управления.

С выходов счетчика 39 адреса МК

1 игналы поступают на адресные входы

1 ПМ 3 и определяют адрес считываехой микрокоманды. С выходов БПМ 3 ин» ормация поступает на входы регист35

11а 4 микрокоманд, а с его выходов

Фо внутреннюю шину 15 микрокоманд, Старшие разряды (MNK12-ММК15) ма1 истрали 15 микрокоманд определяют формат микрокоманды (фиг,2) и поступают на дешифратор 26 формата микрокоманд.

С выходов дешифратора форма1а MHK фокоманд 26 управляющие сигналы (Р».)

Шоступают на входы различных блоков йроцессора, определяя выполнение микрокомандь» данного формата.

В формате Ol выполняются команды

АЛБ 13, Код выполняемой микрокоманды

Определяют младшие разряды магистрали микрокоманд 15 (MMKOO MMK11).

АЛБ 13, сигнализируя о своей готов »ости к приему микроманды, выставляет

На выходе исполнения микрокоманд высокий уровень сигнала Фl, который по- 55

1 ступает на инверсный вход элемента

ИЛИ 22 (Фиг.3 ), В это же время на вход элемента И 25 поступает сигнал

F01 с дешифратора 26 формата, на второй вход элемента И 25 поступает сигнал с инверсного выхода D-триггера 23, который в начальный момент установлен в нулевое состояние сигналом "Сброс" (не показан). С выхода элемента И 25 сигнал CMII (такт ЩБ) поступает на тактовыи вход АЛБ 13, разрешая выполнение микрокоманды, и на второй вход элемента ИЛИ 22, с выхода которого поступает сигнал "Тормоз", блокирующий работу счетчика 20 тактов на время приема и исполнения микрокоманды АЛБ 13, который устанавливает низкий уровень сигнала Фl.

С появлением сигнала "Тормоз". дешифратор 21 тактов формирует сигнал, блокирующий дешифратор 26 Формата, который снимает сигнал формата FOl и, соответственно, СМП. По окончании выполнения АЛБ 13 устанавливает высокий уровень сигнала Фl и счетчик тактов

20 разблокируется. Выполнению АЛБ 13 микрокоманд с обменом — прием информации из канала и выдача информаций в канал данных 17, должна предшествовать микрокоманда, устанавливающая соответствующие сигналы с регистра 5 управления вводом-выводом (формат

FIO). Регистр 5 управления вводомвыводом выполнен на микросхеме

К589ИР12.

На установочные входы регистра 5 управления вводом-выводом подаются младшие разряды магистрали микрокоманд 15 (ММКОО-ММК07), На тактовый вход регистра 5 управления вводом-выводом поступает от дешифратора 26 формата сигнал соответствующего формата (F10)..С выходов регистра 5 управления вводом-выводом снимаются сигналы, соответствующие адресуемому периферийному устройству: опвртивное запоминающее устройство., блоки ввода-вывода, пульт диагностики и др. (не показаны ) и сигналы управления выдаваемой или получаемой информацией ЗП (запись), ЧТ (чтение), ВА (выдача адреса) . Регистр 5 управления вводом-выводом сбрасывается микрокомандой формата FIÎ со всеми нулями в младших разрядах микрокоманды. Сигналы ВА, ЗП, ЧТ через элемент ИЛИ 18, поступают на вход

0-триггера 23. Информация о выполнении микрокоманды с обменом (наличие одного из сигналов ВА, ЗП, ЧТ) заносится в D-триггер 23 по перепаду сигl 550515 нала ф! Нз "l" в "О", 0-триггер 23 через элемент ИЛИ 22 включает торможение счетчика 20 тактов, Торможение снимается при появлении сигнала ГП (синхронизац. я приема). Сигнал СП вырабатывается приемником информации после того, как информация принята.

Таким образом, oc: ществляется асинхронный обмен между АЛБ 13 и периферийными устройствами. После снятия торможения синхронизатор 1 вырабатывает тактовый импульс, который поступает на входы элементов 2И-ИЛИ 33 и

ЗИ-ИЛИ 34 и увеличивает значение счетчика адреса МК 39 на 1, если выполнялась микрокоманда всех форматов кроме F02, F03, F04, F07, FIÇ, F14.

По формату F02 осуществляется прием команды рабочей программы пользователя (РПП), записанной в ОЗУ (не показано). Код операции команды РПП из канала 17 через блок 14 шинных формирователей поступает в шину 16 данных и на входы блока 9 ключей, Форма F02 коммутирует блок 9 ключей таким образом, что код операции команды РПП поступает в младшие разряды магистрали 15 микрокоманд (MMKOOMMK05) и на установочные входы счетчика 39 адреса МК. Два разряда магистрали !5 микрокоманд (ММК06, MMK07) при приеме команды зависят от состояния модификатора 8 микропрограмм, который состоит из двух триггеров, устанавливаемых предварительно микрокомандой формата F05, Таким образом, в счетчике 39 адреса MK устанавливается микрокомандой формата F02 адрес каталога (область ОЗУ), который определяется кодом операции команды РПП и состоянием модификатора 8 микропрограмм. Переключением модификатора 8 микропрограмм можно осуществить прием одной и той же команды РПП н четырех режимах (модификациях).

Микрокоманды форматов-FOÇ, FIÇ осуществляют безусловный переход на адрес, укаэанный в младших разрядах микрокоманды (MMKÎÎ-MMKII).

Микрокоманды форматов F04, F14 в зависимости от состояния триггера

42 условия (фиг, 5) осуществляют либо условный переход на адрес, указанный в младших разрядах микрокоманды (MMK00--MMÊ11) (если условие выполняется), либо увеличивает содержимое счетчика 39 адреса MK на +1 (если условие не выполняется), Микрокоманды форматов РОЗ и Р04 осуществляют переход в первый массив блока памяти микропрограмм БПМЗ, а микрокоманды форматов РIЗ и Р14 — во

5 нторой массив БПМЗ. Выбор перного илн второго массива БПМЗ осуществляет триггер 38, на одни входы которого поступают сигналы форматов РОЗ и F04, !

О а на вторые — сигналы форматов F! 3 и

Р14. На тактовый вход триггера 38 по" ступают через элемент ИЛИ 30 сигналы переполнения и управления записью счетчика адреса микрокоманд 39.

С прямого выхода триггера 38 снимается сигнал выбора первого массива памяти, а с инверсного выхода — сигнал выбора второго массива блока памяти

БПМЗ.

20 Микрокоманды форматов F06, F16, F07 осуществляют переход на вложенную подпрограмму и выход из подпрограмм. По микрокомандам форматов F06, FI6 в регистр 31 возврата записывает25 ся адрес возврата из подпрограммы, содержащийся в (MMKO0-11) младших разрядах микрокоманды. Переход на вложенную подпрограмму осущестнляется по микрокомандам форматов РОЗ,Р13

30 (безусловный переход). В конце вложенной подпрограммы ставится микрокоманда формата F07, которая осуществляет установку счетчика 39 адреса

МК в значение, записанное в регистре 31 возврата. По микрокоманде формата F06 запоминается адрес возврата в первый массив БПМ 3, а по микрокоманде формата Р16 — адрес возврата во второй массив БПМ 3, Номер масси40 ва по микрокомандам форматов F06 и

F16 запоминается в триггере 37. Сигналы с выходов триггера 37 поступают на входы триггера 38 через элементы

И 35 и 36. Установка адреса возврата

45 в первый или второй массив БПМ 3 осуществляется по микрокоманде формата

F07 (воэнрат из подпрограммы), который поступает на вторые входы элементов И 35 и 36.

Основной функцией процессора про граммируемого контроллера является быстрый анализ обрабатываемого бита (состояние анализируемого входа или выхода). По приему команды РПП (формат F02) в регистр 10 кода обрабатываемого бита заносится из адресной части команды через блок 14 вводавывода и блок 9 ключей код адреса обрабатываемого бита. При поступлении

1550515 койанды анализа обрабатываемого бита (формат 715) код обрабатываемого бита из регистра 10 кода обрабатываемого бита через блок 11 ключей поступает через внутреннюю нину микрокоманд (ИИК02-MNK06) на адресные входы мультиплексора 40. На информационный входы мультиплексора 40 поступает состояние всех входов (вьгходов), за1 писанных в слове по адресу, указанному командой РПП. Сигнал с выхода . му ьтиплексора 40 поступает на вход эл мента ИСКЛ1ОЧАЮЩЕК ИЛИ 4), на друго вход которого поступает разряд ма истрали микрокоманд ММК00, который ук зывает на "1" или на "0".

В зависимости от результатов анализа обрабатываемого бита устанавли1

BG&òñÿ триггер 42, на тактовыи Вход которого поступает сигнал формата

F1I5. Аналогично анализу обрабатываем6го бита производятся анализы блока хранения флагов,,магистрали состояний АЛБ 13, модификатора 8 микропро- 25 граммы.

Формирование управляющего воздейс âèÿ и выдача его по определенному выходу из группы выходов, записанных пб определенному адресу таблицы сос- 30 тояний, производится по микрокоман — д формата FIÎ (чтение маски), По э ой микрокоманде код адреса обрабатываемого бита, поступающий из регисфра 10 кода обрабатываемого бита и дЬшифратора 12 маски обрабатываемого бита, читается из магистрали 16 в

А11Б 13, где и формируется управляющее воздействие на выход.

По микрокоманде формата Fll осу- 40 щЕствляется установка флагов в блок 6 хранения флагов, который состоит ив группы D-триггеров 49-54 и входной логики иа элементах И 43-48.

В зависимости от значения разрядов 45 магистрали микрокоманд 15 (ММКООМИК11) устанавливается или сбрасывается тот или иной флаг. Состояние флагов анализируется блоком 7 анализа обрабатываемого бита и условий.

Микрокоманды форматов FO и F17 являются резервными, На фиг. 2 приведена система микрокоманд процессора программируемого контроллера.

Алгоритм работы процессора программируемого контроллера следующий.

После нажатия кнопки "Пуск" следует

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

АЛБ 1 3 записываются необходимые константы, устанавливается модификатор 8 микропрограмм в режим "Начальная установка", сбрасывается регистр 5 управления вводом-выводом, устанавливаются флаги. Счетчик адреса РПП -(рабочая программа пользователя) устанавливается на номер первой команды

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

После того, как счетчик адреса РПП установлен на первое слово РПП, анализируется переключатель режима: работа — программирование. В режиме

"Программирование" в ОЗУ заносится РПП и осуществляются функции редактирования РПП. Модификатор микропрограмм устанавливается в режим "ПрограммиTt .рование

В режиме "Работа", если модификатор 8 микропрограммы установлен в положение "Начальная установка" (первый цикл сканирования РПП ), регистр режима обнулен, а флаг "1" установлен в "1", то программа переходит на прием первой команды в режиме "Начальная установка", Адрес каталога, на который выходит программа по приему команды является началом. соответствующей подпрограммы, после выполнения которой осуществляется прибавление единицы в сче чик адреса РПП и переход к следующей команде РПП.

Подпрограммы начальной установки заносят признак обработки в таблицу состояний входов-выходов — область

ОЗУ, в которой хранятся состояния входных датчиков исполнительных механизмов. Последней командой РПП является команда "Конец программы". По этой команде производится сканирование входных датчиков и запись их значения в таблицу состояния входов.

1550515

10 и

После чего модификатор микропрограмм переключается в режим "Обработка", счетчик адреса РПП устанавливается вновь на адрес первой команды РПП.

В режиме "Обработка" анализируется признак "Поиск" в регистре режима и при его наличии сравниваются текущее слово РПП с искомым, после чего анализируется флаг "1". Во флаге "1" за- lð поминается значение функции от решения нулевого управления текущей цепи, Если цепь замкнута флаг "l" равен "1".

Если цепь разомкнулась флаг "1" устанавливается в "0".

Как только последовательная цепочка разомкнется, дальнейшая обработка ее контактов не имеет смысла, и, если текущая команда не является наг чалом или концом параллельной ветви 0 (t J) или выводом (— ()), то программа переходит к обработке следующей команды ("+ 1" в счетчик адреса

РПП). Если флаг "1" равен "1", осуществляется прием команды в режиме, 25

"Обработка". Прием команд "Начало параллельной ветви" (1, "Конец параллельной ветви" (J), Вывод" (-C 1) осуществляется независимо от состоя- . ния флага "1". Все подпрограммы в режиме "Обработка" выходят на анализ индикации. Этот анализ проводится сравнением содержащихся в АЛБ 13 адреса начала текущей цепи и адреса начала индицируемой цепи. Если индикации нет, то осуществляется переход на "+1" в счетчик адреса РПП. Если текущая цепь является индицируемой, то анализируется признак "Листинг" в регистре режима. При наличии этого 40 признака подпрограмма "Листинг" осуществляет вывод на экран номера команды и ее содержимого в цифровом виде, после чего осуществляется переход на +1 в счетчик адреса РПП При 45 отсутствии признака "Листинг" программа осуществляет прием команды в режиме "Индикация". Перед приемом команды модификатор микропрограммы

lr ее .устанавливается в режим Индикация после отработки соответствующей подпрограммы модификатор микропрограмм вновь переключается в режим "Обработll ка

В режиме "Индикация соответствую11 «55 щие подпрограммы осуществляют индикацию цепи на экране в виде релейноконтактной схемы .

После приема команды "-11-" производится формирование адреса таблицы состояний иэ адресной части команды и чтение содержимого таблицы состоя-. ний в АЛБ 13, после чего производится анализ бита, Анализ бита производится одной микрокомандой формата

F15. Если бит равен "0", то во флаг

"l" заносится "0", если бит равен "1", состояние флага остается единичным, При приеме команды " 1" (" Начало параллельной ветви,") анализируется состояние флага "4" (во флаге "4" по команде "Начало цепи" запоминается значение флага "1").

Если перед началом параллельной ветви цепь не разомкнута (фпаг "4" равен "1"), то во флаге "2" запоминается значение флага "1", т.е. результат решения предыдущей параллельной ветви.

Если флаг "1" равен "1", то эта единица запоминается во флаге "2", а флаг "1" устанавливается в "0". Это позволяет исключить обработку последующей параллельной ветви, если предыдущая замкнута.

По команде "3 " (" Конец параллельной ветви") осуществляется функция

"ИЛИ" между флагом "1" и флагом "2", результат записывается во флаг "1" °

Аналогично осуществляется обработка других команд РПП, По команде "Вывод" (— Г )) осуществляется вывод результата (флаг ™1"1 на соответствующее исполнительное устройство, изменение начального адреса текущей цепи (переход к обработке следующей цепи), обработка таймеров, При выполнении условия "Таймер" к текущим значениям таймеров, которые на данный момент возбуждены, прибавляется единица.

Условие "Таймер" поступает с триг1 гера (не показан) на мультиплексор условий 40. Триггер устанавливается частотой сети (0 1 с) и сбрасывается программно микрокомандой формата F12 после того, как значение возбужденных таймеров увеличится на единицу.

После окончания цикла обработки

РПП по команде "Конец программы" осуществляется сканирование входов и запись их новых значений в ТС (таблицу состояний), чтение клавиатуры пуль- та диагностики и программирования (не показан) и запись соответствующих признаков в регистр режима. Затем

1550515

l2 в счетчик адреса РПП устанавливается номер первого слова РПП и цикл обработки РПП начинается сначала.

Таким образом, наличие дополнительного объема памяти в блоке памяти мнкропрограмм позволяет увеличить кс1личество сервисных программ, тестовь1х и диагностических программ, что облегчает работу оператора, уменьша-, ет, количество ошибок при программирс1вания и повышает надежность устройст ва.

Формула из обр етения Процессор программируемого контpol лера, по авт, св. Р 1406595, о т-. л и ч а ю шийся тем, что, с цел,ю расширения области применения за, счет увеличения области памяти ми кропрограмм, процессор содержит дополнительный блок памяти микропрограмм, выходы которого объединены по сх1еме МОНТАЖНОЕ ИЛИ с выходами основ- 25 ного блока памяти микропрограмм, причем блок управления процессора программируемого контроллера дополнительно содержит первый и второй триггеры, пЕрвый и второй элементы И, третий и четвертый элементы ИЛИ, причем первь " выход первой группы выходов деm фратора микрокоманд соединен с вхо" дом установки в "1" первого триггера, вход установки в "0" которого соединен с вторым входом записи регистра возврата и с седьмым выходом первой группы выходов дешифратора микрокома нд, второй выход первой группы выI ходов которого соединен с первыми входами первого и второго элементов

И, вторые входы которых соединены соответственно с прямым и инверсным выходами первого триггера, выходы первого и второго элементов И соединены с первыми информационными входами соответственно первой и второй группы входов второго триггера, второй информационный вход первой группы входов которого соединен с первым входом третьего элемента ИЛИ и с третьим выходом дешифратора микрокоманд, восьмой выход первой группы выходов которого соединен с вторым входом третьего элемента ИЛИ и с вторым информационным входом второй группы входов второго триггера, третий ин-, формационный вход второй группы входов которого соединен с пятым выходом дешифратора микрокоманд, девятый выход первой группы которого соединен с третьим входом первого элемента ИЛИ и с третьим информационным входом первой группы входов второго триггера, синхровход которого соединен с выходом четвертого элемента ИЛИ, первый и второй входы которого соединены соответственно с выходом переполнения счетчика адреса микрокоманды и с выходом элемента ЗИ-ИЛИ, первый. вход которого соединен с третьим входом элемента 2И-ИЛИ и с выходом третьего элемента ИЛИ, прямой и инверсный выходы второго триггера являются соответственно выходами выборки соответственно основного и дополнительного блоков памяти микропрограмм, 1550515

l550515

Составитель А. Афанасьев

Редактор Л. Пчолинская Техред М.Дидык Корректор А.Обручар

Заказ 273 Тираж 566 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-издательский комбинат "Патент", r Ужгород, ул. Гагарина, 101