HA8.1 Програмске целине за лакше дефинисање програма предмета ПРО210А007-0043.0000 Машине алатке: MA1 Сага о машинама алаткама и технолошким системима; МА2 Главно кретањ машина алатки;...; МА6 Управљање машина алатки; МА7 Програмирање машина алатки; МА8 Опрема машина алатки; МА9 Испитивање машина алатки; МА10 Темељи и ослонци машина алатки; МА11 Ресурси за развој машина алатки;... Студенту ће на крају овог курса остати стечено знање и елаборат са подсетником шта је још могао научити. Универзитет у Београду Машински факултет Катедра за производно машинство Предмет: Машине алатке Шифра предмета: ПРО210А007-0043.0000 Статус предмета: Изборни, 6.3.5 http://cent.mas.bg.ac.rs/nastava/ma_bsc/inde.htm Професор: Милош Главоњић МА6 УПРАВЉАЊЕ МАШИНА АЛАТКИ. MA7 ПРОГРАМИРАЊЕ МАШИНА АЛАТКИ УПРАВЉАЊЕ И ПРОГРАМИРАЊЕ МАШИНА АЛАТКИ Ова тема припада целинама МА6 и МА7. Подршка за ову тему су: Разрада теме АН-8 Управљање и програмирање машина алатки. Упутство за извођење четврте лабораторијске вежбе: Управљање и програмирање машина алатки, ПЛ-7. Четврта лабораторијска вежба: Програмирање машина алатки, ПЛ-8. Упутство за израду семинарског рада: Управљање и програмирање машина алатки. Параметарско програмирање обрадног центра LOLA HMC 500, ПС-1. Семинарски рад: Параметарско програмирање обрадног центра LOLA HMC 500, ПС-1. Презентација елабората. Презентација семинарског рада. Пратећи писани материјал који је припремљен тачно за ову тему, ha_8_1_ppt.pdf. Допунски материјал са сајта предмета и самостално прибављена литература. За време лабораторијских вежби у Лабораторији за машине алатке могу да се виде и друге нумерички управљане машине алатке која нису предмет ове лабораторијске вежбе. То је прилика да им се види и концепција, формат програма, примери програма, начин преноса програма у управљачку јединицу машине и слично. HA8.1.0 ПРЕДГОВОР У програму предмета овом целином су обухваћене следеће теме: 13. Машине алатке са нумеричким управљањем (NUMA). Дефиниција. Структура. Историјат. Особине. Класификација. Координатни системи. Унутрашња интерполација и интерполатори. 14. Програмирање NUMA. CAD/CAM интерпретација NUMA. Постпроцесори. Спреге радних станица и NUMA. Спољашња интерполација. Разрада ове целине ће се извршити у три дела. У првом делу ће се протумачити важнији детаљи одговора на питање број 13. У другом делу ће бити постављена основа програмирања нумерички управљаних машина алатки која треба да буде вежбана ручним програмирањем нумерички управљаног струга POTISJE PH42 у Лабораторији за машине алатке и израдом и презентацијом семинарског рада. Најзад, у трећем делу ће се поновити детаљи о параметарском програмирању обрадног центра LOLA HMC 500, што је предмет вежбања приликом израде семинарског рада. У расположивом времену може се само поставити структура једног школског тумачења вештине управљања и програмирања нумерички управљаних машина алатки и дати неколико интерпретација тог учења. То ће бити: Дискретно, дигитално окружење за састављање коначно дугачких програма за нумерички управљане машине алатке, које сада могу да покрију све постојеће и прве нове производне програме, па и оне које су покривали континуални копирни системи и системи механичког континуалног управљања машина алатки разних намена и перформанси. Интерпретација спољашње интерполације као конверзије континуалних, бескрајно дугих описа (геометријских) облика машинских делова, који су пројектовани, па их треба направити, у коначно дуге (дигиталне) описе помоћу програма за нумерички управљане машине алатке, помоћу којих се могу и направити. Интерпретација програма за нумерички управљану машину алатку, планирање путање и унутрашња интерполација за вођење алата по тој путањи. Овај документ је компактан и намењен је за школске потребе. Његово тумачење ваља почети тек када се има довољно времена. Најбоље је то чинити уз помоћ инструктора и у целом окружењу припремљеном за предмет Машине алатке. У Београду, маја 2011. године НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 1. Укупно страна: 13.
У радној недељи XI завршавају се ЗК-2, АН-8 и ПС-1. Тако су, по плану рада у тој недељи, после колоквијума ЗК-2: АН-8 Управљање и програмирање машина алатки. У оквиру ове теме припремају се одговори на следећа два питања, планирана за усмени испит: 13. Машине алатке са нумеричким управљањем (NUMA). Дефиниција. Структура. Историјат. Особине. Класификација. Координатни системи. Унутрашња интерполација и интерполатори. 14. Програмирање NUMA. CAD/CAM интерпретација NUMA. Постпроцесори. Спреге радних станица и NUMA. Спољашња интерполација. Одговори на ова питања дају се на часовима планираним за АН-8, њих два у радној недељи XI. ПC-1 Упутство за израду семинарског рада: Параметарско програмирање обрадног центра LOLA HMC 500. Детаљи ће бити тумачени на два часа у радној недњљи XI. HA8.1.1 АН-8 Први део ове теме односи се на увођење и тумачење појма нумерички управљане машине алатке и на интерпретацију рада такве машине помоћу унутрашње интерполације путање алата коју та машина врши. Други део се односи на програмирање машина алатки са нумеричким управљањем и на интерпретацију тог програмирања помоћу спољашње интерполације путање алата. За такву интерполацију постоји неколико заокружених система за пројектовање машинских делова и технологија њихове израде на нумерички управљаним машинама алаткама. То су добро познати CAD/CAM системи. Значајни су зато што се помоћу њих могу приправити програми за нумерички упорављане машине алатке да се направе сви данас познати производи, а са њима су исто толико и значајне саме машине које их праве. Трећи део се односи на параметарско програмирање обрадног центра LOLA HMC 500 и израду семинарског рада о томе. То је друга прилика да се увежба ручно програмирање састављањем параметарског програма за обрадни центар, поред четврте лабораторијске вежбе. Параметарско програмирање користе и произвођачи нумерички управљаних машина алатки када треба да саставе неки системски програм за интеграцију неке периферије у обрадни систем, који комплетирају за неког купца, или за своје потребе. 1) Машине алатке са нумеричким управљањем (NUMA). Дефиниција. Особине. Структура. Историјат. Класификација. Координатни системи. Унутрашња интерполација и интерполатори. Нумерички управљана машина алатка је машина алатка и обрадни систем са њом који се у процесу обраде воде помоћу алфанумеричких података о геометрији и технологији машинског дела који треба на таквој машини обрадити. Особине нумерички управљане машине алатке су и ове: За правилну интерпретацију програма мора постојати стандард за координатне системе. По том се стандарду одређују правила за координатни систем у којем машина ради, а на основу њих се изводе правила за координатне системе обратка у којима се машина програмира. Из правила за координатне системе обратка изводе се и правила трансформације координатних система и кориговања мера алата да би се програм из координатног система обратка могао правилно пренети на координатни систем машине. Из тога се изводе појмови нултих тачака и корекција алата по којима један програм не мора зависити од тренутних мера алата и тренутне позиције на машини обратка са помоћним прибором. Без преке потребе се у тим трансформацијама са координатног система обратка на координатни систем машине не користи нешто више од транслација. Општи случај би подразумевао и ротације. У програмима за нумерички управљане машине алатке програмира се релативно кретање алата у односу на обрадак, без обзира на расподелу кретања на алат и обрадак на свакој појединачној машини. Тако се врши довољно добра унификација концепција машина. Први део путање алата у односу на обрадак у програму и на машини врши се позивом нулте тачке и корекције алата, евентуално и са неким допунским податком и задавањем потребног позиционирања у односу на те референтне позиције. Тако за програмирање планиране обраде остаје могућност да се сваком новом наредбом зада наредна позиција алата, сматрајући да је затечена достигнута радом машине по претходном делу програма. Подаци о технологији обраде на машини се трансформишу у кинематику релативног кретања алата у односу на обрадак тако што се режимима обраде из технологије прописују брзине појединачних кретања, а геометријом обратка из програма контролишу путање са тако одређеним брзинама, да резултат релативног кретања алата у односу на обрадак буде тачно пројектовани облик обратка, са мерама у границама толеранције и захтеваним квалитетом обрађене површи. Отуда нумерички управљана машина алатка има упоредно управљање и брзинама и позицијама на својим актуаторима. НА-8. Разрада питања 13. и 14. Страна 2. Укупно страна: 13.
Сва правила пројектовања технолошких процеса, која се уче и/или стичу праксом, важе и морају да важе и у програмирању NUMA. У супротном би се направио дисконтинуитет у технологији машинске обраде у традицији те вештине. Једино се у овом случају пооштравају захтеви за једнозначност и комплетну припрему технолошке документације, приликом припреме обраде на NUMA, зато што је рад таквих система аутоматски, дакле, без учешћа руковаоца. Тако је и по дефиницији: машина и обрадни систем се воде помоћу адекватних података, не води је руковаоц. То значи да уобичајена процедура у пројектовању технолошког процеса важи и овде: избор припремка, избор алата, избор машине алатке, избор помоћног прибора и избор режима обраде. Отуда се подразумева да изради програма у било ком методу програмирања NUMA претходи комплетирање технолошке документације: плана алата, плана базирања и редоследа обраде. По њима се потом комплетира и сам програм. По плану алата даље се практикује конвенција за корекције алата. По плану базирања се уводе и користе нулте тачке и трансформације координатних система. По редоследу обраде се саставља програм. Ако се за сваки програмирани захват очекује да је прво алат позициониран у односу на обрадак на меру коју обрадом треба остварити, онда NUMA мора да има могућност и позиционирања алата, пре почетка обраде и радних кретања. Позиционирање она врши брзим ходом да се уштеди време, а радни ход (интерполацију) врши програмираном контурном, резултантном брзином алата, добијеном слагањем свих потребних кретања на машини да би се програмирана путања алата могла остварити. Подразумева се да NUMA може и да чита унапред део текућег програма како би лакше интерпретирала и спојила путању алата. За сада је довољно да се посматрају машине које задате путање могу да интерпретирају само ако су састављене од дужи и од кружних лукова (па и кругова), односно, које могу да врше линеарну и кружну интерполацију. NUMA у овом курсу је само машине алатке за обраду резањем, а од њих, само струг и глодалица. После вежби програмирања са њима лако се ова вештина може усавршавати. У машиству се NUMA првенствено посматрају као ресурси који се адекватним програмирањем могу користити за прављење других машина. Структура NUMA показана је на S8.1.1. Правоугаоницима су приказани делови овог система, а заобљеним правоугаоницима догађаји својствени раду машине по задатом програму. У овом курсу се S8.1.1. Прва интерпретација главних делова и догађаја у NUMA НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 3. Укупно страна: 13.
посматрају само NUMA који се програмирају реченично, у променљивом формату. Отуда је улазни део управљачке јединице, а тиме и машине у целини, интерпретер програма, у ствари интерпретер реченице по реченице програма који пристиже на извршавање. Некада је програм пристизао са магнетне траке, па са бушене траке, онда са касете, па са дискете, а сада обично из неке врсте локалне мреже у коју је машина укључена. У тим реченицама се очекују два њена главна дела по дефиницији нумеричког управљања: геометријски и технолошки подаци. Њих прате и разне помоћне функције машине које се могу интерпретирати као укључивања и искључивања. Такве логичке активности машине одводе се у спрегу која је обично програмабилни аутономни ситем и задатак му је да активира потребне помоћне функције и то синхронизује са основним процесима. Тиме се управљање машине растерећује тих једноставних активности. Главни део управљачке јединице је интерполатор. Он преузима податке о геометрији и режимима и на основу њих планира и реализује путању помоћу управљачких сигнала којима двојако води сваки од сервосистема машине: по основу брзине, дакле, струје у регулаторима и по основу регистрованих позиција свих сервосистема помоћу њихових мерних система. То значи да NUMA има све раздвојене погоне, а да се њихова синхронизација остварује управљањем, односно, радом интерполатора. Свако од тих појединачних кретања зове се оса машине. То је, по правилу, електрични сервосистем, или пратећи систем, који се баш води помоћу пристиглих управљачких сигнала са интерполатора. Увек је активан и упоређује да ли су му брзина и позиција сагласне са програмираним у сваком интерполационом такту, па врши потребна кретања да се поништи уочена грешка, односно, разлика програмираног и стварног. Тако се сервосистем може посматрати као систем аутоматског управљања који нема унапред прописан закон рада, па непрекидно прати своју управљачку величину коју неко други мења (то ради интерполатор, односно програм). Када је направљен такав систем, па и сервомотор који ради по његовим наредбама, створени су услови да се NUMA укључе у текући замах информационих технологија, па и само производно машинство. Још једна интерпретација структуре NUMA показана је на S8.1.2. У њој ваља опет уочити једносмерни ток наредби, које са програмом пристижу и локалну петљу којом се те увек нове (и очекиване наредбе) извршавају потребним брзинама, које се материјализују потребним путањама алата, да би се добио потребан програмирани облик машинског дела изратка. S8.1.2. Друга интерпретација главних делова и догађаја у NUMA Нумеричко управљање је пример технологије са врло успешним развојем. Развој информационих технологија је помогао да понуда NUMA буде увек актуелна, или, да развој оваквих система буде под ултимативним условом непрекидног иновирања, а непрекидни развој технологија машинске обраде и приозводних програма у машиноградњи подстицао је те иновације у нумеричком управљању. Отуда се на разним местима могу наћи фрагменти овог развоја. Углавном се могу уклопити у ове догађаје: Око 1900. године у управљању неких текстилних машина коришћене су бушене картице. Око 1950. године истраживач Парсон у САД почео је да припрема обрадни систем за њихове вазухопловне снаге који би могао да користи неку рачунску машину за обраду компликованих делова за ваздухопловну индустрију. То је убрзо и било реализовано као једна троосна НА-8. Разрада питања 13. и 14. Страна 4. Укупно страна: 13.
глодалица која је програмирана помоћу бинарно кодиране траке, а израчунавања вршила помоћу рачунара са електронским цевима. То је урађено у познатом институту МIT у Масачусетсу. Око 1960. године релеје и електронске цеви у NUMA почели су да замењују транзистори који су од тада неприкосновена иновација у информационим технологијама. Око 1980. године за управљање NUMA почели су да се користе рачунари. Тада је основана данашња генерација компјутерски управљаних машина алатки (CNC, Computer Numerical Control). Око 2000. године започет је развој нове генерације објектног програмирања и управљања машина алатки. Тај развој је у току. Постоје лабораторијски прототипови на основу стандарда ISO STEP NC. Таква смена генерација машина алатки не може да се изврши брзо, а треба исцрпсти и ефекте постојеће генерације. И само пола века развоја нумеричког управљања и окружења за програмирање NUMA створили су више генерација оваквих ресурса, а тиме и потребу да се класификују. Ако се посматрају генерације, G, онда се обично указује на следеће: G1. Ожичена техника управљања. За сваку машину постоји посебно решење. Путање алата: тачка по тачка и дуж у координатном правцу. Касније је освојена контурна обрада. Управљачко коло је отворено. Програмирање је обично ручно. G2. CNC. Конфигурише се за сваку машину подешавањем параметара специфичног оперативног система рачунара који управља машином. У почетку се за сваку машину формира системска бушена трака са тим параметрима, а касније се користи рачунар, на који је машина прикључена. Контурна обрада је уобичајена. Користе се сервосистеми. У програмирању се користе програмски језици, а онда и прве верзије CAD/CAM система. G3. Нова генерација машина на бази стандарда STEP NC, управљања отворене архитектуре, машина разних кинематика, са реконфигурабилншћу управљања и/или структуре итд. Отуда класична класификација NUMA, по употребљеним критеријумима К, изгледа овако: K1. Структура NUMA. Ожичена, CNC, DNC. K2. Врста регулације. Отворено, полузатворено, квазизатворено и затворено коло. K3. Врста програмирања. Инкрементно, апсолутно, комбиновано. Реченично и Објектно. Реченично са фиксним и са променљивим форматом. K4. Врста интерполације. Линеарна, кружна, параболичка, сплајн, Акима,... K5. Врста путање алата. Тачка по тачка, координатна линија, дуж, кружни лук, контура. Сада је погоднија нека општија класификација. На пример, више се не говори посебно о инкрементном и апсолутном програмирању, по којима су се битно разликовалаовале некадашње машине са и без корачних мотора итд. Новија класификација (N) може овако да се стилизује: N1. Конфигурација управљачке јединице. Отворена или затворена архитектура. N2. Врста сервосистема и погона. Аналогни или дигитални. N3. Врста механизма. Серијски, паралени, хибридни. N4. Врста интерполације. Класична (линеарна, кружна, параболичка) и контурна (сплајн, VDA...). N5. Намена машине. Обрада резањем. Обрада пластичним деформисањем. Обрада неконвенционалним методима. Нови методи обраде. Лабораторијски прототипови. Ако, по дефиницији, програм садржи податке о геометрији и технологији обратка, онда је потребно да се има пропис за координатне системе машина алатки са нумеричким управљањем да би програмирање било униформно, да би се постојећи CAD/CAM могли користити без посебног подешавања за сваку машину посебно и да би се у довољној мери више машина могло алтернативно користити у једној технологији. Отуда стандарди за координатне системе NUMA постоје одавно, S8.1.3. Саставни део тих стандарда су описи критеријума за постављање координатних система, али и скице типичних машина алатки са уцртаним стандардним координатним системом за сваку од њих. Овде је то показано само за три машине. Ако машина има више од три осе, онда може бити дилеме око постављања стандардног координатног система па је скица из стандарда за њу незамнљива. Струг је показан јер ће он бити ручно програмиран у четвртој лабораторијској вежби. Хоризонтална и вертикална глодалица показане су да би се видело да су узајамно еквивалентне и поред различитог описа њихових координатних система и да би се из показане стандардне троосне вертикалне глодалице извела једна петоосна за илустровање програмирања таквих машина. За хоризонталну глодалицу, S8.1.3с), координатни систем се поставља оваквим правилом: посматрајући од главног вретена (алата) ка столу (обратку), оса Х је хоризонтална и са смером у десно, оса Y је вертикална и са смером на горе, а оса Z је хоризонтална и паралелна вретену, а усмерена ка посматрачу. За вертикалну глодалицу, S8.1.3b), координатни систем се поставља оваквим правилом: посматрајући од алата ка стубу оса Х је хоризонтална и у десно, оса Y је хоризонтална и усмерена ка стубу, а оса Z је вертикална, паралелна главном вретену и усмерена на горе. Оба система су десна. НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 5. Укупно страна: 13.
a) Струг, без револвер главе b) Једностубна вертикална глодалица Координатни систем нумерички управљане машине алатке је десни Декартов. Поставља се за програмирање и праћење кретања алата у односу на обрадак без обзира ко врши која кретања. За тај случај се осе система обележавају са (X,Y,Z). Aко неко од кретања врши обрадак, те осе имају овакво обележавање: (X', Y', Z'). Основне транслације су X, Y, Z. Ако на машини има више од ове три транслације, онда су следеће три, које су паралелне са овим основним, редом U, V, W. Нове три транслације обележавају се са P, Q, R, тим редом. Ако се деси да машина има и транслација које нису паралелне, или се може десити да нису паралелне са основним X, Y, Z, онда се могу обележити неком од већ резервисаних ознака за допунске транслаци (U, V, W, P, Q, R ), како је најпогодније. Основне ротације су A, B и C. Допунске ротације се обележавају са D и E, биле оне паралелне са основним или не. c) Хоризонтална конзолна глодалица d) Полазне дефиниције S8.1.3 Примери координатних система по стандардима ISO 841/1974 и DIN 66217/1975. Порекло: стандард EIA RS-267/1967. На нашем језику то је стандард JUS M.G0.030. Ако би се вертикална глодалица посматрала одозго, распоред оса би био тачни као на хоризонталној глодалици. Уопште, за троосне NUMA, какве су начешће, па и неке четвороосне и петоосне, може да се примени овакво правило за постављање стандардног координатног система: Оса Z је паралелна главном вретену и усмерена је од обратка ка алату. Ако машина нема главно вретено онде је оса Z управна на базу обратка. Оса Х је хоризонтална, паралелна бази обратка. Ако су две осе хоризонталне, онда је оса Х важнија од те две. На осу Х се после овог примене правила која су наведена за хоризонталну и вертикалну глодалицу. Оса Y је трећа у тако постављеном десном координатном систему. НА-8. Разрада питања 13. и 14. Страна 6. Укупно страна: 13.
Унутрашња интерполација и интерполатори. Поменуто је да је (унутрашњи) интерполатор главни део управљања једне NUMA (S8.1.1, S8.1.2). Помоћу њега се декодирана геометрија и технологија обратка преводе у брзину и путању алата. NUMA ради у дискретном координатном систему чија је јединица мере инкремент те машине. Инкремент је најмањи померај који машина може да направи. На машинама уобичајене намене инкремент је сада 1µm. Обично је толика и јединица мере за координате позиција алата које се дају у програму. Према томе, само за такву мрежу може бити састављен програм. Он се саставља у спољашњој интерполацији. Нека је довољно да се ово тумачење да само за машине са линеарном и кружном интерполацијом. То значи да ће у програму пристићи, уз остало, и наредбе за коначно много таквих кретања алата. Такве путање се помоћу интерполатора даље деле на коначно много одмерака интерполацијом у расположивој мрежи машине, а онда се ка осама шаљу управљачки сигнали за обраду. Овде ће то бити објашњено на примеру линеарне интерполације и трапезног профила брзине, S8.1.4. а) Трапезни профил контурне брзине b) Линеарни интерполатор типа DDA c) Пример планирања линеарне путање помоћу интерполатора DDA S8.1.4 Основна интерпретација интерполатора нумерички управљане машине алатке НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 7. Укупно страна: 13.
Трапезни профил брзине је најједноставнији и лако се се реализује, сам од себе, S8.1.4а). Тако, ако се оса покрене сервомотором константног момента, онда ће и угаона и транслаторна убрзања бити константна, профил брзине трапезни, али ће удар ut () имати импулсни карактер, што је неповољно. Обично се профил брзине подешава тако да удар буде коначан. Међутим, то овде није предмет. Нека је програмом пристигла реченица којом се тражи кретање алата по дужи од Р до К брзином v s, S8.1.4с). Нека је та дуж у равни паралелној координатној равни (Х,Y) машине јер је и програм састављен у координатном систему (Х,Y) обратка, а по плану базирања је прописано да та два система буду паралелна када се прибор са обратком постави на машину. Тако ће трансформација између ова два система бити само транслација. Она ће се у програму реализовати позивом нулте тачке, а путања на S8.1.4с) је у координатном систему машине. Икремент машине је Δ и исти је по свим транслаторним осама, по дефиницији. Контурна брзина ће се добити слагањем брзина v и v оса Х и Y машине. Ход осе Х треба да буде δ, а осе Y δ. Обе осе у Р морају кренути истовремено, узајамно се пратити и у К стати истовремено. Посматра се само дуж РК. Све ове захтеве треба да испуни интерполатор и то за фазу брзавања (до ), фазу кретања константном брзином (од до t ) t1 t 1 2 и фазу заустављања (од t2 до t 3 ). У овоме се може већ препознати пропис за већ анализирани електромеханички преносник за помоћно транслаторно кретање. Нека се посматра време од t = 0, до t = t1. То је фаза убрзавања. Убрзање је тада константно и износи a. Тада је закон промене брзине v као у сваком једнолико убрзаном кретању: m t= t1 vs() t = vs( t = 0) + a() t dt = vs( t = 0) + am( t 0) am t, јер је vs( t = 0) 0, зато што је машина у тачку Р t = 0 долазном путањом DP ушла извршавајући претходни део програма без остатка, како иначе мора да ради у оваквом раду реченица по реченица. Сада се може израчунати пут у сваком тренутку етапе са убрзавањем: t= t1 1 2 1 st () = st ( = 0) + amtdt= st ( = 0) + amt amt 2 2 t = 0 мало израчунавања, или, без коришћења тригонометријских функција, када год то може. Нека се опет посматра фаза убрзавања са S8.1.4а). Убрзања оса Х и Y треба да буду: a = f a = const и s 2, јер је и st= ( 0) 0 зато што је, по претпоставци, машина стала у Р пре почетка рада по овој реченици. У фази кретања константном брзином рачун је једноставан, а за фазу заустављања треба спровести рачун за једнолико v sm успорено кретање. Разлагање контурне брзине v на брзине оса ( v и v ) ваља да се изврши са m 2 2 a = f a = const, где су f = δ δ + δ и f = δ δ + δ s 2 2 s s m коефицијенти правца оса Х и Y у односу на програмирану путању, израчунати без тригонометријских функција. Сада се може поставити и пропис за тренутне брзине по ове две осе: vs = fvs и vs = fvs. Интерполатор такође врши коначно много израчунавања, свако у новом интерполационом такту. Он тако као интегратор на претходне вредности додаје израчунати прираст и израчунава нове. Ако је бројач тактова параметар j и ако се посматра такт са редним бројем j + 1, онда ће тренутне брзине v и v оса Х и Y у том такту бити израчунате као v, + 1 = v, + a Δt и v, + 1 = v, + a Δ t, где је Δ t интерполациони такт. j j j j s s Сабирци a Δt и a Δt у овом случају су константе. Зато се не морају израчунавати у сваком такту изнова, него само додавати као већ израчунате константе. Координате текућих позиција активним осама сада су: 2 j+ 1 = j +, j Δ + 0.5 ( Δ ) и 2 j+ 1 j v, j t 0.5 a( t) v t a t и на = + Δ + Δ. Према томе, овај интерполатор ради као нека врста интегратора, а то је онда опет нека врста бинарног сабирача. Зато ће линеарна интерполација овде бити интерпретирана и помоћу класичног DDA интерполатора (DDA: Digital Differential Analsеr, односно, бинарни сабирач, или, интегратор), S8.1.4b). То је бинарни сабирач који се може овако описати: n Има n бита. Нека је број бита одабран тако да буде 2 ma( δ[ Δ], δ[ Δ ]) за лакши рачун. Он иначе има фисан број бита и високу фреквенцу f 0 интерполационог такта. Има регистре p и q. Регистар p пуни се инкрементима ±Δp по правилу промене брзине осе, а регистар q се пуни у комуникацији са сабирачем Σ. НА-8. Разрада питања 13. и 14. Страна 8. Укупно страна: 13.
Посматра се само фаза са константном брзином. Због тога ће и брзине оса Х и Y бити константне, а за то је овде довољно да се постави Δ p =Δ p = 0 и p = δ = 16, а p = δ = 8. Бројач интерполационих тактова је j и овде их је потребно n. Пут по оси Х је δ = 21 5 = 16Δ, а по оси Y δ = 10 2 = 8Δ, S8.1.4с). Зато је овде довољно да буде n = 4, па је 2 = 16 =δ [ Δ ]. После такта са редним бројем j посматра се такт са редним бројем j + 1. У њему ће се за обе активне осе израчунати qj + 1 = qj + pj+ 1, где је pj + 1 = pj и износи 16 за осу Х, а 8 за осу Y. После тога се примени логика показана на S8.1.4b) и тако закључи да ли ка посматраној оси одлази импулс ( Δ= 1), или се цела израчуната вредност q j + 1 враћа у регистар. То значи да се 2 n пута на оси Х сабира по δ /2 n, а на оси Y δ / 2 n и тако на крају задњег такта, са редним бројем 2 n, обе осе истовремено уведу у позицију К. Рад интерполатора типа DDA за овај пример сажет је у Т8.1.1. Рад машине по управљачким импулсима из Т8.1.1 показан је на S8.1.4с) као путања од интерполатора. На машини ће она у крајњем бити глатка због инерције покретних елемената машине, трења на вођицама и у актуаторима и зато што су мере алата неупоредиво веће од инкремента који је обично 1µm. Т8.1.1 Рад интерполатора DDA за путању са S8.1.4с). Операнди су целобројни. Планира се права путања. Претпоставка: бинарни сабирач DDA има n=4 бита, 2 4 =16. Ознаке: као у тексту. Редни Интерполатор осе Х Интерполатор осе Y број такта Регистар p Регистар q Импулс Δ Регистар p Регистар q Импулс Δ 0 Машина је у полазној позицији Р у коју је дошла путањом DP из претходне реченице 0 0 0 0 0 0 1 16 16-16=0 1 8<16 8 0 2 16 16-16=0 1 16 16-16=0 1 3 16 16-16=0 1 8<16 8 0 4 16 16-16=0 1 16 16-16=0 1 5 16 16-16=0 1 8<16 8 0 6 16 16-16=0 1 16 16-16=0 1 7 16 16-16=0 1 8<16 8 0 8 Δ p = 0 Δ p 16 16-16=0 1 = 0 16 16-16=0 1 9 p = δ = 16 16 16-16=0 1 p = δ = 8 8<16 8 0 10 16 16-16=0 1 16 16-16=0 1 11 16 16-16=0 1 8<16 8 0 12 16 16-16=0 1 16 16-16=0 1 13 16 16-16=0 1 8<16 8 0 14 16 16-16=0 1 16 16-16=0 1 15 16 16-16=0 1 8<16 8 0 16 К 16 16-16=0 1 16 16-16=0 1 Збирови Збир свих импулса за осу Х 16 Збир свих импулса за осу Y 8 Примедбе: За осу Х у првом такту се сабира претходна вредност из регистра q (0 из такта са редним бројем 0) и текућа вредност 16 регистра р. Збир износи 16. То је тачно 2 n =16. Тада се текућа вредност q умањује за 2 n. Остаје 0, колико одлази у регистар, а на осу се шаље један импулс (Δ=1). То се понавља у свих 16 тактова, јер је тако подешена путања. За осу Y у првом такту се такође сабира вредност из њеног регистра q (0 из такта са редним бројем 0) и текућа вредност 8 регистра р. Збир износи 8. То је мање од 2 n =16. По логици рада интерполатора DDA тада се не шаље импулс на осу, а у регистар q се враћа нова израчуната вредност 8. То значи да је у сабирању прикупљено тек 8/ (2 n =16)=0.5 импулса Δ и нема основа да се оса помери јер би предњачила у односу на осу Х. У другом такту се вредност 8 регистра q сабира са текућом вредношћу из регистра р, која је константна и износи 8. Резултат је тачно 2 n =16. По логици рада интерполатора стекли су се услови да се на осу пошаље један импулс, а да се вредност q умањи за 2 n =16 и тако сведе на нулу, колико се одводи у регистар q у овом такту. Тако се на оси Y у сваком другом такту одводи по један импулс. Овакав рад интерполатора је планирање путање која је задата на S8.1.4с) зато што је број импулса на обе осе тачно сразмеран потребном путу за задату путању сваке од тих оса, а фреквенца слања импулса сразмерна је њиховим потребним брзинама (оса Х је дупло бржа). n НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 9. Укупно страна: 13.
2) Програмирање NUMA. CAD/CAM интерпретација NUMA. Постпроцесори. Спреге радних станица и NUMA. Спољашња интерполација. У расположивом времену планирано је тумачење програмирања нумерички управљаних машина само помоћу спољашње интерполације и постпроцесора. Подразумева се да се сада то програмирање врши у окружењу одабраног CAD/CAM система у које је у некој врсти мреже укључена и сама NUMA. О томе се учи и у другим предметима. Тамо стечено знање овде се може употпунити уз практиковање ручног и параметарског програмирања. Ако се увежбају ова два програмирање може се очекивати лакше програмирање у окружењу неког система где је уобичајено и конфигурисање постпроцесора за одабрану машину. Програмирање може бити реченично, адресно (некада је било са фиксним форматом, сада је са променљивим форматом, некада је било са целобројним координатама, сада је са децималним), или објектно. Овде ће се користити реченично програмирање променљивог формата са координатама задатим као децимални бројеви. Подразумева се да је јединица мере тада 1 mm, а може бити и 1 инч, што овде није уобичајено. Такво програмирање описано је у Т8.1.2. Израчуната путања алата форматизује се као стандардни CLF (Cutter Location File) и има основну интерпретацију у језику АРТ (Automaticall Programmed Tools, уведен у употребу као стандард после развоја у институту MIT 1956. године, где је направљена и прва NUMA). У вишеосној обради глодањем, као компликованијој од других метода обраде, типична реченица те интерпретације је GOTO/ T, T, zt, a, a, a z. Овде су ( T, T, z T ) координате вектора положаја r врха алата у координатном систему машинског дела који треба направити, у којем су пројектовани и тај део и путања алата за његову обраду, а ( a, a, az) су координате орта осе алата a којим је алат оријентисан приликом те обраде. Ако је обрада троосна, онда је алат увек паралелан оси Z, па је тада a = k = (0,0,1) T и у том случају се у CLF не уписују координате тако познатог орта осе алата. И другде се о језику АРТ може чути и видети, а овде је се он наводи само као основ система показаног у Т8.1.2: Традиција такозваног аутоматског програмирања помоћу језика АРТ и њему сличних језика сачувана је и после увођења система CAD/CAM тако што је излаз из подсистема CAM форматизован као CLF типа АРТ и тако задржано цело постојеће окружење са постпроцесорима и NUMA, који то прате. Унапређење је било немерљиво јер је сада могуће геометрију и кинематику неког процеса обраде форматизовати аутоматски, помоћу система CAD/CAM. Ko je сам исписивао програм када је користио АРТ зна колико је корисно ово побољашање. Т8.1.2 Главни догађаји у реченичном програмирању нумерички управљаних машина алатки. Ознаке: STEP-NC је проширење стандарда STEP на комуникацију са нумерички управљаним машинама алаткама у којој се машини пренос и геометрија и технологија обраде пројектованог машинског дела приликом објектног програмирања тих машина; RS274D, или, ISO6983, или, DIN66025, еквивалентни су стандарди за формате реченичних програма за нумерички управљане машине алатке; Р1 до Р5 су типични методи реченичног програмирања машина алатки. STEP-NC није предмет овог курса. Предмет овог курса није ни архаично реченично програмирање са фиксним форматом реченице. Догађај и/или процес Опис основне верзије догађаја и/или процеса Пројектовања геометрије. Слапања склопова. Анализа механизама. Анализа чврстоће. Размена модела. Цртања. Комплетирања пројеката... Бирање алата. Бирање прибора. Подешавање режима обраде. Прорачун путање и оријентације алата. Комплетирање технолошке документације. Стандардизовани запис путање и оријентације алата. Листање записа у формату АРТ... Конфигурисање кинематике одабране машине. Постпроцесорска израчунавања. Форматизовање и погодна верификација програма... Стандардни формат програма. Пример: формат по стандарду DIN 66025, класични G кôд... Интерпретирарање реченичног G кôда, његова верификација и рад по њему... Р1: Ручно програмирање. Р2: Ручно параметарско програмирање. Р3: Ручно програмирање помоћу дела података који се припремају помоћу програмског језика типа АРТ, или неког другог процесора, обично за геометрију у равни. Ручно програмирање помоћу процесора инсталисаног у управљачкој јединици. Р4: Програмирање помоћу програмског језика инсталисаног у разним верзијама и на разној опреми, класично аутоматско програмирање. Р5: Речененично програмирање у комплетном CAD/CAM окружењу. НА-8. Разрада питања 13. и 14. Страна 10. Укупно страна: 13.
Пример поставке спољашње интерполације и програмирања једне петоосне глодалице. Ово је најава четврте лабораторијске вежбе. Она ће бити рађена на нумерички управљаном стругу. Зато су семинарски рад и овај пример оријентисани нумерички управљаној глодалици да би стечено знање било потпуније. Претпоставке за предстојећи текст су: Посматра се петоосна глодалица са двоосном обртном главом која носи алат. Тип те главе је (А,В). То значи да је алат директно везан за сегмент главе који се обрће око осе Х машине за угао А, а да је тај сегмент везан за други који се обрће око осе Y машине за угао В. Концепција такве машине показана је на S8.1.5a). Конструкција главе је тако подешена да се обе ротације врше у односу на непокретне осе Х и Y машине. У основној конфигурацији машина двоосну главу поставља тако да је оса алата (лоптастог глодала L) паралелна оси Z машине. То је референтна позиција главе. Нека су и референтне позиције транслаторних оса (X,Y,Z) у њиховим крајњим позицијама у негативном смеру сваке од њих, што није посебно важно. Важно је да су оријентације тих оса стандардне. Једно од кретања стварно врши обрадак: то је оса Х'. Овде је одабран најједноставнији начин показивања нулте тачке О G, односно, позиције координатног почетка система обратка у координатном систему машине: Нулта тачка се показује врхом алата Т, са двоосном главом која је је већ у својој референтној позицији. Тако је стварно Т врхом алата показан вектор r GM, позиција машине и односи се на нулту позицију зглоба Т Р :,, а као нулта тачка у меморији машине уписује се очитана r TPG M. То значи да ће се у постпроцесору урачунати корекција дужине алата, која је једнака измереном растојању од врха алата Т до зглоба Т Р. Према томе, у меморији за нулте тачке биће уписано: ( r Т TPG, M, А=0.0, В=0.0). У меморији за корекције алата корекција пречника алата неће бити коришћена јер ће се овде алат оријентисати дуж нормале на обрађену површ, S8.1.5b), а у корекцији дужине алата уписаће се 0.0 зато што ће та дужина Н бити урачуната у постпроцесору, па ће програм важити за зглоб главе, уз позив овако уписаних нулте тачке и корекција алата. Овде се решава овакав задатак: позиционирати алат L тако да буде паралелан нормали n на обрађену површ и да ту површ додирује својим врхом у тачки R P у којој је позната нормала. а) Концепција петоосне b) Координатни системи машине и обратка глодалице са главом (А,В) Ознаке: F је фиксна веза, Т је транслаторни зглоб механизма машине, О је обртни зглоб тог механизма. S је сто, Т Т је врх алата, Т Р је рачунски зглоб двоосне главе (пивот) уз претпоставку да се осе ротација А и В секу у тој тачки. L је алат, овде лоптасто глодало. На сликама су вектори оуначени масним словима, а у тексту са стрелицом изнад слова који их означава да се не деси забуна приликом читања штампаних масних слова. О М (Х М, Y М, Z M ) је (стандардни) координатни систем машине, а О G (Х G, Y G, Z G ) је координатни систем обратка у којем је састављен програм за обраду. Задржана је полазна поставка да су ова два система паралелна и да је трансформација са једног на други само транслација за вектор r GM, и обратно. У означавању вектора први индекс се односи на тачку којој припада, а други индекс, иза зареза, на координатни систем у којем је дат. S8.1.5 Поставка програмирања петоосне глодалице са двоосном главом (А,В) НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 11. Укупно страна: 13.
Пример решавања таквог задатка показан је на S8.1.6. Односи се на програмирање путање која је један упоредник на лопти на висини z T = 95.0 mm. Координатни систем обратка је у центру лопте и оријентисан тако да потоње позиционирање обратка на машини буде сагласно са оним са S8.1.5, када је алат дуж нормале на лопти, па је он онда и дуж наставка вектора положаја тачке Т Т, по природи облика лопте, S8.1.6b). У израчунавању углова А и В ротације двоосне главе (А,В) може се поступити двојако. Једно је геометријско решење, а друго се добија применом матрица ротације: Интуитивно, геометријско одређивање углова ротације А и В за задати орт осе алата, a = n, S8.1.6а). Референентна позиција осе алата је a0 = k. Програмирана позиција је дата ортом a = ( a, a, a ) T осе алата, а овде је z одабран најједноставнији случај: да то буде дуж нормале на обрађену површ. За овај тип главе прво треба извршити ротацију вектора a0 = k за угао А. Краћи пут је ротација за угао А у нову позицију a A. Тада је апсолутно мања вредност тог угла A = arcsin( a ( a = 1)) = arcsin( a ), а користи се као A = arcsin( a ). То је први постпроцесорски рачун. После овог треба затечени вектор a A обрнути за угао В да се поклопи са крајњом својом позицијом a a AB. Тај угао је онај чији је тангенс a a, а најбоље је израчунати га као z B = atan2( a, a ). Опсег ротације В овакве главе сасвим је добро покривен резултатима овог рачуна који угао В даје у између граница π и + π. То је други постпроцесорски рачун и завршетак израчунавања углова потребних ротација. Коришћење матрица ротације у одређивању углова ротације А и В за задати орт осе алата, a = n. Овде су потребне матрице ротације око оса Х и Y. У општем случају, ако се у координарном систему (X, Y, Z) зна вектор a = ( a, a, a ) T z а) Израчунавање углова ротације главе (А,В) петоосне глодалице са почетком у координатном почетку и ако га треба обрнути за неки угао А око осе Х, онда је резултат те ротације вектор a A и израчунава се као A X ( ) a = R A a0, где је R ( A ) матрица ротације око осе Х за угао А, јасно, у позитивном смеру. Она је: b) Пример програмирања путање по упореднику 1 0 0 једне сфере на петоосној глодалици (А,В) R ( A) = 0 cos( A) sin( A). Тако S8.1.6 Пример припреме програма за једну 0 sin( A) cos( A) петоосну глодалицу са двоосном главом (А,В) обрнути вектор треба даље обрнути око (непокретне и непомерене) осе Y за угао В, са cos( B) 0 sin( B) матрицом RY ( B) = 0 1 0. Матрица укупне трансформације је RAB = RBRA. sin( B) 0 cos( B) НА-8. Разрада питања 13. и 14. Страна 12. Укупно страна: 13.
Тако се ове две ротације вектора a 0 у a, у редоследу А па В, своде на следеће матрично множење: cos( B) sin( A)sin( B) cos( A)sin( B) 0 cos( A)sin( B) a T a = RB( B) RA( A) ( a0 = k = (0,0,1) ) = 0 cos( A) sin( A) 0 = sin( A) = a sin( B) ain( A)cos( B) cos( A)cos( B) 1 cos( A)cos( B) a z Одавде се могу поново израчунати углови ротације. Резултат је као и раније. Из a = sin( A) израчунава се угао А, а помоћу дељења a az = cos( A)sin( B) cos( A)cos( B) = tg( B), када је cos( A) 0 и угао В. Тада би угао А био 90 о, или 270 о, што је сингуларни положај главе (А,В). Сматра се да оса А нема тај опсег и да овај сингуларитет не треба сада тумачити. Овако су потврђена прва два постпроцесорска рачуна. После овога треба спровести трећи постпроцесорски рачун: одређивање координата зглоба двоосне главе, које треба уписати у програм уз већ израчунате позиције А и В. За ово се користи модел са S8.1.5b). Потребно је да израчунају координате вектора r TP, M. Већ су у CLF уписане координате врха Т Т лоптастог глодала L. Отуда је и познат вектор r, (,, ) T TT G = T T zt. Из показивања нулте тачке О G посредно је познат и вектор r GM, јер је у показивању нулте тачке одређен вектор r TPG, M по конвенцији да се корекција алата (дужина Н) урачунава још у постпроцесорском рачуну. Трансформација са система обратка на систем машине и даље је само транслација. Полазна векторска једнакост у овом случају је rtp, M = rtpg, M Hk + ( rt, G = rt, M ) + Ha. Ако су координате вектора r TP, M редом TP, TP, z TP, онда њих треба израчунати и унети у програм. Зато ће се у програм унети ове координате: = + H a = + H a и z = z + H ( a 1.0). Оне су координате вектора r Δ. Приликом TP T, TP T TP T z извршавања овог програма формално ће се позвати корекција алата, која је у меморији за корекције уписана као 0.0, али и нулта тачка, чије су координате: координате вектора r, (,, ) T TPG M = TPG TPG ztpg и А=0.0, В=0.0. Машина ће тако радити по векторском збиру r = r ( H = 0.0) k + ( r = r ) + ( H = 0.0) a. За илустрацију овог постпроцесорског рачуна служи TP, M TPG, M T, G T, M пример праћења путање са S8.1.6b). Претпоставке су следеће: Полупречник лопте је 100 mm, укупна дужина алата је Н=400 mm, путања је на висини z T = 95.0. Алат је дуж спољашње нормале: a = n. Ако су параметарске једначине лопте, на којој треба обрадити ову путању: T = Rcosϕ cos θ, T = Rsinϕ cos θ, zt 95.0, r = (,, ) T T T zt, онда је орт спољашње нормале, показан на S8.1.6b): n = (( r ϕ) ( r θ)) ( r ϕ) ( r θ). Израчунате су само неке позиције алата на по 45 о и пописане у Т8.1.3. Помоћу њих се могу лако и саставити припадајуће реченице програма, који би важио за ову обраду. Редослед израчунавања је следећи: (1) поставе се параметри ( ϕ, θ ). (2) Израчунају се координате вектора положаја r текуће тачке на путањи. (3) Израчунају се координате орта спољашње нормале n на обрађену површину (лопту), што су и координате орта осе алата a, јер је одабрано да алат буде дуж спољашње нормале. (4) Израчунају се координате вектора r TG, + a Δ = Hk + r H, које се уносе у програм. (5) Израчунају се углови ротације А и В. (6) Састави се текућа реченица за програм: G01X( TP )Y( TP )Z(z ТP )А(А)В(В), где су G, X, Y, Z, A, B адресе, а у заградама су подаци. Лопта је одабрана да провере рачуна буду лаке. Остали углови на по 45 0 следе из дата три до 90 0. Т8.1.4. Подаци за програмирање путање по упореднику лопте полупречника R=100mm на висини од 95 mm, према S8.1.6b). Ознаке: као у тексту. Јединице мере: 1 mm за дужине и 1 о за углове. Инкременти: 1µm и 1µ о. ϕ T T z T a a a z РБ θ TP TP z TP A B a 1 2 3 0.0 31.224989992 0.0 95.0 0.31224989992 0.0 0.950 71.805127661 156.125 0.0 75.0 0.0 18.195 1.0 45.0 22.0794021658 22.0794021658 95.0 0.22079402166 0.22079402166 0.950 71.805127661 110.397 110.397 75.0-12.756 13.084 1.0 90.0 0.0 31.224989992 95.0 0.0 0.3122498999 0.950 71.805127661 0.0 156.125 75.0-18.195 0.0 1.0 На часове АН-8 и ПС-1 треба доћи са копијама материјала који је за тај дан припремљен: Ово упутство и Упутство за израду семинарског рада, ps_1_1_ppt.pdf НА-8. Разрада питања 13. и 14: ha_8_1_ppt.doc. Страна 13. Укупно страна: 13.