2 - Специальный раздел (Конвертор для повышения эффективности перепрограммирования станков с ЧПУ)

2018-02-16СтудИзба

Описание файла

Файл "2 - Специальный раздел" внутри архива находится в папке "Конвертор для повышения эффективности перепрограммирования станков с ЧПУ". Документ из архива "Конвертор для повышения эффективности перепрограммирования станков с ЧПУ", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МПУ. Не смотря на прямую связь этого архива с МПУ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "дипломы" в общих файлах.

Онлайн просмотр документа "2 - Специальный раздел"

Текст из документа "2 - Специальный раздел"

2 СПЕЦИАЛЬНЫЙ РАЗДЕЛ

2.1 Разработка структуры программы

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

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

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

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

С учетом этого конвертор с одного языка на один другой имеет обобщенную структурную схему, изображенную на рисунке 2.1.

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

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

- функцию генератора для результирующей программы.

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

Таблица идентификаторов



Исходная программа

Блок анализа

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

Блок синтеза





Результирующая программа

Блок анализа и локализации ошибок


Сообщение об ошибке


Рисунок 2.1 - Обобщенная структурная схема конвертора (один канал)

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

В соответствии с теорией построения компиляторов блок анализа решает три задачи:

- лексический анализ;

- синтаксический разбор;

- семантический анализ.

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

2.2 Разработка математического обеспечения

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

Рисунок 2.2 - Расположение осей координат в станках с ЧПУ (а); правосторонняя система координат (б)

Математический переход из системы ПК в систему Маяк осуществляется по следующей методике, которая показана на примере расчёта радиусов по G2, G3 (круговой интерполяции).

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

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

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

Рисунок 2.3 - Эскиз обрабатываемой детали (контура)

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

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

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

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

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

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

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

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

I = X_pred + I;

J = Y_pred + J

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

Таблица 2.1 - Результаты преобразования

Входные данные (Маяк)

Выходные данные (ВМ)

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

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

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

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

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

Эскиз линейных заходов на эквидистанту контура детали по G41 G42 представлен на рисунке 2.4.

Рисунок 2.4 - Эскиз линейных заходов на эквидистанту контура детали по G41 G42

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

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

I = X_sled – X_nast;

J = Y_sled – Y_nast,

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

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

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

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

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

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

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

Таблица 2.2 - Результаты преобразования

Входные данные (Маяк)

Выходные данные (ВМ)

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.2 следует, что изменению подверглись кадры №2, 3, 4.

Эскиз заходов по радиусу на эквидистанту контура детали по G41 G42 изображен на рисунке 2.5

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

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

Рисунок 2.6 – Выбор вектора направления в зависимости от четверти

Расчет осуществляется в соответствии с логическими условиями.

Сначала рассчитывается значение (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,

где J_nast – значение J в обрабатываемом кадре;

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

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

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

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

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

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

Расчет производится по формулам:

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.3 Разработка алгоритмического обеспечения

2.3.1 Разработка обобщенного алгоритма программы конвертирования

Схема обобщенного алгоритма программы-конвертера приведена на листе 39.

2.3.2 Разработка алгоритма метода выбора обработки

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

Алгоритм выполняется по шагам.

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.

. vm_mayak(bufer).

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

8. mayak_vm(bufer).

9. Bufer:= ''.

10. Inc(m).

11. конец.

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

Таблица 2.3 - Условные обозначения

Обозначение

Расшифровка

bufer

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

pc_mayak(bufer);

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

pc_vm(bufer);

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

vm_mayak(bufer);

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

mayak_vm(bufer);

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

Form2.MAYAK_VM.Checked

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

Bufer

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

Inc()

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


Схема алгоритма модуля выбора метода обработки изображена на листе 40.

2.3.3 Разработка алгоритма выбора вспомогательных методов обработки

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

Алгоритм выполняется по шагам.

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

2. DelProbel(bufer).

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее