1.3 Назначение постпроцессоров

Постпроцессор – это модуль, преобразующий файл траектории движения инструмента и технологических команд, рассчитанный процессором CAM или CAD/CAM-системы, в файл управляющей программы в строгом соответствии с требованиями методики ручного программирования конкретного комплекса "станок – система с ЧПУ". Постпроцессор выполняет немалое количество функций, например:

-  кодирует линейные перемещения сообразно цене импульса;

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

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

-  автоматически выдает в кадр вектора или функции коррекции на радиус инструмента;

-  строит текущий кадр по шаблону, автоматически нумеруя кадры под адресом "N";

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

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

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

Разработка полноценного постпроцессора с нуля (т.е. без средств автоматизации постпроцессирования) может занять у программиста средней квалификации более 6 месяцев.

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

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

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

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

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

В результате, в разы сократились сроки, стоимость и трудоемкость разработки нового постпроцессора, существенно снизились издержки фирм-разработчиков постпроцессоров и их заказчиков. Этот метод оказал сильное воздействие на конкурентную борьбу между производителями 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 Правила установки и настройки программного модуля

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

Для работы программного модуля, для начала необходимо установить на компьютер программный пакет One Space Designer Modeling 2005 и новее, созданный компанией CoCreate. Процесс установки этого пакета полностью описан в инструкции к дистрибутиву.

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

В каталоге "Emul" создаются подкаталоги, содержащие служебные файлы.

Каталог "BMP" содержит файлы изображений, используемые для пояснений и графического оформления программного модуля.

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

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

Также особой настройки требует и пакет 3D моделирования. Необходимо создать функцию загрузки базовой и дополнительной геометрии из файла (рисунок 12).

Рисунок 12 - Создание дополнительных функций

Ссылка идет на файл, в котором прописаны ссылки на группу других файлов, что упрощает настройку. После этого необходимо прописать в пакете 3D моделирования каталог "Emul", как рабочую директорию.

На этом процесс установки завершается.

3.3 Тестирование и отладка программного модуля

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

В тестировании программного модуля можно выделить четыре этапа:

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

-  совместное тестирование модулей;

-  тестирование спецификации программы;

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

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

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

Системное тестирование – тестируется интегрированная система на её соответствие требованиям.

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

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

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

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

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

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

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

С точки зрения ISO9126, качество (программных средств) можно определить как совокупную характеристику исследуемого программного обеспечения с учётом следующих составляющих:

-  надёжность;

-  сопровождаемость;

-  практичность;

-  эффективность;

-  мобильность;

-  функциональность.

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

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

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

При тестировании серого ящика разработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется.

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

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

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

 
3.4 Инструкция пользователя

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

Рисунок 13 - Модуль моделирования заготовки

Форма и положение заготовки относительно патрона имеют первостепенное значение для проведения корректной обработки шлифованием, исключения брака и аварийных ситуаций. Предложенная схема введения размеров заготовки обеспечивает создание тела вращения различной конфигурации, образующими формы которого могут быть наборы прямых линий и сопряженных с ними окружностей. Ступенью в данной схеме является отдельно взятый отрезок прямой с началом в точке, обозначенной числом равным номеру ступени. Эти числа расположены вместе с вертикальными указателями на нижней части профиля заготовки. Все изменения параметров патрона и заготовки отображаются на верхнем графическом поле. Изменение значения параметра производится непосредственно в соответствующей ячейке таблицы или с помощью вспомогательных параметров "Шаг" и "Значение". В верхней части заготовки проставлены указатели с расстояниями между соседними ступенями и значениями углов указанной ступени к оси заготовки. В нижнем правом углу, в блоке "Измерения" находятся значения осевых, радиальных перепадов и расстояний между двумя произвольными точками контура заготовки. Кнопка "Прикрепить" имеет три режима: "Нет", "Справа" и "Слева". Это означает, что при изменении параметров контур справа или слева от рассматриваемой ступени может меняться по-разному. Добавление и удаление ступеней желательно не делать на первой и последней ступенях, иначе может произойти разрушение топологии контура заготовки. В случае любой непонятной ситуации можно применить откат вперед или назад (до 20 шагов) кнопками "Undo" и "Redo". Для заготовок с отверстиями под СОЖ предусмотрена упрощенная схема отображения отверстий в графическом поле. После ввода всех необходимых параметров и нажатия кнопки "ОК", генерируется программа для создания 3-d моделей патрона и заготовки. Следующим этапом является создание наладки инструмента (рисунок 14).

Рисунок 14 - Модуль моделирования наладки инструмента


Эта часть программного модуля использует данные, полученные после замеров кругов на станке. Количество кругов, их форма и расположение на оправке определяются шлифовщиком и технологом, исходя из их знаний и опыта. Шлифовщику необходимо замерить на каждом круге все соответствующие размеры и записать их в бланк замеров [4, 5, 6, 7, 8, 9, 10, 11, 12]. Все замеры шлифовщик должен производить вручную, связано это с индивидуальными особенностями каждого круга, которые невозможно учесть на предварительном этапе. После ввода всех необходимых параметров и нажатия кнопки "ОК", генерируется программа для создания 3D моделей кругов и оправки. Дальше наступает самая главная часть процесса разработки – создание траекторий перемещений рабочих органов станка (рисунок 15).

Рисунок 15 - Модуль моделирования траектории обработки

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

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

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

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

В ручном режиме заполнения предлагается сформировать достаточно большие группы операций (до 20 операций) для обработки, например, нестандартных видов осевого инструмента. Затем это может быть прототипом для дальнейшего использования. Каждая выбранная операция может быть представлена в анимированном виде в пакете 3D моделирования.

Последний этап работы с программным модулем – настройка технологических циклов (рисунок 16).


Рисунок 16 - Модуль настройки операций

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

Переключение, добавление или удаление операций производится в блоке "наименование". Здесь же можно изменить и наименование операции.

"Положение зубьев" – для угловой разбивки положения зубьев и назначение обработки на каждый зуб.

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

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

"Отвод круга" используется для возврата круга в исходное положение относительно детали после обработки. Величина отвода и подача назначаются применительно к одной или нескольким (до 3-х) осям одновременно.

"Циклическая обработка" – комплексное перемещение шлифовального круга для обработки поверхностей методом обкатывания. Круг проходит через три положения: старт, экстремум и финиш. Экстремумом может быть любое промежуточное значение выбранной оси. Количество циклов (до 20) равномерно распределяется на все значения от старта до финиша. В результате получается ступенчатая поверхность с регулируемой шероховатостью. Подача на каждую ось задается отдельно.

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

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


4. Расчет экономической эффективности 4.1 Расчет затрат на разработку системы

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

Таблица 4.1 - Ведомость фонда оплаты труда

Категория работающих Количество, чел. Должностной оклад, руб. Фонд заработной платы, руб.
Программист 1 10500 39690
Конструктор 1 13200 49896

Затраты на разработку программного обеспечения (Кп) определяется по формуле:

, (4.1)

где

Кпр – затраты на проектирование программного обеспечения (ПО), руб.;

Кпо – затраты на создание программных изделий, образующих ПО, руб.;

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

Ко – Затраты на отладку ПО, руб.

Укрупненный расчет на разработку ПО можно выполнить по формуле:

, (4.2)


где

Фз/п – фонд основной заработной платы разработчиков и других исполнителей работы, руб.;

bд – коэффициент дополнительной зарплаты (принимается 0,1 - 0,15);

bс – коэффициент отчислений на социальные нужды от основной и дополнительной заработной платы (принимается 0,26);

bн – коэффициент накладных расходов организации, разрабатывающей проект (принимается 0,6 - 0,8);

bпр – коэффициент прочих расходов (принимается 0,1 - 0,2);

tэвм – машинное время, затраченное для отладки программного обеспечения, ч;

Cм-ч – стоимость машино-часа работы ЭВМ, руб.

Кп=245728,91 руб.


Информация о работе «Технологическая реализация системы подготовки обработки детали станка с числовым программным управлением»
Раздел: Промышленность, производство
Количество знаков с пробелами: 169417
Количество таблиц: 2
Количество изображений: 16

Похожие работы

Скачать
85912
19
23

... и станции механизма уравновешивания, л/мин Г48–83 10…45 10…30 26   2.4 Техническое описание УЧПУ 2Р22   Назначение Устройство числового программного управления 2Р22 предназначено для управления металлообрабатывающими станками. По защищенности от воздействия окружающей среды, устройство предназначено для работы в механических цехах машиностроительных заводов в ...

Скачать
115122
31
0

... -экономическое сравнение двух вариантов технологического процесса На основе информации, предоставленной в базовом и предлагаемом вариантах технологических процессов, осуществляем их технико-экономическое сравнение, руководствуясь методикой, изложенной в пособии [51, с.95-120] Механическая обработка детали типа «Фланец» переводится с горизонтально-фрезерного станка 6Р82 на фрезерный станок с ЧПУ ...

Скачать
73888
0
0

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

Скачать
28016
0
0

... позволяющих вести такое программирование []. Компьютерные УЧПУ к этим станкам содержат ПО, включающее 3D CAD / CAM систему, систему автопрограммирования и систему автотехнолога. Комбинация технологии и программного обеспечения позволяет УЧПУ напрямую использовать геометрическое определение детали как программу и исключает этап постпроцессора в цикле работ по подготовке станочных УП. Модель в 3D ...

0 комментариев


Наверх