Программное обеспечение

 

5.1 Общесистемное программное обеспечение

 

Программное обеспечение САПР подразделяют на базовое, общесистемное и прикладное:

- Общесистемное программное обеспечение предназначено для организации функционирования технических средств.

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

- В прикладном программном обеспечении реализуется математическое обеспечение для непосредственного выполнения проектных процедур.

Операционная система (ОС) является основой общесистемного программного обеспечения и обеспечивает функционирование комплекса технических средств подсистемы и выполнение им компонентов программного обеспечения. ОС также, выполняя функции интерфейса между программами и оборудованием, обеспечивает эффективное использование разнообразных функциональных возможностей отдельных компонентов технического обеспечения. [1]

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

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

Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач:

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

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

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

Алгоритм управления процессором в значительной степени определяет, является ли ОС системой разделения времени, системой пакетной обработки или системой реального времени.

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

По числу одновременно выполняемых задач операционные системы разделены на два класса:

- однозадачные (например, MS-DOS, MSX);

- многозадачные (OC EC, OS/2, UNIX, Windows 95,98,Me /NT/2000/ХР).

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

Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.

По числу одновременно работающих пользователей ОС делятся на:

- однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

- многопользовательские (UNIX,Linux, Windows 2000,Windows XP).

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

Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).

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

В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

На свойства операционной системы непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отражается на специфике операционных систем. В конечном итоге выбор на платформе win32 - соответствуют операционные системы Windows 98, Windows XP, Windows 2000. Для разработки подсистемы: «Разработка библиотеки типовых элементов для нефтегазового оборудования» выбираем в качестве общесистемного программного обеспечения – Windows XP. Выбор данной операционной системы обусловлен несколькими факторами:

- Функциональность. Выбранная ОС обладает достаточной функциональностью для комфортной работы в среде КОМПАС 3D LT V8.

Надежность. Обеспечивается повышенная защищенность данных. Кроме того, Windows XP работает значительно стабильнее Windows 98.

 

5.2 Базовое программное обеспечение

 

5.2.1 Язык программирования Delphi

В качестве базового программного обеспечения наиболее подходящим, универсальным, распространённым и удобным для написания программ такого класса – является среда программирования "Delphi 7". Она совмещает в себе удобные и простые методы программирования портов ввода/вывода, работы с визуальными компонентами, а так же гибкое средство оптимизации и распределения памяти, что является немаловажным фактором, влияющим на скорость и качество работы программы. Данная среда программирования является более изученной, так как к ней разработано большое количество документации на русском языке, она наиболее проста и понятна.

Также в системе Delphi 7 используется специализированная, постоянно совершенствуемая версия языка программирования Паскаль. Эта версия включает набор расширений, ориентированных только на применение в рамках среды Delphi 7 и предназначен для ускоренного создания приложений.

В комплект системы Delphi 7 входит компилятор командной строки dcc 32.exe для этого языка. Кроме того, выполнять компиляцию можно непосредственно из интегрированной оболочки.[5]

 

5.2.2 Программный пакет КОМПАС – 3D V8

Программный пакет КОМПАС - 3D LT 8 представляет собой систему автоматизированного проектирования (САПР) общего назначения, ориентированную, в первую очередь, на предприятия машиностроительной отрасли.

В настоящее время КОМПАС - 3D LT 8 состоит из четырех подсистем – чертежно-конструкторского редактора КОМПАС – ГРАФИК, редактора трехмерных твердотельных моделей КОМПАС - 3D, редактора текстовых документов и редактора спецификаций (возможна поставка системы без этого редактора). Все подсистемы функционируют в составе единой программной среды. КОМПАС 3D LT 8 запускается как обычное приложение Windows.

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

Кроме непосредственного выполнения чертежей деталей, в КОМПАС – ГРАФИК предусмотрены средства для работы с компонентами оформления чертежей – основной надписью (штампом), техническими требованиями, спецификацией на сборочных чертежах.

Подсистема КОМПАС 3D предназначена для создания трехмерных параметрических моделей деталей и сборок (изделий, состоящих из нескольких деталей). Информацию о трехмерных моделях КОМПАС 3D можно в стандартных форматах передавать в другие расчетные пакеты (например, для вычисления прочностных характеристик деталей) и в пакеты разработки управляющих программ для оборудования с ЧПУ(числовое программное управление). КОМПАС 3D позволяет вычислять геометрические и массо - центровочные характеристики моделей.

