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

Номер патента: 1537016

Авторы: Булай, Склема

Есть еще 22 страницы.

Смотреть все страницы или скачать ZIP архив

Текст

С) 153701620 ра очеиабочей программы, блок памяти управ- мяти рабочей программы и выборки блоляющей программы, регистр, дешифратор, ка памяти состояний, а выходы с пертри элемента И, первьп элемент ИЛИ, вого по третий элементов согласования Фри элемента. согласования и блок па- подключены к входу синхронизации опемяти остояний, причем операционныи . Рационного блока, о т л и ч а ю щ и йблок соединен через шину адреса дан с я тем, что, с целью повышения быных с информационными выходами блока стродействия, контролллер содержит памяти рабочей программы, с информаци блок памяти программы транслятора 1 01 ыми Выходами блока памяти управляюо блок памяти транслированной рабочей щей программы, с информационны- программы, четвертый и пятый элеменми входами-выходами блока па- ты И, четвертый и пятый элементы согмяти состояний и с информаци . ласования и второй элемент ИЛИ, при онными входами регистра, выходы кото" этом адресные входы блоков памяти рого соединены с адресными входами 5 программы транслятора и транслироваи" блоков памяти рабочей программы,управ ной рабочей программы соединены с ляющей программы и состояний и с ин- выходами регистра, информационные формационными входами дешифратора, с выходы блока памяти программы транс- адресными входами блоков памяти управ- лятора и информационные входы-выходы ляющей программы и состояний, причем 2 О блока памяти транслированной рабочей выход управления считыванием опера- программы соединены через шину адре"ционного блока подключен к первым вхо" са данных, выход управления считывадам первого и второго элементов И и нием операционного блока подключен первого элемента ИЛИ, выход управле к первым входам четвертого элемента И ния записью операционного блока под Б и второго элемента ИЛИ, выход управ-ключен к второму входу;первого эле- ления записью операционного блока мента ИЛИ и к входу управления за- подключен к второму входу второго писью/считыванием блока памяти состоя- элемента ИЛИ и к входу управления ний, выход формирования начала цикла . записью/считванием блока памяти операционного блока подключен к син- Зо транслированной рабочей программы, хровходу регистра, первый выход дешиф- четвертый выход дешифратора подклюратора подключен к . второму входу чен к второму входу четвертого элемен" первого элемента И и к входу выборки та И и к входу выборки блока памяти блока памяти управляющей програмы, . программы транслятора, пятый выход второй выход дешифратора подключен к дешифратора подключен к первому вхо 35второму входу второго элемента И и к ду пятого элемента И, второй вход ковходу выборки блока памяти рабочей торого подключен к выходу второго программы, третий выход дешифратора элемента ИЛИ, вьмоды четвертого и пяподключен к первому входу третьего того элементов И подключены Й входам элемента И, второй вход которого под О, соответственно четвертого и пятого ключен к выходу первого элемента ИЛИ, элементов согласования и к входам совыходы первого, второго и третьего ответственно управления считываниемэлегентов И подключены к входам соот- блока памяти программы транслятора и . ветственно первого, второго и третье- выборки блока памяти транслированнойго элементов согласования и к входам рабочей программы, а выходы четвертосоответственно управления считывани-го и пятого элементов согласованияем блока памяти управляющей програм- подключены к входу синхронизации опель, управления считыванием блока па- рационного блока.оо оо 11 ОоЗ 1 оо ооо Н оо о н 5 Еее оо о. оо еОЕОЕ еЯи и ф М Э ф М Р ф МвР н Ю О м 1 к о 1М о 153701 Ь В 3 Х Х 3 Я о о Э аРф ы ф, оо оо1537016 24 23 Та блица 2 Номеррегистра Сод ержимо е в Счетчик адреса ИСРП (автоинкрементальный способ адресации)Адрес начала ЛЦ ИСРПСчетчик адреса ТрРП (автоинкрементальный способ адресации)Адрес начала ТрРП данной ЛЦАдрес начала дополнительной ТрРП данной Лц или начала ТрРП последующей ЛЦфлаги: 1 - наличие ЛЦюф2 - четностьКоличество инструкций группы ВЫХОД в ЛЦ Счетчик количества инструкций группы ВЫХОД вЛЦ Величина смещения для перехода по адресу Операнд источника команды В 1 С или В 18 Операнд приемника команды В 1 С или В 18 Количество инструкций с элементами -о-/-Ф в ЛЦ Счетчик количества инструкций с элементами-о-/-Ф-в ЛЦ 2 3 7 .8 9 10 11 12 13 Та блица 3 НомеррегистС одер жима е ра щ ш ФАдрес начала последуюцей ЛЦ ИСРПАдрес начала данной ЛЦ ИСРПАдрес начала дополнительной ТрРП данной ЛЦ илиначала ТрРП последующей ЛЦАдрес начала ТрРП данной ЛЦСодержимое рег. 3Флаги сброшеныСм. рег, 8Количество инструкций группы ВЫХОД в ЛЦ 1 2 3 4 6 7 8 9..111 г 13 См. рег. 13Количество инструкций с элементами -О-/-Ф- в ЛЦ Таблица 4 Номеррегистра Содержимое 1,"2 3,4 5 6 2, 8 911 12, 13Адрес начала данной ЛЦ ИСРПА 1 рес начала ТрРП данной ЛЦАдрес начала ТрРП последующей ЛЦфлаги сброшеныКоличество инструкций группы ВЫХОД в ЛЦ Количество инструкций с элементами -ОФ- в ЛИ.еМЕ1537016 Таблица 5 26 25 На какую инструкциюосуцествляется пе"реход Анали- Условие перехо- . да: если зируе"мая инструкция 71, 72, 74 ф.0, УЭ .1Х 4 О 0 Х 871, .У 2; 74 О, ТЗф 1 1 0 1 0 О 0 1 О Х 8Х 871, 72, 74 О, УЗф.1 То зеУ 1 -071 ф 72, 74 О, ТЗ 1Т 2 0 0 1 0 Х 17 Х 17 0 0 О 0 0 1 0 0 О 1 1 0 0 Х 24 Тб, Т 7 0То аеХ 21 Х 24 76, Т 7 0 Х 24 Т 6, ИО Х 25 76-0 У 6" 0 77 фП фХЗО 0 ХЗЗ -Щ; О Таблица 6 Л Поиск-И - , С четная 73 1, 740 сккоманды /В 18 в допол ельной части П или перехо последующую-о+Ф-, последующая Х 32инструкция группы ВХОДимеет С Х 5, Х 6, Х 22 Х 10, Х 26 Х 9, Х 12, Х 24Х 25, Х 28 С, С нечетная, в ЛВ есть - о-/-ЮТаблица 7 манда Опера функция иемника источник Юонапьный Проверка бита состояния:слове если бит равен лог. О, тоала ВВ. .флаг Е устанавливается, еслибит равен лог. 1, то флаг Есбрасывается Адрес слова тояния кана ос- Код, пропор адресу бита состояния к Код, пропорциональадресу бита в словсостояния канала ввода рес слова со тановка бита . ояния,каналавода Сброс бита ЕС То зе о личина смещени-11 - в ЛВ, предыду" щая С четная в ЛВпредыдущая Ф нечетйая, в ЛВ нет -О-/- 4- последующая инструкция группы ВХОД не имеет С С, С нечетная, в ЛВ нет-о+9-, последующая инструкция группы ВХОД имеет-11- в ЛВ, предыдущаяС нечетная, в ЛВесть о- -Ф -Поиск-ЕЕ инструкциигруппы ВХОД с Поиск ЕЕЕ инструкциигруппы ВХОД/ВЫХОДпосле 3 Поиск ЕЧ -о-(- Иили -О-/-Ф-, а за тем инструкции группы ВХОД или переходна последующую ЛЦ Переход, если флаг Еббааббб абюг 040004 04000 б 04 аай 040 би 0400 Я 4 оао абаага Ебаагг ебаагб Фбааба Е 4 ЕО 2 е 40024 040 Об 040040 еааа 42 Ебааба абааба обаебг 4 Ю 4 абайб Обеаба 0400 бг аббабб 0400 бб 040070 абаагг 0400 г 4 040 ого 04 ааа 04 афбг 04 ОЕ абоюе 04 апг, 04 йи 04 аиа 040120 обаюгг абае аеге Обеоа 04 еия Рбаа 4 04 РФгб аборте 1537016 Фиг. Ф30 29 1537016 Пооаолюение табл.7,Команда Функция источника Переход, если фраг Е1 То ае ВЕЯ Переход, если флаг С 0 То ае ВСС Установка флага С БЕС Сброс Флага С Безусловный переход Величина смещения ВВ Безусловный переход (для инструкции -О- ) Адрес перехода в блок 1 памяти Таблица 8 Инструкция Бит сос- Адрес ТрРП Шаг Результат выполнения команды(аеаввЭВИВ г.Х 22 1.18 060352 121 060360 6-51 ЮФЮфЮВЮЕВЮЮ Х 24 . 0 126 , 060372 В 1 Т Установка флага Е129 060400 .ВЕЯ . Переход по величине сме.щения +3 7 с-цХ 25. 0133 060410В 1 Т Установка флага Е136 .060416ВНЕ Переход на следующуюкоманду.8 С -ЯОперандприемника 6.1: Установка флага ЕПереход по величинесмещения +8 (велич.условн.) В 1 Т Сброс Флага ЕВЕЯПереход на,следующуюкоманду В 1 Т Сброс флага ЕВЕЯ Переход на следующуюкоманду В 1 Т Установка флага ЕВЕЯ Переход по величинесмещения +4 В 1 Т Сброс Флага ЕВЕЯ Переход на следующуюкомандуВ 1 Т Сброс флага ЕВНЕ . Переход по величине,смемещения +4153/016 Команда Адрес ТрРП Инструкция Иаг Х 26 1 11 1- 11 Х 27 0 168 060516 169 060520 172 060526 15в ХЗО Ьпт состолнпя услов Физичесный кийВ 1 Т Сброс Флага ЕВНЕ Переход по величинесмещения +23 В 1 С Сброс битаВСС Переход по величинесмещения "22 В 1 Т Установка Флага ЕВЕЯ Переход по величинесмещения +20,ВЕС Установка флага С В 1 С Сброс бита СЬС Сброс флага Си тактовый вход, связанный с выходом генератора 9 импульсов.11 А/Д 22 связана с информационными выходами блоков 24, с информационными входами-выходами блоков 5, 6, с : информационными входами.- регистра 7, Выходы регистра 7 подключены ко входам дешифратора 8 и к адресной шине 27 (ИА 27), связанной с адресными входами блоков 26.1Выход 23 операционного блока 1 подключен к первым входам элементов И 10,12 ц элементов ИЛИ 15, 16. Выход 24 операционного блока 1 подключен 15 ко вторым входам элементов ИЛИ 15, 16 и ко входам управления записью/вчитыванием блоков 5, 6, Выход 25 операционного блока 1 подключен к синхровходу регистра 7. 20Первый выход дешифратора 8 подключен ко второму входу элемента И 10 и ко входу выборки блока 2, второй выход дешифратора 8 подключен ко второму входу элемента И 11 и ко входу выборки 25 блока 3, третий выход дешифратора 8 - ко второму входу элемента И 12 и ко входу выборки блока 4, четвертый выход - к первому входу элемента И 13, пятый выход - к первому входу элемен та И 14. Вторые входы элементов И 13 и 14 подключены к выходам соответственно элементов ИЛИ 15 и 16. Выход элемента И 10 подключен ко входу буферного элемента 17 и ко входУ управ ления считыванием блока 2. Выход элемента И 11 подключен ко вхЬду буферного элемента 18 и ко входу управления считыванием блока 3. Выход элемента И 12 подключен ко входу буфер" 40 ного элемента 19 и ко входу управле" ния считыванием блока 4. Выход элемента И 13 подключен ко входу выборки блока 5 и ко входу буферного элемента 20. Выход элемента И 14 подключен 45 ко входу выборки блока 6 и ко входу буферного элемента 21. Выходы буфер.ных элементов 1721 объединены и подключены ко входу 26 операционного блока 1.50Генератор 9 представляет собой кварцевый генератор импульсов.Операционныйблок 1 представляет собой микропроцессор и может быть вы" полнен на микросхеме.К 1801 ВМ 2,которая имеет 16-разрядную шину адреса данных и внутренние флаги Е и С.В блоке 2 памяти управляющей про1граммы хранятся команды операнионного блока 1, образующие ал,оритм работы ПК по выполнению подго.овительных подпрограмм и подпроггамм обмена,Данный блок имеет объем 2 К соеви выбирается адресами от 000000 дс 007776.В блоке 3 памяти программы транслятора хранятся команды операционногоблока 1, образующие алгори М работыПК по выполнению преобразования ИСРПв ТрРП. Данный блок имеет объем 6 Кслов и выбирается адресами от 010000до 0377768,Блоки 2 и 3 представляют собойпостоянные запоминающие устройства.В блоке 4 памяти РП хранятся инструкции РП, последовательность которыхвоспроизводит ступенчатую электрическую схему управляемого объекта. Каждая.инструкция занимает объем - одно 16 разрядное слово. Блок 4 представляетсобой перепрограммируемое постоянноезапоминающее устройство и содержитряд микросхем. типа К 573 Рф 4 с ультра 1фиолетовым стиранием, РП в.микросхемы,памяти записывается с помощью отдельных средств, которые не входят в состав РК. Блок 4 имеет объем 4 К слови выбирается адресами от 040000 до057776 в.В блоке 5 памяти ТрРП хранятся команды операционного блока 1, образующие алгоритм работы ПК по обработке РП. Данный блок имеет объем 16 К слов и выбирается адресами от 0600008 до 157776.В блоке 6 памяти состояний имеется область, в которой хранятся, биты состояний каналов .вывода, другая область, в которой хранятся биты состояний ка -налов ввода, и третья область, которая используется операционным блоком 1 для своих нужд, например для хранениярезультатов промежуточных вычислений. Блок 6 имеет объем 2 К слов и выбира- ется адресами от 160000 в до 167776 вБлоки 5 и 6 представляют собой оперативные запоминающие устройства.Регистр 7 запоминает 16-разрядный адрес, поступающий наША/Д 22 с выходов операционного блока 1,Регистр 7 может быть выполнен на.микросхемах типа К 589 ИР 12.Дешифратор 8 обеспечивает формирование сигналалогической единицы (лог. 1) на одном из своих выходов при поступлении на его входы адреса, соответствующего выбираемому блоху 26 памяти, Входы дешифратора под75 ЭО 16 Фвтчивп аурес Об 0106 Об 0110 000116ыаЮД СИРДхД:3 80 Р Обо 126 Обазгб юф 060134 0 6005 б 7 аоР 097040 060 14 б Об 0046 ПОР Об 0154 и Хб Обообо оьааимиЯ 64 ао н 1 Оо обоо 70 Обаа 76 дба 0000 Об 0006 оба 010 060016 ОбОИ 7 Обоогб абапзо ВЕТ х 1 ВЕТ е И вп вход втт = хб от =ха 611 в х 10 В 18 а а 1 ВЕТ а х 11 вхг м ха Рб 0 244 т нОР ЗЕ ВИ а Ух Втт Э Хи аноюа Бою 31537016 аисеЩ Юлак 104 Инкреиена (рег,З на4 яЬниие Иик е ент РАЗ а ееиницы И апви ли Ааеа 7) = (рее.Унвт 171 ЧГпосле Уюшв цнещ к ии ИСРП 178 ГРуниа МУ инкреоеве (рев.Ф 1 бВ Гиа элемента(реМ -( еа.е 174 173 (рез.О реаЗНреа 4 М Тип 3 легявеи цюерейцнсщ кции Ие РЯ 10 АаО йюк Ю аю а Юу Я 55 яакйяа ресу77 е рейд каманды эю и рве.дкаюаюуювоиае 177 йеличинь сивщенив а 1 И. личцно аеиенцеийрве. У ее. у 178 Инк енент веа 179 Ин ейенй ржи 1 ае (яее. в- (реал ЧГ паслеюующв фф инструкции ИеРЯ 1 И 9 уета ОхаминеМВэиаа1 бб Инкренеит (реал О/нввУ ВХаанетОюад15370 ключены к восьми старцггм выходам регистра 7. Дешифратор может быть выполнен на микросхеме постоянной памяти типа К 556 РТ 5.Элемент 17 (1820 или 21) обеспечивает формирование сигнала лог.на своем выходе прп поступлении наего вход сигнала лог. 1, Иначе элемент находится в третьем высокоимпе Одансном по выходу состоянии. Этот элементможет быть выполнен на микросхеме типа К 55 ЛП 8,Входы и выходы элементов и блоковПК имеют следующее назначение,15Импульсы с выхода генератора 9 обеспечивают тактирование рабогы операционного блока 1. На выходе 23 операционный блок 1 формирует сигнал 01 Япри считывании информации с ША/Д 22 20в операционный блок 1. Сигнал 01 Я активизирует работу блоков ПК для выдачи информации в операционный блок 1.На выходе 24 операционныгг блок 1формггрует сигнал ЭОСАТ при выдаче информации с операционного блокавША/Д 22. Сигнал ЭОСАТ активизирует работу блоков ПК для приема информациив них с ША/Д 22.На выходе 25 операционный блок 130формирует сигнал ВТЯС всякий раэ, когда в ША/Д 22 поступает код адреса свыхода операционного блока. 1. СигналЗИНЯС синхронизирует работы регистра7. На вход 26 операционного блока 1поступает сигнал РР 1 Л, который синхронизирует работу операционного блока 1 в цикле записи/считывания информации.На первом.(втором или третьем) выходе дешифратора 8 формируется сигнал лог. 1, обеспечивающий выборкублока 2 (3 или 4) памяти. На выходеэлемента И 10 (1 или 12) формируетсясигнал лог. 1, обеспечивающий стробирование выходных буферов соответству-ющего блока 2 (3 или 4) памяти, по.-,средством чего информация с выбранного блока 2 (3 или 4) памяти поступаетв ША/Д 22. Данный сигнал образуетсяв цикле считывания посредством сигнала ЭТЯ.На выходе элемента И 13 (14) формируется сигнал лог. 1, обеспечивакицийвыборку блока 5 (6) памяти. Данныйсигнал образуется посредством сигнала010 кли ЭОСАТ в цикле считывания илизаписи. Кроме того сигнал ЭОСАТ обес.печивает управление записью/считыва 6 6кием иггфориагггггг в блок 5 (6) памяти,Сигнал 000 Т, нмеюций уровень лог.1,обеспечивает запись информации в соответствующий блок 5, 6 памяти.На выходах элементов 1721 посредством сигналов 01 Я/00 Т формируется сигнал ПР 1 Л, указывающий на активизацию одного из .блоков 26 памяти.Процесс считывания информации сблоков 24 постоянной памяти осуществляется следующим образом. Операционный .блок 1 в ИА/Д 22 устанавливаетадрес выбираемой ячейки памяти изблоков 24 и формирует сигнал 87 ЯС,посредством которого код данг.огО адреса записывается в регистр 7. В результате этого на входы дешнфратора 8 поступит код адреса, определяющий выбираемый блок 24 памяти, а вША 27 - код адреса, определяющий выбираемую ячейку памяти иэ блоков24, Затем операционный блок 1 снимает адрес с ИА/Д 22 и формирует сигнал 01 Я, посредством чего с выбранного блока 24 считанная информация поступает в ЮЛ/Д 22, а под действием сигнала КРЬВЬ операционный блок 1через определенный интервал временипринимает информацию с ША/Д 22 и занимает ее в своих внутренних регистрах. После этого сигнал 01 Я снимается, вследствие чего снимается сигналКРЬВЬ.Процесс считывания информации сблока,5, 6 оперативной памяти осуществляется следующим образом. Анало.гично формируется адрес и сигналЗЪЯС. Так как на выходе 24 операционного блока 1 отсутствует сигнал ЭОСАТ(уровень лог, О), то блоки 5, 6 памяти устанавливаются в режим считыванияинформации. Далее посредством сигна-.ла 01 Я выбирается соответствующийблок 5, 6 памяти, и информация с еговыходов поступает в ЯА/Д 22. Далеепроцесс происходит аналогично.1Процесс записи информации в блок 5, 6 осуществляется следующим образом. Аналогично формируется адрес н сигнал ЗТМС,. Затем операционный блок 1 снимает адрес с ША/Д 22, устанавливает на этих шинах код записываемой информации и формирует сигнал ЭОСАТ, посредством чего осуществляется выбор.- ка соответствующего блока 5, 6 памяти и запись информации с ША/Д 22 в выбранную ячейку памяти соответству/ющего блока 5, 6, Аналогичным образом формируется сигнал ВР 1 Л.Работает ПК следующим образом, После включения питания операционный блок 1 обращается к блоку 2 памяти управляющей программы и,начиная садреса 00000081 считывает код первойкоманды, которая указывает на переход 10на программу очистки ячеек блока 6памяти состояний, при этом очищаетсятолько область, в которой хранятсябиты состояний каналов вывода. Очистка обусловлена записью кода 0000 1 вячейки памяти данной области,Следующей программой является программа сброса, которая обуславливаегсброс каналов вывода. Каналы В/В подключаются к ПК посредством Ей/Д 22 имогут выбираться операционным блоком1 аналогично выбору блоков 26 памяти, например каналы В/В могут выбираться адресами от 170000 8 до 1701768,что позволяет ПК обслуживать до 1024 25каналов В/В. При выполнении программы сброса происходит передача информации о состоянии каналов вывода изобласти состояний каналов вывода блока 6 памяти в каналы вывода и запоминаине ее, например, в регистрах модулей вывода. При этом 16-раэрадный кодинформации (код 0000 ) считывается извыбранной ячейки памяти блока 6 вовнутренние регистры операционного блока 1, а затем из операционного блока.1 данная информация поступает в каналы вывода по ША/Д 22.По завершении программы сброса онерационный блок 1 переходит на програм му трансляции РП. При этом посредствомкоманд, хранящикся н блоке 3 памяти,из ИСРП, хранящейся в блоке 4 памяти,Фпроисходит формирование ТРРП, которая.записывается в блок 5 памяти. 45 Образование ТРРП происходит следующим образом, Операционный блок 1 последовательно считывает кажцую инструкцию ИСРП из блока 4 памяти и анализирует ее. При этом ЬсРП преобразуетея,в ТРРП отдельно по каждой логической цепи (ЛЦ).Фоомирбвание ТРРП поясняяется примером, представленным на фиг.З, где показаны три ЛЦ (ЛЦ 1, ЛЦ 2 и ЛЦЗ). ЛЦ 1 и ЛЦ 2 состоят из восьми логических ветвей (ЛВ) каждая, ЛЦ 2 - из двУх ЛВ.Например, ЛЦ 1 содержит ЛВ,в которые входят следующие инструкции:1) Х 2, ХЗ; 5) Х 9, Х 10, 71;2) Х 4, Х 5; 6) Х 11, Х 12, У 2;3) Х 4, Хб; 7) Х 11, Х 13, ЪЗ;4) Х 4; Х 7; 8) Х 11, Х 13, Т 4; а для ЛЦ 2: 116;Х 19, Х 20; Х 21, Х 22; Х 21, Х 23; 1) Х 14,2) Х 17,3) Х 17,4) Х 17,5) Х 24,б) Х 25,7) Х 27,8) Х 27,Х 15, Х 18, Х 18, Х 18, 75; Х 26, Х 28, Х 29,76;77;18 т.е, каждая ЛВ выделена элементами, В ИСРП последовательность расположения инструкций в блоке 4 памяти в соответствии с фиг, 3 представлена на фиг. 4 (только ЛЦ 1 и ЛЦ 2). При этом необходимо учитывать, что в каждой ЛЦ количество элементоввсегда . четное, инструкция э всегда завершает группу ЛВ из инструкций юруппы ВХОД. В свою очередь элементы .ь делятся на четные и нечетные, например, инструкции 1 -11- Х 2, с -11 - Х 5, -,8-Хб, 1-В-Х 9 имеют нечетный элемент й а инструкции ь -0 - Х 4- Н - "Х 77. у 1:-П- Х 11, Й "И-Х 13 Х -0-74 - четный элемент; Исходная РП представляет собой на- . Если инструкция группы ВЫХОД имеет бор инструкций, которые даны в табл.1, четный элемент 1, то она является по- Каждая инструкция состоит иэ кода , следней в данной ЛЦ, например, инстопеРации (разряды 1114) и номера .50 рукции с элементами 74, 78, 710. Инаканала В/В (разряды 010 для инст- че инструкция группы ВЫХОД, находящарукций группы ВХОД и ВЫХРд) или кода яся в ЛВ, не является .последней в Лц.000 для инструкции КОНЕЦ ВЕТВЕЙ Если инструкций группы ВЫХОД не при- (У) или группы ПЕРЕХОД. Исключение надлежит ЛВ, то она является послед- составляет элемент НАЧАЛО ВЕТВИ (Т), ней и единственной в Лц.который занимает пятнадцатый разряд для образования ТРРП операционный в слове инструкции и может быть за- .блок 1 использует свои внутренние репрограммирован с инструкциями группы гистрЫ общего назначения и внешние ВХОД, ВЫХОД или ЛИНИЯ. регистры (ячейки третьей области бло 9 1537016 10ка 6 памяти состояний), при этом все операнд образуется путем прибавлениярегистры - 16-разрядные. В табл. 2 константы 160000 к коду ОООХХХгдепредставлено назначение регистров в константа является начальным адресомпрограмме трансляции. блока 6 памяти состояний, ХХХ2Сначала происходит очистка регист- (000177 З) - код, содержащийся вров (си. блок 28 на Фиг. 5) затем разрядах 06 инструкции ИСРП .(гм,запись (ЗП) в регистр 1 (рег. 1) и табл. 1). Операнд приемника (третьерег. 2 начального адреса блока 4 па- слово команды) представляет собой кодмяти, т.е. кода 050000 з (см. блоки 29 10 00001 , 00010, 00100 ии 30 на фиг. 5), запись в рег. 3 и . т.д., образующийся в соответствии срег. 4 начального адреса блока 5 па- кодом, содержащимся в разрядах 710мяти ТРРП, т.е. кода 060000 з (блоки инструкции ИСРП (см. табл. 1), и соот 31 и 32), после выполняется програм- ветствующий адресу бита в слове сосма трансляции первой ЛЦ ИСРП,15 тоция.Программа трансляции одной ЛЦ сос- Например, для инструкции -11-2416тоит иэ следующих подпрограмм: операнд источника будет 160050(50подпрограмгы последовательной тран- есть результат двоичного умножения 24сляции (блок 32); на 2); а операнд приемника - 01000.подпрограммы дополнения (бяок 34.); 20 Команда ХОР занимает одно слово иподпрограммы ветвления (блок 35). , используется для резервирования ячей"При выполнении программы трансля- ки памяти, которая понадобится при вы"ции в ПК происходит постоянный конт- полнении подпрограммы ветвления. Посроль конца Лц, что будет рассмотрено.ле этих операций осуществляется ананиже, при этог также осуществляется 25 лиз: находится ли данная инструкция в,проверка на появление инструкции КО- .ЛВ (блок 40), затем содержит лн инстНЕЦ ПРОГРМЗЫ ( -В-), выявление ко- рукция элемент С, а также в опредеторой обеспечивает окончание програм- ленном случае анализируется четностьмы трансляции.1 (блоки 4143),Подпрограгга последовательной транПРимеание; ДлЯ более Удобного понисляции основана на образовании базы мания принципа выполненияТрРП одной ЛЦ и осуществляется следу- алгоритма на блок-схемахющим образом (см. фиг., 69). Опера" на линиях переходов обозционный блок 1 в соответствии с про- начены элементы Х 1, Х 2,граммой трансляции сначала считывает35ХЭ и т.д., которые соог(ЧТ) инструкцию ИСРП из блока 4 памя- ветствуют ЛЦпо фиг. 3.ти по адресу, указанноМУ д рег. 1, и РезУльтатом выполнения алгоритмаосуществляет ее анализ (блоки 36, 37 на фнг. 7 является установка/сбросна фиг. 6). флагов 1 и 2 (блоки 4446). ЭтаЕсли считанная инструкция ЛИНИЯ, 40 операция обеспечивает контроль ЛВ вто происходит переход на считывание ЛЦ и выявление в конечном итоге попоследующей инструкции ИСРП (на блок следней инструкции ЛЦ, что является36). Еслисчитанная инструкция отно- необходимым условием трансляции РПсится к группе ВХОД, то осуществляет- по каждой ЛЦ.ся запись в ячейки блока 5 памяти 45 Если. считанной инструкцией ИСРП,ТрРП по адресу, указанному н рег. 3, является инструкция 9 , то сбрасы.,команды В 1 Т, ,а в последующую яче-у вается флаг 1 (блок 47 на фиг. 6)команды ВОР (блоки 38, 39 на фиг, 7) Если считанная инструкция ИСРП отноКоманда ВХТ занимает тр слов пр сится к группе ВЬИОД, то содержимоеэтом в первом слове задается код ко 51, Рег. 8 увеличивается на единицу (бпег. 8 увеличивается на единицу (блокманды и метод адресации операнда ис- . 48 на фиг. 8), затем анализируетсяточника и операнда приемника, причем . тип инструкции (блок 49). Для элеЬперанд источника задается абсолютным ментов -О-,или Ф- происходит увеметодом адресации, а операнд приемни личение содержимого рег, 13 на еднка - непосредственным. Операнд нсточ- В 5 ницу (блоки 50 и 51). Для элементовника (второе слово команды) представ- -9-ули -О- в последузцие ячейкнляет собой адрес ячейки блока 6 йамя лоха 5 памяти ТрРН записываетсяти состояний, н которой хранятся сло- команда В 18 (блок 52), где операнддмва состояния каналов В/В. Данный йсточника является адрес слова состоя;7016 12ной ЛЦ проанализированы (блок 78),при этом осуществляется сравнение со"держимых рег, 12 и 13. Если элемент 1 О 25 30 35ь40 45 50 11 153яния соответствующих каналов вывода,. а операндом приемника - код 00001 ьь00010 д ь 00100 ьь . или 10.;,900 ь соответствующий адресу бита вслове состояния канала вывода данной. кнструкции. Для элементов -ф- или-6-аналогичным образом записываетсякоманда В 1 С с соответствующими операндами (блок 53),После этого осуществляется анализна наличие ЛВ, четность т ь наличиеТ (блоки 5458), в результате чегопроисходит установка/сброс флагов 1и 2 (блоки 59, 60) или же запись содержимого рег3 в рег. 5, рег, 8 врег. 7, рег. 13 в рег. 12, и выход-из подпрограммы последовательной трансляции (блоки 6163).В результате последовательной 2трансляции, напримерЛЦ 1 на фиг. 3,в ячейках блока 5 памяти ТрРП получится базовая ТрРП, схема которойпредставлена на фиг. 9. В табл. 3представлено содержимое регистровпосле выполнения данной подпрограммы.Подпрограмма дополнения выполняется в том случаеь если ЛЦ ИСРП содержит элементы -о-/-Ф-, т.е. содержимоерег. 12 не равно "0", иначе осуществляется переход на подпрограмму ветвления 1 (см, блок 34 на фиг. 5).В подпрограмме дополнения ТрРПданной ЛЦ дополняется новыми командами. Сначала осуществляется возвратна начало ЛЦ ИСРП (блок 64 на фиг.10)затем очистка рег. 13 и запись вячейку блока 5 памяти ТрРП по адре-,су, указанному в рег. 3, команды ВВ.с операндом, равным 5 нь где п - количество инструкций с элементом -о-/- Ф-ьт.е. содержимое рег. 12 (блоки 65,66),После этого осуществляется поиск вИСРП данной ЛЦ инструкции с элементами - О в /- ф - (блоки 6771). Есливыявлена инструкция с элементом в О-,то в содержимое рег. 13 добавляетсяединица (блок 72), а в последующиеячейки блока 5 памяти ТрРП записываются команды БЕС и В 1 С, при этом операнды соответствуют номеру канала вывода (блокик 73 ь 74). Если же выявлена инструкция сэлементом - ф- ь тоаналогичным образом в содержимоерег. 13 добавляется единица (блок 75),и в ячейки блока 5 записываются команды БЕС и В 18 (блоки 76, 77),После этого проверяется все ли инструкции с элементами - с-/- - в дан-о /-1-не последний в ЛЦ, то в последующую ячейку блока 5 записываетсякоманда ВСС, и происходит переход насчитывание последующей инструкцииИСРП (блоки 79, 68), иначе в последую-,щую ячейку блока 5 записывается команда СЬС (блок 80) содержимое рег, 3 переписывается в рег. 5, рег, 2 врег. 1, а содержимое рег. 4 в рег, 3 (блоки 8 183) и происходит выход иэ данной подпрограммы,В результате выпоьлнения подпрограммы дополнения, например, для ЛЦ 1 и ЛЦ 2 на фиг. 3, в ячейки блока 5 запишутся команды ТрРП, схема расположения которых представлена на фиг. 11, а в табл. 4 - содержимое регистров.Подпрограмма ветвления является заключительной в программе трансляции и обеспечивает заполнение ячеек блока 5 памяти ТрРП командами ветвления, т;е. командами условных переходов по адресу на величину смещения, указываемого в операнде команды. Основу подпрограммы составляет опреде" ление величины смещения: на какую величину должен измениться адрес для перехода на последующую команду ТрРПь пропустив обработку инструкций, состояние канапов В/В которых не влияет на результат обработки ЛЦ.В табл. 5 приведены условия перехода от обработки одних инструкций ИСРП к другим для всех ЛЦ, представленных на фиг, 3, а в табл. б - виды переходов.Подпрограмма ветвления выполняется следующим образом.Сначала осуществляется очистка рег. 8 и 13, затем считывается инстРукция ИСРП данной ЛЦ по адресу,указанному в рег. 11 и производится ее анализ (блоки 8486 на фиг, 12), Если инструкция относится к группе ВХОД, то содержимое рег. 3 увеличи-. вается на три единицы (блок 87) и переписывается в рег. 4 (блок 88). Далее в соответствии с табл. б происходит анализ наличия ЛВ, четности г ьналичия 1: Нри этом в результатеанализа происходит установка/сбросфлагов 1 и 2 (блоки 8991, или блоки 89, 9294, или блоки 89, 92, 95,96 на фиг. 13). Если процесс выполне 13 15 ния алгоритма проходит по блокам 89, 90, 91, то следующей операцией является анализ наличия в ЛВ инструкции с элементом-о-/- Ф-(блок 97)..Алгоритм анализа на. наличие в ЛВ элемента-о-(- Ф-(блок 97) выполняется следующим образом.Происходит считывание последующих инструкций ИСРП, пока не появится элемент -о/- Ф-(блоки 98 101 на фиг. 14) нли элемент(блоки 98,,100, 102, 103). В первомслучае выполнение подпрограммы ветвления переходит на поискМ (см. блок 104 на фиг. 13 и табл, 6), во втором случае - на поиск(блок 105). В обоих . случаях прн этом происходит восстановление адреса анализируемой инструкции ИСРП (блоки 101 и 103 йа фиг. 14).Если процесс выполнения алгоритма проходит по блокам 89, 90 ипи 89, 9294, то выполнение подпрограммы ветвления переходит на поиск(см. блок 106 на фиг, 13 и табл. 6).Если процесс выполнения алгоритма проходит по блокам 89, 92, 95, то следующей операцией является анализ наличия в ЛВ элемента -о- - Ф - (блок 107). Данный анализ осуществляется по аналогичному алгоритму (см. фиг.4) В случае наличия элемента -о-/-Ф- в ЛВ процесс выполнения подпрограммы ветвления переходит на поискЧ (блок 104). Иначе осуществляется считывание последующих инструкций ИСРП и их анализ, пока не.появится инструкция группы ВХОД (блоки 108, 109 .на фиг. 13). Затем восстанавливается адрес анализируемой инструкции (блок 110) и осуществляется анализ на наличие т в данной инструкции (блок 111). В результате анализа выполнение .подпрограмм ветвления переходит на поиск(блок 105) или на поиск"111 (блок 112).Поиск(блок 106) выполняется .следующим образом. Сначала содержимое рег. 3 увеличивается на единицу (блок 113 на фиг. 15), затем счнтыва" ется последующая инструкция ИСРП и анапиэируется (блоки 114, 115). Если инструкция относится к группе ВХОД, то содержимое рег. 3 увеличиваетсяна 4 единицы, и считывается последующая инструкция ИСРП (блоки 116, 1 14), Если .инструкция относится к группе ВЫХОД, то содержимое рег. 8 увеличи 3701614 25 команда В 1 С, то дальше осуществ-, ,ляется поиск команды В 18 с такими же операндами (блоки 128.. 130),30 З 5 ячейки ТрРП, относящейся к анализируемой инструкции ИСРП, в которой эапирукции (блок 133),д 0 Если тип элемента есть -У-,. то в ,блок 5 ТрРП вместо команды 00 Р запи.тип элемента есть -й- , то аналогичд 5 ным образом записывается команда ВНЕ. 5 10 15 20вается на единицу к анализируется тип элемента (блоки 117, 118). Для эле-мента -О -/- Ф содержимое рег, 3 увеличивается на 3 единицы, анализируется: последняя ли инструкция группы ВЫХОД в данной ЛЦ (блоки 119, 120), и если нет, то происходит переход на считывание последующей инструкции ИСРП (на блок 114). Для элемента -о-/- Ф- содержимое рег, 13 увеличивается на единицу, и считывается коман" да нз блока 5 по адресу в рег. 3 (блоки 121, 122).Данной командой является команда В 1 Я/В 1 С с операндами, соответствующими инструкции -о-/-Ф-. Операнды записываются в рег. 10 и 11 (блок 123), и производится анализ команды (блок 124 на фнг. 16).Если выявлена команда В 18, то дальше осуществляется поиск команды В 1 С с такими же операндами, которая находится в дополнительной части ТрРП (блоки 125 127). Если же выявлена После этого вычисляется величина смещения, при этом содержимое рег.4 вычитается от содержимого рег. 3, разность уменьшается на 5 единиц,.и результат записывается в рег. 9 (блок 131)Затем восстанавливается адрес сана команда ЮР (блок 132), анализируется. тип элемента исходной инст-,сывается команда ВЕЦ, и величина сме" щения из рег. 9 (блок 134). Если же(блок 135), После этого содержимое рег. 3 и 2 увеличивается на единицу, содержимое рег. 2 записывается в рег. 1 (блоки136138), и на этом операция. поискзавершается, а подпрфграмма ветвления. переходит на считывание и обработку последующей инструкции ИСРП (на блок 85 на фиг. 12). Поиск(блок 105) выполняется следующим образом. Сначала содержимоерег. 3, увеличивается на единицу (блок139 на фиг. 17), затем осуществляетсяпоиск инструкции группы ВХОД с эле1537016 15ментом С (блоки 140142), Если такая инструкция выявлена, то определяется величина смепения, которая записывается в соответствующую ячейку блока 5 ТрРП с командой ВЕ/ВНЕ (бло 5 ки 143146 или 143145, 147), пос-. ле этого происходит инкремент рег.2 и 3, запись содержимого рег. 2 в рег.1 (блоки 148 150) и переход на считы ванне последующей инструкции ИСРП (на блок 85 на фиг. 12).Поиск(блок 112) выполняется следующим образом, Сначала осуществляется поиск инструкции .Г (блоки 151, 152 на фиг. 18). Затем, при появлении инструкции 9 в рег. 3 добавляется единица, и происходит поиск инструкции группы ВХОД или ВЫХОД (блоки 153155)При обнаружении пос ледней происходит определение величи" ны смещения (блок 156), восстановление адреса ячейки блока 5, соответствующей анализируемой инструкции ИСРП (блок 157) и анализ типа элемента 25 анализируемой инструкции (блок 158). Далее, если выявлен элемент -И-, то в ячейку блока 5 записывается команда ВЛЕ с соответствующей величиной смещения, иначе - команда ВЕЯ (блок 159 30. или 160). После этого происходит увеличение содержимого рег. 2 и 3 на единицу и переход на адрес последующей инструкции ИСРП для ее обработки (блоки 161163, 85). 35Поиск(блок 104) осуществляется следующим Образом, Сначала осуществляется поиск инструкции группы . ВЫХОД (блоки 164, 165 на Фиг. 19), затем содержимое рег. 3 и 8 увеличивается на единицу (блоки 166, 167), и ана- лизируется тип элемента инструкции группы ВЫХОД (блок 168). Если выявлен элемент -а-/-Ф-, то проверяется последняя ли инструкция с этим элемен том в ЛЦ (блоки 169, 170), Если ЛЦ не завершена, то далее осуществляется поиск инструкции группы ВХОД ипи ВЫ" ХОД с элементом - о-(-(блоки 171,172). Если появится элемент группы ВХОД,то определяется величина смещения, ианалогичным образом в ячейку блока 5записывается команда ВЕЯ или ВНЕ(блоки 173 76 или 173 175, 177),и происходит переход на обработкупоследующей инструкции ИСРП (блоки178180, 85). 16Если выявлен элемент -о-/-р-, то содержимое рег. 13 увеличивается на единицу (блок 181 на фиг. 20), а далее осуществляется поиск команды В 1 С/ /В 15 в дополнительной части ТрРП, Соответствующей команде В 18/В 1 С элемента -о-/-Ф- с одийаковыми операндами (блоки 182187/182184, 18890). После этого определяется величина смещения (блок 191), и в ячейку блока 5 аналогичным образом записывается команда ВЕЯ/ВНЕ (блоки 174180.на фиг, 19)Если при выполнении подпрограммы, ветвления исходной инструкцией явля- ется инструкция груйпы ВЫХОД, то содержимое рег. 7 уменьшается на единицу и переписывается в рег. 8 (блоки 86, 192, 193 на фиг. 12), а содержимое рег, 3 - в раг. 4 (блоки 194). Далее анализируется тип инструкции (блок 195 на фиг. 21). Если выявлен элемент -о-/- Ф- и он не является последним в ЛЦ, то происходит переход на считывание последующей инструкции ИСРП (блоки 196, 197, 85).Если же выявлен элемент-о-/-У-,то содержимое рег. 12 уменьшается на единицу (блок 198) и, если элемент -о- /- 4- не является последним в ЛЦ, то осуществляется поиск команды В 1 С/ /В 18 в допопнительной части ТрРП, соответствующей команде В 18/В 1 С элемента -0 -/- Ф- с одинаковыми операндами (блоки 199205/199202, 206208). Затем анализируется последующая инструкция ИСРП (блоки 209, 210 на фиг. 22). После этого определяется величина смещения (блок 211) и по адресу, указанному в рег. 3, в блок 5 записывается величина обратного смещения в дополнительном коде для команды ВСС (блок 212) или же в блок 5 записывается единичное смещение (блоки 213215). Затем восстанавливается адрес ячейки блока 5 памяти ТрРП, соответствующий проанализированной инструкции ИСРП, происходит увеличение содержимого рег. 2 и 3 на единицу, восстановление адреса последующей инструкции ИСРП и переход на ее обработку (блоки 216219, 85),По завершении подпрограммы ветвления данной ЛЦ лроисходит переход на подпрограмму последовательной трансляции последующей ЛЦ (блоки 220222, 33 на фиг. 5). Этот процесс продолжается до появления инструкции37016 25 станут равнымилог. О, для Т 8 - не из" менится. 4 К+3 Ь+ 5 М+ - ,М 30 17 15 -Щ в , после чего ПК переходит на программу диагностики (см. фнг. 2).На фиг. 23-37 представлен фрагмент ТрРП, соответствующий ЛЦ 1 и ЛЦ 2 по фнг. 3, полученный в результате выполнения программы трансляции.Программа диагностики состоит иэ следующих подпрограмм:- подпрограммыпроверки памяти ТрРП на несуществующие команды;- подпрограммы проверки полноты ТрРП.Первая подпрограмма выполняется путем сравнения кода команд ТрРП с существующим набором команд, хранящимся в блоке 2 памяти. При положительном результате диагностики поданной подпрограмме осуществляется подпрограмма проверки полноты ТрРП. Для этого осуществляется последр- ; вательное считывание всех инструкций ИСРП и подсчет количества К инструкций группы ВХОД, количества Ь инструкций группы ВЫХОД и количества М инструкций с элементами -о- и в ф-, После этого вычисляется объем Р памя. ти ТрРП по формуле: 5 10 15 20 вательно считывается очередная команда или же происходит переход по смещению на определенную последующую ко"манду и т.д. до появления командыЛР, соответствующей инструкции -ИТогда ПК переходит на программу обмена В/В, а затем снова на программуобработки, Циклы обработки и обменаВ/В повторяются,В табл, 7 приведено назначениекоманд ТрРП.В качестве примера рассматриваетсяобработка ТрРП соответствующей ЛЦ 2,приведенной на фиг. 3. Предполагается,что состояния каналов ввода, соответствующие элементам Х 17, Х 18, Х 21, Х 22Х 26, Х 28 и Х 29 равны лог. 1, а состо-яния остальных каналов ввода равнылог.О. Результатом такого предположе-ния является то, что состояние каналавывода, соответствующее элементу 75,не изменится, состояния каналов вывода, соответствующие элементам У 6 и Т 7,В соответствии с табл. 5 обработка РП по ЛЦ 2 будет осуществляться только по элементам Х 14, Х 17, Х 18, Х 19, Х 21,Х 22, Х 24, Х 25, Х 26, Х 27, 76, 77 и да40 щения, в данном случае переход на выполнение команды В 1 Т, соответствующей инструкции с элементом Х 17. При вы 45 лись и обрабатывались. Ф о р м у л а и э о б р е т е н н яПрограммируемый контроллер, содеял: жащий операционный блок, блок паият Игде -0 или 1 - отсутствие/наличиеИкоманды ВК.Например, для ИСРП, представленной на фиг. 3, объем ТрРП будет 196 35слов. Необходимо отметить, что объемпамяти ТрРП примерно в 4,раза больше,чем объем памяти ИСРП.Если результат диагностики отрицательный, то происходит останов работыПК, иначе осуществляется переход на следующую программу " обмена В/В (см. фиг, 2). Данная программа обеспечивает вывод данных из первой областиблока 6 памяти в каналы вывода и заполнение второй области блока 6 памя-ти данными о состоянии каналов ввода,при этом первоначально иэ первой области памяти выводятся данные, соответствующие нулевому результату.Программа обработки осуществляется следующим образом. В счетчик коЙанд операционного блока 1 записыва-, ется адрес первой ячейки блока 5 памяти,ТрРП, т.е. код 060000, после 55 чего по данному адресу операционный блок 1 считывает первую команду и осуществляет обработку РП в соответствии с данной командой. Затем посдедолее ХЗО. Действительно, обращаясь кфиг. 22, сначала считывается команда ВХТ по адресу 060252, в результатеее выполнения производится аиализ битасостояния канала ввода для инструкциис элементом Х 14 и установка флага Ев операционном блоке 1. При выполнении следующей команды ВЕЯ обеспечивается переход на адрес по величине сме" полнении этой команды флаг Е сбрасывается, тогда следующая команда ВЕЯобеспечивает переход на считывание последующей команды из блока 5 памяти ТрРП. В табл. 8 приведены наги выполнения ТрРП для ЛЦ 2 в предложенном примереТаким образом, процесс обработки РП происходит путем пропуска отдель-, ных команд (инструкций)которые не изменили бы результат обработки, дажеесли бы они последовательно считыва

Смотреть

Заявка

4212258, 17.03.1987

ПРЕДПРИЯТИЕ ПЯ А-7070

СКЛЕМА М. В, БУЛАЙ С. С

МПК / Метки

МПК: G05B 19/18, G06F 9/00

Метки: контроллер, программируемый

Опубликовано: 30.04.1991

Код ссылки

<a href="https://patents.su/30-1537016-programmiruemyjj-kontroller.html" target="_blank" rel="follow" title="База патентов СССР">Программируемый контроллер</a>

Похожие патенты