Рефераты
 

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

p align="left">Одним из первых методов автоматизации разработки постпроцессоров стало обобщение информации об использовании одной и той же системы с ЧПУ вместе со станками различных производителей, по принципу обработки (например, токарная, фрезерная и т.д.). Это оказалось возможным, в связи с тем, что управляющие программы для таких станков, "вооруженных" однотипной системой с ЧПУ, различались в лучшем случае незначительными вариациями в оформлении структуры кадра, значностью перемещений, оформлением начала и конца программы. Поэтому вскоре начали обобщать алгоритмы разработки постпроцессоров на однотипное оборудование разных фирм, но имеющее одну и ту же систему с ЧПУ.

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

В результате, в разы сократились сроки, стоимость и трудоемкость разработки нового постпроцессора, существенно снизились издержки фирм-разработчиков постпроцессоров и их заказчиков. Этот метод оказал сильное воздействие на конкурентную борьбу между производителями CAM-систем в мире. Кроме того, некоторые фирмы продавали именно "обобщенные постпроцессоры" на 5-10 станков с одной системой с ЧПУ по цене одного индивидуального, что было выгодно их клиентам и чрезвычайно невыгодно фирмам-конкурентам, еще не освоившим эту технологию.

Небольшое число современных CAM-систем до сих пор используют в своем составе обобщенные постпроцессоры.

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

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

Постпроцессор соотносит каждой записи CLDATA-файла алгоритм ее превращения в кадр управляющей программы, и сохранить эти правила отдельно для каждого станка-системы ЧПУ в виде файла. Именно это дало возможность создать один универсальный постпроцессор как машину, транслирующую каждую запись CLDATA-файла в кадры управляющей программы по правилам, которые можно подгружать из внешних файлов.

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

Эта идея, заимствованная из методов построения трансляторов с настраиваемой лексикой и семантикой, получила шилокое развитие на рубеже 90-х годов прошлого века. Подавляющее большинство CAD/CAM-систем используют сегодня именно такой метод для решения проблем постпроцессирования.

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

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

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

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

2. Разработка системы подготовки обработки детали станка с ЧПУ

2.1 Функциональная модель системы подготовки обработки детали станка с ЧПУ

Для создания функциональной модели удобно пользоваться CALS системами. CALS - класс информационных технологий, направлен на обеспечение безбумажной поддержки жизненного цикла продукта. Предметом CALS является безбумажная технология взаимодействия между организациями заказывающими, производящими и эксплуатирующими тот или иной продукт, а также формат представления соответствующих данных. Доказав свою эффективность, CALS технологии начали активно применяться в промышленности, строительстве, транспорте и других отраслях экономики, расширяясь и охватывая все этапы жизненного цикла продукта - от маркетинга до утилизации. В данном случае необходима только та часть функций системы BpWin, работающей по CALS технологии, которая отвечает за построение функциональной модели [23].

Функциональная модель представляет собой структурированное изображение функций производственной системы или среды, информации и объектов, связывающих эти функции. Модель строится методом декомпозиции: от крупных составных структур к более мелким и простым.

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

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

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

Рисунок 2 - Нулевой уровень функциональной модели

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

Работа системы должна осуществляться на основании следующих документов:

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

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

- Санитарные нормы и правила (СНИП) по работе на шлифовальных станках содержит методологию по способам безопасного ведения обработки;

- Стандарт предприятия (СТП) предприятия на изготовление осевого режущего инструмента содержит всю технологическую базу по обработке данного инструмента, накопленную за все время его работы, а также возможные варианты решения спорных вопросов по конструкции изделия и технологии его обработки.

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

На первом уровне система разбивается два модуля (рисунок 3).

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

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

Рисунок 3 - Первый уровень функциональной модели

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

Работать с этим модулем должны технолог и наладчик станков с ЧПУ. Работа модуля основывается на техническом паспорте станка и СТП предприятия на изготовление осевого режущего инструмента. Результатом работы данного модуля является создание карты наладки и проверка результата обработки на аномалии (отклонение размеров от заданных, геометрия поверхностей, наличие зарезов, как на изделии, так и на оснастке).

На втором уровне, модуль расчета перемещений инструмента можно разделить на четыре этапа (рисунок 4).

Первый этап - это моделирование заготовки [4, 5]. На нем задаются параметры заготовки (размеры, геометрические особенности, вылет из патрона). Все это производится на основании технического паспорта станка и СТП предприятия на изготовление осевого режущего инструмента.

Рисунок 4 - Второй уровень функциональной модели

