Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Проектирование бесконтактных управляющих логических устройств промышленной автоматики

..pdf
Скачиваний:
25
Добавлен:
19.11.2023
Размер:
26.56 Mб
Скачать

путем, т. е. по вполне определенному алгоритму. Это ведет к относи­ тельно быстрому моральному старению машин, связанному со старе­ нием алгоритма.

Для того чтобы запрограммировать новый несложный алгоритм, требуется время, редко превышающее 1— 2 мес, что разумеется, совер­ шенно недостаточно для создания новой специализированной машины. Кроме того, в уже составленную и отлаженную программу значитель­ но легче вносить изменения, чем в собранную специализированную ма­ шину. Если учесть, что в теории синтеза постоянно возникают новые идеи, новые методы, то этот последний довод может оказаться решаю­ щим в пользу использования ЭВМ для целей синтеза, тем более, что в последние годы появились методы, которые существенно упрощают процесс программирования. Теоретической основой всех этих методов являются алгоритмические языки программирования.

В настоящее время существует несколько сот алгоритмических языков, чрезвычайно разнообразных по сложности и сферам примене­ ния. Следует отметить, что и в создании языков программирования четко видны две тенденции: создание универсальных языков и языков узкого назначения. Примерами универсальных языков могут служить наиболее известные языки АЛГОЛ, ФОРТРАН, КОБОЛ. Применение их возможно для решения задач синтеза, так как они имеют весь не­ обходимый для этого аппарат. Однако аппарат этот не получил сколь­ ко-нибудь полного развития в рамках этих языков, так как решение задач логического типа не являлось единственной целью при их созда­ нии. Для успешного решения логических задач и, в частности, задач теории конечных автоматов нужен язык более узкий, но с более мощ­ ным аппаратом для решения задач, связанных с математической логи­ кой. К таким языкам относятся: язык программирования ИЛОТ, ЛЯПАС, система типа МОДИС, ФМЛ, МОЛК, АЛОС, АКИТ, АВТО- КОД-M-JH др. Следует выделить язык ЛЯПАС [37] — логический язык для представления алгоритмов синтеза, который в одинаковой степени применим для решения задач теории множеств, теории графов и, нако­ нец, самых разнообразных задач, связанных с математической логи­ кой. Язык хорошо зарекомендовал себя при программировании упомя­ нутых задач для ЭВМ «Минск-22», М-220 и др.

Ведутся также работы по расширению языков АЛГОЛ и ФОРТ­ РАН применительно к логическим задачам [1].

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

Вопросы абстрактного и структурного синтеза решают отечествен­ ные специализированные системы логического проектирования: система «Автомат» [38], разработанная в СФТИ (Томск); система «Проект» [20], разработана в Институте кибернетики АН УССР, представляю­ щие собой реализацию классической схемы синтеза дискретных автома­ тов, состоящей из следующих этапов: построения абстрактного автома­ та, минимизации числа состояний автомата, кодирования состояний и получения функций возбуждения и выходов [82], структурного синтеза.

Подсистема «Синтез» системы «Электрик» [29] позволяет по табли­ цам включений устройства получать структурные формулы с предвари-

121

тельным выбором машиной промежуточных переменных и размещением их состояний с учетом устранения критических состязаний.

. Большинство разработанных программ предназначено для синтеза комбинационных структур, и развитие этих работ идет в направлении обеспечения требований к увеличению размерности решаемых задач. Однако для схем промышленной автоматики размерность задач (8— 10 Входных переменных, 10— 15 строк таблиц переходов, до 40 тактов таб­ лиц включений) находится в тех пределах, для которых уже имеются достаточно эффективные алгоритмы и программы. Одна из таких про­ грамм предлагается ниже, в § 7-3.

7-2. ПРИМЕНЕНИЕ СПЕЦИАЛИЗИРОВАННЫХ ЛОГИЧЕСКИХ МАШИН ДЛЯ СИНТЕЗА УПРАВЛЯЮЩИХ ЛОГИЧЕСКИХ УСТРОЙСТВ

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

Структуры из бесконтактных логических элементов различных ти­ пов позволяет синтезировать по методу замены выходных функций [68] логическая специализированная машина «Парус-2», построенная в Институте проблем, управления.

