Файл: Оперативные графические системы в автоматизации проектирования..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