- •Оглавление
- •Глава 8. Отладчик алгоритмов 91
- •Глава 1. Основные положения
- •1.1. Этапы работы системы
- •1.2. Общие термины и понятия
- •1.3. Задачи, решаемые адаптером
- •1.3.1. Определение имени станка
- •1.3.2. Определение номера постпроцессора
- •1.3.3. Преобразование команд cldata в слова и кадры уп
- •1.3.4. Компоновка кадров управляющей программы
- •Глава 2. Этапы создания постпроцессора
- •2.1. Состав постпроцессора
- •2.2. Действия пользователя при написании постпроцессора
- •2.3. Распечатка файлов постпроцессора
- •2.4. Трансляция файла алгоритмов
- •2.5. Просмотр результатов работы постпроцессора
- •2.2. Отладка постпроцессора
- •Глава 3. Формирование паспорта станка
- •3.1. Действия пользователя
- •Содержимое паспорта станка
- •Оборудование
- •Шпиндель, подача, охлаждение.
- •3.1. Возможность программного управления охлаждением.
- •3.2. Место выдачи в уп команды включения/выключения сож.
- •Инструмент.
- •Корректоры.
- •1.1. Место выдачи в уп команд включения линейных корректоров.
- •1.2. Место выдачи в уп команды включения радиусного корректора.
- •Перемещения.
- •Интерполяторы.
- •Параметры управляющей программы.
- •Глава 4. Формирование файла макрокоманд
- •4.1. Действия пользователя
- •4.2. Пример формирования файлов макрокоманд
- •Глава 5. Формирование макета кадра
- •5.1. Формат вывода
- •5.2. Формирование окон различных типов
- •5.3. Действия пользователя
- •Глава 6. Формирование файла алгоритмов
- •6.1. Арифметические действия и функции в алгоритмах
- •6.2. Команды алгоритмов
- •6.3. Пример работы с трансформами.
- •Примеры работы с пользовательскими командами и циклами
- •Пример работы с пользовательскими командами
- •Пример работы с пользовательскими циклами
- •6.5. Действия пользователя
- •6.6. Пример формирования файла алгоритмов
- •Глава 7. Системные переменные.
- •7.1. Координаты инструмента
- •7.2. Круговая интерполяция
- •7.3. Последующие перемещения инструмента
- •Совмещенные перемещения.
- •7.5. Геометрия и номер позиции инструментов
- •7.6. Включение/выключение корректоров
- •7.7. Выстой
- •7.8. Положение металла
- •7.9. Управление шпинделем
- •7.10. Управление подачей
- •7.11. Резьба
- •Учетные параметры программы, детали и станка
- •7.13. Постоянные циклы
- •7.14. Координаты безопасной позиции
- •7.19. Работа с подпрограммами.
- •7.20. Системные переменные для работы с контурами и clData.
- •7.21. Системные переменные для работы с пользовательскими функциями.
- •7.23. Системные переменные для работы с элементами контуров.
- •7.24. Вспомогательные переменные
- •Пользовательские переменные
- •Глава 8. Отладчик алгоритмов
- •Приложение а. Команды cldata
- •Приложение б. Пример паспорта станка
- •Пpиложение в. Пpимеp файла макрокоманд
- •Приложение г. Пример макета кадра
- •Пpиложение д. Пpимеp файла алгоритмов
6.5. Действия пользователя
Сформировать новый файл алгоритма
Нажмите кнопкуСоздать. Откроется окно с пустым текстовым файлом. При создании нового постпроцессора окно алгоритма создается автоматически.
Открыть алгоритм
Нажмите кнопкуОткрытьи выберите файл алгоритма. Система откроет выбранный файл. При открытии постпроцессора окно алгоритма открывается автоматически.
Сохранить изменения в алгоритме
Нажмите кнопкуСохранитьСистема сохранит изменения в текущем алгоритме. При сохранении постпроцессора и выполнения трансляции алгоритм сохраняется.
Рис. 14. Текст алгоритма.
Алгоритм формируется и редактируется в текстовом виде. Перед трансляцией алгоритма в файл система проверяет его на наличие ошибок.
Примечание: |
|
6.6. Пример формирования файла алгоритмов
Необходимо сформировать файл алгоритмов постпроцессора с номером 1 для токарного станка, т. е. занести в него алгоритмы следующих команд:
Линейная интерполяция,
Круговая интерполяция,
Включить подачу,
Включить ускоренное пеpемещение,
Включить шпиндель,
Включить охлаждение,
Сменить инструмент,
Выключить шпиндель,
Выключить охлаждение,
Конец управляющей программы.
Вызываем окно диспетчера постпроцессоров и устанавливаем его номер – 1.
Можно начать с составления алгоритма на любую из команд CLDATA. Мы начнем с инициализации номеров окон макета кадра в алгоритме команды Программа, ее код равен 1. (Полный список команд с их кодами смотрите вПриложении А.)
Предположим, макет кадpа постпроцессора 1 имеет следующий вид:
N[]G[]X[]Z[]I[]K[]F[]T[]S[]M[]L[]*[]
Пользовательской переменной _G присвоим номер окна G[]в макете кадра. Для этого введем в алгоритм строку
_G=2;
Таким образом, инициализируем все номера окон макета кадра. Алгоритм после окончания набора примет следующий вид:
1;
_G=2;
_X=3;
_Z=4;
_I=5;
_K=6;
_F=7;
_T=8;
_SK=9;
_M=10;
_L=11;
END;
Так как все номера окон макета инициализированы, закончим на этом составление алгоритма команды с кодом 1.
Вводим код команды Линейная интерполяция, ее код равен 181.
Предположим, что управляющая программа формируется в приращениях, приращение по оси X записывается в кадре с адресом X, приращение по оси Z записывается в кадре с адресом Z. Нулевые приращения по оси не формируются.
Сформируем алгоритм отработки команды. Чтобы сформировать ненулевое пеpемещение по оси X, занесем в окно X[] его величину. Для этого введем строку алгоритма:
IF DX!=0 _X->DX;
Аналогично сформируем ненулевое перемещение по оси Z:
IF DZ!=0 _Z->DZ;
Оформим информацию в виде кадра. Для этого введем команду алгоритма:
КАДР;
На экране:
181;
IF DX!=0 _X->DX;
IF DZ!=0 _Z->DZ;
КАДР;
END;
Вводим код команды Круговая интерполяция, ее код равен 183.
Предположим, что круговая интерполяция формируется в приращениях. Приращение по оси X записывается в кадре по адресу X, приращение по оси Z записывается в кадре по адресу Z, ненулевая абсолютная разница координат по оси X начальной точки дуги и центра дуги записываются по адресу I, ненулевая абсолютная разница координат по оси Z начальной точки дуги и центра дуги записываются по адресу K. Движение по часовой стрелке задается функцией G2, против часовой стрелки – G3.
Сформируем алгоритм:
183;
_X->DX;
_Z->DZ;
IF ХЦОКP!=XC _I->ABS(XЦОКP-XC);
IF ZЦОКP!=ZC _K->ABS(ZЦОКP-ZC);
IF НАПPОКP=ЧС _G->2;
ELSE _G->3;
КАДР;
END;
Следующая команда: Включить подачу, код 23.
Предположим, что величина рабочей подачи формируется по адресу F. Сформируем алгоритм отработки команды:
23;
_F->S;
END;
Обратите внимание, что в алгоритме нет команды КАДР. Это значит, что информация в кадр будет выведена в последующих командах.
Следующая команда: Включить ускоренное пеpемещение, код 25.
Предположим, что величина ускоренного перемещения равна 70000 и формируется она по адресу F. Сформируем алгоритм отработки команды:
25;
_F->70000;
END;
Следующая команда: Включить шпиндель, код 24.
Предположим, что величина оборотов шпинделя задается по адресу S. Направление вращения по часовой стрелке определяет функция M3, против часовой стрелки – M4. Сформируем алгоритм отработки этой команды:
24;
_S->N;
IF НВШП=ЧС -M->3;
ELSE _M->4;
END;
Следующая команда: Включить охлаждение, код 26.
Предположим, что охлаждение включается функцией M8. Сформируем алгоритм отработки этой команды:
26;
_M->8;
END;
Следующая команда: Сменить инструмент, код 35.
Предположим, что номер позиции инструмента устанавливается по адресу T, а команда на загрузку инструмента задается функцией M6. Все должно быть оформлено отдельным кадром. Сформируем алгоритм отработки этой команды:
35;
КАДР;
_T->ТИНСТР;
_M->6;
КАДР;
END;
Следующая команда: Выключить шпиндель, код 701.
Предположим, что выключение шпинделя задается функцией M5. Все должно быть оформлено отдельным кадром. Сформируем алгоритм отработки этой команды:
701;
КАДР;
_M->5;
КАДР;
END;
Следующая команда: Выключить охлаждение,код 700.
Предположим, что выключение охлаждения задается функцией M9. Все должно быть оформлено отдельным кадром. Сформируем алгоритм отработки этой команды:
700;
КАДР;
_M->9;
КАДР;
END;
Последняя команда: Конец управляющей программы,код 4.
Предположим, что конец управляющей программы задается функцией M2. Все должно быть оформлено отдельным кадром. Сформируем алгоритм отработки этой команды:
4;
КАДР;
_M->2;
КАДР;
END;
Итак, мы создали все необходимые алгоритмы
1;
_G=2;
_X=3;
_Z=4;
_I=5;
_K=6;
_F=7;
_T=8;
_S=9;
_M=10;
_L=11;
END;
181;
IF DX!=0 _X->DX;
IF DZ!=0 _Z->DZ;
КАДР;
END;
183;
_X->DX;
_Z->DZ;
IF ХЦОКP!=XC _I->ABS(XЦОКP-XC);
IF ZЦОКP!=ZC _K->ABS(ZЦОКP-ZC);
IF НАПPОКP=ЧС _G->2;
ELSE _G->3;
КАДР;
END;
23;
_F->S;
END;
25;
_F->70000;
END;
24;
_S->N;
IF НВШП=ЧС _M->3;
ELSE _M->4;
END;
26;
_M->8;
END;
35;
КАДР;
_T->ТИНСТР;
_M->6;
КАДР;
END;
701;
КАДР;
_M->5;
КАДР;
END;
700;
КАДР;
_M->9;
КАДР;
END;
4;
КАДР;
_M->2;
КАДР;
END;
END;
После завершения процесса формирования файла алгоритмов сохранимсозданный файл постпроцессора под номером: 1.