Программируемый контроллер

Иллюстрации

Показать все

Реферат

 

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

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

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (19) (И) А2

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

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

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

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

ПРИ ГКНТ СССР

1 ,(61) 1453404 (21) 3833931/24-24 (22) 02.01.85 (46) 23.09.89. Вюл. Р 35 (72) М.В.Склема, И.А.Витковский, В.П.Мазаник, С.В.Сенюк, В.М.Шпаковский и Н.M.Áàýûëåâ (53) 681.32(088.8) (56) Патент США Р 4172289, кл. G 06 F 9/00» 1979

Авторское свидетельство СССР

У 1453404, кл. С 06 F 9/00,29.01.86.:

,,(54) ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР (57) Изобретение предназначено для

Изобретение относится к .вычислигельной технике, предназначено для построения программируемых контроллеров (ПК) и является усовершенствова нием изобретения по авт.св. и 1453404.

Целью изобретения является повыше". ние быстродействия.

На фиг. 1 представлена функциональная схема ПК; на фиг.2-5- схема блока обработки логических условий; на фиг. 6 — временные диаграммы цикла передачи информации в каналы вывода на фиг.. 7 — временные диаграммы цикла приема информации с каналов ввода; на фиг.8 — временные диаграммы работы узлов блока обработки логических условий и контроллера; на фиг. 9 — структура рабочей программы (РП), обрабатываемой контроллером на фиг. 10 — алгоритм обработки РП.

rS1) y G 06 F 9/00 15/00 1") 6 (2 построения программируемых контроллеров. Целью изобретения является повышение быстродействия. Контроллер содержит операционный блок, блок памяти рабочей программы, блок памяти состояний, два блока памяти управляющих программ, блок обработки логических условий, генератор импульсов, формирователь сброса, два триггера, счетчик, дешифратор, коммутатор, три элемента И и два элнмента ИЛИ. В блок обработки логических условий введены дешифратор, два триггера, два элемеМта И, элемент ИЛИ и элемент НЕ.

10 ил., 2 табл.

Программируемый контроллер содержит

;(фиг.1) операционный блок i блок 2па мяти рабочей программы, блок 3 памяти состояний, первый 4-1и второи 4-2 блоки памяти управляющих программ, блок 5 обработки логических условий, генератор 6 импульсов, формирователь 7 сброса, триггеры 8 и 9 RS-типа, двоичный счетчик 10, дешифратор 11, ком.мутатор 12, элементы И 13-15 и элементы ИЛИ 16 и 17.

Генератор 6 импульсов имеет выходы 18 FO .19 Р1 и 20 F2, при этом выход 18 FO подключен к входу 18 синхронизации блока 5., выход !9 " к М первому тактовому входу операционного блока 1, выход 20 — к второму тактовому входу операционного блока 1 и к входу 20 синхронизации блока 5. Операционный блок 1 имеет выход 2 1 приз3 150988 нака считывания DB выход 22 признака записи WR, выход 23 начала цикла

SYNC двунаправленные выводы, подключенные к 8-разрядной шине 24 данных

DO D7, адресные выходы 25 АО-А15, вход

5 готовности, связанный с инверсным выходом триггера 8, и вход сброса, связанный с выходом элемента ИЛИ 16. Адресные выходы АО-А7 операционного бло-;

10 ка 1 и выходы А8-А15 коммутатора 12 подключены к шине 2 6 адрес а АО-А1 5, которая связана с адресными входами блока 2 памяти рабочей программы, с адресными входами блока 3 памяти сос- 15 тояний, с адресными входами перво"

ro 4-1 и второго 4-2 блоков памяти управляющих программ, а также с адресными входами А8-А15 дешифратора 11.

Кроме того, адресные выходы АО, . 20

А8-А13 операционного блока 1 подключены к входам 27 блока 5, а адресные выходы А8-A15 — к первой группе информационных входов коммутатора 12, вторая группа информационных входов ко- 25 торого связана с входом фиксированного кода старших разрядов адреса, т. е. с цепями источника питания контроллера, при этом шестой вход этой группы подключен к "+" питания, а остальные — к входу логического "0" контроллера.

Выход 21 ЗВ операционного блока 1 подключен к счетному входу счетчика 10, входам считывания блоков 2 и 3 и входу 21 блока 5. Выход 22 VR операционного блока i подключен к входу записи блока 3 и к входу 22 блока 5,.

Выход 23 SYNC операционного блока 1 подключен к входу 23 блока 5, 40

Выход R формирователя 7 сброса подключен к первому входу элемента ИЛИ 16> к входу 28 сброса блока 5, к входу 28 сброса счетчика 10 и к R — входу триггера 9. Второй вход элемента ИЛИ 16 подключен к выходу 29 сброса блока 5.

Блок 5 имеет выход 30 переключения связанный с управляющим входом коммутатора 12, инверсный выход 31 стробирования (STB) связанный с S-входом триггера 8, выход 32 готовности (ГТ), 50 связанный с R-входом триггера 8, выход 33 выборки ввода-вывода (ВБР В/В) выход 34 вывода и выход 35 ввода.

