Конвертирование исходного текста программ для станков с ЧПУ из одной системы программирования в другую

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.06.2008
Размер файла 2,1 M

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

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

6

Федеральное агентство по образованию РФ

ГОУ ВПО «ИЖЕВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет «ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА»

Кафедра «ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к дипломной работе на тему:

«Конвертирование исходного текста программ для станков с ЧПУ из одной системы программирования в другую»

Дипломник

студент группы 12-19-4з……………………………………….Д.В. Стерхов

Руководитель

вед. инженер - программист

ОАО «Концерн ИЖМАШ»……………………………………В.М. Токарев

Консультант по экономической части
к.э.н., доцент…………………………………………………… И.И. Радыгина

Консультант по безопасности

и экологичности к.т.н., доцент……………………………… А.С. Чаузов

Нормоконтроль…………………………………………………В.П. Соболева

Рецензент

вед. инженер - программист

ОАО «Ижмаш - Станко»………………………………………..И.П. Буторин

Заведующий кафедрой

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

д.т.н, профессор…………………………………………….......А.И. Мурынов

ИЖЕВСК 2008

Реферат

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

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

Для написания соответствующего программного обеспечения были досконально изучены материалы по программированию станков с ЧПУ различных систем, в частности: Маяк, Синумерик, Вм.

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

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

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

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СОКРАЩЕНИЙ, СИМВОЛОВ И СПЕЦИАЛЬНЫХ ТЕРМИНОВ С ИХ ОПРЕДЕЛЕНИЯМИ

ЧПУ - станки с числовым и программным управлением

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

ОС - операционная система

ЭВМ - электронно - вычислительная машина

ВТ - вычислительная техника

ВВЕДЕНИЕ

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

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

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

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

Программа называется Наладчик 1.6.1, на сегодняшний день это последняя полностью протестированная и работоспособная версия программы.

1. РАЗРАБОТКА СИСТЕМЫ АВТОМАТИЧЕСКОГО КОН ВЕРТИРОВАНИЯ ИСХОДНОГО ТЕКСТА ПРОГРАММ ДЛЯ СТАНКОВ С ЧПУ

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

1.1.1. Назначение системы

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

1.1.2. Характеристика функциональной структуры системы

Обработка текста состоит из следующих методов:

- подсистема выбора метода конвертирования. Позволяет задать один из алгоритмов метода пересчёта в зависимости от выбора программиста.

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

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

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

1.1.3. Обоснование цели создания системы

Задачи конвертирования текста программ для станков с ЧПУ имеют широкий спектр, по крайней мере, на Российских предприятиях. Сейчас очень много различных программ для станков ЧПУ, в том числе и графических. В которых при построении графического образа детали программа выдаёт текст для станков ЧПУ. Однако это ПО не российского производства и рассчитано для станков последнего поколения. Однако, как водица в России, оборудование в основном на предприятиях старое, но вполне рабочее. В связи с этим возникла ситуация когда программист, сгенерировав программный текст в графических редакторах, пересчитывал его вручную на наши отечественные станки старого производства. Это занимало очень много времени и возрастала вероятность чисто «человеческих» ошибок.

Целью данной работы явилась разработка, внедрение и сопровождение

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

1.1.4. Обоснование состава автоматизируемых задач

Реализация программы «Наладчик» позволит интегрировать в едином интерфейсе все этапы обработки исходного текста:

- конвертирование исходного текста программ;

- исправление ошибок программирования;

- приведение текста к более читабельному виду;

- уменьшение размера программы.

Функциональная схема программы конвертирования «Наладчик»

6

Рис. 1

1.2. Аналитический обзор

Текстовый редактор TechEdit 2.1.1 относится к разряду специального ПО. С его помощью можно автоматизировать процесс разработки программ для ЧПУ. C помощью TechEdit можно преобразовать историю команд Autocad (история команд, содержащая координаты выделенных точек) в черновой вариант программы для ЧПУ, а затем с помощью функций TechEdit провести преобразования координат и их значений, чистку программы от ненужных символов и автоматическую нумерацию кадров. TechEdit забирает на себя многие рутинные повторяющиеся операции с текстом программы, хотя конечно, к сожалению, не избавляет разработчика от сложного интеллектуального труда. TNR TechEdit успешно используется на Стахановском вагоностроительном заводе уже в течении 2-х лет.

Рис.1.1

Программа TechEdit 2.1.1 по сути является текстовым редактором и не имеет функций конвертирования. /http://tnr.kulichki.com/techedit/te.html/

Графический редактор T-FLEX

Программа, предназначенная для создания управляющих программ (УП) на оборудование с числовым программным управлением (ЧПУ). Программа T-FLEX ЧПУ поддерживает различные типы систем управления 2D, 2,5D, 3D и 5D и разделена на две независимые системы T-FLEX ЧПУ 2D и T-FLEX ЧПУ 3D.

Программа подготовки УП для станков с ЧПУ T-FLEX ЧПУ является встраиваемым модулем для САПР T-FLEX CAD и фукционирует исключительно совместно с ней. Таким образом, получается полноценное CAD/CAM-решение /www.tflex.ru/.

Данный подход обеспечивает:

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

- единство интерфейсов (пользователь, знакомый с принципами работы в T-FLEX CAD, без труда овладеет программой подготовки УП для станков с ЧПУ T-FLEX ЧПУ);

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

Программа подготовки УП для станков с ЧПУ T-FLEX ЧПУ - гибко настраиваемая система, построенная по модульному принципу (к базовому модулю можно подключать любой набор методов обработки).

Программа многофункциональна и сложна в эксплуатации.

1.3. Основные требования к системе

1.3.1. Основные цели создания системы и критерии эффективности её функционирования

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

1.3.2. Функциональное назначение системы

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

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

- гибкие настройки программы;

- возможность выбора режима пересчёта;

- расчёт, как относительных, так и абсолютных размеров;

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

- выбор цвета и размера шрифта в процессе редактирования;

- возможность печати содержимого поля редактирования;

- корректировка захода инструмента на эквидистанту контура детали;

- режим поиска и замены;

- преобразование к верхнему регистру всего текста программы.

1.3.3. Особенности программы и условия её эксплуатации

При работе с программой «Наладчик» ни каких особых требований не выдвигается. Файлы, обрабатываемые программой, должны быть в текстовом формате. Файлы могут быть любого объёма - это зависит только от оперативной памяти компьютера и поддерживаемой памятью программы блокнот.

1.3.4. Требования к функциональной структуре

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

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

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

Подсистема конвертирования преобразует исходные координаты к заданным. Результатом работы являются преобразованные данные.

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

1.3.5. Требования к техническому обеспечению

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

Таблица 1

Технические характиристики персонального компьютера

Вид устройства

Характеристика

процессор

486 и выше

оперативная память

от 32 мб и выше

разрешение экрана

800х600 и более

операционная система

Windows 98, XP, Vista

1.3.6. Требования к информационному обеспечению

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

1.3.7 Требования к программному обеспечению

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

1.4. Основные технические решения проекта системы

1.4.1. Решение по комплексу технических средств

Как уже отмечалось в п. 1.3.5 «Требования к техническому обеспечению», для достижения удобного пользователю режима функционирования системы необходимо следующая минимальная конфигурация персонального компьютера: частота процессора 486 МГц, объем оперативной памяти 32 Мб, монитор, поддерживающий разрешение 800х600 точек. Также желательно наличие следующих периферийных технических средств: чёрно - белый лазерный принтер для вывода на печать результатов обработки текста.

1.4.2. Описание системы программного обеспечения

Для реализации и функционирования проекта необходимо следующее программное обеспечение: ОС Windows 98, XP, Vista в основе, которой лежит ядро, характеризуемое 32-разрядной вычислительной архитектурой и полностью защищенной моделью памяти, что обеспечивает надежную вычислительную среду.

Разработка программы «Наладчик» и ее подсистем будет вестись с использованием среды для разработки приложений Borland Delphi 7. Среды разработки включают в себя высокопроизводительный 32-битный компилятор, что позволяет оптимизировать создаваемый код. В состав каждой среды включен обширный набор средств, которые повышают производительность труда программистов и сокращают продолжительность цикла разработки. Удобство разработки и эффективность созданных в данных средах разработки программ делают их оптимальным выбором для построения конвертирующей системы, какой является программа «Наладчик».

2. РАЗРАБОТКА ЗАДАЧИ «Конвертирование исходного текста программ для станков с ЧПУ»

2.1. Описание постановки задачи

2.1.1. Характеристика задачи

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

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

Таким образом, задача обработки текста программ для станков с ЧПУ может быть разбита на несколько подзадач:

- разработка алгоритмов реализующих конвертирование исходных текстов программ;

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

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

2.1.2. Входная информация

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

2.1.3. Выходная информация

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

2.1.4. Математическая простановка задачи