Специализированная логическая машина для синтеза комбинацион­ ных схем (автоматический синтезатор однотактных релейных схем) создана в Дальневосточном'политехническом институте. Она позволяет синтезировать схемы из бесконтактных логических элементов серии «Логика», феррит-диодных ячеек, феррит-транзисторных модулей и т. п., так как использует в процессе построения все логические функции, вы­ полняемые упомянутыми элементами.

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

ТУРУ> 0 сигналах на его

входах и необходимости

их инвертирования.

В обязанность оператора

кроме задания исходной

таблицы состояний

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

Машина автоматизирует синтез комбинационных функций не более пяти переменных. Увеличение числа переменных увеличивает объем аппаратуры и время работы, не внося принципиальных изменений в схе­ му машины. Машина собрана на феррит-диодных ячейках, работающих с частотой 30 кГц. Машинное время составляет не более 1 мин для реа­ лизации наиболее сложных функций пяти переменных.

В основу работы машины положен алгоритм синтеза релейных структур методом замены входных переменных [69]. Блок-схема маши­ ны представлена на рис. 7-1, где обозначено: 1 — блок ввода, в который входят ключи набора таблицы состояний и распределитель считывания этой таблицы по строкам; 2 — блок умножения; 3 — блок составления расширенной таблицы, включающий три узла (сочетаний входных пере­ менных, инверсий переменных, логических элементов); 4 — блок рас­ пределителей, состоящий из трех распределителей (сочетаний перемен­ ных, инверсий переменных, логических элем ен тов)5 —-блок сравнения, собранный из генератора комбинаций, схемы выдачи сигнала на запуск

122

и схемы

сравнения; 6 —*6лок ум­

 

ножения,

выполненный

из

счет­

 

чика сигналов «О», счетчика сиг­

 

налов

«1»

 

и

накапливающего

 

сумматора;

7 — блок выбора

ми­

 

нимума, в который входят схема

 

сравнения

и

запоминающий

ре­

 

гистр;

8 — блок

регистров,

со­

 

стоящий из регистров: логических

 

элементов,

входных переменных,

 

инверсий

переменных;

9 — блок

 

сигнализации; 10 — модель.

 

 

 

Таблица

состояний

синтези­

 

руемой

функции

набирается

в

Рис. 7-1. Блок-схема машины для синтеза

блоке ввода

1 с

помощью 32 пар

комбинационных схем.

двухпозиционных ключей.

Вклю­

 

чение первого ключа пары задает комбинацию значений входных пере­ менных, а положение второго — соответствующее этой комбинации зна­ чение функции («О» или «1»). Если функция имеет безразличные зна­ чения, то соответствующие им первые ключи не включаются.

Управление машиной осуществляется из блока управления 2 кноп­ ками Пуск и Сброс. ;

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

жатием кнопки Сброс,

переходя к следующему шагу.

 

 

 

 

 

 

 

 

 

 

Та б л и ц а 7-1

Номер

 

 

 

 

Номер шага алгоритма

 

 

каскада

 

 

1

 

2

 

3

4

5

схемы

 

 

 

 

1

a ,

=

b @ d

£ > 1 = & 0 С

 

 

dy=ab

e t~a-\-b-i-e

2

=

a j, с 1

cti

 

C 2=Ci0S1

' ^ 2 = a l ©

&l

3

CL%— &2»

 

 

b3—d2*- 62

c 3—

<?2

4

#4,== X

€ 3,

6 3+—#з

 

 

 

 

 

В качестве примера ниже приводятся результаты синтеза на маши­ не полностью определенной функции пяти переменных X = f(a , b, с, d, е), принимающей единичные значения на комбинациях значений входных переменных, десятичные эквиваленты двоичной записи которых равны О, 4, 5, 6, 10, 11, 12, 15, 17, 18, 20, 21, 26, 27 и 29. Заданным для синтеза является набор логических элементов НЕ, И, НЕРАВНОЗНАЧНОСТЬ, ЗАПРЕТ, ИЛИ. Очередность выбора логических элементов указана в табл. 7-1, а полученная структура приведена на рис. 7-2. При этом машинное время составило около одной минуты, время работы опера­ тора— полчаса (основное время затрачено на набор структуры на мо­ дели).

123

Машина не требует высокой квалификации от оператора и с успе­ хом использовалась студентами старших курсов электротехнической специальности вузов.

7-3. ПРИМЕНЕНИЕ ЭВМ ДЛЯ СИНТЕЗА УПРАВЛЯЮЩИХ ЛОГИЧЕСКИХ УСТРОЙСТВ

