Файл: Добролюбов, А. И. Автоматизация проектирования систем управления технологическими машинами.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 23.10.2024

Просмотров: 73

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Булева функция кодируется символами. При этом применяются следующие коды (табл. 34).

 

 

Т а б л и ц а 34

Символ

Ко 1

Наименование

X

2

Символ аппарата

л

4.

Конъюнкция

V

5

Дизъюнкция

(

6

Открытая скобка

)

7

Закрытая скобка

Массив кодов символов булевой функции (обознача­ ется KOD1) вводится в машину и является единственной исходной информацией на вычерчивание схемы. Напри­ мер, исходный массив KOD1 для вычерчивания булевой функции (26) имеет вид

6 6 2 5 2 7 4 2 4 2 5 2 4 2 4 2 7

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

щие определения:

<переменная> : :=х; <одночлен> : :=<переменная>| <сумма> | <одночлен>;

<сумма>: :=<одночлен> \/<одночлен>| <сумма>У<одночлен>.

Эти определения сделаны на языке металингвистиче­ ских формул [2]. Здесь знак :: = означает «равно по опре­ делению». Знак | означает «или», знак V — «за которым следует». В скобки < > заключаются любые после­ довательности символов.

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

155

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

переменные и т. д. Заметим, что каждое

из

этих выра­

жений (т. е.

сумма, произведение

или

переменная) в

графической

интерпретации

представляет собой двухпо­

 

 

 

люсник,

заключенный меж­

 

 

 

ду разноименными

узлами.

 

 

 

Обращаясь

к

графиче­

 

 

 

ским схемам, соответствую­

 

 

 

щим этим булевым выраже­

 

 

 

ниям,

определим

правила

 

 

 

присвоения

номеров узлов

 

 

 

в схеме, записанной в виде

 

 

 

булевой функции.

Эти пра­

 

 

 

вила довольно просты:

па­

Рис.

35. Структура Рулевого

раллельные

ветви схем

(им

соответствуют

одночлены,

 

выражения

разделенные

знаком V )

за­

 

 

 

ключаются

между

попарно

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

расположенные

ветви

(им соответствуют одночлены, разделенные

зна­

ком Д ) располагаются между попарно разноименными узлами.

Например, на рис. 34 одночлены ( х \ / х ) / \ х / \ х и х / \ х / \ х записываются между одноименными узлами (ле­

вый узел у каждого одночлена

/,

правый

узел 2) как

параллельные ветви. Одночлены

 

(х \ / х ),

х, х должны

быть заключены между разноименными

узлами.

Про­

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

возрастания их

номеров,

т.

е. проставляем

узлы

 

3 и 4 для одночленов

(х\/х), х,

х.

Одночленам х / \ х / \ х

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

узлов 5 и 6.

 

 

 

 

 

 

 

На рис.

36 поясняются

правила

расстановки

узлов

для более сложной схемы, структура которой описывает­ ся булевым выражением ( ( х / \ ( х \ / х / \ х ) \ / х \ / х ) / \ х \ /

Д ( х \ / х / \ х / \ х ) \ } х \ / ( х /\ (х\/х) /\х)).

Присвоение узлов — это первый этап обработки буле- р о й функции для последующего ее вычерчивания. Вто­ рой этап — вычисление координат узлов, которые для каждой пары узлов определяются триадой XI, У, XIN.

Рассмотрим правила, заложенные в алгоритм вычис­ ления координат узлов.

156


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

 

_цЖУ Р 2 ■

 

Р З

г \Р >

2

\5 р )

ПВ1 J 11 . «

U

.

Ч г т ° ^

2 К У PU г л Э 2

Я4

 

 

 

 

'II----------------

 

 

 

 

П В !

 

 

 

 

, — ----------------1

 

 

 

Р З

 

 

 

Г1Р 2

 

3

2 К У

 

 

П У /и

 

 

Я/

w

 

U

1 г

Рис. 36. Схема управление, вычерчен­ ная по информационной таблице

одночленов в исходной булевой функции). Одночлены и соответствующие им двухполюсники могут быть просты­ ми (один аппарат) либо сложными (несколько аппара­ тов). Для построения цепей, состоящих из двухполюсни­ ков, нужно, очевидно, знать размеры последних на схе­ ме. Длиной L двухполюсника назовем горизонтальный размер соответствующего ему изображения на чертеже. Высотой Н двухполюсника назовем соответствующий размер по вертикали. При принятом нами условии, что горизонтальный размер одного чертежного знака аппа­ рата равен 1 и расстояние по вертикали между соседни­ ми горизонтальными линиями чертежа также равно 1, размеры L и Н каждого двухполюсника равны соответст­ венно максимальному числу последовательно включен­ ных аппаратов и максимальному числу параллельных ветвей. Так для схемы, приведенной на рис. 34, 1 = 3,

Н = 2.

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

157


Вначале анализируется все булевое выражение, рас­ сматриваемое как одночлен, вычисляются его размеры L и Н и тем самым определяются общие габаритные раз­ меры чертежа схемы. Далее последовательно анализиру­ ются одночлены нулевого уровня (связанные между со­ бой знаком V)- Определяются размеры двухполюсников, соответствующих каждому из одночленов этого уровня.

Пусть первый двухполюсник имеет габаритные разме­ ры L0', Н0'. Э т о значит, что координаты его полюсов на чертеже будут: Х/ = О, Y = H0'\ XIN = L0'. Если этот двух­ полюсник оказался простым, то переходим к вычислению координат второго двухполюсника этого уровня; если двухполюсник сложный, то продолжаем анализ до рас­ членения его на простые двухполюсники и только тогда переходим к анализу следующего двухполюсника нуле­ вого уровня.

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

Процесс присвоения координат узлам двухполюсни­ ков становится, таким образом, итеративным, повторя-

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

Программа присвоения узлов и координат и програм­ ма вычерчивания схемы написаны на языке АЛГОЛ-60. Характерной чертой этих программ является многократ­ ное использование в них отдельных процедур. Использо­ вание процедур упрощает саму программу, делает ее компактной.

В программе применяются следующие процедуры. «Проходка суммы», «Проходка произведения», «Нахож­ дение L и Я», «Нахождение правой скобки».

Поясним смысл этих процедур, не вдаваясь в подроб­ ности их структуры.

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

158

ме) и нахождение границ каждого из найденных слагае­

мых.

Аналогичные задачи применительно к произведению одночленов решает процедура «Проходка произведения». Эта процедура находит число сомножителей — одночле­ нов следующего уровня, входящих в заданное произведе­ ние, и определяет границы каждого из них.

С помощью процедуры «Нахождение L и Н» опреде­ ляют габаритные размеры чертежа, соответствующего анализируемому выражению.

Процедура «Нахождение правой скобки» крайне про­ ста: по данной левой скобке анализируемого булева вы­ ражения с помощью этой процедуры находят соответст­ вующую ей правую скобку.

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

Программа имеет итеративную структуру, рассчитан­ ную на п уровней (вложений) булевой функции. В ИТК АН БССР имеется программа на 16 уровней, что удов­ летворяет требованию практически всех встречающихся схем. При необходимости алгоритм можно легко расши­ рить на любое число уровней.

Далее результаты, полученные этой программой, до­ полняются данными KOD2 и KOD3 и становятся исход­ ным материалом для программы, формирующей чертеж и выдающей входную перфоленту для чертежного ав­ томата.

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

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

На рис. 37 изображен чертеж схемы параллельно-по­ следовательного типа, вычерченный чертежным автома-

159



том типа ИТЕКАН п о заданной булевой функции. Время

вычерчивания

рис. 37

составляет 7

мин. Время ра­

ьк

гр

 

 

боты ЭВМ «Минск-22» для

ЗР

 

получения входной перфоленты

 

 

 

 

{ У п

5 мин.

 

 

 

 

КУ

 

{F

 

 

 

 

 

 

 

«_8~

3. Вычерчивание схем,

 

 

1Р ,К ЗР7 !Р ЗР

спроектированных с помощью ЭВМ

 

- щ р г

 

 

 

 

 

 

 

ЗР

 

По булевым выражениям,

~ 1 Г

 

1Г7Т1Г

 

W L .

ip

* - ) Г

T F -

полученным в результате авто­

У * " 1 *

- * ■

матического

логического

син­

 

 

 

ЗР

IP

 

J F -

теза, можно

вычертить

вруч­

^+771

« Й

II

IS

ную принципиальную

электри­

 

IP

 

 

ческую

схему. Очевидно,

это

ЗР

И 19

+*

 

 

ручное

вычерчивание

 

резко

 

 

 

 

 

 

 

 

снижает

эффективность

ис­

 

 

 

 

 

пользования ЭВМ, так как на

Рис. 37. Схема управления,

оформление

результатов

ма­

вычерченная на ИТЕКАН

шинного проектирования конст­

 

 

 

 

 

руктору

приходится

затрачи­

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

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

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

160