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

2378

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
1.49 Mб
Скачать

дочернего класса.

Существует два вида наследования:

простое наследование - когда дочерний объект наследует характеристики от одного родительского класса;

множественное наследование, когда дочерний объект наследует характеристики более чем одного родительского класса;

Простое наследование. В случае простого наследования класс, который наследует атрибуты другого класса, добавляет собственные атрибуты. Наследование подразумевает, что объекты, принадлежащие к дочернему классу, имеют те же поля, что и объекты родительского класса, и как правило, дополнительные собственные поля. Именно поэтому методы родительского класса могут применяться к объектам дочернего класса. (Т.е. в таком случае говорят, сто проявляется свой свойство полиморфизма). Методы дочернего класса, однако, не могут применяться к объектам родительского класса.

Функция конструктора для класса, который наследует поведение другого класса имеют две специальные характеристики:

она обычно вызывает функцию конструктора родительского класса, чтобы создавать "наследованные" поля.

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

Пример: (Примером простого наследования могут быть объекты класса,

используемого для решения задач анализа лин. cтационарных систем) Класс - LTI; и дочерние классы от него:

If- передаточная функция (Transfer function);

zpk - нули - полюса - коэффициент передачи (Zero, pole, gain); ss - пространство состояний (State space),

Объект LTI включает информацию, которая не зависит от частного вида системы (непрерывная или дискретная), а также от имен входов и выходов. Дочерние объекты зависят от модели представления.

Объект класса tf характеризуется векторами коэффициентов числителя и знаменателя рациональной передаточной функции.

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

Объект класса ss определяется четверкой матриц, дающих описание динамической системы в пространстве состояний. Объекты класса ss позволяют описать рассматриваемую систему систему в матричном виде, (в виде совокупности матриц А, В, С, D, Е)

Для создания объекта в классе LTI

L=Lti(1,1)

(создает скелет LTI-объекта с нулевым тактом дискретности и пустыми именами входов и выходов)

103

T=tf(1,[1 0-2-5])

(создает объект в классе tf, который представляет собой непрерывную передаточную функцию Т=1/(s3-2s-5))

Более полно объект Т характеризуется четырьмя полями: Т. num - поле вектора числителя, 1:

Т. den - поле вектора знаменателя, [1 0-2-5]: Т. variable - поле переменной s;

Т. Iti - поле, наследованное от Lti-класса. (от объекта LTI класса, в данном случае оно совпа-

дает со скелетом L).

Если теперь в Warkspace набрать get(T) то получим значения всех свойств объекта Т:

num =([000 1]}

den=j[1 0-2-5]}

Variable = 's' или: 'q','n','n-1' Ts=0

Td=0

InputName = {"} OutputName = {"} Notes ={}

UserData = []

(где num - полином числителя передаточной функции, den - полином знаменателя , Variable - аргумент, Ts - определяет непрерывность или дискретность рассматриваемой модели, Td - шаг дискретизации, InputName - название входа системы, OutputName - название выхода системы, Notes – пояснения).

Рис.5.11. Схема соотношения наследования.

104

(создание объектов классов ss и zpk осуществляет преобразование представления в виде ПФ и в виде системы состояний)

S = ss(T) Z=zpk(T)

Если теперь в Warkspace набрать get(S) и get(Z) то получим значения всех свойств объекта S и Z:

get(S)

а = [3х3 double] b= [3х1 double]

с=[0 0 0.5] d=0

е=[]

Variable = 's' StateName = {3х1 cell} Ts=0

Td=0 InputName = {"}

OutputName = {"}

Notes = {} UserData = [ ] get(Z)

z= {[0х1 double]} p={ 1х1 cell} k=1

Variable ='s' Td=0

Te=0 InputName = {"}

OutputName = {"} Notes ={} UserData = [ ]

(т. е. видно, что помимо своей структуры класса имеется ещѐ структура класса прародителя LTI)

Рис.5.12 Схема иерархии классов LTI, TF, SS, ZPK

105

Механизм наследования реализуется в функциях конструктора дочернего класса.

Пример: конструктор класса tf включает оператор

L=LTI(Ny,Nu,Ts)

(для создания lti-объекта с соответствующими параметрами, где Ny - размерность выхода системы; Nu - размерность входа системы)

Тогда tf-объект можно создать, используя встроенный оператор : sys = class (Structure,'tf', L)

использование оператора class с тремя аргументами позволяет присвоить объекту соответствующую метку класса и указать, что наследуется от родительского объекта. Причѐм структура объекта задаѐтся параметром Structure, в следующем виде:

Structure = struct ('num',[ ], 'den',[ ], 'variable',");

Наследование может быть многоуровневым, то есть дочерний объект может содержать поля как родительских объектов, так и объектов более старших поколений (в этом случае родительский объект может вызывать прародительские методы, а дочерний - как родительские, так и прародительские).

Множественное наследование. В случае множественного наследования класс наследует атрибуты от более чем одного родительского класса. Дочерний объект наследует поля как родительских классов, так и собственной структуры. Множественное наследование может объединять более одного поколения.

Множественное наследование полей прародительских объектов реализуется в конструкторах путем вызова функции class с более чем тремя аргументами:

obj = class (Structure, 'class_name', parent 1, parent2, ...) (где

Structure - описание структуры создаваемого объекта class name - имя класса объекта

parent1 - имя класса 1-го прародителя parent2 - имя 2-го прародителя)

Можно объединять любое количество аргументов родительского класса в соответствии со списком входных аргументов.

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

Агрегирование объектов. В дополнение к наследованию система MATLAB поддерживает соединение частей в целое, или агрегирование. То есть один объект может включать другой объект в качестве одного из полей структуры. Поскольку доступ к полям структуры возможен только изнутри метода, то вызов метода для включенного объекта возможен только изнутри метода для внешнего объекта.

106

Краткое описание функций и команд

СLASS - Определить класс объекта или создать объект

Синтаксис: obj=class('<имя_класса>') obj = class(S, '<имя_класса>')

obj = class(S, '<имя_класса>', <родитель1>, <родитель2> ...)

Описание:

функция obj=class('имя_класса^) возвращает строку, содержащую имя класса, соответствующего таблице 1:

Функция obj = class(S,'<имя_класса>') создает объект класса с указанным именем, используя структуру S в качестве шаблона. Где под <имя_класса> понимается М- функция с именем имя_класса.m, размещенная в каталоге класса @имя_класса.

Функция obj=class(S, '<имя_класса>', <родителъ1>, <родитель2>...) создает объ-

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

ISA - Определить принадлежность объекта к данному классу

Синтаксис:

К= class (obj,'<имя_класса>')

Описание:

Функция К = class(obj,'<имя_класса>'} возвращает логическое TRUE (1), если объект принадлежит данному классу, и логическое FALSE (0) - в противном случае.

Аргумент <имя_класса> - это либо имя класса, определѐнного пользователем, либо имя одного предопределѐнного классов системы

MATHLAB.

Пример:

isa (rand (3, 4), 'double') ans= 1

ISOBJECT - Выявление объекта некоторого класса

Синтаксис:

k = isobject(A)

Описание:

Функция k = isobject (А) возвращает логическое TRUE (1), если А - объект некоторого класса, и логическое FALSE (0) - в противном случае.

107

METHODS - Вывести на терминал список методов для данного класса

Синтаксис:

methods <имя_класса>

s = methods('<имя_клacca>')

Описание:

Команда methods <имя_класса> выводит на терминал список методов для данного класса.

Функция s = теthod('<имя_класса>') возвращает массив ячеек, содержащий имена методов в виде строковых величин.

INFERIORTO - Отношение низшего класса

Синтаксис: inferiorto('<uмя_клacca1>','<uмя_клacca2>',...)

Описание:

Команда inferiorto('<uмя_клacca1>','<uмя_клacca2>',...) вызванная внутри конст-

руктора класса, например <имя_класса0> определяет, что данный метод <имя_класса0>.т не должен вызываться, если функция вызвана с объектом класса <имя_класса1> или <имя_класса2>. Это означает низший приоритет класса

<имя_класса0> по отношению к классам <имя_класса1>, <имя_класса2>.

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

SUPERIORTO - Отношение высшего класса

Синтаксис: superiorto('<uмя_клacca1>','<uмя_клacca2>',...)

Описание:

Команда superiorto('<uмя_клacca1>','<uмя_клacca2>',...) вызванная внутри конст-

руктора класса, например, <имя_класса0> определяет, что метод <имя_класса0>.т должен быть вызван, если функция вызвана с объектом класса

'<имя_класса1>', '<имя_класса2>'

Это означает высший приоритет класса <имя_класса0> по отношению к классам

<имя_класса1>, <имя_класса2>.

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

6. АВТОМАТИЗАЦИЯ ВЫПУСКА КОНСТРУКТОРСКОТЕХНОЛОГИЧЕСКОЙ ДОКУМЕНТАЦИИ

При разработке вычислительной аппаратуры выпускается большое количество технической документации (в основном конструкторской и технологической), состав которой определяется системой ЕСКД и ЕСТД.

108

Единая система конструкторской документации - комплекс Государственных стандартов, устанавливающий виды изделий, виды и комплектность конструкторских документов и требований к ним. К ЕСКД относятся графические и текстовые документы, определяющие в отдельности или в совокупности состав и устройство изделия, и содержащие данные для его разработки, изготовления, контроля, эксплуатации и ремонта. Стандарты ЕСКД определяют комплектность и формы документов на различных этапах разработки изделия. На каждом этапе создаются текстовые и графические документы. Объем документации возрастает в направлении от ТЗ к рабочей документации, так как повышается степень детализации изделия, поэтому проблема автоматизации выпуска конструкторской документации в первую очередь возникает на этапе конструкторского и технологического проектирования.

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

Задачи автоматизированного выпуска документации.

По способам оформления конструкторскую документацию разделяют на схемную и чертежную (графическую), табличную и описательную (текстовую). Одна из важнейших проблем совершенствования ЕСКД и ЕСТД - разработка правил, учитывающих специфику автоматизированного проектирования. В настоящее время утверждены многие стандарты на конструкторскую документацию для САПP, остальные находятся в стадии разработки и испытаний. С внедрением автоматизированных методов проектирования пересматриваются требования к оформлению документации с учетом возможности выполнения типовых конструкторских и технологических документов машинными методами. Возникают новые виды конструкторских и технологических документов - перфоленты, перфокарты, магнитные ленты, магнитные диски, а также специфическая форма конструктор- ско-технологических документов машинные носители для управления автоматическим технологическим оборудованием.

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

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

Высокая эффективность автоматизации выпуска конструкторской документации в САПР объясняется следующим:

109

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

2)появляется возможность оперативного внесения изменений в проект путем редактирования данных в памяти ЭВМ с последующей автоматической выдачей модифицированных документов Скорректированные документы можно выдавать после окончательной проверки и редактирования проекта в интерактивном режиме взаимодействия проектировщика и ЭВМ.

Организация автоматизированной выдачи конструкторской документации требует решения следующих задач: 1) создания и автоматического воспроизведения текстовой и графической информации; 2) разработки подсистем интерактивного взаимодействия проектировщика с ЭВМ для оперативного ввода, контроля, корректировки и вывода информации о проектируемом объекте; 3) автоматической подготовки машинных носителей для программно-управляемого технологического оборудования; 4) разработки специальных диагностических и контролирующих программ, способных проверить достоверность информации, необходимой для выдачи конструкторской и конструкторско-технологической документации; 5) обеспечения оперативной реализуемых в ЭВМ. Передача этих функций устройствам вывода графической информации пока неосуществима, так как для этого необходимо включать в состав графического устройства мощную ЭВМ.