КОМПАС 3D тесно связана с подсистемой КОМПАС – ГРАФИК, т.к. для создания трехмерных моделей часто приходится рисовать фрагменты чертежей. Например, для создания трехмерных моделей можно нарисовать эскиз с изображением некоторого сечения детали, а затем подвергнуть его стандартным операциям, таким, как выдавливание или вращение. Благодаря интеграции КОМПАС 3D и КОМПАС – ГРАФИК обеспечивается обмен информацией между файлами конструкторских документов и трехмерными моделями. На основе моделей деталей и сборок КОМПАС 3D позволяет создавать заготовки чертежей с различными видами деталей, на которые пользователь должен будет проставить размеры. Эта возможность существенно упрощает создание чертежей, в частности, изометрических проекций деталей.

КОМПАС 3D LT 8 разработан специально для операционной среды MS Windows и в полной мере использует все ее возможности и преимущества для предоставления пользователю максимального удобства и комфорта в работе.

В ОС Windows и во многих других современных ОС поддерживается модульность приложений на уровне ОС. Один из таких подходов – применение динамически загружаемых библиотек. Приложение состоит из некоторого множества исполняемых файлов. Конечно, есть головной EXE – файл, запускаемый пользователем, а так же может быть несколько файлов динамически библиотек (обычно с расширениями *.DLL). Эти библиотеки содержат функции, доступные для вызова из различных приложений. Загрузка и выгрузка DLL из оперативной памяти выполняется операционной системой без вмешательства приложения. Несколько приложений могут одновременно пользоваться одной и той же динамической библиотекой. Такое использование функций называется динамической компоновкой.

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

КОМПАС-МАСТЕР – это ориентированный на прикладного программиста инструментальные средства разработки дополнительных модулей (прикладных библиотек и приложений) для программного пакета КОМПАС 3D LT 8.

КОМПАС 3D LT 8 включает в себя набор библиотек DLL, в которых реализована функциональная часть системы для работы с моделью чертежа, математические функции с реализацией различных алгоритмов вычислительной геометрии, различные функции для формирования и обработки чертежей. В исполняемом файле КОМPASW.EXE реализован пользовательский интерфейс системы, а по мере необходимости для выполнения команд пользователя вызываются необходимые функции из различных DLL.

В состав КОМПАС-МАСТЕР входят заголовочные модули для основных DLL, входящих в состав КОМПАС 3D LT 8. Общее количество импортируемых функций – около 300, их можно вызывать из программ на С++ и Delphi.[15]

Для разработки программы в Delphi с использованием функций DLL требуются два файла: заголовочный модуль*.dcu с описанием библиотечных функций в разделе реализации и файл *. dll с реализацией библиотечных функций. При сборке проекта компилятор оформляет вызов в соответствии с описанием функций, а компоновщик добавляет в исполняемый файл код функции из раздела организации заголовочного модуля.

Функция же сама по себе сложных действий не выполняет, она организована таким образом, что либо загружает DLL и вызывает из нее соответствующую функцию, либо, если DLL загружен, вызывает из нее функцию сразу. Библиотека DLL (файл *. dll) может присутствовать на ПК в единственном экземпляре – либо в каталоге по WINDOWS\SISTEM, если пользователей у этой DLL очень много, либо в каталоге основного пакета, если она используется только этим пакетом и его дополнительными модулями.

 

5.2.3 Текстовый процессор Microsoft Word

Word – наиболее используемое и, быть может, наиболее мощное приложение из семейства Office.

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

Набор и оформление текста, а также создание таблиц и изображений векторной графики, осуществлялось в Microsoft Word, который обладает следующими возможностями:

- выделение абзацев;

- автоматический перенос слова;

- изменение границ текста;

- автоматическая проверка орфографии и грамматики;

- создание таблиц;

- вставка в документ графического изображения (рисунков);

- вставка и поддержка работы с математическими формулами;

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

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

Word предоставляет огромные возможности по изменению внешнего вида документов, но его основная функция – помогать пользователю в создании документов. Word позволяет работать с несколькими документами, т.е. можно одновременно открыть несколько документов и при необходимости, переходить из одного в другой производя определенные поправки.[13]

 

5.2.4 Графический редактор PowerPoint

Microsoft PowerPoint является одним из приложений MS Office. На сегодняшний день PowerPoint - лучший программный продукт для создания презентаций. И небезосновательно. PowerPoint создаст яркие, профессионально выполненные показы слайдов, а также электронные презентации. Помимо основных возможностей создания и редактирования базовых макетов слайдов, он позволяет оживить презентацию множеством специальных мультимедийных эффектов и анимации.

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

