Смекни!
smekni.com

Технологическая реализация системы подготовки обработки детали станка с числовым программным управлением (стр. 8 из 17)

Начинается главный модуль словом "program", за которым следует имя программы, совпадающее с именем проекта. Имя проекта задается в момент сохранения проекта, и оно определяет имя создаваемого компилятором исполняемого файла программы. Далее за словом "uses" следуют имена используемых модулей: библиотечного модуля "Forms" и модуля формы "vrunl.pas" [13].

Строка "{$R *.RES}" — это директива компилятору подключить файл ресурсов. Файл ресурсов содержит ресурсы приложения: пиктограммы, курсоры, битовые образы и др. Звездочка показывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением "res".

Файл ресурсов не является текстовым файлом, поэтому просмотреть его с помощью редактора текста нельзя. Для работы с файлами ресурсов используют специальные программы (например "Resource Workshop").

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

Для разрабатываемого программного модуля необходимо создать 17 форм. При запуске программного модуля на экране будут отображаться только два из них, остальные будут вызываться при необходимости.

Основным окном проекта будет первое, появившееся при создании проекта, остальные окна будут присоединенными к проекту. Присоединение новых форм к проекту происходит по средствам команды "ShowMessage". По средствам этой же команды происходит и вывод любых нестандартных диалоговый окон (стандартные диалоговые окна выводятся с помощью команды "MessageDlg", с рядом настраиваемых параметров, таких как набор кнопок, выводящееся сообщение и маркер).

Технология программирования в Delphi основана на интуитивно понятном принципе. В начале строится интерфейс пользователя, заполнением формы различными стандартными компонентами с помощью мыши. Большинство визуальных параметров компонентов настраивается в "инспекторе объектов" (рисунок 8).

Рисунок 8 - Инспектор объектов

Он состоит из двух вкладок: "properties" и "events". На вкладке "properties" настраиваются такие параметры как заголовок, габариты, положение на форме, наполнение при запуске, видимость и множество других параметров. На вкладке "events" описываются события (результат действий, которые можно произвести над объектом). С помощью событий реализуются почти все обработчики данных.

Модуль состоит из следующих разделов: интерфейса, реализации, инициализации.

Раздел интерфейса (начинается словом "interface") сообщает компилятору, какая часть модуля является доступной для других модулей программы. В этом разделе перечислены (после слова "uses") библиотечные модули, используемые данным модулем. Также здесь находится сформированное Delphi описание формы, которое следует за словом "type".

Раздел реализации открывается словом "implementation" и содержит объявления локальных переменных, процедур и функций, поддерживающих работу формы. Начинается раздел реализации директивой "{$R *.DFM}", указывающей компилятору, что в процессе генерации выполняемого файла надо использовать описание формы. Описание формы находится в файле с расширением "dfm", имя которого совпадает с именем модуля. Файл описания формы генерируется средой Delphi на основе внешнего вида формы. За директивой "{$R *.DFM}" следуют процедуры обработки событий для формы и ее компонентов. Сюда же программист может поместить другие процедуры и функции.

Раздел инициализации позволяет выполнить инициализацию переменных модуля. Инструкции раздела инициализации располагаются после раздела реализации (описания всех процедур и функций) между "begin" и "end". Если раздел инициализации не содержит инструкций, то слово "begin" не указывается.

Для того чтобы в процессе набора текста программы воспользоваться шаблоном кода и вставить его в текст программы, нужно нажать комбинацию клавиш "<Ctrl>+<J>" и из появившегося списка выбрать нужный шаблон. Выбрать шаблон можно обычным образом, прокручивая список, или вводом первых букв имени шаблона (имена шаблонов в списке выделены полужирным).

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

Рисунок 9 - Формы, появляющиеся при запуске программного модуля

Еще одна форма, появляющаяся при запуске программного модуля осуществляет накопление данных. Накопление данных происходит с помощью массива, который записывается в текстовый файл и читается из него по средствам элемента "Grid" (сетка таблицы). Этот элемент не обязателен для отображения, но важен для работоспособности программы в целом, поэтому ее можно сделать невидимой. Эта форма содержит также главное меню, по средствам которого происходит вызов форм для заполнения исходных данных.

Еще одной важной задачей сетки "Grid", является оперативное хранение введенных данных и позволяет осуществить реализацию постпроцессирования. Редактор кода выделяет ключевые слова языка программирования ("procedure", "var", "begin", "end", "if" и другие) полужирным шрифтом, что делает текст программы более выразительным и облегчает восприятие структуры программы (рисунок 10).


Рисунок 10 - Редактор кода программы

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

Остальные формы отвечают за удобный ввод данных (параметры заготовки, инструмента, операций обработки, настройка технологических параметров и т.д.). Некоторые параметры требуют математических расчетов. Delphi со стандартными настройками может производить только самые простые математические действия. Чтобы вводить тригонометрические функции, а также сложные алгебраические действия необходимо подключить дополнительный модуль Delphi"Math". Сделано это для того, чтобы не загружать компилятор лишними данными и упростить программу, если она таких вычислений не требует. Модуль "Math" необходимо ввести в строку "Uses" редактора кода.

Из всех настроек можно выделить настройку самого постпроцессора для перевода в Lisp. Так как этот постпроцессор создает файл для пакета 3D моделирования, то параметры, выведенные в этот файл влияют на качество полученной модели. Модель в данном случае строится по направляющей и большому количеству сечений. При таком способе построения качество модели зависит от количества созданных сечений, и от качества каждого сечения в отдельности. Тут необходимо найти компромисс между качеством производительностью. Чем больше кривизна поверхностей модели, тем больше сечений надо, для получения качественной модели, но слишком большое количество сечений в свою очередь может перегрузить процессор даже достаточно мощного компьютера, что также не допустимо. На качество каждого сечения влияет количество элементарных отрезков и дуг, из которых оно состоит. Тут также слишком малое количество элементарных частей может привести к значительным отклонениям от действительных размеров, а слишком большое их количество может привести к математическим аномалиям (длина отрезка равна нулю или дуга образует внутреннюю петлю) [27].

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

Весь проект Delphi сохраняется в специально созданном для этого каталоге. В подкаталогах главного каталога сохраняются пользовательские файлы, на которые ссылается программный модуль (набор картинок, текстовые файлы, содержащие массивы данных, дополнительные библиотеки данных). Для проверки работоспособности программного модуля, в Delphi есть достаточно большой объем инструментальных средств. Это пошаговые компиляторы и отладчики с широким набором функций проверки правильности кода и т.п. При запуске программы на проверку, Delphi автоматически компилирует программный модуль в исполняемый файл (рисунок 11).


Рисунок 11 - Программный модуль

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

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