В данном разделе предлагается программа синтеза комбинацион­ ных или последовательностных логических схем, условия работы кото­ рых могут быть заданы в виде циклограмм или таблиц включений (гл. 5). В основу программы положен алгоритм метода замены входных переменных [69, 88].

Прежде чем описывать программу, рассмотрим основные положе­ ния этого метода.

Метод замены входных переменных

Метод замены входных переменных представляет собой многошаго­ вый процесс построения структуры релейного устройства в направле­ нии от входов к выходам.

Исходными данными для построения комбинационной структуры этим методом являются непротиворечивая таблица состояний логиче-. ской функции f от п входных переменных, заданной полностью опреде-' ленной или недоопределенной, и функционально полный набор логиче­ ских элементов.

Исходная таблица состояний представляет собой таблицу, в кото­ рой каждое определенное значение функции / (N — число определен­ ных значений функции f) закодировано соответствующим, отличным от всех других набором значений п входных переменных (или, другими словами, значения f закодированы по-разному наборами значений п

124

кодирующих переменных). Целью синтеза функции f является уменьше­ ние числа кодирующих переменных от я до .1 с одновременным умень­ шением числа по-разному закодированных определенных значений за­ данной функции f от N до 2.

На первом шаге синтеза по исходной таблице состояний и набору логических элементов составляется расширенная таблица состояний, ко­ торая содержит столбец значений заданной функции f, столбцы значе­ ний переменных исходной таблицы состояний (xi, хг, . . хп) и столбцы значений выходных функций логических элементов в рабочих вариан­ тах их включения.

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

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

Эти варианты кодирования могут различаться между собой, напри­ мер, числом ns кодирующих переменных при s-м варианте кодирования, т. е. числом столбцов в неизбыточной таблице состояний, или числом Ns по-разному закодированных Определенных значений функции /, т. е. числом строк в таблице состояний, и, кроме того, числом, составом, суммарной стоимостью и схемами включения требуемых для реализа­ ции такой таблицы логических элементов. Процедура получения опти­ мального решения в этом случае громоздка.

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

На каждом шаге из числа кодирующих переменных расширенной таблицы состояний выбирается одна кодирующая переменная искомой сокращенной таблицы состояний.

Шаги , процедуры построения сокращенной таблицы состояний вы­ полняются до тех пор, пока не будет получена непротиворечивая табли­ ца. Эта таблица является исходной для осуществления следующего шага процедуры синтеза. По ней снова строится расширенная таблица состояний. Логические элементы, соответствующие кодирующим пере­ менным новой таблицы состояний, включаются в синтезируемую струк­ туру по схемам, соответствующим вариантам включения этих элементов. Синтез завершается получением таблицы состояний с одной кодирую-

125

щей переменной, значения которой совпадают с соответствующими зна­ чениями заданной для реализации функции.

Для обеспечения сходимости процесса при использовании функцио­ нально полного набора логических элементов достаточно получать мо­ нотонное изменение функции предпочтения от шага к шагу, например, достаточно, чтобы число кодирующих переменных синтезируемой функ­ ции на s-u шаге синтеза было меньше, чем на s— 1-м, или равным ему при условии, что в новой таблице состояний будет меньшее число раз­ личных строк.

В качестве функции предпочтения R, оценивающей свойства коди­ рующих переменных, примем число пар различных значений функции /, кодируемых одинаково значениями этих переменных.

Для одной кодирующей переменной

R=No(0)Ni(o)+No(i)Ni(i),

здесь, например, Що) — число нулевых значений функции, кодируемых

нулевым значением переменной.

 

Например:

 

f

Л ',

0

1

1

1

1

1

0

0

0

1

JVо(0)= 1, N 1(0)=0, Л^о(1)=2,

iVi(i)— 2,

 

Я = 1 - 0 + 2 - 2 = 4 .

 

 

Для двух кодирующих переменных

 

 

i?=Af0(oo)^i(oo)+^o(io)^i(io)+^o(oi)A^i(oi)+^o(ii)^ri(ii); здесь,

например,

Ni(oo) — число единиц функции, кодируемых

комбинацией 00

кодирую­

щих переменных. Для трех кодирующих переменных будет соответст­ венно 8 возможных вариантов, для четырех — 16 и т. д.