Заданием параметров занимается технолог, но в процессе работы параметры могут менять в определенных пределах наладчик станков с ЧПУ и оператор. После окончания ввода данных параметры заготовки в оцифрованном виде передаются на следующий этап. Следующий этап - моделирование наладки инструмента. В этом этапе задаются типы используемых кругов, их размеры и координатные привязки к системе координат станка. Профиль каждого круга должен быть поставлен в соответствие поверхности (или группе поверхностей) которую он обрабатывает, поэтому при подборе кругов и создании их наладки необходимо использовать данные чертежа изделия. При этом необходимо руководствоваться техническим паспортом станка, СТП предприятия на изготовление осевого режущего инструмента и СНИП по работе на шлифовальных станках. Вводом данных должны заниматься те же люди, что и на первом этапе. По результату этого этапа создается первая группа системных файлов, содержащих информацию об оснащении. Те же данные, что и в файле передаются на следующий этап. Третий этап - моделирование обработки. Самый важный этап, на котором создается траектория обработки. Траектория должна учитывать особенности технологического процесса, и применяемого инструмента. Ввод данных на этом этапе осуществляет только технолог. На этот этап оказывают влияние те же документы, что и на втором этапе. На этом этапе формируется группа системных файлов, содержащих информацию обо всех перемещениях инструмента и заготовки, та же информация передается на следующий этап. На трех выше перечисленных этапах при определенных условиях необходимо вводить поправки по результатам визуализации. Это сделано для того, чтобы система могла работать в условиях реального производства, где невозможно учесть всех случайностей, как то: отсутствие заказанного инструмента, отклонений заготовок, наличия оснастки и т.д. Последний этап - постпроцессирование. На этом этапе вся набранная системой информация преобразуется в управляющую программу системы ЧПУ. Преобразование осуществляется программистом на основании инструкции по программированию ЧПУ станка. Этап моделирования обработки в свою очередь можно разделить еще на два этапа (рисунок 5). Первый этап - анализ геометрии изделия. На этом этапе технолог производит настройку приложения для максимально объективного преобразования данных в графическую информацию. Сюда необходимо подать информацию об оснащении и об инструменте. Здесь технолог вводит все уточнения по конструкции изделия, которых не было в чертеже. Все уточнения вводятся на основании СТП предприятия на изготовление осевого режущего инструмента.

Рисунок 5 - Третий уровень функциональной модели

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

2.2 Алгоритм работы программного модуля

Обобщенный алгоритм работы программного модуля мехатронной системы станка с ЧПУ показан на рисунке 6.

Рисунок 6 - Алгоритм работы программы

Первым этапом работы с программным модулем является ввод исходных данных. Исходные данные должны включать геометрические свойства изделия, заготовки, инструмента, особенности технологии обработки, конструктивные особенности оснастки и так далее [4, 5, 6, 7, 8, 9, 10]. Все эти параметры должны вводиться в удобной для пользователя форме. Каждый из этих параметров должен вводиться отдельно друг от друга, но иметь определенные связи между собой. Связи обеспечивают создание ограничений на вводимые данные.

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

Траектории движений инструмента сохраняются в виде понятном только программному модулю. Чтобы заставить пакет 3D моделирования читать эти данные, их необходимо преобразовать в вид, понятный этому пакету. Затем эти данные запускаются на выполнение пакетом 3D моделирования.

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

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

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

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

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

За счет использования стороннего пакета 3D моделирования можно значительно упростить создание программного модуля, за счет исключения из программного кода акселераторов 3D графики, заменив их неявным использованием уже готовых функций пакета 3D моделирования [25].

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

2.3 Выбор программных средств реализации системы

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

Для создания модуля расчета лучше всего подойдет язык программирования Delphi.

