Смекни!
smekni.com

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

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

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

Рис. 2.7

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

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

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

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

Программа имеет обозначение «Наладчик», разработана в среде программирования BorlandDelphi 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.

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

Рис. 2.8

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

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

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

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

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

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

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

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

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

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

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

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