Text
                    ИНТЕРАКТИВНАЯ
СИСТЕМА
АВТОМАТИЗАЦИИ
______ ПОДГОТОВКИ
I_____ПРОГРАММ
ДЛЯ СТАНКОВ
СЧПУ
1ка»

ИНТЕРАКТИВНАЯ СИСТЕМА АВТОМАТИЗАЦИИ ПОДГОТОВКИ ПРОГРАММ ДЛЯ СТАНКОВ СЧПУ КиТв “Техшка” 1992
ББК 34.5-5-01 И73 УДК 621.941 Авторы: Ю.НЖамафвгЮ.В.Шевчук, С.Ю.Плотников, С.П.Горкун, В.Н.Теличенко Рецензент канд. техн, наук А.Е.Полонський Зав.редакиДсю Т.Т.Ревяко Описана работающая на персональных ЭВМ система подготовки управляющих про- грамм для станков с ЧПУ ИнтерСАП как подсистема АРМ ЧПУ. На большом количестве примеров рассмотрены возможности входного языка. Приведена библиотека макросредств для описания обработки тел вращения. Даны примеры действующих подпрограмм для разработки постпроцессоров. Большое внимание уделено перспективе развития ИнтерСАП. Рассчитана на инженерно-технических работников металлообрабатывающей промыш- ленности. Может быть полезна студентам вузов соответствующих специальностей. и 2704010000-096 g2 QI 202-92 ISBN 5-335-00544-0 © Камаев Ю.Н., Шевчук Ю.В., Плотников С.Ю., Горкун С.П., Теличенко В.Н., 1992
ПРЕДИСЛОВИЕ В течение последних 10 лет уровень автоматизации труда рабо- чего на машиностроительном производстве, оснащенного совре- менным оборудованием с ЧПУ, вырос более чем в 10 раз, т. е. на 1000 %, а уровень автоматизации труда инженера (конструктора и технолога) — на 20 %, в основном за счет более удобных средств оргтехники. Разницу между этими уровнями в 50 раз хорошо де- монстрирует отечественная промышленность, которая резко от- стает от развитых стран по темпам разработки и освоения серий- ного выпуска всех изделий машиностроения, приборостроения, электроники. В развитых странах задачу автоматизации труда ин- женера взял на себя компьютер, и прежде всего персональный компьютер. Однако низкий уровень автоматизации инженерного труда в нашей стране зависит не только от количества компьюте- ров. Основными причинами являются следующие экономико-орга- низационные факторы: 1) отсутствие конкуренции (монополия производства), что не способствует повышению эффективности инженерного труда. Отсюда низкое качество разработок; 2) отсутствие реального хозрасчета, что позволяет руководи- телям инженерных служб держать «лишних» сотрудников (часто более 50 %) для выполнения различных работ: сельскохозяй- ственных, строительных и т. п.; 3) низкий уровень оплаты труда инженера (в среднем 2500 р. в год) и высокая стоимость компьютеров (самые дешевые ПЭВМ типа ДВК-3, ЕС 1840 с очень ограниченными ресурсами стоят 10—12 тыс. р.). В условиях хозрасчета руководителю выгоднее взять на работу пять инженеров, чем покупать компьютер, в который необходимо вкладывать еще много средств (например, стоимость программного обеспечения в несколько раз выше стои- мости самой ЭВМ). Для сравнения: в США средняя зарплата инженера не менее 30 тыс. долларов в год, а стоимость хорошего компьютера 3 тыс долларов. В этой ситуации очевидна экономи- ческая необходимость замены человека компьютером. В настоящее время факторами, способствующими интенсифи- кации труда инженера в нашей стране, могут быть названы: автоматизация монотонного расчетного процесса, примером которого может служить процесс подготовки управляющих про- грамм для станка с ЧПУ; работа на более современном, престижном оборудовании; возможность профессионального роста; необходимость загрузки дорогостоящего оборудования (ком- пьютеры, станки с ЧПУ, роботы). 3
Таким образом, в настоящее время в отечественной промыш- ленности делается попытка закрыть узкие места за счет автомати- зации инженерного труда при решении некоторых задач. Одной из таких задач является подготовка управляющих про- грамм для оборудования с ЧПУ. Эта задача потребляет до 30 % [2] ресурсов технологической подготовки механообрабатывающе- го производства. Автоматизация труда инженера-технолога требует организа- ции удобных и доступных рабочих мест. До тех пор, пока на пред- приятиях доминировали ЭВМ серии ЕС, доступ к терминалам этих ЭВМ для технологов был резко ограничен, поскольку на ВЦ пред- приятия преобладают задачи АСУ. Поэтому психологически и ор- ганизационно технологу такой режим работы неудобен. Появление ЭВМ серии СМ и персональных компьютеров су- щественно приблизило ВЦ к технологам. Однако состояние отече- ственной вычислительной техники, монополизм отраслей (мини- стерств) привели к тому, что у нас выпускается очень большое количество наименований (типов) ЭВМ, программно практически несовместимых друг с другом. Одним из примеров выпуска такой техники является ЭВМ Искра 226. Другим примером пороков ве- домственности является выпуск персональных компьютеров типа IBM PC несколькими министерствами. Эти компьютеры, имею- щие один прототип, сделаны на разных конструктивах, с различ- ными внешними устройствами и являются ярчайшим примером бесхозяйственности. Несовместимость технических средств заставляет разработчи- ков программного обеспечения многократно повторять свою рабо- ту. Часто прекрасное математическое обеспечение, сделанное для ЭВМ одного типа, эксплуатируется узким кругом пользователей. Поэтому при разработке программного обеспечения одной из наи- более актуальных проблем является проблема мобильности. Решая эту проблему, разработчики ИнтерСАП создали про- граммное обеспечение, которое может работать на всех моделях отечественных ЭВМ — от серии СМ (модели СМ 1300 — СМ 1700) до персональных компьютеров типа ДВК-2М, ДВК-3, Электрони- ка-85, ЕС 1840/41, Искра 1030, Нейрон, Правец-16, IBM PC. Второй проблемой, которую решили разработчики ИнтерСАП, является проблема эффективной работы инженера-технолога с ЭВМ в режиме диалога (интерактивный режим). ИнтерСАП по- зволяет организовать: 1) диалог при вводе и отладке текста УП, позволяющий быстро исправить синтаксические ошибки; 2) графический диалог путем изображения траектории дви- жения инструмента на экране дисплея, позволяющий устранить геометрические ошибки, составляющие более 70 % всех ошибок. Двухуровневый диалог значительно упрощает и ускоряет рабо- ту технолога. В основу разработки ИнтерСАП положен ряд принципов: 1) гибкость системы, обеспечивающая перестройку на новые 4
типы оборудования с ЧПУ и новые классы обрабатываемых де- талей; 2) мобильность и компактность программного обеспечения; использование различных мини- и персональных ЭВМ; 3) диалоговый режим проектирования УП; 4) этапность разработки — каждый этап разработки програм- много обеспечения системы находит отражение в законченной вер- сии, сохраняющей полную совместимость с младшими версиями; 5) простота в освоении и эксплуатации. Реализация указанных принципов обеспечила высокую по сравнению с аналогичными системами эффективность ИнгерСАП на предприятиях приборостроительной и машиностроительной про- мышленности. Цель данной книги — изложить для технологов, работающих с оборудованием с ЧПУ, основные методы и средства разработки УП. Авторы выражают благодарность коллективу кафедры-автома- тизации проектирования энергетических и производственных си- стем Киевского политехнического института за помощь при напи- сании книги. В создании книги принимали также участие инженеры: Л. М. Осадчук (примеры программ к гл. 1), П. Н. Соловей (библи- отека макросов к гл. 2), М. Ф. Кадисов, С. М. Кудин (програм- мное обеспечение пакета АЛЬФА-ЗВ) и студенты КПИ П. Н. Бон- дарь и А. А. Демьяненко (разработка постпроцессоров). Авторы многим обязаны специалистам промышленных пред- приятий, активно использующим ИнтерСАП: В. Г. Пилипенко (ПО «Завод „Арсенал"»), А. Е. Народицкому (Опытный завод НПО «Молния»), А. Л. Зубко (завод КИНАП), В. И. Глозману (Опытный завод НИИ «Квант»), М. В. Каштанову (ПО «Томак»), А. Э. Полонскому (КОЭЗГП), А. Д. Паламарчуку (завод «Эта- лон»), В. В. Трещуну (ПО «Веда») и др. Отзывы и пожелания просим направлять по адресу: 252601 Киев, 1, ул. Крещатик, 5. Издательство «Тэхника».
Глава 1 ИНТЕРАКТИВНАЯ СИСТЕМА АВТОМАТИЗАЦИИ ПРОЕКТИРОВАНИЯ УПРАВЛЯЮЩИХ ПРОГРАММ 1.1. СТРУКТУРА ИНТЕРСАП Система ИнтерСАП является базовым компонентом програм- много обеспечения автоматизированного рабочего места (АРМ) технолога машиностроительного производства. АРМ технолога автоматизирует наиболее трудоемкие процессы в работе техноло- га: проектирование процесса обработки на станках с ЧПУ и фор- мирование технологической документации; разработку управляю- щих программ (УП). Для выполнения этих задач программное обеспечение АРМ содержит следующие подсистемы (рис. 1): I) монитор АРМ — организует взаимодействие технолога со всеми подсистемами АРМ. Кроме организации управления и вза- имодействия всех подсистем обеспечивает возможность редакти- рования любых текстовых файлов, режим пакетной обработки, архивизацию программ пользователя; 2) ИнтерСАП — обеспечивает разработку УП для обработки деталей всех типов на любом оборудовании с ЧПУ; 3) DePCI — технологический интерфейс типа CAD/CAM меж- ду системами AutoCAD и ИнтерСАП, обеспечивающий разра- ботку УП по конструкторской документации, сделанной при по- мощи системы AutoCAD; 4) АЛЬФА-ЗО — обеспечивает разработку УП для обра- ботки сложных поверхностей (например, штампов, пресс-форм). АЛЬФА-ЗО позволяет программировать обработку поверхнос- Рис. 1. Структура программного обеспечения АРМ ЧПУ 6
тей, описанных различными способами: кинематическим, точеч- ным (каркасным), аналитическим; 5) ДИПОЛЬ — автоматизация проектирования технологиче- ской документации (маршрутной и операционной карты, ведо- мостей оборудования, оснастки, материалов и пр.) в соответствии с ГОСТ 3.1118—82; 6) подсистема графического контроля — позволяет получить изображение файла CLDATA, полученного ИнтерСАП или АЛЬФА-ЗВ, на экране дисплея, принтере или графопостроителе. Подсистема осуществляет: прорисовку траектории движения ин- струмента в проекциях на плоскости и в изометрической проекции; прорисовку чистового контура детали, полученного моделирова- нием процесса обработки; получение изображения твердотель- ной модели детали; 7) библиотека постпроцессоров — содержит более 50 типов постпроцессоров для всех видов отечественного и зарубежного оборудования с ЧПУ (см. приложение). При формировании биб- лиотеки использовалась технология индивидуальной сборки пост- процессора из готовых блоков. Система ИнтерСАП построена по принципу процессор — пост- процессор. Это означает, что в ИнтерСАП имеется основной вы- числительный блок — процессор, предназначенный для решения задач формирования траекторий движения инструментов, и биб- лиотека согласующих программных блоков — постпроцессоров, преобразующих результат работы процессора в управляющую программу (УП) в кодах универсального числового программного управления (УЧПУ) конкретного станка (рис. 2). Процессор построен по схеме интерпретатора, что позволяет организовать интерактивный режим от- ладки УП. Это означает, что при обнаружении син- таксической ошибки в стро- ке процессор останавли- вает обработку текста УП, выдает на экран сообще- ние об ошибке и дает воз- можность технологу, ис- пользуя редактор строки, исправить ошибку. Если ошибка исправлена пра- вильно, процессор продол- жает просмотр текста УП на входном языке. Резуль- татом работы процессора является промежуточный файл формата CLDATA. Этот файл состоит из запи- Рис. 2. Структура системы ИнтерСАП 7
сей фиксированной длины, каждая из которых несет информацию, достаточную для формирования постпроцессором кадра или группы кадров УП. Одним из основных преимуществ реализации ИнтерСАП на ПЭВМ является возможность организации эффективного графи- ческого контроля УП, обеспечивающего второй уровень интер- активного режима отладки УП. В этом случае технолог по графи- ческим изображениям траектории движения, контура детали, твер- дотельной модели детали может судить о правильности сформи- рованной УП. Ошибки, обнаруженные на этом уровне, исправля- ются корректировкой УП на языке ИнтерСАП при помощи тексто- вого редактора. Современные ПЭВМ типа IBM PC/XT, АТ, снабженные жест- ким диском, позволяют эффективно использовать ИнтерСАП как автономно, так и в составе АРМ технолога. Благодаря опти- мальной конструкции процессора ИнтерСАП может работать на отечественных ПЭВМ без жесткого диска (Искра 1030, Нейрон, ЕС 1840/41, а также ДВК-2М, ДВК-3). 1.2. ВХОДНОЙ ЯЗЫК ИНТЕРСАП. ОСНОВНЫЕ ПОНЯТИЯ От проблемно ориентированных языков САП УП, применяе- мых в промышленности на мини-ЭВМ, язык ИнтерСАП отли- чается: универсальным макроаппаратом; средствами, реализующими программный интерфейс CAD/ САМ; эффективными методами проектирования сложных траекторий; способами автоматизации операций, сопутствующих проекти- рованию УП: расчет режимов резания, выбор инструмента и ос- настки; эффективными средствами преобразования систем координат; эффективными средствами обработки геометрических масси- вов большого объема; лаконичностью и наглядностью языка. Программа. Структура программы Программа на языке ИнтерСАП представляет собой последо- вательность строк, в которых описан алгоритм обработки детали. Программа имеет следующую структуру: Описание геометрических объектов, используемых для формирования траектории движения инструмента Описательная часть Технологические команды, команды-Л перемещения I Исполнительная | часть Конец ) Текст про- граммы на языке Интер- САП Описательная и исполнительные части выделены чисто услов- но, так как описательные и исполнительные строки могут чередо-
ваться в программе; важно только, чтобы описания предшество- вали их использованию. Текст описания, команды или строки комментариев начинаются с любой позиции. Количество символов в одной строке не более 75. Метка начинается с символа «:» и записывается одна в строке. Имена в программе Для описания в программе переменных величин (геометриче- ских объектов, меток, макросов, циклов) используются наборы символов, состоящие из букв и цифр и начинающиеся с буквы. Количество символов не более 6. Геометрический объект Пример записи Имя точки начинается с буквы Т Имя прямой начинается с буквы L Имя окружности начинается с буквы К Имя кривой, заданной таблично, начинается с буквы С Имя списка начинается с буквы S Имя метки начинается с символа: ТХ16 L17 КТ47 СР 136 S1768 :CIKL Имя арифметической переменной начинается с любой буквы и не должно совпадать с именами геометрических объектов и ключевыми Р176М словами станка языка Имя массива простых геометрических объектов (то- чек, прямых, окружностей) начинается соответ- ственно с букв Т, L, К Имя массива арифметических переменных начи- нается с любой буквы (но не с Т, L, К, S, С) Имя подпрограммы определяется меткой Имя макроса начинается с символа > и заканчивается символом ; Имя цикла начинается со служебного слова CIKL K(J-F1) N176R(N) >ТОР1; CIKL, DRILL Служебные слова языка ИнтерСАП F, S, ХМ, ХВ, YM, YB, SP, SL, РО, PR, DT, DP, DZ, DS, NT, UG, KO, NA, ES, VNE, VNU, DET, PAR, VKL, VIK, PIS, OHL, USK, KOR, PVR, RAV, BOL, MEN, CAL, RET, STR, TRN, MAS, STOP, EKVD, ZAGR, INST, VSPM, PODG, PBEZ, CIKL, GMAS, MATR, OTVOD, TRANS, NETRN, PAUSA, VIVOD, WODT, OTMEN, USTOP, PRKOR, DOMOJ, OTMET, KOMEN, PAZGN, KONEC, ROBOT, RUKA, SPN, SPK, SPLAIN, KULAK 1.2.1. Элементы языка ИнтерСАП Стуктура языка Для записи программы используют следующие символы: буквы русского или латинского алфавита, цифры 0,1, 2, 3, 4, 5, 6, 7, 8, 9; символы: « » — пробел; «,» — запятая; «.» — точка; <=»— равно; «4-» — плюс; минус; «jjc» — звездочка; «/» — наклонная черта; «;>— точка с запятой; <(» — левая скобка; «)» — правая скобка; «:» — двоеточие; @ — коммерче- ское И. 9
Структура описания простых геометрических объектов (точка, прямая, окружность) Имя простого геометриче- ского объекта имена ранее определенных простых геометрических объектов. Рис. 3. Точка, опреде- ляемая пересечением двух прямых (T3>L1, L2 или T3>L2, L1) Пример. Имя точки > имя 1-й пря- мой, имя 2-й прямой. В соответствии с рис. 3 ТЗ > LI, L2. Здесь символ > имеет смысл «определяется». В описаниях могут применяться различ- ные признаки для уточнения определения каждого геометрического объекта. Пара- метры, назначающие линейные и 'угловые размеры, задаются целыми и десятичными долями миллиметров и градусов. Типы данных В языке ИнтерСАП допустимы два типа • данных: арифметические и геометрические. Арифметические данные могут быть либо константы, либо пе- ременные. Точность вычисления арифметических переменных со- ставляет 14—15 десятичных цифр (удвоенная точность). Имена арифметических переменных состоят из букв и цифр (не более 6 и не должны начинаться с букв Т, L, К, S, М, С). Арифметические переменные могут быть элементами одномерного массива (переменная с одним индексом). Имя массива форми- руется по тем же правилам, что и имя арифметической переменной. Геометрические данные. В языке применяется восемь типов геометрических объектов. Простые геометрические объекты: точ- ка, прямая, окружность; сложные геометрические объекты: кри- вая, заданная таблицей, список, массив элементарных геометри- ческих объектов, макрос, цикл. Кривая, заданная таблицей,— это множество точек, которые проходит кривая, описываемая кубической сплайн-функцией. Список — это комбинация элементарных геометрических объ- ектов и списков, порядок расположения которых определяет тра- екторию движения инструмента. Массив простых геометрических объектов — это набор геомет- рических объектов одного типа (массив точек, массив прямых, массив окружностей). Макрос — это сложный геометрический объект, который со- держит описание траектории движения инструмента, чаще всего соответствующей технологическому переходу. Макрос может со- держать любые геометрические объекты и произвольный набор команд. Цикл — это сложный геометрический объект, чаще всего соот- ветствующий технологическому переходу и хранящийся в памяти УЧПУ станка. 10
1.2.2. Простые геометрические объекты Траектория движения инструмента формируется из простых геометрических объектов: точка, прямая, окружность. Каждый объект на языке ИнтерСАП определяется именем. Имена точек, прямых, окружностей начинаются с буквы и могут содержать до 6 символов (букв и цифр). Имена точек начинаются на букву Т, имена прямых — на букву L (линия), имена окружностей — на букву К (круг). Эти объекты могут быть описаны различными способами. В ИнтерСАП применяются 14 способов определения точек, 12 способов определения прямых, 15 способов определения окружностей. Описание способа определения точки, прямой, окружности состоит из: 1) описания способа; 2) структуры предложения на языке ИнтерСАП; 3) примера, содержащего конкретную геометри- ческую интерпретацию способа и предложения на языке Интер- САП. При определении точек, прямых, окружностей применяются следующие признаки: признак координаты принимает значения ХМ (X меньше), ХВ (X больше), YM (Y меньше), YB (Y больше); признак положения принимает значения VNE (вне) и VNU (внутри); признак направления принимает значения РО (по часовой стрелке), PR (против часовой стрелки); признак стороны принимает значения SL (слева), SP (справа); признак отношения принимает значения BOL (больше), MEN (меньше). Пример. 1. Описание способа: точка определяется пересе- чением двух прямых. 2. Структура предложения на языке ИнтерСАП: имя точки > имя 1-й прямой, имя 2-й прямой. 3. Определение точки Т1 как пересечение прямых L1 и L2 (см. рис. *3). 1. Способы определения точек Точка, определяемая тремя (двумя) координатами Имя точки > координата х, координата у, координата z. Пример. Т1 > 12, 15, 6.3 или, если используем две координа- ты, Т2 > 17, 36.2. Точка, определяемая пересечением двух прямых Имя точки > имя 1-й прямой, имя 2-й прямой (см. рис. 3). Точка, определяемая пересечением прямой и окружности Имя точки > имя прямой, имя окружности, признак коорди- наты. При пересечении прямой с окружностью образуются две точки, поэтому признак используется для уточнения координат опреде- ляемой точки (рис. 4). 11
Точка, определяемая касанием прямой и окружности Имя точки > имя прямой, имя окружности (рис. 5). Точка, являющаяся центром заданной окружности Имя точки > имя окружности (рис. 6). Рис. 6. Точка, являю- щаяся центром задан- ной окружности (Т7>КЗ) Рис. 4. Точка, опреде- ляемая пересечением прямой и окружности (T5>L3, KI, ХВ; T4>L3, К1, ХМ) Рис. 5. Точка, опреде- ляемая касанием пря- мой и окружности (T6>L4, К2) Точка, определяемая касанием двух окружностей Имя точки > имя 1-й окружности, имя 2-й окружности (рис. 7). Точка, определяемая пересечением двух окружностей Имя точки > имя 1-й окружности, имя 2-й окружности, при- знак координаты (рис. 8). При пересечении двух окружностей образуются две точки, поэтому признак координаты используется для уточнения коор- динат определяемой точки. Точка, определяемая пересечением окружности с прямой, про- ходящей через центр окружности под углом к оси х Имя точки > имя окружности, признак, значение угла в гра- дусах (рис. 9). Рис. 7. Точка, опреде- ляемая касанием двух окружностей (Т8>К4, К5 или Т8Ж5, К4) Рис. 8. Точка, опреде ляемая пересечением двух окружностей (Т10Ж6, К7, УВ; Т9Ж6, К7, УМ) Рис. 9. Точка, опреде- ляемая пересечением окружности с прямей, проходящей через центр окружности под углом к оси х (Т11> К8, ХМ, 30; Т12Ж8, ХВ, 30) 12
Имя точки > имя точки, имя прямой (рис. 10). Точка, определяемая переносом точки в заданное положение Имя точки > имя точки, координата %, координата у (рис. 11). Точка, определяемая поворотом точки на заданный угол отно- сительно начала координат .Имя точки > имя точки, UG, значение угла в градусах (рис. 12). У Рис. J0. Точка, симме- тричная относительно прямой (Т14>Т13, L5) 25---------у™ . I Т№ | ° 30 X Рис. 11. Точка, оп- ределяемая перено- сом точки а задан- ное положение (Т16>Т15,30,25) Рис. 12. Точка, оп- ределяемая поворо- том точки на задан- ный угол относи- тельно начала коор- динат (Т18>Т17, UG, 70) Точка, определяемая пересечением окружности, заданной точкой центра и радиусом, и прямой, проходящей через центр ок- ружности под углом к оси х Имя точки > имя точки центра, радиус, признак координаты, значение угла в.градусах (рис. 13). Точка, определяемая заданной точкой Имя точки > имя точки. Пример. Т22 > Т47. Этот способ позволяет одной и той же точке на чертеже дать различные имена. Точка, определяемая пересечением списка с прямой ИМЯ ТОЧКИ > ИМЯ СПИ; ска, имя прямой, номер точки. Номер точки пере- сечения отсчитывается в направлении от начала списка к его концу (рис. 14). Рис. 13. Точка, опреде- ляемая пересечением Рис. 14. Точка, оп- окружности, заданной ределяемая пересе- точкой центра и радиу- чением списка с сом, и прямой, прохо- прямой дящей через центр ок- ружности под углом к оси* (Т20>Т19, 14, ХВ, 45; Т21>Т19, 14, ХМ, 45) 2. Способы определения прямых П рямая, проходящая через две заданные точки 13
Имя прямой > имя 1-й точки, имя 2-й точки (рис. 15). Прямая, проходящая через точку под углом к оси х Имя прямой > имя точки, значение угла в градусах (рис. 16). Прямая, параллельная прямой и проходящая на заданном от нее расстоянии Имя прямой > имя прямой, признак координаты, расстояние в миллиметрах (рис. 17). Прямая, перпендикулярная к прямой и проходящая через точку { Имя прямой > имя прямой, имя точки (рис. 18). Прямая, проходящая через центр окружности под углом к оси х Имя прямой > имя окружности, угол в градусах (рис. 19). Прямая, параллельная прямой и проходящая через заданную точку Имя прямой > PAR, имя прямой, имя точки (рис. 20). Прямая, касательная к окружности и проходящая через за- данную точку Имя прямой > имя окружности, имя точки, признак стороны. Признак стороны указывает положение прямой относительно окружности, если наблюдатель находится в заданной точке и смот- рит в центр окружности (рис. 21). Рис. 15. Прямая, проходящая через две заданные точки (L1>T1, Т2 или L1>T2, Т1) Рис. 16. Прямая, Рис. 17. Прямая, па- проходящая через раллельн^я прямой и точку под углом к проходящая на задан- оси х (L2>T3, 30) ном от нее расстоянии (L9>L3, УВ, 35; L10> L3, УМ. 35) Рис. 18. Прямая, перпендикулярная к прямой и прохо- дящая через точку (L12>L11, Т4) Рис. 19. Прямая, про- ходящая через центр окружности под углом косих (LI3>K1, 30) Рис. 20. Прямая, параллельная пря- мой и проходящая через заданную точ- ку (LI5>PAR, L14, Т5) 14
Прямая, касательная к двум окружностям Имя прямой > имя 1-й окружности, признак стороны, имя 2-й окружности, признак стороны. Это определение приводит к четырем вариантам решения, поэтому признак стороны применяется дважды. Значение призна- ка стороны определяется наблюдателем, который находится в центре 1-й окружности и смотрит в центр 2-й окружности (рис. 22). Прямая, проходящая через точку под углом к прямой Имя прямой > имя прямой, имя точки, значение угла в гра- дусах (рис. 23). Прямая, определяемая заданной прямой Имя прямой > имя прямой. Пример. L12 > L37. Прямая, касательная к началу кривой, заданной таблично Имя прямой > SPN, имя кривой (рис. 24). Прямая, касательная к концу кривой, заданной таблично Имя прямой > SPN, имя кривой (рис. 24). Здесь признак SPK указывает, что прямая L25 касательна к концу кривой. Схема программы, описывающая сопряжение окружности К1 и кривой С1, приведена на рис. 25. . Рис. 21. Прямая, каса- тельная к окружности и проходящая через за- данную точку (L16> К2, Тб, SL; L17>K2, Тб, SP) Рис. 22. Прямая, каса- тельная к двум окруж- ностям (L18>K3, SL, К4, SP; 118Ж4, SL, КЗ, SP) Рис. 23. Прямая, про- ходящая через точку под углом к прямой (L23>L22, Т7, 35) Рис. 25. Сопряжение окружности KI и кри- вой Cl (L3>SPN, Cl; L4>L3, XB. R; L5>L3, TA(I); TI>LS. L4; K1>T1, R) Рис. 24. Прямая, каса- тельная к началу (или концу) кривой, задан- ной таблично (L24> SPN, Cl; L25>SPK, Cl) 15
3. Способы определения окружностей Окружность, определяемая радиусом и координатами центра Имя окружности > координата х, координата у, радиус (рис. 26). Окружность, определяемая радиусом с центром в заданной точке Имя окружности > имя точки, радиус (рис. 27). Окружность, определяемая радиусом и касающаяся двух пере- секающихся прямых Имя окружности > имя 1-й прямой, признак координаты, имя 2-й прямой, признак координаты, радиус. Поскольку двух пересекающихся прямых могут касаться четы- ре окружности одного радиуса (рис. 28), в описании используются два признака координаты, учитывающие положение центра опи- сываемой окружности относительно прямых. Окружность, определяемая радиусом и касающаяся прямой и окружности Имя окружности > имя прямой, признак координаты, признак положения, имя окружности, признак координаты, радиус. В этой ситуации возможны 8 вариантов решения. Поэтому для описания конкретной окружности применяются признаки коорди- наты и положения (рис. 29). Окружность, определяемая радиусом и касающаяся двух ок- ружностей Имя окружности > имя 1-й окружности, признак положения, имя 2-й окружности, признак положения, признак координаты, радиус (рис. 30). Окружность, определяемая переносом заданной окружности по координатам х и у Имя окружности > имя окружности, координата (рис. 31). Окружность, расположенная симметрично заданной окруж- ности относительно' прямой Имя окружности > имя окружности, имя прямой (рис. 32). Рис. 26. Окружность, определяемая радиу- сом и координатами центра (К1>15.2, 12.7, 30) Рис. 27. Окружность, определяемая радиу- сом с центром в задан- ной точке (К2>Т1, 25) Рис. 28. Окружность, определяемая ради- усом и касающаяся двух пересекающихся прямых (K3>L1, УМ L2, УВ, 20) 16
Рис. 29. Окружность, определяемая ради- усом и касающаяся прямой и окружности (K8>L3, УМ, VNU, К7, ХВ, 20) Рис. 32. Окружность, расположенная сим- метрично заданной ок- ружности относитель- но прямой (К27>К26, L4) Рис. 30. Окружность, определяемая радиу- сом и касающаяся двух окружностей (К17>К15, VNU, К16, VNU, УВ, 25) 9 0 27.3 X Рис. 31. Окружность, определяемая перено- сом заданной окруж- ности по координатам х и у (К25>К24, 27.3, Рис. 34. Окружность, определяемая поворо- том окружности на угол относительно оси х (К32>К31, UG, 60) Рис. 33. Окружность, определяемая сжатием (расширением) окруж- ности на величину при- ращения радиуса (К30Ж29, 3; К28> К29, -4) Окружность, определяемая сжатием (расширением) окруж- ности на величину приращения радиуса Имя окружности > имя окружности, приращение радиуса (рис. 33). Окружность, определяемая поворотом окружности на угол относительно оси х Имя окружности > имя окружности, UG, угол поворота (рис. 34). Окружность, определяемая радиусом и проходящая через две точки Имя окружности > имя 1-й точки, имя 2-й точки, признак ко- ординаты, радиус. Признак координаты (ХВ, ХМ, YB, YM) уточняет положение центра определяемой окружности относительно прямой, прохо- дящей через точки (рис. 35). Окружность, проходящая через три точки Имя окружности > имя точки, имя точки, имя точки (рис. 36). Окружность, определяемая радиусам--касающаяся ппямайки проходящая через точку 17
Рис. 35. Окружность, определяемая ради* усом и проходящая че- рез две точки Рис. 36. Окружность, проходящая через три точки (К35>Т6, Т7, Т5) Рис. 37. Окружность, определяемая радиу- сом, касающаяся пря- мой и проходящая че- рез точку (K36>L5, Т8, ХВ, 35; K37>L5, Т8, ХМ, 35) Рис. 38. Окружность с центром в заданной точке, касающаяся другой окружности (К39>Т9, К38, MEN; К40>Т9; К38, BOL) Рис. 39. Окружность с центром в заданной точке и проходящая че- рез точку (К41 >Т 10, Т11) Имя окружности > имя прямой, имя точки, признак коорди- наты, радиус (рис. 37). Окружность с центром в заданной точке, касающаяся другой окружности Имя окружности > имя точки, имя окружности, признак отношения. Признак отношения определяет одну из двух возможных ок- ружностей: меньшую MEN или большую BOL (рис. 38). Окружность с центром в заданной точке и проходящая через точку Имя окружности > имя точки центра, имя точки (рис. 39). Окружность, “определяемая заданной окружностью Имя окружности > имя окружности. Пример. К12 > К137. 1.2.3. Сложные геометрические объекты К сложным геометрическим объектам языка ИнтерСАП отно- сятся: массив простых геометрических объектов; кривая, задан- ная таблично; список; кривая типа «спираль Архимеда». Детальное описание принципов формирования и применения макросов'и циклов приведено в гл. 2. 18
Массив простых геометрических элементов В языке ИнтерСАП можно описать массив точек, прямых и окружностей следующим образом: GMAS, имя массива простых геометрических элементов, количество элементов в массиве. Пример. GMAS, ТА, 5. Здесь GMAS — служебное слово; ТА — имя массива точек; 5 — количество точек в массиве ТА. Имена массивов простых геометрических элементов задаются так же, как и имена простых элементов: на букву Т — массивы точек; на букву L — массивы прямых; на букву К — массивы ок- ружностей. В связи с ограниченными ресурсами памяти ЭВМ в одной программе можно использовать не более 10 массивов геометри- ческих элементов с общим количеством не более 1000 элементов. Если возникает необходимость использовать более 10 гео- метрических массивов, то следует выполнить следующее: 1) описать допустимое число массивов с допустимым объектом; 2) использовать эти массивы в программе; 3) при помощи оператора OTMEN отменить описанные ранее массивы; 4) описать массивы, которые не вошли в первое описание, однако будут использоваться в программе; 5) исдользовать эти массивы в следующей части программы; 6) если необходимы еще массивы, перейти в пункт 3 и продол- жить действия в соответствии с пунктами 4, 5, 6. Таким образом возможно использование в программе геоме- трических массивов бесконечной размерности. Кривая, заданная таблично Для математического описания кривой, проходящей через множество точек, координаты которых заданы в табл. 1, исполь- зуется кубическая сплайн-функция. Общий вид описания кривой: SPLAIN, имя кривой, имя масси- ва точек, шаг интерполяции по координате х. Сплайн-функция работает с допустимо малой погрешностью, если описывается плавная кривая и правильно подобран шаг интерполяции. Движение по кривой, заданной в табл. 1, реализо- вано в программе 1. Для задания движения инструмента по кривой она, как и про- стые геометрические объекты, должна быть включена в список или стать единственным элементом списка. Это позволит выпол- Таблица 1 Номер точки 1 2 3 4 5 Координата х 20 21 24 29 36 Координата у -20 -19 -18 -17 -16 19
1. Программа задания сплайна DET,PRIMER GMAS,TA,5 ТА(1)>2О,-2О ТА(2)>21,-19 ТА(3)>24.-18 ТА<4)>29,-17 ТА(5)>38,-16 33 Описание С1 при помощи таблицы точек ТА SPLINE,Cl,ТА,О.2 $$ Задание радиуса окружности К1 R=2 $3 Прямая , касательная к началу кривой L2>SPN,C1 33 Перпендекуляр к L2 в точке ТА(1) L3>L2,TA(1) 33 Прямая , параллельная L2 на расстоянии R L4>L2,YB,R 33 Определение центра окружности К1 T1>L3,L4 $3 Окружность«касательная С1 а точке ТА(1) K1>T1,R $$ Описание движения из точки 6 ® точку 5 SPIS,S1,L4,YM,K1,PR,TA(1),С1 INVER,S2,61 33 Движение из точки 5 в точку в DS,S2 КО нить над кривой все операции, которые разрешено выполнять над списками. При задании массива точек, по которым будет определяться сплайн, следует координату х задавать с положительным шагом. Если нужно задать движение по кривой с отрицательным лпагом по координате х, то это можно сделать, используя операцию ин- вертирования списка. Пример. Опишем траекторию движения инструмента от точ- ки 6 по прямой L1 до пересечения с кривой С1 в точке /, затем по кривой С1 до пересечения с прямой L2 (рис. 40): SPIS, S2, LY, LI, Cl, L2. Далее опишем траекторию движения инструмента в обратном порядке (от точки 5 к точке 6). Для этого инвертируем список S2. Рис. 41. Контур, образованный кри- вой и окружностью Рис. 40. Контур, образованный кривой и прямой 20
Заход на кривую С1 должен быть выполнен по дуге радиуса R предварительно определенной окружности К1. Окружность К1 должна касаться кривой С1 в точке / (рис. 41). Определим эту окружность следующим образом. Сначала оп- ределим прямую, касательную к началу сплайна: L2 > SPN, С1. Строим перпендикуляр к этой прямой в точке /: L3 > L2, ТК1. Центр окружности ТК1 лежит на пересечении прямых L3 и L4, где L4 параллельна L2. Тогда L4 > L2, YB и ТК1 > L4, L3. Определим окружность KI >ТК1, R. Сначала опишем движение из точки 6 в точку 5: SPIS, S1, L4, YM, KI, PR, ТА(1), Cl, L5, а затем используем операцию ин- вертирования: INVER, S2, SI; DS, S2 — движение из точки 5 в точку 6. Список Список — это аналог геометрического контура (траектории или фрагмента траектории движения инструмента), состоящий из различных геометрических объектов. Элементом списка может быть: имя простого геометрического объекта (точки, прямой, окруж- ности) ; имя сложного геометрического объекта (список, кривая, за- данная таблицей); признак координаты (ХВ, ХМ, YB, YM), который уточняет выбор одной из двух возможных точек пересечения простых гео- метрических объектов: окружность — прямая, окружность — ок- ружность; указатель направления (РО — по часовой стрелке, PR — против часовой стрелки), причем каждый последующий указа- тель направления отменяет предыдущий. При использовании ука- зателей направления можно применять принцип «умолчания», не записывая указатель РО, однако для отмены указателя PR не- обходимо обязательно записывать указатель РО; значение подачи в виде константы, переменной, арифметиче- ского выражения. Список описывается следующим предположением: SPIS, имя списка, список элементов. Имя списка начинается на букву S. Все элементы списка долж- ны быть определены и отделяются друг от друга запятой. Если все признаки, применяемые в списке, ХМ, а указатели направления РО, то их можно не указывать (правило «умолчания»). Список может состоять из последовательности любых геометрических объектов. Начинаться и заканчиваться список может любым объ- ектом — не обязательно точкой. Список содержит неявное описание точек пересечения (каса- ния) прямых и окружностей. Списку, соответствующему траектории на рис. 42, дадим имя SI: SPIS, SI, TN, 5000, LIO, L4, LY, L5, LIO, L3 и т. д. Здесь точка / задана пересечением прямых L10 и L4; точка 2 — 2\
пересечением прямых L4 и LY; точка 3 — пересечением прямых LY и L5 и т. д. Список S1 можно интерпретировать следующим образом: ин- струмент на холостом ходу (5000 мм/мин) начинает перемещаться от точки TN (точка смены инструмента) к точке /, образованной пересечением прямых L10 и L4, а затем по прямой L4 до пересе- чения с прямой LY (точка 2), по прямой LY до пересечения с пря- мой L5 (точка.3), по прямой L5 до пересечения с прямой L10 (точка 4) и т. д. Операции над списками Движение по списку может записываться двумя способами: 1) DS, имя списка, явно заданного описанием. Пример. DS, S1. 2) DS, список геометрических элементов. Пример. DS, TN, 5000, L10, L4, LY, L5, L10, L3 и т. д. Изменение направления движения по списку Описание траектории списком предполагает направление дви- жения от первого элемента списка к последнему. Если необходимо двигаться в обратном направлении (от последнего к первому), применяется операция INVER. Операция INVER записывается следующим способом: INVER, имя списка с обратным направлением движения, имя исходного списка. Пример. INVER, S2, S1. Здесь S1 — исходный список, описанный предложением SP1S; S2 — список, задающий направление движения, обратное S1. Пример. Запрограммируем движение инструмента по конту- ру (рис. 43). Для этого необходимо выполнить сначала встречное фрезерование, а затем — попутное. Контур состоит из прямых L1, L2, L3, L4 и окружности К1. Траекторию попутного фрезерования запишем в виде списка S13: SPIS, S13, L4, Li, L2, YB, KI, YM, L2, L3, L4, L1. Траекторию встречного фрезерования опишем списком, при- меняя команду INVER: INVER, S7, S13. Движение по траекториям встречного и попутного фрезерова- ния запрограммируем командой DS: DS, S13, S7. Фрагмент програм’мы для рассмотренного примера имеет вид Рис. 42. Траектория черновой обра- ботки Рис. 43. Контур фрезеро- вания 22
SPIS, S13 INVER, S7, S13 DS, S13, S7 Получение зеркального списка Зеркальным называется список, являющийся зеркальной копи- ей исходного списка относительно некоторой прямой. Структура описания: ZER, имя зеркального Списка, имя исход- ного списка, имя прямой. Пример. Необходимо получить траекторию движения инстру- мента, зеркальную относительно прямой L12 траектории, описан- ной списком S1 (рис. 44): SPIS, S1, ТО, 50, L2, L3, KI, LI, L2, L3, ТО ZER, S2, SI, L12 Преобразование списка Под преобразованием списка будем понимать: а) поворот списка на заданный угол и сдвиг на заданные вели- чины перемещений по координатам х и у\ б) получение зеркальной копии списка относительно заданной прямой. < Для получения этих операций преобразования применяется до- полнительный сложный геометрический объект — матрица преоб- разования. Поэтому описание операции преобразования состоит из двух строк: 1-я — описание матрицы преобразования; 2-я описание команды преобразования. Матрицы преобразования имеют вид: MATR, имя матрицы, имя прямой — для зеркального копиро- вания; MATR, имя матрицы, величина сдвига по координате х, вели- чина сдвига по координате у, величина угла поворота — для переноса и поворота; MATR, имя.матрицы, величина угла поворота — для поворота. Команда преобразования имеет вид: TRN, имя матрицы преобразования — для получения зеркаль- ной копии; TRN, имя матрицы преобразования, имя точки отсчета пере- мещения — при переносе списка. Пример. Составим фрагмент программы для движения по контуру S1 и его копии, смещенной по координате х на 40 мм, ко- ординате у на 10 мм и повернутой на 45° (рис. 45): MATR, М2, 45, 40, 10 TRN, М2, Т1 DS, S1 NETRN Получение эквидистантной траектории Для описания траектории, эквидистантной траектории, опи- санной в списке, применяется команда: EKVD — признак смещения, расстояние смещения — включе- ние процедуры формирования, эквидистантной траектории; EKVD, VIК “ выключение процедуры. 23
и поворотом В этой команде признак смещения определяет расположение эквидистанты относительно описанной (списком) траектории с учетом направления движения и обозначается: SL — слева, SP — справа. Расстояние между эквидистантой и описанной траекторией задается в миллиметрах. Команда формирования эквидистанты (рис. 46) записывается следующими предложениями: EKVD, SL, 20 DS, S1 EKVD, VIK Эквидистанта изображена штриховой линией. Команда включения автоматического расчета эквидистанты действует на все команды движения вплоть до команды EKVD, VIK. Поэтому следует выделить прямолинейные участки подхода, чтобы не формировать эквидистанты этих участков. В этом случае команда автоматического расчета эквидистанты должна стоять перед участком подхода, а команда включения — перед участком отхода. Автоматическое сглаживание траектории При программировании траектории движения инструмента (особенно при фрезерной обработке) необходимо сглаживать про- ектируемый контур дугами заданного радиуса. Для этого можно использовать команды автоматического сглаживания: GLAD, RI, R2, Fl —включение автосглаживания; GLAD, VIK — выключение автосглаживания Здесь R1 — радиус первого вида скругления; R2 — радиус второ- го вида скругления; F1 — величина подачи на округляющих участ- ках. В команде GLAD первой записывается величина радиуса скругления внутренних углов, встречающихся в списке, второй — величина радиуса скругления внешних углов. Если внутренний (или внешний) угол скруглять не нужно, то RI или R2 записы- ваются равными нулю. Если подачу на сглаживающих дугах ме- нять не нужно, то аргумент FI в команде можно опустить. Произвольный контур не всегда можно сгладить дугой про- извольного радиуса. В этом случае транслятор системы выдает сообщение об ошибке. 24
Рис. 46. Эквидистанта Рис. 47. Применение процеду- ры сглаживания Пример. Фрагмент программы с применением автосглажи- вания (рис. 47): GLAD, 0.6, 0, 100 участок подхода DT, Т22 DS, 200, LI, YB, KI, YB, L2, L3, L4, LI, Т22 GLAD, VIK участок отхода DT, Т12 Если по ходу обработки необходимо изменить радиус сглажи- вания, достаточно записать GLAD, R3 с новым радиусом сглажи- вания. Возможно совместное применение команд автосглажива- ния и автоматического расчета эквидистанты: EKVD. SL, 5 GLAD, 0.6, 0, 100 DT, Т22 DS, 200, LI, YB, KI, ... GLAD, VIK EKVD, VIK DT, T12 Пример. Опишем траекторию чистовой обработки окна, об- разованного сложным контуром (рис. 48): 1) обозначим все простые геометрические объекты. В данном слу- чае это фрагмент окружностей К.1, К2, КЗ, .... К10; 2) опишем простые геометрические объекты: ТО > 0, 0 — начало системы координат; LX > ТО, 0 — ось х; LY > ТО, 90 — ось у; К1 > ТО, 75/2 — определяемая радиусом и центром К2> 100/2, -35/2, 10/2 К4 > —100/2, 35/2, 10/2 ~ определяемые координатами К7> 100/2, —35/2, 10/2 центра и радиусом; К9 > 100/2, -35/2, 10/2 25
Рис. 49. Фрагмент сложно- го контура К5Ж4, VNE, KI, VNE, YB, 15 К6> KI, VNE, К7, VNE, YB, 15 К10Ж9, VNE, KI, VNE, YM, 15 КП > KI, VNE, К2, VNE, YM, 15 — определяемые радиу- сом и касающейся двух окружностей; КЗ, КЗО, 51 — концентрические окружности. К8 К20, 5 / Для определения окружностей КЗ и К8 необходимо ввести до- полнительные геометрические объекты: точки ТЗ, Т4, Т5, Тб — центры окружностей К2, К4, К7, К9; окружности КЗО и К20. ТЗ > К2 Т4 > Т4 Т5>К7 — точка как центр окружности; Тб >К9 J х КЗО > ТЗ, Т4, ХВ, 40—5 I — определяемая радиусом и прохо- К20 > Т5, Тб, ХМ, 40—5 ) дящая через две точки. Радиус окружности КЗО равен радиусу окружности КЗ минус радиус К2 или К4 и равен 35 мм (рис. 49). В качестве начальной и конечной точки контура возьмем точ- ку Т1: Т1 > LY, KI, YM — пересечение прямой LY и окружности К1. Движение по контуру можно записать следующим образом: от точки Т1 по окружности К1 (по часовой стрелке) до точки каса- ния с KI 1; по KI 1 (против часовой стрелки) до точки касания с К2; по* К2 (по часовой стрелке) до касания с КЗ; по КЗ (по часовой стрелке) до касания с К4; по К4 (по часовой стрелке) до касания с К5; по К5 (против часовой стрелки) до касания с К1; по К1 (по часовой стрелке) до касания с Кб; по Кб (против часовой стрелки) до касания с К7; по К7 (по часовой стрелке) до касания с К8; по К8 (по часовой стрелке) до касания с К9; по К9 (по часовой стрелке) до касания с КЮ; по КЮ (против часовой стрелки) до касания с К1; по К1 (по часовой стрелке) до точки Т1. В соответствии с правилом записи список состоит из следую- щих простых геометрических объектов: Т1, РО, KI, РК, КН, РО, К2, КЗ, К4, РК, К5, РО, Ki, РК, Кб, РО, К7, К8, К9, РК, КЮ, РО, К1, Т1.
Поскольку в языке ИнтерСАП на длину списка накладывается ограничение (не более 75 символов), записанный выше набор простых геометрических элементов разделим на две группы: 1) SPIS, SI, Т1, РО, К1, РО, KI 1, РО, К2, КЗ, К4, РО, К5, РО, К1, PR, Кб. В списке S1 касание К1 и Кб образует точку Т8 (см. рис. 48), на которой заканчивается список S1; 2) SPIS, S2, К1, РО, Кб, РО, К7, К8, К9, PR, КЮ, РО, К1, Т1. Список S2 начинается с точки Т8, образованной касанием К1 и Кб. Весь контур опишем списком S3, состоящим из S2 и S1: SPIS, S3, SI, S2 DS, S3 — движение по контуру от Т1 до Т1. Данный контур можно описать более рациональным способом. Поскольку контур имеет две оси симметрии, достаточно описать четверть контура. Используя матрицы зеркального копирования и поворота, можно определить остальные три четверти контура. По описанной нижней левой четверти детали устанавливаем дви- жение по левой верхней четверти. Но если мы опишем движение симметрично оси LX, направление изменится, т. е. обход контура в левой верхней четверти будет выполняться против часовой стрелки. Чтобы этого не произошло, введем инвертированный спи- сок: INVER, S2, SI. Объявим матрицу зеркального копирования. Прежде чем ис- пользовать имя матрицы, надо произвести с этим именем какое- либо вычисление, например: Ml = 0 MATR, Ml, LX — матрица зеркального копирования относи- тельно оси LX. Движение по первой верхней четверти детали можно описать при помощи матрицы поворота: М2= 0 MATR, М2, 180 Движение по нижней правой четверти детали можно описать при помощи матрицы зеркального копирования относительно оси: М3= 0 MATR, М3, LY Опишем движение по контуру: DS, S1 TRN, Ml DS, S2 NETRN TRN, М3 DS, S2 NETRN KO 1.2.4. Команды управления станком и инструментом Эти команды делятся на две группы: 1) команды управления станком; 2) команды управления инструментом. 27
Все команды управления станком и инструментом интерпре- тируются постпроцессором, т. е. одна и та же команда может фор- мировать в управляющей программе совершенно разные функции в зависимости от того, что предусмотрел программист-разработчик конкретного постпроцессора. Функция транслятора системы сво- дится к проверке правильности написания команд управления и записи этих команд в промежуточный формат. 1. Команды управления станком Команды управления шпинделем Включить вращение шпинделя: S, VKL. Выключить вращение шпинделя: S, VIК. Включить вращение шпинделя с заданием оборотов, номера ступени и направления вращения: S, 100, 2, PR. Номер ступени и (или) направления вращения могут не указываться. Пример. S, 100 — указано только число оборотов; S, 100, 2 — указано число оборотов и номер ступени; S, 100, 2, PR — указано число оборотов, номер ступени, направление вращения. Команды управления системой охлаждения Включить систему охлаждения: OHL, VKL. Выключить систему охлаждения: OHL, VIK. Команды поворота детали Вид команды: PVR, угол поворота вокруг оси х, угол поворота вокруг оси у, угол поворота вокруг оси z. В частных случаях можно указать один или два угла поворота. Пример. PVR, 30 — поворот вокруг оси х на 30°; PVR, 30, 45, 15 — поворот вокруг соответственно оси х на 30°, оси у на 45°, оси z на 15°. Команда типа «вспомогательная функция станка» Вид команды: VSPM, код конкретной вспомогательной функ- ции. Команда типа «подготовительная функция станка» Виды команды: PODG, код конкретной подготовительной функции. Команда задания параметров разгона-торможения Вид команды: RAZGN, 1-й, 2-й, 3-й, 4-й параметры. Количество указываемых параметров может быть от одного до четырех. Признаки разгона и торможения по трем координатам формируются при разработке постпроцессора. Команда останова станка Вид команды: STOP. Команда условного останова Вид команды: USTOP. Эта инструкция, как правило, интерпретируется, кодом М01 в кадрах управляющей программы. Команда, задающая величину паузы в процессе обработки Вид команды: PAUZA, значение паузы в единицах времени (с, мин). 28
Команда конца группы кадров Вид команды: KONEC. 2. Команды управления инструментом Команда определения инструмента Вид команды: INST, номер 1-го инструмента, номер 2-го ин- струмента, номер 3-го инструмента. Эта команда может осуществлять поиск от одного до трех ин- струментов. Пример. INST, 2 — поиск инструмента, находящегося во 2-м гнезде магазина; INST, 5, 3 — поиск инструментов в 5-м и 3-м гнезде магазина. Команда загрузки инструмента Вид команды: ZAGR, номер инструмента (гнезда магазина). Эта команда включает механизм загрузки (установки) инстру- мента в патрон (шпиндель) из указанного гнезда магазина. Пример. ZAGR, 3 — загрузка в патрон (шпиндель) инстру- мента из 3-го гнезда магазина. Команда задания скорости подачи Вид команды: F, значение подачи, S. Пример. F, 90 — задана подача 90 мм/мин; F, 50, S — за- дана подача 50 мм/об. Признак S указывает, что подача задается в мм на оборот. Команда задания ускоренной подачи Вид команды: USK. Конкретное значение ускоренной подачи определяется характе- ристиками станка и устанавливается постпроцессором. При рабо- те графического постпроцессора команда USK эквивалентна ко- манде F, 5000 и при прорисовке траектории движения инстру- мента управляет изменением цвета. Команды управления движения инструмента Команда движения в точку: DT, имя точки или DT, коорди- ната х, координата у, координата z. Пример. DT, Т17 — движение в точку Т17; DT, 170, 50 — движение в точку с координатами х = 170 мм, у = 50 мм. Команда движения по приращению: DP, приращение по ко- ординате х, приращение по координате у, приращение по коор- динате z. Пример. DP, 6, 5 — команда по перемещению инструмента на 6 мм по координате х и на 5 мм по координате у. Команда движения по координате z: DZ, значение перемеще- ния по координате z. Пример. DZ, 20—команда на перемещение инструмента по оси z до значения координаты, равного 20 мм. Команда движения в точку с заданной координатой: DT, имя точки, значение координаты z. Смысл задания значения координаты z в команде состоит в изменении значения координаты z точки, имя которой указано в команде. 29
Пример. DT, Т2, 10 — команда на перемещение в точку Т2, новое значение координаты z которой равно 10 мм. Команда движения по списку: DS, имя списка DS или список геометрических объектов. Команда движения по фаске: FAS, признак (SL, SP), размер фаски по координате х, угол наклона фаски к оси х. Эта команда формирует траекторию движения инструмента при обработке конструктивного элемента типа «фаска». Признаки SL, SP указывают направление движения инстру- мента: SL — влево от точки начала обработки, SP — вправо от точки начала обработки. Перед применением команды FAS ин- струмент должен находиться в точке, с которой начинается обра- ботка фаски. Команда задания коррекции: KOR, признак (SL, SP), номер корректора, признак увеличения (уменьшения) участка подхода. Признаки SL, SP указывают направление отсчета корректи- рующего перемещения инструмента по отношению к описанной траектории движения: SL, SP — перемещение инструмента со- ответственно влево и вправо. Команда выключения коррекции: KOR, VI К. Команда задания начальной точки: NT, координата х, координата у, координата z; NT, координата х, координата у; NT, имя точки; NT, имя точки, координата г. Под начальной точкой понимается точка, откуда инструмент начинает подход к детали. Чаще всего под начальной точкой по- нимается точка смены инструмента. Пример. NT, 100, 150, 200 — в качестве начальной точки взята точка с координатами 100 мм (по х), 150 мм (по у), 200 мм (по z). NT, Т1 — в качестве начальной точки взята точка Т1. NT, Т2, 10 — в качестве начальной точки взята точка, нахо- дящаяся над точкой Т2 на 10 мм. Команда возврата в начальную точку: DOMOJ. Команда выхода инструмента в плоскость безопасности: PBEZ. 1.2.5. Операторы языка ИнтерСАП Операторы начала и конца программы Оператор начала программы: DET, любой текст без пробелов. Этот оператор должен быть первой строкой программы. Реко- мендуется в правой части этого оператора кроме комментария к программе указывать имя файла, содержащего данную про- грамму. Пример. DET, ИВАНОВ — КОРПУС В25 — КВ25.2. Здесь КВ25.2 — имя файла, в кртором хранится исходный текст этой программы. Оператор конца программы: КО. 30
, Оператор комментария: KOMEN, любой текст без пробелов. Оператор безусловного перехода Общий вид: NA, имя метки. Пример. NA, :М1 — переход на фрагмент программы, в на- чале которого стоит метка Ml. :М1 DT, Т5 — фрагмент программы, отмеченный меткой :М1. Оператор условного перехода Общий вид: ES, имя или значение, знак отношения, имя или значение, метка. Этим оператором сравниваются значения первого и второго параметров при помощи операций отношения: BOL — больше; RAV — равно; MEN — меньше. Если условие выполняется, то осуществляется переход на метку, указанную в записи оператора ES, в противном случае — переход на оператор, следующий за оператором ES. Оператор управления счетчиком строк Общий вид: STR, приращение номера. Этот оператор осуществляет безусловный переход на строку программы, номер которой вычисляется по следующему правилу: номер строки, на которую будет выполнен переход, равен номеру строки, где записан оператор STR, плюс приращение номера, указанное в операторе STR. Пример. STR, 10. Если оператор STR был записан в строке номер 15, то при выполнении оператор STR обеспечит переход на строку с номе- ром 154-10=25. Примеры правильно записанных операторов: STR, 18; STR, —2, STR, Х4-4; STR, XNOV. Оператор вызова подпрограммы Общий вид: CAL, имя метки. Оператор вызова предполагает следующую структуру подпро- граммы: : имя метки текст подпрограммы,-который может содержать произвольное количество геометрических объектов, операторов и команд; RET — последняя команда подпрограммы. Пример. : РР1 DS, LI, К2, КЗ, К4, ХВ, L3, L4 CAL, :РР1 Оператор-вывода на терминал (печать) Общий вид: VIVOD, имя. переменной или выражение. Вывод осуществляется в фиксированном формате F14.4. Пример. VIVOD, X4-R13. На терминале будет выдано сообщение: выводимое значе- ние = 5.0000. Если, например, Х=2 и R13=3. Операцию вывода можно использовать: для вывода результа- тов инженерных расчетов; при отладке программы.
Арифметический оператор Общий вид: имя переменной = выражение. Пример. Х=А+В. Элементами выражения могут быть следующие функции; Тип функции Синус Косинус Тангенс Квадратный корень Арктангенс Канонические функции Обозначение FS(X) FC(X) FT(X) FK(X) FA(X) FX, FY, FZ (координаты x, y, z точки) Интерфейс CAD/CAM Под интерфейсом CAD/CAM понимают такие средства языка ИнтерСАП, которые позволяют связать программу на языке ИнтерСАП с различными программными и информационными ком- понентами САПР конструкторской и технологической подготовки производства. Различаются две формы интерфейса: пассивный, когда из памяти ЭВМ в управляющую программу вызывается массив данных (например, массив координат точек); активный, когда из управляющей программы на языке Интер- САП вызывается любая программа (например, программа расчета режимов обработки). Пассивный интерфейс реализуется оператором: VVODT, имя файла, имя массива точек, количество вводимых элементов массива. Здесь имя файла описывается в соответствии с требованиями операционной системы; имя массива точек — это имя массива про- стых геометрических объектов. Пример. Введем в массив точек с именем ТА, состоящий из 70 элементов (точек), значения координат х, у, z этих точек, кото- рые хранятся в файле FT: GMAS, ТА, 70 — описание массива точек ТА; VVODT, RK1: FT, ТА, 70 — ввод 3X70=210 значений коор- динат 70 точек. Применение этого оператора ввода позволяет автоматически ввести в программу на языке ИнтерСАП большое количество ин- формации. Операция ввода соответствует форматному вводу на ФОРТРАНе по формату FORMAT (3F14.4) для файлов последо- вательного доступа. Координаты точек считываются из файла по записям. Одна за- пись содержит три координаты х, у, z для каждого элемента мас- сива точек. Предполагается, что файл, содержащий необходимую инфор- мацию, ранее подготовлен любой другой программой. Это может выполнить также одна из подсистем САПР (например, САПР конструктора), что позволяет при помощи оператора VVODT осу- 32
ществить связь между системой ИнтерСАП и другими подсисте- мами интегрированной САПР типа CAD/CAM. В качестве примера можно рассмотреть задачу формирования траектории движения инструмента (фрезы) для обработки объем- ной (трехмерной) поверхности. Если мы располагаем математи- ческой моделью (описанием) поверхности, можно сформировать файл, содержащий координаты х, у, z точек, лежащих на поверх- ности (рис. 50) с необходимой дискретностью. Пример. DET, ПРИМЕР GMAS, ТА, 200 — 200 точек задают поверхность; NT, 0,0 — начальная точка; VVODT, RK3: FTN1. DAT, ТА, 200 — ввод из файла в массив ТА. N=1 : 2 Рис. 50. Поверхность, за- X = FX ( ТА (N ) ) данная массивом точек Y=FY(TA(N)) Z=FZ(TA(N)) Активный интерфейс реализуется оператором: STAPT, имя файла, в котором находится вызываемая программа. Пример. START. — вызывается программа TPR. 1.3. ПРИМЕРЫ ПРОГРАММ НА ЯЗЫКЕ ИНТЕРСАП В этом разделе представлено несколько примеров, каждый из которых содержит эскиз детали, текст управляющей программы, прорисовку траектории движения инструмента. Примеры подобра- ны таким образом, чтобы можно было проиллюстрировать слож- ные ситуации, с которыми встречается технолог при разработке управляющих программ. В разделе описаны следующие примеры: деталь «ТЕСТ N» (рис. 51, 52; программа 2); деталь «Съемник» (рис. 53, 54; программа 3); деталь «Шаблон» (рис. 55, 56; программа 4); деталь «TEST S» (рис. 57, 58; программа 5); деталь «TEST 4» (рис. 59, 60; программа 6); деталь «TEST 7» (рис. 61, 62; программа 7); деталь «TEST» (рис. 63, 64; программа 8); деталь «TEST 5» (рис. 65, 66; программа 9); деталь «ТЕСТ 7» (рис. 67, 68; программа 10). 33
Рис. 51. Чертеж детали «Тест N> 2. ИнтерСАП-программа «TEST N> DET.TECTN Т0>0.0 LX > ТО,О LY>T0,90 К1>ТОДО Ll>T0,46 L2>L1,YB,4.1 L3>L1,YM,4.1 L4>L1,TO L5>L4,XB,27 L6>T0,-30 L7>L6,YB4.5 L8>L6,YM^.5 L9>T030 L10>L9,YM»2.5 L11>L9,YB»2.5 L12>LY,XM,2.5 L13>LY,XB,2.5 K2>T0,25.25 T1>LY,K2,YB T2>L6,K2,XB T3>L9,K2,XM T1O>L8,K1,XB K3>T1,X5 K4>T2,2.5 K5>T3,2.5 T4> 38.5,45 T5>77,0 T6>38.5,-45 NT,TO F.3O EKVD3P,0.145 SRIS31XY,YB,K3,L13,YB,L2,L5,L3,XB,K1,XB.L7,K4,L8,T1O SPIS,S2,T1O,K1,XM,L1O,K5,L11,XM,K1,YB,L12,K3,YB»LY DS3132 EKVD, VIK DT.TO STOP SSPABOTAET МАТРИЦА ПОВОРОТА MA=0 MATR,MA,0,38.5,45 TRN,MA DT,T0 STOP ({ЗЕРКАЛЬНО ОТОБРАЖАЕМ ОТНОСИТЕЛЬНО LX ZER33^1,LX - ZER5432.LX EKVD3L.0.145 DS3334 EKVD, VIK DT.TO NETRN STOP Ml«0 MATR.M1,0,77,0 TRN,Ml DT.TO STOP ZER3533.LY ZER.S634.LY EKVD3P,0.143 DS.S536 34
EKVD,VIK DT.TO NETRN STOP M2=0 MATR,М2,0,38.5,-45 TRN,М2 DT.TO STOP ZER.S7JS5.LX ZER»S8,S6,LX EKVD3L,0.145 DS.S738 EKVD,VIK DT.TO NETRN DT.TO KO Рис. 52. Траектория движения инструмента для «Тест N» 3. ИнтерСАП-программа «Съемник» DET,СЪЕМНИК Т0>43.5,0 Т1>97,11 Т2> 97,-11 fW ТЗ>5Л0 Т4>0,0 Т5>-20,150,50 LX>T4,0 LY>T4,90 L2>LY,XB,97 К0>Т0,14.5 L3>K0,T13P Lll>K0,T23b L5>LY,XB,14 L6>LX,YB,132 L7>LY,XB,5 L9>LX,YM,7 LI 2 > TO, 30 L4>L12,YB,14.5 LI 3> TO,-30 L10>L13,YM,14.5 K2>T3,5 К1 > L7.XM.VNE.K2, YB.5 K3>LY,XB,L9,YB,10 K4>L9,YM,L10,YM,3 K5>L2,XM,L11,YB,3 K6> L2,XM,L3, YM,3 K7>L5.XB,L4,YB,10 NT.T5 USK DT.TO,10 S,1200 F,100 OHL.VKL DZ,-1 EKVD.SL.2 DS,LX,L2,PR,K6,L3,KO.L4,PO.L5,L6,L7 DS.L7.K 1 .K2.PR.L Y,K3,L9,K4,PO,L10,KO,PR,L11 .K5.L2.LX EKVD,VIK DT.TO DZ.10 OHL,VIK F.tOOO DZ.50 S.VIK DT,T5 KO Рис. 54. Траектория дви- жения инструмента для обработки детали «Съем- ник» 35
Рис. 56. Траектория движения инстру- мента для обработки детали «Шаблон» 4. ИнтерСАП-программа «Шаблон» вето. через У 5 DET,ШАБЛОН Т0>0,0 LX>T0,0 LY>T0,90 Ll>LY,XM,364/2 L2> LX,YB,274/2 L3>LY»XB,364/2 L4> LX,YM,274/2 T1 >-(396/2+50),(304/2+50),100 K1>L1,XB,L2,YM,57 K2>L2»YM,L3,XM,57 K3>L3,XM,L4,YB,57 K4>L4,YB»L1,XB»57 ' L5>PARJ-Y,T1 NT.Tl USK DS.L5.LX DZ.20 S.800 $$ОБХОД КОНТУРА ФРЕЗОЙ ДЮ EKVD.SL.10.5 DS,100J-XXl,PR,K4,L4,K3,L3,K2,L2,Kl.L1,LX EKVD.VIK DS,LX,L5 $$ОВХОД КОНТУРА ФРЕЗОЙ Д8 EKVD3U8 DS,12O,LX,L1,PR,K4,L4,K3,L3,K2,L2,K1,L1,LX EKVD.VIK DS.LX.L5 F.1000 DZ.100 S.VIK DT.Tl KO Рис. 57. Чертеж детали «TEST S> Рис. 58. Траектория движения ин- струмента для обработки детали «TEST S> 36
5. ИнтерСАП-программа «TEST S> DET,TESTS T0>0,0 DS31 К4>Т0Д25 EKVD.VIK LX>T0,0 DT.Tl LY>T0.90 NETRN L5>TO,11Z5 STOP L2>T0,105 MA=O L7>L5,XB^.65 MATR.MA.TO L4>T0,120 TRN, T3>L5,K4,YB DT.Tl L1>L5,T3 EKVD3L.0.145 L6>L1,YB,3.5 DS31 T1>L5.L6 EKVD.VIK L3>L1,YB,5.3 DT.Tl K1>L7,XM,L3,YM,1.8 NETRN K2>K1JJ STOP K3>L4,XM,VNE,K2,YM,0.S MA=O K3>L2,XB,VNE,K1,YM.O.5 MATR.MA.-215 NT.TO TRN.MA.T0 F300 DT.Tl STOP DT.Tl EKVD3L.0.145 DS31 EKVD.VIK DT.Tl NETRN STOP MA=O MATR.MA.-270 TRN.MA.TO DT.Tl EKVD3L,0.145 DS.S1 EKVD.VIK DT.Tl NETRN STOP EKVD.SL.0.145 SPIS,S1,L5,L3,PR,K2,K3,PO,YM,L4,L1,L2,YM,K5,K1,PR,L3,L5 DS.S1 EKVD,VIK DT.Tl STOP «СДВИГ ЧЕРЕЗ 45 ГР.ОСУЩЕСТВЛЯЕМ МАТРИЦЕЙ ПОВОРОТА МА=О MATR.MA.-45 TRN.MA.TO чц DT.Tl MA=0 MATR.MA.-315 TRN.MA.TO DT.Tl EKVD3L.0.145 DS31 EKVD.VIK DT.Tl NETRN STOP DT.TO KO EKVD3L.0.145 DS31 EKVD.VIK DT.Tl NETRN STOP MA=O MATR.MA.-90 TRN.MA.TO DT.Tl EKVD3L.0.145 DS31 EKVD.VIK DT.Tl NETRN STOP MA=0 MATR.MA.-135 TRN.MA.TO DT.Tl. EKVD3U0.145 37
6. ИнтерСАП-программа «TEST 4> OET.TEST4 Т0>0»77 Т1>0,61 Т2>48,69 ТЗ>31Л Т4>-31Л Т5>28.75,61.8 Т6> 16.16.8 Т7>-48,69 Ь1>Т1,90 L40>T3,0 L2>L40,YB,69 К1>Т2Л L39>Kl,-64 L3>L39,XB,5 L24>T5,30 L6>L24,YM,32.5 L4>L6,YB,22.5 L5>L3,YM,2.2 L7>L6,YM,5 K4>T3,5 L41>L1,T3,3O L12>L41,YM,5 L11>L12,YB,4.75 L9>LH.YB^2.5 L8>L9,YB3.75 L42> LI,T3,-60 L25>L42.YM^ L10>L25,YB,2.2 L13>L40,YB,5 K2>L3.XM,L7,YB,5 K3>L25,YB,L8,XM,5 X8>T7,5 L38>L1,XB»5O T8>L13,L1 NT,TO F,100 DZ»-1 S,1200 EKVD3U2 *Л»Ы,52 ZER.S331X1 ZER3432.L1 INVER.S5.S3 INVER,S6^4 DS3635 EKVD,VIK DT.TO S.VIK KO Рис. 62. Траектория движения инструмента для обработки детали «TEST 7» 38
7. ИнтерСАП-программа «TEST 7» DET.TEST7 SSOBPABOTKA НА ЭЛЕКТР0ЭР03И0НН0М СТАНКЕ Т1>0.0 LX>T1.0 Ll>T1.90 L2>T130 L3>L2,YB.0.675 L4>L2,YM,0.675 L6>L1,XB,1 К1>Т1Д4 К2>Т1Д1 T2>L2,K2,XB L7>L2,T2 L8>L1,XB,0.675 L12>LX,YM,5.1 L13>LX,YB,37.3 NT.Tl F,30 EKVD.SP,0.125 SPIS31.L1.L13.L6.YB»K1.XB,L3.L7,L4.XB,K1.YM.L8.L12.L1 DS.S1 $$ЗЕРКАЛЬНОЕ КОПИРОВАНИЕ ОТНОСИТЕЛЬНО LI ZER»S2,S1.L1 SSCOXPAHEHHE НАПРАВЛЕНИЯ ОБРАБОТКИ ПРИ ПОМОЩИ INVER INVER33.S2 DS.S3 EKVD.VIK DT.T1 STOP $$ПОВОРОТ И СДВИГ ОСУЩЕСТВЛЯЕМ МАТРИЦЕЙ MA=0 MATR.MA.-180.-15.75.0 TRN.MA DT.T1 EKVD.SP,0.125 DS3133 EKVD.VIK DT.T1 NETRN STOP DT.T1 KO Рис. 64. Траектория движения инструмента для обработки дета ли «TEST» Рис. 63. Чертеж детали «TEST» 39
9. ИнтерСАП-программа «TEST 5» 8. ИнтерСАП-программа <TEST> DET.TEST {{ПОДПРОГРАММА GMAS.T.7 Т0>0,0 Т(1)> -(396/2+ 50),(364/2+ 50),100 LX>T0,0 LY>T0,90 Ll>LY,XM364/2 L2> LX, YB,274/2 L3>LY,XB,364/2 L4>LX,YM,274/2 L5>PAR,LY,T(1) T(2)>-(50+61),-50 T(3)>-132,70 T(4)> 52,64 T(5)>86,15 T(6)>36,-24 T(7)>47,-102 NT,T(1) USX DS.L5.LX DZ.20 S.800 F,100 DZ,-1 DET.TEST5 {{ОБРАБОТКА НА ЭЛЕКТРОЭРОЗИОННОМ СТАНКЕ T0>0,0 LX>T0,0 LY>T0,90 LI >LY,XM,119.3/2 L4>LY,XB,119.3/2 Tl>0,5.8/2 L3>Tl,-( 1+5/60) L2>T1,+(1+5/60) T2>0,-5.8/2 L6>T2,-(l+5/60) L5>T2,(1+5/60) K1>L1,XB,L2,YM,1 K2>L3,YM,L4,XM,1 K3>L4,XM,L5,YB,1 K4>L1,XB,L6,YB,1 NT,TO F,30 EKVD3L,0.145 DS,LX,L1,K1,L2,L3,K2,L4,K3,L5,L6,K4,L1,LX EKVD.VIK DT.T0 KO {{ОБХОД КОНТУРА ФРЕЗОЙ Д= 10 ММ. EKVD3L.10 DS.100.LX.L1 ,L4,L3,L2,L1 ,LX EKVD.VIK DS.LX.L5 DZ.10 «СВЕРЛИМ 6 ОТВЕРСТИЙ .НАЧИНАЯ CO ВТОРОГО N=2 :M3 DT,T(N) {{ВЫЗОВ ПОДПРОГРАММЫ СВЕРЛЕНИЯ CAL,:PP1 N = N + 1 ES,N,BOL,7,:M1 NA,: М3 :М1 F.1000 DZ.100 S,VIK DT,T(1) NA,:M2 {{ПОДПРОГРАММА СВЕРЛЕНИЯ :PP1 F.1000 DZ.-1 F,500 DZ.10 RET :M2 KO и У Zy то LX Рис. 66. Траектория движения инструмента для обработки детали «TEST5» Рис. 65. Чертеж детали «TEST 5> 40
Рис. 67. Чертеж детали «TEST 7» Рис. 68. Траектория движения ин- струмента для обработки детали «TEST 7> 10. ИнтерСАП-программа «ТЕСТ 7» DET.TECT7 $$ОБРАБОТКА НА ЭЛЕКТРОЭРОЗИОННОМ СТАНКЕ Т0>0,0 LX>T0,0 LY>T0,90 Ll>T0,37 К1>Т0Д7.75 L2>T0,-67 L3>L1,YB,4.15 L4>L1,YM,4.15 T1>L3,K1,XB T2>L4,K1,XB K2>T0,24.5 T3>L1,K2,YB K3>T3,1.5 L5>K3,T1,SP L6>K3,T23L L7>L2,XB,4.15 L8>L2,XM,4.15 T4>L7,K1,YM T5>L8,K1,YM T6>L2,K2,YM T10> 0,25.5 T10>0,30 K4>T6,1.5 L9>K4,T43P L10>K4,T53L F,30 EKVD3P,0.155 SPIS,S1,LY,YB,K1,L5,PR,K3,L6,T2,PO,K1,YM,L9,K4,PR,L10,YM,K1,PO,YM,LY DS.S1 ZER323LLY INVER,S332 DS.S3 EKVD,VIK DT.TO ' KO 41
Глава 2 МАКРОСРЕДСТВА ИНТЕРСАП 2.1. ЯЗЫК ТЕХНОЛОГИЧЕСКИХ ПЕРЕХОДОВ ДЛЯ МЕХАНИЧЕСКОЙ ОБРАБОТКИ ДЕТАЛЕЙ Обработка любой детали на оборудовании с ЧПУ представ* ляет собой последовательность технологических переходов, каж- дый из которых в свою очередь может рассматриваться как про- цесс обработки одной или нескольких элементарных поверхно- стей — конструктивных элементов детали. Анализируя перечень обрабатываемых на предприятии дета- лей, технолог всегда может определить множество типовых поверх- ностей, причем понятие «поверхность» здесь определяется как с точки зрения конструктивных особенностей, так и с Точки зрения технологии ее обработки. Например, канавка при токарной обра- ботке с конструктивной точки зрения представляет собой сочета- ние нескольких геометрических составляющих, но мы будем рас- сматривать ее как одну типовую поверхность исходя из способа обработки с помощью одного инструмента, формирующего одним движением все геометрические составляющие. Таким образом, каждой типовой поверхности можно поставить в соответствие тех- нологический переход, под которым будем понимать некоторую технологическую схему обработки этой поверхности. Таких схем может быть несколько, но будем считать, что технологом выбрана одна — оптимальная с его точки зрения. В идеальном случае любая деталь может быть описана ком- бинацией типовых поверхностей из соответствующего множест- ва. Поэтому обработка такой детали будет представлять собой последовательность элементов из множества технологических переходов. Процесс обработки можно описать в терминах языка, который назовем языком технологических переходов (ЯТП). Что дает технологу такой язык? Технолог может запрограммировать обра- ботку детали в терминах этого языка, не затрачивая при этом времени и сил на описание простых геометрических объектов, из которых состоит траектория движения инструмента, соответ- ствующая технологическому переходу. Наглядность и простота ЯТП для технолога очевидна. Для каждого класса обрабатываемых деталей на конкретном производстве (предприятии) могут создаваться различные мно- жества технологических переходов. Можно выделить два основ- ных диалекта языка: ЯТП для токарной обработки; ЯТП для фрезерной обработки. Попытаемся сформировать множество переходов для обоих диалектов, определяя тем самым термины нового языка. Ясно, что этих терминов будет недостаточно, чтобы описать обработку любой детали, но приведенные ниже переходы, безусловно, явля- 42
ются типичными и могут быть приняты за базовые при форми- ровании технологом необходимого множества терминов ЯТП. Терминам языка будут соответствовать схемы обработки типо- вых поверхностей, причем для одной типовой поверхности может быть предложено несколько терминов ЯТП в зависимости от кон- кретных условий обработки: вида заготовки, характеристик режу- щего инструмента, требуемого качества обработки и пр. Рассмотрим некоторое множество технологических переходов для токарной обработки. Подрезка торца Подрезка торца выполняется: 1) за один или несколько проходов с центровкой резцом на последнем проходе, если необходимо (рис. 69); 2) за один или несколько проходов для деталей, имеющих вну- тренний диаметр D2. Применяется для чистовой торцовки после сверления, расстачивания и т. п., для заготовок типа «труба». На последнем проходе, если необходимо, резцом снимают фаску ЛХ45° (рис. 70); 3) с последующей обработкой радиусрв /? 1, /?2, выдержав раз- меры А и L (рис. 71). Вход и.выход с поверхности — по радиусам. Сверление Для обычного сверления (рис. 72) применяются движение на рабочей подаче на глубину Z, если надо,— выдержка времени Г, отвод на ускоренной подаче до плоскости безопасности Y. Рис. 70. Подрезка торца со снятием фаски Рис. 71. Подрезка торца с после- дующим точением Рис. 72. Обычное сверле- ние 43
ние с удалением (вымыва- нием) стружки Рис. 74. Глубокое сверление со стружколоманьем При глубоком сверлении с удалением (вымыванием) стружки (рис. 73) после каждого шага сверления инструмент выводится из отверстия до уровня У. Если необходимо, в конце рабочего хода делается выдержка времени Т. Здесь К — глубина 1-го движения; / — переходная величина. Она вычитается до тех пор, пока К — N-I не станет меньше /; тогда применяется постоянный шаг сверления. При глубоком сверлении со стружколоманием (рис. 74) ин- струмент после каждого шага сверления отводится на величину J и остается в отверстии, а не выводится до уровня У, как в пре- дыдущем случае. Многопроходная черновая обработка поверхностей Обработка происходит в продольном направлении последова- тельными проходами с глубиной резания t до контура поверх- ности (рис. 75). Может быть задан припуск на чистовой проход. Возможна такая же схема обработки, но с поперечным направле- нием проходов. Следующие схемы отличаются только контуром поверхности, поэтому, чтобы не загромождать рисунок, не будем изображать все черновые проходы, а приведем лишь описание контура по- верхности. При этом отметим, что возможна в различных случаях как продольная, так и поперечная обработка (рис. 76). Приведен- Рис. 75. Многопроходная черновая об- работка ные схемы применяются при обработке внешних поверх- ностей, но могут использо- ваться и при обработке вну- тренних поверхностей. Чистовая обработка Схемы чистовой обработ- ки вышеуказанных поверх- ностей в книге не приведены, поскольку они представляют собой один или два чистовых прохода (при этом указыва- ется. глубина резания) по контуру поверхности. 44
Рис. 76. Типы обрабатываемых поверхностей Обработка канавок Многопроходное нарезание цилиндрической канавки (или од- ной широкой канавки) приведено на рис. 77. Аналогичным образом можно построить схему обработки и для торцовой канавки. Нарезание резьбы резцом При многопроходном нарезании (рис. 78) приняты следующие параметры обработки: Z1 — длина резьбы; Z2 — величина сбега; Р1 — глубина резьбы; Р2— глубина резания; РЗ— конусность резьбы (для цилиндрической резьбы РЗ=0); и. т.— исходная точка. При однопроходном нарезании резьбы (рис. 79) параметры обработки сокращаются до двух: РЗ и Z1. Приведенные выше схемы (рис. 78 и 79) являются универсаль- ными. При условии Р<3=0 или D1=D2 они могут применяться для нарезания цилиндрических резьб. Нарезание резьбы плашкой или метчиком При выполнении этого перехода происходит движение на рабо- чей подаче на глубину Z, затем производится переключение направления вращения шпинделя, выход до уровня Y на рабо- чей подаче и переключение. направления вращения шпинделя (рис. 80). Любой технолог механообрабатывающего производства посто- янно пользуется ЯТП. Для реализации ЯТП в терминах ИнтерСАП применяется универсальный макроаппарат. При этом каждому термину ЯТП соответствует некоторое макроопределение (мак- рос). Множество макросов образует макроязык (МЯ). 45
Рис. 77. Многопроходное нарезание цилиндрической канавки Рис. 79. Однопроходное нарезание резьбы Программа на МЯ в идеальном случае будет представлять собой последовательность макровызовов, которые в данном случае можно рассматривать как языковые конструкции, созданные поль- зователем. Такая программа не только в несколько раз короче соответствующей программы на ИнтерСАПе, но, что важнее, отличается большей наглядностью и позволяет использовать в качестве исходной геометрической информации фактически только данные чертежа детали без дополнительных преобразований. Следует отметить, что в каждом конкретном случае может со- здаваться свой диалект МЯ в зависимости от класса обрабаты- ваемых деталей, т. е. для каждого класса деталей технолог может создавать множество макросов, позволяющих эффективно про- граммировать обработку и значительно снижать трудоемкость проектирования управляющих программ. 2.2. ПРИНЦИП РАБОТЫ УНИВЕРСАЛЬНОГО МАКРОГЕНЕРАТОРА Макроаппарат ИнтерСАП позволяет автоматически вставить в исходную программу в месте, указанном строкой макровызова, целый фрагмент Заранее подготовленного технологом текста — макрос. При этом в макрос вместо формальных параметров будут подставлены фактические, взятые из строки макровызова. Для реализации такого процесса используется универсальный макро- генератор, принцип работы которого рассмотрен ниже. 46
Допустим, технологом подготовлен некоторый макрос, в кото- ром присутствуют формальные параметры #1, =£2, #3, ..., #N, где символ # предназначен для распознавания формального па- раметра макрогенератором. Тогда, если в исходной программе появится строка вызова данного макроса с указанием фактических параметров XI, Х2, ХЗ, ..., XN, универсальный макрогенератор произведет вставку в текст программы вместо макровызова текста макроса, в котором формальные параметры будут заменены на соответствующие фактические: # 1 на XI; # 2 на Х2; # N на XN, т. е. #1 заменяется на первый фактический параметр в строке макровызова, #2 — на второй и т. д. Особенностью макрогенератора ИнтерСАП является то, что в качестве параметров XI, Х2, ..., XN могут использоваться любые элементы языка — ключевые слова, метки, модификаторы, целые фрагменты строк и др. 2.3. СТРУКТУРА МАКРОСА Макрос можно рассматривать как программный модуль, имею- щий входные и выходные параметры. Причем выходной информа- цией макроса является в общем случае описание траектории дви- жения инструмента, соответствующей технологической схеме об- работки. Входными данными здесь выступают параметры, опреде- ляющие геометрические (траектория движения инструмента) и технологические (режимы резания и т. п.) характеристики процес- са обработки. Таким образом, универсальность применения макроса зависит от того, какие входные параметры выберет технолог. Перейдем теперь к структуре макроса. Макрос состоит из за- головка, тела и ограничителя. Заголовок представляет собой символ @ и имя макроса (на- пример: @ карман, @ торец и т. д.). Тело макроса может содержать произвольное количество про- стых и сложных геометрических объектов, произвольное количест- во команд управления станком и инструментом, выраженных в терминах языка ИнтерСАП. Ограничитель представляет собой символ </> в первой позиции строки и указывает на конец макроса. Для вызова соответствующего макроса в исходной программе ИнтерСАП необходимо записать следующую строку (макровы- зов): > имя макроса; параметр 1; параметр 2; ...; параметр N. Здесь символ <>> означает макровызов. Параметры в строке отделяются друг от друга символом «;». В качестве параметра может быть любая комбинация символов, исключая символ «;>. 47
Соответствие фактических параметров (в макровызове) и фор- мальных (в макросе) определяется следующей схемой: > имя; параметр 1; параметр 2; параметр N II I #1 *2 #N Номера формальных параметров, используемых в макросе, должны строго соответствовать порядковым номерам фактиче- ских параметров в строке макровызова. Итак, если в исходной программе появляется строка макровы- зова, макрогенератор автоматически заменяет ее текстом соот- ветствующего макроса, меняя при этом # 1 на параметр 1, #2 на параметр 2 и т. д. Пример. Напишем макрос, в котором вычислялось бы рас- стояние между заданными точками. Имена точек задаются в макровызове. Вычисленное расстояние должно выводиться на терминал. Назовем наше макроопределение мак 1. Оно имеет следующий вид: @ мак! #3 = FK((FX(#1)-FX(#2) Л2(FY(=H= 1) — -FY(#2))A2) VIVOD, #3 Вызов этого макроса в программе: > мак1; Tl; Т2; А, где Т1 и Т2 — имена точек, между которыми вычисляется расстоя- ние; А — величина расстояния. Таким образом, в процессе работы макрогенератора произой- дет замена формальных параметров фактическими: # 1 на Т1; # 2 на Т2; # 3 на А. Результатом работы макрогенератора будет следующий фраг- мент, вставленный в исходный текст: А= FK((FX(T1) — FX(T2)) —2 — (FY(T1) —FY(T2)) —2) VIVOD, A Работа макроаппарата ИнтерСАП может быть представлена схемой, изображенной, на рис. 81. Из рисунка видно, что макрогенератор работает как препро- цессор ИнтерСАП. Исходная программа поступает на вход макро- Рис. 81. Структура процесса макрогенерации 48
генератора. При наличии в программе строк макровызова макро- генератор производит вставку соответствующих макросов, кото- рые извлекаются из макробиблиотеки. Допускается прикомпо- новка макроса к телу исходной программы, при этом уменьшается время поиска. В результате работы макрогенератора формируется файл, содержащий термины языка ИнтерСАП. Этот файл посту- пает на вход транслятора системы и обрабатывается обычным образом. Для получения возможности использовать в своей программе новый макрос технолог должен записать текст макроса в макро- библиотеку, которая представляет собой обычный символьный файл с именем SAPMAC.LIB. Макросы в макробиблиотеке могут создаваться и редактироваться обычным текстовым редактором. Макрос можно вставить в любое место библиотеки, но так, чтобы он не попал в ранее записанный макрос. В макробиблиотеке может быть несколько макросов под одним именем, но макрогенератор будет работать только с первым, встреченным по тексту макро- библиотеки. Следует обратить особое внимание на то, что все метки и име- на, использованные в макросе, действуют и в вызывающей его программе. Поэтому необходимо следить за тем, чтобы имена гео- метрических объектов, определенные в основной программе, не повторяли имен объектов, описанных в макросе. Кроме того, следует учесть, что при многократном вызове од- ного макроса могут быть сформированы одинаковые метки. По- этому рекомендуется метки в макросе записывать как параметр. 2.4. АЛГОРИТМ РАЗРАБОТКИ МАКРОСА Рассмотрим подробно технологию разработки макроса на сле- дующем примере. Пусть необходимо в одном макросе реализо- вать получение одного из двух типов поверхности детали путем многократного продольного точения из заготовки, изображенной на рис. 82 штриховой линией. Другими словами, необходимо обес- печить съем материала, причем форма снятого материала — че- тырехугольник, верхняя .и нижняя стороны которого задаются прямыми, параллельными оси х, правая сторона — прямой, совпа- дающей с осью у. а левая — прямой, проходящей под любым уг- лом к оси х (кроме равного 0) или дугой окружности произволь- ного радиуса. Допустим, технологом определена схема обработки, представ- ленная на рис. 83. Траектория инструмента проходит последова- Рис. 82. Типы обрабатываемых поверхностей 49
Рис. 84. Контур удаляемо- го слоя материала тельно через опорные точки. Технологом задается припуск А, который необходимо оставить для чистовой обработки цилиндри- ческой поверхности. Припуск на чистовую обработку торцовой поверхности примем равным 0,075А. Из схемы видно, что обра- ботка состоит из нескольких повторяющихся циклов — это дви- жение на рабочей подаче F с глубиной резания t до прямой, огра- ничивающей контур детали с учетом припуска на чистовой про- ход, затем отвод инструмента по оси у на величину 0,5/ и движение на ускоренной подаче до прямой, смещенной на 1 мм от торца заготовки. Определим, какие параметры должны быть входными пере- менными макроса. Ясно, что параметрами будут глубина реза- ния /, припуск на чистовую обработку А и величина рабочей по- дачи F. Теперь необходимо установить, какие параметры будут опреде- лять геометрические параметры снимаемого слоя материала. Прямые LI, L2, L3, L4 (вместо прямой L3 может быть дуга окруж- ности КЗ) однозначно описывают контур снимаемого материала. Но поскольку было оговорено ранее, что L4 и L2 всегда горизон- тальные прямые, достаточно указать две точки: Tl, Т2 или ТЗ, Т4, тем более, что нам будут необходимы координаты у этих точек. Если технологу все-таки удобнее описать прямые L4 и L2, можно легко определить точки Т1 — Т4 как пересечение соответствую- щих прямых (рис. 84у. Итак, параметрами макроса будут яв- ляться: /, A, F, L3, L1, Т1 (Т4), Т2 (ТЗ). В одной программе макрос может вызываться несколько раз, а в макросе могут использоваться метки, поэтому введем еще один параметр — метку макроса (для избежания после макрогенерации Рис. 85. Шаг цикла обработки повторения одной и той же мет- ки). Список формальных пара- метров будет иметь вид: # 1 — метка макроса; # 2 — глубина резания /; # 3 — рабочая подача; # 4 — припуск на чистовой проход; # 5 — точка, описывающая 50
нижнюю границу снимаемого слоя ТЗ или Т2; # 6 — левая граница снимаемого слоя L3 или КЗ; # 7 — точка, описывающая верхнюю границу снимаемого слоя Т1 или Т4; # 8 — правая граница снимаемого слоя L1. Теперь составим алгоритм многопроходного точения, содержа- щий цикл повторяющихся проходов. Один шаг цикла (рис. 85) представляет собой движение на рабочей подаче из Т1 (конечная точка предыдущего шага) в Т2, затем в ТЗ, Т4, включение уско- ренной подачи и движение в Т5. Алгоритм обработки Шаг 1. Определим количество проходов APR1. В терминах языка ИнтерСАП это можно записать: APR1 =FY(#5)-FY(#7) APR1 = FK(APR1 * APR1) — получить абсолютное значение. Шаг 2. Уменьшим количество проходов на 1: APR1 == APR1 — 1. Шаг 3. Если APR1 *4/#2, перейдем на шаг 6. Шаг 4. Переопределим точки 2, 3, 4, 5 (рис. 85) с учетом обеспе- чения следующего прохода с глубиной t и опишем движение по этим точкам. Шаг 5. Перейдем на шаг 2. Шаг 6. Определим конечные точки обработки 6, 7, 8, 9 и опишем движение по этим точкам. Запишем этот алгоритм в терминах языка ИнтерСАП. Назо- вем наш макрос PROT (программа 11). Для облегчения понима- ния содержимого макроса представлена схема (рис. 86). В качест- ве примера использования макроса PROT приведена программа черновой обработки детали (рис. 87). Левую границу снимаемого слоя образуют геометрические объекты LY, KI, L4, правую — прямая L6. Программа содержит определение геометрических объектов, передаваемых в качестве параметров, и три строки макровызовов (программа 12). Следует обратить внимание на то, как в данном примере в стро- ке макровызова записаны 5-й и 7-й параметры — это точки, опре- деленные как пересечение соответствующих прямых. Заметим, что созданный нами макрос применен для обработки внешних по- 0,075**4 TPR7 LPR2 #7 £ TPR3 LPR3 TPR3 LPR1 TTI*R2 \JPRO <LPR8 *\TPRf TPR8 *5 Рис. 86. Схема обработки, реализуемая макросом PROT 5!
11. Макрос «Проточка» @PROT TPR1>#5 TPR2X7 LPR8>#8,XB,1 APR1=(FY(TPRl)-FY(TPR2))/#2 APR1 = FK(APRPAPR1) :PR#1 APR1 = APR1-1 ES,APR1,RAV,#4/#2,:PR1#1 ES,APR1,MEN.#4/#2,:PR1 #1 TPR1>TPR1,O,#2 LPR1>TPR1,O TPR1>LPR1,LPR8 TPR7>LPR1,#6 TPR7>TPR7,0.075*4,0 TPR3>TPR7,0,-0.5*#2 LPR3>TPR3,0 TPR8>LPR3,LPR8 DS,#3,TPRl>TPR7,TPR3>5000,TPR8 NA,:PR#1 :PR1#1 TTPR2>TPR2,0,-#4 LPR2>TTPR2,0 TTPR2>LPR2,LPR8 TPR7>LPR2,#6 TPR7>TPR7,0.075*#4,0 TPR3>TPR7,0,-0.5*2 LPR3>TPR3,0 TPR8>LPR3,LPR8 DS,#3,TTPR2,TPR7,TPR3,5000,TPR8 I 12. Использование макроса «Проточка» det.val T0>0,0 LX > TO, О LY>T0,90 T1 >0,-30 Ll>T1,0 L2>LY,XB,10 L3>LX,YM,20 L4>LY.XB,30 L5>LX,YM,10 L6>LY,XB,50 L7>LX,YM3 Kl>L3,YB,L2,XM,10 NTJ5,-40 >PROT;1;1.6;150;0;LY,L1;LY;LY,L3;L6 > PROT;2;1.6;150;0;L3,K 1;K 1,XB;U,K 1;L6 > PROT;3;1.6;150;0;LY,L5;L4;L4,L7;L6 KO Рис. 87. Чертеж детали с обозначении ми геометрическими элементами 13. Макрос «Проточка универсальная» ©PROT DPRl=-0.5 DPR2=0.075 FPR=1200 TPR1>#5 LPR7>TPRl,0 TPR9>LPR7,#8 DS,FPR,LPR7,TPR9 TTPR1>#5 TTPR2X7 ZPRX=FX(TPR9)-FX(TTPR1) ZPRX=ZPRX/FK(ZPRX*ZPRX) ZPRY=FY(TTPR2)-F Y(TTPRl) ZPRY=ZPRY/FK(ZPRY#ZPRY) APR1 =FY(TTPR1)-FY(TTPR2) APR1 = FK(APR1 * APR1) APR1=APR1/FK(#2*#2) :PR#1 APR1=APR1-1 ES,APR1,RAV,#4/#2,:PR1#1 ES,APR1,MEN,#4/#2,:PR1#1 TPR1 >TPR1,O,#2*ZPRY LPR1>TPR1,O TPR1>LPR1,#8 TPR7>LPR1,#6 TPR7>TPR7,DPR2*#4*ZPRX,0 TPR3>TPR7,O,DPR1*#2*ZPRY LPR3>TPR3,0 TPR8>LPR3 #8 DS,#3,TPR1,TPR7,TPR3,FPR,TPR8 NA,:PR#1 :PR1#1 TTPR2>TTPR2,0,-#4*ZPRY LPR2>TTPR2,0 TPR7>LPR2 #8 TTPR2>TTPR2,DPR2M4*ZPRX,0 TPR3>TTPR2,0,DPRP#2*ZPRY LPR3>TPR3,0 TPR8>LPR3 #8 DS,#3,TPR7,TTPR2,TPR3,FPR,TPR8 I 52
верхностей правым резцом. Незначительные добавления позво- ляют использовать этот макрос для обработки внешних и внутрен- них поверхностей как правым, так и левым резцом. Текст макроса приведен в программе 13. Заметим, что в макросе появляются пе- ременные ZPRX и ZPRX, определяющие направление движения инструмента. 2.5. БИБЛИОТЕКА МАКРОСОВ В этом разделе представлено несколько примеров, каждый из которых содержит эскиз обрабатываемого конструктивно-техно- логического элемента, описание макровызова, примеры програм- мы, использующей макрос, и текст макроса: 1) «Торцовка-2» (рис. 88; программы 14, 15); 2) «Канавка торцовая» (рис. 89; программы 16, 17); 3) «Сверление» (рис. 90; программы 18, 19); 4) «Фаска радиусная левая» (рис. 91; программы 20, 21); 5) «Отрезка» (рис. 92; программы 22, 23); 6) «Штуцер» (рис. 93; программы 24, 25); 7) ^Точение-1» (рис. 94; программы 26, 27, 28); 8) «Цилиндр» (рис. 95; программы 29, 30); 9) «Конус-1» (рис’ 96; программы 31, 32); 10) «Сфера» (рис. 97; программы 33, 34, 35); 11) «Ступенька» (рис. 98; программы 36, 37); 12) «Обратная ступенька» (рис. 99; программы 38, 39). 14. Описание макроса «Торцовка-2» >TOREC2;#1;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13 СПИСОК ПАРАМЕТРОВ: # 1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 4 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 6 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 8 -ПРИПУСК НА ТОРЦОВКУ # 9 -НАРУЖНЫЙ ДИАМЕТР ДЕТАЛИ (D1) # 10-ВНУТРЕННИИ ДИАМЕТР ДЕТАЛИ (D2) # 11-РАЗМЕР ФАСКИ (L2) #12-РАДИУС РЕЗЦА # 13-НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ ПРИМВЧАНИЕ:ЕСЛИ ФАСКА НЕ СНИМАЕТСЯ-#! 1=0. [ N " $С,C:\MACROS\TORC2.MCR DET.TOREC2 Т0>0,0 LX>T0,0 LY>T0,90 > TOREC2;40; 100; 120; 150;80;7;3;27;50;21 ;4; 1 ;2 КО Рис. 88. Эскиз «Торцов- ка-2» 53
15. Макрос «Торцовка-2> GTOREC2 АТО=5 LOTB>LY,ХМ,#1 L1TB>LX,YM,(#9/2+АТО) ES,#10/2,MEN,АТО,:#13ТО22 L2TB>LX,YM, (#Ю/2-АТ0) NA,:#13ТО23 :#13ТО22 L2TB>LX :#13ТО23 L22TB>L2TB,YB,#12 L3TB>LX,YM,(#9/2-#11) T0?B>L0TB,L3TB L4TB>T0TB,45 L5TB>L0TB,ХВ,АТО T1TB>L4TB,L1TB T1OTB>L1TB,LOTB TO1TB>T1OTB,ATO,0 TOOTB>T1OTB,#8+ATO,0 F,5000 DT,TOOTB ES,#6,RAV,0,:#13TO1 >PROH;#8;#7;#6;#13 ES,NPR,RAV,1,:#13TO1 T2TB>T10TB,#7,О ES,NPR,RAV,2,:#13TO2 T3TB>T2TB,#6,О ES,NPR,RAV,3,:#13TO3 T4TB>T3TB,#6,0 ES,NPR,RAV,4,:#13TO4 T5TB>T4TB,#6,0 ES,#10/2,MEN,ATO,:#13T001 RTB=ATO+(#9-#10)/2+АТО NA,:#13T002 :#13T001 RTB=ATO+(#9-#10)/2+#10/2 :#13T002 DT,T5TB >TOR2;#4;RTB;ATO;#2 :#13TO4 Рис. 89. Эскиз «Канавка торцовая> DT,T4TB >TOR2;#4;RTB?ATO;#2 :#13TO3 DT,T3TB >TOR2;#4;RTB;ATO;#2 :#13TO2 DT,T2TB >TOR2;#4;RTB;ATO;#2 :#13TO1 ES,#11,RAV,0,:#13TO03 >TORC2;# 5;LOTB;ATO;# 3;#12 NA,:#13T004 :#13TO03 S,#3 EKVD,SP,#12 DS,L1TB,LOTB,#5,L22TB EKVD, VIK DS,L2TB,L5TB,5000,L1TB :#13TO04 / 0TOR2 S,#4 F,#l DP,0,#2 DP,#3,0 F,5000 I DP,0,-#2 / ®TORC2 S,#4 EKVD,SP,#5 SPIS,S2TB,L1TB,L4TB,#1,#2,L2 2TB DS,S2TB EKVD,VIK DS,L2TB,L5TB,5000,L1TB / GPROH NTR=0 PTR=#l-#2 :#4PR13 BTR=PTR-#3*NTR ES,BTR,BOL,#3,:#4PR11 NA,:#4PR12 :#4PR11 NTR=NTR+1 NA,:#4PR13 :#4PR12 NPR=NTR+2 16. Описание макроса «Канавка торцовая» СПИСОК ПАРАМЕТРОВ: «1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ # 2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 3 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 4 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ 54
#5 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРА1 #6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #10-Rl #11-ШИРИНА РЕЗЦА (L2) #12-КООРДИНАТА ТОРЦА $C,C:\MACROS\TKAN.MCR DET,TK Т0>0,0 LX>T0,0 LY>T0,90 NT,ТО >TKAN;3;40*,50;l;100;30;12;20;50;4;l;-6 КО 17. Макрос «Канавка торцовая» @TKAN AKA=2 LlKA>LX,YM,#8/2 L2KA>LX,YM,#9/2 ТОК A> #12,0 L4KA>T0KA,90 L3KA>L4KA,XM,#7 K1KA>L1KA,YM,L3KA,XB,#1O K2KA>L2KA,YB,L3KA,XB,#10 L11KA>L1KA»YM,#4 L12KA>L2KA,YB,#4 L13KA>L3KA,XB,#4 К11 KA > LI 1К A,YM,L13K A,XB,#10-#4 T11KA>K11KA,YB,9O K12KA>L12KA,YB,L13KA,XB,#10-#4 L14KA>L4KA,XB,AKA LOK A> LUCA, YM,(#9/2-#8/2-#l l)/2 L22KA>L2KA,YB,#11 L32K A> L12K A,YB,#11 K22KA>K2KA,0,#ll K32KA>K12KA,0,#U T32K A> K32KA.YM.90 SPIS32KA#1,L14KA,L11KA.K11KA,PR,L13KA,K32KA,PR.L32KA,L14KA T10K A> L32K A.L14KA F.5000 S,#2 DS.L14K A,L11К A,#3,T11К A,5000,LI 1К A,LUK A NKA=0 :1KA#1 N!KA = NKA+ 1 b5lKA>LUKA,YM,#1l*NKA T51KA>S2KA#1,L51KA,1 T52KA>L14KA,L51KA DS.T52K A,#3,T51 К A.5000.T52K A ES,( F Y(T51К A)-F Y(T10K A)),BOL»# 11,: 1К A# 1 DS,T 1 OK A,#3,T32K A,5000,T 10K A DS,LJ4KA,L22KA,#6,K22KA,PO,L3KA,L0KA,5000,L14KA DS,T10KA.L14KA,LlKA,#6,KlKA,PR,L3KA.L0KA,5000,L14KA 55
, Описание макроса «Сверление: <SVER;#1;#2;#3;#4;#5;#6;#7 АРАМЕТРЫ МАКРОСА: 1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА П -ВРЕМЯ ВЫДЕРЖКИ (X) 13 -РАБОЧАЯ ПОДАЧА # 4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ # 5 -РАЗМЕР ОТВЕРСТИЯ (L1) # 6 -ДИАМЕТР СВЕРЛА (D1) # 7-УГОЛ КОНИЧЕСКОЙ ЧАСТИ СВЕРЛА (А1) _ # 8 -ВЕЛИЧИНА ВЫХОДА ЦИЛЛИНДРИЧЕСКОЙ ЧАСТИ СВЕРЛА ИЗ СКВОЗНОГО ОТВЕРСТ ПРИМЕЧАНИЕ:ПРИ СВЕРЛЕНИИ ГЛУХИХ ОТВЕРСТИЙ-#8=0. $C,C:\MACROS\NSVER.MCR DET.NSVER Т0>0,0 ЪХ>Т0,0 LY>T0,90 Tl>-3,-3 NT,T1 >NSVER;7;l;120;150;80;4;3 KO 19. Макрос «Сверление» @NSVER ASV=5 losv>ly,xm.#i L1SV>LOSV,XB,ASV T1SV>LX,L1SV T2SV>T1SV,-(ASV+#5+#6/2*FS(#7/2)/FC(#7/2)),0 F.5000 DT.T1SV S,#4 F,#3 DT.T2SV PAUZA,#2 F.5000 DT.T1SV / Рис. 90. Эскиз «Сверление> 56
20. Описание макроса «Фаска радиусная левая> СПИСОК ПАРАМЕТРОВ: # 1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 4 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 6 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #7-Ll #8-Dl #9-D2 #10-А1 #U-R1 # 12-РАД ИУС РЕЗЦА # 13-НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ ПРИМЕЧАНИЕ:ПРИ ОТСУТСТВИИ ЧЕРНОВОЙ ОБРАБОТКИ #6=0. $С,C:\MACROS\RAD.MCR DET.RAD Т0>0,0 LX>T0,0 LY>T0,90 > RAI>40; W20;15(h803;27^0;6033^;U КО Рис. 91. Эскиз <Фаска радиусная левая» 21. Макрос «Фаска радиусная левая» @RAD ARA=5 BRA?=#ll*(l-FS(#10)) LORA>LY,XM,#1 LI RA> LORA,ХМ,#7 L5RA>LX,YM,#8/2 T1RA>L1RA,L5RA L2RA>T1RA,-#1O L4RA> LX.YM.(#9/2+ARA) К 1RA> LI RA.XB.L2R A,YB,#11 T2RA>L1RA,K1RA T3RA>L2RA,K1RA L22RA>L2RA,T3RA L23RA>L22RA,XB,#11 K2RA>L2RA,YM,L23RA,XM,#11 L6RA>K2RA,90 L3RA>L6RA,XB,#11 L13RA>L3RA,XM,#12 T4RA>L4RA,L0RA T5RA>L3RA,K2RA L7RA>T5RA,0 L8RA> LI RA.XM.ARA L9RA>T2RA,0 L10RA>L2RA,YM,ARA T44RA>T4RA,ARA,0 F.5000 DT.T44RA ES,#6,RAV,O,:#13RA1 >RA2;#12;#2;#3;#4;#S;#6+#12;#13 NA.:#13RA2 :#13RA1 >RA1;#12;#3;#5;#13 :#13RA2 I @RA2 $$ДЛЯ 2-Х ПРОХОДОВ ES,BRAX>UARA,:#7RA21 S.#2 DS.URA,L3RA,L10RA>#4.L3RA EKVD,SL,#6 57
JS,L3RA,L2RA,KIRA,PO,LIRA EKVD,VIK EKVD,VIK DS,L9RA,L8RA,5000,L4RA,T4 DS,L9RA,L8RA,5000,L10RA,L13RA :#4RAI2 EKVD,SL,fl / S,f3 DS, L3RA, # 5, K2RA, PR, KIRA, PO, LIRA EKVD,VIK DS,L9RA,L8RA,5000,L4RA,T4*RA NA,:#7RA22 :#7RA21 S f 2 DS, L4RA, L3RA, L10RA, #4, L3RA EKVD,SL,#6 DS, L3RA, L2RA, KIRA, PO, LIRA EKVD, VIK DS,L9RA,L8RA,5000,L10RA,LI3RA EKVD,SL,#1 S,#3 T10RA>L10RA,K2RA,XB DS, L3RA, K2RA, PR, T1 ORA, # 5, K2RA, PR, KIRA, PO, LIRA EKVD,VIK DS,L9RA,L8RA,5000,L4RA,T44RA :#7RA22 / @RA1 $ $a JLSAdAaQ ES,BRA,BOL,ARA, :#4RA11 DS,L4RA,L13RA EKVD,SL,fl S f 2 DS, L3RA, #3,K2RA, PR, KIRA, PO, LIRA EKVD,VIK DS, L9RA, L8RA, 5000, L4RA, T44RA NA,:f4RA12 :f4RAll DS,L4RA,L13RA EKVD,SL,fl S,#2 T10RA>L10RA,K2RA,XB DS, L3RA,K2RA, PR,T10RA, #3,K2RA, PR,KIRA, PO, LIRA 22. Описание макроса «Отрезка» >OT;#1;#2;#3;#4;#5;#6;#7;#8 СПИСОК ПАРАМЕТРОВ: # 1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 2 -НАРУЖНЫЙ ДИАМЕТР ДЕТАЛИ В ПЛОСКОСТИ ОТРЕЗКИ (D1) # 3 -ВНУТРЕННИЙ ДИАМЕТР ДЕТАЛИ В ПЛОСКОСТИ ОТРЕЗКИ (D2) # 4 -НАРУЖНЫЙ ДИАМЕТР ДЕТАЛИ (D3) # 5 -ДЛИНА ОТРЕЗАЕМОЙ ДЕТАЛИ (Ы) #6-ПОДаЧА # 7 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ * 8 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ $C,C:\MACROS\OT.MCR DET.RAD Т0>0,0 LX>T0,0 LY>T0.90 >OT;10;100;2Q;150;90;50;80;8 КО 58
23. Макрос «Отрезка» @от АОТ=5 LOOT>LY,XM,#1 LlOT>L0OT,XM,#5 L2OT> LX, YM,(#2/2+AOT) ES,#3,MEN,AOT,:#8OT11 L3OT> LX, YM,(#3/2-AOT) NA,:#8OT22 :#8OT11 L3OT>LX :#8OT22 L4OT> LX, YM,(#4/2+AOT) T1OT>L1OT,L4OT T2OT>TlOT,AOT,0 T4OT>L0OT,L4OT T5OT>T4OT,AOT,0 S,#6 DS,T50T,5000,L40T,L10T,L20T,#7,L10T,L30T DP,AOT,0 F.5000 DT.T2OT DT.T5OT / L1 Рис. 92. Эскиз «Отрезка> 24. Описание макроса «Штуцер» >STYZER;#l;#2;#3;#4;#5;#6;#7;#8;#9;#10;#ll;#12;#13;#14;#15 СПИСОК ПАРАМЕТРОВ: # 1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ # 2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 3 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 4 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ # 5 -НОМЕР ЧЕРНОВОГО РЕЗЦА # 6 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 7 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 8 -НОМЕР ЧИСТОВОГО РЕЗЦА #9 -КОЛЛИЧЕСТВО КАНАВОК #1O-L1 #lbL2 #12-D1 #13-А1 #14-L3 #15-D2 $C,C:\MACROS\STY.MCR DET.SF T0>0,0 LX>T0,0 LY>T0,90 NT,TO >STYZER;1;400;0.3;0.2;2;500;0.1;3;3;6;5.6;12;45;35;20 KO 59
25. Макрос «Штуцер 8STYZER AST-1 L3ST>LX,YM,#12/2 T0ST>LY,L3ST T1ST>TOST,-#11,0 L2ST>T1ST,15 T2ST>T1ST,-#1O,0 L5ST>T2ST,15 L4ST>T1ST,-#13 L1ST>LY,XB,AST L12ST>L2ST,YM,#4 L14ST>L4ST,YM,#4 L15ST>L5ST,YM,#4 T11ST>L12ST,L14ST T12ST>T11ST,-#10,0 T1OST>L1ST,L2ST T20ST>L12ST,LIST F,5000 DS,T20ST,#3,T11ST NST-0 :1ST#1 DS,T11ST,L14ST,LI 5 ST,T12ST NST-NST+1 ES,NST,RAV,#9,:2ST#1 T11ST>T12ST L14ST>T11ST,-#13 T12ST>T11ST,-#10,0 L15ST>T12ST,15 NA,:1ST#1 :2ST#1 T22ST>T12ST,0,-AST L22ST>T22ST,0 DS,T12ST,T22ST,5000,L22ST,LIST INST,#8 S,#6 DS,T10ST,#7,T1ST NST—O :11ST#1 DS,T1ST,L4ST,L5ST,T2ST NST-NST+1 ES,NST,RAV, #9,:22ST#1 T1ST>T2ST T2ST>T1ST,-#10,0 L4ST>T1ST,-#13 L5ST>T2ST,15 NA,:11ST#1 • О 1 L30ST>LY,XM,#14 L40ST>LX,YM, #15 L41ST>L40ST,YM,AST DS,L3ST,L30ST,L41ST,5000,L / 26. Описание макроса «Точение-1» >TPRN;41;42;#3;44;45;46;47;48;49;410;411;412;#13;414 СПИСОК ПАРАМЕТРОВ- # 1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ 42 -БЕЗОПАСНОЕ РАССТОЯНИЕ # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 4 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 5 -ИМЯ ’ЧИСТОВОГО* СПИСКА * 6 -ТОЧКА НАЧАЛА ’ЧИСТОВОГО* СПИСКА # 7 -КОНЕЧНАЯ ТОЧКА *ЧИСТОВОГО* СПИСКА «8 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 9 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ 410-ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ 411-ИМЯ ’ЧЕРНОВОГО" СПИСКА 412-ТОЧКА НАЧАЛА "ЧЕРНОВОГО* СПИСКА 413-КОНЕЧНАЯ ТОЧКА "ЧЕРНОВОГО* СПИСКА 414-ИМЯ СПИСКА ЗАГОТОВКИ 60
27. Использование макроса «Точение-1» Рис. 94. Эскиз «Точение-1» $С,C:\MACROS\TPRN.MCR DET.TPRN Т0>0,0 LX>T0,0 LY>T0,90 LI > LX, YM, 120/2 T1>LY,L1 Т100>Т1Д-5 L2>LX,YM,80/2 L3>LX,YM,55/2 L4>LX,YM,25/2 L11>LY,XM,5 L12>LY,XM,10 L13>L12.XM,20 L14>L13,XM,10 L15>L14,XM,15 L16>L15,XM,20 L17>L16,XM,30 T21>L13,L4 L21>T21,40 T22>L15,L3 L22>T22,30 T41>L3,L11 L41>T4135 K1>UYHL22,YM4 K2>L2,YB,L22,YB,10 K3>L17,XB,L2,YM30 T31>L11,L4 T32>L1,L17 T99>L3,L11 L31>T9935 . SPIS31.T31,L4,L21,L14,L3,Kl,PR,r22,K2,PO,L2,K3,PR,L17,T32 SPIS,SO,T31,L11,L31,L1,T32 L104>L4,YM,3 L121>L21,YM,3 L114>L14,XB,3 L103>L3,YM3 L122>L22,YM,3 L102>L2,YM,3 К101Ж1.-3 К102Ж2.3 К1ОЗЖЗ.-3 Т131>Т31Д-3 T132^L1 К103 XM SPIS33,Li04,Li21.L114,L103,K101,PR,L122.K102,PO,L102,K103,PR,T132 NT.T100 >TPRN;13;100;5031;T31;T3230;70>4;S3;T131;T132;SO F.5000 DT,T100 KO 28. Макрос «Точение-1» OTPRN T11TP>#6,#2,О T13TP>#7,0,-#2 T12TP>#12,#2,0 T14TP>#13,0,-#2 L14TP>T14TP,0 L4OTP>T12TP,90 ES,#8,RAV,0,:1TP#1 NNTP-1 NTP-FY(#12)-FY(#13) ES,NTP,MEN,#10,:2TP#1 :3TP#1 L4TP>#13,0 L10TP>L4TP,YB,#10*NNTP L12TP>L10TP,YM,#2 T10TP>#ll,L10TP,l LllTP>T10TP,-45 T20TP>#14,L10TP,l T21TP>T20TP,#2,0 T22TP>T21TP,0,-#2 F,5000 DT.T21TP S,#8 F,#9 61
DS,bl2TPlT32TP,T12TPf^9,^12 :2TP#1 DS,#11,#13,T14TP :1TP#1 F,5000 DS,L14TP,L4 OTP, T12TP, TliTP S,#3 F,#4 DS,#6,#5,#7,T13TP / 29. Описание макроса «Цилиндр» >NCIL;£l;#2;#3;#4;#5;#6;#7;#8;#9;#10;#ll;#12;#13 DS,LIOTP,L11TP,L12TP NTP=NTP-#10 NNTP=NNTP+1 ES,NTP,MEN,#10,:4TP#1 L3 OTP>L1OTP,YB,#10 T3OTP>#14,L30TP,1 T31TP>T30TP,#2,0 L31TP>T31TP,90 T32TP>L31TP,L12TP F,5000 DS,L12TP,ТЗ 2TP,ТЗ1TP NA,:3TP#1 :4TP#1 T32TP>L40TP,L12TP S,#8 F,5000 ПАРАМЕТРЫ МАКРОСА: # 1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ # 2 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 8 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-Ы #10-L2 #12-D2 #13-РАДИУС ИНСТРУМЕНТА $C,C:\MACROS\CIL.MCR DET.CIL Т0>0,0 LX > ТО,О LY>T0,90 NT,ТО F,5000 >NCIL;3;5;50;70;100;60;4;3;20;50;50;100;l КО 30. Макрос «Цилиндр» @NCIL L1CI>LY,XM,#2 L2CI>L1CI,XM,#9 L3CI>L2CI,XM,#10 L4CI>LX,YM,#ll/2 L5CI>LX,YM,#12/2 L14CI>L4CI,YM,#13 L13CI>L3C1,XB,#13 T1CI>L14C1,I-2CI L24CI>LBCi,YM,#8 T2CI>L14€ I.L13C1 T3CI>L13C1,L5CI T4CI>L24CI,L2C1 SPIS31CI#1.T1CI,L14CI,T2CI SPIS,S2CI#1 ,T4CI,L24CI,L13CI.T3CI SPIS33CI#1,TICI,L2CI,L5CI,T3CI TOCI>L1C1.L5CI F.5000 DT.TOCI >TPRN;#1;5;#4;#6;S1CI#1;T1CI;T3CI;#3;< F.5000 DT,T0CI 4 / @TPRN THTP>#6,#2,0 T13TP>#7,0,-#2 T12TP>#12,#2,0 T14TP>#13,0,-#2 L14TP>T14TP,0 L40TP>T12TP,90 ES,#8,RAV,0,:lTP#l NNTP=1 NTP = FY(#12)-FY(#13) ES,NTP,MEN,#10,:2TP#l :3TP#1 z L4TP>#13,0 L10TP>L4TP,YB,#10*NNTP L12TP>L10TP,YM,#2 T10TP>fll,L10TP.l #7,S2CI#1;T4CI;T3CI;S3CI#1
LllTP>T10TP,-45 T20TP>#14,L10TP,1 T21TP>T20TP,#2,0 T22TP>T21TP,0,-#2 F,5000 DT,T21TP S,*8 F,#9 DS,L10TP,L11TP,L12TP NTP=NTP-#10 NNTP=NNTP+1 ES,NTP,MEN,#10,:4TP#1 L30TP>L10TP,YB,#10 T30TP>#14,L30TP,1 T31TP>T30TP,#2,0 L31TP>T31TP,90 T3 2TP>L31TP,LI2TP F,5000 DS,L12TP,T32TP,T31TP NA,:3TP#1 :4TP#1 T32TP>L40TP,L12TP S,#8 F,5000 DS,L12TP,T32TP,T12TP,#9,#12 :2TP#1 DS,#11,#13,T14TP :1TP#1 F,5000 DS,L14TP,L4 OTP,T12TP,T11TP S,#3 F,#4 DS, #6, #5, #7,T13TP / 31. Описание макроса «Конус-1> >PKON;#1;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13;#14;#15;#16 СПИСОК ПАРАМЕТРОВ: # 1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКЕ # 4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 6 -ПОДАЧА ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКЕ # 7 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 8 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 9 -ГЛУБИНА РЕЗАНИЯ ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКЕ # 10-ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #12-А1 #13-РАДИУС РЕЗЦА #14-Ы #15-L2 #16-НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ $С, C:\MACROS\PKON.MCR DET.KONUS Т0>0,0 LX>T0,0 LY>T0,90 > PKON;8;100;120;150;80;50;30;7;5,3;190;33;1;10;140;5 КО 32. Макрос «Конус-1» $PKON АКР»5 LOKP>LY,XM,#1 L6KP>L0KP,XM,#!4 L1KP>L6KP,XB,AKP L7KP>LX,YM,#11/2 L2KP>L7KP,YM,AKP L8KP>L6KP.XM,#15 T2KP>L8KP,L7KP L3KP>T2KP,#12 L33KP>L3KP,YM,#i3 L4KP>L3KP,YM,#10 L5KP>L4KP,YM,#9 T1KP>L5KP,L6KP T01KP>L6KP,L7KP T3KP>L3KP,L6KP TOKP>L1KP,L2KP T21KP>T1KP,O,-AKP L21KP>T21KP,0 L22KP>L21KP,YM,AKP T31KP>L4KP,L6KP OK P « F Y(T1 К P)-F Y(T01 К P) DK P=F Y(T3K P)-F Y(T01 К P) BKP = QKP-AKP EK P = F Y(T3K P)-F Y(T31К P) ES,EKP,MEN,DKP,:#16KP13 NA,:#16KP9 :#16KP13 ES,BKP,MEN,AKP,:#16KP10 ES,BKP,MEN.AKP,:#16KPn >PROK;QKP;#8;#16 S.#2 F.5000 DT.TOKP PKP = O :#16KP12 PKP=PKP+#8 L10KP>L7KP,YB,PKP LI 1KP>L1OKP,YM,AKP T10KP>L10KP,L5KP 63
L12KP>T10KP,-45 DS,L1KP,5000,L10KP,#5,L5KP,L12KP,L11KP,5000,L1KP ES,BKP-PKP,B0L,#8,:#16KP12 :#16KP11 T25KP>L21KP,L5KP L25KP>T25KP,-45 DS,L1KP,5000,L21KP,#5,L5KP,L25KP,L22KP,5000,L1KP DS,L1KP,L5KP,#5,L2KP,5000,L1KP :#16KP10 S,#3 DS,L1KP,5000,L4KP,#6,L2KP,5000,L1KP :#16KP9 S,#4 DS,LlKP,5000,L33KP,#7,L2KP,5000,LlKP / OPROK NKP*=0 :#3KP1 NKP=NKP+1 MRKP=#2*NKP RKP=#1~NRKP ES,RKP,BOL,0,:#3KP1 / 33. Описание макроса <Сфера» >SFE;#l;#2;#3;#4;#5;#6;#7;#8;#9;#10;#ll;#12 СПИСОК ПАРАМЕТРОВ: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ #2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ #3 -ПОДАЧА #4-Rl #5-R2 #6-R3 #7 -DI #8 -КООРДИНАТА X КРАЙНЕЙ ПРАВОЙ ТОЧКИ СФЕРЫ ПРИМЕЧАНИЕ:ПРИ ОТРЕЗКЕ СФЕРЫ #7=0. $С, C:\MACROS\SFE.MCR SSTECT С ВЫХОДОМ СО СФЕРИЧЕСКОЙ ПОВЕРХНОСТИ ПО ОКРУЖНОСТИ DET.SF Т0>0,0 LX>T0.0 LY>T0,90 NT,ТО DS,T1SF,K 1SF,PO,K2SF,PR,T3SF >SFE;2;100;30;40;8;5;20;-10 EKVD.VIK КО DP,#6,-ASF NA,:2SF#1 34. Макрос «Сфера» :3SF#1 S,#2 F.5000 @SFE DT.TOSF ASF «2 F,#3 TlSF>#8.0 EKVD.SL.#6 TOSF>T1SF,ASF+#6,O DS.T1SF.K 1SF.PO.XM.L1SF T2SF>T1SF.-#4,0 EKVD.VIK K1SF>T2SF,T1SF DP.-#6,-ASF*2 LlSF>LX,YM,#7/2 NA,:2SF#1 ES,#7,RAV,O,:1SF#1 :1SF#1 ES,#5.RAV,0,:3SF#l K3SF>K1SF,#6 K2SF>L1SF,YM,VNE,K1SF,XM,#5 F.5000 тззржгэрлмд DT.TOSF S.#2 F.#3 F.5000 DS.LX.XB.K3SF.PO.XM.LX DT.TOSF DP.ASF.0 F,#3 :2SF#1 EKVD,SL,#6 / 64
35. Использование макроса «Сфера» $С,C:\MACROS\SFE.MCR SSTECT С ВЫХОДОМ СО СФЕРИЧЕСКОЙ ПОВЕРХНОСТИ ПО ОКРУЖНОСТИ DET.SF Т0>0,0 LX>T0,0 LY>T0,90 NT.TO >SFE;2;100;30;40;8;5;20;-10 КО $C,C:\MACROS\SFE.MCR SSTECT С ОТРЕЗКОЙ СФЕРЫ (#7=0) DET3F T0>0.0 LX>T0.0 LY>T0,90 NT,TO >SFE;2;100;30;40;8;5;0;-10 KO SC,C:\MACROS\SFE.MCR SSTECT С ОТВОДОМ РЕЗЦА ПО ПРЯМОЙ (#5=0) DET3F Т0>0,0 LX>T0,0 LY>T0,90 NT.TO > SFE;2;100;30;40;0;5;20;-10 KO Рис. 97. Эскиз «Сфера» 36. Описание макроса «Ступенька» >NSTPR;#l;#2;#3;#4;#6;#6i#7;#8;#9;#10;#ll;#12;#13;#14;#15;#16;#17 ПАРАМЕТРЫ МАКРОСА: # 1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ # 2 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #8 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-Ы #10-L2 #11-D1 #12-D2 #13-Al #14-A2 #15-R1 #16-R2 SC, C:\MACROS\ST.MCR DET.ST T0>0,0 LX>T0,0 LY>T0.90 NT.TO F.5000 >NSTPR;3;5;50;70;100,60;4;3;50;30,25;100;50,25,8;7 KO 65
37. Макрос «Ступенька» Рис. 98. Эскиз «Ступень- ка» @NSTPR AST=5 L1ST>LY,XM,#2 L2ST>L1ST,XM,#9 L3ST>L2ST,XM,#10 L4ST>LX,YM,#11/2 L5ST>LX,YM,#12/2 T1ST>L2ST.L5ST L7ST>T1ST,#13 L8ST>T1ST,#14 К 1ST> L7ST.YM.L4ST, YM.#16 K2ST> L7ST.YB.L8ST, YB.#15 K3ST>L8ST,YM,L3ST,XB,#16 T06ST>K3ST L6ST>T06ST,0 T1ST>K1ST T2ST>T1ST.O,#16 L9ST>T2ST,90 T3ST>K3ST T4ST>T3ST.-#16,0 T40ST>K3ST,YM,45 T2OST>K1ST,XB,45 SPIS,S1ST#1,T20ST.K1ST,PR,L7ST,K2ST,PO,L8ST,K3ST,PR,T40ST ES,#8,BOL,#16,:1ST#1 T12ST>T2ST,0,-#8 KHST>KlST,-#8 L17ST>L7ST,YM,#8 K12ST> K2ST,#8 L18ST>L8ST.YM,#8 K13ST>K3ST,-#8 T14ST>T4ST,#8,0 SPIS,S2ST#1,T12ST,K11ST,PR,L17ST,K12ST,PO,L18ST,K13ST,PR,T14ST NA,:2ST#1 :1ST#1 L17ST>L7ST,YM,#8 T12ST>L17ST,L9ST K12ST>K2ST,#8 L18ST>L8ST,YM,#8 T14ST>L18ST,L6ST SPIS,S2ST#1,T12ST,L17ST,K12ST,PO,L18ST,T14ST :2ST#1 SPIS,S3ST#1, T2ST,L9ST,L6ST,T4ST T0ST>L9ST,L6ST T00ST> TOST,AST,- AST F.5000 DT.TOOST >TPRN;#1;AST;#4;#6;S1ST#1;T2ST;T4ST;#3;#5;#7;S2ST#1;T12ST;T14ST;S3ST#1 F.5000 DT.TOOST / @TPRN T11TP>#6.#2,0 T13TP> #7,0,-#2 T12TP>#12,#2,0 T14TP>#13,0.-#2 L14TP>T14TP,0 L4OTP>T12TP,9O ES,#8,RAV,O,:1TP#1 NNTP=1 NTP = FY(#12)-FY(#13) ES,NTP,MEN,#10,:2TP#l :3TP#1 L4TP>#13,0 L1OTP>L4TP,YB,#1O*NNTP L12TP>L1OTP,YM,#2 T1OTP>#11.L1OTP,1 ** JLl!TP>T10TP,-45 T20TP>#l4,L10TP,l 66
Т21ТР>Т20ТР,#2,0 Т22ТР>Т21ТР,0,-#2 F.5000 DT.T21TP S,#8 F,#9 DS,L1OTP,L11ТРДЛ2ТР NTP=NTP-#10 NNTP=NNTP+1 ES,NTP,MEN,#10,:4TP#l L30TP> L10TP,YB,#10 T30TP>#14.L30TP.1 F.5000 DT.T21TP DS.L10TP.L11TP.L12TP NTP=NTP-#10 NNTP=NNTP+1 ES,NTP,MEN,#1O.:4TP#1 L30TP>L10TP,YB.#10 T30TP>#14,L30TP,l T31TP>T30TP,#2,0 L31TP>T31TP,90 T32TP>L31TP,L12TP F.5000 DS.L12TP.T32TP.T31TP NA.:3TP#1 :4TP#1 T32TP>L40TP,L12TP S,#8 F.5000 DS,L12TP,T32TP,T12TP,#9,#12 :2TP#1 DS,#11,#13.T14TP :1TP#1 F.5000 DS,L14TP,L4OTP,T12TP,T11TP S,#3 F,#4 DS,#6,#5,#7,T13TP I 38. Описание макроса «Обратная ступенька» >NOSPR;#1;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13;#14;#15;#16;#17 ПАРАМЕТРЫ МАКРОСА: # 1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ # 2 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА # 3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 5 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ # 6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ # 7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #8 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-L3 #1O-L1 #11-L2 #12-D2 #13-A3 #14-A2 #15-A1 #16-R1 #17-R2 SC.OS.MCR DET,OS T0>0,0 LX>T0,0 LY>T0,90 NT,TO F.5000 >NOSPR;3;5;50;70;100;60;4;3;30;20;5;120;20;80;25;7;6 KO 67
39. Макрос «Обратная ступенька> @NOSPR AST=5 L1ST>LY,XM,#2 L2ST>L1ST,XM,#9 L3ST>L2ST,XM.#10 L4ST>L3ST,XM,#11 L5ST>LX,YM,#m T1ST>L4ST.L5ST L6ST>T1ST,#13 L7ST>T1ST,#14 T2ST>L7ST.L3ST L8ST>T2ST.#15 K1ST>L7ST,YM,L8ST,YM,#16 K2ST>L6ST,YB,L7ST,YB.#17 T3ST>K2ST L9ST>L6ST.T3ST T4ST>L8ST,L2ST T6ST>L6ST»L9ST L66ST>L6ST,YM,AST T66ST>L66ST,L9ST K3ST>T66ST.T6ST T67ST> L66ST.K3ST.XM SPIS,S1OS#1,T4ST,L8ST,K1ST,PR,L7ST,K2ST,PO,T6ST,K3ST,PR,T67ST L18ST>L8ST,YM,#8 T14ST>L18ST.L2ST L17ST>L7ST.YM,#8 T16ST>L17ST,L6ST ES.#8,MEN,#16,:1OS#1 SPIS32OS#1.T14ST,L18ST,L17ST,T16ST NA,:2OS#1 :1OS#1 ка> KllST>KlST,-#8 SPIS.S2OS#1,T14ST,L18ST,K11ST,PR.L17ST.T16ST :2OS#1 SPIS33OS#1.T6ST,L6ST.L2ST.T4ST T0ST>L2ST,L6ST TOOST>TOST,AST,-AST F^OOO DT.TOOST >TPRN;#1;AST;#4;#6^1OS#1;T4ST;T6ST;#6;#5;#7;S2OS#1;T14ST;T16ST;S3OS#1 F.5000 DT.TOOST I @TPRN TllTP>#6.#2,0 T13TP>#7,0,-#2 T12TP>#12.#2,0 T14TP>#13.0,-#2 L14TP>T14TP.O UOTP>T12TP.9O ES,#8,RAV,O,:1TP#1 NNTP=1 NTP=FY(#12)-FY(#13) ES.NTP,MEN.#10,:2TP#l :3TP#1 L4TP>#13,0 L1OTP>L4TP,YB,#1O*NNTP L12TP>L10TP,YM,#2 T1OTP>#11.L1OTP,1 LHTP>T10TP,-45 T20TP>#14.L10TP,l T21TP>T20TP,#2,0 T22TP>T21TP.0.-#2 F.5000 DT.T21TP S,#8 F.#9 DS.L10TP.L11TP.L12TP NTP=NTP-#10 NNTP=NNTP+1 ES,NTP,MEN.#10,:4TP#l L3OTP > L10TP.YB,#10 T30TP>#14,L30TP,1 T31TP>T30TP,#2,0 L31TP>T31TP,90 T32TP>L31TP.L12TP F.5000 DS.L12TP.T32TP.T31TP NA,:3TP#1 :4TP#1 T32TP>L4OTP,L12TP S,#8 F.5000 DS,L12TP.T32TP.T12TP,#9.#12 DS,#11,#13,T14TP :1TP#1 F.5000 DS.L14TP,L4OTP,T12TP,T11TP S.#3 F,#4 DS,#6,#5.T13TP 68
Глава 3 ПРОЕКТИРОВАНИЕ ПОСТПРОЦЕССОРОВ 3.1. ДВА ПОДХОДА К РАЗРАБОТКЕ ПОСТПРОЦЕССОРОВ Постпроцессор является важным компонентом в структуре под- готовки управляющей программы при преобразовании информа- ции в ИнтерСАП (рис. 100). Хотя постпроцессор по своему объему и сложности уступает транслятору, без него невозможно функци- онирование системы автоматизированного программирования. Можно добавить, что качество и надежность постпроцессора в значительной степени определяют эффективность использования САП на производстве. В настоящее время известно два подхода к созданию постпро- цессоров. При первом подходе используется инвариантный пост- процессор (ИП); разработка нового постпроцессора заключается в описании на входном языке ИП основных характеристик системы УЧПУ и станка. К достоинствам этого метода следует отнести: возможность разработки нового постпроцессора технологом, не имеющим навыков программирования; относительная быстрота создания нового постпроцессора. Однако постпроцессоры этого вида имеют существенные недо- статки: фиксируют в себе информацию о системах УЧПУ и станках на момент создания ИП и не отражают изменений, появляющихся в новых системах ЧПУ и станках; ограниченно используют широкие возможности языков систем ЧПУ; управляющая программа по своей форме (структура кадров, состав кадра, избыточное задание некоторых функций) не всегда удовлетворяет технологов, а управление такого рода информаци- ей на входном языке ИП невозможно. Авторами предлагается метод разработки постпроцессоров с использованием унифицированных модулей, написанных на одном из алгоритмических языков программирования. К недостатку этого метода следует отнести необходимость разработчика владеть од- ним из известных язык’ов программирования (ФОРТРАН или ПАСКАЛЬ). Используя этот метод, разработчик приобретает возможность реализовать все особенности конкретной системы ЧПУ. Этот метод позволяет сделать постпроцессор компактным, лаконичным, быстродействующим. Рис. 100. Преобразование информации в ИнтерСАП 69
Основное внимание уделено структуре постпроцессора, при- емам программирования, описанию и использованию унифици- рованных модулей. Все примеры программ; используемые в этой главе, написаны на языке ПАСКАЛЬ. Большинство примеров взя- то из реальных разработок, выполненных авторами. 3.2. ФУНКЦИИ ПОСТПРОЦЕССОРА К основным функциям постпроцессора относятся следующие: 1) считывание данных, подготовленных геометрическим транс- лятором (чтение из файла CLDATA); 2) перевод их в системы координат станка; 3) проверка по ограничениям станка; 4) формирование команд на перемещение; 5) формирование команд, обеспечивающих цикл смены инстру- мента; 6) кодирование и запись в кадр значения подачи и скорости резания; 7) формирование различных технологических команд; 8) формирование команд, обеспечивающих коррекцию на ве- личину радиуса и длину вылета инструмента; 9) развертывание операторов цикла; 10) выдала управляющей программы на перфоленту и распе- чатка управляющей программы; 11) диагностика ошибок; 12) сервисные функции (подсчет машинного времени и т. д.). Следует отметить, что в процессе совершенствования систем ЧПУ ряд функций упрощается. Это касается, например, функции развертывания операторов цикла (большинство современных систем имеют встроенные циклы обработки). Но в силу того что в настоящее время эксплуатируется большое количество несовер- шенных систем ЧПУ, разработчику постпроцессоров будет поле- зен полный список функций. Рассмотрим детально функции постпроцессора. Перевод данных в систему координат станка может быть обус- ловлен несовпадением системы координат, в которой описана про- грамма обработки детали и системы координат станка. Например: станок СК-4500 (УЧПУ МАНО) имеет систему ко- ординат, изображенную на рис. 101, а. Программу обработки детали удобнее писать в традиционной (правой) Декартовой системе координат (рис. 101, б). Тогда пе- ревод в систему координат станка сведется к преобразованиям: х'=—х\ y' = z\ z'—y. Для удобства написания программ постпроцессор должен учи- тывать смещение начальной точки (считать началом системы ко- ординат не «0» станка, а точку, заданную оператором (NT, Х0, Y0, Z0)), т. е. каждая последующая координата точки, в которую перемещается инструмент, уточняется но формулам: 70
х=хо+х; r/ = YO+//; z = ZO-|-z, где x, у, z — координаты опор- ной точки. При формировании команд на перемещение постпроцессор учитывает возможность смены плоскости интерполяции инстру- мента (плоскость, в которой осуществляется перемещение). Постпроцессор определяет спо- Рис. 101. Системы координат стан- ков соб задания перемещений (абсолютная система координат или работа в приращении), вид интерполяции (линейная, круговая), преобразовывает значение координат опорных точек в единицы, обрабатываемые системой ЧПУ (микроны, импульсы и т. д.). Как правило, одно перемещение, рассчитанное транслятором, приводит к формированию нескольких кадров. Это вызвано следующими причинами: необходимостью разбивки движения по дуге на участки, каж- дый из которых лежит в пределах одного квадранта; недостаточным количеством разрядов в адресе кадра, что не позволяет программировать «длинное» перемещение; невозможностью ускоренного перемещения многих станков по трем координатам, следовательно, необходимо разбивать движе- ние на двухкоординатное. При формировании команд смены инструмента необходимо осуществлять автоматический отвод инструмента в точку смены, отменять коррекцию на вылет инструмента (для фрезерных станков). Для токарных станков необходимо учитывать смещение координат вершин инструментов при его смене (рис. 102). Большинство перечисленных функций требуют при реализации учитывать ограничения УЧПУ и станка. Тем самым технолог- программист освобождается от необходимости помнить особен- ности программирования УП для конкретного станка. В качестве примера-можно указать следующие ограничения: по пределам задания скоростей подачи и вращения шпинделя; Рис. 102 Изменение начальной точки траектории дви- жения при смене инструмента 71
максимально допустимые перепады значений скорости и подачи; по пределам перемещения исполнительных органов станка. Постпроцессор при необходимости осуществляет коррекцию значения подачи и скорости, автоматически изменяет траекторию движения. Это делается, например, при ускоренном перемещении инструмента по трем координатам, что не допускается многими системами ЧПУ. Следует отметить, что при разработке постпро- цессоров для многих современных систем нет необходимости учи- тывать динамические характеристики станка (максимально до- пустимое ускорение, торможение при реверсивном движении и т. п.). Любое действие, выполняемое постпроцессором, при нару- шениях ограничений должно быть описано в инструкции по экс- плуатации либо выдаваться как сообщение постпроцессора во время работы. К сервисным функциям постпроцессора можно отнести расчет машинного времени, переформирование в начале управляющей ленты номера и названия детали, расчет суммарных приращений в импульсе по трем координатам для контроля выхода в нулевую точку. 3.3. ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ ПОСТПРОЦЕССОРА Согласно описанной выше схеме (см. рис. 100) входными дан- ными для постпроцессора служит массив, называемый CLDATA (Cuter Location Data — данные о положении инструмента). В настоящее время щироко распространены два типа этих данных. Первый из них представляет собой записи переменной длины со следующей общей структурой: Cl, С2, СЗ, С4, ..., CN, где С1 — слово, содержащее длину записи в словах; С2 — класс записи; СЗ — подкласс записи; C4...CN — параметры данного класса записи. Например, запись, кодирующая движение в точку, имеет вид: С1 = 23; С2 = 5000; СЗ = 5' С4...С1 i = 0 (резерв); С12...С15= х С16...С19=1/ — координаты точки. C20...C23=z Каждая из координат занимает четыре машинных слова, т. е. пред- ставлена с двойной точностью. Более подробное описание этого формата приведено в работах [3, 8]. Второй тип данных представляет собой записи фиксированной длины (по 20 машинных слов) со следующей структурой: С1 — номер инструкции в исходной программе; С2 — тип записи; СЗ — параметры записи; 72
С5...С8 — параметр 1 (представлен четырьмя машинными сло- вами — двойная точность); С9...С12 = параметр 2; С13...С16 = параметр 3; С17...С20= параметр 4. Именно этот формат был принят при проектировании Интер- САП. В табл. 2 приведены основные операторы языка и соответ- ствующие записи массива CLDATA. Инструкция движения по приращению координат преобразу- ется в инструкцию движения в точку. Например: DP, 12, -18 преобразуется в DT, текущая координата х+12, текущая координата у—18. Инструкция движения по окружности транслируется в три записи: 32 ±1 0 хс ус гс 0; 32 0 0 хп уп zn 0; 32 0 0 xk yk zk 0; где хс, ус, zc — координаты центра окружности; хп, уп, zn — координаты начала движения; xk, yk, zk— координаты конца; + 1, — 1 — направление движения соответственно по часовой и против, часовой стрелки. Инструкция DET транслируется в три записи: в первой записи Находится код инструкции (С2= 1); во второй и третьей — текст правой части. Аналогично транслируется инструкция KOMEN, ее код С2= 3. Выходными данными постпроцессора является управляющая программа в кодах конкретной системы УЧПУ. Она содержит все необходимые инструкции для управления исполнительными орга- нами станка. Известно несколько языков кодирования управляющей инфор- мации для оборудования с ЧПУ: кодирование в кодах ISO; код БЦК-5; индивидуальный язык кодирования оборудования с ЧПУ, например станок SWPO80C с системой ЧПУ ПАРАМАД-2Д (ГДР, «КАРЛ-ЦЕЙС»). Рассмотрим язык низкого уровня — систему команд устройст- ва ЧГГУ «Электроника МС 2101.02», встроенного в станок типа «обрабатывающий центр». Управляющая программа представляет собой последователь- ность предложений, называемых кадрами. Каждый кадр содержит одну или несколько команд по обработке детали на станке. Кадры отделяются друг от друга символом LF (перевод строки). В состав кадра входит различное число слов. Кадр начинается со слова, задающего его номер. Все последующие слова можно разделить на группы, предназначенные для задания подготовительных и вспомогательных команд, геометрических и технологических параметров. Слово является составной частью кадра и содержит элемен- тарную команду или параметр обработки. Оно состоит из адреса 73
Таблица! ГГ 2 ’I I4 Ul 00 4) 13..16 17..20 F,A 1 N 23 2 0 A 0 0 0 F,A,S N 23 1 0 A 0 0 0 S,VKL N 22 1 0 0 0 0 0 S,VIK N 22 2 0 0 0 0 0 S,A N 22 300 0 A 0 0 0 JS,A,PR N 22 400 0 A 0 0 0 [|S,A1,A2 N 22 300 0 Al A2 0 0 |S,A1,A2,PR N 22 400 0 Al A2 0. 0 USK N 6 0 0 0 0 0 0 INST, Al,A2,A3 N 24 0 3 Al A2 A3 0 INST,Al,A2 N 24 0 2 Al A2 0 0 INST,A N 24 0 1 A 0 0 0 ZAGP,A N 13 0 0 A 0 0 0 PRKOR,Al,A2,АЗ,A4 N 25 0 4 Al A2 A3 < 0 PRKOR, Al, A2, A3 N 25 0 3 Al A2 A3 0 PBEZ,A N 19 0 0 A 0 0 0 STOP N 9 0 0 0 0 0 0 USTCflP N 8 0 0 0 0 0 0 KONEC N 10 0 0 0 0 0 0 VSPM,A N 14 0 0 A 0 0 0 PODG,A I N 15 0 0 A 0 0 0 PAU Z A, A N 16 0 0 A 0 0 0 KOR,A N 20 0 0 A 0 0 0 KOR,SL,A1,A2 N 20 1 0 Al A2 0 0 KOR,SP,A1,A2 N 20 -1 0 Al A2 0 0 KOR,SL,A N 20 1 0 A 0 0 0 KOR,VIK N 20 2 0 0 0 0 0 PVR,Al,A2,A3 N 21 0 3 Al A2 A3 0 PVR,A1,A2 N 21 0 2 Al A2 0 0 PVR,A N 21 0 1 A 0 0 0 OHL, VKL N 11 1 0 0 0 0 0 OHL,VIK N 11 2 0 0 0 0 0 RIS,VKL N 40 1 0 0 0 0 0 RIS,VIK N 40 2 0 0 0 0 0 DOMOJ,A N 34 0 0 A 0 0 0 DOMOJ N 34 0 0 0 0 0 0 OTVOD N 35 0 0 0 0 0 0 OTMET,VKL N 44 1 0 0 0 0 0 OTMET,VIK N 44 2 0 0 0 0 0 RAZGN,A1,A2,A3,A4 N 17 0 4 Al A2 A3 A4 RAZGN,Al,A2,A3 N 17 0 3 Al A2 A3 0 RAZGN,Al,A2 N 17 0 2 Al A2 0 0 RAZGN,A N 17 0 1 A 0 0 0 DO PUS K, A N 18 0 0 A 0 0 0 EKVD,SL,A N 50 1 0 A 0 0 0 EKVD,VIK N 50 2 0 0 0 0 0 EKVD,SP,A N 50 -1 0 A 0 0 0 CIKL,VKL N 30 1 0 0 0 0 0 CIKL,VIK N 30 2 0 0 0 0 0 CIKL, Al, A2, A3 ,A4, A5,A6 N 30 Al A4 A2 A3 A5 A6 CIKL, Al, A2, АЗ, A4, A5 N 30 Al A4 A2 A3 A5 0 CIKL,A1,A2,A3,A4 N 30 Al A4 A2 A3 0 0 CIKL, Al, A2, A3 N 30 Al 0 A2 A3 0 0 CIKL, Al, A2 N 30 Al 0 A2 0 0 0 KO N 4 0 0 0 0 0 0 NT,klT N 26 0 0 X Y Z 0 NT,MT,A DT,A1,A2,A3,A4 N 26 0 0 X Y A 0 N 28 0 0 Al A2 A3 A4 DT,A1,A2,A3 N 28 0 0 Al A2 A3 0 DT,A1,A2 N 28 0 0 Al A2 0 0 DT,A N 28 0 0 0 0 0 A DT,HT N 28 0 0 X Y Z 0 DT,MT,A N 28 0 0 X Y A 0 DX,A N 28 0 0 A 0 0 0 DY,A N 28 0 0 0 A 0 0 DZ,A N 28 0 0 0 0 A 0
и десятичного числа. Адрес обозначает имя элементар- ной команды или параметр и представляет собой одну из допустимых прописных букв латинского алфавита (рис. 103). Перечень допустимых букв, используемых в качестве адресов ЧПУ «Электроника МС 2101.02», и их значения приведены ниже: » Рис. 103. Структура кадра Адрес Значение N Порядковый номер кадра G Подготовительная команда для задания режима операции (линейная или круговая обработка и т. д.) Команды на перемещение X, Y, Z по основным координатным осям (х, у, z) U, V, W по дополнительным координатным осям (U, V, W) Команды поворота А вокруг оси х В вокруг оси у С вокруг оси г I, J, К Координаты центра дуги или составляющие для коррекции инструмента по радиусу F Скорость подачи S Скорость вращения шпинделя Т Номер инструмента М Вспомогательная команда Номер корректора инструмента D по радиусу Н по длине L Число повторений программы или постоянного цикла Р Длительность паузы или номера программы Q * Значение шага в постоянном цикле R Координата плоскости отхода в постоянных циклах Примечание Буква X используется также для задания длительности паузы Десятичное число записывается в слове в соответствии с фор- матом слова с десятичной точкой либо без нее. Форматы адресов ЧПУ «Электроника МС 2101.02» прёдставлены в табл. 3. Числа, формат которых допускает использование десятичной точки, могут записываться как с точкой, так и без нее. В послед- нем случае считается, что точка находится перед последними циф- рами, количество которых равно максимально допустимому в дан- ном формате. Например: слово X30.0Q0 можно записать в виде Х30.000, Х +30.000, ХЗО., Х + 30., Х00030., X +030.0; слово С02 - только в виде С02; слово 4 — в виде, 4, 04, 004., Рекомендуется записывать слова так, чтобы их длина была наименьшей. 75
Таблица 3 Адрес Знак числа Количество цифр до точки Десятичная точка Количество цифр после точки Подавление незначащих нулей N, S, L Нет 4 . Нет Нет Есть G. Л4, D, Н Нет 2 Нет Нет Нет X, У, Z, (/, V Плюс 5 Есть 3 Есть F Нет 5 Есть 1 Есть Г, В Нет 4 Нет - Нет Нет Р Нет 4 Нет Нет Нет 3.4. СТРУКТУРА ПОСТПРОЦЕССОРА Постпроцессор строится из набора связанных между собой блоков (процедур). Каждая процедура выполняет определенные действия логического и вычислительного характера. Общая струк- тура постпроцессора изображена на рис. 104. Конкретные пост- процессоры могут не содержать все представленные на рисунке блоки в «чистом» виде. На самом деле некоторые блоки объедине- ны, а некоторые разделены на отдельные процедуры. Изображен- ная структура дает только' общее представление. Распределение функций постпроцессора между изображенными на рис. 104 бло- ками следующее: монитор осуществляет управление всеми блоками (процеду- рами) постпроцессора; блок обработки перемещений выполняет: формиро- вание команд на перемещение (с учетом вида и плоскости интер- поляции); формирование функций для отработки коррекции на радиус и вылет инструмента; проверяет некоторые ограничения; блок В/В осуществляет чтение из CLDATA и запись резуль- тирующей УП; блок формирования кадров осуществляет все преоб- разования, необходимые для перевода чисел в символьное пред- ставление, и формирует заданные форматы адресов; Рис. 104. Структура постпроцессора 76
все технологические команды (адреса F, S, М, Т, L) форми- руются блоком технологических команд; сервисные функции постпроцессора реализуются блоком сервис. Все следующие ниже примеры написаны на алгоритмическом языке ПАСКАЛЬ. Этот язык является отличным средством для применения методов структурного программирования и благодаря своей стройности и простоте весьма доступен для изучения. Большинство приведенных ниже процедур и алгоритмов только иллюстрируют основной подход и в таком виде не используются ни в одном из постпроцессоров. Примеры на языке ПАСКАЛЬ составлены в операционной системе РАФОС, однако все они без особого труда переносятся в другую исполнительную систему ПАСКАЛЯ. 3.5. ОСНОВНЫЕ МОДУЛИ ПОСТПРОЦЕССОРА 3.5.1. Управляющий модуль Управляющий модуль (монитор) может быть реализован по- следовательностью операторов языка, приведенных в програм- ме 40. Смысл переменных, заданных в программе, следующий: X, Y, Z — координаты текущей точки, обрабатываемой постпро- цессором; КК — счетчик кадров; ISS — ключ программы форми- рования кадров; GP, G2 — плоскость и вид интерполяции; FT — текущее значение подачи; ESF, ESTIN — флаги подачи и ин- струмента. 40. Монитор BEGIN(* Монитор*) X:=0.; Y:=0.; Z:=0.;FWI:=1.0; KK:=0; ISS:=0; GP:=0;G2:=Wl; FT:=FMAX;ESF:=TRUE; ESTIN:=FALSE; Заголовок; (♦ Читает шея программы в NAM1 •) ‘ WRITELN(’Pa6oTaeT постпроцессор на станок ...(учцу...)'); WRITELNC-----------------------------’); WRITELN(' Программа \NAM1); REPEAT N:=N + 1; RI(ZAP.MAS.N); CASE ZAP.MAS[2] OF 26: Старт; 28i Дввт; 32: Двпок; 23: Подач; 22: Обороты; 11: Охлаждение; 9: Стоп; 8: Услстоп; 24: Инструмент; 13: Загрузить; 20: Коррекция; 14: Вспомогат; 4: Конец; END; UNTIL ZAP.M AS(2]=4; 77
WRITELN(*yn занесена в файл ....TXT’); WRITELN; REPEAT WRITE(*...> *);READLN(KMND[1]); CASE KMND[1] OF ’L’: PRI(NAMl); *P*: PERFO; t BEGIN TEL(N AM 1); WRITELN; .pND; S’: WRITELN(’...> Постпроцессор работу закончил’); ELSE WRITELNC Команды постпроцессора L [1ST]-Печать УП Р [ERF] - Вывод УП на перфоленту Т [YPEJ - Вывод УП на Дисплей S [ТОР] - Выход ’); END; /•CASE*/ IF KMNDfl] IN [’L’/P’.’T’] THEN WRITELN(’...> Вывод окончен’); UNTIL KMND{1]=’S’; END; Монитор осуществляет управление последовательным чтени- ем записей CLDATA-файла (процедура RI) и в зависимости от типа записи передает управление соответствующей процедуре (ДВВТ — формирование кадров движения в точку). По заверше- нии формирования управляющей программы возможен вызов одной из сервисных функций постпроцессора. 3.5.2. Модули обработки технологических команд Эти модули осуществляют формирование кадра, содержащего различные технологические команды. В программе 41 приведен без пояснения пример модуля, формирующего кадр включения (вы- ключения) охлаждения, т. е. преобразующий оператор языка OHL, 41. Технологические процедуры PROCEDURE Охлаждение; BEGIN IF ZAP.M AS[2]=8 THEN BEGIN kk. = KK + l; V AI1]: = К К; (‘Задать номер кадра*) V A[4]:=8; (‘задать М08*) UFK; (‘Формировать и записать кадр*) END ELSE BEGIN kk: = KK + l; V A[1]:=KK; (‘Задать номер кадра*) VA[4J:=9; (‘Задать M09‘) UFK; (‘Формировать и записать кадр*) END END; 78
PROCEDURE Инструмент; BEGIN FWIN:=ZAP.DMAS[2];(*3anoMHHTb номер*) ESTIN:=TRUE; END; PROCEDURE Подач; BEGIN IF ZAP.DM AS[2] >= FMAX THEN % BEGIN (♦ Подача больше допустимой*) ESF:=TRUE; (♦ Поднять флаг подачи*) FT: =5 FMAX (* Запомнить значение *) END ELSE BEGIN ESF:=TRUE; FT:=ZAP.DM AS[2J; END END; VKL[V1K] и модули обработки операторов F (подача) и INST (инструмент). Тексты этих модулей позволяют пояснить основ- ные приемы программирования. 3. 5.3. Процедура формирования движенйя в точку В результате выполнения этой процедуры формируются кадры, содержащие адреса N, X, Y, Z, Т, F (программа 42). Смысл используемых переменных ясен из приведенных коммен- тариев. Поскольку функция, задающая линейную интерполяцию (G2), действует модальйо, то в начале процедуры проверяется на- 42. Процедура «Движение по прямой» PROCEDURE Дввт; BEGIN IF G2#l. (* Задать линейную интерполяцию *) THEN BEGIN G2:=l.; DX:=X-ZAP.DMAS(2]; DY:=Y-ZAP.DMAS[3J; DZ: • Z-ZAP.DM AS[4J; IF (ZERO(DX)#0.)OR (ZERO(DY)#0.) OR (ZERO(DZ)#0.) (♦ Перемещение допустимое ?*) THEN BEGIN s- KK:» KK +1; (• Задать номер кадра *) VA[1]:=KK; IF ZERO(DX)#0 THEN BEGIN VA[15):«ZAP.DMAS[2];(* Занести еначение адреса X •) OKR(VA[15]); VA[151: = VA(15)*CI;(* Перевести в единицы станка ♦) IF VA(15]«0. THEN VA(15):«W1; (* Мнимый ноль ♦) END; 79
IF ZERO(DY)#0 THEN BEGIN VA[16J:=ZAP.DM AS[3 J; OKR(VA[16]); VA(16]:=VA[16J*CI; IFVA[16]=0. THEN VA[16J:=W1; END; IFZERO(DZ)#0 THEN BEGIN IFFWI#O THEN BEGIN (♦ Коррекция вылета *) IF (VA[15]#0) OR (VA[16]#0) THEN BEGIN UFK; KK;=KK + 1; VA[1J.=KK; END; VA[14]:=FWI;(* Задать значение адреса D ♦) VA[6]:=44; (♦ Задать функцию коррекции G44 *) FWI:=0.; (♦ Опустить флаг ♦) END; VA[17J:=ZAP.DMAS[4]; (♦ Отработать движение по Z*) OKR(VA[17]); VA[17]:=VA(17]*CI; IF VA[17]=0. THEN VA[17]:=W1; END; IF ESF THEN BEGIN VA[24]:=FT; (♦ Задать значение адреса F*) ESF:=F ALSE (♦ Опустить флаг подачи*) END; UFK; END; X:=ZAP.DM AS[2]; (♦ Установить текущие координаты*) Y:=ZAP.DM AS(3]; Z:=ZAP.DM AS(4J; END; личие флажка и в случае необходимости выполняется формирова- ние значения функции. Функция ZERO проверяет минимально до- пустимое перемещение для станка. Функция OKR выполняет округление значений числа до допустимого системой УЧПУ. Мно- житель С1 (цена импульса) преобразует значение координат в Значения, отрабатываемые системой УЧПУ — станок. При нали- чии флага подачи в кадр под адресом F помещается значение подачи. 3.5.4. Процедура формирования кадра Прежде чем какая-либо процедура вызовет программу форми- рования кадров, блок обработки готовит для нее информацию в специальном одномерном массиве вещественных чисел (условно назовем его вектор А). Размерность этого массива берется с неко- торым запасом и, как правило, не превышает 15—20 элементов: 80
VAR VA: ARRAY [1 ..20] OF REAL; Каждый элемент этого массива соответствует определенному адресу в кадре управляющей программы: VA [2]адресу G; VA [15] -^адресу X; VA[16] -^адресу Y; VA [17] -^адресу Z; VA [18] -> адресу F и т. д. в зависимости от структуры кадра. Например, если подпрограмме формирования кадров передан вектор VA [2] — 1; VA [15] = - 15.3; VA [16] =0; VA [17] = = 18; VA [18] = 100, то подпрограмма должна сформировать кадр: G01 X- 001530 Z+ 1800 F 0100. В примере дан некоторый абстрактный кадр на абстрактный станок. Разработчик постпроцессора должен сам определить содержа- ние вектора -А и структуру кадров, которым соответствует это со- держание. Вывод сформированных кадров выполняет подпрограмма фор- мирования кадров. Основные функции, выполняемые подпрограм- мой формирования кадров, следующие: 1) элементный анализ вектора А; 2) преобразование компонент вектора А из внутреннего пред- ставления (плавающая запятая) во внешнее (символьное); 3) заполнение кадра символами. При этом заполняется спе- циальный байтовый массив (вектор В), зарезервированный на кадр максимальной длины; 4) вывод вектора В; 5) очистка векторов А и В для следующего заполнения, воз- врат в основную программу. Унифицированная подпрограмма формирования кадров приме- нима для систем УЧПУ, работающих в кодах ISO. Использование этой подпрограммы снимает с разработчика постпроцессора заботу о модуле формирования кадров. Настройку подпрограм- мы производит сам пользователь, заполняя специальный «ключ». Удачное применение указанной подпрограммы позволяет сокра- тить объем разработок при проектировании нового постпроцессо- ра до 40 %. Рассмотрим понятие «мнимого нуля». Далеко не во всяком кад- ре управляющей программы присутствуют все адреса вектора А. Например, может быть совсем короткий кадр: N123X — 33.2. Откуда подпрограмма формирования кадров «узнает», что все компоненты, кроме VA [15], не следует преобразовывать в сим- волы? Все, что не нужно переводить в символы, в векторе А за- полняется вещественным нулем: VA [К] = 0.0, но как отличить нуль координаты, например, от признака «не преобразовывать»? Ведь вполне возможен кадр: N12X0Y0. Мнимой нуль — это специально подобранная для данного станка вещественная величина (WI = 0.001). Ни при каких об- стоятельствах компонента вектора А не может стать мнимым ну- лем, кроме случая, когда специально будет установлена главной программой. Например, если в векторе А записано VA [6]: = WI, то будет сформирован кадр N12X0... 81
Таким образом, все, что равно мнимому нулю, преобразовы- вается в символьный нуль, а все, что равно вещественному нулю (0.0), пропускается при формировании кадра. Вторым предназначением мнимого нуля является его исполь- зование на проверку равенства нулю: IF ABS(X)<=WI THEN Х:=0 (процедура ZERO) —если абсолютное значение переменной X меньше или равно мнимому нулю, то X можно считать равным нулю. Универсальность подпрограммы, т. е. возможность применения ее для проектирования различных постпроцессоров, достигается заданием на входе ее так называемого «ключа» в виде двухмер- ного байтового массива CL : ARRAY [1...3. 1..N] OF CHAR. При проектировании постпроцессора разработчику для исп<у1ьзования подпрограммы UFK достаточно присвоить значения элементам CL любым удобным для него (разработчика) способом. Структура «ключа» следующая: 1-я строка представляет собой коды адресов, соответствую- щие вектору VA [N]. Каждый элемент вектора А соответствует элементу 1-й строки массива CL. Например, VA [1] соответствует адресу N, VA [2] — адресу X, VA [3] — адресу Y и т. д, Тогда разработчик должен присвоить элементам 1-й строки следующие значения: CL [1, 1] : = 'N'; CL [1, 2] : = 'Х'; CL [1,3]: ='АДРЕС'. Числа в кадре УП могут быть представлены в различном фор- мате: в формате с ведущими нулями, в уплотненном формате, в уплотненном формате с десятичной точкой. Например, число 125.65 может быть представлено в кадре УП следующим образом: 0012565 — формат с ведущими нулями (число позиций 7); 12565 — уплотненный формат, т. е. то же, что и в предыдущем случае, но упускаются ведущие нули; 125.65 — уплотненный формат с десятичной точкой. Поскольку формат значений адресов может быть различным, во 2-ю строку массива заносятся коды форматов: CHR(ORD('l')) — ведущими нулями; CHR(ORD('2')) — уплотненный; CHR(ORD('3')) — уплотненный с десятичной точкой. Для кода CHR(ORD('l')) в 3-ю строку CL заносится число позиций значения адреса. Таким образом, структура одного столб- ца CL следующая: CL (1, J) : ='адрес'; 'Г — формат с ведущими нулями; CL [2, J) : ='2' — уплотненный формат; '3' — уплотненный с десятичной точкой; CL [3, J] : = 'число позиций' (для CL [2, J] : ='1'). При поступлении на вход подпрограммы вектора А на выходе получим кадр УП с адресами, представленными в 1-й строке CL, и значениями адресов, задаваемыми вектором А. Причем, если зна- 82
чение элемента VA [J] : =0.0001 (мнимый нуль), то адрес CL [1, J] в кадре равен 'О'. Кроме массива ключа CL разработчик постпроцессора должен заполнить двухмерный байтовый массив MPS. В него рекомен- дуется занести некоторые специфические строки, которые бывают необходимы в управляющей программе. Например, кадры типа %; L001 и др. Вообще в массив MPS рекомендуется заносить строки, кото- рые не вписываются в схему адрес-значение. Приведем пример формирования некоторого абстрактного кадра. Пусть имеем следующие входные данные: VA CL CL CL CL CL CL [1] : =89; VA [2] : =200; VA [3] : 34,5; VA [4] : =45; 1, 1] : = 'N'; CL [1, 2] : = 'Х'; CL [1, 3] : = 'Y'; 1, 4] '.='Т\ 2, 1] :'1';CL [2,2] :'Г; CL [2, 2] : = '1';CL [2, 3] : = '3'; 2, 4] : = '!'; 3, 1] : = '4'; CL [3, 2] : = '7'; CL [3, 3] : = '0'; 3, 4] : = '7'. Тогда на выходе получим кадр N0089 Х000200 Y34.5 Z0004500. Переменные, которыми задаются режимы работы модуля, опи- саны ниже: переменная ISS указывает номер строки из массива MPS, которую необходимо выдать на внешнее устройство. Если ISS = 0, формируется кадр УП на основании данных из вектора А и массива CL без использования MPS. 3.6. ЭТАПЫ ПРОЕКТИРОВАНИЯ ПОСТПРОЦЕССОРА Самым первым и самым важным шагом проектирования пост- процессора должно быть изучение оборудования с ЧПУ. Докумен- тация, содержащая все необходимые сведения, поставляется вместе с оборудованием. Из всего комплекта документации для разработчика постпро- цессоров необходимы: инструкция по ручному программированию, описание алгоритмов функционирования УЧПУ, а также докумен- ты, включающие паспортные данные и общую схему станка. Ин- струкция, составленная предприятием-изготовителем станка, по- вторяет инструкции для системы управления, но учитывает осо- бенности программирования для сочетания «система управле- ния — станок». На практике, однако, оказывается, что некоторые данные отсутствуют либо изложены в труднодоступной форме. Как правило, при вводе в эксплуатацию нового оборудования с ЧПУ первые УГ1 готовятся технологами ручным способом, при использовании которого выясняются все узкие места. Потом эти сведения передаются разработчику постпроцессоров. К данным о системе управления, необходимым для проекти- рования постпроцессора, относятся: функции системы УЧПУ; до- кументация для ручного программирования; ограничения систе- мы ЧПУ. Для разработчика постпроцессоров представляют интерес про- 83
граммоуправляемые функции УЧПУ. С учетом обозначения по ре- комендациям ISO это функции: управление движением по коор- динатам станка (X, Y, Z, U, V, W); управление вращательным движением вокруг осей станка (А, В, С); управление позициони- рованием и сменой инструмента (Т); управление скоростью пере- мещения инструмента (F); управление коррекцией; подготови- тельные функции (G) ; вспомогательные функции (М) и т. п. Изучать функции рекомендуется по следующей схеме: 1) определение назначения функции с точки зрения реализуе- мых ее процессов на станке; 2) определение единиц измерения и области допустимых зна- чений функции; 3) представление формата значения функции и способа коди- рования на носителях информации; 4) определение пределов возможности функции и совместимо- сти ее с другими функциями системы управления. Параллельно изучению функций системы управления разра- ботчик постпроцессоров приобретает навык ручного программи- рования. Для освоения ручного программирования разработчик должен изучить основные правила кодирования, структуру кадра и формат перфоленты, рекомендованную последовательность слов в кадре, описание использования функций системы управления. Разработчику постпроцессора целесообразно составить не- сколько управляющих программ, включающих использование ос- новных функций (F, X, Y, Z, Т, М). Другую группу данных, с которыми необходимо познакомить- ся, составляют данные о станке. К ним относятся: компоновочная схема, ограничения станка, функции станка. Полезной информацией, представленной на компоновочной схеме, является расположение осей координатных перемещений. К ограничениям станка относятся; пределы перемещений ис- полнительных органов; допустимые скорости перемещения испол- нительных органов станка; допустимое ускорение перемещения исполнительных органов станка; совместимость перемещения ис- полнительных органов станка. Функции станка в основном повторяют функции системы уп- равления, однако могут иметь место некоторые различия. Функции в данном случае анализируются с точки зрения работы станка. Определением рабочего подмножества обрабатываемых пост- процессором операторов завершается сбор всех необходимых дан- ных для проектирования постпроцессора. Выше было дано описание языков системы и логическая струк- тура промежуточного формата. При проектировании постпроцессора определяется множество операторов (и соответственно записей промежуточного формата), которые будут обрабатываться. Сюда входят все операторы дви- жения, операторы задания технологических команд подачи, ско- рости вращения шпинделя. 84
3.7. ТЕКСТ ПОСТПРОЦЕССОРА ДЛЯ СТАНКА СВМ (УЧПУ 2Р32) Приведенный текст постпроцессора (программа 43) иллюстри- рует применение унифицированных блоков, описанных в данной главе. В постпроцессоре используются две внешние процедуры ENCODE и DECODE, реализация которых зависит от исполь- зуемой версии транслятора с языка ПАСКАЛЬ. 43. Постпроцессор на станок СВМ (УЧПУ 2Р32) PROGRAM SYM; (• Постпроцессор на станок СВМ (УЧПУ 2Р32) командный файл компоновки SVM.COM Внешние процедуры: ENCODE DECODER •) LABEL 1; TYPE ZAPISCLF= RECORD CASE INTEGER OF 1:(BMAS:ARRAY(1..40]OF CHAR); 2:(MAS:ARRAY{1..20]OF INTEGER); 3:(DMAS:ARRAY(1..5)OF REAL); END, A=ARRAY[1..20]OF INTEGER; VE=ARRAY[1..4O] OF REAL; TEXT4=ARRAY(1..4] OF CHAR; CLFIL=FILE OF INTEGER; TX14=ARRAY[1..14] OF CHAR; CONST W1 =0.00001; FMAX=5000; SMAX=2000; CI =1000; VAR KK,N,I,IUSJSF,ISS:INTEGER;FP:TEXT;VA:VE; ZAP:ZAPISCLF;X,Y,Z,DXtDY,DZ:REAL;KMND:ALFA; ESTI N,ESS ,ESF: BOOLE AN; FTiREAL; NAM 1: ALFA; XNT,YNT,ZNT:REAL ;(♦ смещение ц.с.к*) PF'CLFIL * UPZrINTEGER ;(*Номер записи CLFIL •) GP:INTEGER; (* Плоскость интерполяции ') G2.REAL; (• Признак интерполяции *) FWI:REAL; (* флаг коррекции на вылет *) FWIN:REAL; MF:REAL; NP:REAL;(* Номер Программы *) FK45:REAL;(* Флаг функции С45-сглаживание наружных контуров *) STBOOLEAN; LEN:REAL;(• Размер SVM.TXT в блоках*) PROCEDURE TEL(N AMI: ALFA); VAR PF:TEXT;SIM:CHAR; BEGIN RESET(PF,’U:SVM.TXT’); WRITELNf Программа \NAM1); WRITELN; WHILE NOT EOF(PF) DO IF EOLN(PF) THEN 85
BEGIN READLN(PF); WRITELN END ELSE BEGIN READ(PF,SIM); IF SIM IN [’A’./Z’J THEN WRITE(’ ’); WRITE(SIM); END; CLOSE (PF); END; PROCEDURE PERFO;(* Вывод на перфоленту •) VAR F:TEXT;A:CHAR;L,LL INTEGER; NAM:ARRAY[1..15] OF CHAR; RKS ORIGIN 1775S4B INTEGER; RD ORIGIN 177556B: CHAR; PROCEDURE DOBBIT(VARsimwol:CHAR); CONST DEL=2B; VAR P,PT,PZ:INTEGER; BEGIN P:=200B; PT:=0; PZ:=ORD(simwol); REPEAT P:=PDIV DEL ; IF PZ ANDP#O THEN PT:=SUCC(PT); UNTIL Pal; IF ODD(PT) THEN PZ:=ORD(simwol)+200B; simwol:=CHR(PZ); END; PROCEDURE WIWSIM(SI:CHAR); BEGIN WHILE (RKS AND 200B)=0 DO; RD:=SI; end; BEGIN RESET(F,*U:SVM.TXT’); L1:=RKS; RKS:=0' FOR L:=1 TO 200 DO WIWSIM(CHR(0B));(* прогон*) REPEAT REPEAT READ(F,A);(* получить символ *) IF A#CHR(40B) THEN BEGIN DOBBIT(A); WIWSIM(A); END; UNTIL EOLN(F); WIWS1M(CHR(12B)); READLN(F); FOR L: = 1 TO 5 DO WIWSIM(CHR(0B)); UNTIL EOF(F); FOR L: = 1 TO 200 DO W1WSIM(CHR(OB));(* прогон •) CLOSE(F); RKS: = L1; END; 86
PROCEDURE PRI(NAM1:ALFA); TYPE STR72=ARRAY[1..72] OF CHAR; CONST RAS=36; VAR LP,PF,PF1:TEXT;SI:CHAR;OST,K,I:INTEGER; BUF1»BUFJBUFP:STR72; PERENOS:BOOLEAN; PROCEDURE INIT; VAR HNTEGER; BEGIN PERENOS:=FALSE; FOR I:=ITO 72 DO BUF[I]:=* ’; FOR I:=l TO 72 DO BUFP[I]:=* FOR I: = ITO 72 DO BUF1(I]:=* END; BEGIN RESET(PF,*U:SVM.TXT); RESET(PF1,’U:SVM.TXT’); REWRITE(LP/LP:*); I:=0; WHILE NOT EOF(PF) DO IF EOLN(PF) THEN BEGIN I:=I+1; READLN(PF); END ELSE READ(PF,SI); RESET(PF); OST:=IMOD2; I:=IDIV2; K:=0; WHILE K#I DO BEGIN K:=K-+1;READLN(PF1,BUF);END; K:=0; WRITELN(LP,' Управляющая программа на станок СВМ(2Р32)’); WRTTFl N?1 Р *’V WRITELN (LP/ Программа ’.NAM1); WHILE NOT EOF(PFl) DO BEGIN INIT; READLN(PFl.BUF); IF NOT EOF(PFl) THEN READLN(PF.BUFl) ELSE IF OST=0 THEN READLN(PF.BUFl); K:=RAS+1;I:=O; WHILE BUF1[K]< >’ ’ DO BEGIN I:=I+1; BUFP[I]: = BUF1(K]; K:=K + 1; PERENOS:=TRUE; END; K:=RAS+1;I:=O; WHILE BUF[K]< >• • DO BEGIN I:=I+1; BUFP[I+RAS]:=BUF[K J; K:=K + 1; PERENOS:=TRUE; END; FOR K: = 1 TO RAS DO BUF1[K + RAS]:=»BUF[K]; WRITELN(LP.BUFl); IF PERENOS THEN WRITELN(LP.BUFP); END, END, FUNCTION DECODR(VAR S:TX14):REAL;EXTERNAL; PROCEDURE ENCODE(XPA:REAL;VARSIMS:TX14;KS,PT:INTEGER );EXTERNAI 87
PROCEDURE UFK; TYPE STR=ARRAY[1..14] OF CHAR; T80=ARRAY[1..8O] OF CHAR; VAR BfT8O;CL:ARRAY[1..3,1..4O] OF CHAR; MPS:ARRAY[1..10,1..40] OF CHAR; J,K,N,I,L:INTEGER; S.REAL; A:STR; PROCEDURE WRITLEN(P:TEXT;P1:T8O); BEGIN LEN:=LEN-80./512.; IF LEN<0 THEN BEGIN PROCEDURE FUD(S:REAL); VAR A1:STR;J1,J2,J3:INTEGER; WRITELN(* Нет места в файле U:SVM.TXT’); BEGIN GOTO 1; IFS=W1 END THEN ELSE WRITELN(P,P1); END; PROCEDURE FW0(S:REAL); VAR A1:STR^I1,J2,J3:INTEGER; BEGIN IFS=W1 THEN BEGIN END ELSE BEGIN ENCODE(S,A1,9,1); N: =ORD(CL(3,J])-ORD(,0’); Jl:=0; REPEAT J1:=SUCC(J1); UNTIL A1[J1]=’.’; J3:=l; FOR J2:=1TONDO IF J2<(N-Jl+2) THEN A(J2]: = ’O* ELSE BEGIN A(J2]:=A1[J3]; J3:=J3+1 END; FOR J3:=1TONDO BEGIN B[L]: = A[J3]; L: = L+1 END; END; END; PROCEDURE FUP(S:REAL); VAR A1:STR;J1,J2,J3:INTEGER; BEGIN IFS = W1 THEN BEGIN B[L): = ’O’; L: = L+1; END ELSE BEGIN encode(S,ai,9,1); N^ORixcuajD-ORDCO’); Jl:=0; REPEAT J1:=J1 + 1 UNTIL A1[J1]=’.’; FOR J3: = l TO (Jl-1) DO BEGIN B[L):=A1[J3]; L=L+1 END; END; END; BEGIN B[L]:=*0‘; L:=L+1; END ELSE BEGIN encoder, a 1,12,3); Jl: = 14; REPEAT UNTIL(A1[J1]#’O’) AND (A1[J1]#’ ’); FOR J3:=l TO JI DO BEGIN B(L]: = A1[J3]; L:=L+1 END END END; t BEGIN(*UFK*) BEGIN FORL:=1TO3DO FOR J:=1TO25DO CL(LJ]:=’ ’; FOR L:=ITO 80 DO B(LJ:=”; FOR L:=l TO 10 DO CL(1,1]: = ’N‘; FORI:—2 TO 14 DOCL(1,I]:=’G’; CL(1,14]:=’D’; CL(1,15]: = ’X’; СЦ1,20]:=Т; CL[1,16]:=’Y’; CL[1,21]: = ’J’; CL(l»17]:e*Z’; CL[1,22]: = ’K*; CL(1 Д4]:=*F’;CL( 1,25]: = ’S’; СЦ1,26]:=’Т’;СЦ 1,27]: = ’M ’; CLfl,29]:=’D’; СЦ1,31]:=’%’;CL[2,31J: = ’2’; FORI:=2TO29 DO BEGIN CL(2,I]:=’2’; END; СЦ2.1 J: = ’2’,FOR I: = 15 TO 25 DO СЦ2.1 J: = ’2’; СЦ2.14]: = ’1 ’;CL(3,14]: = ’2’; END; L:=l; 1F1SS#O THEN BEGIN 88
J:=41; REPEAT UNTIL MPS[ISS,J]#’ •; FOR I:=ITO J DO BEGIN B[L]:=MPS(ISS,ir, L:=L+1 END; END ELSE BEGIN FOR J:=l TO 40 DO BEGIN IF VA[J]#0. THEN BEGIN B(LJ:=CL(1J]; L:=L+1; IFCL(2J]«*r THEN FW0(VA[J]); IF CL[2,J]=’2’ THEN FUP(VA[J]); IF CL(2J]=’3’ THEN FUb(VA[J]); END END; END; WRITLEN(FP,B); FOR J:=ITO 40 DO VA(J]:=0. END; (♦UFK*) PROCEDURE OKR(VAR PERREAL); (♦ округление до трех знаков ♦) VAR MIN:ARRAY[1..14] OF CHAR; MINUS:BOOLEAN; BEGIN (*OKR*) IFPER<0. THEN MINUS:=TRUE ELSE MINUS:=FALSE; ENCODE(PER,MIN,0,3); PER:=DECODR(MIN); IF MINUS THEN PER:=PER*(-1.); END; (♦OKR*) FUNCTION ZERO(XU:REAL):REAL; BEGIN ZERO:=1.; IF ABS(Xll)<0.0005 THEN ZERO:=0. END; PROCEDURE RI(VAR K:A;nuvzap:INTEGER ); VAR EINTEGER; BEGIN REPEAT I:=0; REPEAT I: = I+1; K(IJ:«PFA; GET(PF); UNTIL 1=20 ;• UPZ:«UPZ+1; UNTIL UPZ=nuvzap; END, 89
PROCEDURE korsi; BEGIN ZAP.DM AS[2J: ж ZAP.DM AS[2J-XNT; ZAP.DM AS[3]:жZAP.DMAS[3]-YNT; ZAP.DM AS[4j:=ZAP.DM AS[4]-ZNT; END; PROCEDURE zagolowok; VAR LINTEGER; BEGIN N:=2; RI(ZAP.MAS,N); FOR I:=1 TO 10 DO NAM1[I]:=ZAP.BMAS[I]; END; PROCEDURE start; BEGIN VA[31]:=NP;UFK; ESS:=TRUE; X:=ZAP.DMAS[21; Y:=ZAP.DMAS(3J; Z: ж ZAP.DM AS[4]; XNT:=ZAP. DMAS] YNT:=ZAP. DMASI ZNT:=ZAP.DMAS| END; VA[16]:=ZAP.DM AS[3]; OKR(VA(16]); VA(16):=VA[16]*CI; IF VA[16]=0. THEN VA(16]:=W1; END; , IF ZERO(DZ)#0 THEN BEGIN IF FWI#0 THEN’ BEGIN (* коррекция вылета*) IF (VA[15]#0) OR (VA[16]#0) THEN BEGIN IF ESF . THEN BEGIN VA[24]: ж FT;ESF: ж FALSE END; UFK; KK:=KK + 1; VA[1]:=KK; END; VA(14];=FWI; VA[6):=44;FWI:=0.; END; VA[ 17]:=ZAP.DM AS[4); OKR(VA[17J); VA(17]:=VA(17]*CI; IFVA[17]=0. THEN VA[17):=W1; END; IF ESF THEN BEGIN V A[24]: ж FT;ESF:=FALSE END; IFESTIN THEN BEGIN VA[26]:=F WIN;VA[27]:=12; ESTIN:=FALSE END; UFK; END; X:=ZAP.DMAS[2]; Y:=ZAP.DM Z:=ZAP.DM END; PROCEDURE dwwt; BEGIN korsi; IFG2#1, THEN IFG24W1 THEN BEGIN G2:=l.; VA(2]: = 1.; END; IF ESS THEN (* первый кадр ?♦) BEGIN VA[4]:=90; VA(5]:=17;GP:=17; ESS:=FALSE; FWI:=1; END; DX:=X-ZAP.DM AS[2]; DY:«Y-ZAP.DMAS[3J; DZ.=Z-ZAP.DM AS[4J; IF FK45#0.0 THEN VA[3]:=45.; IF (ZERO(DX)#0.)OR (ZERO(DY)#0.) OR (ZERO(DZ)#0.) VAR THEN BEGIN KK:=kK+1; VA[i]:=KK; IEZERO(DX)#0 THEN BEGIN VA(15): ж ZAP.DMAS(2]; OKR(VA[15J); VA[151: = VA(15]*CI; IFVA(15]«0. THEN VA[15]:«W1; END; IF ZERO(DY)#0 THEN BEGIN PROCEDURE dwpok; XC,YC,ZC,PP:REAL; BEGIN PP:=G2; IF ZAP.MAS[3]=-1. THEN BEGIN IFG2#3. THEN G2:=3. END ELSE BEGIN IF G2#2. THEN 02: в 2. END; IF 90
THEN (♦ первый кадр *) BEGIN VA(4]:=90; VAp):=17;GP:=17; ESS:=FALSE; FWI:«1; END; IFG2=PP THEN VA(2j:=0.; korsi; XC:=ZAP.DMAS(2J ;OKR(XC); YC:=ZAP.DMAS[3] ;OKR(YC); ZC:=ZAP.DMAS(4] ;OKR(ZC); CASE GP OF 17: BEGIN VA[20J:=XC-X;OKR(VA(20J); VA(20]:«VA[20]*CI; IFVA[20]=0. THEN VA[2O]:=W1; VA[211:=YC-Y;OKR(VA[21J); VA(21]:sVA(21]*CI IF VA[21]=0. THEN VA[21J:=W1; END; 18: BEGIN VA[20]:=XC-X;OKR(VA[20]); VA[20]:=VA[20J*CI; IFVA[20}=0. THEN VA[2O]:=W1; VA(22J:=ZC-Z;OKR(VA(22]); VA[22]:=VA[22]*CI; IF VA[22]=0. THEN VA[22]:=W1; END. 19: BEGIN VA[211:=YC-Y;OKR(VA(21]); VA(21]:=VA[21]*CI; IFVA[21]=0. THEN VA[21]:=Wl; VA[22]:=ZC-Z;OKR(VA[22J); VA(22]:=VA[22J*CI; IFVA[22]=0. THEN VA(22]:=W1; END; END, (♦CASE*) N:« N+2;RI(ZAP.M AS,N);korsi; VA[15]:=ZAP.DMAS[2];OKR(VA[15]);VA[15]:=VA[15]*CI; VA[161:=ZAP.DMASp];OKR(VA[16]);VA[16]:=VA[16]*CI; VA[17J:=ZAP.DMAS[4];OKR(VA[17]);VA[17]:=VA[17]*CI; IF VA(15]=0 THEN VA[15]:=W1; IF VA(16J=0 THEN VA(16]:»W1; IF VA(17)eO THEN VA(17]:=W1; IF GF«17 THEN VA(17J:=0.; IF OP® 18 THEN VA[t6):»0., IF GP®19 THEN VAfl5J:«O.; 1FESF THEN IF FT#FMAX THEN BEGIN 91
VA[24]:=FT;ESF:=FALSE END, IF ESTIN THEN BEGIN VAI26]: ж FWIN;VA[27]:=12; FW1N:=O;ESTIN:=FALSE END; KK:=KK+1;VA[1]:=KK;UFK; X:=ZAP.DMAS[2J;Y:=ZAP.DMAS[3);Z:=ZAP.DMAS[4]; END; PROCEDURE konec; BEGIN KK:=KK4-1;VA[1]:=KK;VA[27]:=2;UFK; KK:=KK + 1;VA(1]:=KK;VA[27]:=30;UFK; END; PROCEDURE korrekciq; VAR ZPI:REAL;PX,PY,KODKOR:INTEGER; BEGIN KODKOR:=ZAP.M AS[3]; IF (ZAP.MAS[3]=1) OR (ZAP.MAS[3]=-1) THEN BEGIN IF ESS THEN (♦ первый кадр •) BEGIN VA(4]:=90; VA(5]:=17;GP:=17; ESS: ж FALSE; FWI:==1; END; PX:=O;PY:«O; IF ZAP.M AS(3J=1 THEN VA[2]:=41. ELSE VA[2]:=42.; ZPI:=ZAP.DM AS[2j; VA[14]:=sZAP.DMAS[3]; N:=N+1;RI(ZAP.M AS,N);korsi; IF (ZAP.DMAS[3]-Y)=0. THEN(* движение no Y ♦) BEGIN VA(16]:=ZAP.DM AS[3]; OKR(VA{16]); IF VA[16]=0 THEN VA(16]:=W1; VA(16J:=VA(16]*CI; PY:®1 END ELSE (• движение по X *) IF (ZAP.DMAS[2J-X)*0. THEN WRITELN(’He осепаралелыюе перемещение оператор N \ZAP.MAS(1]) ELSE BEGIN VA(15]:=ZAP.DMAS[2]; OKR(VA[15]); IFVA(15]=0 THEN VA[15J:«W1; VA(15]:*VA(15J*C1; PX:«1 END; X:«ZAP.DMAS[21; Y: ж ZAP.DM AS(3l; IFPX«1 THEN VA(21J:«ZPI ELSE VA(2O}:«ZP1; 92
КК: ж КК+1;VA[1J:=KK;UFK; END ELSE BEGIN (* коррекция FK45 ♦) 1FKODKOR=2 THEN BEGIN VA(2]:=40;KK:=KK+l;VA[ll:=KK;UFK; G2:=W1;VA(2J:=O;ESF:=FALSI END END ELSE BEGIN ESF:=TRUEST: ж ZAP.DM AS[2] IF G2=W1 THEN G2:«0. END END ELSE BEGIN (• Коррекция для нар. сглаживания *) IF ZAP.DMAS[2]=45. THEN FK45:=45. ELSE FK45:=0.0 END; END; END; END; PROCEDURE oboroty; VAR P1,P:REAL;PER: BOOLE AN; BEGIN PER:=FALSE; IF MF « 1. THEN PER:=TRUE; IF MF ж 5. THENST:=TRUE PROCEDURE instrument; BEGIN FWIN:=ZAP.DM AS[2];(* Запомнить номер ♦) ESTIN:=TRUE; ELSE ST:=FALSE; CASE ZAP.M AS[3] OF 1: MF:=3.; 2: MF:=5.; END; 300: MF:=3.; PROCEDURE zagruzitx; BEGIN IF ESS THEN (* Первый кадр *) BEGIN VA(4]:=90; VA[5J:=17;GP:=17; 400: MF:=4.; END; IF MF ж 5. THEN ST:=TRUE; IF ZAP.DM AS(2]=0. THEN ZAP.DMAS[2]:=SMAX; IF MF=5. THEN ZAP.DMAS[2]:=0.; P:=ZAP.DMAS[2J; . ESS:=FALSE; IFP<=2000. FWI:»1; THEN Р1:ж19. END; IFG2#0 THEN BEGIN VA[2]:=W1;G2:=O. END; IFESTIN THEN BEGIN VA[26]:=FWIN;VA(27]:=12; ESTIN:=FALSE; ELSE Pl: =19.; IFP<= 1600. THENF1:=18.; IFF< = 1250. THEN Pl:=17.; IFP<« 1000. THEN РЪ=16.; IFP<= 800. ТНЕНР1:ж15.; IFP<= 630. THEN Fl:=14.; END; FWI:=FWIN; №Р<ж 500. THEN Pl:=13.; VA[3]:=28;VA[17]:=W1; KK:=KK+1;VA[1]:=KK;UFK; VA(15]:=W1;VA(16]:=W1;VA(2]:=28; KK.=KK +1; VA[1]:=KK;UFK; VA(27J:=6;VA(26]:=ZAP.DMAS(2J; KK:=KK+1;VA(1]:=KK;UFK; X:=0.0;Y:=0.0;Z:=0.; END; №Р<ж 400. THENP1:=12.; IFP<« 315. ТНЕНР1:жЦ.; IFP<= 250. THEN Pl:=9.; IFP<= 200. THEN Pl:=8.; 1РР<ж 160. THEN Fl:я 7.; PROCEDURE podaY; 1РР<ж 125. BEGIN IF ZAP.DMAS[2] > « FMAX THEN BEGIN IF (G2> «2.) AND (G2< »1) THEN BEGIN ESF: ж TRUE;FT:=FMAX END ELSE BEGIN THEN Pl:=6.; 1РР<ж too. THEN Р1:ж5.; IFF<^ 80. THEN Р1:ж4.; IFF<« 63. THEN Fl:=3.; IFP<« 50. THEN Pl:=2.; IFF<= 40. THEN Р1;ж1.; 93
IF Р = 0. THEN Р1:=0.; IF PER THEN BEGIN KK:=KK-H;VA(1J;=KK; VA(27J:=MF; VA[25]:=P1;UFK; END ELSE BEGIN IF ST THEN BEGIN KK:=KK+1;VA[1]:=KK; VA[27]:«MF;VA[25]:=P1;UFK END ELSE BEGIN KK:=KK+1;VA(1]:=KK; VA[27]:=5.;UFK; KK:=KK+1;VA[1]:» KK; VA[27]:=MF;VA[25]:=P1;UFK; END END END; PROCEDURE ohlavdenie; BEGIN IF ZAP.MAS[3]=1 THEN VA(27]:=8; IF ZAP.MAS[3]=2 THEN VA[27]:=9; KK:=KK+1;VA(1J:=KK;UFK; END; PROCEDURE stop; BEGIN KK:=KK +1 ;V A[l]:=KK; VA[27J:=W1 ;UFK; END; PROCEDURE uslstop; BEGIN KK:=KK+1;V A[ 1 ]:=KK;VA[27]:=1 .;UFK; END; PROCEDURE wspomogat; BEGIN NP:=ZAP.DMAS[2]; END; BEGIN (* качало постпроцессора ♦) REWRITE(FP,’U:SVM’,*TXT\I); IFI=-1 THEN BEGIN WRITELNf Нет устройства U’)i GOTO 1; END; LEN:=F, RESET(PF,’D5:CLFIL.’t>I); IF 1=1 THEN BEGIN WRITELNf Файл D5:CLF1L. не найден1); GOTO 1; END; FOR I: = 1 TO 20 DO VA(IJ:=0.0; X:®0.; Y:=0.; Z:=0.;FWI: = 1.0; KK:«0; ISS:«O; GP:=0;G2: = Wl; 94
N:=3; FK45:=0.0 ;MF:=1.; UPZ:=O; NP:=1.; FT:=FMAX;ESF:=TRUE; ESTIN:=FALSE; zagotowok; WRITELN(’Pa6oTaeT постпроцессор на станок CBM (УЧПУ 2P32)'); WRITELNC------------------------------’); WRITELNC Программа ’.NAM1); REPEAT N:=N+1; RI(ZAP.MAS.N); CASE ZAP.MAS[2] OF 26: start; 28: dwwt; 32: dwpok; 23: podaY; 22: oboroty, 11: ohlavdenie; 9: stop; 8: uslstop; 24: instrument; 13: zagruzitx; 20: korrekciq; 14: wspomogat; 4: konec; END; UNTIL ZAP.M AS[2J=4; CLOSE(FP);CLOSE(PF); WRITELNCYn занесена в файл SVM.TXT’); WRITELN; REPEAT WRITE(*CBM> ');READLN(KMND[1]); CASE KMNDflJOF * L*: PRI(NAMl); * P’: PERFO; * T: BEGIN TEL(NAM1);WRITELN; END; ’S’: WRITELN(*CBM> Постпроцессор работу закончил'); ELSE WRITELNC Команды постпроцессора L [1ST]-Печать УП Р [ERF] - Вывод УП на перфоленту Т [YPE] - Вывод УП на терминал S [ТОР] - Конец работы'); END; (♦CASE ♦) IF KMND(1] IN [•L’.’P'.’T’] THEN Writeln('BuBOA окончен'); UNTIL KMND(1]=,S’; 1: END. Глава 4 РАЗВИТИЕ ИНТЕРСАП 4.1. ИНТЕРФЕЙС CAD/CAM Развитие персональных ЭВМ, содержащих мощные графиче- ские средства (графические дисплеи, графопостроители, печатаю- щие устройства), позволяет с помощью соответствующего про- граммного обеспечения организовать автоматизированное рабо- чее место конструктора (АРМ К) машиностроительного и прибо- ростроительного производства. 95
Работая на АРМ К, конструктор создает математическую мо- дель детали, вводя в ЭВМ всю информацию, указанную на черте- же. Представление детали в виде математической модели позво- ляет выполнять над этой информацией любые преобразования: хранение, редактирование, деление на части и т. д. Примером программной системы для АРМ К является система AutoCAD. Математическая модель детали в этой системе может быть представлена выходным файлом DXF, который формируется на жестком диске. Графическая информация о детали доступна технологу, который, используя специальные программные сред- 96
ства, может; 1) построить операционный эскиз; 2) сформировать структуру операции на станке с ЧПУ; 3) рассчитать опорные точ- ки перемещения инструмента и сформировать CLDATA. Программной системой, обеспечивающей перечисленные функ- ции и связывающей системы AutoCAD и ИнтерСАП, является система DePCI. Структура этой системы приведена на рис. 105. Здесь приняты следующие обозначения: AutoCAD — графический редактор, используемый технологом для описания обрабатываемых конструкторско-технологических элементов (КТЭ) детали; DED — программа в среде AutoCAD для выделения на черте- же детали КТЭ, которые должны обрабатываться на станке с ЧПУ; DXF — файл, который содержит математическую модель детали и заготовки с отмеченными для обработки КТЭ или мате- матическую модель только КТЭ; GeO — программа формирования операционного эскиза; PPLAN — программа формирования структуры операции; DOC — программа печати документации для выполнения опе- рации на станке с ЧПУ; PPLGe — программа формирования текста на языке Интер- САП; CLDATA — файл промежуточных данных транслятора; DRAWCLDATA — программа для вывода траектории движе- ния инструмента на графопостроитель или принтер; РР — постпроцессор; УП — управляющая программа в кодах конкретной системы ЧПУ; DReiPC — программа-драйвер вывода управляющей програм- мы на перфоратор. Можно кратко записать следующий сценарий разработки уп- равляющей программы: 1) используя систему AutoCAD, отметить на математической модели (чертеже) детали, выполненной конструктором сред- ствами AutoCAD, КТЭ, которые должны обрабатываться на стан- ности детали 97
Рис. 108. Операционный эскиз (цифра- Рис. 109. Траектория движения ин- ми обозначены номера поверхностей) струмента 2) используя систему DePCI, сформировать операционный эскиз и структуру операции (рис. 108) и проверить полученную траекторию движения инструмента путем прорисовки на дисплее (рис. 109). Если траектория правильна, то, пользуясь соответст- вующим постпроцессором и сервисными программами, получить управляющую программу (перфолента, листинг, траектория дви- жения инструмента на графопостроителе и принтере). 4.2. ПРОГРАММНАЯ СИСТЕМА АЛЬФА-30 ДЛЯ ПРОГРАММИРОВАНИЯ ОБРАБОТКИ СЛОЖНЫХ ПОВЕРХНОСТЕЙ Разработка УП для обработки сложных поверхностей штампов, пресс-форм является очень трудоемким процессом, поэтому для автоматизации этого процесса разработана программная система АЛЬФА-SD. В ней применены следующие принципы описания поверхностей: 1) сложная поверхность образуется двумя различными кривы- ми— направляющей кривой (НК) и образующей кривой (ОК) ; 2) НК и ОК могут быть сформированы из отрезков прямых, ок- ружностей, кривых, заданных множеством точек; 3) сложная поверхность штампа формируется путем переме- щения ОК по НК; 4) сложная поверхность может быть определена семейством НК и ОК, а также способом перемещения (параллельный, ради- альный, нормальный) ОК по НК; например, если есть одна ОК, то в зависимости от способа перемещения поверхности обработки могут быть различными (рис. НО). 98
Рис. 111. Принцип формирования поверхности Обрабатываемая поверхность ха- рактеризуется количеством НК и ОК и взаимосвязями между ними: НК представляет собой геометрическое место точек на поверхности, которое задает перемещение ОК; ОК — гео- метрическое место точек на поверх- ности, которое перемещается отно- сительно НК (рис. 111). Комплекс программ АЛЬФА-ЗО должен реализовывать обработку сложных поверхностей, состоя- щих из комбинаций фрагментов поверхностей четырех типов: 1-й тип представляет собой линейчатые поверхности, т. е. по- верхности, которые имеют две НК, соединенные прямыми линиями (рис. 112); 2-й тип — это поверхность, генерируемая при переносе ОК вдоль НК (рис. 113); 3-й тип — это поверхность, генерируемая при радиальном передвижении ОК относительно НК (рис. 114); Рис. 112. Линейчатые поверхности Рис. 113. Поверхности, получаемые переносом образующей Рис. 114. Поверхности, получаемые радиальным передвижением образующей 99
4-й тип представляет собой поверхность, генерируемую при таком передвижении ОК относительно НК, при котором попереч- ное сечение по ОК порождается всегда в направлении нормали к НК (рис. 115). Предложенные типы поверхностей дают возможность форми- ровать траекторию движения инструмента типа «шаровая фреза» в трехмерном пространстве для довольно широкого класса деталей. Комплекс программ АЛЬФА-ЗО должен выполнять все расчеты, необходимые для формирования траектории движения инструмен- та при трехмерном перемещении, и предоставлять возможность выбора направления и схемы обработки (рис. 116). Программное обеспечение рассчитано на фасонные фрезы. В состав комплекса программ АЛЬФА-ЗО должен входить специальный модуль про- Рис. 116. Траектория движения инструмента 100
рисовки изометрической траектории инструмен- та на экране терминала для визуального кон- троля заданной поверх- ности. Входной информа- цией для АЛЬФА-ЗВ является файл, в кото- рый технолог-програм- мист вносит данные об Рис. 117. Чертеж штапма обрабатываемой поверх- ности. К таким данным относятся: тип поверх- ности, вид инструмента, радиус инструмента, тип траектории, схема реза- ния, начальная точка, допуск, описание НК и ОК. Комплекс программ АЛЬФА-ЗВ должен сформировать файл CLBATA с фиксированной длиной записи (CLFIL), который об- рабатывается постпроцессором для получения УП. При пользовании системой АЛЬФА-ЗВ необходимо: 1) выполнить анализ формы сложной поверхности штампа, например, приведенной на рис. 117. Поверхность, .показанная в данном примере, формируется соединением дуги и сегментов по- перечного сечения прямыми линиями (рис. 118). В соответствии с приведенной выше классификацией применим описание поверх- ности 1-го типа; 2) указать«на чертеже детали оси х, у, z в соответствии с осями станка с ЧПУ, на котором будет обрабатываться деталь (рис. 119). Точка начала координат может быть задана произвольно; 3) обозначить на чертеже горизонтальную и вертикальную оси, которые определяют профиль поперечного сечения (вид сбоку на рис. 119, а); 4) полученную информацию представить в виде таблицы. Комплекс программ АЛЬФА-ЗВ значительно повышает произ- водительность технолога-программиста оборудования с ЧПУ за счет автоматизации подготовки УП. Область применения комп- лекса — автоматизация подготовки УП на ЭВМ, совместимых с IBM PC/XT (АТ) (например, ПРАВЕЦ-16, ЕС-1840, 41, 42, ИСКРА-1030, НЕЙРОН и др.) для оборудования с ЧПУ, которое позволяет трехкоординатное перемещение инструмента. Комплекс программ АЛЬФА-ЗВ предназначен для эксплуатации в среде операционной системы MS-BOS. Язык программирования «С». 101
Рис. 119. Преобразованный чертеж штампа (а) и оси координат станка (б) 4.3. ПРИНЦИПЫ НОРМИРОВАНИЯ ПРИ РАЗРАБОТКЕ УПРАВЛЯЮЩИХ ПРОГРАММ При разработке САПР одной из наиболее сложных проблем является создание языка описания объекта проектирования, кото- рый определяет степень автоматизации процесса проектирования в САПР. Поэтому язык описания важен как для разработчика, так и для пользователя САПР. Для разработчика имеет значение степень сложности программных средств САПР и, соответственно, трудоемкость разработки программного обеспечения, интерпрети- рующего термины языка, для пользователя — производитель- ность проектировщика, работающего с САПР, и трудоемкость проектирования. На примере задачи формирования траектории движения ин- струмента рассмотрим методику оценки уровня языка X описания траектории движения. В качестве языка нулевого уровня Хо будем считать язык стандарта ISO для систем управления станком. На примере САПР УП ИнтерСАП оценим значение уровней Xt- для четырех языков, определяющих различный уровень автоматиза- ции процесса проектирования траектории движения инструмента. Множество терминов входного языка САПР УП ИнтерСАП позволяет сформулировать четыре диалекта: язык типа APT (множество терминов Ml, уровень Х|), позво- ляющий автоматизировать расчеты координат точек перегиба траектории движения; язык типа APT, содержащий макроаппарат (множество М2, уровень Х2), который позволяет включать в формируемую траек- торию фрагменты траектории в виде макроопределений (циклов); язык макроопределений (множество терминов М3, уровень Х3), позволяющий формировать траекторию из фрагментов тра- екторий (типовых поверхностей); 102
язык взаимодействия между системой формирования траекто- рий и системой автоматизации конструирования (множество М4, уровень Х4). Оценка значений At- (Z=0, 1, 2, 3, 4) позволяет определить: производительность технолога-программиста, пользующегося соответствующим языком, т. е. выполнить нормирование при раз- работке УП; трудоемкость разработки программных средств, реализующих соответствующий язык описания объекта проектирования, т. е. осуществить нормирование при разработке программного обеспе- чения САПР УП. Основной задачей нормирования при разработке УП является определение времени программирования траектории движения инструмента. Рассчитаем время программирования по методике Холстеда [8], в которой используются следующие параметры программ: п\ — число простых (или отдельных) операторов в конкретной программе; п2 — число простых (или отдельных) операндов в конкретной программе; N1 —общее число всех операторов кон- кретной программы; N2 — общее число всех операндов конкрет- ной программы; nJ — число различных входных и выходных па- раметров. На основании параметров программ определим следующие метрические характеристики программ: длина программы = m log2 ni + пг log2 пг; объем программы V = ft log2 (n2 + ni); потенциальный объем программы V* = (2 + nJ) log2(24-nj); уровень программы L = V*/V; уровень языка X=L*V; время программирования ?__ rtiN2(/iI log2/ij-|-/i2 log2n2) log2(rti+n2) “ 2n2S Основной проблемой при использовании методики Холстеда является правильный выбор параметров программ. Сравнение истинной длины N и вычисленной длины ft прово- дится при помощи статистического анализа набора конкретных программ. По этому критерию проверяется правильность опре- деления П1, П2, Ni, N2. Проверка правильности определения nJ осуществляется пу- тем сравнений п2 и п2: П2= Ani -|-.В, где A=nJ/(nJ + 2) log2 (nJ/2); B = nJ —2А. Оценку метрических характеристик управляющих программ, написанных на различных языках, выполним для четырех дета- лей типа «тела вращения», обрабатываемых на станке с ЧПУ. Нормирование при разработке УП в кодах ISO В качестве операторов будём считать адреса в кадрах УП, в качестве операндов — значения адресов. Ниже приведены опера- 103
торы, исг.см»/ ioie при программировании траектории ин- струмента дня устройства ЧПУ «2У-22»: Обозначение оператора Наименование G X Z X, Z X, Z, L К ПС Подготовительная функция Перемещение по X Перемещение по Z Перемещение по двум координатам Перемещение по дуге окружности Конец кадра Диапазон изменения П\ языка ISO находится в пределах I <Hi<6. 104
Поскольку операндами являются значения адресов, пг при- нимает значение, равное количеству различных числовых пара- метров, встречающихся в программе. Следует учесть,’ что для объективного сравнения уровня язы- ка ISO с языками других уровней САПР УП необходимо учиты- вать процедуру расчета координат опорных точек траектории дви- жения инструмента по размерам на чертеже и преобразование f20 Рис. 120. Детали № I, 2, 3, 4 105
этих координат, т. е. к ранее определенным операторам добавля- ются арифметические операторы (присваивания, сложения, деле- ния, вычитания, умножения). Соответственно увеличивается коли- чество операндов, в зависимости от способа задания размеров на чертеже. Определим п$ как количество различных значений размеров детали и координат опорных точек траектории. На рис. 120 изображены траектории движения инструментов для четырех деталей. Им соответствуют четыре УП (программы 44—47) в ко- дах ISO, параметры которых приведены в табл. ,4. Результаты проверки правильности выбора п% приведены в табл. 5. Как видно из таблицы, значения определенных эксперимен- тально и вычисленных параметров оказываются достаточно близ- кими друг к другу, что позволяет говорить о правильности выбора параметров программы. Ниже представлены вычисленные метрические характеристики V, Т, к (табл. 6). Таблица 4 Таблица 5 ЛЬ детали N, n2 Л| «2 № детали N Я П> пг 1 2 3 4 161 НО 167 228 130 88 123 162 7 6 6 7 36 32 40 52 17 1 17 2 20 3 26 4 291 198 290 390 205 176 228 316 36 32 40 52 30 28 32 43 Среднее значение 292 231 40 33 44. Программа ISO (деталь № в кодах П Коэффициент корреляции R = 0,95 R = 0,99 N001S08M39M03 N002G20G90T001 N003M08 N004G01XGF90 N005X14000 N006X9400F350T002 N007Z6500 N008X10000 N009Z11000 N010T8800 N011Z6500 N012X9400 N013Z11000 N014X8200 N015Z6500 N016X8800 N017Z11000 NO18X7600 N019Z6500 N020X8200 N021Z11000 N022X7000 N023Z6500 N024X7600 N028X7000 N029Z11000 N030X5666 N031Z7000 N032X6334 N033Z11000 N034X5000 N035Z7000 N036X5666 NO37Z11OOO N038G09X140Q0 Таблица 6 № детали V Т, мин X 1 1579 103 4.1 2 1039 44 6.3 3 1601 87 6.1 4 2294 130 7.9 Среднее значение 1628 91 6.1 N025Z11000 N026X6334 N027Z7000 N039G09Z12000F5000T003 N040G09X2000F2500 N041G09Z7000F200 N042G09XOF2500 N043G09Z12000 N044G09X14000F2500 N045G09Z11000 N046M09 N047M05 N048G25XZ N049M02M30 45. Программа в кодах ISO (деталь № 2) N001S08M39M03 N002M08 N003G20G90T001 N004G01G09Z0F5000 N005G09XOF100 N006G09Z200F5000 N007G09X9000F2500 106
N008G09X6600F2500T002 N009Z-800F70 N010X7000 N011Z200 NO12X6200 N013Z-800 NO14X6600 N015Z200 N016X5800 N017Z-800 N018X6200 N019Z200 N020X5400 N021Z-800 N022X7000 N023G09X9000Z200 N024G09X3300F2500T003 N025Z-6600F100 N026X2600 N027Z200 N028X4000 N029Z-6600 N030X3300 N031G09Z200 N032G09X9000F2500 N033M09 N034M05 N035G25XZ N036M02M30 46. Программа в кодах ISO (деталь № 3) N001G20G90T001 N002M08 N003S09M40M03 N004G1G09X10000F2500 N005Z10000F100 N006GO9X0 N007G09Z12000F5000 N008G09X1200F2500 N009X9600F100T002 N010Z5500 N011X10000 N012Z10000 NO13X9200 N014Z5500 N015X10000 N016Z10000 NO17X8800 N018Z5500 NO19X9200 N012Z10000 N021X8400 N022Z5500 N023X8800 N017X3900 N024Z10000 N018Z1700 N025X8000 N019X4100 N026Z5500 N020Z0 N027X8400 N021X3700 N028Z10000 N022Z-1700 N029X7600 N023X3900 N030Z5500 N024Z0 N031X8400 N025X3500 N032Z10000 N026Z-1700 N033X7200 N027X3700 N034Z5500 N028Z0 N035X7600 N029X3400 N036Z10000 N030Z-500 N037X7000 N031X3500 N038Z5500 N032Z0 N039X10000 N033X3200 N040Z12000 N034Z-500 N041X5000T003 N035X3400 N042Z5450 N036Z0 N043X0 N037X3000 N044Z12000 N038Z-500 N045X10200 N039X4600 N046X4900T004 N040Z200 N047Z5450 N041X1100T003 N048X5100 N042Z-2300 N049Z5500 N043X700 N05CX0 N044Z200 N051Z12000 N045X1200 N052X10200 N046Z-2000 N053M09 N047X1100 N054M05 N048Z200 N055G25XZ N049X1400 N056M02M30 N050Z-2000 N051X1200 N052Z200 N053X1600 47. Программа в кодах N054Z-2000 N055X1400 ISO (деталь № 4) N056Z200 N057X1800 N058Z-2000 N001G20G90T001 N002S09M40M03 N003M08 N0O4G01Z0F160 N005G09X0 N006GO9Z20OFS000 N007G09X4600F2500 N008Z0F160T002 N009X4200 N010Z-2300 N011X4600 N012Z0 N013X4100 N014Z-1700 N015H4200 N016Z0 N059X1600 N060Z200 N061X2000 N062Z-1500 N063X180Q N064Z200 N06^X2200 N066Z-1500 N067X2000 N068Z200 N069X4600 N070M05 N071M09 N072G25XZ N073M02M30 Нормирование при разработке УП на языке типа APT В качестве операторов использую 1ся следующие элементы языка типа APT, реализованного в ИнтерСАП: Наименопанис оператора Определение точки Определение прямой Определение окружности Количество способом <аланнн 13 К) 15 107
Определение списка 1 Геометрический оператор присваивания 1 Арифметические операторы ( = , -К —, ♦, Л Л) 6 Конец строки 1 Итого 47 Для программирования траектории движения инструмента при обработке на языке типа APT может использоваться от 1 до 47 типов операторов, т. е. 1 <ni<47. Операндами являются идентификаторы геометрических объек- тов, модификаторы, переменные и константы. В качестве и* примем сумму количества размеров и коли- чества геометрических объектов, определяющих траекторию. При определении N| для конкретной программы следует учиты- вать в операторе SPIS определяемые неявно точки перегиба траек- тории движения инструмента. По текстам УП (программы 48—51) для четырех деталей по- лучены значения, приведенные в табл. 7. Результаты проверки этих значений представлены в табл. 8, а результаты вычисления метри- ческих характеристик — в табл. 9. 48. ИнтерСАП-программа (деталь № 1) Т0>0,0 LZ>T0,0 LX > ТО,90 Т0> 10,-70 L17>LX,T3 L13>LX,XB,110 L14>L13,XM,40 L16>LZ,YM,50 L1>L14,XM,5 L3>L16,YB3 L5>L3,YB,3 L6>L5,YB,3 L7>L6,YB3 L2>LZ,YM,35 L8>L2,YB,10/3 L9>L8,YB,10/3 L10>LX,XB,120 L4>LZ,YM,25 Lll>LZ,YM,10 . SPIS,Sl»90jT3,L13,LZ,T3 SHS33 5000,L17,L13,T3,350J-13,L3,L1,L16,L13,L5,L1,L3,L13,L6,L1,L5,L13 SPISAi,L13,L7,Ll,L6,L13,L2,Ll,L7,L13,L8,L14 SPIS,£5,L14,L2,L13,L9,L14,L8,L13,L4,L14,L9,L13,T3 SPIS.S6,5000, L17,L1O,L11,200, L14,5000,LZ,L10,L17,T3 . NT.T3 S.600 INST.l OHL.VKL DS.S1 Таблица 7 № детали N, Na «1 n2 nt INST,2 DS.S33435 1 119 129 8 40 26 INST.3 2 80 97 7 33 24 DS.S6 3 118- - 138 | I 6 41 29 OHL.VIK S,VIK KO , 4 153 183 1 8 49 37 108
49. ИнтерСАП-программа (деталь № 2) DET.GORKUN ICHMFM Г»ЛР1П1Ы Таблица 8 T0>0,0 № LZ>T0,0 детали N Я «2 П2 LX>T0,90 L1>LZ,YM,45 1 L2>LX,XB,2 2 L4>LZ,YM,16.5 3 L5>LZ,YM,2O 4 L6>LX,XM,66 _ 248 177 256 336 237 186 235 300 40 33 41 49 J*7 40 43 61 L7>LX,XM,8 L8>LZ,YM,13 Среднее L9>LZ,YM,35 значение L10>L9YB2 254 240 41 1 | 48 Lll>L10,YB,2 Коэффициент IlOslIIVRO ЫЗ>иЖ корреляции T1>L1,L2 1 SPIS,SI,5000,LI,LX,100,LZ,5000X2,T1 SPIS32,5000,L2,L10,70,L7,L9,L2,Lll,L7,L10,L2,L12,L7,Lll,L2,L13,L7,] SPIS33,5000,L2,L4,100,L6,L8,L5,L6,L4,L2,5000,T1 NT,T1 S.630 OHL.VKL INST,1 DS.S1 INST.2 DS.S2 INST,3 DS.S3 OHL.VIK S.VIK KO R = 1 L9.TI o.°° 1 R- i 0,92 50. ИнтерСАП-программа (деталь № 3) DET3HMIG KOMEN3HMIG T0>0,0 Таблица 9 T10> 120,-51 № Т, мин LX>T0,0 LY>T0,90 детали V X 1 1385 47,5 13,1 L31>LY,XB,100 L32>LY,XB,55 2 942 24,2 15,9 L36>LY,XB,120 L34>LX,YM,25.5 L35>LX,YM,25 L22>LX,YM,35 3 4 1422 1959 43,9 62,1 16,6 21,7 Среднее значение 1427 44,4 16,8 L23>LX,YM,36 L24>L23,YM,2 L25>L24,YM,2 L26>L25,YM,2 L27>L26,YM,2 L28>L27,YM,2 L29>L28,YM,2 L30>L29,YM,2 OHL.VKL L38>LY,XB,54.5 S.2000 L39> LX,YM,24.5 DS,S1 SPIS,SI,5000,136,L30,100,L31,LX,5000,L36.T10 INST,2 SPIS,S2,100,L36,L29,L32,L30,L31,L28,L32,L31.L27,L32,L28,L31,L26 DS32.S334 SPIS,S3,L26,L32,L27,L31.L25,L32,L26,L31.L24.L32,L26,L31,L23,L32 INST.3 SPIS,S4,L32,L24,L31 ,L22,L32,L30,L36 DS.S5 SPIS35,100,L36,L35,L38.LX,L36.T10 INST.4DS.S6 SPIS,S6,100,L36,L39,L38,L34,L32,LX,L36,T10 OHL.V1K NT.T10 S.VIK INST.l KO 109
51. ИнтерСАП-программа (деталь № 4) DET.BIKOV KOMEN, BIKOV Т0>0,0 LX>T0,0 LY>T0,90 L1>LX,YM^1 L2>LX,YM,35/2 L3>LX,YM,15 L4>LX,YM,11 L5>LX,YM,9 L6>LX,YM,ll/2 L7>LY,XM,23 L8>LY,XM,17 L9>LY,XM,5 L10>LY,XM,20 L11>LY,XM,15 L12>L3,YM,1 L13>L12,YM,1 L16>L2,YM,1 L15>L16,YM,1 L14>L15,YM,1 L19>L5,YB,1 L18>L19,YB,1 L17>L18,YB,1 L20>L4,YB,l L21>L1,YM,2 L22>LY,XB,2 L23>L6,YB,2 T1>L22,L21 SPIS,Sl,160,L21,LY,LX,5000,L22,L21,Tl SPIS32,160,L21,LY,Ll,L7,L21,LY,L14,L8,Ll,LY,L15,L8.L14,LY,L16.L8 SPIS33,L8,L15,LY,L2,L8,L16,LY,L13,L9,L2,LY,L12,L9,L13,LY,L3,L9,L21,T1 SPIS^4,160,L22IL6,L7,L23,L22.L17,L10,L6,L22,L18,L10,L17,L22,L19,L10 SPIS»S5,L10tL18,L22,L5,L10,L19,L22,L20tLll,L5,L22,L4,Lll,L20,L22,Tl NT.Tl INST.l S.2000 OHL.VKL DS31 INST,2 DS.S2.S3 INST.3 DS.S43S S.VIK OHL, VIK KO Нормирование при разработке УП на языке типа APT, вклю- чающем макроаппарат Язык этого уровня отличается от языка типа APT наличием операторов макровызовов. При программировании токарной об- работки в качестве примера используется оператор > PROT, позволяющий описать проточку одной ступени детали. Исполь- зование этого оператора увеличивает п\ на единицу по сравнению с программой на языке APT, однако параметры л2, Nb N2 суще- ственно уменьшаются, так как в этом случае не требуется опре- деление многих геометрических объектов. Соответственно умень- шается и л*. Основные параметры программ для расчета метри- ческих характеристик приведены в табл. 10. но
Тексты УП для четырех деталей приведены в программах 52— 55, результаты проверки — в табл. 11, а метрические характерис- тики — в табл. 12. 52. ИнтерСАП-макро (деталь № 1) DET.PLOTNIKOV T0>0,0 LZ>T0,0 LX > TO ,90 T3> 110,-70 L17>LX,T3 L13>LX,XB,110 L14>L13,XM,40 L1>L14,XM,5 L16>LZ.YM,50 L10> LX.XB.120 L4>LZ,YM,25 Lll>LZ,YM,10 L2>LZ,YM,35 SPIS,S1.90,T3,L13,LZ,T3 SPIS36,5000,L17,L10,LU,200,L14,5000,LZ,L10,L17 NT.T3 S.600 INST.l OHL, VKL DS,SI INST.2 >PROT;1;3;350;0;L16.L1;L1;L2,L1;L13 >PROT;2;10/3;350;L2,L1;L14;L14,L4;L13 DT.T3 INST.3 DS.S6 OHL, VIK S.VIK KO 53. ИнтерСАП-макро (деталь № 2) DET.GORKUN Т0>0,0 LZ>T0,0 LX > ТО,90 L1>LZ,YM,45 L2>LX,XB,2 L5>LZ,YM,20 L6>LX,XM,66 L7>LX,XM,8 L8>LZ,YM,13 L9>LZ,YM35 L13>LZ,YM,57/2 T1>L1,LX SPIS,S1,5000,LI,LX, 100, LZ,5000, L2.T1 NT.Tl S.630 OHL, VKL INST.l DS,SI INST.2 DS,L1,LX,L9 >PROT;1;2;70;L9.L7;L7;L13,L7;LX INST.3 DS.5000.LX.L8 >PROT;2;3;100;0;L6,L8;L6;L5,L6;LX OHL,VIK DT.Tl S.VIK KO Таблица 10 № детали N, n2 nt «2 1 60 79 9 32 21 2 53 68 9 27 17 3 63 80 7 34 22 4 93 128 9 41 28 Таблица 11 № детали N Я Л2 Пч 1 139 188 32 43 2 121 156 27 36 3 143 192 34 37 4 221 248 41 53 Среднее значение 156 196 34 42 Коэффициент корреляции R- 0,98 R = 0,86 HI
54. ИнтерСАП-макро (деталь № 3) DET.SHMIG Т0>0,0 Таблица 12 Т10>120,-51 № LX>T0,0 детали V T, мин A, Lx^TO * 90 L31>LY,XB,100 1 745 17,8 14,5 L32>LY,XB,55 2 625 16,2 10,4 L36>LY,XB,120 3 766 17,8 15,8 L34>LX,YM,25.5 4 L35>LX,YM,25 1247 35,2 17,4 L22>LX,YM,35 Среднее L30>LX,YM,50 значение 845,7 21,8 14,5 L38>LY,XB,54.5 L39>LX,YM,24.5 SPIS,SI,5000,L36.L30,100,L31,LX,5000,L36,T10 SPIS.S5,100,L36,L35,L38,5000,LX,L36,T10 SPIS,S6,100,L36,L39,L38,L34,L32,5000,LX,L36,T10 NT,T10 INST Л OHL.VKL 8,2000 DS.S1 INST,2 >PROT;1;2;100;0;L30,L32;L32;L22,L32;L31 DT,T10 INST,3 DS.S8 OHL,VIK S,VIK KO 55. ИнтерСАП-макро (деталь № 4) DET.BIKOV SPIS,S2,16O,L21,LY,L1,L7,L21,LY,L1 T0>0,0 SPIS34,16O,L22,L6,L7,L23,L22,L6 LX>T0,0 NT,T1 LY>T0,90 INST.l L1>LX,YM,21 S.2000 L2>LX,YM,35/2 OHL,VKL L3>LX,YM,15 DS.S1 L4>LX,YM,11 INST,2 L5>LX,YM,9 DS.S2 L6>LX,YM,ll/2 >PROT;1;1;160;0;L1,L8;L8;L8,L2;LY L7>LY,XM,23 > PROT;2;1 ;160;0;L2,L9;L9;L3,L9;LY L8>LY,XM,17 DT.T10 L9>LY,XM,5 INST.3 L10>LY,XM,20 DS.S4 L11>LY,XM,15 >PROT;3;1;160;0;L6,L10;L10;L10,L5;L22 L21>L1,YM,2 > PROT;4;1;160;0;L5,L11 ;L11;LH.L4;L22 L22>LY,XB,2 DT.T10 L23>L6,YB,2 S,VIK T1>L22,L21 OHL.VIK SPIS3L16O,L21,LY,LX,5OOO,L22,L21,T1 KO Нормирование при разработке УП на языке типа МАКРО Язык этого уровня позволяет описать обработку детали, ис- пользуя только макровызовы. При этом параметрами макровызова являются не геометрические объекты, как на предыдущем уровне, а непосредственно размеры чертежа. В качестве примера операто- ров этого языка рассмотрим макровызовы: 112
> PROT — проточка; > TOR — подрезка торца; > KANAV — прорезка канавки; > REZ — нарезание резьбы. Для этого языка характерно уменьшение п\ по сравнению с предыдущими уровнями. В качестве операндов будем считать параметры макровызова — размеры на чертеже. Поскольку язык МАКРО исключает определение геометрических объектов, будем считать в качестве п$ количество различных размеров детали (табл. 13). Тексты ЧП для четырех деталей приведены в програм- мах 56—59, результаты проверки — в табл. 14, а метрические ха- рактеристики — в табл. 15. Сведем в табл. 16 полученные средние значения V, Т, X из табл. 6, 9, 12, 15. Графики зависимости полученных параметров от уровня авто- матизации представлены на рис. 121. Из графиков видно, что пе- реход от ручного программирования в кодах ISO к автоматизи- рованному сопровождается резким уменьшением времени про- граммирования Т и, соответственно, увеличением уровня языка X. Такой же «скачок» наблюдается и при переходе от АРТ-подобных Рис. 121. Графики зависимости пара- метров V, Г, к от уровня автоматизации 113
языков к языку МАКРО, что позволяет говорить о большой эф- фективности последнего. Очевидно, что время программирования в пределах одного уровня автоматизации зависит от сложности обрабатываемой детали. Одним из параметров, характеризующих сложность дета- ли, является /г?. Построим графики зависимости Т от nJ для раз- личных уровней автоматизации (рис. 122). Используя такие гра- фики можно по известному п% определить трудоемкость состав- ления УП и выполнить нормирование работы по разработке УП технологом-программистом. Таблица 16 % Таблица 15 № детали 1 2 3 4 V 12,8 87,6 112 224 ~Т, мин и 0,6 0,9 2,1 X 18,1 21,1 20,7 29,1 Язык ISO Интер- САП Интер- САП и мак- росы МАКРО Уровень авто- матизации 0 1 2 3 Среднее значение 137,9 2.1 V 22,2 Т к 1628 91 6,1 1427 44,4 16,8 846 21,8 14,5 138 1,2 22.2 56. Программа с использованием универсальных макросов (деталь № 1) 57. Программа с использова- нием универсальных макросов (деталь № 2) DET,PLOTNIKOV NT,110,-70 >TOR;110;100;0;90;600;l >PROT;70;100;110;45;3;350;600;2 > PROT^0;70;l 10;40;10/3;350;600;2 >PROT;20;20;110;40;0;200;600;3 KO DET.GORKUN NT,2,-45 >TOR;0;70;26;100;630;l > PROT;57;70;-8;0;2;70;630;2 > PROT;40;26;-70;0;3.5;100;630;3 KO 58. Программа с использованием универсальных макросов (деталь № 3) 59. Программа с использова- нием универсальных макросов (деталь № 4) DET.SHMIG NT, 120, -51 >TOR-100; 100;0; 100;2000;1 >PRCT;70;100;55;0;2;100;2000;2 >PROT;50;50;45;0;0;100;2000;3 > К AN AV;50;51 ;54.5;100;100;2000;4 ко DET.BIKOV NT,2,-21 >TOR;0;44;9;160;2000;1 >PROT;42;42;-23;0;0;160;2000;2 > PROT;35;42;-17;0;1;160;2000;2 >PROT;30;35;-5;0;1;160;2000;2 > PROT-,11;1l;-23;0;0;160;2000;3 > PROT;18;11 ;-20;0; 1 ;160;2000;3 >PROT;22;18;-15;0;1;100;2000;3 KO Адаптация методики нормирования к условиям конкретного предприятия Для адаптации методики нормирования для конкретного пред- приятия необходимо выполнить статистический анализ метриче- 114
ских характеристик некоторого множества управляющих про- грамм, разработанных на этом предприятии. Вычисление метрической характеристики T = f(n%) для каж- дой УП выполняется в следующем порядке: 1) определяют Nj, N2, m, n2, nJ; 2) проверяют правильность выбора исходных параметров пу- тем сравнивания истинных значений N и /г2 с вычисленными ft и п2; 3) рассчитывают значения Г; 4) строят графики зависимости вычисленного значения Т от nJ. * * * В настоящее время ИнтерСАП активно применяют более 50 машиностроительных и приборостроительных предприятий страны. Система постоянно развивается как по предложениям предприятий, так и с учетом характеристик зарубежных систем (PEPS, PATHTRACE и др.). В новой версии системы, которая поступит в эксплуатацию в 1991 г., будут реализованы дополнительные функции, значительно повышающие возможности системы. В частности, в ИнтерСАП включены подсистемы технологического проектирования (выбор инструментов, назначение режимов резания, подготовка техноло- гической документации). Значительно усилится режим интерак- тивного проектирования за счет введения графической интер- претации операторов языка и возможности ссылки на геометри- ческий примитив как по имени, так и непосредственным указанием объекта на экране при помощи «мыши». Входной язык ИнтерСАП дополнен рядом новых конструкций, позволяющих упростить про- граммирование обработки для фрезерных деталей и обеспечить их объемную обработку. Введен новый тип объекта — конструктор- ско-технологический элемент (карман, выступ, окно и т. д.), по- зволяющий значительно упростить описание геометрии детали и повысить степень автоматизации формирования траектории об- работки. В режим работы системы включены возможность чтения файлов, подготовленных при помощи систем автоматизированного конструирования (в частности, системы AutoCAD), и преобразова- ние их в геометрическое описание на языке ИнтерСАП.
Приложение Библиотека постпроцессоров ИнтерСАП Система управления j Марка станка j Тип станка нзз 6520(ЛФ-350) Фрезерный 6Р13ФЗ > Н22-1М 16К20ФЗС5 Токарный АТПР-2М12-СН > Н55-1 6305-Ф4С2 Фрезерный Размер-4 ОЦ-ЗВ Обрабатывающий центр Маяк-221 1И61ПМФЗ Токарный 2У-22 16К20ФЗС18 » 2Р22 16К20 » Модуль 221Т ТПК-125В » СПФ-2ТМШ 1И611ПМФЗ > Размер-2М 2204ВМФ2 Фрезерный Луч-43 СФ-38 » ФС-2К СФ-7 » 2С42 21104Н7Ф4 Обрабатывающий центр 2С42-65 КФПЭ-250-Н2-1 » » 2С85 ЛФ-260 Обрабатывающий центр FANUC-3000C МРД » » FANUC-6 ИР-320 » » FANUC-6M 4GCN Координатно-шлифовальный Ритм-2 ОФ-100 JAPAX JAPT-3F Электроэрозионный Контур-2П-67 4532-ФЗ » Электроника НЦ-31 16К20Т1, Токарный 18340ФЗ С С432 (МАНО) МН 1000 с/к Фрезерный PARAMAT-2D SWPO-80 Профилешл ифовальный Н22 ТПК-125 Токарный 15ИПЧ Электроискровой LJUMO Фрезерный Контур 2ПТ-71 РТ705Ф312 Токарный РТ706Ф312 16К2003С1 1А61ФЗ 2Р32 СВМ Фрезерный НЕЙРОН КФПЭ-250 Н2-2 Фрезерный Размер-4 МС 12-250 Ml » Н55 К0126 Пресс NC-450 FKR Фрезерный 2М43 Электроэрозионный Н22 СТР-125 Токарный 2С42-65 2А622Ф4 Фрезерный 2С42-65 2206 ВМ 1Ф4 > 2С42-55 ГФ2171 > 2С42-65 2202 ВМФ4 » BEPENC Пресс PWS-610 » 2У-22 1П426ДФЗ Токарный FANUC-6M 2204 ВМФ4 Обрабатывающий центр BOSH СС 300 М » » 2П22 Сверлильный 2П32 > 116
СПИСОК ЛИТЕРАТУРЫ 1. Автоматизированная подготовка программ для станков с ЧПУ: Справ/ Под род. Р. Э. Сафрагана.— К.: Техшка, 1986.— 191 с. 2. Автоматизированная система проектирования технологических процессов механосборочного производства / Под ред. Н. М. Капустина.— М.: Машино строение, 1979.— 250 с. 3. Вирт И. Алгоритмы + структуры данных = программы: Пер. с англ.— ??: Мир, 1985. 406 с. '4 . Грогоно П. Программирование на языке ПАСКАЛЬ: Пер. с англ.--М.: Мир, 1982.- 382 с. 5. Использование станков с программным управлением: Справ, пособие: Пер. с англ./ Под ред. Р. Лесли.— М.: Машиностроение, 1976.— 352 с. 6. Камаев Ю. И., Шевчук Ю. В. Автоматизированное проектироз > ? управ- ляющих программ.— К.: КПИ, 1987.— 76 с. х 7. Камаев Ю. Н., Шевчук Ю. В. Интерактивная система автсч’опмипован- ного проектирования управляющих программ для станков с ЧПУ ИгЛсрСАЧ // Технология и автоматизация машиностроения: Респ. межвед. науч.-техн. сб.— 1988. Вып. 41.— С. 50—61. 8. Холстед Д. Начала науки о программах: Пер. с англ.— М.: Мир, 1979.— 137 с. 117
ОГЛАВЛЕНИЕ . f Стр. Предисловие............................................................ 3 Глава 1. Интерактивная система автоматизации проектирования управляю- щих программ........................................................... 6 1.1. Структура ИнтерСАП.......................................... 6 1.2. Входной язык ИнтерСАП. Основные понятия..................... 8 1.2.1. Элементы языка ИнтерСАП................................... 9 1.2.2. Простые геометрические объекты........................... 11 1.2.3. Сложные геометрические объекты.................... ... 18 1.2.4. Команды управления станком и инструментом................ 27 1.2.5. Операторы языка ИнтерСАП................................. 30 1.3. Примеры программ на языке ИнтерСАП......................... 33 Глава 2. Макросредства ИнтерСАП....................................... 42 2.1. Язык технологических переходов для механической обработки де- талей .......................................................... 42 2.2. Принцип работы универсального макрогенератора.............. 46 2.3. Структура макроса.......................................... 47 2.4. Алгоритм разработки макроса............................... 49 2.5. Библиотека макросов........................................ 53 Глава 3. Проектирование постпроцессоров............................... 69 3.1. Два подхода к разработке постпроцессоров................... 69 3.2. Функции постпроцессора..................................... 70 3.3. Входные и выходные данные постпроцессора................... 72 3.4. Структура постпроцессора...........,....................... 76 3.5. Основные модули постпроцессора............................. 77 3.5.1. Управляющий модуль....................................... 77 3.5.2. Модули обработки технологических команд.................. 78 3.5.3. Процедура формирования движения в точку.................. 79 3.5.4. Процедура формирования кадра............................. 80 3.6. Этапы проектирования постпроцессора........................ 83 3.7. Текст постпроцессора для станка СВМ (УЧПУ 2Р32)............ 85 Глава 4. Развитие ИнтерСАП............................................ 95 4.1. Интерфейс CAD/CAM ... 95 4.2. Программная система АЛЬФА-ЗВ для программирования обра- ботки сложных поверхностей...................................... 98 4.3. Принципы нормирования при разработке управляющих про- грамм ......................................................... 102 Приложение........................................4.................. 116 Список литературы ................................................... 117
Малое государственное внедренческое предприятие «КомТех» (г. Киев) Предлагает программно-технический комплекс «АРМ технолога машиностроительного производства Турбо- САП». АРМ ТурбоСАП автоматизирует разработку технологических процессов машиностроительного производства и управляющих программ для оборудования с ЧПУ. АРМ ТурбоСАП реализован па персональной ЭВМ типа IBM PC, снабженной перфоратором ПЛ I50M, фотосчитывателем FS 1501. Программное обеспечение АРМ ТурбоСАП содержит: I. САПР ТП, позволяющую выполнить технологическое проек- тирование для всех деталей и сборочных единиц конкретного изделия с расчетом технологических режимов и норм времени. 2. Подсистему разработки управляющих программ (УП), включающую: универсальную интерактивную графическую 2J5D САП ИнтерСАП G+, позволяющую формировать траекторию движе- ния инструмента при помощи графического редактора, используе- мого для изображения обрабатываемой детали, или на языке ИнтерСАП. Графический редактор способен редактировать чер- тежи, сделанные системой AutoCAD;. модуль макрограф, который позволяет формировать изобра- жение макрокоманд и обеспечивает интерактивный графический ввод параметров; систему графического контроля (твердотельное моделирование процесса обработки); графическую информационно-поисковую систему инструмента; подсистемы архивизации УП и ТП; генератор постпроцессоров (в библиотеке готовых — более 60 типов). АРМ ТурбоСАП применяется в НПО «Молния», производ- ственных объединениях: Киевском авиационном, «Завод Арсенал», «Обь», на Крюковском вагоностроительном заводе и на более чем 50 предприятиях Минавтопрома, Минобщемаша и других отрас- лей промышленности. Перечень оказываемых услуг: 1) адаптация программного обеспечения АРМ по ТЗ заказчика; 2) поставка комплекса техни- ческих средств; 3) обучение пользователей; 4) приоритетная по- ставка новых версий; 5) авторский надзор в течение двух лет. Разработчик АРМ ТурбоСАП: МГВП «КомТех», 252074, г. Киев, 74, ул. Автозаводская, 18, тел. 430-22-95, 431-14-34.
И 73 Тнтерактивна система автоматизаци подготовки програм для верстапв з ЧПУ / Ю.М.Камаев, Ю.В.Шевчук, С.Ю.Плотников та ш. — К.: Техшка, 1992. — 118 с. Мова рос. ISBN 5-335-00544-0 Описана працююча на персональних ЕОМ система подготовки керуючих про* грам для верстат!в з ЧПУ 1нтерСАП як подсистема АРМ ЧПУ. На великий к1лькост1 приклад!в розглянуто можливосп входно! мови. Наведено б1блк>теку макрозасобЗв для описания обробки т1л обертання. ВмЗщено приклади дпочих пЗдпрограм для розробки постпроцесор!в. Велика увага придодяеться перспектив! розвитку ТнтерСАП. Розрахована на шженерно-техшчних пращвник1в металообробно! промисло- Bocri. Може бути корисною студентам вуз!в водпов!дних спещальностей. „ 2704010000-096 ЯОО1 П . П.1 ! I О^.У 1 3 202-92 ББК 34.5-5-01 Виробничо-практичне видання Камаев Юр1й Миколайович, Шевчук ЮрЗй Васильевич Плотников Серий ЮрЗйович, Горкун Станислав Петрович Теличенко Валентина МиколаТвна Гнтерактивна система автоматизаци подготовки програм для верстат1в з ЧПУ Редактор Г. Л. Миро нова Оформления художника Г.В.Файдиша Художжй редактор ГВ.Рубльова ТехнЗчний редактор ЛЛ.Льовочкша Коректор Л. О. Москаленко Здаио до складання 28.12.90. ПЗдписано до друку 23.08.91. Формат 60 х 90 1 /16. Пап1р друкарський N 2. Гарн1тура лНературна. Друк офсетний. Ум.друк.арк. 7,5. Ум.фарбо- в!дб. 7,88. Обл.-вид.арк. 7,04. Зам.Я-295*» Видавництво “ТехнЗка". 252601 КиТв, 1, вул. Хрещатик, 5. КиТвська книжкова друкарня науковоТ книги. КиТв, Репiна, 4.