Следует отметить, что вся машинная арифметика основывается на декартовой системе координат, где X, Y, Z - основные программные координаты, I, J, K - дополнительные (при расчёте круговой интерполяции и заходов на эквидистанту обрабатываемого контура). Координата A - поворотное устройство.

6

Рис. 2.1

2.1.4.1. Математическая постановка задачи ПК - Маяк

Расчёт радиусов по G2, G3 (круговой интерполяции)

Эта задача предназначена для пересчёта круговой интерполяции и заходов на эквидистанту контура детали.

Алгоритм расчёта радиусов основан на расстоянии удаления точки центра радиуса от начальной точки радиуса (в относительной системе исчисления) и от ноля детали до центра радиуса (в абсолютной системе исчисления).

На рис. 2.2 изображен эскиз обрабатываемой детали (контура).

Рис. 2.2

Линии a и b отображают разницу расчётов радиусов при программировании системы Вм и Маяк.

Линия со стрелкой a система Маяк (абсолютная система).

Линия со стрелкой b система Вм (относительная система).

Формула пересчёта радиусов.

I - значение I координаты в обрабатываемом кадре.

J - значение J координаты в обрабатываемом кадре.

X_pred - значение координаты X в предыдущем кадре.

Y_pred - значение координаты Y в предыдущем кадре.

I = X_pred + I;

J = Y_pred + J

Результаты приведены в таблице 2.

Таблица 2

Результаты обработки

Входные данные

Выходные данные

N1 G0 X0 Y0

N1 X10 Y10 F100

N1 G42 D30 X17.59 Y18.83

N1 G1 X47.59

N1 G3 X47.59 Y40.83 I0 J11

N1 G1 X17.59

N1G0X0Y0

N2X10.Y10.F100

N3G42D30X17.59Y18.83I30.J0

N4G1X47.59

N5G3X47.59Y40.83I47.59J29.83

N6G1X17.59

Как мы видим, нумерация кадров в обработанной программе восстановилась, лишние пробелы удалены.

В кадре N2 расставлены пропущенные точки (таков синтаксис программы обработки для станков с ЧПУ).

В кадре N3 рассчитаны и добавлены недостающие координаты захода.

В кадре N5 пересчитаны координаты I и J в соответствии с заданным методом обработки.

Расчёт линейных заходов на эквидистанту контура детали по G41 G42 рис 2.3.

Рис 2.3

Точка захода находится на линейном участке контура.

Находится по формуле:

I - значение I координаты в обрабатываемом кадре.

J - значение J координаты в обрабатываемом кадре.

X_sled - значение Х в следующем кадре.

X_nast - значение Х в настоящем кадре.

Y_sled - значение Y в следующем кадре.

Y_nast - значение Y в настоящем кадре.

I = X_sled - X_nast;

J = Y_sled - Y_nast

Результаты приведены в таблице 3.

Таблица 3

Результаты обработки

Входные данные

Выходные данные

N1G0X0Y0

N2X40Y10

N3G42D30X47.59Y18.83

N4G3X47.59Y40.83I0J11

N1X17.59

N1Y18.83

N1X47.59

N1G0X0Y0

N2X40.Y10.

N3G42D30X47.59Y18.83I29.83J47.59

N4G3X47.59Y40.83I47.59J29.83

N5X17.59

N6Y18.83

N7X47.59

Как видно из таблицы кадры №2, 3, 4 изменились в результате обработки

Расчёт заходов по радиусу на эквидистанту контура детали по G41 G42

Рис 2.4

Расчёт захода на радиус несколько отличается от захода на линейный размер. Здесь немало важную роль играет вектор направления в зависимости от четверти, на которую направлен вектор рис.2.5.

Формулы:

J_nast - значение J в обрабатываемом кадре.

J_sled - значение J в следующем кадре.

I_nast - значение I в настоящем кадре.

I_sled - значение I в следующем кадре.

Y_nast - значение Y в настоящем кадре.

X_nast - значение X в настоящем кадре.

I и J - служат для определения знака в выражении.

С начала рассчитываем значение (I и J) из следующего кадра.

Логическое решение задачи

Если G3, то проверяем значение заданных координат:

Если I_sled > 0 и J_sled >= 0, то I = 1, J = -1;

Если I_sled < 0 и J_sled <= 0, то I = -1, J = 1;

Если I_sled < 0 и J_sled >= 0, то I = 1, J = 1;

Если I_sled > 0 и J_sled <= 0, то I = -1, J = -1

Если G2, то проверяем значение заданных координат:

Если I_sled > 0 и J_sled >= 0, то I = -1, J = 1;