Документ PowerPoint является презентацией, если даже он ничего пока никому не представляет. Показ слайдов отображает слайды презентации один за другим, не задействовав инструменты на экране, которые были использованы для разработки презентации

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

 

5.3 Прикладное программное обеспечение

 

Исходная программа, написанная в среде Delphi, всегда состоит из проектного файла и нескольких модулей, каждый из которых размещается в отдельном текстовом файле. Файл проекта начинается словом Program и размещается в файле с расширением.dpr. Все остальные модули являются подчиненными и начинаются, словом Unit. Такие модули размещаются в файлах с расширением.pas. Файл проекта и модули заканчиваются оператором End, после которого ставится символ "точка".

Всякий модуль и файл проекта могут использовать другие модули, к числу которых могут относиться текстовые файлы, res- и dfm-файлы ресурсов или откомпилированные файлы Unit-модулей. Ссылка на необходимые к использованию модули содержится в секциях Uses. Текстовые или скомпилированные файлы обычно содержат необходимые для использующего их модуля величины – константы, типы, переменные, процедуры и функции. Файлы ресурсов необходимы для подключения констант, описывающих используемые внешние ресурсы.

Вышеперечисленные файлы, размещенные в *.pas-, *.dcu-, *.res-, *.dfm-файлах, играют вспомогательную роль: они предназначены для компиляции и последующей сборки в полноценный программный модуль – exe-файл, готовый к исполнению на компьютере.

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

Модуль имеет следующую структуру:

Unit <имя>;

Interface

<интерфейсная часть>

Implementation

<выполняемая часть>

Initialization

<блок инициирования>

Finalization

<блок завершения>

end.

Раздел Interface модуля Unit предназначен для описания внешних компонент: используемых модулей, типов, констант, переменных, заголовков процедур и функций.

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

Всякий модуль может содержать блок инициирования и блок завершения. Эти блоки располагаются в нижней части модуля, непосредственно примыкая к последнему оператору end. Первый блок начинается словом initialization, второй – словом finalization.

Блок инициирования initialization заканчивается последним оператором end модуля либо, при наличии блока завершения, продолжается до слова finalization.

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

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

Если несколько модулей имеют блоки инициирования, то они выполняются в том порядке, в котором имена модулей располагаются в списке Uses головной программы. Если несколько модулей содержат блоки завершения, то они выполняются в порядке, противоположном порядку перечисления модулей в списке uses головной программы.[6]

Программа состоит из следующих модулей:

Модуль Global.pas – объявляет глобальные переменные и модули, включаемые во все модули RTW - библиотеки.

Модуль uObmenObj.PAS –осуществляет описание классов для хранения параметров размеров и параметров рисования детали теплообменник.

В данном модуле формируются флаги, образующие битовую маску параметров рисования теплообменника и допустимые виды детали: главный вид, вид сбоку, вид сверху.

Класс "Теплообменник" способен выполнять построение чертежа детали в соответствии с параметрами, хранящимися во внутреннем объекте parms. Если объект создается при включенном в КОМПАС-ГРАФИК режиме

редактирования макроэлемента, то содержимое объекта parms загружается из макроэлемента. В деструкторе выполняется удаление объекта parms.

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

Класс параметров размеров и параметров рисования теплообменников осуществляет копирование значений полей из другого объекта TObmen_Parms и возвращает ресурсный идентификатор векторного слайда или 0 в случае ошибки.

Формирование временной группы с изображением теплообменника согласно параметрам parms осуществляется документе iDoc. Эта группа состоит из макроэлемента-теплообменник. Дескпритор группы возвращается как значение функции, а дескриптор макроэлемента - в параметре refMacro.

При создании макроэлемента в группе вариантного отображения необходимо указывать в качестве параметра ksMacro значение 0 (в макроэлемент объединяются элементы текущего слоя). Иначе не удастся добавить поддержку характерных точек.

Модуль uObmenHP.pas - TObmen_HP класс детали теплообменник с поддержкой интерфейса характерных точек.

Заголовочным модулем с описанием интерфейса характерных точек является ILibHPObject. Индексами характерных точек теплообменников будут: диаметр, длинна, точка привязки, угол поворота.

Методами, обеспечивающими, функциональность интерфейса ILibHPObject являются запросы:

- запрос текущего положения, текста и курсора характерной точки и реакция на изменение положения характерной точки;

- запрос текста для отображения рядом с указателем мыши в процессе перетаскивания характерной точки;

