2 - Специальный раздел (Конвертор для повышения эффективности перепрограммирования станков с ЧПУ), страница 2
Описание файла
Файл "2 - Специальный раздел" внутри архива находится в папке "Конвертор для повышения эффективности перепрограммирования станков с ЧПУ". Документ из архива "Конвертор для повышения эффективности перепрограммирования станков с ЧПУ", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 12 семестр (4 семестр магистратуры), которые можно найти в файловом архиве МПУ. Не смотря на прямую связь этого архива с МПУ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "дипломы" в общих файлах.
Онлайн просмотр документа "2 - Специальный раздел"
Текст 2 страницы из документа "2 - Специальный раздел"
3. Если Form1.NomerKadra.Checked, то переходим к п. 4.
4. nomerkadra(bufer).
5. Если Form1.PustoStr.Checked, то переход к п. 6.
6. pustostroka.
7. Bufer:= '.
8. Inc(m.
9. конец.
Условные обозначения, используемые в описании алгоритма, приведены в таблице 2.4.
Таблица 2.4 - Условные обозначения
Название | Описание |
Bufer | Переменная хранения строки |
Inc() | Функция увеличение значения |
DelProbel(bufer); | Функция удаления пробелов |
nomerkadra(bufer); | Функция восстановления нумерации кадров |
pustostroka; | Функция удаления пустых строк |
МГТУ «МАМИ»
10-УИ-к-С-9
2.4 Разработка алгоритма конвертирования
Алгоритм описывает конвертирование исходного текста программы для станков с ЧПУ. В результате программа пересчитывает все исходные координаты из одной системы программирования в другую.
Алгоритм выполняется по шагам.
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. конец.
Условные обозначения, используемые в описании алгоритма, приведены в таблице 2.4.
Обозначение | Расшифровка |
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 |
Таблица 2.4 – Условные обозначения
Схема алгоритма конвертирования изображена на листе 43.
NaytiKoordinatu(kadr,'X', vyh);
insert(Concat('X', s), kadr, uslovie);
PreobrazovanieMayak(X_nast, kadr);
NaytiKoordinatu(kadr,'Y', vyh);
PreobrazovanieMayak(Y_nast, kadr);
insert(Concat('Y', s), kadr, uslovie);
Insert('X' + s, kadr, uslovie);
Insert('Y' + s, kadr, uslovie);
Podhod_G41_G42_radius;
Podhod_G41_G42_line;
NaytiKoordinatu(kadr,'I',vyh);
preobrazovanieMAYAK(I,kadr);
NaytiKoordinatu(kadr,'J',vyh);
preobrazovanieMAYAK(J,kadr);
X_pred:= X_nast;
Y_pred:= Y_nast;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
МГТУ «МАМИ»
10-УИ-к-С-9
2.5 Разработка программного обеспечения
Программа-конвертер применяется для автоматизации процесса пересчёта исходного текста (кода) программ для станков с ЧПУ. При этом программа использует человеко-машинный интерфейс: человек выбирает, чем оперировать и параметры обработки данных, а программа выполняет все необходимые расчеты.
Для начала работы следует загрузить текстовый файл (программный код для станка с ЧПУ), и задать параметры его обработки. После этого программа производит пересчёт координат из данной в заданную систему программирования.
Программа разработана в среде программирования Borland Delphi 7.
2.5.1 Функциональное назначение
Программа выполняет конвертирование (пересчёт) исходных координат в заданную систему ЧПУ. Программа использует алгоритмы, описанные в подразделах 2.2-2.4.
Для функционирования программы необходим следующий комплекс технических средств:
-
процессор Pentium III 500 МГц и выше;
-
подсистема занимает около 5 Мб оперативной памяти. Дополнительно к этому программа выделяет дополнительную память под текстовые файлы, загруженные в её оболочку;
-
для размещения ОС Windows XP и прикладных задач на жестком диске необходимо минимально 1,5 Гб свободного пространства. На диске программа занимает 625 килобайт памяти. Дополнительное место на диске занимают текстовые файлы используемые программой, а также файлы создаваемые программой. С учетом этого на диске необходимо выделить достаточное пространство для всех файлов (от 10 Мб и выше);
-
видеоподсистема с объемом памяти 32 Мб;
-
цветной SVGA монитор с диагональю не менее 15’’ и разрешением не ниже 800x600 (рекомендуется 1024x768);
-
русифицированная клавиатура;
-
манипулятор «мышь».
2.5.2 Описание информации
Вся входная и выходная информация – это текстовые файлы, написанные программистом вручную либо сгенерированные специальной графической программой обработки.
2.5.3 Используемые подпрограммы
В программе использованы следующие подпрограммы:
-
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.6 Контрольный пример
Контрольный пример предназначен для проверки корректности работы программы. В качестве исходных данных использовался текстовый файл программы обработки. В результате обработки (конвертирования) правильной исходной программы получается полностью работоспособная программа для станков с ЧПУ. Обработка подразумевает использование всех методов конвертирования. При использовании заведомо неверных координат и создании исключительных ситуаций выдается сообщение об ошибке.
В результате обработки данных контрольного примера получены текстовые файлы для различных систем программирования. Они проверены и просчитаны вручную и полностью соответствуют выбранной системе конвертирования.
46