Файл: Оперативные графические системы в автоматизации проектирования..pdf

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

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

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

Добавлен: 23.10.2024

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

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

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

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

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

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

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

Данные, описывающие каждый узел, имеют следую­ щий вид:

1.Обозначение.

2.Значение координат X, У узла.

3.Число элементов, присоединенных к данному узлу. Помимо этой информации, с узлом связывается также

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

Данные, описывающие элементы (резисторы и кон­ денсаторы), имеют вид:

1.Числовое значение сопротивления или емкости.

2.Обозначения, присваиваемые элементу (например,

R \ ,

С 3 ) .

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

206

Модель схемы строится с помощью блоков, представ­ ляющих компоненты схемы (узлы и элементы). Каждый блок состоит из нескольких последовательно располо­ женных слов, в которых размещаются все необходимые данные и адреса связи. В качестве примера на рис. 6.36 приведен формат блоков. В структуре используются три

типа блоков.

представляющие узлы и содержащие общее

1.

Блоки,

для всех блоков структуры поле ТИП. В нем хранятся

Тип=0

 

Тип-- 3

Число элементов

 

Первый

узел

Следующий узел

 

Второй

узел

Имя

3.

Блок проводника

Верхний

элемент

 

(Г-3)

 

 

 

Левый элемент

2. Блок резистора (Т = 1)

 

 

 

 

Блок конденсатора

 

 

Правый

элемент

( Т = 2)

 

 

Нижний элемент

 

 

 

X

 

 

 

 

Y

 

Рис. 6.36. Структура

блоков AED

 

 

I . Блок узла

 

 

 

код, определяющий тип компонента, описываемого дан­

ным блоком; адрес связи, указывающий

на следующий

блок узла в списке узлов (поле СЛЕДУЮЩИЙ УЗЕЛ); адреса связи, указывающие на подсоединенные к данно­ му узлу элементы, которые расположены выше, левее, правее и ниже узла.

2. Блоки, представляющие элементы (резисторы и конденсаторы) и содержащие числовое значение элемен­ та (поле ВЕЛИЧИНА); адрес связи, определяющий це­ почку символов, которые представляют обозначение дан­ ного элемента (поле ИМЯ); адреса связи, указывающие на два узла, между которыми расположен элемент.

207


3. Блоки, представляющие проводники, содержат ад­ реса связи, определяющие два узла, которые связаны проводником.

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

Перед началом вычерчивания схемы программа

по­

строения и модификации структуры (ПГ1МС)

выполняет

следующие действия:

 

 

 

1. Из области свободных блоков выбирается блок раз­

мером в

10 слов. В этом блоке записывается

тип Т = 0,

который

указывает, что

блок описывает узел.

 

2. В блок записываются координаты X, Y,

получае­

мые от устройства ввода

графической информации

н

определяющие положение узла на экране.

 

 

Для того чтобы начертить элемент (резистор, конден­ сатор, проводник) п присоединить его к узлу, ППМС вы­ полняет следующие действия:

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

2.В структуре ищется блок узла, к которому следует присоединить данный элемент.

3.Производится включение элемента:

вблоке узла величина, находящаяся в поле ЧИСЛО ЭЛЕМЕНТОВ, увеличивается на единицу; в одно из по­ лей, содержащих адреса связи, записывается адрес, ука­

зывающий на блок элемента; в блоке элемента в поле ПЕРВЫЙ УЗЕЛ помещается

адрес, определяющий блок узла.

4. Определяется, есть ли в структуре второй узел, к которому должен быть присоединен элемент. Если нет, необходимо включить в структуру блок нового узла п за­ тем проделать те же операции по присоединению элемен­ та к этому узлу. Структура данных, отражающая связь, резистора R \ с двумя узлами 1 и 2, приведена на рис. 6.37.

При стирании элемента, положение которого указы­ вается световым маркером, ППМС выполняет следую­ щее:

208


1) проводит поиск блока элемента, соответствующего указанному элементу;

2) изменяет адреса связи в блоках узлов, к которым присоединен исключаемый элемент; уменьшает па едини­ цу величину, записанную в поле ЧИСЛО ЭЛЕМЕНТОВ; если эта величина окажется равной 0, т. е. к данному узлу не присоединено ни одного элемента, блок узла исключается из структуры;

3) включает освободившиеся блоки в список свобод­ ных блоков для их дальнейшего использования.

Рис. 6.37. Фрагмент структуры данных для записи изображения ре­ зистора Ri

После всех преобразований в структуре с экрана сти­ рается элемент.

На рис. 6.38, а представлена структура данных, опи­

сывающая часть

электрической схемы

(рис. 6.38, б),

с изображением

основных структурных

связей между

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

На рис. 6.39, а изображена структура данных, полу­ чающаяся в результате изменений (добавлен резистор Яз между узлами 3 и б).

Более сложным изменениям подвергается структура данных при стирают узла. Эта операция требует исклю­ чения всех элементов, присоединенных к данному узлу, что в свою очередь может потребовать изменения в бло­ ках других узлов, к которым присоединены элементы. На рис. 6.39, б приведена структура данных после удале­ ния узла 6, а на рис. 6.39, в отображен результат после стирания узла 5.

14. Зак. 218.

209


- Список блоков узлов

--------— Связь вверяй вниз

..........«- Связь влево и вправо

1

 

2

С,

3

 

 

П,

с2

/7,

 

 

ф-

-II-

Пь

 

 

4

 

 

 

Рис. 6.38. Пример иерархической структуры: а— представление иерар­

хической структуры; о — электрическая схема

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

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

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

Более универсальной является структура данных ASP, основные принципы организации которой не меня­ ются в зависимости от применения, а поэтому остается неизменным язык построения и модификации струк­ туры [25].

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

н *

211


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

Структура ASP состоит из четырех основных компо­ нентов: кольца, заголовков колец, связников, элементов.

Все списки в структуре кольцевые, двухнаправлен­ ные, дополненные заголовком кольца, в котором содер­ жатся поля данных: ИМЯ и ТИП кольца. Элементы со­ держат произвольное число данных и связаны с двумя замкнутыми списками, которые образуют кольца верх­ него и нижнего уровней данного элемента. Кольцо ниж­ него уровня является замкнутым списком последователь­ но связанных заголовков, а кольцо верхнего уровня объ­ единяет в замкнутый список связники. Оба кольца могут иметь произвольное число членов. Связники всегда вхо­ дят в два кольца — кольцо верхнего уровня данного эле­ мента и кольцо связников, которое является кольцом нижнего уровня другого элемента. Таким образом, мож-

Рпс. 6.39. Модификация структуры данных: а — добавлен резистор

Н.С.У.

в

Rz\ о — удален узел 6; о — удален узел 5

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

хической структуры.

v

л

ЛА

Г ■S

1

v

А

 

S)

1

ч..)

J

Кольцо верхнего (

^ ^Кольцо нижнего

 

 

 

уровня элемента А '

—1

уровня элемента А

 

 

 

А

 

 

т

 

 

 

 

 

 

Заголовок

 

 

 

&

 

кольца

 

 

 

 

 

I Связник

$ -------------

 

Элемент

Рис. 6.40. Структура данных ASP

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

Изложив основные принципы организации структуры ASP, попытаемся с ее помощью представить часть элек­ трической схемы, приведенной на рис. 6.38,6.

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

214