При. выборе кодирующих переменных из расширенной таблицы со­ стояний следует выбирать сначала одну переменную с Rnmi, затем к этой переменной подбирать следующую, рассматривая попарное коди­ рование функции f, обеспечивающее Дмшя, к двум выбранным перемен­ ным таким же образом подбирать третью и т. д., пока на k -м шаге не получится Rimnk=0. Значение функции предпочтения 0 говорит о том, что получена новая непротиворечивая таблица состояний, по ко­ торой (если она содержит более одной кодирующей переменной) сле­ дует строить очередную расширенную таблицу состояний.

Этот метод можно распространить на синтез структур устройств, условия работы которых заданы в виде циклограмм или таблиц включе­ ний: Исходная таблица состояний может быть записана по таблице включений следующим образом. Число строк, таблицы состояний будет равно числу тактов таблицы включения. Комбинациям значений вход­ ных переменных в t-м такте ставится в соответствие значение выходных переменных в i+ 1-м такте. Например, на рис. 7-3 приведена таблица включений для функции f(x i, х%, х$), а в табл. 7-2 — таблица состояний. Значение функции предпочтения для такой исходной таблицы состоя­ ний, как правило, не равно нулю, следовательно, структура f будет не комбинационной, а с обратными связями или с элементами памяти.

123

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

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

ний для выходных функций, расположив строки сверху вниз в порядке

 

 

Т а б л и ц а

7-2

Т а кт ы

 

 

Переменные

 

 

 

 

ю а Ч О 1 Z 3 Ч & § 7 8 S 19

Номер

 

Входные

Выходная

т а к т а

 

 

 

 

ж7

 

х г

 

Хг

Z.

 

 

 

0

0

0

0

0

 

■ 1

1

0

0

1

 

2

 

1

0

0

1

3

.

0

0

0

1

4

 

0

1

0

1

Z

Рис. 7-3. Таблица включений.

5

0

1

1

0

следования тактов таблицы включений.

,6

0

' 1

1

0

При этом каждой комбинации значе­

7

0

0

г

1

ний

входных переменных в г-м

такте

ставится в соответствие

значение вы­

8

0

о

 

 

‘1

1

ходных функций в i + 1

такте.

 

 

 

 

 

 

9

0

0

0

0

2.

 

 

 

Сост

1 0

0

0

0

0-

лицу

состояний,

столбцами

которой

 

 

 

 

 

являются не только выходные функ­

 

 

 

 

 

ции

логических

элементов

в

рабо­

чих вариантах их включения

(как это делается в

методе замены

вход­

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

3.Пользуясь расширенной таблицей состояний данного шага, найти

спомощью функции предпочтения лучшую таблицу следующего шага.

4.После получения непротиворечивой таблицы состояний с Р = 0 задача становится комбинационной и может решаться без использова­ ния элементов памяти.

Описание программы

Программа разработана в трех вариантах:

- Первый вариант предусматривает применение при синтезе в каче­ стве элементов памяти статических R—S триггеров [9], второй вари­ ант— элементов задержки на один такт (Dt триггеров), третий вариант предусматривает одновременное использование в структурно-полном наборе в качестве элементов памяти задержек и R—S триггеров.

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

Рассматривается второй вариант программы (программа «Память») на языке АКИТ, который позволяет работать с этой программой как на ЭВМ «Минск-22М», так и на более быстродействующей «Минск-32»

врежиме совместимости с числом входных переменных до двадцати.

127

Подготовка программы 11

j 2

Ввод исходны х данных |

//

Анализ числа сочет аний Пет по 3 fcoc/павлень/ # все сокеLga т ания по 3 и л у 'HemJ

_ т

г

Передача исходной, таблицы сост ояний блоку 16

Анализ класса реш аемых за ­ дач {комбинационные или п о - слсдодательноетныр)

4 Комбинационные Печать исходной т&блиць/ состояний

Образование

сочет аний по2

 

переменных для последова­

 

т ельност ной

задачи

7

 

-f Пет

Анализ числа сочет аний по 2 (составленье бое сочетания по 2 или нет) для последовательнос­ тной. задачи

Да ~Тд^ 8

Проверка противоречивости Нет

таблицы состояний (противо­ речива или нет)

Проверка наличия моделей всех элементов памяти

\Не все Jo

Моделирование работы элементов памяти

V

дались новой противоречивой таблицы состояний

Образование сочетаний по2 переменных для комбинацион­

ной, задачи

\Неп, 13

Анализ числа сочетаний по Да 2для комбинационной задачи

(составлены все сочетания

или нет.)

Моделирование работы ком­ бинационных элементов

4 Не вое Проверка наличия моделей всех комбинационных эле­ ментов

Подсчет значения функции Предпочтения R j

17

Оценка и перезапись значе­ ния функции предпочтения /?/

19

Анализ Pj на О

~ ~ Т *

20

Подсчет числа, кодирую­

щ и х переменных ns н е­

противоречивой табли­

цы сост ояний

______

\п^Г

21

Конец илага. Восстанов­ ление от работ авш их блоков

22

Запись полученной непро­ тиворечивой таблицы состояний ________

23

Подсчет числа кодирую­ щ и х переменных Пд

прот иворечивой т абли­ цы состояний

±гч

Конец эт апа. Восстанов­ ление от работ анных

блоков

25

 

Запись очередной кодиру­

 

ющ ей. переменной о Кшин

 

26

 

Подготовка программы

 

к следующ ем у ш а гу

 

27

 

Запись результ ат ов

 

в память м аш ины

 

28

 

Проверка наличия моделей

Не все^

в сех элемент ов набора

 

29

 

Печать результ ат ов,

 

записанны х блоком 27

 

30

 

Составление сочетаний

 

переменных по 3 ________

 

X

X 7

Моделирование работы т рех* входовых комбинационных .эле­ ментов из заданного набора.

32

Конец

Рис. 7-4. Блок-схема программы.

Предлагаемая программа позволяет решать и комбинационные задачи, исключая в процессе решения из набора элементов элементы памяти.

Блок-схема программы представлена на рис. 7-4. Блок-схема состоит из следующих блоков:

Блок 1 готовит программу к работе, т. е. описывает все массивы, которые потребуются для работы программы, и вычисляет ряд перемен­ ных, необходимых для начала работы программы.

Блок 2 служит для ввода исходных данных. Исходные данные вво­ дятся в два этапа. На первом этапе используется БИБ t—) ПРО|_(31, на втором — команда ввода восьмеричных кодов.

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

разрядов ячейки, занятое значениями входной переменной (Я),

равное

числу тактов; число входных переменных

вместе с .инверсиями

(H F),

равное 2п; максимально возможное число

различных констант

сравне-

128

ния для данного числа переменных, увеличенное вдвое (2п -2); исход­ ную таблицу состояний, записанную в виде восьмеричных двенадцати­ разрядных чисел.

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

В(20) — массив для записи текущих значений выходных функций моделируемых элементов, входных переменных, величин функции пред­ почтения — обычный рабочий массив;

А (2 1 )— массив исходной таблицы состояний. Исходная таблица состояний записывается в старших разрядах соответствующих ячеек

массива в том

порядке, в котором она

 

Таблица

7-3

фигурирует в обычной записи, в 21-ю

 

 

 

 

 

ячейку

этого

массива

записываются

 

 

 

 

значения выходной функции.

 

7(1)

Функция, реализуемая элементом

 

.МО (1 5 )— массив

операндов.

 

 

 

 

Этот массив необходим в связи с тем,

1

Задержка на один такт

 

что

в

программе

одновременно мо­

 

Р == (ct -f- р) С2*

Рнач “

 

делируется

работа

целой группы эле­

2

0

ментов

из

заданного

набора;

поэто­

S

Р = (^2"Ь р) ci> Рнач^®

му

полученное

сочетание входных

4

Р = (CJH* Р )

Рнач ^

1

переменных

многократно записывает­

ся

в соответствующие

ячейки

масси­

5

Р == (^г “f~ р) £■*»

Р нач =

^

ва

МО( 15).

 

 

 

 

 

 

 

 

 

 

7*(10)— массив, в

котором десятью

восьмеричными числами (от 1

до 12) зашифрованы элементы заданного набора и элементы памяти.

Шифровка

типа элемента памяти составляется в

соответствии

с табл. 7-3, где

РНач — начальное состояние триггера.

 

Такие значения Т(1) справедливы до тех пор, пока

устройством

цифровой печати не будет отпечатана непротиворечивая таблица со­

стояний. Цосле этого значения 7(1)

следует понимать в

соответствии

с табл. 7-4.^

 

 

 

Таблица

7-4

 

 

 

 

 

7(1)

Функция, выполняемая

Алгебраическое

7(1)

Функция, выполняемая

Алгебраическое

элементом

выражение функции

элементом

выражение функции

1

И на два входа

У = с,са

6

Запрет на три входа

У=

(с ,+

сг) 7,

2

ИЛИ на два входа

У = с1+ с 2

7

И на три входа

Y CiC^c^

3

Неравнозначность

У = с,ф с2

10

ИЛИ на три входа

У =

с2+ с 3+ с2

4

Запрет на два входа

У = с,с2

11

Запрет на три входа

У =

(с2+

с 3)~Сг

5

Запрет на два входа

У = с,с2

12

Запрет на три входа

y = (C i+ с3) с 7

Рассмотрим порядок подготовки ввода исходных данных.

Первый этап ввода реализуется с помощью стандартной программы 31. Эта программа служит для ввода цифровой информации в виде де­ сятичных кодов. Приведение исходной таблицы состояний к виду, кото­ рый используется в БИ БглПРО 31, представляет значительную труд­ ность. Например, состояния дискретной переменной в последовательно­

сти тактов описываются числом

00001111.

Это

число

надо

записать

в старшие разряды

ячейки А (1),

следовательно,

справа

к этому числу

приписываются 28

нулей (разрядность

ячеек памяти

машины

«Минск-22» и «Минск-32» равна 37, знаковый разряд для записи исход­ ной таблицы состояний не используется). Тогда число примет вид 000

9—856

129

Oi l ПО ООО ООО ООО ООО ООО ООО ООО ООО ООО Перевод такого двоичного числа в десятичную систему счисления наиболее целесообразно произ­ вести в два этапа. Сначала число переводится в восьмеричную систему, а затем из восьмеричной в десятичную. Первая часть процедуры при из­ вестном навыке осуществляется просто. Число разбивается на триады,

начиная

с правого

края,

и вместо

каждой

триады

записывается вось-

 

 

 

 

 

 

 

 

Та б лица

7-5

 

 

 

 

 

Переменные

 

 

 

Комер такта

 

 

Входные

 

 

Выходная

 

 

Xi

Xi

 

 

x%

Хд

z

 

0

0

0

0

 

1

1

1

0

 

i

1

0

0

 

0

1

1

1

 

2

1

0

0

 

0

1

1

1

 

3

0

0

0

 

1

1

1

1

 

4

0

1

0

 

1

0

1

1

 

5

0

1

1

 

1

0

0

0

 

6

0

1

1

 

1

0

0

0

 

7

0

0

1

-

1

1

0

1

8

0

0

1

 

1

1

0

1

 

9

0

0

0;

 

1

1..'

1

0

 

10

0

0

0

 

1

1 :

1

0

 

меричное число. Приведенное выше число принимает вид 036 000 000 000. Теперь необходимо это число перевести в десятичное. Трудность со­

стоит в том, что в

существующих

таблицах перевода числа больше

ТО 000 переводятся

приближенно, а

ручной перевод этого числа пред­

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

Рассмотрим пример записи исходных данных к задаче на три вход­ ных переменных (рис. 7-3). Условия работы, изображенные на рис. 7-3, приводятся к виду табл. 7-5.

Разбивку на триады ведем сверху вниз, последнюю неполную триа­ ду дополняем нулями и представляем их в восьмеричной системе. Вос­ пользовавшись правилами записи исходных данных для перфовации [81], запишем следующее:

 

 

гр. 11./Х6./ХЗ./Х16.Х L_1_1L_ILJL_J гр.

 

 

 

 

 

 

 

 

 

 

 

 

 

гр.

300

000

 

000

000.

 

034

000

000

000.

017

000

000

 

000.

 

477

600

000

000.

743

600

000

000.

760

600

000

000.

0.

0.

0.

0.

0.

0.

0.

0.

0.

0.

0.

0.

0.

0.

363

000

000 000.

гр.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные

записаны для перфорации на

устройстве

СТА-2МФ. Все

числа отделяются друг от друга точкой «.». Кроме того, в БИ Бш ПРО 1_| 31 при строчном вводе каждая строчка отделяется от предыдущей индексной скобкой и знаком «кто там» — «/X». Начинается и кончается набивка границей ввода. Следует в конце последней вводимой строчки ставить пять пробелов (i—i).

130

Соседние файлы в папке книги