Сосонкин_Системы_ЧПУ (1087166), страница 33
Текст из файла (страница 33)
Например, приводкоординатной оси определяется своим уникальным идентификатором всистеме, именем, статическим состоянием (работает в системе или нет),типом (линейный или поворотный), текущим значением координаты, максимальным и минимальным ограничителями и т.д. (рис. 114).Класс привода координатной осиДанные• уникальный идентификатор,• имя,• статическое состояние,• тип,• текущая координата,• максимальный и минимальный ограничителиМетоды••••толчковое перемещение,выход в заданную точку,ускоренное перемещение,рабочий ходРис. 114. Пример прототипа классаМетоды привода координатной оси устанавливают такие функциональные возможности, как толчковое перемещение, выход в заданную точку,ускоренное перемещение, рабочий ход и т.д.4.1.4.
Структура программного обеспечениясистемы управленияОбъекты системы управления играют троякую роль: I) содержат данные, определяющие свойства объекта; 2) обладают некоторыми функциональными свойствами; 3) обеспечивают презентацию объекта в интерфейсе оператора [69]. При этом возможна проблема интеграции сложившихся объектов с разными модификациями программных пакетов,соответствующих, например, вариантам реализации электроавтоматики илипривода подачи.Новая концепция Microsoft Windows DNA (Distributed IntraNetApplication -распределенное сетевое приложение) предлагает решение наоснове трехуровневой архитектуры, в которую полностью интегрированыобъекты системы управления (рис.
115). Windows DNA выделяет: клиент-•\ 8 6В.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управленияУровеньпредставленияПромежуточныйслоиУровеньдоступа кданнымРис. 115. Трехуровневая архитектура Windows DNAскую часть, осуществляющую представление данных; серверную часть,поставляющую данные, и некоторый промежуточный слой, снимающийпрямую зависимость клиентской части отданных.Таким образом, можно изменять данные без прямого влияния на кодуровня представления. Более того, промежуточный слой может реализовать логику управления различными клиентскими приложениями, что приведет к увеличению объема повторного использования кода. Межуровневый интерфейс использует компонентный подход, а сами уровни имеютобъектно-ориентированную реализацию.Внедрение Microsoft DNA технологии в системы управления создаетплатформу объектов, которая напрямую может быть использована для решения разнообразных других проблем, таких, как управление потокамиматериалов, контроль качества, планирование производства.4.1.5.
Инструментальная поддержка объектноориентированного проектирования и формализм БучаИнструментальные CASE-системы (Computer-Aided Software Engineering)ускоренной разработки программного обеспечения построены на различных нотациях представлений объектно-ориентированных моделей. Однойиз самых распространенных и удачных является нотация Буча [70,71].Фрагмент нотации Буча рассмотрим на примере диаграммы, котораяотображает классы и их отношении, тем самым раскрывая логику проекта. Класс обозначают в виде облака, в котором представлены имя, атрибуты (данные) и операции (методы) класса. Тип видимости атрибута или операции отображается соответствующей пиктограммой.Абстрактный класс обозначают буквой «А» в треугольнике.
Наследование показано стрелкой, направленной от производного класса к родительскому. Линии с точкой на одном конце обозначают отношение междуклассами. Если это отношение включения (агрегации), то линия заканчивается квадратиком. Квадрат закрашен, если включение осуществлено позначению, и не закрашен, если включение осуществлено по ссыпке. В качестве примера на рис. 116 в классе CDrive добавим поле m_Name, соответствующее имени привода. Стандартный класс CString библиотеки MFCобладает набором функций для хранения и работы со строковыми массивами, поэтому он был использован как тип поля m_Name.Глава 4.
Технологии разработки программного обеспечения систем управления-| 8 7ч/CDrive\^,4>m_State: unsigned longУCString> m_Name /^>m_Mode: unsigned long'^•* 4+m Name : CString !(from"SimpleValae Types)- ^s*Start(): bool,v_-'~^•StopQibool/ ^CDigitleDrive•Start(): bool*Stop(): bool{-Jf^SelfTest(lndex: long): long \\,•»'^/Рис. 116. Обозначение классаДля полного описания объектноюриентированной модели нотация Бучаиспользует диаграммы:• взаимодействия для описания взаимодействующих групп объектов;• состояний и переходов для описания возможных состояний объектов и действий при изменении состояний;• модулей для распределения классов и объектов по модулям;• процессов для распределения задач по физическим устройствам ипроцессорам, обеспечивающих работу системы.Диаграмма взаимодействия показывает объекты и сообщения, которыми они обмениваются между собой в рамках некоторого конкретного механизма, и позволяет проследить выполнение сценария работы механизма.
Диаграммы взаимодействия полезны при описании поведения нескольких объектов в рамках одного варианта использования.Диаграмма состояния определяет состояния, в которых может находиться конкретный объект; события, инициирующие переход из одного состояния в другое; действия, инициируемые изменениями состояний. Этидиаграммы используют для анализа поведения отдельных классов при ихвзаимодействии и динамики системы в целом.Диаграмма модулей демонстрирует архитектуру системы в ее слоях иразделах. Набор модулей показывает структуру проекта. Модулю главнойпрограммы сопоставлен файл с расширением *.срр, содержащий основную функцию main() или WinMain() для Windows.
Модулю описания соответствует файл заголовков с расширением *.h, в котором объявляются клас--| 88"••"• Сосонкин, Г.М. Мартинов. Системы числового программного управлениясы. Модулю тело.соответствует файл с расширением *.срр, в котором представлены классы. Модулю подсистемы соответствует библиотека на языкеC++.
В подсистеме размещены логически связанные модули описания имодули тела.Диаграмма процессов представляет физическую совокупность процессов и устройств, обеспечивающих работу системы.Формализм Буча нашел свое отражение в популярной CASE-системеRational Rose. Система предполагает применение формализма Буча на этапе анализа и проектирования объектно-ориентированной модели. На основе модели генерируются исходные C++ коды, после чего программистуостается придать сгенерированным классам необходимые функциональные возможности. Реинжиниринг (т.е. обратная генерация объектно-ориентированной модели из исходного кода) позволяет системе Rational Roseдобавлять в модель изменения, внесенные в C++ файлы.ЗаключениеОбъектно-ориентированная технология создает на базе классов и объектов хорошо структурированное модульное программное обеспечение, улучшает сохранность данных путем инкапсуляции, уменьшает сложность клиентского программного обеспечения за счет полиморфизма и увеличиваетнадежность программного кода с помощью наследования.
Технологияобъектно-ориентированного и компонентного подходов является единственно приемлемой при разработке сложного и объемного программного обеспечения систем ЧПУ мехатронными системами.4.2. Специфика объектно-ориентированногопрограммированияОбъектно-ориентированная модель системы PCNC структурирует архитектуру системы, делает программное обеспечениепрозрачным и повышает, следовательно, его надежность, упорядочивает процесс разработки, создавая предпосылки для формирования его среды. Рассмотренные элементы базовых абстракций, классы их объектной реализации, построенные на основеэтих классов механизмы служат основой для создания элементовсистемы ЧПУ более высокого уровня.
К числу таких элементов относятся каналы, оси, закрепленные за этими каналами, и т. д.Общая технология объектно-ориентированного программирования формирует универсальный подход к созданию программного обеспечения, ноне учитывает специфику каждой реализации.
Для раскрытия спецификиобъектно-ориентированного программирования системы ЧПУ типа PCNCГлава 4. Технологии разработки программного обеспечения систем управления189необходимы ее абстрактная модель, объектно-ориентированная модельобобщенного модуля, объектно-ориентированная модель отображения данных. Совокупность подобных моделей позволяет просмотреть ключевыефазы разработки программного обеспечения ЧПУ: анализ, проектирование, реализацию.4.2.1. Элементы абстрактной модели системы PCNCАбстрактная модель системы PCNC может быть представлена совокупностью данных, команд и процессов (рис. 117). В соответствии с объектно-ориентированным представлением каждый из элементов совокупностиопределяют наборами свойств и функциональных возможностей (функциональностей), причем содержательно функциональные возможности состоят в выполнении операций над элементами.
Выделение элементов позволяет строить единообразные механизмы для системы в целом и ееРеализация обменамежду модулямиРеализация режимовсистемыPCNCДанныеСвойства:идентификаторкоманды, списокпараметров,Функциональность:приоритетпроверить,выполнить,.Свойства;ТИП, размер,текущее значение.Функциональность.асинхронный запрос,синхронный запрос,цикличный запрос,форматирование,...ПроцессыСвойства:СПИСОК предшествующихопераций,Функциональность:текущее состояние подготовить, запустить,остановить,активизировать,завершить, восстановитьРеализация системыкоманд модулейРис. 117. Выделение элементов абстрактной модели системы PCISCВ.Л. Сосонкин, Г.М. Мартинов. Системы числового программного управлениякомпонентов.
Так, на базе элементов абстрактной модели выстроен межмодульный обмен данными, организованы базовые режимы, определенасистема команд PCNC. Характер межмодульных транзакций, т.е. сессийобмена данными, зависит от категории последних.К первой категории отнесли те данные, без которых выполнение определенных операций попросту невозможно. Сюда относятся все данные,необходимые для расчетов. Например, без знания табличного значения радиуса инструмента невозможно рассчитать эквидистантную коррекцию.Для получения подобных данных используют синхронную транзакцию:модуль, запрашивающий данные, приостанавливает свою работу до ихполучения.Во вторую категорию включили данные, использование которых в текущий момент некритично.