Информация в САПР, необходимая для выдачи конструкторских документов, представлена в ЭВМ математическими моделями объектов проектирования. Поэтому возникает задача преобразования ММ объекта в выходные математические модели графических документов объекта, т. е. в совокупность команд управления для УВГИ. Для этих целей разрабатывается комплекс программ вывода графической документации.

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

Исходные данные задачи - множества элементов n схемы и связей m между ними Задана некоторая площадь, состоящая из листов ограниченного размера, имеющих k позиций. Необходимо получить чертеж схемы на данной площади, имеющий оптимальное значение целевой функции F, которая характеризует качество чертежа схемы. Схемная документация должна выполняться в полном соответствии с ЕСКД, быть легкочитаемой и наглядной.

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

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

110

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

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

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

Автоматизация воспроизведения текстовой и графической информации.

Такая автоматизация требует наличия соответствующего технического и программного обеспечения. Автоматизация воспроизведения текстовых документов (спецификации, ведомости, инструкции, тексты, таблицы, описания и т. д.) не встречается с принципиальными трудностями. Они могут воспроизводиться на ал- фавитно-цифровых печатающих устройствах (АЦПУ) или пультовых пишущих машинках с помощью программ общесистемного обеспечения ЭВМ Соответствие документов требованиям ЕСКД обеспечивается описанием шаблонов документов. Шаблон документа содержит координаты местоположения основных текстов на листе. С помощью шаблона задаются размеры граф, интервалы расположения строк, ссылки на описания форм первого и последующих документов (основные надписи, штампы и др.), состав и размещение постоянного текста для данного документа, ссылки па специальные процедуры, осуществляющие формирование переменного содержимого документа и т. д.

Основные трудности теоретического и прикладного характера возникают при разработке программных средств для автоматизации выдачи графических документов. Возможен вывод графической информации на АЦПУ, например, принципиальных и функциональных схем. Этот способ очень тру-

доемкий, а качество изображения невысокое. Более эффективен вывод графической информации на специальные устройства выдачи графической информации (УВГИ) (графопостроители и дисплеи), автономно функционирующие, или соединенные электрическим каналом с ЭВМ.

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

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

111

тошаблона при проектировании НС).

Типовые графические изображения устанавливаются ЕСКД и ЕСТД либо могут быть составной частью любого оригинального изображения (например; изображения микросхем и разъемов на чертежах ТЭЗ). Типовые графические изображения, как правило, хранятся в долговременной памяти ЭВМ и образуют архив графических данных. Соответствие графической документации требованиям ЕСКД обеспечивается описанием шаблонов графических документов, которые хранятся в банке данных САПР. Эти шаблоны служат базой для разработки комплектов чертежей.

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

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

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

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

112

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]