/
Tags: общая технология машиностроения обработка металлов
ISBN: 5-335-00544-0
Text
ИНТЕРАКТИВНАЯ СИСТЕМА АВТОМАТИЗАЦИИ подготовки ПРОГРАММ ДЛЯ СТАНКОВ · счПУ Киi"в "Технiка" 1992
ББК 34.5-5-01 i И73 УДК621.941 Авторы: Ю.Н.Кам~чук, С.Ю.Плотников, С.П.Горкун, В.Н.Теличенко Рецензент канд. техн. наук А.Е.Палонський Заа.редакцlt;ю Т. Т.Рев11ко Описана работающа11 на персональных ЭВМ система подrотовки упраап11ющих про rрамм дn11 станков с ЧПУ ИнтерСАП как подсистема АРМ ЧПУ. На большом количестве примеров рассмотрены возможности входноrо 11зыка. Приведена библиотека макросредств .цn• описани11 обработки тел вращени11. Даны примеры действующих подпрограмм .цл• разработки постпроцессоров. Большое внимание уделено перспективе развити11 ИнтерСАП. Рассчитана на инженерно-технических работников метал.лообрабатывающей промыш ленности. Может быть пмезна студентам вузоа соответствующих специальностей. И 1704010000-096 81 .91 101-91 ISBN 5-335-00544-0 © Камаев Ю.Н., Шевчук Ю.В., Плотников С.Ю., Горкун С.П., ТеJ1иче•1ко В.И., 1992
ПРЕДИСЛОВИЕ В течение последних 10 лет уровень автоматизации труда рабо чего на машиностроительном производстве, оснащенного совре менным оборудованием с ЧПУ, вырос более чем в lO раз, т. е. на 1000 %. а уровень автоматизации труда инженера (констrуктора и технолога) - на 20 %. в основном за счет более удобных средств оргтехники. Разницу между этими уровнями в 50 раз хорошо де монстрирует отечественная промышленность, которая резко от стает от развитьiх стран по темпам разработки и освоения серий ного выпуска всех изд~лий машиностроения, приборостроения, электроники. В развитых странах задачу автоматизации труда ин женера взял на себя компьютер, и прежде всего персональный компьютер. Однако низкий уровень автоматизации инженерного труда в нашей стране зависит не только от количеств:, компьюте ров. Основными причинами являются следующие ~кономико-орга низационные факторы: l) отсутствие конкуренции (монополия производства). что не спо~обствует повышению эффективности инженерного труда. Отсюда низкое качество разработок; 2) отсутствие реального хозрасчета. что позволяет руководи телям инженерных служб держать «лишних» сотрудников (часто более 50 % ) для выполнения различных работ: сельскохозяй ственных, строительных и т. п.; 3) низкий уровень оплаты труда инженера (в среднем 2500 р. в год) и высокая стоимость компьютеров (самые дешевые ПЭВМ типа ДВК-3, ЕС 1840 с очень ограниченными ресурсами стоят 10-12 тыс. р.). В условиях хозрасчета руководителю выгоднее взять на работу пять инженеров, чем покупать компьютер, в который необходимо вкJJадывать еще много средств (нанример, стоимость программного обеспечения в несколько раз выше стои \.!Ости самой ЭВМ). Для сравнения: в США средняя зарплата инженера не менее 30 тыс. долларов в год, а стоимост1, хороше1·0 компьютера 3 тыс долларов. В этой ситуации оче1:1ид11а экономи ческая необходимость замены человека компыоп•ром. В 11астоящее времн факторами, сr:особствующими и1пе11оtфf1- кании труда инженера в на111t'Й сrра1н.... могут быть 11а:11н111ы: автоматизация MOHOTOIIIIOl'O paCЧl'TIIOГO llj)(Щl'CCa, 11римсром котороl'О может служить п1ющ•сс 11од~·отовкf1 у11рав.11яющих нро- грамм щ1н станка с ЧПУ; . pafioтa 11а 60J11:e совреме1111ом, 11рест11ж11ом о(iорую1ваш1и; во:~можность 11рофессио11а.11ыюго роста; Hl'OбXOДIIMOCТI, :1а грузки дороrостоя ЩСI'() обору ДOBJII flSI ( ком - пьюп.•р1,1, ст1.111ки с ЧllY, роботы).
Таким образом, в настоящее время в отечественной промыш ленности делается попытка закрыть узкие места за счет автомати зации инженерного труда при решении некоторых задач. Одной из таких задач является подготовка управляющих про грамм для оборудования с ЧПУ. Эта задача потребляет до 30 % (2) ресурсов технологической подготовки механообрабатывающе го производства. Автоматизация труда инженера-технолога требует организа ции удобных и доступных рабочих мест. До тех пор, пока на пред приятиях доминировали ЭВМ серии ЕС, доступ к терминалам этих ЭВМ для технологов был резко ограничен, поскольку на ВЦ пред приятия преобладают задачи АСУ. Поэтому психологически и ор ганизационно технологу такой режим работы неудобен. Появление ЭВМ серии СМ и персональных компьютеров су щественно приблизило ВЦ к технологам. Однако состояние отече ственной вычислительной техники, монополизм отраслей (мини стерств) привели к тому, что у нас выпускается очень большое количество наименований (типов) ЭВМ, программно практически несовместимых друг с другом. Одним из примеров выпуска такой техники является ЭВМ Искра 226. Другим примером пороков ве домственности является выпуск персональных компьютеров типа IBM РС несколькими министерствами. Эти компьютеры, имею щие один прототип, сделаны на разных конструктивах, с различ ными внешними устройствами и являются ярчайшим прим~ром бесхозяйственности. Несовместимость технических средств заставляет разработчи ков программного обеспечения многократно повторять свою рабо ту. Часто прекрасное математическое обеспечение, сделанное для ЭВМ одного типа, эксплуатируется узким кругом пользователей. Поэтому при разработке программного обеспечения одной из наи более актуальных проблем является проблема мобильности. Решая эту проблему, разработчики ИнтерСАП создали про граммное обеспечение, которое может работать на всех моделях отечественных ЭВМ - от серии СМ (модели СМ 1300 - СМ 1700) до персональных компьютеров типа ДВК-2М, ДВК-3, Электрониа ка-85,"ЕС 1840/41, Искра 1030, Нейрон, Правец-16, IВМ РС. Второй проблемой, которую решили разработчики ИнтерСАП, явJ1яе гся проблема эффективной работы инженера-технолога с ЭВМ в режиме диалога (интерактивный режим). ИнтерСАП по зволяет организовать: 1) JЩШJОГ при вводе и отJ1адке текста УП. позволяющий быстро ис11равить синтаксически<.' ошибки; 2) графичt'ский диалог путем изображении траектории дви же1шя инструме11та на экране дис11J1ея, позвоJ1яющий устранить геометрические ошибки, составляющие более 70 % всех ошибок. Двухуровневый диалог значитеJ1ь110 упрощает и ускоряет рабо ту технолоr·а. В основу разработки И11терСАП положен ряд принципов: 1) гибкость системы, обеспечиваюш.ая перестройку на новые 4
типы оборудования с ЧПУ и новые классы обрабатываемых де талей; 2) мобиJ1ьность и компактность программного обеспечения; использование различных мини- и персональных ЭВМ; 3) диалоговый режим проектирования УП; 4) этапность разработки - каждый этап разработки програм много обеспечения системы находит отражение в законченной вер сии, сохраняющей полную совместимость с м.1адшими версиями; 5) простота в освоении и эксплуатации. Реализация указанных принципов обеспечнла выспкую по сравнению с аналогичными системами эффективность ИнrерСАП на предприятиях приборостроительной и машиностроительной про мышленности. Цель данной книги - изложить для технологов, работающих с оборудованием с ЧПУ, основные методы и средства разработки УП. Авторы выражают благодарность коллективу кафедры -автома тизации проектирования энергетических и производственных ц1- стем Киевского политехнического института за помощь при напи сании книги. В создании книги принимали также участие инженеры: Л. М. Осадчук (примеры программ к гл. l), П. Н. Соловей (биб.,и отека макросов к гл. 2), М. Ф. КаД'\,iсов, С. М. Кудин (програм мное обеспечение пакета АЛЬФА-3D) и студенты КПИ П. Н. Бон дарь и А. А. Демьяненко (разработка постпроцессоров). Авторы многим обязаны специалистам промышленных пред приятий, активно использующим ИнтерСАП: В. Г. Пилипенко (ПО «Завод "Арсенал"»), А. Е. Народицкому (Опытный завод НПО «Молния»), А. Л. Зубко (завод КИНАП), В. И. Г лозману (0пытный завод НИИ «Квант»), М. В. Каштанову (ПО «Томак»), А. Э. Полонскому (КОЭЗГП), А. Д. Паламарчуку (завод «Эта лон»), В. В. Трещуну ( ПО «Веда») и др. Отзывы и пожелания просим направлять по адресу: 252601 Киев, 1, ул. Крещатик, 5. Издательство «Тэхника».
rnaвa 1 ИНТЕРдКТИВНдSI СИСТЕМА дВТОМдТИЗдЦИИ ПРОЕКТИРОВдНИSI УПРдВЯSIЮЩИХ ПРОfРдММ 1.1 . СТРУКТУРА ИНТЕРСАП Система ИнтерСАП является базовым компонентом програм много обеспечения автоматизированного рабочего места (АРМ) технолога машиностроительного производства. АРМ технолога автоматизирует наиболее трудоемкие процессы в работе техноло га: проектирование процесса обработки на станках с ЧПУ и фор мирование технологической документации; разработку управляю щих программ (УП). Для выполнения этих задач программное обеспечение АРМ содержиt следующие подсистемы (рис. l): l) монитор АРМ - организует взаимодействие технолога со всеми подсистемами АРМ. Кроме организации управления и вза имодействия всех подсистем обеспечивает возможность редакти рования любых текстовых файлов, режим пакетной обработки, архивизацию программ пользователя; 2) ИнтерСАП - обеспечивает разработку УП для обработки деталей всех типов на любом оборудовании с ЧПУ; 3) DePCI - технологический интерфейс типа CAD/CAM меж ду системами AutoCAD и ИнтерСАП, обеспечивающий разра ботку УП по конструкторской документации, сделанной при по мощи системы AutoCAD; 4) АЛЬФА-3D - обеспечивает разработку УП для обра ботки сложных поверхностей (например, штампов, пресс-форм). АЛЬФА-3D позволяет программировать обработку поверхно~- по оси стема гроqщчесtrого контроnя Технопоеическоя UOK!JMt:HmOЦIJЯ 5utfn11ome1ra постпроцес соро~ Рис. 1. Структура 11рограмм11оrо обес11ечr11ия АРМ 41 [У 6
тей, описанных различными способами: кинематическим, точеч ным (каркасным), аналитическим; 5) ДИПОЛЬ - автоматизация проектирования технологиче ской документации (маршрутной и операционной карты, ведо мостей оборудования, оснастки, материалов и пр.) в соответствии с гост 3.1118-82; 6) подсистема графического контроля - позволяет получить изображение файла CLDAТА, полученного ИнтерСАП или АЛЬФА-3D, на экране дисплея, принтере или графопостроителе. Подсистема осуществляет: прорисовку траектории движения ин струмента в проекциях на плоскости и в изометрической проекции; прорисовку чистового контура детали, полученного моделирова нием процесса обработки; получение изображения твердотель ной модели детали; 7) библиотека постпроцессоров - содержит более 50 типов постпроцессоров для всех видов отечественного и зарубежного оборудования с ЧПУ (см. приложение). При формировании биб лиотеки использовалась технология индивидуальной сборки пост процессора из готовых блоков. Система ИнтерСАП построена по принципу процессор - пост процессор. Это означает, что в ИнтерСАП имеется основной вы числительный блок ~ процессор, предназначенный для решения задач формирования траекторий движения инструментов, и биб лиотека согласующих программных блоков - постпроцессоров, преобразующих результат работы процессора в упр11вляющую программу (УП) в кодах универсального числового программного управления (УЧПУ) конкретного станка (рис. 2). Процессор построен по схеме интерпретатора, что поз~оляет организовать интерактивный режим от ладки УП. Это означает, что при обнаружении син таксической ошибки в стро ке процессор останавли вает обработку текста ~П. выдает на экран сообще ние об ошибке и дает воз можность технологу, ис- пользуя редактор строки, исправить ошибку. Если ошибка исправлена пра вильно, процессор продол жает просмотр текста УП на входном языке. Резуль татом работы процессора является промежуточный файл формата CLDAТА. Этот файл состоит из зап и- !/Л на нзы!(е ИнтерСАЛ Процессор C/.1JA7A 5иtfлиотека лостпроцессоро8 1/Л 6кoilax • lla стоно!( Реi/актор строки Система ,ра,рическоzо контроля Рис. 2. Структура системы ИнтерСАП 7
сей фиксированной длины, каждая из которых несет информацию, достаточную для формирования постпроцсссоро,1 кадра и.1и группы кадров УП. Од1-J11м из основных преимушеств реализации ИнтерСАП на ПЭВМ является возможность организации эффективного графи ческого контроля УП, обеспечивающего второй уровень интер активного режима отладки УП. В этом случае технолог по графи ческим изображениям траектории движения, контура детали, твер дотельной модели детали может судить о правильности сформи рованной УП. Ошибки, обнаруженные на этом уровне, исправля ются корректировкой УП на языке ИнтерСАП при помощи тексто вого редактора. Современные ПЭВМ типа IВМ РС/ХТ, АТ, снабженные жест ким диско\-1, позволяют эффективно использовать ИнтерСАП как автономно, так и в составе АРМ технолога. Благодаря опти мальной конструкции процессора ИнтерСАП может работать на отечественных ПЭВМ без жесткого диска (Искра 1030, Нейрон, ЕС 1840/41, а также ДВК-2М, ДВК-3). 1.2 . ВХОДНОR ЯЗЫК ИНТЕРСАП. ОСНОВНЫЕ ПОНЯТИЯ От проблемно ориентированных языков САП УП, применяе мых в промышленности на мини-ЭВМ, язык ИнтерСАП отли чается: универсальным макроаппаратом; средствами, реализующими программный интерфейс CAD / САМ; эффективными методами проектирования сложных траекторий; способами автоматизации операций, сопутствующих проекти рованию УП: расчет режимов резания, выбор инструмента и ос настки; эффективными средствами преобразования систем координат; эффективными средствами обработки геометрических масси вов большого объема; лаконичностью и наглядностью языка. Программа. Структура программы Программа на языке ИнтерСАП представляет собой последо ватеJ1ьность строк, в которых описан алгоритм обработки детали. Программа имеет следующую структуру: используемых для формирования Описательная Описание геометрических объектов, } траектории движения инструмента часть Технологические команды, команды-} r1еремеще11ия Ис1юлнитель11ая •1асть Коt1ец Текст про- граммы на языке Интер САП Описательная и исполнительные части выделены чисто услов но, так как описательные и исполнительные строки могут чередо- "
ваться в программе; важно только, чтобы описания предшество вали их использованию. Текст описания, команды или строки комментариев начинаются с любой позиции. Количество символов в одной строке не более 75. Метка начинается с символа «:» и записывается одна в строке. Имена в программе Для описания в программе переменных величин (геометриче ских объектов, меток, макросов, циклов) используются наборы символов, состоящие из букв и цифр и начинающиеся с буквы. Количество символов не более 6. Геометрический объект Имя точки начинается с буквы Т Имя прямой начинается с буквы L Имя окружности начинается с буквы К Имя кривой, заданной таблично, начинается с буквы С Имя списка начинается с буквы S Имя метки начинается с символа: Имя арифметической переменной начинается с любой буквы и не должно совпадать с именами rеометр~(ческих объектов и ключевыми словами станка языка Имя массива простых геометрических объектов (то чек, прямых, окружностей) начинается соответ ственно с букв Т, L, К Имя массива арифметических переменных начи наетсяслюбойбуквы(нонесТ,L,К,S,С) Имя подпрограммы определяется меткой Имя макроса начинается с символа > и заканчивается символом ; Имя цикла начинается со служебного слова CIKL Служебные слова языка ИнтерСАП Пример записи ТХ16 L17 КТ47 СР136 S1768 :CIKL Р176М Nl76R(N) >ТОР\; CIKL, DRILL F, S, ХМ, ХВ, УМ, УВ,. SP, SL, РО, PR, DT, DP, DZ, DS, NT, UG, КО, 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, ОТМЕТ, KOMEN, PAZGN, KONEC,ROBOT, RUKA, SPN, SPK, SPLAIN, KULAK 1.2.1 . Элементы языка ИнтерСАП Стуктура языка Для записи программы используют следующие символы: буквы русского или латинского алфавита, цифры О, 1, 2, 3, 4, 5, 6, 7, 8, 9; символы: « » - пробел; «,» - запятая; «.» - точка; «= » - равно; «+» - плюс; «-» - .., .. минус; «* » - звездочка; «/» - наклонная черта; « ; » - точка с запятой; « ( » - левая скобка; «)» - правая скобка; «:» - двоеточие; @ - коммерче ское И. 9
Структура описания простых геометрических объектов ( точка, ПрАмая, окружность) Имя простого геометриче ского объекта > имена ранее определенных простых геометрических объектов. !/ о Lf ~ /"-....и х Пр им ер. Имя точки > имя 1-й пря мой, имя 2-й прямой. В соответствии с рис. 3 ТЗ> Ll, L2. Здесь символ > имеет смысл «определяется». В описаниях могут применяться различ ные признаки для уточнения определения каждого геометрического объекта. Пара метры, назначающие линейные и rугловые размеры, задаются целыми и десятичными долями миллиметров и градусов. Рис. 3. Точка, опреде- Типы данных ляемая пересечением двух прямых (TЗ>Ll, В языке ИнтерСАП допусти.мы два типа L2 или T3>L2, LI) • данных: арифметические и геометрические. Арифметические данные могут быть либо константы, либо пе ремеJ:Jные. Точность вычисления арифметических переменных со ставляет 14-15 десятичных цифр (удвоенная точность). Имена арифметических переменных состоят из букв и цифр ( не более 6 и не должны начинаться с букв Т, L, К, S, М, С). Арифметические переменные могут быть элементами одномерного массива (переменная с одним индексом). Имя массива форми руется по тем же правилам, что и имя арифметической переменной. Геометрические данные. В языке применяется восемь типов геометрических объектов. Простые геометрические объекты: точ ка, прямая, окружность; сложны~ геометрические объекты: кри вая, заданная таблицей, список, массив элементарных геометри ческих объектов, макрос, цикл. Кривая, заданная таблицей,- это множество точек, которые проходит кривая, описываемая кубической сплайн-функцией. Список - это комбинация элементарнь,х геометрических объ ектов и списков, порядок расположения которых определяет. тра екторию движения инструмента. М :tссив простых геометрических объектов - это набор геомет риче(;ких объектов одного типа (массив точек, массив прямых, массив окружностей). Макрос - это сложный геометрический объект, который со держит описание траектории движения инструмента, чаще всего соответствующей технологическому переходу. Макрос может со держать любые .геометрические объекты и произвольный набор команд. Цикл - это сложный геометрический объект, чаще всего соот ветствующий технологическому переходу и хранящийся в памяти УЧПУ станка. 10
1.2 .2 . Простые геометрические объекты Траектория движения инструмента формируется из простых геометрических объектов: точка, прямая, окружность. Каждый объект на языке ИнтерСАП определяется именем. Имена точек, прямых, окружностей начинаются с буквы и могут содержать до 6 символов ( букв и цифр). Имена точек начинаются на букву Т, имена прямых - на букву L (линия), имена окружностей - на букву К (круг). Эти объекты могут быть описаны различными способами. В ИнтерСАП применяются 14 способов определения точек, 12 спос~ов определения прямых, 15 способов определения окружностей. Описание способа определения точки, прямой, окружности состоит из: I) описания способа; 2) структуры предложения на языке ИнтерСАП; 3) примера, содержащего конкретную геометри ческую интерпретацию способа и предложения на языке Интер САП. При определении точек, прямых, окружностей применяются следующие признаки: . признак координаты принимает значения ХМ (Х меньше), ХВ (Х больше), УМ (У меньше), УВ (У больше); признак положения принимает значения VNE (вне) и VNU (внутри); признак направления принимает значения РО (по часовой стрелке), PR (против часовой стрелки); признак стороr~ы принимает значения SL (слева), SP (справа); признак отношения принимает значения BOL (больше), MEN (меньше). , Пр им ер., 1. Описание способа: точка определяется пересе- чением двух прямых. - 2. Структура предложения на языке ИнтерСАП: имя точки > имя 1-й прямой, имя 2-й прямой. 3. Определение точки Т1 как пересечение прямых L 1 и L2 (см. рис. 'З). 1. Способы определения точек Точка, определяемая тремя (двумя) координатами Имя точки > координата х, координата у, координата z. Пр им ер. Tl > 12, 15, 6.3 или, если используем две координа- ты, Т2 > I7, 36.2. Точка, определяемая пересечением двух прямых Имя точки> имя 1-й прямой, имя 2-й прямой (см. рис. 3). Точка, определяемая пересечением прямой и окружности Имя точки > имя прямой, имя окружности, признак коорди наты. При пересечении прямой с окружностью образуются две точки, поэтому признак используется для уточнения координат опреде ляемой точки (рис. 4). 11
Точка, определяемая касанием прямой и окружности Имя точки> имя прямой, имя окружности (рис. 5). Точка, являющаяся центром заданной окружности Имя точки > имя окружности (рис. 6). !/ и !I !I 075 L,11 Т6 (:),, u TI/ К/ К2 о х Q х о ,t Рис. 4. Точка, опреде- Рис. 5. Точка, опреде- Рис. 6. Точка, являю- ляемая пересечением ляемая касанием пря- щаяся центром задан- прямой и окружности мой и окружности ной окружности (T5>L3, К\, ХВ; (T6>L4, К2) (Т7>К3) T4>L3, К\, ХМ) Точка, определяемая касанием двух окружностей Имя точки > имя 1-й окружности,· имя 2-й окружности (рис. 7). • Точка, определяемая пересечением двух окружностей Имя точки > имя 1-й окружности, имя 2-й окружности, при знак координаты (рис. 8). При пересечении двух окружностей образуются две точки, поэтому признак координаты используется для уточнения коор динат определяемой точки. Точка, определяемая пересечением окружности с прямой, про ходящей через центр окружности под углом к оси х Имя точки > имя окружности, признак, значение угла в гра дусах (рис. 9). Точка, симметричная относительно прямой !I cf) о х Рис. 7. Точка, опреде• ляемая касанием двух окружностей (Т8>К4, К5 или Т8>К5, К4) Q х Рис. 8. Точка, опреде• ляемая пересечением двух окружностей (ТIО>Кб, К7, УВ; Т9>К6, К7, УМ) 12 Q х Рис. 9. Точка, опреде• ляемая пересечением окружности с прямоJI, проходящей через центр окружности под угломкосих(TI1> КВ, ХМ, 30; Т12>К8, хв. 30)
Имя точки > имя точки, имя прямой (рис. 10). Точка, определяемая переносом точки в заданное положение Имя точки > имя точки, координатах, координата у (рис. 11). Точка, определяемая поворотом точки на заданный угол отно- сительно начала координат .Имя точки > имя точки, UG, значение угла в градусах (рис. 12). • у TII g !/ хL5 -TII/ ti ___1 rt6 1 Tli 1 Т/7 о х Рис. J0. Точка, симме тричная относительно прямой (Т14>Т13, L5) Q 30х Рис. 11. Точка, оп ределяемая перено сом ТОЧКИ ь задан ное положение (ТI 6>Т15, 30, 25) х Рис. 12. Точка, оп ределяемая поворо том точки на задан ный угол относи тельно начала коор динат (Т18>Т17, UG, 70) Точка, определяемая пересечением окружности, заданной точкой центра и радиусом, и прямой, проходящей через центр ок ружности под углом к оси х Имя точки > имя точки центра, радиус, признак координаты, значение угла в. градусах (рис. 13). Точка, определяемая заданной точкой Имя точки > имя точки. Пример. Т22 >Т47. Этот способ позволяет одной и той же точке на чертеже дать. различные имена. Точка, определяемая пересечением списка с прямой Имя точки > имя спи~ ска, имя прямой, номер точки. Номер точки пере сечения отсчитывается в направлении от начала списка к его концу (рис. 14). 2. Способ~ оnреде.11еиия прямых Прямая, проходящая через две заданные точки !/ о х Q Рис. 13. Точка, опреде ляемая пересечением окружности, заданной точкой центра и радиу сом, и прямой, прохо дящей через центр ок ружности под углом к осн х (Т20>Т19, 14, ХВ, 45; Т21>Т19, 14, хм, 45) 13 х Рис. 14. Точка, оп ределяемая пересе чением списка с прямой
Имя прямой> имя 1-й точки, имя 2-й точки (рис. 15). Прямая, проходящая через точку под углом к оси х Имя прямой > имя точки, значение угла в градусах (рис. 16). Прямая, параллельная прямой и проходящая на заданном от нее расстоянии Имя прямой > имя прямой, признак координаты, расстояние в миллиметрах (рис. 17). Прямая, перпендикулярная к прямой и_. проходящая через точку / Имя прямой > имя прямой, имя точки (рис. 18). Прямая, проходящая через центр окружности под углом к оси х Имя прямой > имя окружности, угол в градусах (рис. 19). Прямая, параллельная прямой и проходящая через заданную точку Имя прямой > PAR, имя прямой, имя точки (рис. 20). Прямая, касательная к окружности и проходящая через за данную точку Имя прямой > имя окружности, имя точки, признак стороны. Признак стороны указывает положение прямой относительно окружности, если наблюдатель находится в заданной точке и смот рит в центр окружности ( рис. 21). !/ IJ ll / ~Т2 х Рис. 15. Прямая, проходящая через две заданные точкн (Ll>ТI, Т2 или Ll>T2, Тt) о ~~~лl.fl Рнс. 18. Прямая, перпендикулярная х к прямой и 11рохо дящая через точку (L12>LI 1, Т4) •!/ о,.__ _____х_ Рнс. 16. Прямая, проходящая через точку под углом к осн х (L2>ТЗ, 30) ~о J<:_}ю о ){ Рис. 19. Прямая, про ходящая через центр окружности под углом к осн х (LIЗ>KI, 30) 14 о х Рис. 17. Прямая, па раллельнця прямой и проходящая на задан ном от нее расстоянии (L9>L3, УВ, 35; LIO> LЗ, УМ, 35) f Lf5 ~- о х Рис. 20. Прямая, параллельная пря мой н проходящая через заданную точ ку (Ll5>PAR, Ll4, Т5)
Прямая, касательна,1 к двум окружностям Имя прямой > имя 1-й окружности, признак стороны, имя 2-й окружно<:ти, признак стороны. Это определение приводит к четырем вариантам решения, 11оэтому признак стороны применяется дважды. Значение призна ка стороны определяется наблюдателем, который находится в центре 1-й окружности и смотрит в центр 2-й окружности (рис. 22). Прямая, проходящая через точку под углом к прямой Имя прямой > имя прямой, имя точки, значение угла в гра- дусах (рис. 23). Прямая, определяемая заданной прямой Имя прямой > имя прямой. Пример. Ll2 > L37. Прямая, касательная к началу кривой, заданной таблично Имя прямой > SPN, имя кривой (рис. 24). Прямая, касательная к концу кривой, заданной таблично Имя прямой > SPN, имя кривой (рис. 24). Здесь признак SPK указывает, что прямая L25 касательна к концу кривой. Схема программы, описывающая сопряжение окружности К1 и кривой С 1, приведена на рис. 25. Рис. 21. Прямая, каса тельная к окружности и проходящая через за данную точку (Llб> К2, Тб, SL; L17>K2, Тб, SP) Рис. 22. Прямая, каса тельная к двум окруж ностям (Ll8>K3, SL, К4, SP; Ll8>K4, SL, К3, SP) !/ r2J L22 7 о х Рис. 23. Прямая, про кадящая через точку rюд углом к прямой (L23>L22, Т7, 35) !/ l/6 ~К2 т. _. f:.!7 Q / ]( !J }( Рис. 24. Прямая, каса тельная к началу (или концу) кривоА, задан ноА табличио (L24> SPN, С 1; L25>SPK, CI) 15 !/ ~ 12/ /,19/,20 / 18 о х !J х Рис. 25. Сопр_яжение окружности К1 и кри вой CI (L3>SPN, CI; L4>L3, ХВ, R; L5>L3, TA(I); Тl>LS, L4; Кl>ТI, R)
3. Способы опреАеления окружностей Окружность, определяемая радиусом и коордиматами центра Имя окружности > координата х, координата у, радиус (рис. 26). Окружность, определяемая рад_иусом с центром в заданной точке Имя окружности > имя точки, радиус (рис. 27). Окружность, определяемая радиусом и касающаяся двух пере секающихся прямых Имя окружности > имя 1-й прямой, признак координаты, имя 2-й прямой, признак координаты, радиус. Поскольку двух пересекающихся прямых могут касаться четы ре окружности одного радиуса (рис. 28), в описании используются два признака координаты, учитывающие положение центра опи сываемой окружности относительно прямых. Окружность, определяемая радиусом и касающаяся прямой и - окружности Имя окружности > имя прямой, признак координаты, признак положения, имя окружности, признак координаты, радиус. В этой ситуации возможны 8 вариантов решения. Поэтому для описания конкретной окружности применяются признаки коорди наты и положения (рис. 29). Окружность, определяемая радиусом и касающаяся двух ок ружностей Имя окружности > имя 1-й окружности, признак положения, имя 2-й окружности, признак положения, признак координаты, радиус (рис. 30). Окружность, определяемая -переносом заданной окружности по координатам х и у Имя окружности > имя окружности, координата (рис. 31). Окружность, расположенная симметрично заданной окруж ности относительно· прямой __ Имя окружности > имя окружности, имя прямой (рис. 32). g о IU х Рис. 26. Окружность, определяем11я раАиу сом и координатами центра (К1>15.2, 12.7 , 30) V Q riA Vнz х Рис. 27. Окружность, опреАеляемая радиу сом с центром в задан ноА точке (K2>TI, 25) 16 / !/ ~ ' KI L2 '6 IJ х Рис. 28. Окружность, определяемая ради усом и касающаяся двух пересекающихся прямых (KЗ>LI, УМ 1.2 , УВ, 20)
" ~" ~~ х Рис. 29. Окружность, определяемая ради усом и касающаяся 11р_ямой н окружности (K8>L3, УМ, VNU, К7, хв, 20) V (J х Рис. 32. Окружность, расположенная сим метрично заданной ок ружности относитель но прямой (К27>К26, L4) х Рис. 30. Окружность, определяемая радиу сом и касающат;я двух окружностей (К17>К15, VNU, Кlб, VNU, УВ, 25) Q х Рис. 33. Окружность, определяемая сжатием (расширением) окруж ности на величину при ращения радиуса (К30>К29, 3; К28> К29, -4) !/ 27.1 Х Рис. 31. Окружность, определяемая перено сом заданной окруж ности по координатам х и у (К25>К24, 27.3, 13.6) !/ х Рис. 34. Окружность, определяемая поворо том окружности на угол относительно оси х (К32>К31, UG, 60) Окружность, определяемая сжатием (расширением) окруж ности на величину приращения радиуса Имя окружности > имя окружности, приращение радиуса (рис. 33). Окружность, определяемая поворотом окружности на угол относительно оси х Имя окружности > имя окружности, UG, угол поворота (рис. 34). Окружность, определяемая радиусом и проходящая через две -точки Имя окружности > имя 1-й точки, имя 2-й точки, признак ко ординаты, радиус. Признак координаты (ХВ, ХМ, УВ, УМ) уточняет положение центра определяемой окружности относительно прямой, прохо дящей через точки (рис. 35). Окружность, проходящая через три точки Имя окружности > имя точки, имя точки, имя точки (рис. 36). Окружность, определяемая ради.исои коса.юшши:JLалямпй ц. проходящая через точку 17
!/ IJ км TJ х Рис. 35. Окружность, оnреде.1яемая ради усом и проходящая че рез две rочкн г Рис. 38. Окружность с центром в заданной точке, касающаяся другой окружности (К39>Т9, К38, MEN; К40>Т9; К38, BOL) Рис. 39. Окружность с центром в заданной точке и проходящая че рез точку (K41>TI0, Т11) !/ 76 077 "5 KJ5 IJ х Рис. 36. Окружность, проходящая через три точки (К35>Т6, Т7, Т5) •!/ х !/ о. х Рис. 37. Окружность, определяемая радиу сом, касающаяся пря мой и проходящая че рез точку (K36>L5, Т8, ХВ, 35; K37>L5, Т8, ХМ, 35) !I о х Имя Qкружности > имя прямой, имя точки, признак коорди наты, радиус (рис. 37). Окружность с центром в заданной точке, касающаяся другой окружности Имя окружности > имя точки, имя окружности, признак отношения. Признак отношения определяет одну из двух возможных ок ружностей: меньшую MEN или большую BOL (рис. 38). Окружность с центром в заданной точке и проходящая через точку и~1я окружнори > имя точки центра, имя. точки (рис. 39). Окружность, определяемая заданной окружностью Имя окружности > имя окружности. Пример. К12>К137. 1.2 .3 . Сложные rеометрические объекты К сложным геометрическим объектам языка ИнтерСАП отно сятся: массив 11ростых геометрических объектов; кривая, задан ная таблично; список; кривая типа «спираль Архимеда». Детальное описание принципов формирования и применения макросов·и циклов приведено в гл. 2. 18
Массив простых геометрических элементов В языке ИнтерСАП можно описать массив точек, прямых и окружностей следующим образом: GMAS, имя массива простых геометрических элементов, количество элементов в массиве. Пример. GMAS, ТА, 5. Здесь GMAS - служебное слово; ТА - имя массива точек; 5 - ,количество точек в массиве ТА. Имена массивов простых геометри·-1еских элементов задаются так же, как и имена простых элементов: на букву Т - массивы точек; на букву L - массивы прямых; на букву К - массивы ок ружностей. В связи с ограниченными ресурсами памяти ЭВМ в одной программе можно использовать не более 1О массивов геометри ческих элементов с общим количеством не более 1000 элементов. Если возникает необходимость использовать более I О гео- метрических массивов, то следует выполнить следующее: 1) описать допустимое число массивов с допустимым объектом; 2) использовать эти массивы в программе; 3) при помощи оператора OTMEN отменить описанные ранее массивы; 4) описать массивы, которые не вошли в первое описание, однако будут использоваться в программе; 5) ИСJIОЛьзовать эти массивы в следующt::й части программы; 6) если необходимы еще массивы, перейти в пункт 3 и продол жить действия в соответствИJ:.t_ с пунктами 4, 5, 6. Таким образом возможно использование в программе геоме трических массивов бесконечной размерности. Кривая, з~анная таблично Для математиче~кого описания кривой, проходящей через множество точек, координаты которых заданы в табл. 1, исполь зуется кубическая сплайн-функция. Общий вид описания кривой: SPLAIN, имя кривой, имя масси ва точек, шаг интерполяции по координате х. Сплайн-функция работает с допустимо малой погрешностью, если описывается плавная кривая и правильно подобран шаг интерполяции. Движение по кривой, заданной в табл. 1, реализо вано в программе 1. Для задания движения инструмента по кривой она, как и про стые геометрические объекты, должна быть включена в список или стать единственным элементом списка. Это позволит выпол- Таблица / Номер точки 1 2 3 4 5 Координата х 20 21 24 29 36 Координата у -20 -19 -18 -17 -16 19
1. Программа зцаиия сплайна D:ВТ.РRIНВR GНAS,TA,5 ТА(1)>20,-20 ТА(2)>21,-19 ТА(3)>24,-18 ТА(4)>29,-17 ТА(5)>З8,-16 $$ Оnис;ание Cl при nоноwи табnицы точе1< ТА SPLINE,Cl,TA.0 .2 $$ З;ад;ание радиуо;а Оl<РУ•нооти Kl R=2 $$ Прян;ая , 1<;асатеnьная 1< начаnу 1<РИВО~ L2>SPN,Cl $$ Перnенде1<уnяр 1< L2 • точ1<е ТА(\) LЭ>L2,TA(l) $$ Прян;ая , n;apan,,..no.нaя L2 н;а р;аостоннии R L4>L2,YВ,R $$ Оnредеnение центра Оl<РУ*НООТИ Kl Tl>LЭ,L4 $$ Оt<РУ•ность ,1<аоатеnьн;аR Cl • точ1<е ТА( 1) ll>Tl,R $$ Оnис;ание д•и•енин Иfil ТОЧl<И 6 • ТОЧКУ 5 SPIS,S1,L4,YН,Kl,PR,TA(l),Cl INVКR,S2,S1 $$ Л.и•ение иа точки 5 в точку 6 DS,S2 10 нить над кривой все операции, которые разрешено выполнять над списками. При задании массива точек, по которым будет определяться сплайн, следует координату х задавать с положительным шагом. Если нужно задать движени~ по кривой с отрицательным 3nагом по координате х, то это можно сделать, используя операцию ин вертирования списка. Пр им ер. Опишем траекторию движения инструмента от точ ки 6 по прямой L 1 до пересечения с кривой С 1 в точке 1, затем • по кривой Cl до пересечения с прямой L2 (рис. 40): SPIS, S2, LY, Ll, Cl, L2. Далее опишем траекторию движения инструмента в обратном порядке ( от точки 5 к точке 6). Для этого инвертируем список S2. lу lX с::, (f l1 .... 1 .. 6 llI 10 ] 11 Рис. 40. Контур, образованный кривой и прямой 20 lY Рис. 41. Контур, образованный кри вой и окружностью
Заход на кривую С l должен быть выполнен по дуге радиуса R предварительно определенной окружности Kl. Окружность Kl должна касаться кривой С l в точке 1 (рис. 41). Определим эту окружность следующим образом. Сначала оп ределим прямую, касательную к началу сплайна: L2 > SPN, CI. Строим перпендикуляр к этой прямой в точке 1: LЗ > L2, TKI. Центр окружности TKI лежит на пересечении прямых LЗ и L4, где L4 параллельна L2. Тогда L4 > L2, УВ и ТКI > L4, LЗ. Определим окружность Кl > ТКI, R. Сначала опишем движение из точки 6 в точку 5: SPIS, Sl, L4, УМ, Kl, PR, TA(l), CI, L5, а затем используем операцию ин вертирования: INVER, S2, S l; DS, S2 - движение из точки 5 в точку 6. Список Список - это аналог геометрического контура (траектории или фрагмента траектории движения ИН{:трумента), состоящий из различных геометрических объектов. Элементом списка может быть: имя простого геометрического объекта (точки, прямой, окруж ности); имя сложного геометрического объекта ( список, кривая, за данная таблицей); признак координаты (ХВ, ХМ, УВ, УМ), который уточняет выбор одной из двух возможных точек пересечения простых гео метрических объектов: окружность - прямая, окружность - ок ружность; указатель направления (РО - по часовой стрелке, PR - против часовой стрелки), причем каждый последующий указа тель направления отменяет предыдущий. При использовании ука зателей направления можно применять принцип «умолчания», не записывая указатель РО, однако для отмены указателя PR не обходимо обязательно записывать указатель РО; значение подачи в виде константы, переменной, арифметиче- ского выражения. • Список описывается _следующим предположением: SPIS, имя списка, список элементов. Имя списка начинается на букву S. Все элементы списка долж ны быть определены и отделяются друг от друга запятой. Если все признаки, применяемые в списке, ХМ, а указатели направления РО, то их можно не указывать (правило «умолчания»). Список может состоять из последовательности любых геометрических объектов. Начинаться и заканчиваться список может любым объ ектом - не обязательно точкой. Список содержит неявное описание точек пересечения (каса ния) прямых и окружностей. Списку, соответствующему траектории на рис. 42, дадим имя SI: SPIS, Sl, TN, 5000, LI0, L4, LY, L5, LI0, LЗ и т. д. Здесь точка / задана пересечением прямых L 10 и L4; точка 2 - 21
пересечением прямых L4 и L У; точка 3 - пересечением прямых LУиL5ит.д. Список Sl можно интерпретировать следующим образом: ин струмент на холостом ходу (5000 мм/мин) начинает перемещаться от точки TN (точка смены инструмента) к точке 1, образованной пересечением прямых Ll0 и L4, а затем по прямой L4 до пересе чения с прямой L У (точка 2), по прямой L У до пересечения с пря мой L5 ( точка _3), по прямой L5 до пересечения с прямой L 1О (точка 4) и т. д. Операции над списками Движение по списку может записываться двумя способами: 1) DS, имя списка, явно заданного описанием. Пр и мер. DS, S1. 2) DS, список геометрических элементов. Пример.DS,TN,5000,Ll0,L4,LY,L5,LlO,LЗит.д. Изменение направления движения по списку Описание траектории списком предполагает направление дви жения от первого элемента списка к последнему. Если необходимо двигаться в обратном направлении ( от последнего к первому), применяется операция I NVER. Операция INVER записывается следующим способом: INVER, имя списка с обратным направлением движения, имя исходного списка. Пример. 1NVER,S2, S1. Здесь S 1 - исходный список, описанный предложением SPIS; S2 - список, задающий направление движения, обратное S 1. П р и мер. Запрограммируем движение инструмента по конту ру (рис. 43). Для этого необходимо выполнить сначала встречное фрезерование, а затем - попутное. Контур состоит из прямых L 1, L2, LЗ, L4 и окружности К 1. - Траекторию попутного фрезерования запишем в виде списка S13: SPIS, S13, L4, Ll, L2, УВ, Кl, УМ, L2, LЗ, L4, Ll. Траекторию встречного фрезерования опишем списком, при меняя команду INVER: INVER, S7, S13. Движение по траекториям встречного и попутного фрезерова ния запрограммируем командой DS: DS, S13,. S7. Фрагмент программы для рассмо1"ре~ного примера имеет вид LY l,X 1.10 IOt------r.r - - "' ig 8 7 TN Рис. 42. Траектория черновоА обра ботки 22 !I и KI /.11 /,1 о х Рис. 43. Контур фреэеро- вания
SPIS, SlЗ INVER, S7, S 13 DS, S13, S7 Получение зеркального списка Зеркальным называется список, являющийся зеркальной копи ей исходного списка относительно некоторой прямой. Структура описания: ZER, имя зеркального .списка, имя исход ного списка, имя прямой. П р им ер. Необходимо получить траекторию движения инстру мента, зеркальную относительно прямой L 12 траектории, описан ной списком S 1 ( рис. 44): SPIS, Sl, ТО, 50, L2, LЗ, Kl, Ll, L2, LЗ, ТО ZER, S2, S 1, Ll2 Преобразование списка Под преобразованием списка будем понимать: а) поворот списка на заданный угол и сдвиг на заданные вели чины перемещений по координатам х и у; б) полrчение зеркальной копии списка относительно заданной прямой. Для получения этих операций преобразования применяется до полнительный сложный геометрический объект - матрица преоб разования. Поэтому описание операции преобразования состоит из двух строк: 1-я - описание матрицы преобразования; 2-я описание команды преобразования. Матрицы преобразования имеют вид: MATR, имя матрицы, имя прямой - для зеркального копиро вания; MATR, имя матрицы, величина сдвига по координате х, вели чина сдвига по координате у, величина угла поворота - для переноса и поворота; MATR, имя.матрицы, величина угла поворота - для поворота. Команда преобразования имеет вид: TRN, имя матрицы преобразования - для получения зеркаль ной конин; TRN, имя матрицы ПР.еобразования, имя точки отсчета пере мещения - при переносе списка. Пр им ер. Составим фрагмент программы д_ля движения по контуру S 1 и его копии, смещенной по координате х на 40 мм, ко ординате у на 10 мм и повернутой на 45° (рис. 45): МАTR, М2, 45, 40, 1О TRN, М2, Т1 DS, Sl NETRN Получение эквидистантной траектории Для описания траектории, эквидистантной траектории, опи- санной в списке, применяется команда: EKVD - признак смещения, расстояние смещения - включе ние 11роцедуры формирования, эквидистант1юА траектории; EKVD, VlK .., _ выключение r~роцедуры. 23
/.12 _() /.1 Sf г----, 1 \ ---- Kf Sf lt t •St )~ ,/ - _____,.,,,, 1.1 ro о 'ltl х Рис. 44. Зеркальное отображение контура Рис. 45. Контур, полученный сдвигом и_повора~:ом В этой команде признак смещения определяет расположение эквидистанты относительно описанной (списком) траектории с учетом направления движения и обозначается: SL - слева, SP - справа. Расстояние между эквидистантой и описанной траекторией задается в миллиметрах. Команда формирования эквидистанты (рис. 46) записывается следующими предложениями: EKVD, SL, 20 DS, SI EKVD, VIK Эквидистанта изображена штриховой линией. Команда включения автоматического расчета эквидистанты действует на все команды движения вплоть до команды EKVD, VIK. Поэтому следует выделить прямолинейные участки подхода, чтобы не формировать эквидистанты этих участков. В этом случае команда автоматического расчета эквидистанты должна стоять перед участком подхода, а команда включения - перед участком отхода. А!3томатическое сглаживание траектории При программировании траектории движения инструмента (особенно при фрезерной обработке) необходимо сглаживать про ектируемый контур дугами заданного раднуса. Для этого можно использовать команды автоматического сглаживания: GLAD, RI, R2, FI - включение автосглаживания; GLAD, VIK - выключение автосглаживания Здесь R 1 - радиус первого вида скругления; R2 - радиус второ го вида скруrJiения; FI - величина подачи на округляJОщих участ ках. В команде GLAD первой записывается величина радиуса скругления внутренних углов, встречающихся в списке, второй - величина радиуса скругления внешних углов. Если внутренний (или внешний) угол скруглять не нужно, то R I или R2 записы ваются равными нулю. Если подачу на сглаживающих дугах ме нять не нужно, то аргумент FI в 1<оманде можно опустить. Произвольный контур не всегда можно сгладить дугой про извольного радиуса. В этом случае транслятор системы выдает сообщение об ошибке. 24
{/ г1п:-{3, 1 \ -1 ) 1 // L_____,,,,, о х Q Т/2 1,/ J( Рис. 46. Эквидистанта Рис. 47. Применение процеду ры сглаживания П р им ер. Фрагмент программы с применением автосглажи- вания (рис. 47): GLAO, 0.6, О, 100 1/,/1, участок подхода ОТ, Т22 OS, 200, Ll, УВ, Kl, УВ, L2, L3, L4, LI, Т22 GLAO, VIK /!/,/!/, участок отхода ОТ, Тl2 . Если по ходу обработки необходимо изменить радиус сглажи вания, достаточно записать GLAO, R3 с новым радиусом сглажи вания. Возможно со~местное применение команд автосглажива ния и автоматического расчета эквидистанты: EKVO, SL, 5 GLAO, 0.6, О, 100 ОТ, Т22 OS, 200, Ll, УВ, Kl, GLAO, VIK EKVO, VIK ОТ, Тl2 П р и мер. Опишем траекторию чистовой обработки окна, об разованного сложным контуром (рис. 48): l) обозначим все простые геометрические объекты. В данном слу чае это фрагмент окружностей Кl, К2, КЗ, ... , KIO; 2) опишем простые геометрические объекты: ТО > О, О - начало системы координат; LX>ТО,О- осьх; LУ>ТО,90- осьу; К 1 > ТО, 75/2 - определяемая радиусом и центром К2 > 100/2, -35/2, 10/21 К4 > -100/2, 35/2, 10/2 -- определяемые координатами К7 > 100/2, -35/2, 10/2 центра и радиусом; К9 > 100/2, -35/2. 10/2 25
g 79 Kf KI то .,, 1011 Рис. 48. Сложный контур Рис. 49. Фраrмеит сложно го контура К5 > К4, VNE, Kl, VNE, УВ, 15 ,_ определяемые радиу- . Кб> Kl, VNE, К7, VNE, УВ, 15 сом и касающейся двух КlО > К9, VNE, Kl, VNE, УМ, 15 окружностей· Kll > Кl, VNE, К2, VNE, УМ, 15 ' КЗ, КЗО, 5} - концентрические окружности. КВ К20, 5 Для определения окружностей КЗ и КВ необходимо ввести до полнительные геометрические объекты: точки ТЗ, 14, 15, Тб - центры окружностей К2, К4, К7, К9; окружности КЗО и К20. ТЗ> К21 ii; i~ - точка как центр окружности; Тб>К9 КЗО > ТЗ, 14, ХВ, 40-5} - определяемаярадиусомипрохо- К20 > Т5, 16, ХМ, 40-5 дящая через две точки. Радиус окружности КЗО равен радиусу окружности КЗ минус радиус К2 или К4 и равен 35 мм (рис. 49). В качест~е начальной и конечной точки контура возьмем точ- ку Тl: - - Т1 > LY, Kl, УМ- пересечение прямой LY и окруж~ости Ю. Движение по контуру можно записать следующим образом: от точки Т1 по окружности Kl (по·часовой стрелке) до точки каса ния с К11; по Kl 1 (против часовой стрелки) до точки касания с К2; по· К2 (по часовой стрелке) до касания с КЗ; по КЗ (по часовой стре.rке) до касания с К4; по К4 (по часовой стрелке) до касания с К5; по К5 (против часовой стрелки) до касания с К1; по Kl (по часовой стрелке) до касания с Кб; по Кб (против часовой стрелки) до касания с К7; по К7 (по часовой стрелке) до касания с К8; по КВ (по часовой стрелке) до касания с К9; по К9 (по часовой стрелк~) до касания с KlO; по КlО (против часовой стрелки) до касания с К1; по К1 ( по часовой стрелке) до точки Т1. В соответствии с правилом записи список состоит из следую щих простых геометрических объектов: Т 1, РО, К 1, РК, К 11, РО, К2, КЗ, К4, РК, К5, РО, К1, РК, Кб, РО, К7, КВ, К9, РК, КlО, РО, Кl, ТI.
Поскольку в языке ИнтерСАП на длину списка накладывается ограничение (не более 75 символов), записанный выше набор нростых геометрических элементов разделим на две группы: l) SPIS, Sl, Тl, РО, Кl, РО, Kll, РО, К2, КЗ, К4, РО, К5, РО, Кl, PR, Кб. В списке Sl касание Кl и Кб образует точку Т8 (см. рис. 48), на которой заканчивается список Sl; 2) SPIS, S2, Кl, РО, Кб, РО, К7, К8, К9, PR, КlО, РО, Кl, Тl. Список S2 начинается с точки Т8, образованной касанием Kl и Кб. Весь контур опише!)t списком S3, состоящим из S2 и S 1: SPIS, S3, S l, S2- • DS, S3 - движение по контуру от Тl ;цо Тl. Данный контур можно описать более рациональным способом. Поскольку контур имеет две оси симметрии, достаточно описать четверть контура. Используя матрицы зеркального копирования и поворота, можно определить остальные три четверти контура. По описанной нижней левой четверти детали устанавливаем дви жение по левой верхней четверти. Но если мы опишем движение симметрично оси LX, направление изменится, т. е. обход контура в левой верхней четверти будет выполняться против часовой стрелки. Чтобы этого не произошло, введем инвертированный спи оок: 1NVER, S2, S 1. Объявим матрицу зеркального копирования. Прежде чем ис пользовать имя матрицы, надо произвести с этим именем какое либо вычисление, например: Ml =0 MATR, Ml, LX - матрица зеркального копирования относи тельно оси LX. Движение по первой верхней четверти детали можно описать при помощи матрицы поворота: М2=0 МАTR, М2, 180 Движение по нижней правой четверти детали можно описать при помощи М'1Трицы зеркального копирования относительно оси: ,МЗ= О MATR, МЗ, LY Опишем движение п9 контуру: DS, S\ TRN,MI DS, S2 NETRN TRN,MЗ DS, S2 NETRN ко 1.2.4. Команды управлен~я станком и инструментом Эти команды делятся на две группы: 1) команды управления станком; 2) команды уiiравления инструментом. 27
Все команды управления станком и инструментом интерпре тируются постпроцессором, т. е. одна и та же команда может фор мировать в управляющей программе совершенно разные функции в зависимости от того, что предусмотрел программист-разработчик конкретного постпроцессора. Функция транслятора системы сво дится к проверке правильности написания команд управления и записи этих команд в промежуточный формат. 1. КоманАЫ управления станком Команды управления шпинделем Включить вращение шпинделя: S, VKL. Выключить вращение шпинделя: S, VIK. Включить вращение шпинделя с заданием оборотов, номера ступени и направления вращения: 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, код конкретной вспомогательной функ- ции. • Команда типа «подготовительная функция станка» Виды КО!\jанды: PODG, код конкретной подготовительной функции. Команда задания параметров разгона-торможения Вид команды: RAZGN, 1-й, 2-й, 3-й, 4-й параметры. Количество указываемых параметров может быть от одного до четырех. Признаки разгона и торможения по трем координатам формируются при разработке постпроцессора. /(оманда останова станка Вид команды: STOP. Команда условного останова Вид команды: USTOP. Эта инструкция, как правило, инт~рпретируется. кодом MOl в кадрах управляющей программы. Команда, задающая величину паузы в процессе обработки Вид команды: PAUZA, значение паузы в единицах времени (с, мин). 28
Команда конца группы кадров Вид команды: KONEC. 2. Команды управления инструментом Команда определения инструмента Вид команды: INST, номер 1-ro инструмента, номер 2-ro ин струмента, номер 3-ro инструмента. Эта команда может осуществлять поиск от одного до трех ин струментов. Пр им ер. INST, 2 - поиск инструмента, находящегося во 2-м гнезде магазина; INST, 5, 3 - поиск инструментов в 5-м и 3-м гнезде магазина. Команда загрузки инструмента Вид команды: ZAGR, номер инструмента (гнезда магазина). Эта команда включает механизм загрузки (установки) инстру- мента в патрон (шпиндель) из указанного гнезда магазина. Пр им ер. ZAGR, 3 - загрузка в патрон (шпиндель) инстру- мента из 3-ro гнезда магазина. Команда задания скорости подачи Вид команды: F, значение подачи, S. Пр им ер. F, 90 - задана подача 90 мм/мин; F, 50, S - за- дана подача 50 мм/об. Признак S указывает, что подача задается в мм на оборот. Команда задания ускоренной подачи Вид команды: USK. Конкретное значение ускоренной подачи определяется характе ристиками станка и устанавливается постпроцессором. При рабо те rрафическоrо постпроцессора команда USK эквивалентна ко манде F, 5000 ,и при прорисовке ~раектории движения инстру мента управляет изменением цвета. Команды управления движения инструмента Команда движения в точку: ОТ, имя точки или ОТ, коорди ната х, координата у, координата z. Пр им ер. ОТ, Т17 - движение в точку Т17; ОТ, 170, 50 - движение в точку с координатами х= 170 мм, у= 50 мм. Команда движения по приращению: ОР, приращение по ко ординате х, приращение· по координате у, приращение по коор динате z. Пр им ер. ОР, 6, 5 - команда по перемещению инструмента на 6 мм по координате х и на 5 мм по координате у. Команда движения по координате z: OZ, значение перемеще ния по координате z. Пр им ер. OZ, 20 - 'команда на перемещение инструмента по оси z до значения координаты, равного 20 мм. Команда движения в точку с заданной координатой: ОТ, имя точки, значение координаты z. Смысл задания значения координаты z в команде состоит в изменении значения координаты z точки, имя которой указано в команде. 29
Пр им ер. DT, Т2, 10 - команда на перемещение в точку Т2, новое значение координаты z которой равно 10 мм. Команда движения по списку: DS, имя списка DS или список геометрических объектов. Команда движения по фаске: FAS, признак (SL, SP), размер фаски по координате х, угол наклона фаски к оси х. Эта команда формирует траекторию движения инструмента при обработке конструктивного элемента типа «фаска». Признаки SL, SP указывают направление движения инстру мента: SL - влево от точки начала обработки, SP - вправо от точки начала обработки. Перед применением команды F AS ин струмент должен находиться в точке, с которой начинается обра ботка фаски. Команда задания коррекции: KOR, признак (SL, SP), номер корректора, признак увеличения (уменьшения) участка подхода. Признаки SL, SP указывают направление отсчета корректи рующего перемещения инструмента по отношению к описанной траектории движения: SL, SP - перемещение инструмента со ответственно влево и вправо. Команда выключения коррекции: KOR, VIK. Команда задания начальной точки: NT, координата х, координата у, координата z; NT, координата х, координата у; NT, имя точки; NT, имя точки, координата z. Под начальной точкой понимается точка, откуда инструмент начинает подход к детали. Чаще всего под начальной точкой по нимается точка смены инструмента. Пр им ер. NT, 100, 150, 200 - в качестве начальной точки взята точка с координатами 100 мм (по х), 150 мм (по у), 200 мм (по z). NT, Tl - в качестве начальной точки взята точка Tl . NT, Т2, 10 - в качестве начальной точки взята точка, нахо дящаяся над точкой Т2 на 10 мм. Команда возврата_ в начальную точку: DOMOJ. - Команда выхода инструмента в плоскость безопасности: PBEZ. 1.2 .5 . Операторы языка ИнтерСАП Операторы начала и конца программы Оператор начала программы: DET, любой текст без пробелов. Этот оператор должен быть первой строкой программы. Реко- мендуется в правой части этого оператора кроме комментария к программе указывать имя файла, содержащего данную про грамму. Пр им ер. DET, ИВАНОВ - КОРПУС В25 - КВ25.2. Здесь КВ25.2 - имя файла, в кртором хранится исходный текст этой программы. Оператор конца программы: КО. 30
, Оператор комментария: KOMEN, любой текст без пробелов. Оператор безусловного перехода Общий вид: NA, имя метки. Пр им ер. NA, :MI - переход на фрагмент программы, в на чале которого стоит метка MI. :MI DT, Т5 - фрагмент программы, отмеченный меткой :М 1. Оператор условного перехода Общий вид: ES, имя или значение, знак отношения, имя или значение, метка. Этим оператором сравниваются значения первого и второго параметров при помощи операций отношения: BOL - больше; RAV - равно; MEN - меньше. Если условие выполняется, то осуществляется переход на метку, указанную в записи оператора ES, в противном случае - переход на оператор, следующий за оператором ES. Оператор управления счетчиком строк Общий вид: STR, приращение номера. Этот оператор осуществляет безусловный переход на строку программы, номер которой вычисляется по следующему правилу: номер строки, на которую будет выполнен переход, равен номеру строки, где записан оператор STR, плюс приращение номера, ука_занное в операторе STR. Пример. STR, IO. Если оператор STR был записан в строке номер 15, то при выполнении оператор STR обеспечит перехо,о на строку с ном~ ром 15+10=Щ). Пр им ер ьt правильно записанных операторов: STR, 18; STR, -2, STR, Х+4; STR, XNOV. Оператор вызова подпрограммы Общий вид: CAL, имя метки. Оператор вызова предполагает следующую структуру подпро- граммы: : имя метки текст подпрограммы, -которыА может содержать произвольное количество геометрических объектов, операторов и команд; RET - последняя команда подпрограммы. При мер. : PPI DS, LI, К2, КЗ, К4, ХВ, LЗ, L4 CAL, :PPI Оператор-вывода на терминал (печать) Общий вид: VIVOD, имя. переменной или выражение. Вывод осуществляется в фиксированном формате Fl4.4 . Пр им ер. VIVOD, X+RIЗ. На терминале будет выдано сообщение: выводимое значе ние= 5.0000 . Если, например, Х=2 и Rl3=3. Операцию вывода можно использовать: для вывода результа тов инженерных расчетов; при отладке программы.
Арифметический оператор Общий вид: имя переменной= выражение. Пример. Х=А+В. Элементами выражения могут быть следующие функции: Тип функции Синус Косинус Тангенс Квадратный корень Арктангенс Канонические функции Обозначение FS(X) FC(X) FT(X) FK(X) FA(X) FX, FY, FZ (координаты х, у, z ТОЧJtИ) Интерфейс CAD /САМ Под интерфейсом CAD/САМ понимают такие средства языка ИнтерСАП, которые позволяют связать программу на языке ИнтерСАП с различными программными и информационными ком понентами САПР конструкторской и технологической подготовки производства. Различаются две формы интерфейса: пассивный, когда из памяти ЭВМ в управляющую программу вызывается массив данных (например, массив координат точек); активный, когда из управляющей пр.9граммы на языке Интер САП вызывается любая программа (например, программа расчета режимов обработки). Пассивный интерфейс реализуется· оператором: VVODT, имя файла, имя массива точек, количество вводимых элементов массива. Здесь имя файла описывается в соответс:гвии с требованиями операционной системы; имя массива точек - это имя массива про стых геометрических объектов. Пр и мер. Введем в массив точек с именем ТА, состоящий из 70 элементов (tочек), значения координат х, у, z этих точек, кото рые хранятся в файле FT: GMAS, ТА, 70 - описание массива точек ТА; VVODT, RКI: FT, ТА, 70 - ввод ЗХ 70= 210 значений коор динат 70 точек. Применение этого оператора ввода позволяет автоматически ввести в программу на языке ИнтерСАП большое количество ин формации. Операция ввода соответствует форматному вводу на ФОРТРАНе по формату FORMAT (ЗF\4.4) для файлов последо вательного доступа. Координаты точек считываются из файла по записям. Одна за пись содержит три координаты х, у, z для каждого элемента мас сива точек. Предполагается, что файл, содержащий необходимую инфор мацию, ранее подготовлс11 любой другой программой. Это может выполнить также одна из подсистем САПР (например, САПР конструктора), что позволяет при помощи оператора VVODT осу- 32
ществить связь между системой ИнтерСАП и другими подсисте мами интегрированной САПР типа CAD/САМ. В качестве примера можно рассмотреть задачу формирования траектории движения инструмента (фрезы) для обработки объем ной (трехмерной) поверхности. Если мы располагаем математи ческой моделью (описанием) поверхности, можно сформировать файл, содержащий координаты х, у, z точек, лежащих на поверх ности (рис. 50) с необходимой дискретностью. Пр им ер. DET, ПРИМЕР GMAS, ТА, 200 - 200 точек задают поверхность; NT, 0,0 - начальная точка; VVODT, RКЗ: FTNI. DAT, ТА, 200 - ввод из файла в масс~:~в ТА. N=l :2 Рис. 50. Поверхность, за- Х=FX(ТА(N)) данная массивом точек У= FY(TA(N)) Z=FZ(TA(N)) Активный интерфейс реализуется оператором: STAPT, имя файла, в котором находится вызываемая программа. Пример. START. - вызывается программа TPR. 1.3. ПРИМЕРЫ ПРОГРАММ НА ЯЗЫКЕ ИНТЕРСАП В этом разделе представлено несколько примеров, каждый из которых содержит эскиз детали; текст управляющей программы, прорисовку траектории движения инструмента. Примеры подобра ны таким образом, чтобы можно было проиллюстрировать слож ные ситуации, с которыми встречается технолог при разработке управляющих программ. В разделе описаны с.11едующие примеры: деталь «ТЕСТ N» (рис. 51, 52; программа 2); деталь «Съемник» (р1;1с. 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. ИнтерСАП-проrрамма «TEST N:. DET,TECТN ТО>О,О LХ>ТО,О LУ>ТО,90 Кt>ТО,20 Lt>Т0,46 L2>L1,YВ,4.1 LЭ>Ll,YМ,4.1 L4>L1,ТO LS> L4,XB,27 1..6>1'0,·ЭО L7>L6,УВ,2.S U>L6,YM,2.S L9>ТО.ЭО LI0>L9,YM ,2.S L11>L9,YВ,2.S L12>LY,XМ,2.S LIЗ>LY,xrs,2.s K2>1'0,2S .lS Tl>LY,K2,YB n>L6,K2,XB T3>L9,K2,XM T10>L8,Kl ,XB K3>T1,2.S K4>n.:z .s КS>ТЗ,2.S T4>38.S,4S TS>77,0 Т6>38.S,-4S NТ,ТО F.ЭО 34 EKVD,SP ,0.14S SRIS,S1,LY,YВ,K3,Ll3,Y8,L2,LS,L3,XВ,K1,X8,L7,K4,L8,T10 SPIS,S2 ,T10,K1,XM,L10,KS,L11,XM,K1 ,Y8 ,Ll2,K3 ,Y8,LY - DS,S1 ,S2 EKVD,VIK DТ,ТО SТОР $SРАВОТАЕТ МАТРИЦА ПОВОРОТА МА=О MAТR,MA,0,38.S,4S ТRN,MA DТ,ТО STOP $$3ЕРКАJIЬНО ОТОВР.АЖА'ЕИ ОТНОСИТЕЛЬНО LX ZER,$3,51,LX • Z E R ,54,52,LX EKVD,SL,0.14S DS,$3,54 EKVD,VIK DТ,ТО NETRN STOP Ml•0 MAТR,Ml,0,77,0 ТRN,MI DТ,ТО SТОР ZER,SS ,$3,LУ ZER,56 ,54,LУ EKVD,SP,0. 145 DS,SS,56
EKVD,VПC DТ,ТО NEТRN STOP М2=0 МАТR,М2,0,38.S,-4S TRN,М2 DТ,ТО SТОР ZER,57,SS ,LX ZER,58 ,56,LX EKVD,SL,0.145 DS,S7,58 EKVD,VIK DT,T0 NETRN DТ,ТО ко Рис. 52. Траектория движения инструмента для «Тест N» З. ИнтерСАП-nроrрамма «Съемник» DЕТ,С'ЬЕМНИК ТО>43.S,О Т1>97,11 Т2>97,-11 ТЗ>S.SО Т4>0.О TS>-20 .ISO,SO LX>T4,0 LY>T4,90 L2>LY,XB ,97 КО>ТО,14.S LЗ>K0,Tl,SP L11>K0,Т2,SL LS>LY,XB,14 Lб>LX,YB,132 L7>LY,X8,5 L9>LX,YM ,7 L12>ТО,30 U> L12,YB ,14 .S LlЗ>ТО,-30 L10>L13,YМ,14.S К2>ТЗ,5 Kl > L7,ХМ,VNE,K2, УВ,5 K3>LY,XB ,L9,YB ,10 K4>L9,YM,L10,YM, , KS>L2,XM ,L11,YB,3 Кб> L2,XM ,L3,YM ,3 K7>LS,XB ,U ,YB,10 NT,TS usк DТ,ТО,10 S,1200 F,100 OHL,VKL DZ,-1 EKVD,SL,2 DS,LX,L2,PR,K6,LЗ,KO,L4,PO,L5,L6,L7 Т2 DS,L7 ,Kl ,K2,PR ,L Y,KЗ,L9,K4,PO,LЩKO,PR,L11,K5,L2,LX EKVD,VIK DТ,ТО DZ,10 OHL,VIK F,1000 DZ,50 S,VIK DT,TS ко Рис. 54. Траектория дви жения инструмента для обработки детали «Съем ник» 35 1'16,5 Рис. 53. Чертеж детали «Съемник»
36'1 ~ .... .. .. .... ~ .... ~ ""' ... ~ .... .., .... -s: Рис. 55. Черте_ж детали «Шаблон» . ~ ~ ... .... .... ... ~ ~ fТ - -.;: 11,,. _ .,4 Рис. 56. Траектория движения инстру мента для обработки детали «Шаблон» 4. ИнтерСАП-проrрамма «Шаблон» DET,IIIAВJIOH ТО>О,О LХ>ТО,О LУ>ТО,90 Lt > LУ.ХМ,36412 L2>LX,У&,274/2 13>LУ,ХВ,36412 U> LX,YM ,27412 T1>-(39612+S0),(30412+S0),100 Kl>L1.XB.L2,YM .S7 К2> L2,YM.U .XM .S7 КЗ> 1З,ХМ,U,УВ,S7 K4>U,YВ,L1,XВ,S7 LS>PAR,LY,Tl NТ,Tl USK DS,U ,LX DZ,20 S,800 SSOBXOД КОНТУРА ФРЕЗОЙ ДlО EKVD,SL,10.S DS,100 ,LX.L1.PR.K4,U,K3,L3,K2,L2,K1,L1,LX EKVD,VIK DS,LX ,LS , $$ОБХОД КОНТУРА ФРЕЗОЙ Д8 EKVD,SL,8 DS,120 ,LX,Lt,PR ,K4,U,K3,L3,K2,L2,K1,L1,LX EKVD,VIK DS,LX ,U F,1000 DZ,100 S,VIK DТ,Tl ко Рис. 57. Чертеж детали «TEST S» Рис. 58. Траектория движения ин струмента для обработки детали «TEST S» 36
5. ИнтерСАП-nроrрамма «TEST S» DET,TESТS ТО>О,О К4>ТО.,.2S LХ>ТО,О LУ>ТО,90 LS>Т0,112.S L2>Т0.10S L7> LS,XБ,2.6S U>ТО,120 Т3>LS,K4,YB L1>LS,Т3 Lб> L1,УВ,Э.S T1>LS,L6 1.3>Lt,УВ.S.3 К1>L7,ХМ,LЗ,УМ,1.8 K2>K1,LS KЭ>L4,XМ,VNE,K2,YM,0.S KS>L2,XB ,VNE,K1,YM,0 .S NТ,ТО F,300 DТ,Т1 STOP EKVD,SL,0.14S DS,St EKVD,VJK DТ,Т1 NEТRN SТОР МА=О МАТR,МА,ТО TRN, DТ,Т1 EKVD,SL ,0.14S DS,St EKVD,VJK DТ,Т1 NEТRN SТОР МА=О МАТR,МА,-215 ТRN,МА,ТО SPJS,St,LS,L3,PR,K2,KЭ,PO,YM,L4,L1,L2,YM ,KS,Kt,PR,1.3,LS DS,51 EKVD,VJК DТ,Tt SТОР ssсдвиr ЧЕРЕЗ 4S ГР.ОСУЩЕСТВЛЯЕМ МАТРИЦЕЙ ПОВОРОТА МА=О МАТR,МА,-4S ТRN,МА,ТО DT,Tt EKVD,SL ,0.14S DS,51 EKVD,VIK DT,Tt NEТRN SТОР МА=О МАТR,МА,-90 ТRN,МА,ТО DT,T1 EKVD,SL ,0.14S DS,51 EKVD,VIK DT,Tt NETRN SТОР МА=О MATR,MA,-tЭS ТRN,МА,ТО DТ,Т1, EKVD,SL,0.14S • 7'1 6'1 /,f DT,T1 E.KVD,SL ,0.14S DS,St EKVD,VJK DT,Tt NEТRN STOP МА=О МАТR,МА,-270 ТRN,МА,ТО DT,T1 E.KVD,SL ,0.14S DS,51 E.KVD ,VIK DT,T1 NE.ТRN SТОР МА=О МАТR,МА,-315 ТRN,МА,ТО DТ,Т1 EKVD,SL ,0.14S DS,51 EKVD,VIK DT,Tt NETRN SТОР DТ,ТО ко /,2 Рис. 59. Чертеж детали «TEST 4:. Рис. 60. Траектория движения инструмента для обработки детали «TEST 4:. 37
6. ИнтерСАП-пр(\rрамма «TEST 4• DET,TEST4 ТО>О,77 Tt>0,61 ' J'2>48,69 Т3>31.S Т4>-31,5 TS>28.7S ,6t.8 Т6>16,16.8 Т7>-48,69 LJ>TJ,90 UО>ТЭ,О L2>UO,YB,69 Kt>n.S L39>1C1,- 64 L3> L39,XB ,S L24>TS,30 Lб>l.24,YМ,32.S L4> Lб,YB,22.S LS>LЭ,YM,2.2 L7>L6,YM ,S IC4>Т3,S L41>L1,T3 ,30 L12> L41,УМ,S L11 > L12,YB,4:7S L9>L11,YB ,22 .S L8> L9,УВ,3.7S /,16 °" LI L42> Lt,ТЭ,-60 L2S> L42,УМ,5 L10>L2S,YВ,2.2 L13>L40,YfJ,S K2>L3,XM,L7 ,YB ,S КЭ> L2S,YB ,L8 ,XM,S IC8>T7.S L38>L1,XВ,SO Т8>L13,L1 NТ,ТО F,100 DZ, -1 S,1200 EICVD,SL ,2 SPIS,S1,L1,L2 ,IC1 ,L3,U ,LS,L6,XB,K2,L7 ,L38,L8,IC3,YM ,L9,L10 SPIS,52,L9,L10,Lt 1,YM ,K4,L12,L13,L1 DS,S1 ,S2 ZER,S3 ,S1,LI ZER,S4,S2,LI INVER,SS ,S3 INVER,56 ,S4 DS,56,SS EKVD,VIIC от.то S,VIIC ко. Рис. 61. Чертеж детали «TEST 7» Рис. 62. Траектория движения инструмента д,11я обработки детали «TEST 7» 38
7. ИнтерСАП-проrрамма «TEST 7» DВТ,ТВSТ7 SSОВРАВОТКА НА ЭЛЕКТРОЭРОЗИОННОМ СТАНКЕ Tt>0,0 LX>Tt,0 Lt>n,90 L2>Т1,ЗО 1.3>ЦYB,0.67S U>ЦУМ,О.67S L6>Lt,XB ,1 Kt>n,2.4 K2>Tt,S .1 Т2> L2,K2,XB L7>L2,Т2 LS>Lt,XB ,0 .67S L12> LX,YM ,S.1 L13> LX,YB ,37.3 NT,Tt F,30 BKVD,SP,0.12S SPJS.St,L1,Lt3,L6,YВ,K1.XB,l.3,L7,U,XB,Kt,YМ,L8,L12,L1 DS.St SS8EPКAJIЬHOE КОПИРОВАНИЕ ОТНОСИТЕЛЬНО Lt ZBR,52,S 1,Lt SSСОХРАНЕНИЕ НАПРАВЛЕНИЯ ОБРАБОТКИ ПРИ ПОМОЩИ JNVER JNVER,53.S2 DS,53 BKVD,VJK DТ,Т1 STOP SSПОВОРОТ И СДВИГ ОСУЩЕСТВЛЯЕМ МАТРИЦЕЙ МА=О MAТR,MA,-180,-1S.7S,0 ТRN.МА DТ,Т1 BKVD,5P,0 .12S DS,$1.SЗ BKVD,VJK DТ,Т1 NBТRN STOP DТ,Tt ко LI 'к'I ll Kf" - TI• т2. ... - ----- ~..Т6. и ..., .,, .,, •т1 К2 279 Рис. 63. Чертеж детали «TEST» ТI Lу 39 Рис. 64. Траектория движения инструмента для обработки дета ли «TEST»
8. ИитерСАП-проrрамма «TEST» 9. ИитерСАП-проrрамма «TEST 5» DET,TEST DET,ТESTS $$ПОДПРОГРАММА SSОВРАВОТКА НА ЭЛЕКТРОЭРОЗИОННОМ СТАНКЕ OMAS,T ,7 ТО>О,О ТО>О,О LХ>ТО,О T(t)>-(396/2+ S0),(364/2+ S0),100 LУ>ТО,90 LХ>ТО,О Lt>LY,XM ,119.3/2 LУ>ТО,90 U>LY,XB,119.3/2 Lt>LY,XM,364/2 Tt>0,S .8/2 L2>LX,YD ,274/2 LЗ>Tt,-(1+5/60) LЗ>LУ,ХВ,364/2 L2>T1,+(1 +s/60) U>LX,YM ,274/2 1'2>0,- S.8/2 LS>PAR,LY ,T(t) L6>Т2,-{1 +S/60) T(2)>-(S0+61),- SO LS>Т2,(1 +S/60) Т(З)>-132,70 K1>L1,XB ,L2 ,YM ,1 T(4)>S2,64 K2>L3,YM ,U,XM ,1 T(S)>86,1S KЗ>U,XМ,LS,YB,t Т(б)>Зб,-24 K4>L1,XB ,L6,YB,1 Т(7)>47,-102 NТ,ТО NT,T(t) F,30 USK EKVD,SL,0.14S DS,LS,LX DS,LX ,L1 ,K1,L2 ,L3 ,K2,U,K3,LS,L6 ,K4,L1,LX DZ,20 EKVD,VIK S,800 DТ,ТО F,100 КО DZ,-1 SSOBXOД КОНТУРА ФРЕЗОЙ Д= 10 ММ. EKVD,SL,10 DS,100 ,LX ,L1 ,U,L3,L2,Ll,LX EKVD,VIК DS,LX ,LS DZ,10 $$СВЕРЛИМ 6 ОТВЕРСТИЙ ,НАЧИНАЯ СО ВТОРОГО N=2 :МЗ DT,T(N) $$ВЫЗОВ ПОДПРОГРАММЫ СВЕРЛЕНИЯ CAL,:PPl N=N+t ES,N,ВOL,7,:Mt NA,:M3 :Mt F,1000 DZ,100 S,VIK DT,T(t) NA,:M2 $$ПОДПРОГРАММА СВЕРЛЕНИЯ :РР1 F,1000 DZ,-1 F,SOO DZ,10 RET :М2 ко Рис. 66. Траектория движения инструмента для обработки детали «TEST5» 40 Т2 5,8 //1 К6 I.II х Рис. 65. Чертеж детали «TEST 5»
lY LX ) Рис. 67. Чертеж детали «TEST 7» 10. ИитерСАП-проrрамма «ТЕСТ 7• DЕТ,ТЕСТ7 Рис. 68. Траектория движения ин струмента для обработки детали c:TEST 7» SSОВРАБОТКА НА ЭЛЕКТРОЭРОЗИОННОМ: СТАНКЕ ТО>О,О LХ>ТО,О LУ>ТО,90 Lt>Т0,37 К1>ТО,27.7S L2>ТО,-67 LЗ> L1,YB,4 .1S U>L1,YМ,4.1S T1>L3,K1,XB n>lA,Kl,XB К2>ТО,24.S ТЗ>L1,К2,УВ K3>T3,1.S LS>K3,Т1,SP Lб>KЗ,n.SL L7> L2,XB,4 .1S l..8>L2,XM,4.1S T4>L7,K1,YM TS>l..8,Kt,YM Т6>1.2,К2,УМ T10>0,2S .S Т10>0,30 K4>T6,1.S L9>K4,T4,SP L10>K4,TS,SL F,30 EKVD,SP,0 .tSS SPIS,S1,LY,YB,K1,LS,PR,K3,L6,Т2,PO,K1,YM,L9,K4,PR,L10,YM,Kl,PO,YM,LY DS.St ZER,S2,S1,LY INVER,S3,S2 DS,S3 EKVD,VIK DТ,ТО ко 41
Глава 2 МАКРОСРЕДСТВА И НТЕРСАП 2.1. ЯЗЫК ТЕХНОЛОГИЧЕСКИХ ПЕРЕХОДОВ ДЛЯ МЕХАННЧЕСКОЯ ОБРАБОТКИ ДETAJIEA Обработка любой детали на оборудовании с ЧПУ представ ляет собой последовательность технологических переходов, каж дый из которых в свою очередь может рассматриваться как про цесс обработки одной или нескольких элементарных поверхно- стей - конструктивных элементов детали. • Анализируя перечень обрабатываемых на предприятии дета лей, технолог всегда может определить множество типовых поверх ностей, причем понятие «поверхность» здесь определяется как с точки зрения конструктивных особенностей, так и с точки зрения технологии ее обработки. Например, канавка при токарной обра ботке с конструктивной точки зрения представляет собой сочета ние не~кольких геометрических составляющих, но мы будем рас сматривать ее как одну типовую поверхность исходя из способа обработки с помощью одного инструмента, формирующего одним движением все геометрические составляющие. Таким образом, каждой типовой поверхности можно поставить в соответствие тех нологический переход, под которым буд~м понимать некоторую технологическую схему обработки этой поверхности. Таких схем может быть несколько, lio будем-считать, что технологом выбрана одна - оптимальная с его точки зрения. В идеальном случае любая деталь может быть описана ком бинацией типовых поверхностей из соответствующего множест ва. Поэтому обработка такой детали будет представлять собой последовательность элементов из множества технологических переходов. Процесс обработки можно описать в_ терминах языка, который назовем языком технологических переходов (ЯТП). Что дает технологу такой язык? Технолог может запрограммировать обра ботку детали в терминах этого языка, не затрачивая п·ри этом времени и сил на описание простых геометрических объектов, из которых состоит траектория движения инструмента, соответ ствующая технологическому переходу. Наглядность и простота , ЯТП для технолога очевидна. Для каждого класса обрабатываемы~ деталей на 1<онкретном производстве (предприятии) могут создаваться различные мно жества технологических переходов. Можно выделить два основ ных диалекта языка: ЯТП для токарной обработки; ЯТП для фрезерной обработки. Попытаемся сформировать множество переходов для обо11х диалектов, определяя тем самым термины нового языка. Ясnо, что этих терминов будет недостаточно, чтобы описать обработку любой детали, но приведенные ниже переходы, безусловно, явля- 42
ются типичными и могут быть приняты за базовые при форми ровании технологом необходимого множества терминов ЯТП. Терминам языка будут соответствовать схемы обработки типо вых поверхностей, причем для одной типовой поверхности может быть предложено несколько терминов ЯТП в зависимости от кон кретных условий обработки: вида заготовки, характеристик ре>15у щеrо инструмента, требуемого качества обработки и пр. Рассмотрим некоторое множество' технолоrически;х переходов для токарной обработки. Подрезка торца Подрезка торца выполняется: l) за один или несколько проходов с центровкой резцом на последнем проходе, если необходимо (рис. 69); 2)- за один или несколько проходов для деталей, имеющих вну тренний диаметр D2. Применяется для чистовой торцовки после сверления, расстачивания и т. п., для заготовок типа «труба». На последнем проходе, если необходимо, резцом снимают фаску L Х 45° (рис. 70); • 3) с последующей обработкой радиусрв Rl, R2, выдержав раз меры А и L (рис. 71). Вход и.выход с поверхности - по радиусам. Сверление Для обычного сверления (рис. 72) применяются движение на рабочей подаче на глубину Z, если надо,- выдержка времени Т, отвод на ускоренной подаче до плоскости безопасности У. ~ g ~- -..i ~ о Рис. 69. Подрезка торца с центров кой tj L Рис. 71. Подрезка торца с после дующим точением !/ х 43 ~~ Рис. 70. Подрезка торца со снятием фаски z у Рис. 72. Обычное сверле ние
z Рис. 73. Глубокое сверле ние с удалением (вымыва Н•нем) стружки Рис. 74. Глубокое сверление со стружколоманьем При глубоком сверлении с удалением (вымыванием) стружки (рис. 73) после каждого шага сверления инструмент выводится из отверстия до уровня У. Если необходимо, в конце рабочего хода делается выдержка времени Т. Здесь К - глубина 1-ro движения; / - переходная величина. Она вычитается до тех пор, пока К - N-1 не станет меньше /; тогда применяется постоянный шаг сверления. При глубоком сверлении со стружколоманием (рис. 74) ин струмент после каждого шага сверления отводится на величину J и остается в отверстии, а не выводится до уровня У, как в пре дыдущем случае. Мноrопроходная черновая обработка поверхностей Обработка происходит в продольном направлении последова тельными проходами с глубиной резания t до контура поверх ности (рис. 75). Может быть задан припуск на чистовой проход. Возможна такая же схема обработки, но с поперечным направле- нием проходов. • • Следующие схемы отличаются- только контуром поверхности, поэтоr.tу, чтобы не загромождать рисунок, не будем изображать все черновые проходы, а приведем лишь описание контура по-. верхности. При этом отметим, что возможна в различных случаях как продольная, так и поперечная обработка (рис. 76). Приведен- - -- ~ / '- - ...,__._ - - /- --- --- --- - /'--- ---.. - ,- - - -- - - Z2 Zf - Рис. 75. Мноrопроходная черновая об работка ~ .... 44 ные схемы применяются при обработке внешних поверх ностей, но могут использо _ваться и при обработке вну тренних поверхностей. Чистовая обработка Схемы чистовой обработ ки вышеуказанных поверх ностей в книге не приведены, поскольку они представляют собой один или два чистовых прохода ( при этом указыва ется. глубина резания) по контуру поверхности.
z ~ ZI Рис. 76. Типы обрабатываемых поверхностей Обработка канавок Многопроходное нарезание цилиндрической канавки (или од ной широкой канавки) приведено на рис. 77. Аналогичным образом можно построить схему обработки и для торцовой канавки. Нарезание резьбы резцом При многопроходном нарезании (рис. 78) приняты следующие параметры обработки: Z 1 - длина резьбы; Z2 - величина сбега; PJ - глубина резьбы; Р2 -· глуб нна резания; РЗ - конусность резьбы (для цилиндрической резьбы РЗ= О); и. т.- исходная точка. При однопроходном нарез-ании резьбы (рис. 79) параметры обработки сокращаются до двух: РЗ и Z 1. Приведенные выше схемы (рис. 78 и 79) являются универсаль ными. При условии РЗ= О или DJ = D2 они могут применяться для нарезания цилиндрических резьб. Нарезание резьбы плаwкоА или метчиком При выполнении этого перехода происходит движение на рабо чей подаче на глубину Z, затем производится переключение направления вращения шпинделя, выход до уровня У на рабо чей подаче н переключение. направления вращения шпинделя (рис. 80). Любой технолог механообрабатывающего производства посто янно пользуется ЯТП. Для реализации ЯТП в терминах ИнтерСАП применяется универсальный макроаппарат. При этом каждому термину ЯТП соответствует некоторое макроо11ределение (мак рос). Множество макросов образует макроязык (МЯ) . • 45
1 -- -- - jt ~i11.111. Рис. 77. Многопроходное нарезание цилиндрической канавки i1ii ~ Рис. 79. Однопрохо.z(ное нарезание резьбы ---------·~--1- ZI Рис. 78. Многопроходное нарезание резьбы у Рис. 80. Нарезание резьбы плашкой или метчиком Программа на МЯ в идеальном случае будет представлять собой последовательность макровызовов, которые в данном случае можно рассматривать как языковые конструкции, созданные поль зователем. Такая программа не только в несколько раз короче соответствующей программы на ИнтерСАПе, но, что важнее, отличается большей наглядностью и позволяет использовать в качестве исходной геометрической информации фактически только данные чертежа детали без дополнительных преобразований. Следует отметить, что в каждом конкретном случае может со здаваться свой диалект МЯ в зависимости от класса обрабаты ваемых деталей, т. е. для каждого класса деталей технолог может создавать множество макросов, позволяющих эффективно про граммировать обработку и значительно снижать трудоемкость проектирования управляющих проr:рамм. 2.2. ПРИНЦИП РАБОТЫ УНИВЕРСАЛЬНОГО МАКРQГЕНЕРАТОРА Макроаппарат ИнтерСАП позволяет автоматически вставить в исходную программу в месте, указанном строкой макровызова, целый фрагмент заранее подготовленного технологом текста -:-- макрос: При этом в макрос вместо формальных параметров будут подставлены фактические, взятые из строки макровызова. Для реализации такого процесса используется универсальный макро генератор, принцип работы которого рассмотрен ниже. 46
Допустим, технологом подготовлен некоторый макрос, в кото ром присутствуют формальные параметры =#= 1, =#= 2, =#= 3, ... , =#= N, где символ =#= предназначен для распознавания формального па раметра макрогенератором. Тогда, если в исходной программе появится строка вызова данного макроса с указанием фактических параметров Xl, Х2, ХЗ, ... , XN, универсальный макрогенератор произведет вставку в текст программы вместо макровызова текста макроса, в котором формальные параметры будут заменены на соответствующие фактические: =#=lнaXl; =#=2 на Х2; =#=N на XN, т. е. =#= l заменяется на первый фактический параметр в строке макровызова, =#= 2 - на второй и т. д. Особенностью макрогенератора ИнтерСАП является то, что в качестве параметров Xl, Х2, ... , XN могут использоваться любые элементы языка - ключевые слова, метки, модификаторы, цеJ1ые фрагменты строк и др. 2.3 . СТРУКТУРА МАКРОСА Макрос можно рассматривать как программный модуль, имею- •щий входные и выходные параметры. Причем выходной информа цией макроса является в общем случае описание траектории дви жени~ инструмента, соответствующей технологической схеме об работки. Входными данными здесь выступают параметры, опреде ляющие геометрические (траектория движения инструмента) и технологические (режимы резания и т. п.) характеристики процес са обработки. Таким образом, универсальность применения макроса зависит от того, какие входные параметры выберет технолог. Перейдем теперь к структуре макроса. Макрос состоит из за головка, телi и ограничителя. Заголовок представляет собой символ @ и имя макроса (на пример: @ карман, @ торец и т. д.). Тело макроса может содержать произвольное количество про стых и сложных геометрических объектов, произвольное количест во команд управления станком и инструментом, выраженных в терминах языка ИнтерСАП. Ограничитель представляет собой символ «/» в первой позиции строки и указывает на конец макроса. Для вызова соответствующего макроса в исходной программе ИнтерСАП необходимо записать следующую строку (макровы зов): > имя макроса; параметр 1; I1араметр 2; ... ; параметр N. Здесь символ «>» означает макровызов. Параметры в строке отделяются друг от друга 0Iмволом «;». В качестве r1араметра может быть любая комбинация символов, исключая символ «;». 47
Соответствие фактических параметров (в макровызове) и фор мальных (в макросе) определяется следующей схемой: > имя; параметр l; параметр 2; ... , параметр N t t t :#= 1 :#=2 :#=N Номера формальных параметров, используемых в макросе, должны строго соответствовать порядковым номерам фактиче ских параметров в строке макровызова. Итак, если в исходной программе появляется строка макровы зова, макрогенератор автоматически заменяет ее текстом соот ветствующего макроса, меняя при этом :#= 1 на параметр 1, :#=2 на параметр 2 и т. д. П р и мер. Напишем макрос, в котором вычислялось бы рас стояние между заданными точками. Имена точек задаются в макровызове. Вычисленное расстояние должно выводиться на терминал. Назовем наше макроопределение мак 1. Оно имеет следующий вид: @ макl =tF3=FK((FX(=tF l)-FX(=tF2) /\2(FY(=tF 1) - - FY ( =tF2)) /\2) VIVOD, =tFЗ Вызов этого м~кроса в программе: > макl; Тl; Т2; А, где Tl и Т2 - имена точек, между которыми вычисляется расстоя ние; А - величина расстояния. Таким образом, в процессе работы макрогенератора произой- дет замена формальных параметров фактическими: *1на Тl; =tF2 на Т2; =tFЗ на А. Результатом работы макрогенератора будет следующий фраг- мент, вставленный в исходный текст: А= FK( (FX(TI) - FX(T2)) -2 - (FY(Tl) -FY(T2)) -2) VIVOD, А Работа макроаппарата ИнтерСАП может быть представлена схемой, изображенной. на рис. 81. Из рисунка видно, что макрогенератор работает как препро цессор ИнтерСАП. Исходная программа поступает на вход макро- Нсхоilнан 1'роерамма Maкpotfulfлuomeкa 1енериро ан нь11i 1pqtiл Рис. 81. Структура процесса макроrенерации 48 Трансляция
генератора. При наличии в программе строк макровызова макро генератор производит вставку соответствующих макросов, кото рые извлекаютеt1 из макробиблиотеки. Допускается прикомпо новка макроса к телу исходной программы, при этом уменьшается время поиска. В результате работы макрогенератора формируется файл, содержащий термины языка ИнтерСАП. Этот файл посту пает на вход транслятора системы и обрабатывается обычным образом. • Для получения возможности использовать в своей программе новый макрос технолог должен записать текст макроса в макро библиотеку, которая представляет собой обычный символьный файл с именем SAPMAC.LIВ. Макросы в макробиблиотеке могут создаваться и редактироваться обычным текстовым редактором. Макрос можно вставить в любое место библиотеки, но так, чтобы он не попал в ранее записанный макрос. В макробиблиотеке может быть несколько макросов под одним именем, но макрогенератор будет работать только с первым, встреченным по тексту макро библиотеки. Следует обратить особое внимание на то, что все метки и име на, использованные в макросе, действуют и в вызывающей его программе. Псэтому необходимо следить за тем, чтобы имена гео метрических объектов,· определенные в основной программе, не повторяли имен объектов, описанных в макросе. Кроме того,· следует учесть, что при многократном вызове од ного макроса могут быть сформированы одинаковые метки. По этому рекомендуется метки в макросе записывать как параметр. 2.4 . АЛГОРИТМ РАЗРАБОТКИ МАКРОСА Рассмотрим подробно технологию разработки макроса на сле дующем примере. Пусть необходимо в одном макросе реализо вать получение одного из двух типов поверхности детали путем многократного продольного точения и.з заготовки, изображенной на рис. 82 штриховой линией. Другими словами, необходимо обес- _ печить съем· материала, причем форма снятого материала - че тырехугольник, верхняя .и нижняя стороны которого задаются прямыми, параллельными оси х, правая сторона - прямой, совпа дающей с осью у, а левая - прямой, проходящей под любым уг лом к оси х (кроме равного О) или дугой окружности произволь ного радиуса. Допустим, технологом определена схема обработки, представ ленная на рис. 83. Траектория инструмента проходит последова- Рис. 82. Типы обрабатываемых поверхностеil 49
Рис. 83. Схема обработки Рис. 84. Контур удаляемо го слоя материала TI тельно через опорные точки. Технологом задается припуск Л, который необходимо оставить для чистовой обработки цилиндри ческой поверхности. Припуск на чистовую обработку торцовой поверхности примем равным О,075Л. Из схемы видно, что обра ботка состоит из нескольких повторяющихся циклов - это дви жение на рабочей подаче F с глубиной резания t до прямой, огра ничивающей контур детали с учетом припуска на чистовой про ход, затем отвод инструмента по оси у на величину 0,5t и движение на ускоренной подаче до прямой, смещенной на I мм от торца заготовки. Определим, какие параметры должны быть входными пере менными макроса. Ясно, что параметрами будут глубина реза ния t, припуск на чистовую обработку Л и величина рабочей по дачи F. Теперь необходимо установить, какие параметры будут опреде лять геометрические параметры снимаемого слоя материала. Прямые LI, L2, LЗ, L4 (вместо прямой LЗ может быть дуга окруж ности КЗ) однозначно описывают контур снимаемого материала. Но поскольку было оговорено ранее, что L4 и L2 всегда горизон тальные прямые, достаточно указать две точки: Т1, Т2 или ТЗ, Т4, тем более, что нам будут 1-1еобходимы координаты у этих точек. Если технологу все-таки удобнее описать прямые L4 и L2, можно легко определить точки TI - Т4 как 11ересечение соответствую щих прямых (рис. 84}. Итак, параметрами макроса будут яв ляться: t, Л, F, LЗ, LI, Т1 (Т4), Т2 (ТЗ). В одной программе макрос может вызываться несколько раз, а в макросе могут использоваться метки, поэтому введем еще один пара111етр - метку макроса (для избежания после макрогенерации *8 Рис. 85. Шаг цикла обработки 50 повторения одной и той же мет ки). Список формальных пара метров будет иметь вид: # 1 - метка макроса; #2 - глубина резания /; #3 - рабочая подача; =#= 4 - припуск на чистовой проход; =#= 5 - точка, описывающая
нижнюю границу снимаемого слоя ТЗ или Т2; # 6 - левая граница снимаемого слоя LЗ или КЗ; # 7 - точка, описывающая верхнюю границу снимаемого слоя TI или Т4; #8 - правая граница снимаемого слоя LI. Теперь составим алгоритм многопроходного точения, содержа щий цикл повторяющихся проходов. Один шаг цикла (рис. 85) представляет собой движение на рабочей подаче из TI (конечная точка предыдущего шага) в TZ, затем в ТЗ, Т4, включение уско ренной подачи и движение в Т5. Алгоритм обработки Шаг 1. Определим количество проходов APR l. В терминах языка ИнтерСАП это можно записать: APRl = FY( #5) -FY( #7) APR 1 = FK (APR 1 * APR l) - получить абсолютное значение. Шаг 2. Уменьшим количество проходов на l: APRl = APRl -1. Шаг 3. Если APRI ~ #4/#2, перейдем на шаг 6. Шаг 4. Переопределим точки 2, 3, 4, 5 (рис. 85) с учетом обеспе чения следующего прохода с глубиной t и опишем движение по этим точкам. • Шаг 5. Перейдем на шаг 2. Шаг 6. Определим конечные точки обработки 6, 7, 8, 9 и опишем движение по этим точкам. Запишем этот алгоритм в терминах языка ИнтерСАП. Назо вем наш макрос PROT (программа 11). Для облегчения понима ния содержимого макроса представлена схема (рис. 86). В качест ве примера использования макроса PROT приведена программа черновой обработки детали (рис. 87). Левую границу снимаемого слоя образуют геометрические объекты L У, Kl, L4, правую - прямая L6. Программа содержит определение геометрических объектов, передаваемых в качестве параметров, и три строки макровызовов (программа 12). Следует обратить внимание на то, как в данном примере в стро ке макровызова записаны 5-й и 7-й параметры - это точки, опре деленные как пересечение соответствующих прямых. Заметим, что созданный нами макрос применен для обработки внешних по- ТРН7 l.l'НJ TPHJ l.l'R2 #7 t.f'Hf #8 #5 тт11н2 ТРН8 l.f 'R8 Рис. 86. Схема обработки, реализуемая макросом PROT 51
11. Макрос «Проточка:. @PROT ТPRt>#S ТРR2>#7 LPR8>#8,X8 ,t APRI =(FY(TPR1)·FY(ТPR2))/#2 APRt =FK(APRl*APRt) :PR#t APRt=APRt-1 ES,APRt,RAV,#4/#2 ,:PRl#t ES,APRt,МEN,#4/#2,:PRl#t ТPRt>ТPRl,0,#2 LPRt>ТPRt,0 ТPRt>LPRt,LPR8 ТPR7>LPR1,#6 ТPR7>ТPR7,0.07S•4,0 ТРRЭ> TPR7,0 , -0.S*#2 LРRЭ>ТРRЭ,О ТPR8>LPR3,LPR8 DS,#3,ТPR1,TPR7,TPR3,5000,ТPR8 NA,:PR#t :PRl#t ТТРR2>ТРR2,0,·#4 LPR2>ТТPR2,0 ТТPR2>LPR2,LPR8 ТPR7>LPR2,#6 TPR7> ТPR7,0.07S*#4,0 ТРRЭ>ТРR7,0,-О.5*2 LРRЭ>ТРRЭ,О ТРR8> LPR3,LPR8 DS,#3,ТТPR2,TPR7,ТPR3,SOOO,TPR8 / 12. Использование макроса «Проточка• DET,VAL ТО>О,О LХ>ТО,О LУ>ТО,90 Tl>0, -3 0 Lt>Tl,11 L2>LY,XB,10 LЗ>LX,YM,20 L4>LY,XB,30 U>LX,YM ,10 L6>LY,XВ,50 L7>LX,YM ,.S K1>L3,YB ,L2 ,XM,I0 NT,.SS,·40 > PROT;1;1.6;150;0;LY,Lt;LY;LY,L3;L6 >PROT;2;1.6;150;0;L3,Kl;Kl,XB;L2,Kl;L6 > PROT;3;1.6;150;0;LУ,U;L4;L4,L7;L6 ко 52 lY 50 i.l li' 1.1 т,l'i/.7 Т2 t.5 1 ак, 1u ____________ ..! TI Рис. 87. Чертеж детали с обозначенны ми геометрическими элементами 13. Макрос «Проточка универсальная:. @PROT DPRt= -0.S &PR2=0.07S FPR=1200 ТPRt>#S LPR7>ТPR1,0 ТPR9>LPR7,#8 DS,FPR,LPR7,ТPR9 ТТPRt>#S ТТРR2>#7 ZPRX=FX(ТPR9)-FX(ТТPR1) ZPRX=ZPRX/FK(ZPRX•ZPRX) ZPRY=FY(ТТPR2)-FY(ТТPR1) ZPRY=ZPRY/FK(ZPRY•ZPRY) APRt = FУ(ТТРR1)-FУ(ТТРR2) APRt=FK(APRt•APRt) APRI =APR1/FK(#2•#2) :PR#t APRt=APRt-1 ES,APRI ,RAV ,#4/#2,:PRl#t ES,APRl ,MEN ,#4/#2 ,:PRt#t TPR1>TPR1,0,#2•ZPRY LPR1>TPR1,0 TPRl>LPRt,#8 TPR7>LPRt,#6 TPR7>TPR7,DPR2•#4•ZPRX,0 ТPRЭ>TPR7,0,DPR1*#2*ZPRY LРRЭ>ТРRЭ,О TPR8>LPRЭ,#8 DS,#3,TPR1,ТPR7,TPR3,FPR,ТPR8 NA,:PR#I :PRl#t ТТРR2> ТТPR2,0,•#4*ZPR У LPR2>ТТPR2,0 TPR7>LPR2,#8 ТТPR2>ТТPR2,DPR2•#4•ZPRX,0 TPRЭ>ТТPR2,0,DPRl•#2•ZPRY LPRЭ>TPRЭ,0 TPR8>LPR3,#8 DS,#3,TPR7,ТТPR2,TPR3,FPR,TPR8 /
верхностей !]равым резцом. Незначительные добавления позво ляют использовать этот макрос для обработки внешних и внутрен них поверхностей как правым, так и левым резцом. Текст макроса приведен в программе 13. Заметим, что в макросе появляются пе ременные ZPRX и ZPRX, определяющие направление движения инструмента. 2.5. БИБЛИОТЕКА МАКРОСОВ В этом разделе представлено несколько примеров, каждый из которых содержит эскиз обрабатываемого конструктивно-техно логического элемента, описание макровызова, примеры програм мы, использующей макрос, и текст макроса: l) «Торцовка-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) ,,Точение-!» (рис. 94; программы 26, 27, 28); 8) ,<Цилиндр» (рис. 95; программы 29, 30); 9) «Конус-1» (рис~ 96; программы 31, 32); 10) 4-t:фера» (рис. 97; программы 33, 34, 35); 11) «Ступенька» (рис. 98; программы 36, 37); 12) «Обратная ступенька» (рис. 99; программы 38, 39). 14. Описание макроса «Торцовка-2» > TOREC2;#1;#2;#3;#4;#S;#6;#7;#8;#9;#10;#11;#12;#13 СПИСОК ПАРАМЕТРОВ: #1 -РАССТОЯНИЕ ОТ ОСИ LУ ДО ПЛОСКОСТИ ТОРЦА #2-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #3-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #4 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #S -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #6-ГЛУВИНА РЕЗАНИЯ ПРИ ЧЕРЦ.ОВОЙ ОБРАБОТКЕ #7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #8 -ПРип;vск НА ТОРЦОВК;f #9-НАР;vЖНЫЙ ДИАМЕТР ДЕТАЛИ (D1) #10.ВНl'ТРЕННИЙ ДИАМЕТР ДЕТАЛИ (D2) #11-РАЗМЕР ФАСКИ (L2) #12-РАДИ;fС РЕЗЦА #13-НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ ПРИМЕЧАНИЕ:ЕСЛИ ФАСКА НЕ СНИМАЕТСЯ-#\\ =О. $C,C:\МACROS\TORC2.MCR DET,TOREC2 ТО>О,0 LХ>ТО,О LY>T0,90 . >TOREC2;40;100;120;\S0;80;7;3;27;S0;2\;4;\;2 ко 53 Рис. 88. Эскиз «Торцов ка-2»
15. Макрос «Торцов~а-2» @ТОRЕС2 ATO=S LOTB>LY ,ХМ, #1 LlTB>LX,YМ,(#9/2+ATO) ES,#10/2,MEN,AT0,:#13T022 L2TB>LX,YМ, (#10/2-АТО) NA,:fl3T023 :il3T022 L2TB>LX :#13ТО23 L22TB>L2TB,YB,fl2 LЗTB>LX,YM,(#9/2-#11) T01,'B>LOTB,L3TB L4TB>TOTB, 45 LSTB>LOTB,XB,ATO TlTB>L4TB,LlTB TlOTB>LlTB,LOTB TOlTB>TlOTB,ATO,O TOOTB>TlOTB,fS+ATO,O F,5000 DТ,ТООТВ ES,#6,RAV,O,:flЗТOl >PROH;f8;f7;f6;fl3 ES,NPR,RAV,1,:#lЗTOl Т2ТВ>Т10ТВ,#7,О ES,NPR,RAV,2,:#13T02 ТЗТВ>Т2ТВ,f6,О ES,NPR,RAV,3,:#13Т03 Т4ТВ>ТЗТВ,#6,О ES,NPR,RAV,4,:fl3T04 TSTB>T4TB,#6,0 ES,fl0/2,MEN,AТO,:#lЗTOOl RTB=ATO+(f9-#10)/2+ATO NA, :f13ТОО2 :#13ТОО1 RTВzAT0+(#9-#10)/2+#10/2 :fl3T002 DТ,TSTB >TOR2;#4;RTB:AT0;#2 :#13ТО4 Рис. 89. Эскиз «Канавка торцовая:. DТ,Т4ТВ >TOR2;f4;RTBrAТ0;#2 :#13ТО3 DТ,ТЗТВ >TOR2;f4;RTB;ATO;j/2 :#13Т02 DТ,Т2ТВ >TOR2;#4;RTB;AT0;#2 :#lЗTOl ES,#11,RAV,O,:#lЗТOOЗ >TORC2;#5;LOTB;ATO;f3;#12 NA,:fl3Т004 :#13ТОО3 S,#3 EКVD,SP,#12 DS,LlTB,LOTB,fS,L22TB EКVD,VIK <' DS,L2TB,LSTB,SOOO,LlTB :#13ТОО4 / @TOR2 s, #4 F, j/1 DP,0,#2 DP,fЗ,O F,5000 DP,0,-#2 /@TORC2 S,#4 EКVD,SP,#5 SPIS,S2TB,LlTB,L4TB,#l,#2,L22TB DS,S2TB EКVD,VIK DS,L2TB,LSTB,5000,LlTB / @PROH NTR=O PI'R=#l-#2 :#4PR13 BТR=PТR-#3*NТR ES,BТR,ВOL,#3,:#4PR11 NA,:#4PR12 :#4PR11 NТR=NТR+l NA,:#4PR13 :#4PR12 NPR=NTR+2 16. Описание макроса «Канавка торцовая» >ТКАN;#1;#2;#3;#4;#S;#6;#7;#8;#9;#10;#11;#12 СПИСОК ПАРАМЕТРОВ: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ #2-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #3 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #4 -ПРИП:VСК НА ЧИСТОВ:VЮ ОБРАВОТК:V
#S -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРА1 #6-ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #7-Ll #B-Dl #9-D2 #10-Rl #11-ШИРИНА РЕЗЦА (1.2) #12-КООРДИНАТА ТОРЦА $C,C:\MACROS\TKAN.MCR DЕТ,ТК ТО>О,О LX>T0,0 LУ>ТО,90 NT,T0 >ТКАN;3;40;50;1;100-,30;12;20;50;4;1;-6 ко 17. Макрос «Канавка торцовая» @TKAN АКА=2 • LtKA>LX,YM ,#8/2 L2KA> LX,YM ,#9/2 ТОКА>#12,0 L4KA>T0KA,90 UKA> L4KA,XM,#7 К1КА> L1 КА,УМ,LЗКА,ХВ,#10 К2КА> L2KA,YB ,L3KA,KB ,#10 L11KA>L1KA,YM,#4 L12KA> L2KA,УВ,#4 L13КА> LЗКА,ХВ,#4 K11KA>L11KA,YM,L13KA,XB,#10-#4 Т11КА>К11КА,УВ,90 К12КА> L12KA,YB,L13KA,XВ,#10-#4 L14KA>L4KA,XB,AKA LOKA>Ll'ICA,YM ,(#9/2-#8/2-#11)/2 L22KA>L2KA,YB ,#11 L32KA> L12KA, УВ,#11 К22КА> К2КА,0,#11 К32КА> К 12КА,0,#11 Т32КА> К32КА,УМ,90 SPIS,S2KA#1,L14KA,L11KA,K11KA,PR,L13KA,K32KA,PR ,L32KA,L14KA TI0KA>L32KA,L14KA F,5000 S,#2 DS,L14KA,L11KA,#3,TI IKA,SOOO ,L1 IKA,Ll4KA NKA=0 / :1KA#I NKA=NKA+I 4SIKA>L11KA,YM ,#tl•NKA TS 1К A>S2KA#l,LSI КА,! TS2KA>L14KA,LSIKA DS,ТS2KA,#3,TSIKA,SOOO,П2KA ES,(FY(П IKA)·f'Y(TI0KA)),ВOL,#11,:1 KA#I DS,ТI0KA,#3,T32KA,SOOO,TI0KA DS,L14KA,L22KA,#6,K22KA,PO,L3KA,LOKA,SOOO ,L14KA DS,T10KA,L14KA,LIKA,#6,K1KA,PR ,L3KA,LOKA,SOOO,L14KA 55
. Описание макроса «Сверление» \JSVER;#1;#2;#Э;#4;#S;#6;#7 АРАМЕТРЬI МАКРОСА: , t -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА 12-BPDUI ВЬIДЕРЖКИ (Х) 13-РАВОЧАЯПОДАЧА 14 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ #5-РА3КЕР ОТВЕРСТИЯ (Lt) #6 ·ДИАМЕТР СВЕРЛА {Dt) #7 .YГOJI КОНИЧЕСКОЯ ЧАСТИ СВЕРЛА(Аt) #8 -ВЕЛИЧИНА ВЫХОДА ЦИЛЛИНДРИЧЕQКОЙ ЧАСТИ СВЕРЛА ИЗ СКВОЗНОГО ОТВЕРСТ ПРИМЕЧАНИЕ:ПРИ СВЕРЛЕНИИ ГJl)'ХИХ ОТВЕРСТИЙ-#8=0. SC,C:\МACROS\NSVER.MCR DET,NSVER ТО>О,О LХ>ТО.О LУ>ТО,90 Т1>·Э,·Э NТ,Tt > NSVER;7;1;120;150;80;4;Э ко 19. Макрос «Сверление» @NSVER ASV=S LOSV>LY,XM ,#1 L1SV>LOSV,XB,ASV T1SV>LX,L1SV Т2SV>T1SV,•(ASV+#S+#612•FS(#7/2)1FC(#7/2)),0 F,SOOO DT,TtSV S,#4 F,#Э DT,Т2SV PAUZA,#2 F,SOOO DТ,TtSV / и Рис. 90. Эскиз «Сверление:. 56
20. Описание макроса «Фаска ра.циусиая левая» > RAD;#t;#2;#3;#4;#S;#6;#7;#8;#9;#10;#t1;#12;#13 СПИСОК ПАРАМЕТРОВ: #1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА - #2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #4 -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #S -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #6-ПРИПУСК НА чистовm ОБРАБОТКУ #7-Ll #8-D1 #9-02 #10-At #11-Rl #12-РАДИУС РЕЗЦА #13-НОМЕР МАКРОВЫЗОВА В ПРОГРАМQ ПРИМЕЧАНИЕ:ПРИ отсvrствии ЧЕРНОВОЙ ОБРАБОТКИ #6=0. SC,C:\МACROS\RAD.MCR DET,RAD ТО>О,О LХ>ТО,О LУ>ТО,90 > RAD;10;100;120;150;80;3;27;50;60-,33;6;1;2 ко Lf Рис. 91. Эскиз «Фаска радиусная левая» 21. Макрос «Фаска ра,циусиая левая» @RAD ARA=S BRA;:: #11•(1-FS(#l0)) L.ORA>LY,XM,#1 LIRA>LORA,XM ,#7 LSRA> LX,YM ,#8/2 T1RA> L1RA,LSRA L2RA>T1RA, -#10 L4RA>LX,YM,(#9/2+ARA) K1RA>L1RA,XB,L2RA,YB,#II Т2RA>L1RA,KIRA T3RA>L2RA,K1RA L22RA> L2RA,T3RA L23RA> L22RA,XB,#1 I K2RA>L2RA,YM,L23RA,XM,#l 1 L6RA> K2RA,90 URA> LбRA,XB,#11 Ll3RA>LЗRA,XM,#12 T4RA> L4RA,LORA TSRA> URA,K2RA L7RA>TSRA,0 LВRA> L1RA,XM,ARA L9RA>Т2RA,0 L10RA>L2RA,YM ,ARA T44RA>T4RA,ARA,0 F,SOOO DT,T44RA ES,#6,RAV,0,:#13RA1 > RA2;#12;#2;#3;#4;#S;#6+ #12;#13 NA,:#13RA2 :#13RA1 >RAl;#12;#3;#S;#13, :#13RA2 /' @RA2 SSДЛЯ 2-Х ПРОХОДОВ ES,BRA,IIO~RA,:#7RA21 S,#2 DS,L4RA,URA,L10RA,#4,URA EKVD,SL,#6 57.
i>S,LЭRA,L2RA,KlRA,PO,LlRA EКVD,VIK DS,L9RA,L8RA,5000,LlORA,LlЭRA EКVD,SL,#1 S,#3 DS,LЭRA,#5,K2RA,PR,KlRA,PO,LlRA EКVD,VIK • DS,L9RA,L8RA,5000,L4RA,T44RA· NA, :f7RA22 :#7RA21 S,#2 DS,L4RA,LЭRA,LlORA,#4,LЭRA EКVD,SL,#6 DS,LЭRA,L2RA,KlRA,PO,LlRA EКVD,VIK DS,L9RA,L8RA,5000,LlORA,LlЭRA EКVD,SL,11 S,fЭ EКVD,VIK DS,L9RA,L8RA,5000,L4RA,T4 :f4RA12 / TlORA>LlORA,K2RA,XB DS,LЭRA,K2RA,PR,TlORA,#5,K2RA,PR,KlRA,PO,LlRA EКVD,VIK DS,L9RA,L8RA,5000,L4RA,T44RA :#7RA22 / @RAl $$ai1•_1 -AA _AEA0Aa~ ES,BRA,ВOL,ARA,:f4RA11 DS,L4RA,Ll3RA EКVD,SL,#1 S,#2 DS,LЭRA,fЭ,K2RA,PR,KlRA,PO,LlRA EКVD,VIK DS,L9RA,L8RA,5000,L4RA,T44RA NA, :#4RA12 : '4RA11 DS,L4RA,Ll3RA EКVD,SL,#1 S,#2 TlORA>LlORA,K2RA,XB . DS,LЭRA,K2RA,PR,TlORA,fЭ,K2RA,PR,KlRA,PO,LlRA 22. Описание макроса «Отрезка» >0Т;#1;#2;#3;#4;#S;#6;#7;#8 СПИСОК ПАРАМЕТРОВ: #1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА #2-НАРУЖНЫЙ ДИАМЕТР ДЕТАЛИ В ПЛОСКОСТИ ОТРЕЗКИ (D1) #3 -ВНУТРЕННИЙ ДИАМЕТР ДЕТАЛИ В ПЛОСКОСТИ ОТРЕЗКИ (D2) #4 -НАРУЖНЫЙ ДИАМЕТР ДЕТАЛИ (D3) #S -ДЛИНА ОТРЕЗАЕМОЙ ДЕТАЛИ (Ll) #6-ПОДАЧА #7 -СКСРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ 18 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ $C,C:\MACROS\OT.MCR DET,RAD ТО>О,О LХ>ТО,О LУ>ТО,90 > ОТ; 1О;100;20; 1S0;90;S0;80;8 ко 58
23. Макрос «Отрезка» @ОТ AOT=S LOOT>LY,XM,#1 LlOT> LOOT,XM,#S L2OT> LX,УМ,(#212 + АОТ) ES,#3 ,MEN ,AOT,:#8OTl 1 LЗОТ> LX, УМ,(#312-АОТ) NА,:#80Т22 :#80Tll LЗOT>LX :#8OТ22 UOT> LХ,УМ,(#412+ АОТ) TlOT>LlOT,UOT Т2OТ>Т10Т,АОТ,О T40T>LOOT.UOT - TSOT>T40T,AOT,0 S,#6 DS,TSOT ,SOOO ,UOT,LlOT,L2OT,#7,LlOT,L30T DP,AOT,0 F,SOOO DТ,Т2OТ DT,TSOT / 24. Описание макроса « Штуцер» >SТYZER;#1;#2;#3;#4;#S;#6;#7;#8;#9;#10;#1 l ;#12;#13;#14;#1S СПИСОК ПАРАМЕТРвВ: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ Рис. 92. Эскиз «Отрезка:о #2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #3-ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ , #4 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #S -НОМЕР ЧЕРНОВОГО РЕЗЦА #6-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #7 -ПОДАЧА ПРИ ЧИС'ГОВОЙ ОБРАБОТКЕ #8 -НОМЕР ЧИСТОВОГО РЕЗЦА #9 -КОЛЛИЧЕСТВО КАНАВОК #10-Ll #11..U #12-DI #13-Al #14-l.3 #IS-D2 $C,C:\MACROS\STY.MCR DET,SF ТО>О,О LХ>ТО,0 LY>T0,90 NT,T0 >STYZER;1;400;0.Э;О.2;2;500;0.1 ;3;3;6;S.6;12;4S;ЭS;20 ко 59
25. Макрое с Штуцер• fSТYZER АSТ-1 LЭST>LX,YМ,112/2 TOST>LY,LЭST TlST>TOST,-111,0 L2ST>T1ST,15 T2ST>TlST,-llO,O L5ST>T2ST,15 L4ST>T1ST,-fl3 LlST>LY,:ltB,AST Ll2ST>L2ST,YМ,14 Ll4ST>L4ST,YМ,l4 L15SТ>L5ST,YМ,14 TllST>Ll2ST,L14ST Tl2ST>TllST,-flO,O TlOST>LlST,L2ST Т20ST>L12ST,L1ST INST,15 s,12 F,5000 DS,T20ST,f3,T11ST NSi'-!O :lSTfl DS,T11ST,L14ST,L15ST,Tl2ST NSТ-NSт+l BS,NST,RAV,f9,:2STfl T11ST>T12ST L14ST>Tl1ST,-ll3 T12ST>TllST,-flO,O L15ST>T12ST,15 NA,:lSTfl :2STl1 T22ST>T12ST,O,-AST L22ST>T22ST,O DS,T12ST,T22ST,5000,L22ST,L1ST INST,18 S,16 DS,TlOST,17,TlST NSТ-0 :llSTfl DS,T1ST,L4ST,L5ST,T2ST NSТ-NSт+l T2SТ>TlST,-flO,O L4ST>T1ST,-fl3 L5ST>T2ST,15 NA,:llSTll :22STl1 L30ST>LY,XМ,l14 L40ST>LX,YМ,l15 L41ST>L40ST,YМ,AST DS,L3ST,L30ST,L41ST,5000,L / /.1 1.2 l1 BS,NST,RAV,l9,:22STfl T1ST>T2ST Рис. ~3 . Эскиз «Штуцер:. 26. Описание макроса «Точеиие-1• >ТPRN;#1;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13;#14 СПИСОК ПАРАМЕТРОВ: #1 -HOI~ МАКРОВЬIЭОВА В ПРОГРАММЕ #2 •ВЕlЮПАСНОЕ РАССТОЯНИЕ #3-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕJIЯ ПРИ чисrовой ОБРАБОТКЕ #4-ПОДАЧА ПРИ чисrовой ОВРАВОТКЕ #5 .имя •чисrовоl'О" СПИСКА #6-ТОЧКА НАЧАЛА •чисrоВОl'О" СПИСКА #7 -КОНЕЧНАЯ ТОЧКА •чисrовоl'О" СПИСКА _ •а-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОВРАВОТКЕ #9 ·ПОДАЧА ПРИ ЧЕРНОВОЙ ОВРАВ()'{'U #10-ГJWВИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОВРАВОТКЕ #11-ИМЯ •ЧВРНОВОГО" СПИСКА #12-ТОЧКА HAЧAJIA •ЧЕРНОВОГО" СПИСКА #13-КОНЕЧНАЯ ТОЧКА "ЧЕРНОВОГО" СПИСКА #14-ИМЯ СПИСКА ЭАl'ОТОВКИ 60
27. Использование мак~оса «Точеиие-1 » SC,C:\МACROS\ТPRN.MCR DET,ТPRN ТО>О,О LX>T0,0 LY>T0,90 Ll>LX,YM ,120/2 Tl>LY,Lt TIOO>Tt,0 ,- S L2>LX,YM,80/2 U>LX,YM ,SS/2 U>LX,YM,2512 Lll>LY,XM,S L12>LY,XM ,10 L13> L12,XM,20 L14>L13,XM ,10 L15> Ll4,XM ,1S L16> LlS,XM ,20 LI 7> Ll6,XM ,30 Т21>Ll3,U L21>Т21,40 Т22>L1S,L3 L22>Т22,30 Т41>1З,L11 L41>T41,35 K1>L3,YМ,L22,YM,S K2>L2,Y8,L22,YB,10 К3> L17,XВ,L2,УМ,20 T31>L11,U Т32>Ll,L17 Т99>l.3,L11 Рис. 94. Эскиз «Точение-!» L31>Т99,35 SPIS,S1,Т31,U,L21,L14,L3,K1,PR,U2,K2,PO,L2,K3,PR,L17,Т32 SPJS,SO,Т31,L11,L31,Lt,T32 L104>U,YM,3 L121>L21,YМ,3 L114> L14,XB,3 L103>L3,YM,3 L122>L22,YM,3 L102>L2,YM,3 K101>Kt,-3 К102>К2,3 КtОЗ>КЗ,-3 Т131>Т31,О,-3 T132>L1,K103,XM SPIS,S3 ,L104,L121,Lt 14,L103,Kt01,PR ,L122,K102,PO,L102,K 103,РR,Т132 NT,T100 . >TPRN;1;2;100;SO;S1;1;31;Т32;80;70,4;SЗ;T131;T132;S0 F,5000 DT,TIOO .ко 28. Макрос с Точеиие- 1» @TPRN T11TP>f6,f2,0 T13TP>f7,0 -12 T12TP>f12,i2,0 T14TP>f13,0,-f2 L14TP>T14TP, О L40TP>T12TP,90 ES,f8,RAV,0,1lTPfl NNTP-1 NТP-FY(f12)-FY(f13) ES,NТP,MEN,fl0,:2TPfl :ЗTPfl 61 L4TP>t13,0 LlOTP>L4TP,YB,flO*NNТP L12TP>L10TP,YM,f2 TlOTP>fll,LlOTP,1 LllTP>TlOTP,-45 T20TP>f14,L10TP,1 T21TP>T20TP,f2,0 T22TP>T21TP,O,-f2 F,5000 DТtT21TP s,,s F,19 .,,
DS,Ll2TP,T32TP,Tl2TP,#9,#12 :2TP#l DS,#ll,#13,Tl4TP :lTP#l F,5000 DS,Ll4TP,L40TP,T12TP,T11TP S, #З • F,14 DS,#6,#5,#7,TlЗTP / 29. Описание макроса « Цилиндр» > NCIL;#l ;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13 ПАРАМЕТРЫ МАКРОСА: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ DS,LlOTP,LllTP,Ll2TP NTP=NTP-#10 NNTP=NNTP+l ES,NTP,MEN,#l0,:4TPll LЗOTP>LlOTP,YB,#10 ТЗОТР>#14,LЗОТР,1 ТЗlТР>ТЗОТР,#2,О LЗlTP>TЗlTP,90 TЗ2TP>L31TP,Ll2TP F,5000 DS,Ll2TP,TЗ2TP,T31TP NA,: ЗТР#l :4TP#l T32TP>L40TP,L12TP S,#8 F,5000 #2 -РАССТОЯНИЕ ОТ ОСИ LУ ДО ПЛОСКОСТИ ТОРЦА #3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #.S -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #6-ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #7-ГЛУБИНАРЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #8 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-L1 #10-l.2 #11-D1 #12-D2 #13-РАДИУС ИНСТРУМЕНТА 1.2 /J -- ----+ ---+ ---+ - SC,C:\МACROS\CIL.MCR DET,cIL W>O,O LХ>ТО,О LY>T0,90 NТ,ТО F,5000 > NCIL;3;.S;50;70;100;60;4;3;20;50;50;100;1 ко 30. Макрос « Цилиндр» Рис. 95. Эскиз «Цилиндр:. @NCIL F,5000 LlCl>LY,XM,#2 DT,TOCI I L2Cl>L1CI,XM ,#9 @TPRN l.3CI> L2CI,XM ,#10 Т\ lТР> #6,#2 ,0 UCI>LX,YM ,#11/2 Т\ЗТР>#7,0,-#2 LSCl>LX,YM ,#\ 212 Т\2ТР>#12,#2,О L14Cl>L4Cl,YM ,#13 Т14ТР>#13,О,-#2 L13Cl>l.3CI,XB ,#13 T1CI>L14Cl,l . .2CI L14TP>T14TP,O L24Cl>L14C1,YM,#8 L40ТР>Т12ТР,90 T2CI> L\4( 1.1.\ЗСI ES,#8,RAV .0.:ITP#1 NNTP=1 ТЗСI> L13Cl,LSCI NTP = FY(#12)-FY(#13) T4CI > L24Cl,L2CI SPIS,SICl#1 ,T1Cl ,L14Cl,T2CI ES,NTP,MEN,#Щ:2TP#I :3ТР#1 SPIS,S2Cl#l ,T4Cl ,L24CJ,Ll3Cl ,T3CI L4TP>#13,0 SPJS,SЗCl#l,TJCl,UCl,LSCl,TЗCI LIOTP>L4TP,YB,#JO•NNТP TOCl>LICl,LSCI Ll2TP>LIOTP,YM,#2 ~-Fтос1 TIOTP>#l 1,LIOТP,I >TPRN;#l;S;#4;#6;SJCl#l;TICl;T3Cl;#3;#S;#7,S2Cl#l;T4Cl;Т3Cl;S3Cl#I ti2
LllTP>TlOTP,-45 T20TP>#l4,LlOTP,l Т21ТР>Т20ТР,#2,О Т22ТР>Т21ТР,О,-#2 F,5000 DТ,Т21ТР S,#8 F,#9 DS,LlOTP,LllTP,Ll2TP NTP=NТP-#10 NNТP-NNТP+l ES,NТP,МEN,#10,:4TP#l LЗOTP>LlOTP,YB,flO ТЗОТР>#14,LЗОТР,1 ТЗlТР>ТЗОТР,#2,О LЗlTP>TЗlTP,90 T32TP>L31TP,Ll2TP 31. Описание макроса _« Конус-1 » F,5000 DS,Ll2TP,T32TP,T31TP NA, :ЗТР#l :4TP#l T32TP>L40TP,Ll2TP S,j/8 F,5000 DS,Ll2TP,T32TP,Tl2TP,И9,fl2 :2TP#l DS,fll,#13,Tl4TP :lTPfl F,5000 DS,L14TP,L40TP,Т'l2TP,TllTP s, #3 F,j4 DS,fб,f5,#7,T1ЗTP / > PKON;#1;#2;#3;#4;#S;#6;#7;#8;#9;#10;#11;#12;#13;#14;#1S;#16 СПИСОК ПАРАМЕТРОВ: #1 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА #2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #3 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКF #4-СКОРОСТЬ ВРАЩЕНИЯ ШЩIНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #5-ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #6-ПОДАЧА ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКЕ #7 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #8 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #9-ГЛУБИНА РЕЗАНИЯ ПРИ ПОЛУЧИСТОВОЙ ОБРАБОТКЕ #10-ПРИШ'СК НА ~ИСТОВУЮ ОБРАБОТКУ #11-D1 #12-At #13-РАДИ:VС РЕЗЦА #14-Lt #15-U #16-НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ SC,C:\МACROS\PKON.MCR DET,KONUS ТО>О,О LХ>ТО,О LУ>ТО,90 > PKON;8;100; 120; 1S0;80;S0;30;7;S;3; 190;33; 1; 10;140;5 ко 32. Макрос « Конус-1 » @PKON AKP=. S LOKP> LУ ,ХМ,#1 LбKP>LOKP,XM,#14 LlKP>UiKP,XB ,AKP L7KP> LX,YM ,#11/2 UKP> L7KP,YM ,AKP LSKP> UiKP,XM ,#lS T2KP>L8KP,L7KP LJKP>T2KP,#12 L33KP>L3KP,YM,#13 L4KP>L3KP,YM,#10 LSKP> L4KP, УМ,#9 TlKP>L,SKP,UiKP ТО1КР>L.6КР,L7КР Т3КР> L3KP,UiKP ТОКР> Ll KP,UKP Т21К1i>Т1КР,О,-АКР L21KP>T21KP,0 L22KP> L21 КР,УМ,АКР T31Kl>>l.4KP,L .6KP QKP=FY(T1KP)-FY(T01KP) DKP=FY(Т3KP)-FY(Т01KP) BKP=QKP-AKP EKP=FY(T3KP)-FY(T31KP) ES,EKP,MEN ,DKP ,:#16KP13 NA,:#16KP9 :#16КР13 ES,BKP,MEN ,AKP,:#16KP10 ES,BKP ,MEN ,AKP,:#16KP1 l >PROK;QKP;#8;#16 S,#2 F,SOOO DT,T0KP РКР=О :#16КР12 РКР=РКР+#8 L10KP>L7KP,YB ,PKP LllKP>Ll0KP,YM,AKP Tl0KP>Ll0KP,L.SKP
Ll2KP>Tl0KP,-45 DS,LlKP,5000,LlOKP,#5,L5KP,Ll2KP,LllKP,5000,LlKP ЕS,ВКР-РКР,ВОL,#8,:flбКР12 :l16КР11 T25KP>L21KP,L5KP L25KP>T25KP,-45 DS,LlKP,5000,L21KP,#5,L5KP,L25KP,L22KP,5000,LlKP DS,LlKP,L5KP,l5,L2КP,5000,LlKP : l16КР10 /.2 U S,13 -- ----- - DS,LlКP,5000,L4KP,fб,L2KP,5000,LlKP :#16КР9 S,14 DS,LlKP,5000,L33KP,#7,L2KP,5000,LlKP / @PROK NI<P-0 :/13КР1 NKP=NKP+l МRKP-l2*NKP RКP..fl-NRКP ' S, RКР, ВОL, О, : 1/ЗКР_l. 33. Описание макроса «Сфера• >SFE;#l;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12 СПИСОК ПАРАМЕТРОВ: #1-НОМЕРИАКРОВЬIЗОВАВ ПРОГРАММЕ #2 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ #3-ПОДАЧА #4-Rl #5-R2 #б-RЭ #7-D1 Рис. 96. Эскиз «Конус-!» #8 -КООРДИНАТАХ КРАйНЕЙ ПРАВОЙ ТОЧКИ СФЕРЫ ПРИМЕЧАНИЕ:ПРИ ОТРЕЗКЕ СФЕРЫ #7=0 . SC,C:\MACROS\SFE.MCR SSТЕСТ С ВЫХОДОМ СО СФЕРИЧЕСКОЙ ПОВЕРХНОСТИ ПО ОКРУЖНОСТИ DET,SF ТО>О,О LХ>ТО,0 LУ>ТО,90 NT,TO >SFE;2;100;30;40;8;S;20;-10 ко 34. Макрос «Сфера• @SFE ASF=2 T1SF>#8,0 TOSF>TlSF,ASF + #6,0 Т2SF>T1SF,-#4,0 К 1SF>Т2SF,T1SF LISF>LX,YM ,#7/2 ES,#7,RAV,0,:ISF#I ES,#5,RAV,0,:ЗSF#I K2SF>LISF,YM,VNE,KISF ,XM ,#S TЗSF> K2SF,XM ,0 S,#2 F,SOOO DT,ТOSF F,#3 EKVD,SL ,#6 64 DS,TISF ,KISF,PO ,K2SF,PR,T3SF EKVD,VIK DP,#6 ,-AS F NA,:2SF#1 :3SF#1 S,#2 F,SOOO DT,TOSF F,#3 EKVD,SL,#6 DS,TISF ,KlSF ,PO,XM ,LISF EKVD,VIK DP,-#б,-ASF*2 NA,:2SF#I :ISF#l KЗSF>KISF,#6 F,5000 DT,TOSF F,#3 DS,LX ,XB ,K3SF ,PO ,XM,LX DP,ASF ,0 :2SF#I '
35. Использование макроса сСфера» $C,C:\МACROS\SFE.MCR $$ТЕСТ С ВЫХОДОМ СО СФЕРИЧЕСКОЙ ПОВЕРХНОСТИ ПО ОКРУЖНОСТИ DET,SF ТО>О,О LХ>ТО,О LУ>ТО,90 NТ,ТО >SFВ;2;100;30;40;8;S;20;-10 ко SC,C:\МACROS\SFE.MCR SSТЕСТС ОТРЕЗКОЙ СФЕРЫ (#7=0) DET,SF ТО>О,0 LХ>ТО,О LУ>ТО,90 NТ,ТО > SFE;2;100- ,30;40;8;S;0;-10 ко $C,C:\МACROS\SFE.MCR SSТЕСТ С ОТВОДОМ РЕЗЦА ПО ПРЯМОЙ (#S=O) DET,SF ТО>О,О LХ>ТО,О LУ>ТО,90 NТ,ТО > SFE;2;100;30;40;0- .S;20;-10 ко 36. Описание макроса «Ступенька» Рис. 97. Эскиз «Сфера» > NSТPR;#1;#2;#3;#4;Н.;#f>.#7;#8;#9;#10;#11;#12;#13;#14;#1S;#l6;#17 ПАРАМЕТРЫ МАКРОСА: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ #2 -РАССТОSНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА #3-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #4-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #S -ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #7 -ГЛ)'БИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #8 -ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-Lt #10-L .2 #11-D1 #12-D2 #13-At #14-А2 #IS-RI #16-R2 SC,C:\МACROS\ST.MCR DET,ST ТО>О,0 LХ>ТО,О LУ>ТО,90 NТ,ТО F,SOOO > NSTPR;З;S;S0;70; 100;60;4;Э;SО;ЭО;2S; 1OO;S0;2S;8;7 ко 65
37. Макрос «Ступенька» @NSTPR AST=S LlST> LY,XM ,#2 L2ST> LtST,XM ,#9 LЭST> UST,XM,#10 lAST>LX,YM ,#1112 LSST> LX,YM,#1212 TtS'r> L2ST,LSST L7ST>T1ST,#13 LSST>TIST,#14 KIST>L7ST,YM,lAST,YM,#16 K2ST>L7ST,YB,l .8ST,YB ,#15 К3ST>L8ST,YM,L3ST,XB,#16 ТОбSТ>КЗSТ L6ST>T06ST,0 T1ST>K1ST l.2 1..1 Т2ST>TIST,0,#16 L9ST>Т2ST,90 Рис. 98. Эскиз «Ступень- ТЗSТ>КЗSТ T4ST>T3ST,-#16,0 T40ST> КЗSТ,УМ,45 ка» Т20SТ> KtST,XB ,45 SPIS,SIST#1,T20ST,K1ST,PR,L7ST,K2ST,PO,L8ST,KЗST,PR,T40ST ES,#8,ВOL,#16,:tST#l T12ST>Т2ST,0,-#8 K11ST>K1ST,- #8 L\7ST>L7ST,YM,#8 К12SТ> K2ST,#8 L\8ST> LSST,YM,#8 i<\ЗST> КЗSТ,-#8 T14ST> T4ST,#8,0 SPIS,S2ST#l,Т\2ST,K I IST,PR ,LI 7ST,K12ST,PO,L18ST,K 13ST,PR,Т\4ST NA,:2ST#I :IST#\ L\7ST>L7ST,YM,#8 T12ST> Ll 7ST,L9ST K12ST> K2ST,#8 L18ST> L8ST, УМ,#8 T14ST> L18ST,L6ST SPIS,S2ST#l,Tt2ST,L\7ST,K\2ST,PO,L\8ST,T14ST :2ST#1 SPIS,S3ST#1,Т2ST,L9ST,L6ST,T4ST ТОSТ> L9ST,L6ST ТOOST>ТOST,AST,-AST F,5000 DT,TOOST >TPRN;#l;AST;#4;#6;SIST#l;Т2ST;T4ST;#З;#S;#7;S2ST#l;T\2ST;T\4ST;SЗST#I F,5000 DT,TOOST / @TPRN TltTP>#l:i,#2,0 Т\ЗТР> #7,0, -#2 Т\2ТР> #12,#2,О Т\4ТР> #13,0 ,-#2 L14ТР>Т14ТР,О L40ТР>Т12ТР,90 ES,#8,RAV,0,:ITP#I NNTP=I NTP=FY(#\2)-FY(#\3) ES,NTP,MEN,#I0,:2TP#t :ЭТР#\ L4TP>#13,0 LI0TP> L4TP,YB ,#10•NNTP L12TP>L10TP,YM,#2 TI0TP> #11,LI0TP,I LI ITP>TI0TP,- 45 Т20ТР > # 14,L1ОТР, 1 ,,
Т21ТР>Т20ТР,#2,0 Т22ТР>Т21ТР,О,-#2 F,5000 DT,T2\TP S,#8 F,#9 DS,Lt0TP,Lt1TP,Lt2TP NTP=NTP -#10 NNTP=NNTP+t ES,NTP ,MEN,#t0,:4TP#I LЗОТР> LtOТP,YB,#10 Т30ТР>#14,LЭОТР.1 F,SOOO DT,T2\TP S,#8 F,#9 DS,LtOТP,Lt 1ТР,L12ТР NТP=NTP-#10 NNTP=NNTP+t ES,NТP,MEN,#t0,:4TP#I LЗOTP>LtOТP,YB,#10 ТЗОТР> #14,LЗОТР,1 ТЗIТР>ТЭОТР,#2,0 LЗIТР>ТЗ\ТР,90 Т32ТР> L31ТP,Lt2ТP F,5000 DS,Lt2TP,Т32TP,T31ТP NA,:3TP#l ' :4ТР#1 T32TP>L40TP,L\2TP S,#8 F,5000 DS,Ll2TP,T32TP,T\2TP,#9,#12 :2TP#l DS,#11,#13,Т\4ТР :ПР#\ F,5000 DS,L\4TP,L40TP,Tt2TP,ТI ITP S,#3 F,#4 DS,#6,#S,#7,T13TP I 38. Описание макроса «Обратная ступенька» > NOSPR;#\;#2;#3;#4;#5;#6;#7;#8;#9;#10;#11;#12;#13;#14;#\S;#\6;#17 ПАРАМЕТРЫ МАКРОСА: #1 -НОМЕР МАКРОВЫЗОВА В ПРОГРАММЕ #2 -РАССТОЯНИЕ ОТ ОСИ LY ДО ПЛОСКОСТИ ТОРЦА #3-СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #4 -СКОРОСТЬ ВРАЩЕНИЯ ШПИНДЕЛЯ ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #S-ПОДАЧА ПРИ ЧЕРНОВОЙ ОБРАБОТКЕ #6 -ПОДАЧА ПРИ ЧИСТОВОЙ ОБРАБОТКЕ #7 -ГЛУБИНА РЕЗАНИЯ ПРИ ЧЕРНОВОЙ ОВР АБОТКЕ #8-ПРИПУСК НА ЧИСТОВУЮ ОБРАБОТКУ #9-L3 #10-Lt #11-L2 #12-D2 #13-А3 #14-А2 #1S-AI #16-RI #17-R2 SC,OS .MCR DET,OS ТО>О,О LX>T0,0 LY>T0,90 NT,T0 F,S000 > NOSPR;3;5;S0;70; 100;60;4;3;30;20;5; 120;20;80;25;7;6 ко 67
39. Макрос «Обратная ступенька» @NOSPR AST=S LtST>LY,XM,#2 L2ST> LtST,XM ,#9 L3ST>L2ST,XM,#10 UST>LЗSТ,XM,#11 LSST>LX,YM,#12/2 TtST>UST,LSST LбST>TtST,#13 L7ST>T1ST,#14 Т2ST>L7ST,L3ST L8ST>Т2ST,#1S KtST> L7ST,YM,L8ST ,YM ,#16 K2ST>L6ST,YB,L7ST,YВ.#17 ТЗSТ>К2SТ L9ST>WT,TЗST T4ST>~T ,L2ST T6ST> L6ST,L9ST L66ST> L6ST,YM,AST T66ST> L66ST,L9ST KЗST>T66ST,T6ST L2 ll L6 А2 Рис. 99. Эскиз «Обратная ступень- ка» T67ST> L66ST,KЗST,XM SPIS,S1OS#1,T4ST,L8ST,K1ST,PR,L7ST,K2ST,PO,T6ST,KЗST,PR,T67ST L18ST>L8ST,YM,#8 T14ST> L18ST,L2ST L17ST> L7ST,YM,#8 T16ST>L17ST,L6ST ES,#8 ,MEN,#16 ,:1OS#t SPIS,S2OS#1,T14ST ,L18ST,L17ST ,T16ST NA,:2OS#t :10S#t KttST>KtST, - #8 SPIS,S20S#1 ,T14ST,L18ST,Kt tST,PR,Lt 7ST,T16ST :2OS#t SPIS,S30S#1 ,T6ST ,L6ST ,L2ST ,T4ST ТОSТ> L2ST,L6ST TOOST>TOST,AST , -A ST F,SOOO DТ,ТООSТ >ТPRN;#t;AST;#4;#6;S1OS#t;T4ST;T6ST;#6;#S;#7;S2OS#t;T14ST;T16ST;S3OS#1 F.SOOO DТ,ТООSТ / @TPRN Т11ТР>#6,#2,О Т13ТР> #7,0 ,- #2 Т12ТР>#12,#2,О Т14ТР>#13,0,-#2 L14ТР>Т14ТР,О UОТР> Т12ТР,90 ES,#8 ,RAV ,0 ,:tTP#t NNТP=t NТP=FY(#12)-FY(#13) ES,NТl,MEN ,#10 ,:2TP#1 :ЗТР#I L4ТР>#13,0 LIOТP>L4TP,YB,#10-NNTP L12TP>L10ТP,YM,#2 TIOТP>#11,LIOТP,I Lt ITP>TIOТP,-45 Т20ТР>#14,LIОТР,1 Т21ТР>Т20ТР,#2,0 Т22ТР>Т21ТР,О,-#2 F,SOOO DТ,Т21ТР S,#8 F,#9 68 DS,L10ТP,L11ТP,L12TP NTP=NTP -#10 NNTP=NNТP+t ES,NТP,MEN,#10,:4TP#1 LЗОТР>LtОТР,УВ,#10 ТЗОТР> #14,LЗОТР,1 ТЗl'l'Р>ТЗОТР,#2,О LЗ1ТР>ТЗ1ТР,90 ТЗ2ТР> LЗIТР,L12TP F,SOOO DS,L12TP,T32TP,TЗITP NА,:ЗТР#I :4TP#I 'IЗ2ТР> L40ТР,L12ТР S,#8 F,SOOO DS,L12TP,Т32ТP,T12TP,#9,#12 DS,#l l ,#13 ,Tl4TP :tTP#I F,SOOO DS,L14TP,L40ТP,T12TP,TI 1ТР S,#3 F',#4 DS,#6,#S,TtЭTP /
Глава З ПРОЕКТИРОВАНИЕ ПОСТПРОЦЕССОРОВ 3.1 . ДВА ПОДХОДА К РАЗРАБОТКЕ ПОСТПРОЦЕССОРОВ Постпроцессор является важным компонентом в структуре под готовки управляющей программы при преобразовании информа ции в ИнтерСАП (рис. 100). Хотя постпроцессор по своему объему и сложности уступает транслятору, без него невозможно функци онирование системы автоматизированного программирования. Можно добавить, что качество и надежность постпроцессора в значительной степени определяют эффективность использования САП на производстве. . В настоящее время известно два подхода к созданию пqстпро цессоров. При первом подходе используется инвариантный пост процессор (ИП) ;- разработка нового постпроцессора заключается в описании на входном языке ИП основных характеристик системы УЧПУ и станка. К достоинствам этого метода следует отнести: • возможность разработки нового постпроцессора технологом,_ не имеющим навыков программирования; относительная быстрота создания нового постпроцессора. 9днако постпроцессоры этого вида имеют существгнные недо статки: фиксируют· в себе информацию о системах УЧПУ и станках на момент создания ИП и не отражают изменений, появляющихся в новых системах ЧПУ и станках; , ограниченно используют широкие возможности языков систем ЧПУ; управляющая программа по своей форме ( структура кадров, состав кадра, избыточное задание некоторых функций) не всегда удовлетворяет технологов, а управление такого рода информаци ей на входном языке ИП невозможно. Авторами предлагается метод разработки постпроцессоров с использованием унифицированных модулей, написанных на одном из алrоритмич-еских языков программирования. К недостатку этого метода следует отнести необходимость разработчика владеть од ним из известных языкЬв программирования (ФОРТРАН или ПАСКАЛЬ). Используя этот метод, разработчик приобретает возможность реализовать все особенности конкретной системы ЧПУ. Этот метод позволяет сделать постпроцессор компактным, лаконичным, быстродействующим. llcxotl1t61ti mt11rcm на ТpalfCЛR- nром11жg- постпро- !J,iolлл,o- я,ык~ ,...- ~ точныt1 - t--- ая rop цессор H1tm~pCAfl ИнтерСАfl мосси6 лро1рамма Рис. 100. Преобразование информации в ИнтерСАП 69
Основное внимание уделено структуре постпроцессора, при емам программирования, описанию и использованию унифици рованных модулей. Все примеры программ; используемые в этой главе, написаны на языке ПАСКАЛЬ. Большинство примеров взя то из реальных разработок, выполненных авторами. 3.2 . ФУНКЦИИ ПОСТПРОЦЕССОРА К основным функциям постпроцессора относятся следующие: l) считывание данных, подготовленных геометрическим транс- лятором (чтение из файла CLDATA); 2) перевод их в системы координат станка; 3) проверка по ограничениям станка; 4) формирование команд на перемещение; 5) формирование команд, обеспечивающих цикл смены инстру мента; 6) кодирование и запись в кадр значения подачи и скорости резания; 7) формирование различных технологических команд; 8) формирование команд, обеспечивающих коррекцию на ве личину радиуса и длину вылета инструмента; 9) развертывание операторов цикла; 10) выда((а управляющей программы на перфоленту и распе- чатка управляющей программы; 11) диагностика ошибок; 12) сервисные функции (подсчет машинного времени и т. д.). Следует отметить, что в процессе совершенствования систем ЧПУ ряд функций упрощается. Это касается, например, функции развертывания операторов цикла (большинство современных систем имеют встроенные циклы обработки). Но в силу того что в настоящее время эксплуатируется большое количество несовер шенных систем ЧПУ, разработчику постпроцессоров будет поле зен полный список функций. ' Рассмотрим детально функции постпроцессора. Перевод данных в систему координат станка может быть обус ловлен несовпадением системы координат, в которой описана про грамма обработки детали и системы координат станка. Например: станок СК-4500 (УЧПУ МАНО) имеет систему ко орди11ат, изображенную на рис. 101, а. Программу обработки детали удобнее писать в традиционной (правой) Декартовой системе координат (рис. 101, 6). Тогда пе ревод в систему координат станка сведется к преобразованиям: х'= -х; y'=z; z'=y. Для удобства написания программ постпроцессор должен учи тывать смеш.ение начальной точки (считать началом системы ко ординат не «О» ста11ка, а точку, :-1аданную 011сратором ( NT, ХО, УО, Z0)), т. е. каждая 1юсJ1едующая координата точки, в которую перемещаt>тся и11струмс11т, уточ11яется 110 формуJJам: 70
х=ХО+х; у=УО+у; z=ZO+z, где х, у, z - координаты опор ной точки. При -формировании команд на перемещение постпроцессор учитывает возможность смены плоскости интерполяции инстру- y'f х~ ~z' о z о х мента (плоскость, в которой Рис. l01. Системы координат стан- осуществJJяется перемещение). ков Постпроцессор опредеJJяет спо- !I соб задания перемещени_й (абсоJJютная., система координат или работа в приращении), вид интерпоJJяции (линейная. круговая), преобразовывает значение координат опорных точек в единицы, обрабатываемые системой ЧПУ (микроны, импульсы и т. д.). Как правило. одно перемещение, рассчитанное транслятором, приводит к формированию нескольких кадров. Это вызвано СJ1едующими причинами: необходимостью разбивки движения по дуге на участки, каж дый из которых лежит в пределах одного квадранта; недостаточным количеством разрядов в адресе кадра, что не позволяет программировать «длинное» перемещение; невозможностью ускоренного перемещения многих станков по трем координатам, следовательно, необходимо разбивать движе ние на двухкоординатное. При формировании команд смены инструмента необходимо осуществлять ;:штоматический отвод инструмента в точку смены, отменять коррекцию на вылет инструмента (для фрезерных станков). Для токарных станков необходимо учитывать смещение координат вершин инструментов при его смене (рис. 102). Большинство перечисленных функций требуют при реализации учитывать ограничения УЧПУ и станка. Тем самым технолог программист освобождается от необходимости помнить особен ности программирования УП для конкретного станка. В качестве примера· 1\~ожно указать следуюш.ие ограничения: по пределам задания скоростей подачи и вращения шпинделя; z z' х' )( х Риl'. 10:.! и IMt'llt'IIИt' Шl'IЗJll,IIOЙ то•1ки Т(НН'ктории ЛНИ· ЖСIIИН 11ри ('Mt'fl(' иш·трумl.'IIТа 71 z z" х"
максимально допустимые перепады значений скорости и подачи; по пределам перемещения исполнительных органов станка. Постпроцессор при необходимости осуществляет коррекцию значения подачи и скорости, автоматически изменяет траекторию движения. Это делается, например, при ускоренном перемещении инструмента по трем координатам, что не допускается многими систе~ами ЧПУ. Следует отметить, что при разработке постпро цессоров для многих современных систем нет необходимости учи тывать динамические характеристики станка (максимально до пустимое ускорение, торможение при реверсивном движении и т. п.). Любое действие, выполняемое постпроцессором, при нару шениях ограничений должно быть описано в инструкции по экс плуатации либо выдаваться как сообщение постпраnессора во время работы. К сервисным функциям постпроцессора можно отнести расчет машинного времени, переформирование в начале управляющей ленты номера и названия детали, расчет суммарных приращеttий в импульсе по трем координатам для контроля выхода в нулевую точку. 3.3 . ВХОДНЫЕ И ВЫХОДНЫЕ ДАННЫЕ ПОСТПРОЦЕССОРА Согласно описанной выше схеме (см. рис. 100) входными дан ными для постпроцессора служит массив, называемый CLDATA (Cuter Location Data - данные о -положении инструмента). В настоящее время ЦIИроко распространены два типа этих данных. Первый из них представляет собой записи переменной длины со следующей общей структурой: Cl, С2, С3, С4, ... , CN~ где Cl - слово, содержащее длину записи в словах; С2 - класс записи; С3 - подкласс записи; C4 ... CN - параметры данного класса записи. Например, запись, кодирующая движение в точку, имеет вид: Cl=23; С2 = 5000; СЗ= 5; C4 ... Cl 1= О (резерв); С12... С15=х С16... С19= у - координаты точки. C20...C23=z Каждая из координат занимает четыре машинных слова, т. е. пред ставлена с двойной точностью. Более подробное описание этого формата приведено в работах (3, 8). Второй ТJ:!П данных представляет собой записи фиксированной длины (по 20 машинных слов) со следующей структурой: С 1 - номер инструкции в исходной программе; С2 - тип записи; С3 С4 - параметры записи; 72
С5...С8 - параметр 1 (представлен четырьмя машинными сло вами - двойная точность); С9... С 12 = параметр 2; С13... С16 = параметр 3; Cl 7... С20 = параметр 4. Именно этот формат был принят при проектировании Интер САП. В табл. 2 приведены основные операторы языка и соответ ствующие записи массива CLDATA. Инструкция движения по приращению координат преобразу- ется в инструкцию движения в точку. Например: DP, 12, -18 преобразуется в DT, текущая координата х+ 12, текущая координата у-18. Инструкция движения по окружности транслируется в три записи: 32+1ОхеусzcО; 32 ООхпупznО; 32 ООxkykzkО; где хе, ус, zc - координаты центра окружности; хп, уп, zn - координаты начала движения; xk, yk, zk- координаты конца; +1, -1 - направление. движения соответственно по часовой и против. часовой стрелки. Инструкция DET транслируется в три записи: в первой записи находится код инструкции ( С2 = 1) ; во второй и третьей - текст правой части. Аналогично транслируется инструкция KOMEN, ее код С2= 3. Выходными данными постпроцессора является управляющая программа в кодах конкретной системы УЧПУ. Она содержит все необходимые инструкции для управления исполнительными орга нами станка. Известно несколько языков кодирования управляющей инфор мации для оборудования с ЧПУ: кодирование в кодах ISO; код БЦК-5; инз.ивидуальный язык кодирования оборудования с ЧПУ. нагrри"1ер станок S \VPO80C с систе:vrой ЧПУ ПАРАМАД-2Д (ГДР, «КАРЛ-ЦЕйС»). Рассмотрим язык низко·го уровня - систему команд устройст ва ЧГfУ «Электроника МС 2101.02», встроенного в станок типа «обрабатывающий центр». . Управляющая программа представляет собой последователь ность предложений, называемых кадрами. Каждый кадр содержит одну или несколько· команд по обработке детали на станке. Кадры отделяются друг от друга символом LF (перевод строки). В состав кадра входит разJ1ичное число сJюв. Кадр начинается со слова, задающего его номер. Все последующие слова можно разделить на группы, предназначенные для задания подготовительных и вспомогательных команд, геометрических и технологических параметров.- Слово является составной частью кадра и содержит элемен тарную команду или параметр обработки. Оно состоит из адр<.•са 73
Тоолицо2 12 э· 4 5..8 9..12 13 ..16 17..20 F,A N232 о А о о о F,A ,S N231 о А о о о S,VКL N221 о о о о о S,VIK N222 о о о_ о о S,A N22300о А о о о S,A,PR N22400о А о о о S,Al,A2 N22300о Al А2 о о S,Al ,A2,PR N22400о Al А2 о. о USK N 6о о о о о о INST,Al ,A2,A3 N24о 3 Al А2 АЗ о INST,Al ,A2 N24о 2 Al А2 о о INST,A N24о 1 А о о о ZAGP,A N13о о А о о о PRКOR,Al,A2,A3,A4 N25о 4 Al А2 АЗ'о PRKOR,Al,A2,A3 N25о 3 Al А2 АЗ о PBEZ,A N19о о А о о о SТОР N9 о о о о о о USТOP N8 о о о о о о KONEC N10о о о о о о VSPМ,A N14о о А о о о PODG,A N15о о А о о о PAUZA,A N16о о А о о о KOR,A N20о о А о о о KOR,SL ,Al,A2 N201 о Al А2 о о KOR,SP,Al ,A2 N20-1 о Al А2 о о KOR,SL,A N201 о А о о о KOR,VIK N202 о о о о о PVR,Al ,A2,A3 N21о 3 Al А2 АЗ о PVR,Al ,A? N21о 2 Al А2 о о PVR,A N21о 1 А о о о OHL,VKL N111 о о о о о OHL,VIK N112 о о о о о RIS,VKL N401 о о о о о RIS,VIK N402 о о о о о DOHOJ,A N34о о А о о о DOHOJ N34о о о о о о OТVOD N35о о о о о о ОТНЕТ,VКL N441 о о о о о OТHET,VIK N442 о о о о о RAZGN,Al,A2,A3 ,A4 N17о 4 Al А2 АЗ А4 RAZGN,Al ,A2,A3 N17о 3 Al А2 АЗ о RAZGN,Al ,A2 N17о 2 Al А2 о о RAZGN,A N17о 1 А о о о DOPUSK,A N18о о А о о о EКVD,SL,A N501 о А о о о EКVD,VIK N502 о о о о о EКVD,SP,A N50-1 о А о о о CIKL,VKL N301 о о о о о CIKL,VIK N302 о о о о о CIKL,A1 ,A2 ,A3 ,A4, N30AlА4А2АЗ А5 А6 A5,AF,; СIК~,А1,А2,АЭ,А4,А5 N 30 Al А4 А2 АЗ А5 о CIKL,Al ,A2 ,A3 ,A4 N30AlА4А2АЗ о о CIKL,Al ,A2 ,АЗ N30Alо А2 АЗ о о CIKL,Al,A2 N30Alо А2 о о о ко N4 о о о о о о NТ,ИТ N26о о х у z о NТ,ИТ,А N26о о х у А о DТ,А1,А2,АЭ,А4 N28о о Al А2 АЗ А4 DТ,А1,А2,АЭ N28о о Al А2 АЗ о DТ,А1,А2 N28о о Al А2 о о DТ,А N28о о о о о А DТ,И'I' N28о о х у z о DТ,ИТ,А N28о о х у А о DX,A N28о о А о о о DY,A N28о о о А о о DZ,A N:18о о о о А о
и десятичного числа. Адрес Нqмер nol1tomq8umeль· обозначает имя элементар- __к_а_ир_а __: ---~ыек оманоь, ной команды или параметр и представляет собой одну из допустимых прописных букв латинского алфавита (рис. 103). /еометри11еские пораметр1,1 lёхнолоt1/11ес киепарамет р1,1 Перечень допустимых букв, используемых в качестве адресов ЧПУ «Электроника МС 2101.02», и их значения приведены ниже: Вспоиоtатель- Сим8оп l.f '6/elfDMOHdbl 1---- Рис. 103. Структура кадра Адрес N G х.У,z U,V,W А в с I,J,К F s т м D н L р Q R Значение Порядковый номер кадра Подготовительная команда для задания режима операции (линейная или круговая обработка и т. д.) Команды на перемещение по основным координатным осям (х, у, z) по дополнительным координатным осям (U, V , W) Ком а нды поворота вокруг оси х вокруг оси у вокруг оси z Координаты центра дуги или составляющие для коррекции инструмента по радиусу Скорость подачи Скорость вращения шпинделя Holl!ep инструмента Вспомогательная команда Номер корректора инструмента по радиусу по длине Число повторений программы или постоянного цикла Длительность паузы или номера проrрамм1;,1 • Значение шага в постоянном циК.llе Координата плоскости отхода в постоянных циК.11ах Г1 р И" м е ч а н и е l>vква Х испо;1ь..Jуется также для зада11ю1 д;нrн•льности паузы Десятичное число записывается в слове в соответствии с фор матом слова с десятичной точкой либо без нее. Форматы адресов ЧПУ «Электроника МС 2101 .02» представлены в табл. 3. Числа, формат которых допускает использование десятичной точки, могут записываться как с точкой, так и без нес. В послед нем случае считается, что точка находится перед последними циф рами, количество которых равно максимс1лыю доrIустимому в дан ном формате. Например: слово X30.0Q0 можно записать в виде Х30.ООО, Х + 30.000, Х30., Х + 30., ХООО30., Х + 030.0; слово СО2 -- только в виде СО2; слово 4 - в виде, 4, 04, 004., Рекомендуется заI1исывс1ть слова так, чтобы их длина была наименьшей. 75
Таблица 3 Знак Количество Десятичная Количество Подавление Адрес чиспа цифр точка цифр незначашнх ДО ТОЧКИ после точки нулей N,S, L Нет 4 .Нет Нет Есть G,М,D,Н Нет 2 Нет Нет Нет Х,У,Z,U,V Плюс 5 Есть 3 Есть F Нет 5 Есть 1 Есть Т,В Нет 4 Нет - Нет Нет р Нет 4 Нет Нет Нет 3.4 . СТРУКТУРА ПОСТПРОЦЕССОРА Постпроцессор строится из набора связанных между собой блоков (процедур). Каждая процедура выполняет определенные действия логического и вычислительного характера. Общая струк тура постпроцессора изображена на рис. 104. Конкретные пост процессоры могут не содержать все представленные на рисунке блоки в «чистом» виде. На самом деле некоторые блоки объедине ны, а некоторые разделены на отдельные процедуры. Изображен ная структура дает только общее представление. Распределение функций постпроцессора между изображенными на рис. 104 бло ками следующее: монитор осуществляет управление всеми блоками (процеду рами) постпроцессора; блок обработки перемещений выполняет: формиро вание команд на перемещение (с учетом вида и плоскости интер поляции); формирование функций для отработки коррекции на радиус и вылет инструмента; проверяет некоторые ограничения; блок В/В осуществляет чтение из CLDAТА и запись резуль тирующей УП; блок формирования кадров осуществляетвсе преоб разования, необходимые для перевода чисел в символьное пред ставление, и формирует заданные форматы адресов; /Jlipatfomкa п11ремвщении сцlис Рис. 104. Структура постпроцессора 76 f1Jорииро8ани11 lfallpo8 11иаеностика 8/8
все технологические команды (адреса F, S, М, Т, L) форми руются блоком технолоrических команд; сервисные функции постпроцессора реализуются блоком сервис. Все следующие ниже примеры написаны на алгоритмическом языке ПАСКАЛЬ. Этот язык является отличным средством для применения методов структурного программирования и благодаря своей стройности и простоте весьма доступен для изучения. . Большинство приведенных ниже процедур и алгоритмов только иллюстрируют основной подход и в таком виде не используются ни в одном из постпроцессоров. Примеры на языке ПАСКАЛЬ составлены в операционной системе РАФОС, однако все они без особого труда переносятся в другую исполнительную систему ПАСКАЛЯ. 3.5 . ОСНОВНЫЕ МОДУЛИ ПОСТПРОЦЕССОРА 3.5 .1. Управляющий модуль Управляющий модуль (монитор) может быть реализован по следовательностью операторов языка, приведенных в програм ме 40. Смысл переменных, заданных в программе, -.:ледующий: Х, У, Z - координаты -текущей точки, обрабатываемой постпро цессором; КК - счетчик кадров; ISS - ключ программы форми рования кадров; GP, G2 - плоскость и вид интерполяции; FT - текущее значение подачи; ESF, ESТIN - флаги подачи и ин струмента. 40. Монитор BEGIN(• :М11иитор*) , Х·=О·У·=О ·Z:-0 ·FWI ·-1 0: КК:,;О; iss:,;, ,·0; GP:;,O;G2~= W I; FТ:=FMAX;ESF:=TRUE; ESTIN:=FALSE; 38J'OJIOвox; (* ЧнтlUl'I' имя программы • NAMI •)' WRIТELN("PaбoтlUl'I' постпроцессор на станок ... (учпу .. . )"); WRIТELN("----------"); WRIТELN(" Проrрамма ",NAM1); REPEAT N·= N+l· Ri(ZAP.MAS,N); CASE ZAP.MAS(2) OF 26: Старт; 28: Д.ят; 32: Дяпок; 23: Подач; 22: Обороты; 11: ОхлаждеНИ8; 9: Стоп; 8: Услетоn; 24: Инс:трумаит; 13: Заrруаить; 20: Корра11ЦИЯ; 14: Вспомоrат; 4: Конец; END; UNТIL ZAP.MAS(2)=4; 77
WRIТELN('Yп ааиесена II файл ....ТХТ'); WRITELN; REPEAT WRITE(' . .. > ');READLN(KMND(l)); CASE KMND(I) OF 'L': PRI(NAMI); 'P ':PERFO; . ·т•: BEGIN TEЦNAMl);WRITELN; i.fND; - : .' : WRIТELN(' ... > Постпроцессор работу 3UOНЧWI'); ELSE WRIТELN(' :КО118ИАЫ постпроцессора L(ISТ) - П•чать УП Р (ERF) - 8ЫJ1од УП на перфоленту Т [УРЕ) - Вшюд УП на Дисплей S (ТОР] - ВЫJ:од '); END; /"CASE•/ IF KMND{I) IN ('L ', 'P', 'T ') THEN WRITELN(' . . . > ВЫ11од окончен'); UNTIL KMND{I)= 'S '; END; Монитор осуществляет управление последовательным чтени ем записей СLDАТА-файла (процедура RI) и в зависимости от типа записи передает управление соответствующей процедуре (ДВВТ - формирование кадров движения в точку). По заверше нии формирования управляющей программы возможен вызов одной из сервисных функций постпроцессора. 3.5.2. Модули обработки технологических команд Эти модули осуществляют формирование кадра, содержащего различные технологические команды. В программе 41 приведен без пояснения пример модуля, формирующего кадр включения (вы ключения) охлаждения, т. е. преобразующий оператор языка OHL, 41. Технологические процедуры PROCEDURE Охлаждение; BEGIN lF ZAP.MAS(2)=8 THEN BEGIN kk:=KK+I; VAll):=KK; VA 4):=8; UFK; END ELSE BEGIN kk:=KK+I; VA111:=KK; VA 4 :=9; UFK; END END; (*Задать номер кадра*) (*аадать МО8*) (*Формировать и аапнсать кадр*) (*Задат• номер кадра*) (•Задать МО9*) (*Формировать и ааписать кадр*) 78
PROCEDURE Инструмент; BEOIN FWIN:=ZAP.DMAS(2);(•Зaпoмmrrь номер*) ESTIN:=TRUE; END; PROCEDURE Подач; BEGIN JF ZAP.DMAS[2) > = FMAX THEN ' BEOIN (• Подача бмьше допуСТ11Мой•), ESF:=TRUE; (* Подиятьфлаrподачи•) FТ:=-FMAX (* Запомнить авачеиие *) END ELSE BEOIN ESF:=TRUE; FТ:=ZAP.DMAS[2); END END; VKL[VIK] и модули обработки операторов F (подача) и INST (инструмент). Тек<;ты этих модулей позволяют пояснить основ ные приемы программирования. 3.5.3 . Процедура форм"рования движения в точку В результате выполнения этой процедуры формируются кадры, . содержащие адреса N, Х, У, Z, Т, F (программа 42). Смысл используемых переменных ясен из приведенных коммен тариев. Поскольку функция, задающая линейную интерполяцию (G2), действует модально, то в начале процедуры проверяется на- 42. Процедура «Дви~ен"е по прямой~. PROCEDURE Дввт; BEGJN IF 02#1. (* Задать .яииейиуJо иитерпояяцmо *) THEN BEOIN 02:=1.; VA(2):=1.; END; DX:=X-ZAP .DMAS[2); DY:=Y-ZAP .DMAS[3); DZ:=Z-ZAP.DMAS[4); IF (ZERO(DX)IO.)OR (ZERO(DY)#O.) OR (ZERO(DZ)#O.) (• ПеремещеНllе допустимое?*) THEN BEOIN ,,,,- KK:=KK+t; (• Задать номер кадра*) VA(1):=KK; IF ZERO(DX)IO THEN BEOIN VA(1SJ::a:ZAP.DMAS(2);(• Занести аиачеиие адреса Х *) OKR(VA[IS)); VA[IS):=VA(IS)*CI;(• Перевести ведиинцы станка•) IF VA(1S)=O . THEN VA[IS):zWI; (• Минмыll нот.*) БND; 79
IF ZERO(DY)#0 THEN BEGIN VA(16]:=ZAP.DMAS(3]; OKR(VА(16]); VA(16):=VA(16J•CI; IF VА(16)=0. THENVA(16]:=W1; END; IF ZERO(DZ)#O THEN BEGIN IFFWl#O THEN BEGIN (• Коррекцюr в:ыиета *) IF (VA[IS]#O) OR (VA(16]#0) THEN BEGIN UFK; KK:=KK+l; VA(l):=KK; END; VA(14]:=FWI;(• Задать эвачение адреса О•) VA[6]:=44; (• Задать функцию коррекции 044 *) FWl:=0.; (• Опустить флаr •) END; VA(17]:=ZAP.DMAS(4]; (• Отработать движение по z•) OKR(VA(l7]); , VA(17]:=VA(17]*CI; • IFVAft7]=0. ТНЕN VA(17]:=W1; END; IFESF THEN BEGJN VА(24): = FТ; (• Задать эвачеиие адреса Р) ESF: = FALSE (• Опустить флаr подачи•) END· UFK;' END; X:=ZAP.DMAS[2); (• Установить текущие координаты•) Y:=ZAP.DMAS(З); Z:=ZAP.DMAS(4); END; личие флажка и в случае необходимости выполняется формирова ние значения функции. Функция ZERO проверяет минимально до пустимое перемещение для станка. Функция OKR выполняет округление значений числа до допустимого системой УЧПУ. Мно житель С 1 (цена импульса) преобразует значение координат в значения, отрабатываемые системой УЧПУ - станок. При нали чии флага подачи в кадр под адресом F помещается значение подачи. 3.5 .4 . Процедура формирования кадра Прежде чем какая-либо процедура вызовет программу форми рования кадров, блок обработки готовит для нее информацию в специальном одномерном массиве вещественных чисеJ! (условно назовем его вектор А). Размерность этого массива берется с неко торым за11асом и, как правило, не превышает 15-20 -элещ•нтов: 80
VAR VA: ARRAY [1 .. 20] OF REAL; Каждый элемент этого массива соответствует определенному адресу в кадре управляющей программы: VA [2.J - адресу G; VA [15] - адр·есу Х; VA[16] - адресу У; VA [17) - адресу Z; VA [ 18] - адресу F и т. д. в зависимости от структуры кадра. Например, если подпрограмме формирования кадров передан векторVA[2]=1;VA[15]= - 15.3; VA [16] =0; VA [17) = = 18; VA [18] = 100, то подпрограмма должна сформировать кадр: G0I Х-001530 Z + 1800 F 0100. В примере дан некоторый абстрактный кадр на абстрактный станок. Разработчик постпроцессора должен сам определить содержа ние вектора ·А и структуру кадров, которым соответствует это со держание. Вывод сформированных кадров выполняет подпрограмма фор мирования кадров. Основные функции, выполняемые подпрограм мой формирования кадров, следующие: 1) элементный анализ вектора А; 2) преобразование компонент вектора А из внутреннего пред ставления (плавающая запятая) во внешнее (символьное); 3) заполнение кадра символами. При этом заполняется спе циальный байтовый массив (вектор В), зарезервированный на кадр максимальной длины; 4) вывод вектора В; 5) очистка векторов А и В для следующего заполнения, воз врат в основную программу. Унифицированная подпрограмма формирования кадров приме нима для систем ~ЧПУ, работающих в кодах ISO. Использование этой подпрограммы снимает с разработчика постпроцесс_ора заботу о модуле формирования кадров. Настройку подпрограм мы производит сам пользователь, заполняя специальный «ключ». Удачное применение указанной подпрограммы позволяет сокра тить объем разработок при проектировании нового постпроцессо радо40%- Рассмотрим понятие «мнимого нуля». Далеко не во всяком кад ре управляющей программы присутствуют все адреса вектора А. Например, может быть совсем короткий кадр: N 123Х - 33 .2 . Откуда подпрограмма формирования кадров «узнает», что все компоненты, кроме VA [ 15], не следует преобразовывать в сим волы? Все, что не нужно переводить в символы, в векторе А за полняется вещественным нулем: VA [К] = О.О, но как отличить нуль координаты, например, от признака «не преобразовывать»? Ведь впол не возмощ_ен кадр: N 12ХОУО. Мним1>1й нуль - это специально подобранная для данного станка вещ(.'ственная величина (WI = 0.001). Ни при каких об стоятеJ11,ствах компонента вектора А не может стать м11имым 11у лем, кроме случая, когда с11ециально будет установле11а гJJавной программой. Например, если в векторе А записано VA [6]: = WI, то будет сформирован кадр Nl2X0... 81
Таким образом, все, что равно мнимому нулю, преобразовы вается в символьный нуль, а все, что равно вещественному нулю (О.О), пропускается при формировании кадра. Вторым предназначением мнимого нуля является ero исполь зование на проверку равенства нулю: IF ABS(X) < =Wl THEN Х:= 0 (процедура ZERO) - если абсолютное значение переменной Х меньше или равно мнимому нулю, то Х можно считать равным нулю. _ Универсальность подпрограммы, т. е. возможность применения ее для проектирования различных постпроцессоров, достигается заданием на входе ее так называемого «ключа» в виде двухмер ного байтового массива CL: ARRAY [1 ... 3. l . . N) OF CHAR. При проектировании постпроцессора разработчику для испо/1ьзования подпрограммы UFK достаточно присвоить значения элементам CL любым удобным для неrо (разработчика) способом. Структура «ключа» следующая: 1-я строка представляет собой коды адресов, соответствую щие вектору VА [N] . Каждый элемент вектора А соответствует элементу 1-й строки массива CL. Например, VА [ l] соответствует адресу N, VA [2] - адресу Х, VA [З] - адресу У и т. д, Тогда разработчик должен присвоить элементам 1-й строки следующие значения: CL [l, l] : ='N'; CL [1,2):='Х'; CL [l, З]: ='АДРЕС'. Числа в кадре УП могут быть представлены в различном фор мате: в формате с ведущими нулями, в уплотненном формате, в уплотненном формате с десятичной точкой. Например, число 125.65 может быть представлено в кадре УП следующим образом: 0012565- формат с ведущими нулями (число позиций 7); 12565 - уплотненный формат, т. е. то же, что и в предыдущем случае, но упускаются ведущие нули; 125.65 - уплотненный формат с десятичной точкой. Поскольку формат значений адресов может быть различным, во 2-ю строку массива заносятся коды форматов: CHR (ORD ('1')) - ведущими нулями; CHR (ORD ('2')) - уплотненный; CHR(ORD('З')) - уплотненный с десятичной точкой. Дм1 кода CHR (ORD ('l')) в 3-ю строку CL заносится число позиций значения адреса. Таким образом, структура одного столб ца CL следующая: CL (1, J) : = 'адрес'; '1' - формат с ведущими нулями; CL[2,J):='2'- уплотненный формат; 'З' - уплотненный с десятичной точкой; CL [З, J) : = 'число позиций' (для CL [2, J1: = '1 '). При поступлении на вход подпрограммы вектора А на выходе 110J1учим кадр УП с адресами, 11редставлс1111ым~1 в 1-й строке CL, и значениями адресов, задаваемыми вектором А. Причем, если зна- 82
чение элемента VA [J] : = 0.0001 (мнимый нуль), то адрес CL (1, J] в кадре равен 'О'. Кроме массива ключа CL разработчик постпроцессора должен заполнить двухмерный байтовый массив MPS. В него рекомен дуется занести некоторые специфические строки, которые бывают необходимы в управляющей программе. Например, кадры типа %; L00l и др. Вообще в массив MPS рекомендуется заносить строки, кото рые не вписываются в схему адрес-значение. Приведем пример формирования некоторого абстрактного кадра. Пусть имеем следующие входные данные: VA (l]: =89; VA (2): =200; VA (3) :34,5; VA (4): =45; CL (1, l]: ='N'; CL (1, 2): ='Х'; CL (1, 3): ='У'; CL(1,4):= 'Z'; CL (2,l):'1';CL(2,2) :'l';CL(2,2):='1';CL(2,3):='3'; CL (2, 4) :='1:; CL/3,l):='4';CL(3,2):='7';CL(3,3):='0'; CL 3, 4]:='7'. Тогда на выходе получим кадр N0089 ХООО200 У34.5 Z0004500. Переменные, которыми з.адаются режимы работы модуля, опи саны ниже: переменная ISS указывает номер строки из массива MPS, которую необходимо выдать на внешнее устройство. Если ISS = О, формируется кадр УП на основании данных из вектора ·А и массива CL без использования MPS. 3.6 . ЭТАПЫ ПРОЕКТИРОВАНИЯ ПОСТПРОЦЕССОРА Самым первым и самым важным шагом проектирования пост процессора должно быть изучение оборудования с ЧПУ. Докумен тация, содержащая все необходимые сведения, поставляется вместе с оборудованием. Из всего комплекта документации для разработчика постпро цессоров необходимы: инструкция по ручному программированию, описание алгоритмов функционирования УЧПУ, а также докумен ты, включающие паспортные данные и общую схему станка. Ин струкция, составленная предприятием-изготовителем станка, по вторяет инструкции для системы управления, но учитывает осо бенности программирования для сочетания «~истема управле ния - станок». На практике, однако, оказывается, что некоторые даtIные отсутствуют либо изложены в труднодоступной форме. Как правило, при вводе в эксплуатацию новоrо оборудования с ЧПУ первые УП готовятся технологами ручным способом, при ис11ользоваtIии которого выясняются все узкие места. Потом эти сведения передаются разработчику постпроцессоров. К да11ным о системе управJIения, необходимым для "роекти рования постпроцессора, относятся: функции системы УЧПУ; до куменпщия для ручного программирования; ограничения систе мы ЧI IY. Для разработчика постпроцессоров представляют интерес I1ро- 8З
граммоуправляемые функции УЧПУ. С учетом обозначения по ре комендациям ISO это функции: управление движением по коор динатам станка (Х, У, Z, U, V, W); управление вращательным движением вокруг осей станка (А, В, С); управление позициони рованием и сменой инструмента (Т); управление скоростью пере мещения инструмента (F); управление коррекцией; подготови тельные функции (G); вспомогательные функции (М) и т. п. Изучать функции рекомендуется по следующей схеме: 1) определение назначения функции с точки зрения реализуе мых ее процессов на станке; 2) определение единиц измерения и области допустимых зна- чений функции; . 3) представление формата значения функции и способа коди рования на носителях информации; 4) определение пределов возможности функции и совместимо сти ее с другими функциями системы управлеf!ИЯ. Параллельно изучению функций системы управления разра ботчик постпроцессоров приобретает навык ручного программи рования. Для освоения ручного программирования разработчик должен изучить основные правила кодирования, структуру кадра и формат перфоленты, рекомендованную последовательность слов в кадре, описание использования функций системы управления. Разработчику постпроцессора целесообразно составить - не сколько управляющих программ, включающих использование ос новных функций (F, Х, У, Z, Т, М). Другую группу данных, с которыми необходимо познакомить ся, составляют данные о станке. К ним относятся: компоновочная схема, ограничения станка, функции станка. Полезной информацией, представленной на компоновочной схеме, является расrюложение осей координатных перемещений. К ограничениям станка относятся; пределы перемещений ис полнительных органов; допустимые скорости перемещения испО.11- нительных органов станка; допустимое ускорение перемещения исполнительных органов станка; совместимость перемещения ис полнительных органов станка. Функции станка в основном повторяют функции системы уп равления, однако могут иметь место некоторые различия. Функции в данном случае анализируются с точки зрения работы станка. Ог.ределением рабочего подмножества обрабатываемых nост проuессором операторов завершается сбор всех необходимых дан ных для проектирования постпроцессора. Выше было дано описание языков системы и логическая струк тура промежуточного формата. При проектировании постпроцессора определяется множество операторов (и соответственно записей промежуточного формата), которые будут обрабатываться. Сюда входят все операторы дви жения, операторы задания технологических команд подачи, ско рости вращения шпинделя. 84
3.7 . ТЕКСТ ПОСТПРОЦЕССОРА ДЛЯ СТАНКА СВМ (УЧПУ 2Р32) Приведенный текст постпроцессора (программа 43) иллюстри рует применение унифицированных бло_ков, описанных в данной главе. В постпроцессоре используются две внешние процедуры ENCODE и DECODE, реализация которых зависит от исполь зуемой в~рсии транслятора с языка ПАСКАЛЬ. 43. Постпроцессор на станок СВМ (УЧПУ 2Р32) PROGRAM SYM; (• Посmроцессор на станок СВМ (УЧП'V 2Р32) 8111118JWD,1Й фаЙ11 IIОМПОНОПН SVM.COM в- процедуры: ENCODE DECODER *) LAВEL 1; ТУРЕ ZAPISCLF= RECO.RD CASE INTEGER OF 1:(BMAS:ARRAY[t ..40)OF CHAR); 2:(MAS:ARRAY(1 ..20)OF INTEGER); 3:(DMAS:ARRAY[l..S)OF REAL); END; A=ARRAY(1 ..20)0F INTEGER; VE=ARRAY(t.. 40) OF REAL; TEXТ4=ARRAY(t..4) OF CHAR; CLFIL=FILE OF INТEGER; TX14=ARRAY(t ..14) OF СНАR; CONST Wt=0.00001; FMAX=SOOO; SMAX=2000; С1=1000; VAR KK,N,l,IUS,ISF,ISS:INТEGER;FP:TEXТ;VA:VE; ZAP:ZAPISCLF;X,Y ,Z,DX,DY ,DZ:REAL;KMND:ALFA; ESnN,ESS,ESF:ВOOLEAN; FТ:REAL; NAM1:ALFA; XNT,YNT,ZNT:REAL ;(• е111ещенне ц.с.JС*) PF:CLFIL; UPZ:INTEGER ;(•Номер ааписи CLFIL •) GP:INТEGER; (• Throclcocn. 111mtрпо1UЩИИ •) G2:REAL; (• Приавак 1111'1'8pllOIUIЦU *) FWl:REAL; (• ф1/8r 8111рре1СЦНJ1 на BWМ'I' •) FWIN:REAL; MF:REAL; NP:REAL.(* Номер Проrраммw •) FK4S:REAL;(• Флаr фующнн G4S-cr.llUIRllaннe наJ)У8НW11 8111нтуро8 •) ST:ВOOLEAN; LEN:REAL ;(• Рuмер SVM.TXT в 6/loкas•) PROCEDURE TEЦNAMl:ALFA); VAR PF:TEXT;SIM:CHAR; BEGIN RESET(PF,'U:SVM.TXT '); WRITELN(' Проrрамма ', NAMI); WRITELN; WHILE NOT EOF(PF) 00 IF EOLN(Pf) THEN 85
BEGIN READLN(PF); WRITELN END ELSE BEGIN READ(PF,SIM); IF SIM 1N ('A '. . 'Z') THEN WRITE(' '); WRIТE(SIM); END; CLOSE(PF); END; PROCEDURE PERFO;(* BЬDIOA на перфопенту *) VAR F:TEXТ;A:CНAR;L,Lt:INTEGER; NAM:ARRAY(t .. tSJ OF СНАR; RKS ORIGIN 177SS4B :INTEGER ; RD ORIGIN 177SS6B: CHAR; PROCEDURE OOBBП(VAR simwol:CHAR); CONST DEL=2B; VAR P,PT,PZ:INTEGER; BEGIN Р:=2008; РТ:=О; PZ: = ORD(simwol); REPEAT P:=PDIVDEL; IFPZANDP#0 THEN PТ:=SUCC(PT); UNTILP=t; IFODD(PТ) THEN PZ:=ORD(simwol)+200B; simwol: =CHR(PZ); END; PROCEDURE WIWSIM(SI:CHAR); BEGIN WHILE (RKS AND 200В) =О 00; RD:=SI; END; BEGIN RESET(F,' U:SVM.ТХТ'); Lt:=RKS; RKS:=0; FOR L: = 1 ТО 200 00 WIWSIM(CHR(0B));(• проrон•) REPEAT REPEAT READ(F,A);(• получить символ •) IF A#CHR(40B) THEN BEGIN OOBBIT(A); WIWSIM(A); END; UNTIL EOLN(F); WIWSIM(CHR(\28)); READLN(F); FOR L:= 1 ТО S 00 WIWSIM(CHR(0B)); UNTIL EOP(F); FOR L: = 1 ТО 200 00 WIWSIM(CHR(0B));(• проrон •) CLOSE(F); RKS:=LI; END; 86
PROCEDURE PRl(NAМl:ALFА); ТУРЕ SТR72=ARRAY[l .. 72] OF CHAR; CONST RAS=36; VAR LP,PF,PFl:TEXТ;Sl:CHAR;OST,K,l:INTEGER; BUFI.ВUF.ВUFP:SТR72; PERENOS:ВOOLEAN; PROCEDURE INIТ; VAR l:INTEGER; BEGIN PERENOS:=FALSE; FORl:=1ТО7200 BUF[I]: = "; FOR 1:= 1ТО7200 BUFP(I]:=' '; FOR 1:=1ТО7200 BUFi[I]:=' '; END; BEGIN RESET(PF,'U:SVM.TXТ'); RESET(PF1,' U:SVM.TXT '); REWRIТE(LP,'L P:'); 1:=О; WНILE NOT EOF(PF) 00 IF EOLN(PF) THEN • BEGIN 1:=1+1; READLN(PF); END ELSE READ(PF,SI); RESET(PF); OST:=IMOD2; l:=IDIV2; К:=О; WНILE K#I 00 BEGIN К:=К-+ 1;READLN(PF1,BUF);END; К·=О: WRIТELN(LP,' Ynpu.lllllDщaя программа ц станок СВМ(2Р32)'); WRITELN(LP,'------ ----'); WRITELN(LP,' Программа ',NAMl); WНILE NOT EOF(PFl) 00 BEGIN INIT; READLN(PF1,BUF); IF NOT EOF(PF1) THEN READLN(PF,BUFl) ELSE IF OST=0 THEN READLN(PF,BUFl); K:=RAS+ 1;1:=О; WНILE BUF1(KJ<>'' 00 BEGIN 1:=1+1; BUFP(I): = BUF1(K]; К:=К+1; PERENOS:=ТRUE; END; K:=RAS+ 1;1:=О; WHILE BUF(K)< >'' 00 BEGIN 1:=1+ 1; BUFP[I + RAS):= BUF(K); K:=K+I; PERENOS: =TRUE; END· FOR К:=1 то RAS 00 BU'Fl(K +RAS]:= -B UF[K]; WRIТELN(LP,BUF1); IF PERENOS THEN WRITELN(LP,BUFP); END; END; FUNCТION DECODR(VAR S:TX14):REAL;EXTERNAL; PROCEDURE ENCODE(XPA:REAL;VAR SIMS:TX\4;KS,PT:INTEGER );EXTERNAI 87
PROCEDURE UFК; ТУРЕ SТR=ARRAY(l..14) OF CHAR; ТSO=ARRAY(l"80) OF СНАR; VAR Jr.ТSO;CL:ARRAY[l..3,1 . .40) OF CHAR; MPS:ARRAY[l.. 10,1 . .40] OF СНАR; J,K,N,l,L:INТEGER; S:REAL; A:SТR; PROCEDURE WRIТLEN(l":TEXT;Pl:TSO); BEGIN LEN:=LEN-80./Sl2.; ENCODE(S,Al,9 ,1); N:=ORD(CL(З,J))-ORD('0'); Jl:=O; REPEAT Jl:=Jl +1 UNТIL Al(Jl)='.' ; FOR JЗ:=1 ТО (Jl-1) 00 BEGIN В[L]:=Al(J3); L:=L+l END; END; END; IF LEN <О PROCEDURE f"UD(S:REAL); ТНЕN VAR BEGIN Al:SТR;Jl,J2,J3:INTEGER; WRIТELN(' Нет места• фаАп U:SVM.ТXT '); BEGIN GOТOl; IFS=Wl END THEN ELSE WRITELN(P,Pl); BEGIN END; В[L]:='О'; PROCEDURE FWO(S:REAL); VAR Al:SТR;J1,J2,J3:INТEGER; BEGIN IFS=Wl THEN BEGIN В[L]:='О'; L:=L+l; END ELSE BEGIN ENCODE(S,Al,9 ,1); N: =ORD(CL(3,J))-ORD('O'); Jl:=O; REPEAT Jl:=SUCC(Jl); UNTILAl(Jl)=' . '; JЗ:=1; FORJ2:=1ТОN00 IF J2<(N-Jl+2) THEN A(J2):='0 ' ELSE BEGIN A(J2):=Al(J3); JЗ:=JЗ+l END; FOR JЗ:=1 ТО N 00 BEGIN В[L):= А[JЗ]; L:=L+l END; END; END; PROCEDURE FUP(S:REAL); VAR Al:STR;Jl,J2,J3:INTEGER; BEGIN JFS=WI THEN BEGIN В[Ц:='О'; L:=L+l; END ELSE BEGIN L:=L+l; END ELSE BEGIN ENCODE(S,Al ,12 ,3); Jl:=14; REPEAT Jl:=Jl-1; UNTIЦAl(Jl)#'0') AND (Al(Jl]#' '); FORJЗ:=1ТОJl 00 BEGIN В[L):=Al(JЗ]; L:=L+l END END END; BEGIN(*UFK*) 88 BEGIN FORL:=lTOЗOO FORJ:=l TO2SOO CL(L,J):=' '; FORL:=l ТО8000 В[L):=' '; FORL:=lTOl0OO FORJ:=l ТО4000 MPS(L,J): =' '; CL(l,l):= 'N '; FOR I:=2 ТО 14 00 CL(l,IJ:='G'; CL(l,14):='D '; CL(l,lS):='X '; CL(l,20):='I'; CL(l,16):='Y'; CL(l,21):='J'; CL(l,17):='Z'; CL(l,22):='K'; CL(1,24):='F ';CL(1,2S):='S '; CL(l,26):='T';CL(l,27):='M'; CL(t,29):='D '; CL(l,31):='% ';CL(2,31):='2 '; FORl:=2TO29 00 BEGIN CL(2,I): = '2'; END; CL(2,1): = '2';FOR 1: = IS ТО 2S 00 СЦ2,1): = '2'; CL(2,14): = '1 ';СL(З,14): = '2'; END; L:=I; JF ISSIO THEN BEGIN
J:=41; REPEAT J:=J-1 UNТIL MPS(ISS,J)#' '; FORl:=1 ТОJОО BEGIN • В(L):= MPS(ISS,I); L:=L+I END; END ElSE ВEGIN FORJ:=1 ТО4000 BEGIN IFVA[J]#O. ТНЕN BEGIN В(L]: = CЦl,J); L:=L+t; IFCЦ2,J)='1' THEN PWO(VA[J)); IFЩ2.J]:z'2' . ТНЕN FUP(VA(JD; IF Щ2.J]= '3 ' ТНЕN FUD(VA[J)); END END; END; WRIТLEN(FP,B); FORJ:=1 ТО4000 VA[J]:=O . END; (•UFJC•) PROCEDURE OKR(VAR PER:REAL); (• OJIIIYI'-- АО 'l'Jl81: ... _ •) VAR MIN:ARRAY[t .. 14) OF СНАR; MINUS:ВOOLEAN; ВEGIN (-OKR•) IFPER<O. . ТНЕN MINUS:=ТRUE ElSE MINUS:=FALSE; ENCODE(PER,MIN ,0 ,3); PER:=DECODR(MIN); IFMINUS ТНЕN PER:=PER•(-1 .); END; (•OKR•) FUNCТION ZERO(Xl 1:REAL):REAL; BEGIN ZER0:=1 .; IF AВS(Xl 1)<0.0005 ТНЕN ZERO:=0. END; PROCEDURE Rl(VAR K:A;auvup:INTEGER ); VAR l:INТEGER; BEGIN REPEAT 1·-О: Rl!;EAT 1:=1+1; K(I)::zPF"; GET(PF); UNTIL1=20;• UPZ:=UPZ+ 1; UNТIL UPZ•auvup; END; 89
PROCEDURE korsi; BEGIN ZAP.DMAS(2J:=ZAP .DMAS[2J-XNT; ZAP.DMAS[3):=ZAP.DMAS[3)-YNТ; ZAP.DMAS[4J:=ZAP.DMAS[4J-ZNТ; END; PROCEDURE za1olowok; VAR l:INТВGER; BEGIN N:=2; RJ(ZAP,MAS,N); FOR 1:= 1ТО1000 NAМl(IJ:=ZAP.BMAS(IJ; END; PROCBDURE start; BEOIN VA[31):=NP;UFK; ESS:=ТRUE; X:=ZAP .DMAS(2); Y:=ZAP.DMAS(ЗJ; Z:=ZAP .DMAS(4J; XNТ:=ZAP.DMAS(2]; YNТ:=ZAP.DMAS(3]; ZNT:zZAP.DMAS(f); END; VA[16J:=ZAP.DMAS(3J; OKR(VA[lбD; VA[l6J:=VA[16J*CI; JF VА[lб)=О. THEN VA[16J:=Wl; END; . IF ZERO(DZ)H ТНВN BEGIN JFFWl#O THEN' ВВОIN (• 111Орре11СЦВЯ 11ЪШеТа*) IF (VA[lS)#O) OR (VА[16]#0) THEN BEGIN IFВSF _, ТНЕN BВGIN VA[24J: = FТ;ВSF: = FALSE END; UFK; KK:=KK+l; VA[lJ:=KK; END; VA[14J:=FWI; VA(6]:=44;FWl:=O.; BND; VA[17):=ZAP.DMAS(4J; PROCBDURE dwwt; OKR(VA[l7)); BEOIN VA[17]:=VA[l7)*CI; korsi; IF VA[17]=0. IF 02#1, THBN VA[l7): = Wl; THEN BND; IF 02#Wl IF ВSF ТНВN THEN BEGJN BEOIN 02:=1 .; VA[24J:=FТ;ВSF:=FALSE VA[2J: = 1 .; END; END; IF ВSТIN IFESS THEN THEN (• пepudt адр ?•) ВВОIN ВВGIN VA[26J:=FWIN;VA[27):=12; VA[4):=90; ВSТIN:=FALSE VA[SJ:=17;GP:=17; END; ESS:=FALSE; UFK; FWI:= 1; END; END; X:=ZAP .DMAS(2]; DX:=X -ZAP.DMAS(2J; Y:=ZAP .DMAS(3); DY:=Y -ZAP .DMAS(3]; Z:=ZAP .DMAS(4J; DZ:=Z -ZAP .DMAS(4]; END; IFFK4S#O.O THEN VA[3):=4S.; 'k PROCEDURE dwpok; IF (ZERO(DX)H.)OR (ZERO(DY)#O.) OR (ZERO(DZ)#O.) VAR THEN XC,YC,ZC ,PP:REAL; ВEOIN BEOJN KK:='! .K+l; РР:=02; VA[1J:=KK; IF ZAP.MAS(3)=- l. JF, ,~RO(DX)#O THEN THBN BEGIN BEGJN IF 02#3. VA(1S):=ZAP.DMAS(2); THEN 02:•3. OKR(V A[lS]); END VA[lS):=VA[lSJ*CI; ELSE IFVA[lS)•O. BEOJN THENVA[l.S):=Wl; IF02#2. BND; THEN 02:•2. IF ZERO(DY)#O END; THEN VА[2]: •02; BEGIN JFESS 90
ТНВN (• ueplll,dt IIIIAJI •) ВВGIN . VA(4):=90; VA(S):=17;GP:=17; ESS:•FALSE; FWl:•1; END; IFG:Z=l "P ТНВN V A(:ZJ:=O.; konl; XC:=ZAP .D =f:Zl ;OKR(XC); YC:=ZAP.D 3 ;OKR(YC); ZC:=ZAP .DM 4 ;OKR(ZC); CASBGPOF 17: BSGIN V A(:ZO):=XC-X. - OKR(VA(:ZOD: V A(20):=VA{:ZO)-cJ; 1F VAl:ZO)=O. ТНВN V A{:ZO):=W1; V A(:Z1):=YC-Y;OKR(VA{:Z1)); V A(:Z1):=VA(:z1ra: 1F V A{:Z1)=0. ТНЕN V A(:Z1):=W1; END; 18: ВВGIN V A{:ZO):=XC-X;OKR(VA{:ZO)); V A{:ZO):•VA(:ZOJ'"CJ; 1F VA(:ZO)=O. ТНЕN VA{:ZO):•Wl; V A{:Z:Z):=ZC-Z;OKR(VA(:Z:ZJ); V A{:Z:Z): = V A{:Z:Z)'"CJ; 1F V A[:z:z)=0. ТНВN VA(:Z:ZJ:=W1; END; 19: ВSGJN VA(:Z~:=YC-Y;OKR(VA{:Zф; VA(:Z1 :=VA(21)*CI; IFV 21)=0 . ТНВN V A{:Z1):=W1; V A(:Z:Z1:=ZC-Z;OKR(VA(:Z:ZD; V A{:Z:Z : = V A{:Z:ZJ'"CJ; 1F V A(:z:zJ=O . ТНBNVA(:Z:ZJ:=W1; BND; BND; (•CASS-) N:=N+2;Rl(ZAP.MAS,N)",korsl; VA{15):=ZAP .DMAS(:Z);OKR(VA{15));VA(15):=VA{l5J•CI; VA(16):=ZAP.DMAфl;OKR(VA{16));VA(16):=VA(16)*CI; V A(17):=ZAP.DМAS[4 ;OKR(VA{17));VA{17):=VA{17)*CI; IFVA{15)•0 ТНВN VA{15):=W1; IFVA{16)=0 THEN VA{16):=W1; IFVA{17)=0 ТНЕN VA{17):=W1; IFGP•17 ТНЕN VA{17):=0.; IFGP•18 THEN VA{16):•0.; IFGP•19 THEN VA(l5J:=0 .; IFESF THEN IF FТ#FMAX ТНЕN ВSGIN 91
VA(24):=Fl';ESF:=FAl.SB END; IFESТIN ТНВN ВВОIN VAl26]:=FWIN;VAl27]:=12; FWiN:=O;ВSТJN:=FALSB ВND; KK:=KK+1;VA(1):=KK;UFK; X:•ZAP.DMAS(2];Y:•ZAP.DMAS(Э];Z:=ZAP.DMAS(4]; END; PROCEDURВ konec; ВВОIN KK:•KK+1;VA(1]:=KK;VA(27]:=2;UFК; KK:•KK+1;VA(1):=KK;VA(27):=ЭO;UFК; ВND; PROCEDURВ korrekclq; VAR ZPl:RВAL;Px,PY,KODKOR:INТEGВR; BВOIN KODКOR:=ZAP.MAS(Э]; 1F (ZAP.MAS(ЭJ= 1) OR (ZAP.MAS(Э)=-1) ТНВN ВEGlk IFESS ТНВN(*аерudадр•) ВВОJN VA(4):=90; VA(SJ:= 17;GP:•17; ESS: = FALSВ; FWl:•1; END; РХ:=0-,РУ:•О; IF ZAP.МAS(3)=1 ТНВN VA(2]:=41 . ElSE V А(2):=42.; ZPl:=ZAP.DMAS(2]; VA(14]:=ZAP .DMAS(3); N:=N +1;Rl{ZAP.МAS,N);konl; IF (ZAP.DMAS(Э]-Y)•0. THBN(• No■■- no У*) ВВОIN V A(16]:=ZAP.DMAS(Э); OKIЦVА(16]); IFVA(16)•0 ТНВN VA(16]:=W1; VA(16]:=VA(16)*CI; PY:•f ВND ElSB (• ...,_no Х *) IF (ZAP.DMAS(2)-X)#O. ТНВN WRIТВL:,r(•Н.-JIII•- ....,...щeвn-pa'IOJI N ';LAP.MAS(t)) Е1SВ ВВОIN VA(15):•ZAP.DМAS(2]; OKa(VА(15)): IFVA(IS)=O ТНВN VAl15]:•WI; VA(t5):•VA(i5]8CI; РХ:•1 ВND; X:•ZAP.DMAS(2); Y:•ZAP.DMAS(Э); JFPX•t ТНВN VA(2t):•ZPI ElSB VA(20):•ZPI; 92
KK:=KK+1;VA(t]:=KK;UFK; END ELSE BEGJN (• ICOJlll8IIФUI FК4S *) IFKODKOR=2 ТНЕN BEGIN VA(2]:=40;KK:=KK+1;VA[1):=KK;UFК; END ELSE ВEGIN (• КopJIUЦIUI А/18 вар. -•••нв1В1111 *) IF ZAP.DMAS{2)=4S. ТНЕN FK4S:=4S. ELSE FK4S:=O .O END; END; END; PROCEDURE lnstrument; BEGIN FWIN:=ZАР.DМАS{2);(• Запомвнть-ер •) ESТIN:=ТRUE; END; PROCEDURE zaaruzitx; ВEGJN lFESS ТНЕN (• Пepllld 1C8,1Q1 *) ВEGIN VA(4):=90; VA(S):=17;GP:=17; ESS:=FALSE; FWl:=1; END; IFG2#0 ТНЕN BEGtN VA[2):=W1;G2:=0. END; IFl!SТIN ТНЕN BEGtN VA[26):=FWIN;VА[27):= 12; ESТIN:=FALSE; END; FWI:=FWIN; VA(3]:=28;VA[17):=W1; KK:=KK+1;VA(1):=KK;UFK; VA(IS):=wt;VA(16):=W1;VA[2):=28; KK:=KK+1;VA(1):=KK;UFK; • VА[27): =6;VА[26):= ZAP.DMAS{2); KK:•KK+1;VA[l):=KK;UFК; X:=O.O;Y:=O.O;Z:=O.; END; PROCEDURE pod■ Y; BEGJN IF ZAP.DMAS{2) > = FMAX THEN BEGIN IF (G2> •2.) AND (G2< =3 .) THEN ВEGIN ESF:•ТRUE;FТ:=FMAX END ELSE BEOIN 93 02:=Wl;VA[2):=0;ESF:=FALSI END END ELSE ВEGIN ESF:=ТRUE;FТ:=ZAP.DMAS{2] IFG2=WI ТНЕN02:=О. END END; PROCEDURE oЬoroty; VAR P1,P:REAL;PER:ВOOLEAN; BEGJN PER:=FALSE; IFMF = 1. THEN PER:=ТRUE; IFMF = S. THEN SТ:=ТRUE ELSE ST:=FALSE; CASE ZAP.MAS{3J OF 1: MF:=3.; 2: MF:=S.; 300: MF:=3.; 400: МР:=4.; END; IFMF = S. ТНЕN SТ:=ТRUE; IF ZAP.DMAS{2J=O. ТНЕN ZAP.DMAS{2]:=SMAX; IFMF=S. ТНЕN ZAP.DMAS{2):=0 .; P:=ZAP.DМAS{2); IFP<= 2000. ТНЕN Р1:=19. ELSE Р1:= 19.; IFP<= 1600. ТНВN Pt:=18 .; IFP<= 1250- ТНЕN Pt:=17.; IFP<= 1000 . THBN Р1;=16.; IFP<= 8о0. THEN P1:=1S.; IFP<= 630 . ТНЕN Pt:=14 .; IFP<= 500. ТНЕN Pl:=13 .; IFP<= 400 . ТНЕN Pl:=12.; IFP<= 315 . THEN Р1:•11.; IFP<= 250. THEN Р1:=9.; IFP<= 200 . THEN Р1:=8.; IFP<= 160 . ТНЕN Р1:=7.; IFP<= 12 '. ТНЕN Р1:=6.; IFP<= 100 . THEN P1:=S.; IFP<• 80. THEN 1'1:•4.; IF Р<• 63. ТНЕN Р1:•3.; IFP<• SO. ТНЕN Pl:•2.; IFP<= 4о. ТНЕNР1:=1.;
IFP=О. ТНЕN Pt:=O.; IFPER THEN BEGIN KK:=KK+t;VA(t);=KK; VА(27): =MF; VA(2S):=PJ;UFK; END ELSE BEGIN IFST ТНЕN ВEGIN KK:=KK+t;VA(t):=KK; VA(27): 8 MF;VA(2S):=Pt;UFK END ELSE BEGIN KK:"7"KKH;VA(t):=KK; VA(27):=S.;UFK; KK:=KK+t;VA(t):=KK; VA(27):=MF;VA(2S]:=Pl;UFК; END END END; PROCEDURE oьtavdenle; BEGIN 1Р ZAP.MAS(З]= 1 ТНЕN VA(27):=8; IF ZAP.MAS(3)=2 ТНЕN VA(27):=9; КК:=КК + t;VA(t):=KK;UFK; END; PROCEDURE stop; BEGIN KK:=KK+t;VA(l):=KK;VA(27]:=Wt;UFK; END; PROCEDURE uslstop; BEGIN KK:=KK+t;VA(1]:=KK;VA(27]:=1 .;UFK; END; PROCBDURE wspomoaat; BEGIN NP:=ZAP .DMAS[2]; END; BEGIN (• uчuo поетпроцес:еора •) REWRITE(FP,'U:SVM','ТХТ' ,1); IF1=-1 THEN BEGIN WRIТELN(' Нет устроllства U'); GOTOt; END· LEN:' =1; RESET(Pf,' D S:CLFIL. ' ,.1); lf1=·1 THEN BEGIN WRITELN(' Ф.Ь DS:CLFIL. не найден'); GOTOI; END; POR 1:= 1ТО2000 VA(IJ:=0.0; X•s0•Y · -0 •Z:a0•FW\• =10· КК:..;О, iss:.;.'o; GP::.:.0 ,02:=Wl; 94
N:=3; FK4S:=0 .0 ;MF:= 1.; UPZ:=O; NP:=1.; FТ:=FMAX;ESF:=TRUE; ESТIN:=FALSE; - щolowok; WRIТELN('PaбO'l'aи IIOC'l'IIJIOЦeCp ва ставох СВМ (УЧПУ 2Р32)'); WRIТELN('----------'); WRIТELN(' ПJIOl'PUOl8 ',NАМ1); REPEAT N:=N+1; RI(ZAP.MAS,N); CASE ZAP.MAS[2) OF 26: ltart; 28: dwwt; 32: dwpok; 23: podaY; 22: oЬoroty; 11: ohlavdenie; 9: stop; 8: uslstop; 24: illltrumeat; 13: zaaruzJtx; 20: koпekciq; 14: wspomogat; 4: konec; END; UNТIL ZAP.MAS[2)=4; CLOSE(FP);CLOSE(PF); WRIТELN('YП -ва в фаЬ SVМ.ТХТ'); WRIТELN; REPEAT WRIТE('CBM> ');READLN(KMND(1)); CASE KMND(1) OF 'L ': PRI(NAМ1); 'P ':PERFO; 'Т': BEGIN ТEL(NAМ1);WRIТELN; . END; 'S ': WRIТELN('CB:М> Поетпрсщесеор работу ЭUORЧИII'); ELSE WRIТELN('' . Комавды постпроцессора Lf1SТJ • П-n. УП Р ERFJ - B1DC111 m ва перфсwrевту Т [УРЕ) - в....,. УП ва термниu S (ТОР) - Конец работы'); END; (•CASE•) IF KMND(1) IN ['L','P','T'] THEN Writeln('BWIIO,II ОJСОВЧен'); UNТIL KMND(l)='S'; 1: END. Глава 4 РАЗВИТИЕ ИНТЕРСАП 4.1 . ИНТЕРФЕRС CAD/CAM Развитие персональных ЭВМ, содержащих мощные графиче ские сред<:тва (графические дисплеи, графопостроители, печатаю щие устройства), позволяет с помощью соответствующего про граммного обеспечения организоват~, автоматизированное рабо чее место конструктора (АРМ К) машиностроитсльноr·о и 11рибо ростроителыюго производства. 95
Работая на АРМ К, конструктор создает математическую мо дель детали, вводя в ЭВМ всю информацию, указанную на черте же. Представление детали в виде математической модели позво ляет выполнять над этой ·информацией любые преобразования: хранение, редактирование, деление на части и т. д. Примером программной системы для АРМ К является система AutoCAD. Математическая модель детали в этой системе может быть представлена выходным файлом DXF, который формируется на жестком диске. Графическая информация о детали доступна технологу, который, используя специальные программные сред- Граtроло строител1, Лринтер Рис. 105. Структура системы DePCI 96 прин тер
ства, может; l) построить операционный эскиз; 2) сформировать структуру операции на станке с ЧПУ; 3) рассчитать опорные точ ки перемещения инструмента и сформировать CLDATA. Программной системой, обеспечивающей перечисленные функ ции и связывающей системы AutoCAD и ИнтерСАП, является система DePCI. Структура этой системы приведена на рис. 105. Здесь приняты следующие обозначения: _ AutoCAD - графический редактор, используемый технологом для описания обрабатываемых конструкторско-технологических элементов (КТЭ) детали; DED - программа в среде AutoCAD для выделения на черте же детали КТЭ, которые должны обрабатываться на станке с ЧПУ; DXF - файл, который содержит математическую модель детали и заготовки с отмеченными для обработки КТЭ или мате матическую модель только КТЭ; GeO - программа формирования операционного эскиза; PPLAN - программа формирования структуры операции; DOC - программа печати документации для выполнения опе- рации на станке с ЧПУ; PPLGe - программа формирования текста на языке Интер САП; CLDATA - файл промежуточных данных транслятора; DRAWCLDATA - программа для вывода траектории движе ния инструмента на графопостроитель или принтер; РР - постпроцессор; УП - управляющая программа в кодах конкретной системы ЧПУ; DReiPC - программа-драйвер вывода управляющей програм мы на перфоратор. Можно кратко записать следующий сценарий разработки уп равляющей программы: l) используя систему AutoCAD, отметить на математической модели (чертеже) детали, выполненной конструктором сред ствами AutoCAD, КТЭ, которые должны обрабатываться на стан ке с ЧПУ (рис. 106, 107); 1'1 55 10 Рис. 106. Чертеж детали 97 1 1 1 1 -------------- __J Рис. 107. Обрабатываемые поверх ности детали •
Рис. 108. Операционный эскиз (цифра ми обозначены номера поверхностей) Рис. 109. Траектория движения ин струмента 2) используя систему DePCI, сформировать операционный эскиз и структуру операции (рис. 108) и проверить полученную траекторию движения инстру.мента путем прорисовки на дисплее (рис. 109). Если траектория правильна, то, пользуясь соответст вующим постпроцессором и сервисными программами, получить управляющую прогр~мму (перфолента, листинг, траектория дви жения инструмента на графопостроителе и принтере). 4.2. ПРОГРАММНАЯ СИСТЕМА АЛЬФА-3D ДЛЯ ПРОГРАММИРОВАНИЯ ОБРАБОТКИ СЛОЖНЫХ ПОВЕРХНОСТЕА Разработка УП для обработки сложных поверхностей штампов, пресс-форм является очень трудоемким процессом, поэтому для автоматизации этого процесса разработана программная система АЛЬФА-3D. В ней примен~ны следующие принципы описания поверхностей: 1) сложная поверхность образуется двумя различными кривы ми - направляющей кривой (НК) и образующей кривой (ОК); 2) НК и ОК могут быть сформированы из отрезков прямых, ок ружностей, кривых, заданных множеством точек; 3) сложная поверхность штампа формируется путем переме щения ОК по НК; 4) сложная поверхность может быть определена семейством НК и ОК, а также способом перемещения (параллельный, ради альный, нормальный)' ОК по НК; например, если есть одна ОК, то в зависимости от способа перемещения поверхности обработки 'могут быть различными (рис. 110). Рис. 11 О. Ти11ы сложных 1юверхиостей 98
Обрабатываемая поверхность ха рактеризуется количеством НК и ОК и взаимосвязями между ними: НК представляет собой геометрическое место точек на поверхности, которое задает перемещение ОК; ОК - гео метрическое место точек на поверх ности, которое перемещается отно- сительно НК (рис. 111). Рис. 111. Принцип формирования поверхности Комплекс программ АЛЬФА-3D должен реализовывать обработку сложных поверхностей, состоя щих из комбинаций фрагментов поверхностей четырех типов: 1-й тип представляет собой линейчатые поверхности, т. е. по верхности, которые имеют две НК, соединенные прямыми линиями (рис. 112); 2-й тип - это поверхность, генерируемая при переносе ОК вдоль НК (рис. 113); 3-й тип - это поверхность, генерируемая rtpи радиальном передвижении ОК относительно НК (рис. 114); Рис. 112. Линейчатые поверхности Рис. 113. Поверхности, получаемые переносом образующей Рис. 114. Поверхности, получаемые радиальным нередвнжt-нием образующеА 99
4-й тип представляет собой поверхность, генерируемую при таком передвижении ОК относительно НК, при котором попереч ное сечение по ОК порождается всегда в направлении нормали к НК (рис. 115). Предложенные типы поверхностей дают возможность форми ровать траекторию движения инструмента типа «шаровая фреза» в трехмерном пространстве для довольно широкого класса деталей. Комплекс программ АЛЬФА-3D должен выполнять все расчеты, необходимые для формирования траектории движения инструмен та при трехмерном перемещt>нии, и предоставлять возможность выбора направления и схемы обработки (рис. 116). Программное обеспечение рассчитано на фасонные фрезы. В состав комплекса программ АЛЬФА-3D должен входить специальный модуль про- Рис. 115. Поверхности 4-го типа Рис. 116. Траектория движения инструмента 100
рисовки изометрической траектории инструмен та на экране терминала для визуального кон троля заданной поверх ности. Входной информа цией для АЛЬФА-3D является файл, в кото рый технолог-програм мист вносит данные об обрабатываемой поверх ности. К таким данным относятся: тип поверх- ности, вид инструмента, радиус инструмента, тип траектории, схема реза ния, начальная точка, допуск, описание НК и ок. Комплекс программ АЛЬФА-3D должен сформировать • файл ~ ~t ~ -; ;,; / ~ ~ ~ -- --- ~ 80 ""' Рис. 117. Чертеж штапма Рис. 118. Поверхность штампа CLDATA с фиксированной длиной записи (CLFIL), который об рабатывается постпроцессором для получения УП. При пользовании системой АЛЬФА-3D необходимо: 1) выполнить анализ формы сложной поверхности штампа, например, приведенной на рис. 117. Поверхность, .показанная в данном примере, формируется соединением дуги и сегментов по перечного сечения прямыми линиями ( рис. 118). В соответствии с приведенной выше классификацией применим описание поверх ности 1-го типа; 2) указать"на чертеже детали оси х, у, z в соответствии с осями станка с ЧПУ, на котором будет обрабатываться деталь (рис. 119). Точка ~ачала координат может быть задана произвольно; 3) обозначить на чертеже горизонтальную и вертикальную оси, которые определяют профиль поперечного сечения (вид сбоку на рис. 119, а); 4) получ~нную информацию представить в виде таблицы. Комплекс программ АЛЬФА-3D значительно повышает произ водительность технолога-программиста оборудования с ЧПУ за счет автоматизации подготовки УП. Область применения комп лекса - автоматизация подготовки УП на ЭВМ, совместимых с IВМ РС/ХТ (АТ) (например, ПРАВЕЦ-16, ЕС-1840, 41, 42, ИСКРА-1030, НЕЙРОН и др.) для оборудования с ЧПУ, которое позволяет трехкоординатное перемещение инструме11та. Комплекс программ АЛЬФА-3D предназначен для эксплуатации в среде операционноА системы MS-DOS. Язык программирования «С». 101
1 -- ---- ---' -= .:..:..1-1---........~-+-+~ х о Рис. 119. Преобразованный чертеж штампа (а) и оси координат станка (б) 4.3. ПРИНЦИПЫ НОРМИРОВАНИЯ ПРИ РАЗРАБОТКЕ УПРАВЛЯЮЩИХ ПРОГРАММ При разработке САПР одной из наиболее сложных проблем является создание языка описания объекта проектирования, кото рый определяет степень автоматизации процесса проектирования в САПР. Поэтому язык описания важен как для разработчика, так и для пользователя САПР. Для разработчика имеет значение степень сложности программных средств САПР и., соответственно, трудоемкость разработки программного обеспечения, интерпрети рующего термины языка, для пользователя - производитель ность проектировщика, работающего с САПР, и трудоемкость проектирования. На примере задачи формирования траектории движения ин струмента рассмотрим методику оценки уровня языка 'А. описания траектории движения. В качестве языка нулевого уровня 'А.о будем считать язык стандарта ISO для систем управления станком. На примере САПР УП ИнтерСАП оценим значение уровней 'А.; для четырех языков, определяющих различный урове11ь автоматиза ции процесса проектирования траектории движения инструмента. Множество терминов входного языка САПР УП ИнтерСАП позволяет сформулировать четыре диалекта: язык типа АРТ ( множество терминов М 1, уровень 'А.1), позво ляющий автоматизировать расчеты координат точек перегиба траектории движения; язык типа АРТ, содержащий макроаппарат (множество М2, уровень 'А.2), который позвоJJяет включать в формируемую траек торию фрагменты траектории в виде макроопредеJJений (циклов); язык макроопредеJ1ений ( множество терминов МЗ, уровень 'А.3 ), позволяющий формировать траекторию из фрагментов тра екторий (типовых поверхностей); 102
язык взаимодействия между системой формирован"я траекто рий и системой автоматизации конструирования (множество М4, уровень л4). Оценка значений л; (i= О, l, 2, 3, 4) позволяет определить: производительность технолога-программиста, пользующегося соответствующим языком, т. е. выполнить нормирование при раз работке УП; трудоемкость разработки программных средств, реализующих соответствующий язык описания объекта проектирования, т. е. осуществить нормирование при разработке программного обеспе чения САПР УП. Основной задачей нормирования при разработке УП является определение времени программирования траектории движения инструмента. Рассчитаем время программирования по методике Холстеда [8], в которой используются следующие параметры программ: n1 - число простых (или отдельных) операторов в конкретной программе; n2 - число простых (или отдельных) операндов в конкретной программе; Nl - общее число всех операторов кон кретной программы; N2 - общее число всех операндов конкрет ной программы; nl - число различных входных и вых~щных па раметров. На основании параметров программ определим следующие метрические характеристики программ: длина программы N = n1 log2 n1 + n2 log2 n2; объем програм~ы V = N log2 (п2 + n1); потенциальный объем программы V* =(2 + п~) log2(2 + пf); уровень программы L = V*/V; уровень языка л = L *V; время программирования Т = n,N2(n, log2n1 +п2 log2n2) log2(n1 +п2) 2n2S Основной проблемой при использовании методики Холстеда является правильный выбор параметров программ. Сравнение истинной длины N и вычисленной длины N прово дится при помощи статис-rического анализа набора конкретных программ. По этому критерию проверяется правильность опре деления 1t1, n2, N1, N2 . Проверка правильности определения п! осуществляется пу тем сравнений n2 И n2: n2= An1 +.В, где А=пU(п! +2) log2 (п!/2); В= п! - 2А. Оценку метричесl\ИХ характеристик управляющих программ, написанных на различных языках, вы110J1ним дJ1я четырех дета лей типа «тела вращения», обрабатываемых на станке с ЧПУ. Нормирование при разработке УП в кодах ISO В качестве операторов будем считать адреса в кадрах УП, о качестве 011ерандоо - значения адресов. Ниже 11риведены 011ера- IОЗ
торы, ИС,t•· и•:· ,.. ,1t при программировании траектории ин струментя ,J :'!Н у.:тройс I ва ЧПУ «2У-22»: ОбоJначениt> оператора G х z х,z Х,l,1,К пс Наименование Подготовительная функция Перемещение по Х Перемещение по Z - Перем('щrние по двум координатам Пr•ремещение по дуге окружности Конец кадра Диапазон изменения п 1 языка ISO находится в пределах l<n1<6. fLX ~ ~~ ~ ~ ~ '&. & L,Z Lfl LI/ L.9 LI с:::, LZ ~ L7 L6 L5 & LJ 1.13 L/6 L.10 110 L.17 11./11. 120 11етол6NoJ LX ~ ~~~ 19. & &LZ 1.2 t..., L7 ll и.т. 8 2 6'6' ДtJтальN!!2 104
Поскольку операндами являются значения адресов, n2 при нимает значение, рщшое колич~ству различных числовых пара метров, встречающихся в программе. Следует учесть; что для объективного сравнения уровня язы ка ISO с языками других .уровне.й САПР УП необходимо учиты вать процедуру расчета координат опорных точек траектории дви жения инструмента по размерам на чертеже и преобразование LY 5 ... L29 Q 55 .,.. 10(/ 1211 д~тальNo6 2(1 ~ ~ 15 & '& ~ LX Uf& ~~~ &'&& 17 L22 2J Дета.пьN_~'! Рис. 120. Дt'Тали No 1, 2, 3, 4 105
этих координат, т. е. к ранее определенным операторам добавля ются арифметические операторы (присваивания, сложения, деле ния, вычитания, умножения). Соответственно увеличивается коли чество операндов, в зависимости от способа задания размеров на чертеже. Определим nJ как количество различных значений размеров детали и координат опорных точек траектории. На рис. 120 изображены траектории движения инструментов для четырех деталей. Им соответствуют четыре УП (программы 44-47) в ко дах ISO, параметры которых приведены в табл. ,4. Результаты проверки правильности выбора п! приведены в табл. 5. Как видно из таблицы, значения определенных эксперимен тально и вычисленных параметров оказываются достаточно близ кими друг к другу, что позволяет говорить о правильн~сти выбора параметров программы. Ниже представлены вычисленные метрические характеристики V, Т, л (табл. 6). Таблица 4 Таблица 5 & N, N, п, п, пf детали No N ~ ., ;;, детали 116113073617 1 291 205 36 30 21108863217 2 198 176 32 28 316712364020 3 290 228 40 32 422816275226 4 390 316 52 43 Среднее значение 292 231 40 33 44. Программа в кодах ISO (деталь .Ni t) Коэффициент корреляции R=0,95 R=0,99 N001SО8МЭ9МОЭ N002G20G90Т001 NООЭМО8 N004G01X0F90 N005Xl4000 N006X9400FЭSOТ002 N007Z6500 N008X10000 N009Z11000 NО10Т8800 N011Z6500 N012X9400 N0IЭZ~IOOO N0t4,~8200 N01SZ6SOO N0J6X8800 N017ZJIOOO N018X7600 N019Z6SOO N020X8200 N02JZI 1000 N022X7000 N023Z6SOO N024X7600 N02SZ11000 N026X6334 N027Z7000 Таблица 6 .No детали V т. мин А 1 1579 103 4.1 2 1039 44 6.3 N028X7000 N029Z11000 N0ЭOXS666 N031Z7000 3 1601 87 6.1 4 2294 130 7.9 NОЭ2Х6334 NОЭЭZ11000 Среднее 91 6.1 N034XSOOO N03SZ7000 N036XS666 значение 1628 N037Z11000 N038G09X14000 N039G09Zt2000FSOOOТ003 N040G09X2000F2SOO N041G09Z7000F200 N042G09X0F2SOO N04ЭG09ZJ2000 N044G09X14000F2SOO N04I009Z11000 N046M09 N047M0S N048G2.SXZ NО49М02МЭО IОб 45. Программа в кодах ISO (деталь .Ni 2) N001S08M39M03 N002M08 NOOЭG20G90Т001 N004G01G09ZOFSOOO NOOSG09X0FJOO N006G09Z200FSOOO N007G09X9000F2SOO
N008G09X6600F2SOOТ002 N009Z-800F70 N010X7000 N011Z200 N012X6200 N0lЗZ-800 N014X6600 N015Z200 N016XS800 N017Z-800 N018X6200 N019Z200 N020XS400 N021Z-800 N022X7000 N023G09X9000Z200 N024G09X3300F2SOOT003 N025Z-6600FIOO N026X2600 N027Z200 N028X4000 N029Z-6600 N030X3300 N031G09Z200 N032G09X9000F2SOO N033M09 N034M0S N03SG25XZ N036M02M30 46_ Программа в кодах ISO (деталь .Ni 3) N001G20G90Т001 N002M08 N003S09M40M03 N004G1G09X10000F2500 NOOSZ10000FJOO N006G09X0 N007G09ZJ2000FSOOO N008G09X1200F2SOO N009X9600FJOOТ002 N010ZSSOO N011X10000 N012Z10000 N013X9200 N014ZSSOO N015X10000 N016ZJOOOO N017X8800 N0JSZSSOO N019X9200- N012Z10000 N021X8400 N022ZSSOO N023X8800 N024Z10000 N02SX8000 N026ZSSOO N027X8400 N028Z10000 N029X7600 N0ЗOZSSOO N031X8400 N032ZJOOOO N033X7200 N034ZSSOO N035X7600 N036Z10000 N037X7000 N038ZSSOO N039XJOOOO N040Z12000 N041XSOOOТ003 N042ZS450 N043X0 N044Z12000 N045X10200 NО46Х4900Т004 N047ZS450 N048XSJOO N049ZSSOO N0SOX0 N051Z12000 NOS2X10200 NOS3M09 N0S4M0S N0SSG2SXZ N0S6M02M30 47. Программа в кодах 1SO (деталь .Ni 4) N001G20G90Т001 N002S09M40M03 NООЗМО8 N004G01ZOF160 NООЮО9ХО N006G09Z200FSOOO N007G09X4600F2500 N008ZOF160Т002 N009X4200 N0J0Z-2300 N011X4600 N012ZO N0JЗX4100 N014Z-1700 N015H4200 N016ZO N017X3900 N0JSZ-1700 N019X4100 N020ZO N021X3700 N022Z-1700 N023X3900 N024ZO N025X3500 N026Z-1700 N027X3700 N028ZO N029X3400 N0ЗOZ-500 N0ЗJXЗSOO N032ZO N033X3200 N034Z-SOO N035X3400 N036ZO N037X3000 N0ЗSZ-500 N039X4600 N040Z200 NО41Х1100Т003 N042Z-2300 N043X700 N044Z200 N045X1200 N046Z-2000 N047X1100 N048Z200 N049X1400 N0SOZ-2000 N0SJXJ200 , N052Z200 NOS3X1600 N054Z-2000 NOSSX1400 N0S6Z200 N057X1800 N0SSZ-2000 N0S9X1600 N060Z200 N061X2000 N062Z-1500 N063X180Q N064Z200 N06~X2200 N066Z-1SOO N067X2000 N068Z200 N069X4600 N0?0M0S N071M09 N0nG2SXZ N073M02M30 Нормирование при разработке УП на языке типа АРТ В качестве операторов использую I t:Я сJ1едующие элементы языка типа АРТ, реализованного в И11терСАП: lldИM("IIOPrlHИ(' Ullf'paтo1н1 О11ределе11ис точки Onpt•дeJ1e11иe 11римоii Оnрсделенне окружности !07 Кш1и•1~1..· r1ю 1..·111н·оt;он HIШIIIIIH 13 10 15
Определение списка Геометрический оператор присваивания Арифметические операторы ( =, +, /, /\) Конец строки • 6 1 Итоrо 47 Для программирования траектории движения инструмента при обработке на языке типа АРТ может использоваться от I до 47 типов операторов, т. е. 1<n1 <47. Операндами являются идентификаторы геометрических объек тов, модификаторы, переменные и константы. В качестве nf примем сумму количества размеров и коли чества геометрических объектов, определяющих траекторию. При определении N 1 для конкретной программы следует учиты ват_ь в операторе SPIS определяемые неявно точки перегиба траек тории движения инструмента. По текстам УП (программы 48-51) для четырех деталей по лучены значения, приведенные в табл. 7. Результаты проверки этих значений представлены в табл. 8, а результаты вычисления метри ческих характеристик - в табл. 9 . 48. ИнтерСАП-программа (деталь .М t) ТО>О,О LZ>ТO,O LХ>ТО,90 ТО>tО,-70 L17>LX,T3 L13> LХ,ХВ,110 L14>L13,XM,40 L16> LZ,УМ.SО L1>L14,XM,S L3>L16,YB,3 LS>L3,YB,3 L6>LS,YB,3 , L7>L6,YB,3 U>LZ,YM,3S L.8>1.2,YB,10/3 L9> L.8,YB,10/3 L10>LX,XB,120 U>LZ,YM,25 LЦ>LZ,YM,10 . SPIS,S1,IIO,T3,L13,LZ,T3 SPIS,S3,5000,L17,L13,T3,3.5QJ,13,LЗ,Lt,Lt6,L13,LS,L1,LЗ,L13,L6,Lt,LS,L13 SPIS,St,L13,L7 ,Lt,L6,Lt3,U ,Lt,L7 ,L13 ,L8 ,L14 SPIS,~,S,L14,U,Lt3,L9,Lt4,L8,Lt3,U,L14,L9,L13,T3 SPIS,56,SOOO,Lt 7,L10 ,Lt t ,200,Lt4,SOOO,LZ,LЩL17,ТЗ NТ,ТЗ S,600 INST,1 OHL,VKL DS,51 INST,2 DS,53,54,SS INST,3 DS,S6 OHL,VIK S,VIK ко 108 . Nlr детали 1 2 3 4 N, N, 119 129 80 97 118 - 138 153 18:i Таблица 7 п, п, пf 8 40 26 17 33· 24 1 " 41 29 8 49 37 1
49. ИнтерСАП-программа (деталь М 2) DET,GORKUN KOMEN,GORKUN ТО>О,О LZ>ТO,0 LХ>ТО,90 Lt > LZ,YM ,4S L2>LX,XB,2 U> LZ,YM,16 .S LS>LZ,YM ,20 Lб> LX,XM ,66 L7>LX,XM ,8 LВ>LZ,YM,13 L9> LZ.УМ.ЭS L10>L9,YB ,2 L11>L10,YB ,2 Lt2>Lll,YB,2 Lt3>L12.YB ,2 T1>Ll,L2 SPJS,St,SOOO,L\ ,LX,100,LZ,SOOO.U,ТI . Nt детали 1 2 3 4 Среднее значение Коэффициент корреляции N 248 177 256 336 254 , R 1 = SPJS,S2 ,SOOO ,L2 ,LI0 ,70,L7,L9,L2 ,Ll 1,L7,LI0,L2,L12,L7,L1 t,L2 ,L\3 ,L7 ,L9,T 1 SPIS,S3 ,SOOO ,L2 ,L4 ,100 ,L6 ,L8,LS ,L6 ,L4 ,L2 ,SOOO ,T1 NT,TI S,630 OHL,VKL INST,1 DS,St JNST,2 DS,52 INST.Э DS,SЭ OHL,VIK S,VJK ко 50. ИнтерСАП-программа (деталь .Nlt З) DET,SHMJG KOMEN,SHMJG ТО>О,0 Т10> 120, -St LХ>ТО,О LУ>ТО,90 L31>LY,XB ,100 L32>LY,XВ,55 L36>LY,XB,120 L34>LX,YM,25 .S US>LX,YM,25 L22>LX,YМ,35 1.23>LX.YM ,36 L24> 1.23,УМ,2 L2S>L24,YM ,2 L26>L2S,YM,2 L27>L26,YM,2 L28>L27,YM,2 L29>L28,YM,2 L30>L29,YM,2 L38> LY,XB,S4.S L39> LX, УМ,24.5 No детали 1 2 3 4 Среднее значение . SPIS,S1 ,5000 ,L36 ,L30,\00 ,L31,LX,SOOO,L36,TI0 SPIS,S2 ,100 ,L36 ,L29,L32 ,L30 ,L3 \ ,L28,L32,L31,L27,L32,L28,LЗ 1,L26 SPIS,S3,L26 ,L32 ,L27 ,L3 \,L25 ,L32 ,L26 ,L31 ,L24 ,L32 ,L26 ,L31 ,L23 ,L32 SPIS,S4,L32 ,L24 ,L31 ,L22 ,L32,L30 ,L36 SPIS,SS, 100,L36 ,L3S ,L38 ,LX,L36,T10 SPIS,s6,100,L36,L39,L38,L34,L32,LX ,L36 ,T\0 NT,T10 JNST,1 109 V 1385 942 1422 1959 1427 Таблица 8 /ll п, п, - 237 40 .1"' 18() 33 40 235 41 43 300 49 lj\ - ' 240 41 14~ -~-~-- ·~ о.Q(\ R О.92 --· Таблица 9 т, мин 47,5 24,2 43,9 62,1 44,4 OHL,VKL S,2000 DS,S1 tNST,2 DS,S2,SЗ,54 INST,3 DS,SS JNST,4DS,s6 OHL,VIK S,VIK ко л 13,1 15,9 16,6 21,7 16,8
51. ИнтерСАП-программа (деталь .Ni 4) DET,BJKOV KOMEN,BIKOV ТО>О,О LХ>ТО,О LУ>ТО,90 Ll>LX,YМ,21 L2>LX,YM,3S/2 LЗ>LX,YМ,1S U>LX,YМ,11 LS>LX,YМ,9 , Lб>LX,YM,11/2' L7>LY,XM,23 LS>LY,XM,17 L9>LY,XM.S Ll0>LY,XM,20 Lll>LY,XM,1S L12>L3,YM,1 L13>L12,YM,1 L16>L2,YМ,1 L1S>L16,YM,1 L14>L1S,YM,1 L19>LS,YB,1 L18>L19,YB,1 L17>L18,YВ,1 L20>U,YB,I L21>L1,YM,2 L22>LY,XB,2 L23>L6,YB,2 T1>L22,L21 SPIS.Sl,160,1.21,LУ,LX,SOOO ,L22 ,L21, Tl SPJS.S2,160,L21,LУ,L1,L7,L21,LУ ,L14 ,L8 ,L1 ,LУ,L1S ,L8 ,L14 ,LУ ,L16,L8 SPIS.SЗ,L8,L1S,LY,L2 ,L8 ,L16,LY ,L\3,L9,L2,LY ,L12,L9,L13,LY,L3 ,L9,L21 ,T1 SPIS,$4,160,1.22,Lб,L7,L23,L22 ,LI 7,LI0,L6 ,L22 ,L18,L10,LI 7,1.22 ,LI 9,LI0 SPJS.SS ,L10,L18,L22,LS ,LI0,L19,L22,L20 ,Ll 1,LS,U2 ,L4 ,L1 \,U0 ,L22 ,TI NT,T1 INST,1 S,2000 OHL,VKL DS.Sl INST,2 DS,S2,S3 INST,3 DS,54.SS S,VIK OHL,VIK ко Нормирование при разработке УП на языке типа АРТ, вклю чающем макроаппарат Я.зык этого уровня отличается от языка типа АРТ наличием операторов макровызовов. При программировании токарной об работки в качестве примера используется оператор > PROT, позволяющий описать проточку одной ступени детали. Исrюль зование этого оператора увеличивает n1 на единицу по сравнению с программой на языке АРТ, однако параметры n2, N1, N2 суще ственно уменьшаются, так как в этом случае не требуется опре делеflие многих геометрических объектов. Соответственно умень шается и п!. Основные г~араметры программ для расчета метри ческих характеристик 11риведены в табл. 10. 110
Тексты УП для четырех деталей приведены в программах 52- 55, результаты проверки - в табл. 11, а метрические характерис тики - в табл. 12. 52. ИнтерСАП-макро (деталь .Nlt 1) DET,PLOTNIKOV ТО>О.О LZ>ТO,0 LХ>ТО,90 TЗ>tt0,-70 Lt7>LX.T3 LtЗ>LX,XB,t 10 L14>Lt3,XM,40 Lt>Ll4.XM ,S Lt6>LZ,YM ,SO Lt0>LX,XB ,120 L4>LZ,YM ,2S Ltl>LZ,YM,10 L2>LZ,YM ,3S SPIS.S 1,90,T3 ,Lt3,LZ,T3 53. ИнтерСАП-макро (деталь .No 2) , D ET ,GORKUN ТО>О,О LZ>Т0,0 LХ>ТО,90 Lt>LZ,VM,4S L2>LX,XB ,2 LS>LZ,YM,20 L6> LX,XM,66 L7>LX,XM,8 LS>LZ,YM ,13 L9>Lz,YM.ЗS L13> LZ,YM ,S7/2 Tt>Lt,LX SPIS,St,SOOO ,Lt,LX ,100,LZ,SOOO ,L2,Tt NT,Tl S,630 OHL,VKL INST,t DS.St INST,2 DS,L1 ,LX,L9 > PROT;1;2;70;L9,L7;L7;Lt3,L7;LX INST,3 DS.SOOO,LX ,L8 > PROT;2;3;100;0;L6,L8;L6;LS,L6;LX OHL,VIK DТ,TI S,VIK ко SPIS,56 ,SOOO,L17 ,L t 0,L1 t ,200 ,L14 ,SOOO,LZ ,L10 ,L t 7 NТ,ТЗ S,600 INST,1 OHL,VKL DS,Sl INST,2 >PROT;1;3;3SO;O;Lt6,Ll;Lt;U,Lt;Lt3 > PROT;2;10/3;3SO;l.2 ,Ll;Lt4;L14,L4;Lt3 DТ,ТЗ INST,3 DS,S6 OHL,VIK S,VIK ко Таблица 10 No N, N, детали п, п, пf 1607993221 2536892717 3638073422 49312894128 Таблица 11 No N детали ~ п, п, 1 139 188 32 43 2 121 156 27 36 3 143 192 34 37 4 221 248 41 53 Среднее з11аче11не 156 196 34 42 Ко:1ффн1ще1п корреляцни R=0,98 R=0,86 111
54. ИнтерСАП-макро (деталь .No 3) DEТ,SННIG ТО>О~О Т10>120,-51 LX>T0,0 LУ>ТО,90 LЗl>LY ,:ХВ, 100 LЗ2>LУ,:ХВ,55 LЗ6>LY ,:ХВ, 120 LЗ4>LХ,УН,25.5 LЗ5>LХ,УН,25 L22>LХ,УИ,З5 L-ЗO>LX, УН,50 LЗ8>LY,XB,54.5 LЗЭ>LХ,УН,24.б . .No детали 1 2 3 4 Среднее значение Таблица 12 V Т, MИtl 1,. 745 17,8 14,5 625 16,2 10,4 766 17,8 15,8 1247 35,2 17,4 845,7 21,8 14,5 SPIS,Sl,5000,LЗ6,LЗ0,100,LЗ1,LX,5000,LЗ6,T10 SPIS,S5,100,LЗ6,LЗ5,LЗB,5000,LX,LЗ6,T10 SPIS,S6,100,LЗ6,LЗ9,LЗB,LЗ4,LЗ2,5000,LX,LЗ6,Tl0 1!1Т,Т10 IMSТ,1 OHL,VKL S,2000 DS,S1 IMSТ,2 >PROТ;1;2;100;0;LЗO,L32;LЗ2;L22,LЗ2;LЗ1 DТ,TlO IМSТ,З DS,86 OHL,VIK S,VIK ко 55. ИнтерСАП-макро (деталь .Ni 4) DET,BIKOV ТО>О,О LX>TO,0 LУ>ТО,90 Lt>LX,YM,21 L2>LX,YM ,3S/2 L3>LX,YM ,1S L4>LX,YM,11 LS>LX,YM ,9 Lб>LX,YM,11/2 L7>LY,XM ,23 LS>LY,XM,17 L9>LY,XM,S Lt0>LY,XM ,20 L11>LY,XM ,1S Ut>Ll,YM ,2 L22>LY,XB ,2 L23>L6,YB ,2 Tl>L22,L21 SPIS,St,160,Ut,LY,LX,SOOO,L22,U1,Т1 SPIS,S2,160,L21,LY,Lt,L7,U1 ,LY,L1 SPIS,S4, 160,L22,L6,L7,L23,U2,L6 NT,Tt INST,1 S,2000 OHL,VKL DS,SI INST,2 DS,S2 > PROT;1;1;160;0;L1,L8;L8;L8,L2;LУ > PROT;2;1;1бO;O;ЦL9;L9;L3,L9;LY DT,Tt0 INST,3 DS,S4 > PROT;3;1;160;0;L6,L10;LI0;LI0,LS;L22 > PROT;4;1;160;0;LS,L11;LI 1;LI l ,L4;L22 DТ,TI0 S,VIK OHL,VIK ко Нормиро'вание при разработке УП на языке типа МАКРО Язык этого уровня позволяет описать обработку детали, НС· 110J1ьзуя тоJlько макровызовы. При этом параметрами макровызова являются не геометрические объекты, как на предыдущем уровне, а непосредственно размеры чертежа. В качестве примера операто• ров этого языка рассмотрим макровызовы: 112
> PROT - проточка; > TOR - подрезка торца; > KANAV - прорезка канавки; > REZ - нарезание резьбы. Для этого языка характерно уменьшение п, по сравнению с предыдущими уровнями. В качестве операндов будем считать параметры макровызова - размеры на чертеже. Поскольку язык МАКРО исключает определение геометрических объектов, будем считать в качестве п~ количество различных размеров детали (табл. 13). Тексты ЧП для четырех деталей приведены в програм мах 56-59, результаты проверки - в табл. 14, а метрические ха рактеристики -- в табл. 15. Сведем в табл. 16 полученные средние значения V, Т, л из табл. 6, 9, 12, 15. Графики зависимости полученных параметров от уровня авто матизации представлены на рис. 121. Из графиков видно, что пе реход от ручного программирования в кодах ISO к автоматизи рованному сопровождается резким уменьшением времени про граммирования Т и, соответственно, увеличением уровня языка л. Такой же «скачок» наблюдается и при переходе от АРТ-подобных VТА 1500 75 ,lt/00 !lро6ень а6томотизации Рис. 121. Графики зависимости пара метров V, Т, лот уровни автоматизации т; Af{JI( !5/J IJ'/J 100 50 No детали 1 2 3 4 N, детали 1 2 3 4 /fнтерСАЛ 'НюперСАЛ uмакрос6/ Среднее MA/fPO значение N 11 8 10 16 Q 10 20 8/J 'IIJ п/ Коэффициент Рис. 122. Номограмма для определе ния Т в зависимости от п1 корреляции 113 Таблица 13 N, п, п, пf 21 5 11 11 15 4 10 10 18 5 11 11 35 4 17 17 Таблица 14 N f,1 п, пf 32 49 11 17 23 41 10 13 28 49 11 17 51 77 17 22 33,5 54 12,8 17,2 R=0 ,99 R=0 ,93
языков к языку МАКРО, что позволяе'1· говорить о большой эф фективности последнего. Очевидно, что время программирования в пределах одного уровня автоматизации зависит от сложности обрабатываемой детали. Одним из параметров, характеризующих сложность дета ли, является пf. Построим графики зависимости Т от nf для раз личных уровней автоматизации (рис. 122). Используя такие гра фики можно по известному пf определить трудоемкость состав ления УП и выполнить нормирование работы по разработке УП технологом-программистом. Таблица 15 Таблица 16, No V ·т. мин i,. детали Иитер- Язык IS0 Интrr- САП МАКРО СА и мак- 1 12,8 1,1 18,1 росы . 2 87,6 0,6 21,1 3 112 0,9 20,7 Уровень авто- 4 224 2,1 29,1 матизации о 1 2 3 Среднее значение 137,9 2,1 22,2 56. Программа с использованием универсальных макросов (деталь .Ni 1) DET,PLOТNIKOV NT,110, -70 >TOR;l 10;100;0;90;600;1 > PROT;70;100;110;4S;3;3S0;600;2 > PROT;S0;70;110;40;10J3;3S0;600;2 > PROT;20;20;110;40;0;200;600;3 ко 58. Программа с использованием универсальных макросов (деталь .Ni 3) DET,SHMIO NT,120 , - ~I >TOR· 100;100;0;100;2000;1 > PR0 T;70;100;SS;0;2;100;2000;2 >l'ROT·S0·S0·4S·0 ·0 ·100·2000 ·3 > KANAV;so-:s1;'s.i.S;100;100;2000;4 ко V 1628 1427 846 138 т 91 44,4 21,8 1,2 }., 6,1 16,8 14,5 22,2 57. Программа с использова нием универсальных макросов (деталь .Ni 2) DET,GORKUN NT,2, -45 >TOR;0;70;26;100;630;1 > PROT;S7;70;-8;0;2;70;630;2 > PROT;40;26;-70;0;3.5;100;630;3 ко 59. Программа с использова нием универсальных макросов (деталь .Ni 4) DET,BIKOV NT,2,-21 >TOR;0;44;9;160;2000;1 > PROT;42;42;-23;0;0;160;2000;2 > PROT;3S;42;• l 7;0; 1; 160;2000;2 > PROT;30;3S;-S;O; 1;160;2000;2 > PROT;l 1;11;•23;0;0;160;2000;3 > PROT;l8;11;•20;0;1;160;2000;3 > PROT;22;18;-1 S;0;1 ;100;2000;3 ко Адаптация методики нормирования к условиям конкретного предприятия Для адаптации методики нормирования для конкретного пред- приятия необходимо выполнить статистический анализ метриче- 114
ских характеристик некоторого множества управляющих про грамм, разработанных на этом предприятии. Вычисление метрической. характеристики Т = f (п1) для каж дой УП выполняется в следующем порядке: 1) 011ределяют N,, N2, n,, n2, n1; 2) проверяют правильность выбора исходных параметров пу тем сравнивания истинных значений N и n2 с вычисленными N л и n2; 3) рассчитывают значения Т; 4) строят графики зависимости вычисленного значения Т от 111. ** * В настоящее время ИнтерСАП активно применяют более 50 машиностроительных и приборостроительных предприятий стра11ы. Система постоянно развивается как по предложениям пред11риятий, так и с учетом характеристик зарубежных систем (PEPS, PATHTRACE и др.). В новой версии системы, которая поступит в эксплуатацию в 1991 г., будут реализованы дополнительные функции, значительно повышающие возможности системы. В частности, в ИнтерСАП включены подсистемы :гехнологического проектирования (выбор инструментов, назначение режимов резания, подготовка техноло гической документации). Значительно усилится режим интерак тивного проектирования за счет введения графической интер претации операторов языка и возможности ссылки на геометри ческий примитив как по имени, так и непосредственным уюнанием объекта на экране при помощи «мыши». Входной язык ИнтерСАП дополнен рядом ,новых конструкций, позволяющих упростить про граммирование обработки для фрезерных деталей и обеспечить их объемную обработку. Введен новый тип объекта - конструктор ско-технологический элемент ( карман, выступ, окно и т. д.), по зволяющий значительно упростить описание геометрии детали и повысить степень автоматизации формирования траектории об работки. В режим работы системы включены возможность чтения файлов, подготовленных при помощи систем автоматизированного конструирования (в частности, системы AutoCAD), и преобразова ние их в геометрическое описание на языке ИнтерСАП.
БнСмнотека постпроцес:соров ИнтерСАП Система управления НЗЗ Н22-\М Н55-1 Размер-4 Маяк-221 2У-22 2Р22 Модуль 221Т СПФ-2ТМШ Размер-2М Луч-43 ФС-2К 2С42 2С42-65 2С85 FANUC-ЗOOOC FANUC-6 FANUC-6M Рнтм-2 JAPAX Контур-2П-67 Электроника НЦ-31 С С432 (МАНО) PARAMAT-2D Н22 15ИПЧ LJUMO Контур 2ПТ-71 2Р32 НЕЙРОН Размер-4 Н55 NC-450 2М43 Н22 2С42-65 2С42-65 2C42-j5 2С42-65 BEPENC PWS-610 2У-22 FANUC-6M BOSH се 300 М 2П22 2П32 Марка станка 6520(ЛФ-350) бР\ЗФЗ 16К20ФЗС5 АТПР-2М12-СН 6305-Ф4С2 ОЦ-38 IИбlПМФЗ 16К20ФЗС\8 16К20 ТПК-1258 1И611ПМФЗ 2204ВМФ2 СФ-38 СФ-7 21104Н7Ф4 КФПЭ-250-Н2-1 ЛФ-260 МРД ИР-320 4GCN ОФ-100 JAPT-ЗF 4532-ФЗ 16К20Т\, 18340ФЗ MHIOOO С/К SWPO-80 ТПК-125 РТ705Ф312 РТ706ФЗ\2 16К200ЗС\ !Аб\ФЗ свм КФПЭ-250 Н2-2 МС 12-250 Ml КО126 FKR СТР-125 2А622Ф4 2206 ВМ IФ4 ГФ2171 2202 ВМФ4 IП426ДФЗ 2204 ВМФ4 116 Фрезерный » Токарный » Приложение Тип станка Фрезерный Обрабатывающий центр Токарный » » » » Фрезерный » Обрабатывающий центр Обрабатывающий центр » » Координатно-шлифовальный Электроэрозионный » Токарный Фрезерный Профилешлифовальный Токарный Электроискровой Фрезерный Токарный Фрезерный Фрезерный » Пресс Фрезерный Электроэрозионный Токарный Фрезерный » » » Пресс » Токарный Обрабатывающий центр » » Сверлильный »
СПИСОК ЛИТЕРАТУРЫ 1. Автоматизированная подготовка программ для станков с ЧПУ: Справ/ Под ред. Р. Э. Сафраrана.- К.: Технiка, 1986.- 191 с. 2. Автоматизированна,1 система проектирования технологических процессо!J механосборочного производства / Под ред. Н. М. Капустина.-- М.: Машино строение, 1979. - 250 с. 3. Вирт Н. Алгоритмы+ структуры данных= программы: Пер. с англ.--·:-:.: Мир, 1!185. 406 с. • 4 . Гроrоио П. Программирование на языке ПАСКАЛЬ: Пер. с англ.-- М.: Мир, 1982. - 382 с. 5, Испо.nьзование станков с программным управлением: Справ. nocc•6i!t: Пер. с аи1·л./ Iloд ред. Р. Лесли.- М.: Машиностроение, 1976.- 3 52 с. 6. Камаеа Ю. Н., Шевчук Ю. В. Автоматизированное проектирт, , ;" у11рзв J1яющих щюграмм.- К.: КПИ, 1987.- 76 с. , 7. Камаев Ю. Н., Шевчук Ю. В. Интерактивная система авто•,•а :·:,.шnо'3ан ноrо 11роектирования управляющих программ для станков с ЧПУ И.-.t arCA'1 // Т1•х1юJюrнн и автоматизация машиностроения: Респ. межвед. науч.-техн. сб.- 1988. Вып. 41. - С. 50-61. • 8. Хо.nс:тед Д. Начала науки о программах: Пер. с англ.- М.: Мир, 197!1. - 137 с. 117
ОГЛАВЛЕНИЕ Предисловие . . . . . . . . . Глава 1. Интерактивная система автоматизации 11роектирования управляю- щих программ . . . . . . 1.1. Структура ИнтерСАП . . . . . . . 1.2 . Входной язык ИнтерСАП. Основные понятия. 1.2.1 . Элементы языка ИнтерСАП . . 1.2 .2. Простые геометрические объекты . 1.2 .3 . Сложные rеометрl'ческие объекты . . . 1.2.4 . Команды управления станком и инструментом . 1.2 .5 . Операторы языка ИнтерСАП . . . . 1.3. Примеры программ на языке ИнтерСАП . Глава 2. Макросредства ИнтерСАП. . . 2.1 . Язык тt>хнолоrических переходов для механической обработки де талей . . . . . . 2.2 . Принцип работы универсального макрогенератора . 2.3 . Структура макроса . . . . . . 2.4 . Алгоритм разработки макроса . 2.5 . Биб;rиоп•ка макросов . Глава 3. Проектирование постпроцессоров . . . . . 3.1 . Два подхода к разработке постпроцессоров . 3.2 . Функции постпроцессора . 3.3 . Входные и выходные данные постпроцессора . 3.4 . Структура постпроцессора . 3.5 . Основные модули постпроцессора. 3.5.1 . Управляющий модуль . 3.5.2 . Модули обработки технологических команд. 3.5 .3 . Процедура формирования движения в точку . 3.5 .4 . Процедура формирования кадра . 3.6 . Этапы проектирования постпроцессора . . 3.7 . Текст постпроцессора для станка СВМ (УЧПУ 2Р32) . Глава 4. Развитие ИнтерСАП_. . ... 4.1 . Интерфейс CAD/CAM .. 4.2 . Программная система АЛЬФА-3D для 11рограммирования обра ботки сложных поверхностей . 4.3 . Принципы нормирования при разработке управляющих про грамм Приложение Список литературы . Стр. 3 6 6 8 9 11 18 27 30 33 42 42 46 47 49 53 69 69 70 72 76 77 77 78 79 80 83 85 95 95 98 I02 116 117
Малое государственное внедренческое предприятие «КомТео (r. Киев) 1Iрсдлаrает программно-технический комплекс «АРМ технолога машиностроительного производства Турбо• САП». Л РМ ТурбоСАП автоматизирует разработку технологических 111ющ•t·t·ов машиностроительного производства - и управляющих 111ю1·1н1мм для оборудования с ЧПУ. АРМ ТурбоСАП реализован 11а 11t•1н·о11альной ЭВМ типа IBM РС, снабженной перфоратором I IJI \fIOM, фотосчитывателем FS 1501. 1lроrраммное обеспечение АРМ ТурбоСАП содержит: 1. САПР ТП, позволяющую выполнить технологическое проек- 1·11 рона н ие для всех деталей и сборочных единиц конкретного 11:1/\t'JIИЯ с расчетом технологических режимов и норм времени. 2. Подсистему разработки управляющих программ (УП), АКJIЮ'IИЮЩую: у11инерсальную интерактивную графическую 2,75D САП Инн•рСАП G+, позволяющую формировать т.раекторию движе ния инструмента при помощи графического редактора, используе мого для изображения обрабатываемой детали, или на языке Интt.'рСАП. Графический редактор способен редактировать чер тежи, сделанные системой AutoCAD;, модуль макроrраф, который позволяет формировать изобра жение макроко,манд и обеспечивает интерактивный графический ввод параметров; систему графического контроля (твердотельное моделирование процесса обработки) ; графическую информационно-поисковую систему инструмента; подсистемы архивизации УП и ТП; генератор постпроцессоров (в библиотеке готовых - более 60 типов). АРМ ТурбоСАП применяется в НПО «Молния», производ ственных объединениях: Киевском авиационном, «Завод Арсенал», «Обь», на Крюковском вагоностроительном заводе и на более чем 50 предприятиях Минавтопрома, Минобщемаша и других отрас лей промышленности. Перечень оказываемых услуг: 1) адаптация программного обеспечения АРМ по ТЗ заказчика; 2) поставка комплекса техни ческих средств; 3) обучение пользователей; 4) приоритетная по ставка новых версий; 5) авторский надзор в течение двух лет·. Разработчик АРМ ТурбоСАП: МГВП «КомТех», 252074, r. Киев, 74, ул. Автозаводская, 18, тел. 430-22 -95, 431-14-34.
И 73 Iнтерах:тивна система автоматизацii пiдrотовки програм для верстатiв з ЧПУ / Ю.М.Камаев, Ю.В.Шевчук, С.Ю.Плотников та iн. - К.: Технiка, 1992. - 118 с. Мова рос. ISBN 5-335-00S44 -0 Описана працююча на персональних ЕОМ система пiдrотовки керуючих про rрам для верстатiв з ЧПУ IнтерСАП як пlдсистема АРМ ЧПУ. На великiй кlлькостi прикладlв розrлянуто можливостi вхlдноi мови. Наведено бiблiотеку макрозасобiв для описания обробки тlл обертання. Вмlщено приклади дlючих пlдпроrрам для розробки постпроцесорlв. Велика уваrа придlляеться перспектнвi розвитку IнтерСАП. Розрахована на lнженерно-технiчних працiвникiв металообробноi промисло востi. Може бути корисною студентам вузiв вiдповlдиих спецiальностей. И 270401 0060-096 82.91 201-92 Виробничо-практнчневидання Кама«:в Юрiй Миколайович, Шевчук Юрiй Васильович Плоntиков Cepriй Юрlйович, Горкун Станiслав Петрович Теличенко Валентина Миколаiвна Iнтерактивна система автоматизацii пiдготовки програм для верстатiв з ЧПУ Редактор Г.Л.Мираноеа Оформления художника Г.В.ФайiJиШll Художнlй редактор /.В.Руб.льова Технlчний редактор Л./.Лt,()ВОЧКiНll Коректор Л.О.Москаленко ББК 34.5-5-01 Здано до складання 28.12.90. Пiдписано до друку 23.08 .91. Формат 60 х 90 1/ 16. Папlр друкарський N 2. Гарнlтура лlтературна. Друк офсетний. Ум.друк.арк. 7,5. Ум.фарбо вlдб. 7 ,88. Обл.-вид.арк. 7 ,04. Зам .. z. -295', Видавництво "Технiка". 252601 Киtв, 1, вул. Хрещатик, S. Киiвська книжкова друкарня науковоl книrи. КиJв, Репlна, 4.