Сосонкин_Системы_ЧПУ (1087166), страница 35
Текст из файла (страница 35)
Мартинов. Системы числового программного управленияПо мере того, как уточняется структура классов, вырисовываются подробности диаграммы объектов.Разработанная нами объектно-ориентированная модель механизма отображения данных имеет пока одно ограничение - сервер и клиент работают с прям ыми указателями друг на друга. Скорость такого обмена данными очень высока, но сам обмен возможен только в пределах единого адресного пространства, т.е. в пределах одного потока Windows NT.
КлассCWrapReceiver, производный от CReceiver (см. рис. 119), решает проблему перехода границы потока путем разделения процедуры получения данных на две части:• посылка клиенту уведомления из другого потока о достоверностиданных;• прямой запрос данных со стороны клиента и приведение этих данных к стандартному типу CSaferyArray.Клиент подписывается на получение определенного типа данных асинхронным или циклическим способом, передавая при этом в качестве параметров идентификатор своего окна hWnd и идентификатор запроса данных. В соответствии с этими параметрами объект класса CWrapReceiver(оболочка) создается в потоке класса сервера данных и регистрируется всоответствующей очереди клиентов.
При обновлении данных вызываетсяпереопределенная виртуальная функция CWrapReceiver::UpdateValue().Эта функция уведомляет клиента через границу потока о достоверности данных посредством стандартных механизмов Windows SendMessageOили PostMessageO- Оконная функция обработки сообщения клиента получает данные посредством стандартного типа CSaferyArray.
Диаграммаобъектов описанного механизма представлена на рис. 122. С помощью механизма отображения данных можно решать практически все задачи обмена данными в системе PCNC, в том числе слежение за возникновениемошибок.ЗаключениеОбъектно-ориентированная модель системы PCNC структурирует ееархитектуру, делает программное обеспечение прозрачным и повышает,следовательно, его надежность, а также упорядочивает процесс разработки, создавая предпосылки формирования среды разработки. Рассмотренные элементы базовых абстракций, классы их объектной реализации,построенные на основе этих классов механизмы,-все это служит основой для создания элементов системы ЧПУ более высокого уровня.
К числу таких элементов относятся каналы, оси, закрепленные за этими каналами, и т.д.Глава 4. Технологии разработки программного обеспечения систем управления1975: DeleteClient (CReceiver&)3: UpdateValue (CAbstractWrapClient:CWrapReceiver i2: ASynchronRequest6: GetData (CTi ansfer&)II1:lnit(HWND, long)4: PostMessage (UINT,RemoteClient: CWnd ,Рис. 122. Диаграмма объектов, реализующихмеханизм отображения за границами потока4.3.
Методологические аспекты построенияоткрытых систем ЧПУОткрытость систем ЧПУ типа PCNC должна быть передана вруки конечных пользователей, которые являются потребителями систем. Одним из вариантов решения проблемы является построение модулей системы ЧПУ по типу открытых языковыхпроцессоров, что предопределяет регулярную архитектуру и конфигурируемую систему команд. Построение открытых языковыхпроцессоров на базе объектно-ориентированного подхода решает проблему совместимости модулей. Ряд проблем разработкиоткрытых систем PCNC может быть решен с помощью системных возможностей Windows NT. При этом возникает возможность использовать отлаженные решения и накопленный опыт,снизить затраты на разработку и повысить общую надежностьсистемы.Стандартные инструментальные средства должны быть также использованы для поддержания открытой архитектуры.
Ониформируют мощную подгруппу в окружении разработки систе-198ВЛ. Сосонкин, Г.М. Мартинов. Системы числового программного управлениямы PCNC, однако недостаточны Поэтому для формализованныхзадач необходимо создавать собственный инструментарий. Формирование окружения разработки позволяет предложить комплексное решение проблемы создания открытой системы ЧПУ. Приэтом конкретные решения закрепляются за отдельными фазамипроцесса разработки таким образом, что охваченным оказывается весь итерационный процесс разработки.Сегодня отсутствует методологическое решение проблемы построенияоткрытых систем ЧПУ.
Некоторые подходы обозначены проектами OSACA,ОМАК, OSEC, реально же открытость систем остается в руках производителей. И это при том, что неизменным лозунгом производителей является открытость на уровне станкостроителей и конечных пользователей[72]. В силу консервативности производители систем ЧПУ не готовы ких кардинальным изменениям.
В попытках придать открытость собственным системам преобладает элемент стихийности; производители, станкостроители и конечные пользователи различно трактуют сам термин «открытость».Продавая открытую систему, производители предполагают, что пользователь способен доработать систему соответственно своим требованиям.Но не каждая станкостроительная фирма в состоянии содержать программистов, работающих на стыке системного и прикладного обеспечения систем управления. Возникает проблема методологических аспектов построения открытых систем.
Речь идет о том, как формализовать хотя бы частьрутинной работы. Цель состоит в решении методологических проблем создания открытых систем PCNC, формировании единой интегрированнойсреды проектирования, разработке и поддержке проекта создания указанных систем. При этом интегрированная среда не должна препятствоватьэволюции любого компонента и включению новых компонентов, в том числе оригинальных средств разработки.Исследование методологических аспектов построения открытых систем PCNC потребовало решения таких задач, как формирование понятийного аппарата и представлений об открытых системах PCNC, разработкаключевых подходов к проектированию открытых систем PCNC и построению «окружения» процесса проектирования. При решении поставленныхзадач использовались: система PCNC по типу языкового процессора, стандартные средства операционной системы и инструментальных средств поддержания открытой архитектуры, оригинальные (вновь разработанные)средства поддержания открытой архитектуры.
Конечная цель состоит в том,чтобы сделать процесс разработки системы PCNC регулярным с учетомспецифики каждого экземпляра системы управления.Глава 4. Технологии разработки программного обеспечения систем управления•) g g4.3.1. Понятийный аппарат открытых систем ЧПУОпределим понятия, имеющие отношение к проектированию прикладной компоненты открытой системы PCNC.
Самым общим является проект, содержащий информацию обо всех модулях системы PCNC и схемеих размещения в ней. Часто проект описывают dsw-файлом для MS VisualC++ и pjt-файлом для CASE-системы Rational Rose, но это не обязательно.К примеру, система MS Source Safe поддержки проектов хранит их в общей базе данных. Обычно модули системы PCNC представлены в видеподпроектов, что позволяет вести параллельную их разработку и сосредоточиться на отдельных функциональных особенностях.Другим ключевым понятием является «документ». Он содержит данные, которые могут быть параметрами, характеризующими рабочий процесс, например текущие позиции осей.
Документ сопоставлен модулю иликаналу системы PCNC и хранит соответствующие значения данных. Последние могут быть представлены в различных видах. Представление (вид)документа PCNC системы - это экран интерфейса, где одни и те же данные могут иметь отображения в графическом или текстовом виде.Приведем далее терминологию «окружения» проекта. В процессе разработки открытой системы PCNC выпускают версии для тестирования,адаптации у заказчика и т.д., которые называют релизами (releases). Релизверсии оптимизированы по быстродействию и объему выполняемого кода.Кроме того, существуют отладочные (debug) версии проекта, которые содержат отладочную информацию. В случае обнаружения ошибки в проекте отладочная версия позволяет трассировать программы, отслеживать значения локальных и глобальных переменных, просматривать стек вызовафункций и конкретную область памяти (dump) для выявления причиныошибки.Маркетинговая политика породила новый способ распространения программного обеспечения - с отложенным платежом.
Существует бесплатная shareware версия; как правило, это неполно функциональная версияпродукта, которая позволяет лишь ознакомиться с возможностями приложения. Ключ полного доступа потребитель получает после полной оплаты. Shareware-версия для открытой системы PCNC может быть использована только по отношению к отдельным программным модулям, являющимся автономными законченными приложениями (например, редакторNC-кодов).Документация проекта - важный этап процесса разработки, который,тем не менее, не является самоцелью [74]. Документация отражает архитектуру и реализацию системы или ориентирована на конечного пользователя и включает инструкции по установке и эксплуатации релизов. Документация должна эволюционировать вместе с проектом.200".Я Сосонкин, Г.М.
Мартинов. Системы числового программного управления4.3.2. Представление о системе PCNC как об открытойсистеме управленияПосмотрим, как решается проблема открытости в существующих системах.Открытость в системе Andronic (Andron) подразумевает настройку интерфейсапользователя для поддержания его собственного технологического процесса.Подобная настройка осуществляется с помощью инструментального языка,который является, по сути, генератором специальных САМ-систем. Другие функции недоступны ни станкостроителям, ни конечным пользователям.Открытость системы Typ3osa (Bosch) состоит в предоставлении пользователю широкого и открытого набора API-функций (Application ProgrammingInterface).