Delphi - это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi - строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal [23].

Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению систем программирования, ориентированных на так называемую "быструю разработку", среди которых можно выделить Borland Delphi и Microsoft Visual Basic. В основе систем быстрой разработки (RAD-систем, Rapid Application Development - среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования, суть которой заключается в том, что среда разработки берет на себя большую часть рутинной работы, оставляя программисту работу по конструированию диалоговых окон и функций обработки событий. Производительность программиста при использовании RAD-систем возрастает в несколько раз.

Изначально среда разработки была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован также для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и, вскоре после этого, было объявлено о поддержке MicrosoftNET.

Delphi - результат развития языка Турбо Паскаль, который, в свою очередь, развился из языка Паскаль. Паскаль был полностью процедурным языком, Турбо Паскаль, начиная с версии "5.5", добавил в Паскаль объектно-ориентированные свойства, а в Object Pascal - динамическую идентификацию типа данных с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией. Данная технология получила обозначение RTTI.

Также отличительным свойством Object Pascal от "С++" является то, что объекты по умолчанию располагаются в динамической памяти. Однако можно переопределить виртуальные методы NewInstance и FreeInstance класса TObject. Таким образом, абсолютно любой класс может осуществить возможность расположения системных и исполняемых файлов в любом удобном месте. Соответственно организуется и "многокучность" [11].

Система ЧПУ станка Walter CIP6 создана фирмой Siemens. Фирма Siemens является одним из ведущих производителей систем ЧПУ, занимая по объему продаж первое место в Европе и второе в мире. Эти показатели были достигнуты благодаря не только знаменитому немецкому качеству, но и аппаратным и технологическим возможностям систем управления [26].

Сегодня фирма Siemens предлагает две группы УЧПУ:

- семейство SINUMERIK 802C, 802S, 802D, которое ориентировано на применение в простых токарных и фрезерных станках (эти системы ЧПУ ограничены по количеству осей и имеют оптимальные функциональные возможности, соответствующие их назначению);

- семейство SINUMERIK 810D, 840D (SINUMERIK 810D - для станков с небольшими рабочими усилиями, SINUMERIK 840D - наиболее распространенное базовое модульное ЧПУ для широкого круга станков и технологических задач);

ЧПУ SINUMERIK 810D, 840D представляют собой интегрированные мультипроцессорные системы, в которых нельзя выделить ЧПУ и приводы в самостоятельные устройства. Пульт оператора состоит из следующих частей:

- MМС-процессора (Human Machine Communication), который представляет собой персональный компьютер ММС100.2 (Intel 486, MS-DOS) или ММС103 (Intel Pentium, Windows 95);

- дисплея, который может быть цветным или монохромным (10,4" TFT плоский экран).

Кроме того, пульт может быть оснащен полноразмерной клавиатурой, дисководом, адаптером подключения к сети Ethernet. Весь интерфейс полностью русифицирован. На ММС-процессоры можно установить дополнительное программное обеспечение. Это позволяет произвести объединение рабочих мест проектировщика (конструктора-технолога) и станочника-оператора.

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

- функции позволяющие создавать плавные непрерывные кривые (в системе возможно использование трех видов сплайнов и кривых, заданных с помощью полиномов третьего порядка);

- изменение величины подачи по заданному закону в пределах одного кадра;

- автоматическое предотвращение зарезов;

- преобразование рабочей системы координат в пространстве;

- ориентация инструмента относительно плоскости обработки (при наличии на станке поворотной инструментальной головы при условии 2,5D-обработки значительно упрощается обработка наклонных поверхностей);

- ориентация инструмента относительно криволинейных поверхностей;

- задание запрещенных для перемещения зон на станке;

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

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

Язык программирования для ЧПУ содержит много элементов из языков программирования высокого уровня (больше всего он напоминает Паскаль). Программист может создавать переменные различных типов, использовать команды условных и безусловных переходов, арифметические и логические операции, циклы, выполняемые по условиям (WHILE - ENDWHILE; REPEAT - UNTIL; FOR - ENDFOR). Система предоставляет доступ к внутренним переменным (например, к текущей памяти положения, к значениям остатков пути внутри кадра и т.д.).

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

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

В качестве языка макро команд система Designer Modeling использует язык LISP.

Лисп (LISP, от английского Processing language - "обработка списков") - семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп является вторым в истории (после Фортрана) высокоуровневым языком программирования, который используется по сей день. Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта и созданный им язык по сию пору является одним из основных средств моделирования различных аспектов искусственного интеллекта [23].

Традиционный Лисп имеет динамическую систему типов. Язык является функциональным, но многие поздние версии обладают также чертами императивности, к тому же, имея полноценные средства символьной обработки, становится возможным реализовать объектную ориентированность, примером такой реализации является платформа CLOS.

Язык Лисп, наряду с языком Ada, прошел процесс фундаментальной стандартизации для использования в военном деле и промышленности, в результате чего появился стандарт Common Lisp. Его реализации существуют для большинства платформ.

Одной из базовых идей языка Lisp является представление каждого символа как узла многокоординатной символьной сети; при этом координаты, свойства, уровни сети записаны в так называемых слотах символа.

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

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

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

Символьная природа языка (то есть отсутствие в символьном пространстве традиционной метрической геометрии расстояний, последовательностей и т.д.) позволяет легко и продуктивно распараллеливать Лисп-процессы. Что нашло использование в сверхмощных телекоммуникационных, сетевых Лисп-системах.

Первые области применения Лиспа были связаны с символьной обработкой данных и процессами принятия решений.

Наиболее популярный сегодня диалект Коммон Лисп является универсальным языком программирования. Он широко используется в самых разных проектах: интернет-серверы и службы, серверы приложений и клиенты, взаимодействующие с реляционными и объектными базами данных, научные расчёты и игровые программы.

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

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

3. Технологическая реализация системы подготовки обработки детали станка с ЧПУ

3.1 Описание кодов программного модуля

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

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

Рисунок 7- Новый проект Delphi

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

Начинается главный модуль словом "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 - Программный модуль

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

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

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

3.2 Правила установки и настройки программного модуля

Страницы: 1, 2, 3, 4, 5


© 2010 BANKS OF РЕФЕРАТ