Если I_sled < 0 и J_sled <= 0, то I = 1, J = -1;

Если I_sled < 0 и J_sled >= 0, то I = -1, J = -1;

Если I_sled > 0 и J_sled <= 0, то I = 1, J = 1

Следующее операция описана формулами:

I_nast = Y_nast + J_sled

J_nast = X_nast + I_sled

Заключительные вычисления:

если I = -1 и J > 0, то J_nast:= -J_nast;

если I = 1 и J < 0, то J_nast:= -J_nast;

если J = -1 и I > 0, то I_nast:= -I_nast;

если J = 1 и I < 0, то I_nast:= -I_nast

Рис 2.5

2.2. Описание алгоритма метода выбора обработки

2.2.1. Назначение и характеристика алгоритма

Алгоритм описывает метод выбора обработки пользователем в зависимости от назначения конечного результата.

2.2.2. Используемая информация

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

2.2.3. Результаты решения

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

2.2.4. Алгоритм решения

1. Если Form2.PC_MAYAK.Checked, то переход к п. 2

2. pc_mayak(bufer);

3. Если Form2.PC_VM.Checked, то переход к п. 4

4. pc_vm(bufer);

5. Если Form2.VM_MAYAK.Checked, то переход к п. 6

6. vm_mayak(bufer);

7. Если Form2.MAYAK_VM.Checked, то переход к п.8

8. mayak_vm(bufer);

9. Bufer:= '';

10. Inc(m);

11. конец

2.2.5. Список условных обозначений

Условные обозначения, используемые в описании алгоритма, приведены в табл. 4.

Таблица 4

Условные обозначения

Обозначение

Расшифровка

bufer

Строка значение процедуры

pc_mayak(bufer);

Процедура пересчёта заданным методом

pc_vm(bufer);

Процедура пересчёта заданным методом

vm_mayak(bufer);

Процедура пересчёта заданным методом

mayak_vm(bufer);

Процедура пересчёта заданным методом

Form2.MAYAK_VM.Checked

Свойства переключателя

Bufer

Переменная хранения строки

Inc()

Функция увеличения

Схема алгоритма метода выбора обработки

6

Рис 2.6

2.3 Описание алгоритма выбора вспомогательных методов обработки

2.3.1. Назначение и характеристика алгоритма

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

2.3.2. Используемая информация

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

2.3.3. Результаты решения

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

2.3.4. Алгоритм решения

1. Если Form1.Probel.Checked, переходим к п. 2

2. DelProbel(bufer);

3. Если Form1.NomerKadra.Checked, то переходим к п. 4

4. nomerkadra(bufer);

5. Если Form1.PustoStr.Checked, то переход к п. 6

6. pustostroka;

7. Bufer:= '';

8. Inc(m);

9. конец

Таблица 5

Список условных обозначений

Название

Описание

Bufer

Переменная хранения строки

Inc()

Функция увеличение значения

DelProbel(bufer);

Функция удаления пробелов

nomerkadra(bufer);

Функция восстановления нумерации кадров

pustostroka;

Функция удаления пустых строк

2.4. Описание алгоритма конвертирования

2.4.1. Назначение и характеристика алгоритма

Алгоритм описывает конвертирование исходного текста программы для станков с ЧПУ. В результате программа пересчитывает все исходные координаты из данной системы программирования в заданную.

2.4.2. Алгоритм решения

1. Если (pos('%', kadr) <> 0) or (pos('$', kadr) <> 0), то переход к п. 28

2. Если pos('X',kadr) <> 0, то переход к п. 3 иначе к п. 5

3. NaytiKoordinatu(kadr,'X', vyh);

4. PreobrazovanieMayak(X_nast, kadr);

5. uslovie:= FindVstavki('X', kadr);

6. DobavitTochku(s);

7. insert(Concat('X', s), kadr, uslovie);

8. Если (pos('G42', kadr) <> 0) or (pos('G41', kadr) <> 0), то пер к п. 9

9. Если pos('X', kadr) = 0, то переход к п. 10

10. uslovie:= FindVstavki('X', kadr);

11. Insert('X' + s, kadr, uslovie);

12. Если (pos('I', Stroka.Strings[Succ(m)]) <> 0) and (pos('J', Stroka.Strings[Succ(m)]) <> 0), то переход к п. 13 иначе к п. 16

13. Naytikoordinatu(Stroka.Strings[Succ(m)], 'I', st);

14. Naytikoordinatu(Stroka.Strings[Succ(m)], 'J', st);

