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; | Функция удаления пустых строк |
Алгоритм описывает конвертирование исходного текста программы для станков с ЧПУ. В результате программа пересчитывает все исходные координаты из данной системы программирования в заданную.
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;
Таблица 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
Программа «Наладчик» применяется для автоматизации процесса пересчёта исходного текста (кода) программ для станков с ЧПУ. При этом программа использует человеко-машинный интерфейс: человек выбирает, чем оперировать и параметры обработки данных, а программа выполняет все необходимые расчеты.
Для начала работы следует загрузить текстовый файл (программный код для станка с ЧПУ), и задать параметры его обработки. После этого программа производит пересчёт координат из данной в заданную систему программирования.
Программа имеет обозначение «Наладчик», разработана в среде программирования BorlandDelphi 7.
Программа выполняет конвертирование (пересчёт) исходных координат в заданную систему ЧПУ. Программа использует алгоритмы, описанные в подразделах 2.2-2.4.
Для функционирования программы необходим следующий комплекс технических средств:
– процессор IBMсовместимый 486 и выше;
– подсистема «Наладчик» занимает около 5 Мб оперативной памяти. Дополнительно к этому программа выделяет дополнительную память под текстовые файлы, загруженные в её оболочку;
– для размещения ОС Windows XP и прикладных задач на жестком диске необходимо минимально 1,5 Гб свободного пространства. На диске программа занимает 625 килобайт памяти. Дополнительное место на диске занимают текстовые файлы используемые программой, а также файлы создаваемые программой. С учетом этого на диске необходимо выделить достаточное пространство для всех файлов (от 10 Мб и выше);
– видеоподсистема с объемом памяти 32 Мб;
– цветной SVGA монитор с диагональю не менее 15’’ и разрешением не ниже 800x600 (рекомендуется 1024x768);
– русифицированная клавиатура;
– манипулятор «мышь».
Вся входная и выходная информация – это текстовые файлы, написанные программистом вручную либо сгенерированные специальной графической программой обработки.
В программе использованы следующие подпрограммы:
– 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.8.
Логическая схема
Рис. 2.8
Контрольный пример предназначен для проверки корректности работы программы.
В качестве исходных данных использовался текстовый файл программы обработки.
В результате обработки (конвертирования) должна получиться полностью работоспособная программа для станков с ЧПУ. Обработка подразумевает использование всех методов конвертирования. А так же с использованием завед7омо неверных координат, с целью их автоматического преобразования программой, и создание исключительных ситуаций для обработки и их устранения.
В результате обработки данных контрольного примера получены текстовые файлы для различных систем программирования. Они были проверены и просчитаны вручную и полностью соответствуют выбранной системе конвертирования.
Система конвертирования является самостоятельной программой предназначенной для полного анализа, пересчёта и исправления ошибок в текстах программ для станков с ЧПУ. Разрабатываемая система служит на производстве в течение уже нескольких лет и зарекомендовала себя с лучшей стороны.