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

Разработка программы «Наладчик» и ее подсистем будет вестись с использованием среды для разработки приложений 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 – поворотное устройство.   

                            


Рис. 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_sledY_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

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.