Главная » Просмотр файлов » Сосонкин В.Л. 2005 Системы числового программного управления

Сосонкин В.Л. 2005 Системы числового программного управления (841803), страница 39

Файл №841803 Сосонкин В.Л. 2005 Системы числового программного управления (Сосонкин В.Л. 2005 Системы числового программного управления) 39 страницаСосонкин В.Л. 2005 Системы числового программного управления (841803) страница 392021-06-15СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 39)

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

Она также облегчает многократное использование компонентов путем анализа проектных решений на начальных итерациях, что позволяетРис. 132. Итеративная разработкасистемы PCNCАнализПроектированиеРазработкаИнтеграцияВыпускрелиза^Итерация216В.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управленияархитекторам сконцентрироваться на возможности повторного использования и совершенствования общего кода в последующих итерациях. А кроме того, приводит к более устойчивой архитектуре, поскольку слабые места обнаруживаются в ранних итерациях, когда критические параметрыэффективности системы в целом легко обнаруживаются и исправляются.Сопоставим стадии разработки, показанные на рис. 132, системе решений, рассмотренных ранее.

Соответственно, Rational Rose и State MachineBuilder закрепим за фазами анализа и проектирования, NCs AppWizard за фазами проектирования и разработки, a Visual C++ и Win32 API - зафазой разработки. В результате получим целостную систему, наполняющую все фазы разработки и поддерживающую ведение проекта. Системуэту назовем «окружением разработки» открытой системы PCNC (рис. 133).В окружение разработки, помимо рассмотренных механизмов и инструментов, можно ввести дополнительный инструментарий, например систе-MSDN окружение разработкиСистема поддержки проектаCASE система(Visual Source Save)(Rational Rose)итеративное проектирование;проверка корректности модели.Интегрированнаясреда разработки(Visual C++)• редактирование;• компиляция;• линковка.• ведение проекта;• фиксация релизов;• архивация версии.Дополнительныйинструментарийроцесс разработкиоткрытой системыPCNCБиблиотеки ядра ОС(Win32 API)механизм сообщения;объекты синхронизации потоков.ведениедокументации:Оригинальныеинструментальные средства(Ncs AppWizard, State Machine Builder)• генерация машины состояния;• генерация скелета приложения.Рис.

133. "Окружениеразработки" системы PCNCГлава 4. Технологии разработки программного обеспечения систем управления217му ведения документации (на рис. 133 показана серым цветом). Интеграция всего окружения осуществлена на базе MSDN.ЗаключениеОткрытость систем PCNC следует передать на уровень пользователей,которые являются их конечными потребителями. Построение модулей системы ЧПУ по типу открытого языкового процессора создает строгую архитектуру и конфигурируемую систему команд. Построение открытых языковых процессоров на базе объектно-ориентированного подхода решаетпроблему совместимости модулей. Ряд проблем разработки открытых систем PCNC может быть решен с помощью системных возможностейWindows NT, таких как многозадачность, синхронизация и обмен данными между задачами.

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

Созданиекаркасов модуля (или внешнего приложения), подключенного к внешнеймагистрали, и машины состояния - задачи наиболее трудоемкие и в то жевремя формализуемые. Они могут быть решены соответственно мастеромразработки Ncs AppWizard и генератором кода машины состояния StateMachine Builder. Формирование окружения разработки позволяет предложить комплексное решение проблемы создания открытой системы ЧПУ,при этом конкретные решения закрепляются за отдельными фазами процесса разработки таким образом, что охваченным оказывается весь итерационный процесс разработки.4.4.

Технология компонентной организациипрограммного обеспеченияПредставлена компонентная организация программного обеспечения систем управления. Рассмотрены базовые понятия, изложены методические рекомендации по выбору компонентов и проанализированы сложные случаи создания компонентных моделейв системах управления, в том числе на базе стандартных библиотек MFC и A TL. Установлена приоритетная область использования СОМ-подхода в системах управления. Отмечена возможность инструментальной поддержки компонентного проектирования на основе формализма Г. Буча.248вл- Сосонкин, Г.М.

Мартинов. Системы числового программного управленияВысокие темпы эволюции технических требований к системам управления заставляют регулярно выпускать новые версии программного обеспечения. Это ставит перед производителями серьезные проблемы, в томчисле и инвестиционного характера. Их решение видится на основе компонентной архитектуры, которая предполагает выделение компонентов, связываемых непосредственно в процессе работы системы управления («runtime»). Именно на эту возможность авторы стремились обратить внимание в этой статье.Компонентная архитектура является развитием модульной реализациисистем управления, при которой конкретная конфигурация собирается изготовых модулей. Однако компоненты привносят в программное обеспечение новые возможности.

Так, компоненты можно подключать к приложению и отключать от него. Для этого они должны удовлетворять двумтребованиям: компоноваться динамически и скрывать (инкапсулировать)детали внутренней организации. При этом компонентный подход использует все возможности объектно-ориентированного подхода.Далее представлен необходимый понятийный аппарат и приведен пример, иллюстрирующий введенные понятия, приведена классификацияСОМ-интерфейсов и СОМ-серверов, указаны области целесообразного использования компонентов, отмечена возможность инструментальной поддержки компонентного проектирования.4.4.1. Базовые понятияКомпонентная модель СОМ лежит в основе таких технологий разработки прикладного программного обеспечения систем управления, какDCOM, OLE, OLE Автоматизация, ActiveX и ОРС (рис.

134). Компонентная объектная модель СОМ делает стандартную структуру объекта регулярной, управляет его жизненным циклом и общением с другими объектами [81]. Другими словами, СОМ определяет правила структурированияобъектов и их распределения в памяти, создания и уничтожения объектов,взаимодействия объектов между собой. Компонентная модель существуетв рамках клиент-серверной архитектуры, когда клиент и сервер (компонент) связаны через СОМ-интерфейс. СОМ-интерфейс специфицируетфункциональные возможности, которые компонент предлагает некоторойпрограмме или другим компонентам.От стандартного СОМ-интерфейса IUnknown произведены все остальные. Интерфейс IUnknown обязателен в любом компоненте и предназначен для (С++)-программистов; он обращает к методам (функциям) интерфейса через таблицу виртуальных методов [82].

Располагая указателем на IUnknown, клиент может запросить и другие интерфейсыкомпонента. Производный от IUnknown интерфейс наследует три базо-Глава 4. Технологии разработки программного обеспечения систем управления(ObjectLinking andEmbedding)(^219Автомати-(зация^ActiveXCOM(ComponentObjectModel)(DistributedComponentObject Model)DistributedComponentObject Model)Объектно-ориентированный подходРис.

134. Технологии разработки прикладного программногообеспечения систем управлениявых метода: QuerylnterfaceO, позволяющий клиенту получить указательна любой интерфейс компонента из другого указателя интерфейса; AddOи ReleaseO, поддерживающие механизм управления временем жизни клиента. С этой целью компонент хранит внутренний «счетчик ссылок» насвоих клиентов. Если счетчик обнуляется, объект выгружает себя из памяти. При запросе указателя на интерфейс метод QuerylnterfaceO неявновызывает метод AddO для увеличения содержимого счетчика, а после окончания работы с интерфейсом клиент явно вызывает метод ReleaseO дляуменьшения содержимого счетчика ссылок.Компонент может располагать одним или несколькими СОМ-интерфейсами; клиент, в свою очередь, может пользоваться сервисом от несколькихСОМ-интерфейсов.

Это значит, что один СОМ-сервер может обслуживатьнескольких клиентов, а один СОМ-клиент может получать сервис от нескольких компонентов (рис. 135).СОМ-сервер и СОМ-интерфейс имеют свои глобальные уникальныеидентификаторы GUID (Globally Unique Identifier). Один и тот же СОМ-сервер на двух разных компьютерах будет иметь один и тот же идентификаторGUID, а разные СОМ-серверы на разных компьютерах не могут иметь одинаковых интерфейсов. Уникальность GUID обеспечивается тем, что приизменении компонента или интерфейса утилита guidgen.exe генерирует220В.Л.

Сосонкин, Г.М. Мартинов. Системы числового программного управленияI Unknown О сом-lUnknown1СОМсервер—'—I интерфейс (1)СОМклиент(VСОМинтерфейс (1)-ОСОМклиент(2)СОМинтерфейс (2)СОМклиент(п)СОМсервер(1)lUnknownO—'—| интерфейс (1)СОМсервер(2)lUnkncwno с о м .—'—I интерфейс (:СОМсервер(п)Рис. 135. Клиент-серверные отношенияновые идентификаторы на основе уникального сетевого адреса и точноговремени запроса на создание GUID. Идентификаторы компонента (класса) и интерфейса обозначаются соответственно CLSID и IID.Компоненты СОМ бинарно совместимы, что означает, что компонентбудет совместимым для использования с любыми другими СОМ-компонентами независимо от языка, на котором он создан.

Объекты и компоненты, разработанные на разных языках программирования и работающие вразличных операционных системах, могут взаимодействовать без какихлибо изменений в двоичном (исполняемом) коде.Любой клиент, желающий воспользоваться сервисом компонента, нуждается в предварительных сведениях о его интерфейсе. Существует технология, которая обеспечивает клиентов информацией о типах компонента.Файл, содержащий такую информацию, создается с помощью языка определения интерфейсов - IDL (Interface Definition Language).Еще одно важное понятие - это фабрика классов (class factory). Фабрика порождает неинициализированный экземпляр объекта класса, т.

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

Технологии разработки программного обеспечения систем управления221терфейсом IClassFactory2, способный создавать компонент с идентификатором CLSID; она не рассчитана на реализацию интерфейсов создаваемого компонента.Компонентное программное обеспечение можно разрабатывать толькона C++, но это необязательно. Для ускорения используют стандартные библиотеки MFC (Microsoft Foundation Classes) или библиотеки шаблонногопрограммирования ATL (ActiveTemplate Library) [83].4.4.2.

Характеристики

Список файлов книги

Сосонкин В.Л. 2005 Системы числового программного управления.pdf
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7046
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее