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

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

Рубрика Производство и технологии
Вид дипломная работа
Язык русский
Дата добавления 11.10.2010
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Рисунок 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)

где

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

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

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

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

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

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

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

Кп=245728,91 руб.

4.1.1 Расчет фонда заработной платы

Фонд заработной платы консультанта и разработчика программного модуля с учетом отчислений на социальные нужды рассчитывается:

, (4.3)

где

Вр - время на проектирование и создание программного модуля, мес.;

О - среднемесячный оклад разработчиков, руб.;

Ксн - коэффициент расходов на социальные нужды.

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

В результате чего получим фонд заработной платы программиста:

;

руб.

Фонд заработной платы конструктора:

;

руб.

Общий фонд заработной платы:

руб.

Время, затраченное на отладку программного обеспечения на ЭВМ tэвм устанавливается экспертным путем или по фактическим затратам машинного времени. Оно составило 40% от длительности разработки программного модуля.

tэвм= 3•0,4•168;

tэвм= 201,6 ч.

4.1.2 Расчет себестоимости машино-часа работы персонального компьютера

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

Себестоимость машино-часа работы ЭВМ определяется по формуле:

, (4.4)

где

Зп - затраты на заработную плату обслуживающего персонала с учетом всех отчислений, руб.;

А - годовая сумма амортизации, руб.;

Зэ - затраты на силовую электроэнергию, руб.;

Зр - затраты на ремонт и обслуживание оборудования в год, руб.;

Зм - затраты на материалы в год, руб.;

Зн - накладные расходы, руб.;

Фд - действительный годовой фонд времени работы ЭВМ, ч.

Расчет затрат на заработную плату обслуживающего персонала производится по формуле:

, (4.5)

где

n - количество работников (принимается 1 работник);

li - месячный оклад работника (принимается 9800 руб);

kд - коэффициент, учитывающий дополнительную заработную плату (принимается от 1,1 до 1,2); kсн - коэффициент, учитывающий отчисления на социальные нужды (в соответствии с законодательством РФ kсн=1,26).

Зп=9800•12•1,1•1,26;

Зп=162993,6 руб.

Расчет стоимости персонального компьютера для разработки программного модуля представлен в таблице 4.2.

Таблица 4.2 - Расчет стоимости ЭВМ для разработки ПО

Наименование оборудования

Модель, серия

Кол-во, шт.

Стоимость, т.руб.

ед.

всего

Системный блок

Профессиональная графическая станция Compaq

1

36200

36200

Монитор

Compaq P1210

1

13100

13100

Принтер

HP LaserJet P2015

1

11500

11500

Итого

60800

Годовые амортизационные отчисления по ЭВМ считаются по формуле:

, (4.6)

где

Соб - стоимость персонального компьютера и прочего оборудования, используемого при разработке и отладке программного модуля;

На - норма амортизации, %.

Общая норма амортизации (На) основного фонда вычислительной техники составляет 35%.

При подстановке данных из таблицы 4.2 в формулу 4.6 получаем следующие значения:

;

А=21280 руб.

Годовые затраты на электроэнергию рассчитываются следующим образом:

Зэ = N • Т • Кисп • Цэл, (4.7)

Где N - мощность оборудования, кВт;

Т - время работы оборудования, ч.;

Кисп - коэффициент использования оборудования по мощности, принимаем 0,75; Цэл - стоимость 1 кВт*ч электроэнергии, руб.

В среднем вычислительная техника потребляет 0,4 кВт электроэнергии в час. Время потребления энергии ЭВМ составляет 1488 часов. Стоимость силовой электроэнергии равна 1,62 руб/кВт.

Зэ=0,4•1488•0,75•1,62;

Зэ=723,17 руб.

Затраты на текущие ремонты Зр и на материалы Зм в год берутся по данным бухгалтерии. При укрупненном расчете их сумма может быть принята от 4,5 до 10% от стоимости ЭВМ.

Зр=60800•0,06;

Зр=3648 руб.

В накладные расходы включаются затраты на амортизацию и содержание площадей, затраты на отопление, освещение и прочие [2].

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

Зн=89586•0,8;

Зн=71668,8 руб.

Годовой фонд времени Фд устанавливается, исходя из номинального фонда времени и времени профилактики оборудования и ремонтов:

Фд = (365-Пр-В)•q•S•Kисп, (4.8)

где

Пр - количество праздничных дней;

В - количество выходных дней;

S - количество смен;

q - продолжительность смены, ч.

Фд=248•8•1•0,75,

Фд=1488 ч.

Подставив подсчитанные значения в формулах 4.5 - 4.8 в формулу 4.4 можно вычислить стоимость машино-часа работы ЭВМ:

См-ч=(162993,6 + 21280 + 723,17 + 3648 + 71668,8)/1488;

См-ч=174,94 руб/час.

4.1.3 Расчет цены программного обеспечения

Минимальная цена разработки программного обеспечения (Zmin) складывается из полных затрат на разработку Кп и минимально необходимой суммы прибыли Пmin и рассчитывается по формуле:

Zminпmin . (4.9)

Сумма прибыли Пmin рассчитывается исходя из планируемого минимального уровня, рентабельности затрат организации-разработчика:

Пminп•Rmin/100 (4.10)

где

Rmin - минимальный уровень рентабельности, % (20-30%);

Пmin= 245728,91•0,25;

Пmin= 61432,23 руб.

Подставив полученные значения из формулы 4.10 в формулу 4.9 можно рассчитать минимальную цену разработки программного модуля:

Zmin= 245728,91+ 61432,23;

Zmin= 307161,14 руб.

После выполнения расчетов, можно подвести итоги по подсчету себестоимости программы:

- Время, затраченное на разработку и отладку программного модуля на персональном компьютере составляет 3 месяца;

- Затраты на разработку программного модуля составляет 245728,91 рублей;

- Фонд заработной платы составляет 89586 рублей;

- Затраты на зарплату обслуживающего персонала составляют 162993,6 рубля;

- Затраты на электроэнергию составляют 723,17 рубля;

- Затраты на текущие ремонты составляют 3648 рублей;

- Накладные расходы составляют 71668,8 рублей;

- Стоимость машино-часа работы персонального компьютера составляют 174,94 рубля/час.

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

4.2 Методология расчета общей стоимости владения программным продуктом

Расчет стоимости владения программным модулем включает определение затрат на каждой стадии жизненного цикла информационного продукта их классификацию и обоснование [12]. Формулы для расчета стоимости владения программным модулем приведены ниже.

Стоимость теоретического проекта рассчитывается:

С т.пр = Zmin + С под ,

где Спод - стоимость поддержки, которая складывается из расходов на услуги консультантов. Принимается время работы консультантов поддержки равным 50% от времени работы при создании [19]. Тогда время работы консультанта равно 1,5 мес. При размере оплаты услуг консультанта 10000 руб/мес, стоимость поддержки составит 15000 руб.


Подобные документы

  • Технологическая подготовка управляющей программы для обработки детали на станке с устройством числового программного управления НЦ-31. Эскиз заготовки и обоснование метода её получения. Кодирование режимов обработки и математическая подготовка программы.

    курсовая работа [439,5 K], добавлен 19.10.2014

  • Проектирование привода главного движения токарно-винторезного станка. Модернизация станка с числовым программным управлением для обработки детали "вал". Расчет технических характеристик станка. Расчеты зубчатых передач, валов, шпинделя, подшипников.

    курсовая работа [576,6 K], добавлен 09.03.2013

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

    лабораторная работа [515,0 K], добавлен 12.12.2013

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

    курсовая работа [3,3 M], добавлен 10.07.2014

  • Особенности и преимущества станков с программным управлением. Служебное назначение, анализ материала и технологичности конструкции изготавливаемой детали. Проектный вариант технологического процесса механической обработки детали, наладка станка.

    курсовая работа [3,5 M], добавлен 19.06.2017

  • Расчет реверсивного комплектного автоматического электропривода и обоснование замены устаревшей программы управления на станке с числовым программным управлением. Осуществление проверки работоспособности модернизированного электрооборудования станка.

    дипломная работа [2,0 M], добавлен 05.09.2014

  • Проект модернизации фрезерного станка модели ГФ2171С3 с целью совершенствования системы управления. Устройство числового программного управления. Рынок устройств числового программного управления. Технические характеристики программного обеспечения.

    дипломная работа [1,7 M], добавлен 20.03.2013

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

    контрольная работа [1,6 M], добавлен 05.06.2010

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

    дипломная работа [445,8 K], добавлен 08.03.2010

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

    дипломная работа [3,5 M], добавлен 10.04.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.