15. Podhod_G41_G42_radius;

16. Podhod_G41_G42_line;

17. Если pos('I', kadr) <> 0, то переход к п. 18

18. NaytiKoordinatu(kadr, 'I', st);

19. PreobrazovanieMayak(X_sled, kadr);

20. uslovie:= pos('I',kadr);

21. Если uslovie <> 0, то переход к п. 22

22. NaytiKoordinatu(kadr,'I',vyh);

23. Если oshibka = 1, то переход к п. 24

24. I:= X_pred + I;

25. preobrazovanieMAYAK(I,kadr);

26. X_pred:= X_nast;

27. Y_pred:= Y_nast;

28. конец

Таблица 6

Список условных обозначений

Обозначение

Расшифровка

Kadr

Текущая строка обработки

NaytiKoordinatu(kadr,'X', vyh);

Функция нахождения значения координаты

vyh

Выходное значение процедуры

PreobrazovanieMayak(X_nast, kadr);

Функция преобразования координаты

X_nast и X_pred

Числовая переменная настоящего и предыдущего значения Х

uslovie

Числовая переменная

FindVstavki('X', kadr);

Функция поиска вставки значения заданной координаты в строке

DobavitTochku(s);

Функция вставляет точку в строку, если её нет

insert(Concat('X', s), kadr, uslovie);

Функция вставляет и сцепляет строки

(pos('I', Stroka.Strings[Succ(m)])

Функция поиска и проверки заданной позиции в строке

Podhod_G41_G42_radius

Функция расчёта радиусов на заходах

Podhod_G41_G42_line;

Функция расчёта линейных заходов

I и J

Координаты круговой интерполяции в программе

Y_nast и Y_pred

Числовая переменная настоящего и предыдущего значения Y

Схема описание алгоритма конвертирования

6

Рис. 2.7

2.5 Описание программы «Наладчик»

2.5.1. Водная часть

Программа «Наладчик» применяется для автоматизации процесса пересчёта исходного текста (кода) программ для станков с ЧПУ. При этом программа использует человеко-машинный интерфейс: человек выбирает, чем оперировать и параметры обработки данных, а программа выполняет все необходимые расчеты.

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

Программа имеет обозначение «Наладчик», разработана в среде программирования Borland Delphi 7.

2.5.2. Функциональное назначение

Программа выполняет конвертирование (пересчёт) исходных координат в заданную систему ЧПУ. Программа использует алгоритмы, описанные в подразделах 2.2-2.4.

Для функционирования программы необходим следующий комплекс технических средств:

– процессор IBM совместимый 486 и выше;

– подсистема «Наладчик» занимает около 5 Мб оперативной памяти. Дополнительно к этому программа выделяет дополнительную память под текстовые файлы, загруженные в её оболочку;

– для размещения ОС Windows XP и прикладных задач на жестком диске необходимо минимально 1,5 Гб свободного пространства. На диске программа занимает 625 килобайт памяти. Дополнительное место на диске занимают текстовые файлы используемые программой, а также файлы создаваемые программой. С учетом этого на диске необходимо выделить достаточное пространство для всех файлов (от 10 Мб и выше);

– видеоподсистема с объемом памяти 32 Мб;

– цветной SVGA монитор с диагональю не менее 15'' и разрешением не ниже 800x600 (рекомендуется 1024x768);

– русифицированная клавиатура;

– манипулятор «мышь».

2.5.3. Описание информации

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

2.5.4. Используемые подпрограммы

В программе использованы следующие подпрограммы:

– NaytiKoordinatu - нахождения значения заданной координаты;

– DobavitTochku - добавление необходимой точки;

– Podhod_G41_G42_radius - расчёт радиусов при заходе инструмента на эквидистанту контура обрабатываемой детали;

– preobrazovanieVM - преобразует строку, удаляет и вставляет подстроку (система ВМ);

– preobrazovanieMAYAK - Преобразует строку, удаляет и вставляет подстроку (система Маяк);

– Podhod_G41_G42_line - расчёт линейных заходов на эквидистанту контура обрабатываемой детали;

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

– DelProbel - удаление всех пробелов;

– Pustostroka - удаление всех пустых строк;

– Nomerkadra - восстановление последовательной нумерации кадров;

– PC_MAYAK - пересчёт координат из системы Синумерик в систему Маяк;

– VM_MAYAK - пересчёт координат из системы Вм в систему Маяк;

– MAYAK_VM - пересчёт координат из системы Маяк в систему Вм;

– PC_VM - пересчёт координат из системы Синумерик в систему Вм.

2.5.5. Описание логики

Описание логики программы «Наладчик» приведено на рис. 2.8.

Логическая схема

6

Рис. 2.8

2.6. Описание контрольного примера

2.6.1. Назначение

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

2.6.2. Исходные данные

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

2.6.3. Результаты расчета

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

2.6.4. Результаты испытания

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

3. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ

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

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

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

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

- уменьшает объём программного текста.

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

3.2. Планирование разработки

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

Расчет трудоемкости разработки задачи приведен в табл.7

Таблица 7

Расчет трудоемкости разработки задачи

Наименование этапа разработки

Исполнители

Трудоемкость работ, чел-ч

Должность

Кол-во

1. Изучение постановки задачи и методов решения

инженер-программист

1

84

2. Разработка алгоритмов

инженер-программист

1

168

3. Реализация и отладка алгоритмов

инженер-программист

1

168

4. Документирование системы

инженер-программист

1

84

ИТОГО

1

504

3.3. Расчет расходов на создание системы

Для определения величины расходов на создание системы, используем метод прямого счета. Расчет расходов осуществляется по следующим статьям:

– расходы на материалы;

– расходы на оплату труда исполнителей;

– социальные налоги;

– расходы на содержание ВТ;

– накладные расходы;

– прочие расходы.

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

Таблица 8

Расходы на материалы

Наименование материала

Количество

Цена ед, руб

Расходы

Бумага писчая

1 пачка (500л)

100.00

100.00

Диск перезаписываемый CD-RW

1 шт.

40.00

40.00

Картридж для принтера Canon BJC-1000

1 шт.

150.00

150.00

Прочие канцелярские товары

50.00

ИТОГО

340.00

Расчет расходов по оплате труда исполнителей.

Оклад инженера-программиста на период разработки (Пм=3 месяца) составляет в среднем ЗПм=4500.00 рублей в месяц. Тогда расходы на оплату труда:

Роттариф=ЗПм*Пм (3.1)

Роттариф=4500.00*3 =13500.00 руб.

С учетом уральского коэффициента (15%) общие расходы на оплату труда исполнителей составят:

Рот=Зп+Кур (3.2)

Кур=13500.00*0.15= 2025.00 руб.

Рот=13500.00+2025.00 = 15525.00 руб.

Отчисления в фонды резерва отпусков (10%) от расходов на оплату труда исполнителей:

РРезО=Рот*0.1 (3.3)

РРезО=15525.00 *0.1=1552.50 руб.

Статья “Социальные налоги” составляет 26,2 % от оплаты труда и предназначена для перечисления во внебюджетные государственные фонды:

– пенсионный (20%);

– обязательного медицинского страхования (3,1%);

– социального страхования (2,9%);

– обязательное страхование от несчастных случаев (0,2%).

Сумма по статье составляет:

Рсоц нал=(Рот+РРезО)*26.2/100 (3.4)

Рсоц нал=(15525.00 +1552.50)*26.2/100=4474.31 руб.

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

Стоимость одного машинного часа рассчитывается по формуле:

Ач = Сисп / (Чм * Кч), (3.5)

где Ач - аренда за час использования;

Сисп - общая стоимость использования оборудования (рассчитывается по формуле);

Чм - число месяцев в году;

Кч - количество рабочих часов в месяце.

Сисп=Акомп+Апо+ЗПобсл+Сзч+Сэл, (3.6)

где Акомп - амортизация компьютера и принтера за год эксплуатации;

АПО - амортизация программного обеспечения;

ЗПобсл - расходы обслуживающего персонала за год эксплуатации;

Сзч - стоимость запчастей для компьютера за год эксплуатации;

Сэл - стоимость израсходованной электроэнергии за год эксплуатации.

Акомп=Скомп/Спи, (3.7)

где Скомп - стоимость компьютера и принтера;

Спи - срок полезного использования (5 лет).

Акомп=34000/5=6800 руб.

А-по=Спо/Спи, (3.8)

где Спо - стоимость программного обеспечения;

Спи - срок полезного использования (5 лет).

Апо=10000/5=2000 руб.

Затраты на потребляемую от сети электроэнергию определяются по формуле:

Сэл=N*Тэксп*Сэ, (3.9)

где N - потребляемая мощность, кВт.; (220*(0.24+1.5+4)/v2=0.893 кВт)

Тэксп - продолжительность эксплуатации за год; (1920 ч.)

Cэ - стоимость 1 кВт.-ч. силовой энергии. (1.26 р./кВт)

Сэл=0.893*1920*1.26=2160.35 руб.

Стоимость годового использования составляет:

Сисп=6800+2000+2000+1000+2160.35 =13960.35 руб.

Соответственно аренда за час использования:

Ач=13960.35/(12*160)=7.27 руб.

ВТ использовалась на всех этапах разработки системы (см. табл. 3.1) Общее время эксплуатации ВТ составила Тисп=504 часа. Следовательно, сумма расходов на ВТ, т.е. на аренду составляет:

Рвт=А=Тисп*Ач (3.10)

Рвт=504*7.27 =3664.08 руб.

Статья “Накладные расходы” включает в себя затраты, связанные с содержанием управленческого персонала, на предприятии составляет до 130% основной заработной платы:

Нр=Рот*1.30 (3.11)

Нр=15525.00*1.30=20182.5 руб.

Статья “Прочие расходы” включает в себя расходы, неучтенные в предыдущих статьях (до 10% от основной заработной платы):

Пр=Рот*0.10 (3.12)

Пр=15525.00*0.10=1552.5 руб.

Табл. 9 отражает затраты по статьям и долю этих затрат в общей сумме. Долевое соотношение затрат представлено на рисунке 3.1

Таблица 9

Смета затрат на разработку системы

Статьи затрат

Сумма затрат, руб.

Расходы на материалы

340

Расходы на оплату труда исполнителей

17080

Социальные налоги

4470

Расходы на содержание ВТ

3660

Накладные расходы

20190

Прочие расходы

1550

Итого

47290

Структура затрат на разработку



Рис 3.1

4. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА

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

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

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

4.11 Анализ вредных и опасных производственных факторов

Постоянное напряжение глаз

Работа с компьютером характеризуется высокой напряженностью зрительной работы. Постоянное напряжение глаз может привести к снижению остроты зрения. Экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600…700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов. Также для снижения утомляемости рекомендуется делать 15-минутные перерывы в работе за компьютером в течение каждого часа.

Влияние электростатических и электромагнитных полей

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

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

Максимальный уровень рентгеновского излучения на рабочем месте оператора ком-пьютера обычно не превышает 10 мкбэр/ч, а интенсивность ультрафиолетового и ин-фра-красного излучений от экрана монитора лежит в пределах 10…100 мВт/м2 /18/.

Таблица 4.1

Допустимые значения параметров неионизирующих электро-магнитных излучений (в соответствии с СанПиН 2.2.2.542-96)

Наименование параметра

Допустимые значения

Напряженность электриче-ской составляющей электромагнитного

поля на расстоянии 50см от поверхно-сти видеомонитора

10В/м

Напряженность магнитной составляющей электромагнитного

поля на расстоянии 50см от поверхности ви-деомонитора

0,3А/м

Напряженность электростатического поля не должна превышать:

для взрослых пользователей

для детей дошкольных учреждений и учащихся

средних специальных и высших учебных заведений

20кВ/м

15кВ/м

Для снижения воздействия этих видов излучения рекомендуется применять мониторы с пониженным уровнем излучения (MPR-II, TCO-92, TCO-99), устанавливать защитные экраны, а также соблюдать регламентированные режимы труда и отдыха.

Длительное неизменное положение тела

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

Шум

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

Таблица 4.2

Предельные уровни звука, дБ, на рабочих местах

Категория

напряженности труда

Категория тяжести труда

I. Легкая

II. Средняя

III. Тяжелая

IV. Очень тяжелая

I. Мало напряженный

80

80

75

75

II. Умеренно напряженный

70

70

65

65

III. Напряженный

60

60

-

-

IV. Очень напряженный

50

50

-

-

Уровень шума на рабочем месте инженеров-программистов и операторов видеоматериалов не должен превышать 50дБА, а в залах обработки информации на вычислительных машинах - 65дБА. Для снижения уровня шума стены и потолок помещений, где установлены компьютеры, могут быть облицованы звукопоглощающими материалами.

4.2. Техника безопасности при работе с компьютером

Принцип защиты расстоянием

Основную опасность при работе с компьютером представляет электромагнитное излучение. Наиболее сильно оно проявляется в зоне до 30 см от экрана, а также от задней и боковых поверхностей. Поэтому монитор необходимо располагать так, чтобы глаза находились на расстоянии не ближе 60-70 см от экрана. Между боковыми поверхностями соседних компьютеров должно быть не менее 1,2м. При расположении рядами: между тыльными сторонами компьютеров должно быть не менее 2м. Рекомендуется располагать компьютеры вдоль стены.

Принцип защиты временем

По санитарным правилам и нормам СанПиН 2.2.2.542-96 «Гигиенические требования к видеодисплейным терминалам, персональным электронным вычислительным машинам и организации работы» /18/ виды трудовой деятельности подразделяются на три группы:

? группа А - работа по считыванию информации с экрана;

? группа Б - работа по вводу информации;

? группа В - творческая работа в режиме диалога с ЭВМ.

Деятельность разработчика программного обеспечения относится к группе В. При выполнении работ, относящихся к разным видам трудовой деятельности, за основную работу с ЭВМ принимают такую, которая занимает не менее 50% времени в течение рабочей смены или рабочего дня.

Для видов трудовой деятельности устанавливаются три категории тяжести и напряженности работ с ЭВМ и видеотерминалом (табл. 4.3).

Таблица 4.3

Категории тяжести и напряженности работ

Категория работы с ПК

Уровень нагрузки за рабочую смену при работе с ПК (max)

Суммарное время регламентированных перерывов, мин.

Группа А,

кол-во знаков

Группа Б,

кол-во знаков

Группа В,

кол-во часов

При 8-ми часовой смене

При 12-ти часовой смене

I

20 000

15 000

2

30

70

II

40 000

30 000

4

50

90

III

60 000

40 000

6

70

120

При 8-ми часовой рабочей смене и работе на ПК регламентированные перерывы следует устанавливать:

– для I-ой категории работ через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый;

– для II-ой категории работ через 2 часа от начала рабочей смены и через 1,5 - 2 часа после обеденного перерыва продолжительностью 15 минут каждый или 10 минут через каждый час работы;

– для III-ой категории работ через 1,5 - 2 часа от начала рабочей смены и через 1,5 - 2 часа после обеденного перерыва продолжительностью 20 минут каждый или 15 минут через каждый час работы.

При 12-ти часовой смене и работе на ПК регламентированные перерывы следует устанавливать: в первые 8 часов работы аналогично перерывам при 8-ми часовом рабочей смене, а в течении последующих 4-х часов работы не зависимо от категории и вида работ 15 минут через каждый час.

4.3. Электробезопасность при работе с компьютером

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

Любое воздействие тока может привести к электрической травме, то есть к повреждению организма, вызванному действием электрического тока или электрической дуги /19/.

При рассмотрении вопроса обеспечения электробезопасности разработчика необходимо выделить три основных фактора:

– электроустановки рабочего места программиста;

– вспомогательное электрооборудование;

– окружающая среда помещения.

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


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

  • Модели конвертирования образовательного контента. Основные объекты разрабатываемой автоматизированной системы. Диаграмма деятельностей для прецедента "Извлечение структуры документа". Структурная модель системы конвертирования контента, модель интерфейса.

    реферат [3,6 M], добавлен 30.03.2011

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

    курсовая работа [22,7 K], добавлен 07.11.2010

  • Классификация программ обработки текстовых документов. Общие принципы оформления издания. Правила набора текста. Системы распознавания текста (OCR). Комплекс программного обеспечения для настольных издательских систем. Примеры текстовых редакторов.

    презентация [75,0 K], добавлен 13.08.2013

  • Цели, задачи и виды, методы и направления обработки информации, современные системы. Проблемы, связанные с компьютерными способами обработки информации. Конвертирование текста из DJVU в PDF, преобразование из PDF в WORD, редактирование полученного текста.

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

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

    курсовая работа [63,7 K], добавлен 12.12.2010

  • Построение компилятора с языка высокого уровня как одного из элементов системы программирования. Разработка компилятора ассемблера, модификация базы данных исходного макета. Загрузчик, эмулятор, отладчик. Использование Flex и Bison для программирования.

    курсовая работа [599,0 K], добавлен 04.11.2014

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

    дипломная работа [767,2 K], добавлен 14.10.2010

  • Характеристика предприятия ТОО "Com Sales Group". Составление программ на языке программирования. Составление алгоритмов, разработка численных методов решения задач. Методы откладки программ. Анализ технологии машинной обработки экономической информации.

    отчет по практике [1,3 M], добавлен 19.04.2016

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

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

  • Перевод - процесс создания на основе исходного текста на одном языке равноценного ему в коммуникативном отношении текста на другом языке, требования к обеспечению его эквивалентности. Машинные технологии перевода; характеристика систем Translation Memory.

    презентация [347,8 K], добавлен 06.01.2014

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