Блок 5 имеет двунаправленные вхо-, ды-выходы 36, связанные с шиной 24, 55 и двунаправленные входы-выходы 37, связанные с шиной 38 ЮВО-ÝÂ7, При этом шина 24 связана с информацион7 4 ными выходами блоков 4-1 и 4-2, а шина 38 — с информационными входами-выходами блока 3 и информационными выходами блока 2.

Первый и второй выходы двоичного счетчика 10 связаны через элемент

И 12 с S-входом триггера 9., прямой выход которого связан с первым входом элемента И 14. а инверсный выход — с первым входом элемента И l5. Вторые входы элементов И 14 и 15 подключены к первому выходу дешифратора 11, второй выход которого связан с первым входом .элемента ИЛИ 17. Второй вход элемента ИЛИ 17 связан с выходом элемента И 15. Выход элемента И 14 подключен к, входу считывания 4-1, выход элемента

ИЛИ 17 — к входу считывания блока 4-2.

Третий выход дешифратора 11 связан с входом выборки блока 3, а четвертый выход — с входом выборки блока 2.

Операционный блок 1 представляет собой микропроцессор .и может быть выполнен на микросхеме КР580ИК80А, ко-. торая имеет двунаправленную 8-разрядную шину данных и 16-разрядную шину адреса.

Коммутатор 12 представляет собой два шинных формирователя, например, на микросхемах типа К589ИР12.

Генератор 6 импульсов состоит из кварцевого генератора и делителя частоты и обеспечивает формирование им-. пульсов FO частотой 5 МГц и длительностью 100 нс и импульсов F1 и F2 частотой 1 МГц, сдвинутых относительно друг друга (фиг.3).

Формирователь 7 сброса представля.ет собой одновибратор, формирующий импульс R при включении питания.

Двоичный счетчик !0 имеет инверсный счетный вход, поэтому информация на

его выходах появляется по заднему фронту счетного импульса.

Дешифратор 11 имеет четыре выхода, при этом на выходах образуются сигналы, когда на шине 26 появляются следующие адреса:

0000 — OFFF(— для первого выхода;

1000 — 1PFF6 — для второго выхода;

2000 — 20PF6 — для третьего выкода;

2100 — 3FFF e — для четвертого выхода.

В блоке 2 памяти хранятся инструкции РП, последовательность которых воспроизводит ступенчатую электрическую схему управляемого объекта. Kaz1 дая инструкция,занимает объем два байта в блоке 2. Блок 2 представляет

5 15098 собой перепрограммируемое ь остоянное запоминающее устройство (ППЗУ) и содержит ряд микросхем памяти типа

К573РФ5. Рабочая программа в микрос- . хемы памяти записывается с помощью отдельных средств, которые не входят в контроллер. Блок 2 адресуется операционным блоком 1, когда на шине 26

Формируется адрес 2100« — ЗРРР,в .

В блоке 3 памяти имеется область, в которой хранятся биты состояний каналов вывода, другая область, в которой хранятся биты состояний каналов ввода, и третья область, которая используется операционным блоком 1 для своих нужд, например для хранения результатов диагностики и тестирования контроллера. Блок 2 представляет собой оперативное запоминающее 20 устройство и адресуется операционным блоком i, когда на шине 26 формируется адрес 2000,< — 2 0 F F <,.

Вход 103 R установки связан с Rвходом (входом установки в ноль) триггера 43 и R-входом регистра 39.

Выход элемента ИЛИ-НЕ 46 связан с

С-входом триггера 43, информационный вход которого связан с шиной нулевого потенциала, à S-вход (вход установки в единицу) — с синхровходом регистра 39, с выходом элемента И-НЕ 52 и с синхровходом 104 $ТВ, Выход триггера 43 связан со стробирующим входом дешифратора 40, выходы которого связаны цепью 105(-11- ) — с первыми входами элемента ИЛИ 49.и сумматора 83, цепью 106 (ф -) — с вторым входом элемента ИЛИ 49, цепью (-0-) — с первыми входами элементов

ИЛИ 50, И 84 и И 87. цепью 108 (-ф-) с вторым входом элемента ИЛИ 50 и с первыми входами элементов И 86 и

И 89, цепью 109 (-0-) — с третьим входом элемента ИЛИ 50 и с первым входом элемента И 85, цепью 110 (-ф ) с четвертым входом элемента ИЛИ 50 и с первым входом элемента И 88, цепью

111 — с вторым входом элемента И 54 и с выходом разрешения обменом.

Выход элемента И 54 связан со стробирующим входом дешефратора 42, пер- вый и второй выходы которого связаны соответственно с S — и R — входами триггера 44, третий выход связан цепью 112 с первым входом элемента

ИЛИ 80. Выход триггера 44 связан с первым входом элемента И 58.

В блоках 4-1 и 4-2 памяти хранятся команды операционного блока 1, об- 25 разующие алгоритм работы контроллера.

Каждый блок имеет объем 4 К байт.

Блок 4-1 выбирается адресами 0000—

6zIoK 4 2 — адресами

1FFF (. Данные блоки представляют 30 собой постоянные запоминающие устройства (ПЗУ).

Блок 5 содержит регистр 39, дешифраторы 40-42, триггеры 43-45. элемент

ИЛИ-HE 46, элементы ИЛИ 47-51 элемент И-НЕ 52, элементы И 53-58, формирователь 59 импульсов, одновибратор

60, элемент HE 61, триггеры 62-65, элемент И-НЕ 66, элементы И 67-78, элементы ИЛИ 79 и 80, узел 81 двунаправ- 40 ленной передачи данных, мультиплексор

82, сумматор 83 по модулю два, элементы И 84-89, элементы ИЛИ 90 и 91, дешефраторы 92 и 93, две группы из восьми элементов И-HE 94,-94в и 95 -95 . 45

Информационные входы 96 связаны в блоке управления цепью РО (нулевым разрядом) с первым информационным входом дешифратора 41, цепью Ш вЂ” с первым информационным входом регистра 39 50 и с вторым информационным входом дешифратора 41, цепью Э2 — с вторым инфомационным входом регистра 39 и с первым инверсным входом элемента И 53., цепями ДЗ-25 — с другими инверсными 55 входами элемента И 53, цепями Яб и 3)7 — с прямыми входами элемента И

53. Кроме того, информационные входы

96 связаны цепями 170 37 с первыми

87 6 входами соответствующих элементов

И HE 94 94в. !

Входы 97 кода команды связаны цепью АО с первым входом элементна И 55, цепями А8-А10 — с информационными входами дешифратора 42, цепями А11А13 — с информационными входами дешифратора 40. цепями А8-А10 — с информационными входами дешифраторов 92 и 93 и с управляющими входами мульти- плексора 82.

Синхровход 98 ДВ связан с первыми входами элементов ИЛИ-НЕ 46, И 54, И 5&.вторым входом элемента И 55 и первым синхровходом узла 81.

Синхровход 99 WR связан с вторым входом элемента ИЛИ-HE 46 с первым входом элемента И 57.

Синхровход 100FO связан с тактовым входом формирователя 21. Синхровходы

101SYNC и 102F 2 связаны соответственно с прямым и инверсным входами элемента И-НЕ 52.

1509887

Первый выход регистра 39 NO связан цепью 113 с вторым синхровходом узла 81 второй выход STACK — с третьим входом элемента И 55,. Выход элемента И 53 связан с третьим информаци5 онным входом дещифратора 41, стробирующий вход которого связан с выходом элемента И 55 и цепью 114 С1 — с первыми входами элементов И 69 и 70. Вы- 10 уод элемента ИЛИ 49 связан с вторым входом элемента И 56 и с первым входом элемента ИЛИ 51 ° Выход элемента

ИЛИ 50 связан с вторыми входами элементов И 57 и ИЛИ 5 1. Выход элемента

ИЛИ 51 связан с выходом 115 управления модификацией адреса. Первый выход дешифратора 41 связан с первым входом элемента ИЛИ 47, второй выход - с вторым входом элемента ИЛИ 47 и цепью 116, Начало ветви (НВТ) с первыми входами элементов И-НЕ 66, И 71-76 третий выход — с третьим входом элемента ИЛИ 47 и цепью 117 ""Конец ветвей" (КВТ) с первыми входами элементов И 77 и 78 .

Выход элемента И 56 связан с вторым входом элемента И 58, с R-входом триггера 45, с первым входом элемента

ИЛИ 48 и цепью 118 С2 — с первым входом элемента И 68. Выход элемента И 57

30 связан с четвертым входом элемента

ИЛИ 47 и цепью 119 С4 — с первым входом элемента И 72, Выход элемента

ИЛИ 47 связан с вторым входом элемента ИЛИ 48 и с инверсным входом одновибратора 60, выход которого связан с выходом 120 сброса. Выход элемента

ИЛИ 48 связан с входом. запуска формирователя 59 частоты импульсов, первый выход которого связан цепью 121

ТЗ с вторыми входами элементов И 68 40 и 69, второй выход - цепью 122 Т4 с вторыми входами элементов И 70 и 72 и через элемент HE 61 с С-входом триггера 45. Выход элемента И 58 связан с пятым входом элемента ИЛИ 47. шес.той. вход которого связан с выходом триггера 45. Информационный вход триггера 45 связан цепью 123 с выходом триггера 62, с информационным входом триггера 64, с первым входом элемента ИЛИ 79, с вторыми входами элемен- тов И 84, 85, 88 и 89, а также с вторыми инверсными входами элементов

И86 и 87.

Первый вход элемента И 67 связан цепью 124 с выходом сумматора 83, втоl

° рой вход — с выходом элемента И 68, а выход — с К -входом триггера 62.

Выход элемента И 69 связан с вторыми входами элементов И 71, 76 и 78. выход элемента И 70 связан с вторыми входами элементов И вЂ” НЕ 66, И 75 и 77, выход элемента И-НЕ 66 связан с С-входом триггера 63, информационный вход которого связан с его инверсным выходом, с первым входом-элемента И 73 и с третьим входом элемента

И 71. Прямой выход триггера 63 связан с третьими входами элементов

И 75 и 76, а R-вход — с R-входом триггера 64, первым R-входом триггера 65, первым S-входом триггера 62 и выходом элемента ИЛИ 80, второй ." вход которого связан с выходом элемента И 73, а второй вход последнего— с выходом элемента И 72.

Выход элемента И 71 связан с С-входом триггера 64, выход которого связан с вторым входом элемента И 74, а выход последнего — с информационным входом триггера 62. Выход элемента

И 75 связан с С-входом триггера 62.

Выход элемента И 76 связан с С-входом триггера 65, второй R-вход которого связан с выходом элемента И 77, информационный вход — с выходом элемента ИЛИ 79, а выход — с вторым входом элемента ИЛИ 79 и с третьим входом элемента И 78, при этом выход последнего связан с вторым S-входом триггера 62.

Выходы элементов И 84 — 86 связаны через элемент ИЛИ 90 со стробирующим входом дешифратора 93, выходы элементов И 87-89 связаны через элемент ИЛИ 91 со стробирующим входом дешифратора 92. Восемь инверсных выходов дешифратора 92 связаны с соответствующими вторыми входами группы элементов И вЂ” НЕ 94,-948, выходы которых связаны с соответствующими первыми входами группы элементов И-НЕ

95<-958, вторые входы которых связаны с соответствующими инверсными выходами дешифратора 93, а выходы — с информационными входами узла 81. Информационные входы-выходы узла 81 связаны с информационными входами-выходами.125

ХВ0-287, а информационные выходы уз.— ла 81 связаны с информационными входами 96 30-57 и с информационными входами мультиплексора 82, выход которого связан с вторым входом сумматора 83.

Кроме того, блок 5 содержит элементы И 126-128 и одновибраторы 129 и 130.

1509887

Операционный блок представлеяет собой микросхему КР580ИК80Л, которая имеет двунаправленную 8-разрядную шину данных, 16-разрядную шину адреса.

Коммутатор представляет собой два шинных формирователя, например, на микросхемах типа К589ИР12.

Синхроимпульсы 0 по цепи 100 обеспечивают работу блока 5, а именно об- 10 разование на выходе формирователя 59 двух импульсов ТЗ и Т4 длительность по 100 нс(временная диаграмма работы формирователя 59, на фиг.2).

Синхроимпульсы Г 1 и F2 обеспечивают синхронизацию работы операционного блока 1. Кроме того, синхроимпульсы 2 обеспечивают совместно с синхроимпульсами ЯУИС образование на выходе элемента И-НЕ 52 синхроимпульсов 20

STB. (Синхроимпульсы ПВ по цепи 98 формируются блоком 1 при считывании информации с шины 24 DO-D7 в блок 1 и активизируют работу узлов для выда- 25 чи информации в блок 1.

Синхроимпульсы MR no цепи 99 формируются блоком 1 при выдаче информации с блока 1 в шину 24 по цепи 106 и активизируют работу узлов устройства. 30

Синхроимпульсы ЯУСС по цепи 101 формируются блоком 1 всякий раз, когда начинается машинный цикл обработки команды в блоке 1 (фиг.8). Синхроимпульсы БУМС обеспечивают синхронную

35 работу блока 5 с выполнением команд в блоке 1.

Сигнал И по цепи 103 формируется при включении питания и обеспечивает установку узлов контроллера в исходное „ состояние.

Сигнал сброса по цепи 120 образуется в блоке 5 по завершении обработки инструкций ВХОД, ВЫХОД, ВЕТВЬ. Данный сигнал обеспечивает ускоренный 45 переход блока 1 на обработку следующей инструкции рабочей программы(РП), минуя выход из обработки через подпрограмму перехода.

На выходе 115 блока 5 образуется сигнал управления модификаций адреса, обеспечивающий переключение входов коммутатора 12, что позволяет блоку 1 адресоваться к блоку памяти, если сигнал имеет состояние лог "1", или адресоваться к блоку 2 или 4 памяти, если сигнал имеет состояние лог."0".

Синхроимпульсы $ТВ на выходе 31 блока 5 синхронизируют начало работы, а также процесс установки блока 1 н режим ожидания и выход из него.

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

После включения питания формирователь 7 формирует импульс Е. устанавливающий триггеры 43, 63-65, 9, счетчик 10, регистр 39 и блок 1 в состояние лог. "0". При этом в цепи 30 уста-, навливается сигнал лог. "0",и коммутатор 12 находится в исходном состоянии.

На выходе элемента И 56 лог."О", поэтому триггер 45 находится в состоянии лог." О". В цепи 32 лог."0", поэтому на инверсном выходе триггера 8 лог.1, чем обеспечивается разрешение работы блоку 1. Последний формирует на своих адресных выходах код 0000. Данный код передается по шине 26 в дешифратор 11, на первом выходе которого образуется сигнал лог. 1 . Данный сигнал проходит через открытый триггером 9 элемент

И 15, элемент Ш1И 17 на вход считываI ния блока 4-2 памяти. Вследствие этого из первой ячейки блока 4-2 считывается первый байт команды, который поступает по шине 24 в блок 1. Блок 1 также формирует сигнал OB который по цепи 21 поступает на счетный вход счетчика 10. Далее блок 1 формирует адреса 0001, и 0002, и аналогичным образом считывает два следующих байта команды из блока 4-2. При этом после третьего импульса DB на первом и втором выходах счетчика 10 образуется лог "1", благодаря чему на выходе элемента И 13 лог ."1" и триггер 9 устанавливается в состояние лог."1". Посредством этого элемент И 15 закрывается, а открывается элемент И 14.

Первой командой, считанной в блок

1 иэ блока 4-2. является трехбайтовая команда ЗМР АДЕ(безусловный переход по адресу, указанному в команде), посредством которой блок 1 переходит на подпрограмму очистки блока 3 памяти состояний. В начале выполнения каждой. команды блок 1 на своих информацион- ных выходах устанавливает код слова состояния блока 1 и формирует импульс

SYNC в цепи 23. Под действием импульсов SYNC .и F2 на выходе элемента И-НЕ 52 образуется STB, который поступате на,С-вход регистра 39 и в последний записываются два первых разряда кода слова состояния блока 1. Когда блок 1 для очистки ячеек блока 3 в шине 26 выставляет адрес 2000, - 20 FF

1509887

12 а в шине 24 выставляет код 00 и формирует сигнал WR в цепи 22, то на пер вом выходе регистра 39 сигнал MO (лог."1") и код 00 передается из ши-ны 24 через входы 96 блока 5, группы элементов И-HE 94 и 95 на информационные входы узла 81, Посредством сигнаsroa W0 (aor ° "1") H 17В (szor."0") узел

81 передает код 00 на входы-выходы 37 !

О

ЮО-387 Код 00<6 поступает через шину 38 в блок 3 и под действием сигнала WR rro цепи 22 записывается в соответствующую ячейку.

После очистки блока 3 памяти состо- 5 яний блок 1 переходит на подпрограмму тестирования блока 2 памяти РП на несуществующие инструкции. При этом блок 1 в шину 26 выставляет адрес

2100,6 - ЗРРР б и формирует сигнал ДВ в цепи 21, посредством чего с блока 2 в шину 38 поступает байт считываемой информации. Данный байт поступает на входы 125 блока 5. Посредством сигналов WO (лог."0") и ДВ (лог."1") узел

81 передает считанный байт с входов

125 на свои выходы 36 Л0-37. Таким образом, данный байт поступает в шину 24 и далее в блок 1. При поступлении в блок 1 двухбайтовой инструкции РП она сравнивается с инструкцияМи, существующими в контроллере и хра1 нящимися в блоке 2 памяти.

Далее блок 1 выполняет подпрограмму; обработки контрольной (тестовой) РП, а затем подпрограмму обмена информа- - 35 цией с каналами ввода-вывода, причем сначала осуществляется передача информации (в первом цикле обмена такой информацией являются коды 00 6 ) из области состояний каналов вывода

40 блока 3 в каналы вывода контроллера, а затем прием информации с каналов ввода контроллера и запись ее в область состояний каналов ввода блока 3.

Каналы ввода-вывода подключаются к шинам 26 и 24 соответственно своими адресными и информационными шина ми.

Передача информации в каналы выво- 50 да осуществляется следующим образом.

Блок 1 считывает из соответствующей области блока 3 первый байт состояний каналов вывода, затем на своих адресных шинах 25 выставляет адрес первых восьми каналов вывода, при этом в шинах А8-А13 формирует код 111111 . Под действием сигнала

STB триггер 43 устанавливается с состояние лог ."1" и активизирует дешифратор 40. Посредством кода 111 в шинах А11-А13 на выходе 11", дешифратора 40 образуется сигнал лог."1", тогда посредством кода 111 в шинах

А8-А10 на выходе элемента И 126 образуется сигнал ВБР В/В (фиг.5), который активизирует работу каналов вывода и запускает одновибратор 129. На выходе одновибратора 129 образуется импульс."0", который обеспечивает запуск одновибратора 130 (Фиг.6).Также блок 1 на шине 24 выставляет код передаваемого байта состояний каналов вывода и формирует сигнал ИК в цепи 22. При срабатывании одновибратора 130 на его выходе образуется сигнал ГТ (лог."1"). .При этом элемент

И 127 остается закрытым посредством .лог."0" с выхода одновибратора 129.

А сигнал ГТ (лог."1") поступает на

R-вход триггера 8, вследствие чего триггер 8 устанавливается в состояние лог.. "1" посредством сигнала

STB, приходящего íà его S-вход..

На инверсном выходе триггера 8 образуется сигнал лог."0" и блок 1 устанавливается в режим ожидания. Такая задержка работы блока 1 необходима для устойчивой передачи информации по шине 24 в удаленные от контроллера выводы. Процесс ожидания определяется временем работы одновибратора 130. Через интервал примерно 6 мкс на выходе одновибратора 129 образуется лог. "1", посредством чего на

1 выходе элемента И 127 образуется им— пульс, поступающий на выход 34, тогда через интервал примерно 8 мкс с момента срабатывания одновибраторов

129 и 130 на выходе одновибратора 130 образуется лог."0", вследствие чего на инверсном выходе триггера 8 образуется сигнал лог."1", разрешающий продолжение работы блоку 1. По заднему Фронту сигнала MR через элемент

ИЛИ-НЕ 46 триггер 43 устанавливается в состояние лог. "0", закрывается дешифратор 40 и снимается сигнал ВБР В/В.

Затем в каналы вывода передается следуюций байт информации и т.д.

Прием информации с каналов ввода осуществляется аналогичным образом, при этом посредством сигнала ДВ на выходе элементта И 128 образуется сигнал ВВОД.

1509887

После завершения подпрограммы обмена информацией с каналами блок 1 переходит на обработку РП. РП строит-. ся из последовательности инструкций.

В табл. 1 представлены основные инструкции, обрабатываемые контроллером.

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

При этом в каждой пошаговой секции инструкции образуют пошаговую программу, в которой переход на обработку последующей инструкции зависит от результата обработки инструкции группы ВХОД. Если результат обработки инструкции группы ВХОД не может обеспечить (фиг. 9, ячейка 1-3) изменение состояния элемента, соответствующего ин-. струкции группы ВЫХОД, расположенной дальше в пошаговой секции (с.фиг.9, ячейка 1-5), то нет необходимости обрабатывать последующие инструкции в данной пошаговой секции (ячейки 1-4—

1-6), так как состояние исполнительных механизмов управляемого объекта, запрограммированное в данной пошаговой секции, не изменяется. В этом случае происходит запоминание адреса обрабатываемой инструкции в данной пошаговой секции (адрес ячейки 1-3 в цикле 1) и переход на обработку инструкций в последующей пошаговой секции. Затем может аналогичным образом произойти переход на обработку инст:рукций последующей пошаговой секции и т.д. до M-й пошаговой секции. При этом всякий раз запоминается адрес инструкции группы ВХОД, с которой произошел переход на обработку инструкций в последующую пошаговую секцию.

После обработки инструкций в И-й по шаговой секции осуществляется переход: 50 на обработку РП в сканирующей секции— всех инструкций подряд до инструкции "Конец программы". После этого осуществляется обмен информацией с каналами ввода-вывода и переход в пер- 55 вую пошаговую секцию на обработку той инструкции, адрес который был запомнен в предыдущий цикл обработки (в ячейку 1-3 в цикле 2). Таким обра- зом, происходит проскакивание по всем пошаговым секциям, чем обеспечивается пропуск отдельных частей РП, обработка которых не изменила бы состояния управляемого объекта. При этом, если в какой-то пошаговой секции процесс обработки дойдет до инструкции

"Конец программы" (ячейка П-4 в цикле 2), то в следующий цикл процесс обработки вернется на начало программы данной пошаговой секции (ячейка

П-1 в цикле 3).

Рыхлее подробно процесс обработки

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

Сначала блок 1 программно устанавливает блок 5 в исходное состояние (лог."1") и задает режим пошаговой обработки РП (фиг.10, блок t19). Для этого блок 5 в соответствии с программой в блоке 4 формирует код 111010 на шинах 97 А8-А13, посредством чего на выходе 111 дешифратора 40 образуется сигнал лог."1"„ а с появлением сигнала ЗВ в цепи 98 открывается элемент И 54, активизируется дешифратор

42 и на его выходе 112 образуется сигнал лог."1", при этом триггеры 6365 устанавливаются в состояние лог. "0", а триггер 62 — в состояние лог; "1".

По завершении сигнала ЯВ на выходе элемента ИЛИ-HE 46 образуется сигнал лог." 1", чем обеспечивается установка триггера 43 в состояние лог."0" и блокировка дешифраторов 40 и 42.

После. этого блок 1 программно на шине 97 формирует код 111001, вследствие чего на втором выходе дешифратора 42 образуется сигнал лог."1" и триггер 44 устанавливается в состояние лог."0". Происходит установка блока 5 в режим пошаговой обработки РП.

При этом элемент И 58 оказывается закрытым. Далее блок 1 программно в соответствующую область блока 3 памяти записывает начальные адреса каждой пошаго-. вой секции (фиг.10), а затем переписывает начальный адрес первой пошаго-. вой секции из блока 3 в свой стековый регистр. В самом начале обработки РП в стековый регистр записывается код

2100„, соответствующий начальному адресу РП в блоке 2 памяти. Затем по мере обработки инструкций в пошаговых секциях в соответствующих пошаговым секциям ячейках блока 3 памяти изменяются коды адресов.

16

1509887

В табл. 2 приведено изменение адресов четырех пошаговых секций объемом по 100 инструкций каждая при обработке инструкций в соответствии с фиг. 9.

Обработка инструкций РП занимает разное время в зависимости от группы инструкций.

Инструкция группы ВХОД обрабатывается за две команды: POP Н (считывание инструкций по адресу, указанно" му .стековым регистром, и загрузка ее во внутренние Н, 1-регистры блока 1;

N0U ЕМ (считывание байта из блока 3 памяти по адресу, указанному в L — регистре, и загрузка байта во внутрен-. ний А-регистр блока 1), если результат обработки может обеспечить изменение состояния элемента группы ВЫХОД, расположенного дальше в пошаговой секции.

Команда POP Н занимает три первых байта в ячейках блока 4-1 памяти. Счи-25 тываемая из блока 2 памяти инструкция группы ВХОД поступает через блок 5 в блок 1.При выполнении команды NO ЕМ блок

1 устанавливает на своих адресных выходах код данной инструкции с Н,L †ðåãèстров и формирует сигнал DB. Посредством кода на шине 97 А11-А15 в блоке 1 осуществляется дешифрация кода инструкции, при этом на выходе 105 или 106 дешифратора 42 образуется сигнал лог."1", благодаря чему на выходе 35

tt tt

ИЛИ 5 1 образуется сигнал ло г, 1 и, таким образом, к оммутатор 1-2 отключает от шины 2 6 адресные выходы А8А1 5 блока 1 и подключ ает к шин ам А840

А15 первую группу своих входов. Вследствие этого происходит модификация адреса и в шину 26 поступает код 20NN«, где NN — код в шинах АО-А7, соответствующий адресу байта в блоке 3 памя45 ти состояний. Тогда происходит считывание из блока 3 байта, в котором находится бит состояния канала ввода, указанный в данной инструкции РП.

Считанный байт поступает через блок 5 в блок 1. Так как на адресных входах 50

97 А8-А10 блока 5 установлен код, со-.. ответствующий адресу бита в считанном из блока 3 байте, то в блоке 5 происходит анализ состояния данного бита, т.е. анализ состояния канала ввода, и 55 в зависимости от функции инструкции группы ВХОД производится соответствующая обработка инструкции и запоминание результата обработки, при этом необходимая информация образуется на выходе сумматора 83 по модулю два, а результат запоминается в триггере 62 (в данном случае триггер 62 будет в состоянии лог,"1"). При обработке инструкции группы ВХОД образуются .сигналы С2, ТЗ и Т4 (фиг.1), которые поступают в блок 5. По завершении обработки инструкции по заднему фронту импульса Т4 устанавливается в состояние лог."1" триггер 45, на его выходе образуется сигнал лог."1", благодаря чему срабатывает формирователь

60 и формируется импульс сброса блока 1. При этом блок 1 устанавливается в состояние лог."0", затем устанавливает на своих адресных выходах код 0000< и происходит обращение к первым ячейкам блока 4-1, в которых записана команда РОР Н, которая обуславливает считывание следующей инструкции РП. Триггер 45 устанавливается в состояние лог. "0" по P. — — входу.

Если результат обработки инструкции группы ВХОД не может обеспечить изменение состояние соответствующего элемента группы ВЫХОД, то в блоке 5 не произойдет формирование импульса сброса на выходе 120, так как разультат обработки инструкции обеспечил установку триггера 62 в состояние лог."0" и триггер 45 не установится в состояние лог."1" ввиду лог."0" на его информационном входе. Тогда блок 1 считывает из блока 4-1 памяти следующие команды:

NOVME — запись байта в блок 3 памяти состояний по адресу, указанному в L-регистре;

МОЧЕ1- — запись содержимого -регистра в E-регистр;

MOVAH — запись содержимого Н-регистра в А-регистр;

PLC — сдвиг влево на один разряд;

1OVLA — запись содержимого А-регистра в Т-регистр;

МЧТ НОΠ— запись нулей в Н-регистр;

PCHL †. загрузка программного счетчика содержимым H L-регистров;

$0034$JMP — безусловный переход на обработку инструкции "Конец программы"; )0037) N0P — нет операции; (0038(JNP - безусловный переход на выход из тестовой программы;

° ° ° (0090) J NP — безусловный переход на подпрограмму выхода из пошаговой секции для инструкции11- ХХХО;

1509887

18 (0093). NOP

100941 МР— то же, для инструкций11XXXI и - 11- ХХХ2; (0097) NOP; (0098)JHP — то же, для инструкцийЧГХХХЗ и -II- ХХХ4;

009B) NOP

009CJJMP — то же, для инструкций ХХХ5 и -11- ХХХ6; (009 НОР; (ООА01Л1Р— тоже, для инструкций Ч

ХХХ7 и-Ф- ХХХ09 (ООАЗ) NOP; (ООА41ЛГ1Р— то же, для инструкций ф

XXXI и-ф ХХХ2;

$O0A7J NOP; (ООА81Л1Р— то же, для инструкций +

ХХХЗ и -ф ХХХ4;

)00m) Г10Р;

)OOACJ THP — то же, для инструкций -фХХХ5 и + ХХХ6;

j00AF)NOP; (OOanJ.eiP — то же, для инструкции +

ХХХ7, где в ... даны адреса блбка 4-2, ХХХ вЂ” адрес байта в блоке 3 памяти состояний.

Выполнение всех этих команд не изменяет состояния блока 5. При переходе на команду JMP, которая находится в ячейках блока 4-1 по адресам

0090< — ООВО,, блок 1 переходит на подпрограмму запоминания адреса данной инструкции группы ВХОД, что осуществляется записью адреса в соответствующую ячейку блока 3 памяти (табл.2).

Затем блок 1 программно устанавливает блок 5 в исходное .состояние и анализирует, является ли данная пошаговая секция последней в РП. Если данная пошаговая секция не является последней, то блок 1 считывает в свой стековый регистр из соответствующей ячейки блока 3 памяти адрес инструкции следующей пошаговой секции, который он запомнил в предыдущий цикл обработки.

Если обрабатываемая пошаговая секI ция является последней в РП, то блок

1 программно устанавливает блок 1 в режим сканирующей обработки. рабочей программы и записывает в свой стековый регистр адрес первой инструкции сканирующей программы. Установка бло - ка 1 в режим сканирующей обработки РП осуществляется посредством кода

111000, формируемого блоком 1 на ши,нах 97 А8-А13, посредством которого иа первом выходе дешифратора 42 обна выходе элемента И 57 формируется сигнал С4, также образуются импульсы TÇ .и

Т4, а по заднему фронту сигнала С4 срабатывает формирователь 60 и происходит сброс блока

Обработка инструкций группы ВЕТВЬ осуществляется за одну команду POP Н.

При выполнении команды POP Н в разря55 де 32 слова состояния блока 1 лог."1", поэтому с выхода регистра 39 на вход элемента И 55 поступит сигнал STACK

45 разуется сигнал лог. "1", устанавливающий триггер 44 в состояние лог."1", при этом открывается элемент И 58. В, сканирующей программе обработки инструкций группы ВХОД осуществляется всегда за две команды POP Н и Г107ЕМ.

Обработка инструкций группы ВЫХОД осуществляется за три команды POP Н, Г10ЧЕМ и Г10Ч1Е как в пошаговых, так и в сканирующей программах. Аналогичным образом, из блока 2 памяти РП считывается инструкция, из блока 3 памяти состояний считывается байт, содержащий.бит состояния канала вывода, соответствующего инструкции. А далее при выполнении команды NOVME ранее считанный блоком 1 байт переписывается через блок 5 обратно в блок 3. При этом в зависимости от результата, накопленного в блоке 5 при обработке предшествующих инструкций данной логической цепи, происходит при необходимости изменение данного бита (установка его в состояние лог."1 или в лог. 0 ) в байте, пересыпаемого через блок 5. При этом блок 1 формирует сигнал WR в цепи 22. Посредством сигнала лог."1" на одном из выходов 107-110 дешифратора 40 и сигнала результата с выхода 123 триггера 62 появляется сигнал лог. 1" на выходе элемента ИЛИ 90 (в случае усч ановки бита в состояние лог."1") или на выходе элемента ИЛИ 91 (в случае установки бита в состояние лог. "0 ) . Данный сигнал лог."1" активизирует работу одного из дешифраторов 92 или 93. Когда передаваемый из блока 1 в блок 3 байт состояния каналов вывода поступает с шины 96 в шину 125 через группы элементов И-НЕ 94 и 95, то посредством работы дешифр тора 93 происходит установка необходимого бита в состояние лог."1"„ или посредством работы дешифратора 92 происходит установка данного бита в состояние лог."0".При обработке инструкции группы ВЫХОД на

19

1509887 (лог."1"). При считывании старшего байта инструкции РП из блока 2 памяти разряд АО имеет лог. "1", поэтоI му открывается элемент И 55 и активи5 зируется работа дешифратора 41, при этом на одном из его выходов образуется сигнал лог."1", соответствующий o8 рабатываемой инструкции группы ВЕТВЬ.

По заднему фронту сигнала CI срабаты- 10 вает формирователь 60 и происходит, сброс блока 1.

Выход на обработку инструкций группы ПЕРЕХОД осуществляется программно:

POP Н; PLC; (00341 JMP;

M0V. ЕМ; M0VLA; $00371 N0P»

N0V ИЕ; MVI НОО; $0038) JMP

NOV EL; PCHL;

NOV АН3

При обработке инструкции "Конец программы" в пошаговой секции блок 1 в соответствующую данной пошаговой, секции ячейку блока 3 записывает начальный адрес данной пошаговой секции. 25

При обработке инструкции "Конец программы" в сканирующей секции блок 1 переходит на подпрограмму обмена информацией с каналами ввода-вывода.

Далее процесс обработки РП повторяется. формула изобретения

Программируемый контроллер по авт. св. Р 1453404, о т л и ч а ю щ и йс я тем, что, с целью повышения быстродействия, блок обработки логических

< условий дополнительно содержит пятый дешифратор,, шестой и седьмой триггеры, двадца