- запрос контекстного меню данного библиотечного элемента-теплообменника.

В интерфейсе "Пользовательский параметр", в виде которого надо оформить ссылку на динамический массив, происходит получение очередной записи из динамического набора, с которым связана запись resRecord. Значения полей очередной записи возвращаются в массив, ссылка на который передается в параметре iParm.

Формирование условия для динамического набора на выборку происходит в записи для заданного диаметра (для этого при описании resRecord первому полю было присвоено имя d).

Модуль uDialog – осуществляет вывод на экран диалоговой формы теплообменника.

Здесь происходит формирование строки со значением диаметра d (целое или вещественное число с одним знаком после запятой). Запоминание вида детали, выбранного с помощью кнопок зависимой фиксации.

В конструкторе выполняется заполнение выпадающего списка значений диаметров теплообненника значениями из базы данных. Задание параметров теплообменника из объекта dataBuf выполняется синхронизация состояния элементов управления окна с новыми значениями параметров теплообменника.

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

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

Для извлечения параметров теплообменника с диаметром d из базы данных и запоминанием их в объекте parms, следует учитывать свойства, указанные пользователем ранее с помощью элементов управления, например, мелкий/крупный шаг (эти свойства были запомнены в виде флагов в поле parms.flags).

Нажатием кнопки "Помощь" открывается файл справки или выдается сообщение об ошибке, если этот файл отсутствует.

Модуль uConst.pas – осуществляет определение кодов констант прикладной библиотеки (для включения в модули проекта).

В данном модуле содержатся идентификаторы библиотеки:

- Идентификаторы слайдов;

- Идентификаторы команд для командного окна, выводимого в процессе размещения теплообменника на чертеже;

- Идентификаторы меню, команды которых выводятся в командном окне в процессе размещения теплообменника на чертеже;

- Идентификаторы курсоров для работы с характерными точками.

Модуль Obmen.RC – файл ресурсов прикладной библиотеки. Является модулем обрисовки теплообменника в программе КОМПАС.

Модуль Obmen.dpr – главный модуль проекта RTW – библиотеки для рисования детали теплообменник.(см. Приложение А)

В функции каркаса RTW-библиотеки происходит возврат идентификатора библиотеки и осуществляется процедура точки входа в RTW-библиотеку.

В качестве главного окна приложения на время выполнения команд библиотеки, задается главное окно КОМПАС, это обеспечивает принадлежность диалоговых окон прикладной библиотеки.

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

Процедура каркаса RTW-библиотеки: возврат интерфейса типа idType, при idType =1 функция должна вернуть указатель на объект, реализующий интерфейс характерных точек ILibHPObject применительно к элементу чертежа, который был построен посредством команды библиотеки. Обычно этот запрос происходит при выделении элемента на чертеже щелчком мыши.

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

 

5.4 Руководство программиста

 

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

Теперь запустите Delphi, и командой Project → Options вызовите окно параметров проекта и выполните следующие изменения:

- задайте в качестве расширения имени библиотеки RTW, а не DLL. На закладке Application в строке Target file extension введите rtw.

- укажите местоположение заголовочных модулей. На закладке Directories/Conditionals в строку Search path добавьте (не удаляя предыдущее содержимое этой строки) путь к папке Teploobmennik → RTWExamples → AppTools.

- задайте местоположение промежуточных и окончательных результатов компиляции. На закладке Directories/Conditionals в строках Output directory и Unit output directory введите путь к созданной ранее папке Teploobmennik → RTWExamples → Proekt → DCU. Путь обязательно должен быть абсолютным, иначе в Delphi отладка DLL будет недоступна.

- отключите выравнивание полей записи. На закладке Compiler в блоке Code generation отключите флажок Aligned record fields.

Теперь запустите КОМПАС 3D LT V8, выберете в нем команду Сервис→ Подключить библиотеку. В появившемся окне вы открываете папку Teploobmennik → RTWExamples → Proekt → DCU. В строке меню выберете Библиотеки и открываете библиотеку «Теплообменники».

При доработке и усовершенствовании библиотеки необходимо:

- написать требуемый модуль;

- подключить его к главному модулю программы;

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

Просматривая содержимое папки библиотек, можно заменить вложенные папки LOAD и файлы*.LOA. это текстовые файлы, в которых прикладные библиотеки хранят таблицы параметров стандартных деталей. Это позволяет при необходимости расширить или исправить список параметров деталей, не изменяя самой прикладной библиотеки.

 




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: