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

книги из ГПНТБ / Добролюбов, А. И. Автоматизация проектирования систем управления технологическими машинами

.pdf
Скачиваний:
7
Добавлен:
19.10.2023
Размер:
7.44 Mб
Скачать

заметных» ошибок, характерных для чертежей, выполня­ емых вручную.

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

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

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

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

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

150

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

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

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

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

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

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

151

2. ВЫЧЕРЧИВАНИЕ ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНЫХ СХЕМ

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

. - ../■

">

Ч

 

 

 

J

\

 

3

 

 

5

6

Рис. 33. Схема управле­

Рис.

34.

Схема

связей

ния, вычерченная в соот­

 

 

узлов

 

ветствии с ЕСКД

 

 

 

 

знаков аппаратов, соответствующее

пути прохождения

сигналов, минимальная длина

связей

(линий)

между

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

Графическое начертание элементов электросхем оп­ ределено единой системой конструкторской документа­ ции (ЕСКД). На рис. 33 изображена простая релейно­ контактная электрическая схема. Как видно из рисунка, чертеж схемы состоит из стандартных обозначений.ап­ паратов (под аппаратами в данном случае понимаются такие элементы схемы как контакты кнопок, путевых вы­ ключателей, контакты и катушки реле, пускателей, элект­ ромагнитов и т. п.), линий связи, подписей аппаратов1 и номеров узлов (проводов).

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

1 Подписи аппаратов на чертежах, выполненных чертежным ав­

томатом, соответствуют принятым обозначениям в АЛГОЛ-програм- мах.

152

чертеж схемы в некоторых случаях может стать менее компактным.

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

На рис. 33 изображена параллельно-последователь­ ная схема. Выражение (25) является ее записью в виде булевой функции, а в табл. 32 эта схема записана в виде списка двухполюсников:

( к у \/ р \ ) / \ р 2 / \ Р \ \ / р\ /\ п в / \ Э \ .

(25)

Здесь KOD2 — «чертежный признак», т. е. код

чер­

тежного знака аппарата, расположенного между сосед­

ними узлами

I, IN; K.OD3 — подпись (наименование)

этого аппарата.

Очевидно,

что информация, содержащаяся в кодах

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

34: это совокупность точек (узлов)

схемы,

связанных

между собой вертикальными или горизонтальными

ли­

ниями. При этом горизонталями соединены

разноимен­

ные точки, вертикалями—одноименные. Очевидно,

что

такая структура может быть условно

описана на языке

булевых функций выражением

 

 

 

({х\/ х ) / \ х / \ х \ / х / \ х / \ х ) .

 

(26)

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

На языке двухполюсников эта структура может быть описана списком пар соседних узлов I и IN.

Для задания такой структуры на плоскости очевидно достаточно указать координаты узлов. Условимся узлы пары соседних узлов изображать на одном горизонталь­ ном уровне. Тогда пара узлов I, IN может быть охаракте­

ризована координатами XI, Y, XIN,

где

XI — абсцисса

узла I, Y— ордината узлов I и

IN;

XIN— абсцисса

узла IN. Таким образом структура,

изображенная на

153

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

Т а б л и ц а 32

N A I ш K O D 2 K O D 3

1

1

2

07

КУ

2

2

3

01

Р2

3

3

4

04

Р1

4

1

2

01

Р1

5

1

5

01

Р1

6

5

6

06

ПВ

7

6

2

13

Э1

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

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

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

Т а б л и ц а 33

NA

1

ш

X I

Y

X 1 N

1

1

3

0

2

1

2

3

4

1

2

2

3

4

2

2

2

3

4

1

3

0

1

1

5

1

5

0

0

1

6

5

6

1

0

2

7

6

2

2

0

3

154

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

Булева функция кодируется символами. При этом применяются следующие коды (табл. 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

Соседние файлы в папке книги из ГПНТБ