Главная » Просмотр файлов » Сосонкин_Системы_ЧПУ

Сосонкин_Системы_ЧПУ (1087166), страница 41

Файл №1087166 Сосонкин_Системы_ЧПУ (Книга - Системы СЧПУ) 41 страницаСосонкин_Системы_ЧПУ (1087166) страница 412018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

выполняются в разных процессах). Достоинство такой связи в высокой устойчивости к ошибкам. При ошибке в сервере, приводящей к завершению серверного процесса, клиент продолжит работу. Недостатком локального сервера можно посчитать низкую скорость: информация от одDisp-интерфейсИнтерфейс IDispatchDISPIDИмяIUnknown::QueryInterface ()1"Start"IUnknown::AddRef()2"Stop"IUnknown::Release ()3"Self Test"IDispatch: :GetTypeInfoCount()IDispatch-.-.GetTypelnfoODISPIDIDispatch: :GetIDsOfNames()1Start()IDispatch:.Invoike()2Stop()3SelfTestOУказатель на функциюРис. 136.

Обобщенный интерфейс управления приводом на базе IDispatchГлава 4. Технологии разработки программного обеспечения систем управленияТаблица виртуальныхфункций объектов синтерфейсом IDriveControl225Таблица виртуальных функцийобъектов с дуальным интерфейсомIDriveControlIUnknown::QueryInterface ()(Unknown::QueryInterface ()IUnknown::AddRef()IUnknown::AddRef()IUnknown::Release ()IUnknown::Release ()IDriveControl::Start()IDispatch:: GetTypelnfoCountQIDriveControl::Stop()IDispatch: :GctTypeInfoQI DriveContro!:: Sel fTest()I Dispatch: :GetI DsOfNamesQРис.

137. Таблицы виртуальныхфункций объектов с интерфейсомIDriveControlIDriveControl::Start()IDispatch::Invoike()I Drive-Control: :StopOIDriveControl::SelfTest()ного процесса к другому должна быть запакована, передана и распакованана границе процессов.

СОМ берет этот сервис на себя.Удаленный сервер расположен на другом компьютере по отношению кклиенту. Эта клиент-серверная связь наиболее медленная, поскольку здесьоказывают влияние пропускная способность и задержки в сети. Удаленнаясвязь устанавливается с помощью протокола удаленного вызова процедурв распределенной модели COM (DCOM).Объект СОМ может создавать и использовать другие СОМ-объекты,при этом клиенту не известно, является ли СОМ-сервер составным илимонолитным.

Использование одного компонента другим возможно посредством включения или агрегации.Включение (containment) предполагает, что внешний компонент предоставляет интерфейс включаемому компоненту и обращается к нему дляорганизации интерфейса. Создадим, например, компонент геометрическогоканала системы ЧПУ и вместо реализации функций управления приводомвоспользуемся включенным компонентом управления приводом. Если клиент обращается к интерфейсу IDriveControl (рис.

138), компонент геометрического канала CMachineChannelServer переправляет вызов компонентуlUnknown1.• CMachine • .ChannelServerCDriveServerОIDriveControlIChannelControlIDriveControlРис. 138. Включение компонентовСОМклиент226В. Л. Сосонкин. Г.М. Мартинов. Системы числового программного управленияCDriveServer. Внешний компонент может специализировать этот интерфейс,добавив свой код перед вызовом внутреннего компонента или после этого.Агрегация (aggregation) означает, что внешний компонент агрегируетинтерфейс внутреннего компонента, не создавая интерфейс заново и непередавая вызов этого интерфейса явно, как при включении. Вместо этоговнешний компонент передает клиенту указатель на интерфейс внутреннего компонента.Агрегация интерфейса IDriveControl компонентом геометрического канала показана на рис. 139.

Она применяется тогда, когда реализация интерфейса устраивает разработчика полностью.lUnknown/ • CMachine.ChannelServerCDriveServerIChannelControlО-ОIDriveControlРис. 139. Агрегация компонентов4.4.4. Область использования СОМПреимущества компонентного подхода обеспечили широкую сферу егоприменения.Во-первых, это повторное использование компонентов. СОМ позволяет однажды создать программный код, а потом использовать его во многихприложениях. Через какое-то время в компонент можно вносить коррекции и усовершенствования, что не повлечет необходимости менять любоеиспользующее его приложение.Во-вторых, это параллельная разработка. Обычно начинают с разработки интерфейсов компонента, что определяет корректность совместной раlUnknownРазработчикипервой группыlUnknownРазработчикивторой группыРазработчикутретьей группыРис. 140.

Параллельная разработка программного обеспеченияГлава 4. Технологии разработки программного обеспечения систем управления"2.2.7боты всего программного обеспечения (рис. 140). Последующую разработку функциональных возможностей компонентов можно распараллеливать.В-третьих, это унификация прикладного программного обеспечения.Речь идет о производстве, в котором собраны несовместимые системы управления разного типа и от разных производителей. Пусть нужно создатьприложение, осуществляющее измерение сигналов для диагностики следящих приводов.

Создают обобщенный СОМ-интерфейс и разрабатываютСОМ-сервер для каждого контроллера управления приводами. Прикладное приложение обращается через обобщенный СОМ-интерфейс к любому СОМ-серверу контроллера, при этом протокол управления конкретнымконтроллером привода полностью прозрачен (рис. 141).SiemensBoschRockwellПриложениеРис. 141. Унификация программного обеспеченияСуществуют некоторые особенности использования СОМ.

Например,необходимо тщательно планировать интерфейсы, потому что опубликованный интерфейс нельзя менять. Если нужно изменить или расширить функциональные возможности интерфейса, то выпускают его новую версию сновым GUID. В новой версии компонента необходимо поддерживать всестарые интерфейсы для обеспечения совместимости.4.4.5. Инструментальная поддержкакомпонентного проектированияПрименение инструментальных средств существенно ускоряет процесспроектирования и разработки компонентного программного обеспечения.CASE-система Rational Rose 2001 ориентирована на разработку СОМ набазе библиотеки активных шаблонов ATL и использование только дуальных интерфейсов.

Ниже приведено альтернативное решение проектирования СОМ-сервера для управления приводом с использованием стандартной нотации Буча [70].Создадим абстрактный класс стандартного интерфейса IUnknown, который не будем генерировать (рис. 142). Объявим знакомые нам методыIUnknown как чистые виртуальные функции (pure function), т. е. не имеющие реализации.228В.Л. Сосонкин, Г.М.

Мартинов. Системы числового программного управления^SetCorortiandPosittonOV5elAc(ualePD3itionO•SetConligParameterO•GetConfigParameterOI,- •selfTCDnve Server,m xDriveConlrol. XDriveConlStopOsetCommandPositionOGetAduaiePosrtionO*SetConfigParameter()elConligPPuc. 142. Проектирование компонента в нотации Буча с помощьюCASE-системы Rational RoseНазначим расположение IUnknown в заголовочном файле предварительной компиляции. Создадим абстрактный класс интерфейсаIDriveControl, унаследованный от IUnknown, в котором методы StartO,StopO, SetCommandPositionO, GetActualPositionO, SetConfigParameterO,GetConfigParameter() и SelfTestQ объявлены как чисто виртуальныефункции.Прототипом сервера служит класс CDriveServer, в котором объявленвложенный класс XDriveControl,реализующий функциональность интерфейса IDriveControl.

Построение интерфейса осуществляется путем переопределения в классе XDriveControl виртуальных функций Start(),StopO, SetCommandPositionO, GetActualPositionO, SetConfigParameterO,GetConfigParameterO и SelfTestO- Сам класс компонента CDriveServer должен быть унаследован от стандартного MFC класса CCmdTarget или егопотомка.Сгенерировав C++ проект с помощью Rational Rose, получим каркас,который остается заполнить функциями компонента, реализующими функциональность СОМ-интерфейса.Глава 4. Технологии разработки программного обеспечения систем управления2294.4.6.

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

Это означает,что можно запустить ЧПУ-эмулятор (включая процесс интерполяции) наопределенное время, после чего он приостановит свою работу, пока не получит очередную порцию времени от графического эмулятора. Графические эмуляторы распространяются как коммерческие продукты.

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

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

Тип файла
PDF-файл
Размер
5,83 Mb
Тип материала
Высшее учебное заведение

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

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