1 České vysoké učení technické v Praze Fakulta elektrotechnická DIPLOMOVÁ PRÁCE Integrace a modelování systému distribuovaného řízení polohy a průmysl...
ˇ ´ vysoke ´ uc ˇen´ı technicke ´ v Praze Cesk e ´ Fakulta elektrotechnicka
´ PRACE ´ DIPLOMOVA Integrace a modelov´ an´ı syst´ emu distribuovan´ eho ˇ r´ızen´ı polohy a pr˚ umyslov´ eho robota
Praha, 2012
Autor: V´ aclav Brabec
Podˇ ekov´ an´ı Dˇekuji pˇredevˇs´ım vedouc´ımu diplomov´e pr´ace panu Ing. Pavlu Burgetovi, Ph.D. D´ale bych chtˇel podˇekovat vˇsem, se kter´ ymi jsem mohl diskutovat probl´emy, kter´e se objevily pˇri tvorbˇe diplomov´e pr´ace. Rovnˇeˇz bych chtˇel podˇekovat vˇsem, kteˇr´ı zap˚ ujˇcili potˇrebn´ y hardware, abych mohl zpracovat toto t´ema diplomov´e pr´ace. Chtˇel bych podˇekovat tud´ıˇz zamˇestnanc˚ um tˇechto firem a firm´am samotn´ ym: ANF DATA, KUKA a Siemens.
ii
Abstrakt Tato diplomov´a pr´ace se zab´ yv´a syst´emy polohov´eho ˇr´ızen´ı Simotion a roboty KUKA. Jsou zde porovn´any moˇznosti tˇechto syst´em˚ u. Je zde vytvoˇren matematick´ y model motoru s permanentn´ımi magnety v Matlabu, tento motor je ˇr´ızen syst´emem Simotion. Rovnˇeˇz je ovˇeˇrena moˇznost uzavˇr´ıt polohovou smyˇcku pˇres s´ıt’ Profinet. Simotion a roˇ ıdic´ı syst´emy KUKA a bot jsou integrov´any na jedn´e s´ıti Profinet s nadˇrazen´ ym PLC. R´ Simotion jsou porovn´any a je prozkoum´ana moˇznost ˇr´ızen´ı robota pomoc´ı Simotion, coˇz je otestov´ano na ˇr´ızen´ı vymontovan´eho motoru z robotu.
Abstract This diploma thesis focus on motion control systems, especially on motion control systems Simotion from Siemens and on robots KUKA. This work describes the systems and compares their capabilities. A mathematical model of a synchronous motor with permanent magnets is created in Matlab. The motor is controlled from the system Simotion. The position control loop of the motor is closed in the system Simotion over the Profinet network. Simotion a robot KUKA are connected together with a PLC and all systems are communicating over the Profinet network. The control of systems Simotion and robot KUKA are compared and a motor from robot KUKA is connected the the system Simotion, it demonstrates a possibility, how to control a robot with the system Simotion.
Namˇeˇren´a napˇet´ı a moment na skuteˇcn´em motoru 1FK7022 (vstupy do modelu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.10 Namˇeˇren´e proudy a proudy ze simulace motoru 1FK7022 . . . . . . . . .
12
2.11 a) Porovn´an´ı ot´aˇcek zmˇeˇren´ ych na skuteˇcn´em motoru 1FK7022 a ot´aˇcek simulovan´ ych - vstupn´ı napˇet´ı a moment byly namˇeˇreny na skuteˇcn´em motoru, b) ot´aˇcky simulovan´eho motoru 1FK7022, kdyˇz maj´ı vstupn´ı napˇet´ı ˇcistˇe sinusov´ y pr˚ ubˇeh a moment je konstantn´ı . . . . . . . . . . . . . . .
13
2.12 Namˇeˇren´a napˇet´ı a moment na skuteˇcn´em motoru 1FK7034 (vstupy do modelu) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.13 a) Porovn´an´ı ot´aˇcek zmˇeˇren´ ych na skuteˇcn´em motoru 1FK7034 a ot´aˇcek simulovan´ ych - vstupn´ı napˇet´ı a moment byly namˇeˇreny na skuteˇcn´em motoru, b) ot´aˇcky simulovan´eho motoru 1FK7034, kdyˇz maj´ı vstupn´ı napˇet´ı ˇcistˇe sinusov´ y pr˚ ubˇeh a moment je konstantn´ı . . . . . . . . . . . . . . .
14
2.14 Rychlostn´ı ˇr´ıdic´ı smyˇcka motoru, v syst´emu Simotion jsou jednotliv´e f´aze oznaˇceny U, V, W, v t´eto pr´aci jsou jednotliv´e f´aze oznaˇcov´any a, b, c
.
15
2.15 Polohov´a ˇr´ıdic´ı smyˇcka motoru v syst´emu Simotion . . . . . . . . . . . . ˇ ıd´ıc´ı sch´ema pomoc´ı objekt˚ 2.16 R´ u v Simotion a Sinamics . . . . . . . . . . .
2.18 Vytvoˇren´ y objekt osy Axis modra“v Simotion Scout, osa je nav´az´ana na ” pohon modry“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ” 2.19 Upraven´e ˇr´ıdic´ı sch´ema pomoc´ı objekt˚ u v Simotion a Sinamics . . . . . . ´ 2.20 Uprava PZD bufferu u virtu´aln´ıho drive objektu Vdrive-modry, na po-
18 19
zice v PZD bufferu jsou vloˇzeny hodnoty od skuteˇcn´eho motoru od Drivemodry, parametry r2089 r481 jsou jednotliv´a slova z telegramu 105 - napˇr. r2809[0] je stavov´e slovo ZSW1, vysvˇetleno v dalˇs´ı ˇc´asti pr´ace . . . . . .
3.17 Rychlosti v kart´ezsk´em souˇradn´em syst´emu, rychlost ˇz´adan´a a skuteˇcn´a .
55
36
48
3.18 Pohyb osy A1, jej´ı poloha ve stupn´ıch (IstPosition), rychlost (Istgeschwindigkeit) [◦ /s], zrychlen´ı (Istbeschleunigung)[◦ /s2 ] a proud osy (Iststrom) [A], ˇspatnˇe se v legendˇe grafu zobrazuje jednotka stupeˇ n (d´ano prostˇred´ım WorkVisual, ze kter´eho je exportovan´ y obr´azek grafu), . . . . . . . . . .
56
3.19 Pohyb osy A1 - jej´ı rychlost (Istgeschwindigkeit) [◦ /s] a pozice (natoˇcen´ı) ve stupn´ıch (Istposition) a celkov´a rychlost koncov´eho bodu (CartVel act) x
Konfigurace cyklick´e komunikace mezi Simotion a Sinamics ze Simotion Scout, Control unit oznaˇcuje komunikaci k samotn´emu syst´emu Sinamics, ostatn´ı jsou objekty typu pohon.
. . . . . . . . . . . . . . . . . . . . . .
xii
71
4.9
5.1
59 byt˚ u cyklick´e komunikace od Simotion do Sinamics, ˇr´ıdic´ı slovo STW1 pro motor m´a hodnotu 16x47F . . . . . . . . . . . . . . . . . . . . . . . .
72
Technick´e u ´daje pro konfiguraci motoru v Simotion . . . . . . . . . . . .
75
xiii
Kapitola 1 ´ Uvod V souˇcasn´e dobˇe jsou roboty KUKA vyuˇz´ıv´any v ˇradˇe pr˚ umyslov´ ych aplikac´ı, ˇcasto nach´azej´ı sv´a uplatnˇen´ı v automobilov´ ych z´avodech a v jin´ ych pr˚ umyslov´ ych odvˇetv´ıch. Podobnˇe i syst´em Simotion je hojnˇe vyuˇz´ıv´an pro ˇr´ızen´ı pohon˚ u v pr˚ umyslov´ ych stroj´ıch. V pr˚ umyslov´ ych aplikac´ıch se ˇcastˇeji zaˇc´ın´a prosazovat pro integraci zaˇr´ızen´ı Profinet m´ısto dˇr´ıve hojnˇe pouˇz´ıvan´eho Profibusu. A pr´avˇe tˇemito dvˇema zaˇr´ızen´ımi, robotem KUKA a syst´emem pro polohov´e ˇr´ızen´ı Simotion, se zab´ yv´a tato pr´ace. Jedn´ım z hlavn´ıch u ´kol˚ u je integrace tˇechto zaˇr´ızen´ı pomoc´ı s´ıtˇe Profinet. U syst´emu Simotion se d´ale pr´ace vˇenuje moˇznosti vytvoˇren´ı vlastn´ı regulaˇcn´ı smyˇcky polohy, kter´a bude pouˇzita m´ısto ˇreˇsen´ı, kter´a jsou pˇredpˇripraven´a v syst´emu Simotion. V´ yhodou tohoto ˇreˇsen´ı je moˇznost zmˇeny regul´atoru za bˇehu, coˇz za norm´aln´ıch okolnost´ı nelze realizovat. Jin´ ym pˇr´ınosem by mohlo b´ yt pouˇzit´ı speci´aln´ıch algoritm˚ u, kter´e uzp˚ usobuj´ı ˇr´ızen´ı pohon˚ u k dosaˇzen´ı urˇcit´ ych speci´aln´ıch c´ıl˚ u, napˇr´ıklad to m˚ uˇze b´ yt zmenˇsen´ı opotˇreben´ı pohon˚ u nebo sn´ıˇzen´ı energetick´e n´aroˇcnosti provozu tˇechto pohon˚ u. ˇ ast pr´ace bude zamˇeˇrena na programov´an´ı robota, jak´e moˇznosti nab´ız´ı ˇr´ıdic´ı syst´em C´ a jak se daj´ı programovat pohyby robota a jin´e jeho funkcionality. Budou zkoum´any moˇznosti mˇeˇren´ı parametr˚ u robotu s ohledem na jeho dynamiku, pˇredevˇs´ım na rychlosti a zrychlen´ı. V pr˚ umyslov´ ych aplikac´ıch se ˇcasto pouˇz´ıvaj´ı synchronn´ı motory s permanentn´ımi magnety, dva tyto motory jsou souˇca´st´ı testovac´ıho sestaven´ı syst´emu Simotion a tak´e robot ´ KUKA pouˇz´ıv´a tyto motory. Ukolem t´eto pr´ace je vytvoˇrit matematick´ y model tohoto motoru a porovnat ho se skuteˇcn´ ym motorem. Souˇc´ast´ı pr´ace bude prozkoum´an´ı moˇznosti ˇr´ızen´ı pr˚ umyslov´eho robota syst´emem Simotion, pˇr´ıpadnˇe moˇznost spolupr´ace tˇechto dvou syst´em˚ u na ˇr´ızen´ı. Hlavn´ım c´ılem je zjiˇstˇen´ı, zda je moˇzn´e vyuˇz´ıt pohony robota se syst´emem Simotion a jak´e jsou pˇr´ıpadnˇe 1
nutn´e podm´ınky pro tuto realizaci. Demonstrov´ano to bude na vymontovan´em pohonu z robota, kter´ y m˚ uˇze b´ yt pro tyto testovac´ı u ´ˇcely pouˇzit.
2
Kapitola 2 ˇ ızen´ı polohy pomoc´ı syst´ R´ emu Simotion V t´eto kapitole je provedena konfigurace motoru v syst´emu Simotion, kter´a se liˇs´ı od bˇeˇzn´e konfigurace pohonu v Simotion. Regulaˇcn´ı smyˇcka polohy je uzavˇrena bez vyuˇzit´ı technologick´eho objektu. Vlastn´ı regul´ator je realizov´an v programu a nav´az´an k dan´emu pohonu. Toto je nestandardn´ı postup, a proto je nutn´e postupovat velmi specifick´ ym zp˚ usobem. Je zde vysvˇetlen profil PROFIdrive, kter´ y se pouˇz´ıv´a pro komunikaci s ˇr´ıd´ıc´ıch syst´em˚ u pohon˚ u. V tomto pˇr´ıpadˇe prob´ıh´a komunikace mezi Simotion a Sinamics. D´ale byl vytvoˇren model dan´eho motoru. Jedn´a se o synchronn´ı motor s permanentn´ımi magnety. Modelov´an´ı motoru prob´ıh´a v 2-f´azov´em souˇradn´em syst´emu, kter´ y je spjat´ y s rotorem, tud´ıˇz bylo nutn´e pouˇz´ıt patˇriˇcn´e transformace do tohoto syst´emu. Je zde rovnˇeˇz porovn´an´ı modelu a nasn´ıman´ ych pr˚ ubˇeh˚ u na skuteˇcn´em motoru.
2.1
Popis syst´ emu Simotion
Syst´em Simotion je urˇcen pro u ´lohy typu polohov´eho ˇr´ızen´ı, coˇz je ˇr´ızen´ı pohybliv´ ych os, vaˇcek, servomechanizm˚ u a jejich synchronizace. Jedn´a se modul´arn´ı a ˇsk´alovateln´ y syst´em, kter´ y m˚ uˇze b´ yt vyuˇzit pro centr´aln´ı i distribuovan´e ˇr´ızen´ı pohon˚ u. V syst´emu Simotion m˚ uˇze bˇeˇzet v´ıce paraleln´ıch u ´loh (tzv. Motion Tasks), kter´e jsou urˇceny pro ˇr´ızen´ı pohyb˚ u jednotliv´ ych pohon˚ u. Programov´an´ı m˚ uˇze prob´ıhat v jazyc´ıch zn´am´ ych z PLC a v jazyce ST (Structured Text), kter´ y je podobn´ y Pascalu. Jinou variantou programov´an´ı je vyuˇzit´ı grafick´ ych blok˚ u, kter´e se skl´adaj´ı do podoby v´ yvojov´eho diagramu. 3
Programov´an´ı syst´emu Simotion prob´ıh´a v prostˇred´ı Simotion Scout. K hardwarov´e konfiguraci a i k instalaci Simotion Scout je zapotˇreb´ı prostˇred´ı Simatic Step7.
2.1.1
Pouˇ zit´ y hardware
2.1.1.1
Motory
ˇ • Cerven´ a osa Oznaˇcen´ı: SIEMENS 1FK7022-5AK71-1AG0 Absolutn´ı enkod´er: IC2048S/R L02 • Modr´a osa Oznaˇcen´ı: SIEMENS 1FK7022-5AK71-1LG0 Inkrement´aln´ı enkod´er: IC2048S/R L02 Motory 1FK7 jsou kompaktn´ı synchronn´ı motory s permanentn´ımi magnety. Jedn´a se o motory s velmi univerz´aln´ım pouˇzit´ım v r˚ uzn´ ych oblastech. Enkod´er modr´eho motoru je vybaven rozhran´ım Drive CLiQ (coˇz je otevˇren´e rozhran´ı ˇ pro enkod´ery z ˇrady Sinamics). Cerven´ y motor je bez rozhran´ı Drive CLiQ, tud´ıˇz vyˇc´ıt´an´ı polohy je realizov´ano pˇres vyhodnocovac´ı modul SMC 20. ˇ ıd´ıc´ı syst´em Simotion je verze D425, oznaˇcen´ı 6AU1-425-0AA00-0AA0. R´ ˇ ıd´ıc´ı syst´em SiR´ motion D425 byl dovybaven s´ıt’ovou kartou pro Profinet CBE30. Souˇca´st´ı ˇr´ıdic´ıho syst´emu Simotion D425 je vnitˇrnˇe integrovan´ y modul Sinamics Integrated. Dalˇs´ı souˇc´ast´ı sestavy je nap´ajec´ı modul: Infeed module“ 6SL3130-6AE15-0AB0. Pro ” vlastn´ı nap´ajen´ı motor˚ u je pak pouˇzit: Double motor module“ 6SL3120-2TE13-0AA0. ” Kromˇe t´eto z´akladn´ı sestavy byl s postupem ˇcasu k dispozici Simotion D435 (6AU1435-0AA00-0AA1) vybaven´ y kartou na Profinet CBE30. Verze D435 se liˇs´ı od verze D425 pˇredevˇs´ım poˇctem os, kter´e m˚ uˇze ˇr´ıdit. Verze D425 m˚ uˇze ˇr´ıdit maxim´alnˇe 16 os, verze D435 jich m˚ uˇze ˇr´ıdit 32. Detailnˇejˇs´ı popis syst´emu Simotion D4x5 je uveden v manu´alu [3]. Tak´e byl k dispozici jeˇstˇe 2x Sinamics S120-CU320 (6SL3040-1MA00-0AA0 a 6SL30400MA00-0AA1), opˇet vybaven´ ymi kartami pro Profinet, pro Sinamics jsou urˇceny karty CBE20. Tato rozˇs´ıˇren´a sestava byla urˇcena pro otestov´an´ı propojen´ı zaˇr´ızen´ı na Profinetu a ovˇeˇren´ı funkˇcnosti tohoto spojen´ı na Profinetu. 4
Na obr´azku 2.1 je vidˇet sch´ema zapojen´ı testovac´ı sestavy. Na obr´azku je ˇr´ıdic´ı syst´em Simotion D425, kter´ y je propojen se Sinamics S120 po Profinetu. Rychlostn´ı smyˇcka motoru se uzav´ır´a pˇres Sinamics S120 a polohov´a pˇres Simotion D425.
Obr´ azek 2.1: Sch´ema testovac´ıho sestaven´ı Simotion, Sinamics a motor˚ u
2.2
Matematick´ y model motoru 1FK022
Matematick´ y model synchronn´ıho motoru s permanentn´ımi magnety byl vytvoˇren v programu Matlab - Simulink. Nastudov´an´ı problematiky modelov´an´ı motor˚ u obecnˇe a potom i speci´alnˇe motor˚ u s permanentn´ımi magnety bylo provedeno podle literatury [4], [5] a [6]. V literatuˇre [4] lze naj´ıt detailn´ı odvezen´ı rovnic a transformac´ı, zde budou pops´any v´ ysledn´e rovnice nebo pˇr´ıpadnˇe z´akladn´ı postup odvozen´ı. Pro zjednoduˇsen´ı matematick´eho popisu budou zavedeny dvˇe transformace. Jedn´a se o Clarkovu transformaci ze 3-f´azov´eho syst´emu a, b, c do dvou f´azov´eho α a β. Druhou transformac´ı bude transformace Parkova, kter´a prov´ad´ı transformaci ze souˇradn´eho syst´emu statoru α, β do souˇradn´eho syst´emu d, q, kter´ y je spjat´ y s rotorem. Transformace budou vysvˇetleny v n´asleduj´ıc´ım textu. Pro popis 3-f´azov´eho stroje budeme potˇrebovat zn´at indukˇcnosti vinut´ı Li a ˇcinn´e odpory jednotliv´ ych f´az´ı Ri , budeme pˇredpokl´adat, ˇze indukˇcnosti a odpory jsou pro vˇsechny 5
f´aze stejn´e. D´ale je nutn´e zn´at poˇcet p´olov´ ych dvojic pp a spˇraˇzen´ y magnetick´ y tok ΨM . Budeme vych´azet z rovnic, kter´e plat´ı pro obecn´ y 3-f´azov´ y motor, podle rovnic 2.1: Nejprve si urˇc´ıme magnetick´e spˇraˇzen´e toky jednotliv´ ych vinut´ı Ψi , kter´e se skl´adaj´ı z pˇr´ıspˇevku vlastn´ı indukˇcnosti a ze vz´ajemn´e indukˇcnosti vzhledem ke vˇsem ostatn´ım vinut´ım. P´ısmena a, b, c oznaˇcuj´ı statorov´e veliˇciny, p´ısmena A, B, C oznaˇcuj´ı veliˇciny rotorov´e. Celkov´a vz´ajemn´a indukˇcnost v˚ uˇci vˇsem ostatn´ım vinut´ım je oznaˇcena Lih . Protoˇze hodnoty odpor˚ u a indukˇcnost´ı jsou pro vˇsechny f´aze stejn´e, tak bude pouˇzit index X1 pro hodnoty statorov´ ych veliˇcin a X2 pro hodnoty veliˇcin rotorov´ ych. Ψa = L1 · ia + L1h · iA
ΨA = L2 · iA + L2h · ia
Ψb = L1 · ib + L1h · iB
ΨB = L2 · iB + L2h · ib
Ψc = L1 · ic + L1h · iC
ΨC = L2 · iC + L2h · ic
(2.1)
Pro jednotliv´a napˇet´ı budou platit rovnice 2.2: dΨa dt dΨb ub = R1 · ib + dt dΨb ub = R1 · ib + dt
Clarkova transformace prov´ad´ı transformaci ze 3-f´azov´eho statorov´eho souˇradn´eho syst´emu a, b, c do 2-f´azov´eho statorov´eho souˇradn´eho syst´emu α , β. Transformace vych´az´ı z pˇredpokladu, ˇze proudy ia , ib a ic jsou soumˇern´e s f´azov´ ym posuvem
2 3
π. Pro libovolnou
veliˇcinu lze transformaci zapsat takto, 2.3: xα = xa 1 1 xβ = √ xb − √ xc 3 3
(2.3)
Na obr´azku 2.2 je realizace Clarkovy transformace v Simulinku. Zpˇetn´a transformace bude pops´ana takto, 2.4: xa = xα
Na obr´azku 2.3 je realizace zpˇetn´e Clarkovy transformace v Simulinku.
Obr´ azek 2.3: Clarkova zpˇetn´a transformace v Simulinku
2.2.2
Parkova transformace
Parkova transformace prov´ad´ı transformaci ze statorov´eho souˇradn´eho syst´emu α, β do rotorov´eho souˇradn´eho syst´emu d, q, kde jedna souˇradnice je spjata s osou rotoru a druh´a je na n´ı kolm´a. Motor se ot´aˇc´ı synchronnˇe, tud´ıˇz ot´aˇcen´ı rotorov´eho a statorov´eho vinut´ı je stejnou rychlost´ı, tud´ıˇz vinut´ı maj´ı v˚ uˇci sobˇe stejnou polohu, z periodick´ ych koeficient˚ u ´ se stanou konstantn´ı. Uhel mezi rotorov´ ym a statorov´ ym vinut´ım je oznaˇcen θ. Obecn´ y tvar transformace, 2.5: xd = xα · cos(θ) + xβ · sin(θ) xq = xβ · cos(θ) − xα · sin(θ) 7
(2.5)
Na obr´azku 2.4 je realizace Parkovy transformace v Simulinku.
xβ = xq · cos(θ) + xd · sin(θ) Na obr´azku 2.5 je realizace Parkovy zpˇetn´e transformace v Simulinku. Aplikac´ı Clarkovy a Parkovy transformace lze vyj´adˇrit pˇr´ımou transformaci z 3-f´azov´eho souˇradn´eho syst´emu do 2-f´azov´eho souˇradn´eho syst´emu spjat´eho s rotorem, pro simulaci v Matlabu je v´ yhodnˇejˇs´ı postupn´e pouˇzit´ı tˇechto dvou transformac´ı.
2.2.3
Popis motoru v souˇ radn´ em syst´ emu d, q
Za pomoci transformac´ı je moˇzn´e odvodit n´asleduj´ıc´ı rovnice pro synchronn´ı motor s permanentn´ımi magnety, postup pops´an v [4] a [6], kde mi znaˇc´ı moment. Indukˇcnosti Ld a Lq budou povaˇzov´any za konstantn´ı (Ld pˇredstavuje indukˇcnost v pod´eln´e ose d a Lq je pˇr´ıˇcn´a indukˇcnost v ose q). did − ωe · Lq · iq dt
(2.7)
diq + ωe · (Ld · id + ΨM ) dt
(2.8)
ud = Rs · id + Ld ·
uq = Rs · iq + Lq ·
8
Obr´ azek 2.5: Parkova zpˇetn´a transformace v Simulinku
3 dω · ((Ld · id + ΨM ) · iq − Lq · iq · id ) = J + mz 3 dt Pro spˇraˇzen´ y magnetick´ y tok ΨM lze definovat tento vztah 2.10. mi = pp ·
ΨM = Ld · Im
(2.9)
(2.10)
Pro vztah mechanick´ ych ot´aˇcek ωm a elektrick´ ych ωe plat´ı 2.11, kde pp je poˇcet p´olov´ ych dvojic. ωm = pp · ωe
(2.11)
Z rovnic 2.7, 2.8, 2.9 a ze vztah˚ u 2.10 lze vyj´adˇrit nov´e rovnice 2.12, 2.13 a 2.14, ze kter´ ych jiˇz lze zhotovit matematick´ y model synchronn´ıho motoru s permanentn´ımi magnety. ud + ωe · Lq · iq − Rs · id Ld
(2.12)
uq − ωe · (Ld · id + Ld · Im ) − Rs · iq Lq
(2.13)
pp · 32 ((Ld · id + Ld · Im ) · iq − Lq · iq · id ) − mz J
(2.14)
id 0 = iq 0 = ωm 0 =
9
2.2.4
Ovˇ eˇ ren´ı matematick´ eho modelu
Matematick´ y model byl vytvoˇren pro motory 1FK7022 a 1FK7034, jejich parametry jsou uvedeny v tabulce 2.1 (hodnoty jsou pˇrevzat´e z katalogov´eho listu a pro motor 1FK7034 jsou pˇrevzat´e z konfiguraˇcn´ıho souboru z ˇr´ıdic´ıho syst´emu robota KUKA). Parametr
1FK7022
1FK034
Ld
5,5 mH
16,5 mH
Rs
4,2 Ω
4,7 Ω
J
0,028 · 10−3
kg m2
0,098 · 10−3
IM
7,5 A
8A
pp
3
3
kg m2
Tabulka 2.1: Parametry motoru 1FK7022 pro simulaci
Celkov´ y model motoru m´a jako vstupn´ı promˇenn´e napˇet´ı v souˇradn´em syst´emu d, q a poˇzadovan´ y moment. Do souˇradn´eho syst´emu d, q jsou napˇet´ı pˇrevedena ze syst´emu a, b, c. V´ ystupem pak jsou hodnoty proud˚ u a ot´aˇcky. Na obr´azku 2.6 je zn´azornˇena realizace simulace proud˚ u a na obr´azku 2.7 je realizace simulace momentu.
Obr´ azek 2.6: Model motoru v d, q - proudy
Cel´ y model, kter´ y je sloˇzen z Clarkovy transformace, Parkovy transformace, modelu motoru v d, q souˇradnic´ıch, zpˇetn´e Parkovy transformace a zpˇetn´e Clarkovy transformace je na obr´azku 2.8. Pro ovˇeˇren´ı modelu byly namˇeˇreny pr˚ ubˇehy napˇet´ı, proud˚ u, momentu a ot´aˇcek, kter´e byly n´aslednˇe porovn´any s nasimulovan´ ymi hodnotami z modelu. 10
Obr´ azek 2.7: Model motoru v d, q - moment
Obr´ azek 2.8: Model cel´eho motoru
2.2.4.1
Model motoru 1FK7022
Pro simulaci motoru byly pouˇzity parametry z tabulky 2.1. Na n´asleduj´ıc´ıch grafech jsou uveden´e namˇeˇren´e a simulovan´e pr˚ ubˇehy. Jako vstup do modelu motoru byla pouˇzita namˇeˇren´a napˇet´ı na obr´azc´ıch 2.9a a moment 2.9b. A v´ ysledn´a rychlost ze simulace modelu je porovn´ana s rychlost´ı skuteˇcnou, kter´a byla zmˇeˇrena, na obr´azku 2.11a. Je vidˇet, ˇze rychlost z modelu je v´ıce rozkmitan´a. Pokud m´ısto zmˇeˇren´ ych napˇet´ı a momentu d´ame jako vstupn´ı napˇet´ı ˇcistˇe sinusov´e pr˚ ubˇehy a moment bude konstantn´ı, tak v´ ysledn´e pr˚ ubˇehy budou nerozkmitan´e, na grafu 2.11b. V syst´emu Simotion jsou pouˇzit´e filtrace na sn´ıman´e veliˇciny a ty jsou n´aslednˇe pouˇzity jako vstupy do regulaˇcn´ıch smyˇcek. Ovˇsem zaznamenan´e veliˇciny jsou nefiltrovan´e. Pokud se motor nasimuluje s vyhlazen´ ymi pr˚ ubˇehy, tak je vidˇet, ˇze rozkmit´an´ı zmiz´ı. Tud´ıˇz i pro zpracov´an´ı a pouˇzit´ı tˇechto veliˇcin by bylo vhodn´e pouˇz´ıt filtraci. Pˇri mˇeˇren´ı byla provedena zmˇena ot´aˇcek (v grafech v ˇcase 4,15 s), coˇz je dobˇre patrn´e i ve vˇsech pr˚ ubˇez´ıch (z 0 ot´aˇcek na 100 ot´aˇcek za minutu). I pro simulaci s ˇcistˇe sinusov´ ymi 11
pr˚ ubˇehy napˇet´ı bylo toto provedeno (zmˇena ot´aˇcek z 0 na 100 ot´aˇcek za minutu byla provedena v ˇcase 9,2 s). Popis nastaven´ı mˇeˇren´ı pr˚ ubˇeh˚ u sign´al˚ u je uveden v pˇr´ıloze.
(a) Napˇet´ı
(b) Moment
Obr´ azek 2.9: Namˇeˇren´ a napˇet´ı a moment na skuteˇcn´em motoru 1FK7022 (vstupy do modelu)
(a) Namˇeˇren´e proudy
(b) Simulovan´e proudy
Obr´ azek 2.10: Namˇeˇren´e proudy a proudy ze simulace motoru 1FK7022
2.2.4.2
Model motoru 1FK7034
Podobnˇe jako pro motor 1FK034 byl model motoru vytvoˇren i pro motor 1FK7034, namˇeˇren´e a simulovan´e pr˚ ubˇehy jsou vidˇet na n´asleduj´ıc´ıch grafech. Opˇet je zde porovn´an´ı pr˚ ubˇeh˚ u ot´aˇcek, kter´e jsou v´ ysledkem simulace se vstupn´ımi ˇcistˇe sinusov´ ymi napˇet´ımi a se vstupn´ımi napˇet´ımi, kter´a byla zmˇeˇrena na skuteˇcn´em motoru.
12
(a) Porovn´ an´ı rychlosti
(b) Vyhlazen´e ot´aˇcky
Obr´ azek 2.11: a) Porovn´an´ı ot´aˇcek zmˇeˇren´ ych na skuteˇcn´em motoru 1FK7022 a ot´aˇcek simulovan´ ych - vstupn´ı napˇet´ı a moment byly namˇeˇreny na skuteˇcn´em motoru, b) ot´aˇcky simulovan´eho motoru 1FK7022, kdyˇz maj´ı vstupn´ı napˇet´ı ˇcistˇe sinusov´ y pr˚ ubˇeh a moment je konstantn´ı
(a) Napˇet´ı
(b) Moment
Obr´ azek 2.12: Namˇeˇren´ a napˇet´ı a moment na skuteˇcn´em motoru 1FK7034 (vstupy do modelu)
2.3
Standardn´ı konfigurace syst´ emu Simotion
Na tomto m´ıstˇe pop´ıˇsi struˇcnˇe hardwarovou konfiguraci syst´emu Simotion, kter´a prob´ıh´a v prostˇred´ı Simotion Scout a v prostˇred´ı hardwarov´e konfigurace ve Step7. Detailn´ı popis je uveden v manu´alech, pˇr´ıpadnˇe v m´em n´avodu detailni konfigurace simotion.pdf“, ” kter´ y je pˇriloˇzen na CD. V prvn´ım kroce se do nov´eho projektu pˇrid´a Simotion device (v m´em pˇr´ıpadˇe D425) a otevˇre se program HW Config zn´am´ y z prostˇred´ı Step7. Jiˇz je zde pˇridan´ y SINAMIC Integrated na vnitˇrn´ı s´ıti profibus. Je moˇzn´e pˇridat dalˇs´ı zaˇr´ızen´ı - napˇr´ıklad dalˇs´ı moduly Sinamics nebo jak´ekoliv jin´e dalˇs´ı moduly (napˇr. vstupnˇe-v´ ystupn´ı moduly).
13
(a) Porovn´ an´ı rychlosti
(b) Vyhlazen´e ot´aˇcky
Obr´ azek 2.13: a) Porovn´an´ı ot´aˇcek zmˇeˇren´ ych na skuteˇcn´em motoru 1FK7034 a ot´aˇcek simulovan´ ych - vstupn´ı napˇet´ı a moment byly namˇeˇreny na skuteˇcn´em motoru, b) ot´aˇcky simulovan´eho motoru 1FK7034, kdyˇz maj´ı vstupn´ı napˇet´ı ˇcistˇe sinusov´ y pr˚ ubˇeh a moment je konstantn´ı
Pokud se pˇrid´avaly nˇejak´e dalˇs´ı moduly, kter´e maj´ı komunikovat v isochronn´ım reˇzimu IRT, tak je nutn´e nakonfigurovat tuto komunikaci - nastavit topologii Profinetu, cyklus v´ ymˇeny dat,...). Po nahr´an´ı hardwarov´e konfigurace je nutn´e nakonfigurovat jednotliv´e pohony na pˇr´ısluˇsn´em zaˇr´ızen´ı Sinamics. Pˇri vkl´ad´an´ı nov´eho motoru se nadefinuje typ motoru a jeho technick´e parametry. Rovnˇeˇz se nastav´ı parametry enkod´eru a zvol´ı se typ datagramu (napˇr. datagram 105 z profilu PROFIDrive), pˇres kter´ y se bude motor ovl´adat. Po nakonfigurov´an´ı motoru je moˇzn´e s n´ım ot´aˇcet v reˇzimu uveden´ı do provozu (je moˇzn´e ovl´adat ot´aˇcky motoru). Pro konkr´etn´ı aplikaci je vˇsak nutn´e vytvoˇrit pˇr´ısluˇsn´ y technologick´ y objekt, pˇres kter´ y bude moˇzno ovl´adat motor v Simotion. Nejˇcastˇejˇs´ım technologick´ ym objektem je osa, kter´a umoˇzn ˇuje ovl´ad´an´ı pozice (natoˇcen´ı) motoru. Dalˇs´ı moˇzn´e funkcionality osy jsou synchronizace, pohyb po vaˇckov´em profilu. Takto pˇripravenou osu jiˇz m˚ uˇzeme programovˇe ovl´adat.
2.4 2.4.1
ˇ ıd´ıc´ı smyˇ R´ cky v syst´ emu Simotion a Sinamics Rychlostn´ı smyˇ cka
V syst´emu Sinamics je nakonfigurovan´ y vlastn´ı motor a je tam uzavˇrena rychlostn´ı ˇr´ıdic´ı smyˇcka. Jedn´a se o kask´adn´ı regulaci s dvˇema PI regul´atory. Zjednoduˇsen´e sch´ema je
14
uvedeno na obr´azku 2.14, kter´ y je tvoˇren hlavn´ımi ˇc´astmi ˇr´ıdic´ı smyˇcky (jsou odebr´any filtrace, u ´pravy sign´al˚ u a r˚ uzn´e pˇrep´ınaˇce). V tomto obr´azku je dobˇre vidˇet, ˇze v t´eto regulaˇcn´ı smyˇcce se vyuˇz´ıvaj´ı podobn´e transformace jako v matematick´em modelu, kter´ y byl zkonstruov´an pro motor v sekci 2.2. Na obr´azku je vidˇet transformace ze 3 f´az´ı do 2 a transformace ze statorov´eho souˇradn´eho syst´emu do souˇradn´eho syst´emu rotoru. Pro regulaci se vyuˇz´ıvaj´ı proudy id a iq a hodnota ot´aˇcek jako vstupy ve zpˇetn´e vazbˇe regul´ator˚ u.
Obr´ azek 2.14: Rychlostn´ı ˇr´ıdic´ı smyˇcka motoru, v syst´emu Simotion jsou jednotliv´e f´aze oznaˇceny U, V, W, v t´eto pr´aci jsou jednotliv´e f´ aze oznaˇcov´any a, b, c
2.4.2
Polohov´ a smyˇ cka
Polohov´a smyˇcka je uzavˇrena v Simotion nad rychlostn´ı smyˇckou, kter´a je v Sinamics. Sch´ema ze Simotion Scout je na obr´azku 2.15. V syst´emu Simotion byl k dan´emu motoru vloˇzen technologick´ y objekt osa. Je vidˇet, ˇze se jedn´a pouze o proporcion´aln´ı regul´ator.
15
Obr´ azek 2.15: Polohov´a ˇr´ıdic´ı smyˇcka motoru v syst´emu Simotion
2.5
Speci´ aln´ı uzavˇ ren´ı polohov´ e smyˇ cky
´ Ukolem bylo uzavˇren´ı ˇr´ıdic´ı smyˇcky bez vyuˇzit´ı technologick´eho objektu osy a jej´ıho regul´atoru. Tento poˇzadavek vyplynul z toho, ˇze nen´ı moˇzn´e upravovat regul´ator a ˇr´ıdic´ı smyˇcku za bˇehu programu. Jedin´a moˇznost je tedy vytvoˇrit si vlastn´ı regul´ator, kter´ y bude vyˇc´ıtat hodnotu enk´oderu se souˇcasnou pozic´ı a pˇred´avat ˇza´danou hodnotu rychlosti regul´atoru vlastn´ıho pohonu. Na obr´azku 2.16 je sch´ematicky zn´azornˇeno standardn´ı nav´az´an´ı objekt˚ u v Simotion Scout. Pro motor je vytvoˇren v Sinamics objekt pohonu (Drive objekt), ve kter´em je definov´ana ˇr´ıdic´ı smyˇcka pro rychlost. Poˇzadovan´a rychlost se dod´av´a komunikac´ı ze Simotion. Objekt osa zprostˇredkov´av´a vyˇctenou hodnotu z enkod´eru a v´ ypoˇcet ˇza´dan´e rychlosti, kter´a se pos´ıl´a do Sinamics objektu pohonu. Komunikace je dle standardu PROFIDrive, konkr´etnˇe je realizov´ana telegramem 105 (bude pops´an v dalˇs´ım textu). Uk´azka pˇridan´eho objektu pohonu modry“, kter´ y reprezentuje skuteˇcn´ y motor, je na ”
ˇ ıd´ıc´ı sch´ema pomoc´ı objekt˚ Obr´ azek 2.16: R´ u v Simotion a Sinamics
obr´azku 2.17. Nad pohonem je vytvoˇren objekt osy, ve kter´em se nach´az´ı polohov´a 16
smyˇcka, osa Axis modra“ je na obr´azku 2.18 ”
Obr´ azek 2.17: Vytvoˇren´ y objekt pohonu modry“ v Simotion Scout ”
V Simotion je telegram namapov´an na konkr´etn´ı adresy vstup˚ u a v´ ystup˚ u. Kdyˇz nem´ame nav´azan´ y ˇza´dn´ y objekt v Simotion, kter´ y by pˇr´ısluˇsel konkr´etn´ımu pohonu, tak je moˇzn´e pos´ılat telegramem ˇza´danou rychlost z programu. Ale kdyˇz nav´aˇzeme nˇejak´ y objekt na tuto komunikaci, tak n´am jiˇz Simotion nedovol´ı k n´ı pˇristupovat. My vˇsak potˇrebujeme nav´azat na pohon objekt, kter´ y by zpracov´aval hodnotu enkod´eru (objekt osa nebo enˇ kod´er). Reˇsen´ım je vytvoˇren´ı kopie pohonu, na tu se nav´aˇze objekt enkod´eru a ˇr´ıdic´ı smyˇcka v programu bude moci pos´ılat hodnotu do p˚ uvodn´ıho objektu pohonu, na kter´em nebude nic nav´az´ano. Nov´a struktura s kopi´ı pohonu (virtu´aln´ım pohonem) je zn´azornˇena na obr´azku 2.19.
2.5.1
Virtu´ aln´ı pohon (drive)
Pˇri vytv´aˇren´ı objektu virtu´aln´ıho pohonu se mus´ı nastavit konfigurace komunikaˇcn´ıho telegramu Used-def BICO 999“ tak, aby bylo moˇzn´e mˇenit obsah PZD bufferu (PZD ” = procesn´ı data (process data), obsah telegramu). I kdyˇz motor fyzicky neexistuje, je nutn´e nastavit vˇsechny parametry jako pˇri vytv´aˇren´ı objektu pohonu pro skuteˇcn´ y mo17
Obr´ azek 2.18: Vytvoˇren´ y objekt osy Axis modra“ v Simotion Scout, osa ” je nav´ az´ ana na pohon modry“ ”
tor. Protoˇze fyzicky dan´emu objektu pohonu nepˇr´ısluˇs´ı ˇza´dn´ y skuteˇcn´ y motor, mus´ı se nastavit parametr p105 do hodnoty 2 (Drive object, de-activate and not present). Kopie pohonu mus´ı obsahovat kopii komunikace, kter´a smˇeˇruje od pohonu do Simotion. Kopie komunikace objektu pohonu je proveden´a v expert list“ virtu´aln´ıho pohonu, t´ım ˇze ” se v expertn´ım seznamu zmˇen´ı parametr p2051 (pro wordy) a p2061 (pro double wordy). Expert list je v Simotion oznaˇcen´ı pro seznam vˇsech parametr˚ u dan´eho objektu. PZD buffer je pouze jeden, i kdyˇz se do nˇej d´a pˇristupovat ze dvou parametr˚ u. Hodnoty se tud´ıˇz pˇrepisuj´ı, pokud se daj´ı na stejn´e m´ısto. Do PZD bufferu se um´ıst´ı stejn´e hodnoty, jak´e tam m´a skuteˇcn´ y motor. Uk´azka, jak vypad´a zmˇenˇen´ y PZD buffer na obr´azku 2.20.
2.5.2
Objekt enkod´ eru
V Simotion pˇrid´ame objekt enkod´er. Pˇri konfiguraci objektu se zvol´ı, ˇze pˇr´ısluˇsn´ y pohon, ke kter´emu patˇr´ı enkod´er, bude doplnˇen pozdˇeji. Po vytvoˇren´ı objektu enkod´eru se mus´ı prov´est nastaven´ı ruˇcnˇe v expert list“. Cesta k mˇenˇen´ ym parametr˚ um je: TypeOfAxis” Encoder n-DriverInfo. Nastav´ı se zde adresy vstup˚ u a v´ ystup˚ u virtu´aln´ıho pohonu. Navol´ı
18
Obr´ azek 2.19: Upraven´e ˇr´ıdic´ı sch´ema pomoc´ı objekt˚ u v Simotion a Sinamics
´ Obr´ azek 2.20: Uprava PZD bufferu u virtu´aln´ıho drive objektu Vdrivemodry, na pozice v PZD bufferu jsou vloˇzeny hodnoty od skuteˇcn´eho motoru od Drive-modry, parametry r2089 r481 jsou jednotliv´a slova z telegramu 105 - napˇr. r2809[0] je stavov´e slovo ZSW1, vysvˇetleno v dalˇs´ı ˇc´asti pr´ace
se tak´e poˇzadovan´ y typ telegramu, v tomto pˇr´ıpadˇe je vybr´an telegram 105. Po nahr´an´ı by mˇela b´ yt k dispozici informace o pozici motoru a dalˇs´ı informace z enkod´eru, toto je v expert list“ v syst´emov´ ych promˇenn´ ych. V programu se d´a dostat ” k pozici takto: D425.Nazev-enkoderu.sensorData.position. Uk´azka pˇridan´eho pohonu, virtu´aln´ıho pohonu a enkod´eru je na obr´azku 2.21.
2.5.3
Nov´ a polohov´ a smyˇ cka
Pro pˇr´ıpravu programu, kter´ ym se realizuje polohov´a smyˇcka je nutn´e m´ıt pˇripraven objekt pohonu v Sinamics, virtu´aln´ı objekt pohonu v Sinamics a objekt External enkod´er v Simotion. Program bude naps´an v ST (coˇz je v Simotion speci´aln´ı jazyk podobn´ y Pascalu). 19
Obr´ azek 2.21: Objekt
pohonu
Drive modry“, virtu´aln´ı po” hon VDrive modry“ a extern´ı enkod´er ” External encoder modry“ v Simotion Scout ”
Pro pˇr´ıstup k promˇenn´ ym technologick´ ych objekt˚ u je nutn´e v k´odu nadefinovat pouˇzit´ı pˇr´ısluˇsn´eho bal´ıˇcku - USEPACKAGE cam;
2.5.3.1
Speci´ aln´ı pˇ revody
Jak jiˇz bylo dˇr´ıve naps´ano, hodnota poˇzadovan´e rychlosti se pˇred´av´a v telegramu z profilu PROFIDrive. V tomto profilu jsou definovan´a pevn´a pravidla, pro pˇrenos hodnot. Tud´ıˇz je nutn´e i zde tato pravidla dodrˇzet a pouˇz´ıt speci´aln´ı pˇrepoˇcet pro poˇzadovanou rychlost. V´ıce o tomto profilu bude uvedeno v n´asleduj´ıc´ım textu o profilu PROFIdrive a v jeho dokumentaci [7]. Jako komplikovan´ y se uk´azal pˇrevod re´aln´eho ˇc´ısla ve form´atu LREAL do double wordu. Simotion obsahuje funkce, kter´e konvertuj´ı LREAL do Double Word, ale v tomto pˇr´ıpadˇe je nelze pouˇz´ıt. Objevily by se jinak sloˇzit´e probl´emy, kter´e by se musely oˇsetˇrovat. Proto 20
je nutn´e pouˇz´ıt pˇrevod do form´atu DINT a ten pak pˇrev´ezt do Double Word. Pro pˇrevod skuteˇcn´e hodnoty do hodnoty, kter´a se pˇren´aˇs´ı v komunikaci plat´ı 2.15. pAct =
(nAct · pM ax) nM ax
(2.15)
pAct - pˇrepoˇcten´a hodnota nAct - nomin´aln´ı (skuteˇcn´a hodnota) pMax - maxim´aln´ı hodnota pro pˇrepoˇctenou hodnotu, v hexadecim´aln´ı podobˇe 16#4000 0000 (hodnota uvedena v dokumentaci [7]) nMax - maxim´aln´ı hodnota veliˇciny, pro dan´ y motor 6000 Obr´acen´ y pˇrevod, z hodnoty, kter´a je vyˇctena v komunikaci do skuteˇcn´e hodnoty, 2.16. nAct = 2.5.3.2
(pAct · nM ax) pM ax
(2.16)
Uk´ azka k´ odu regul´ atoru
Zde je uk´azka k´odu ze Simotion. Tento program je vol´an cyklicky v Background tasku (obdoba OB1 pro PLC S7), pro dosaˇzen´ı lepˇs´ı pˇresnosti by bylo lepˇs´ı program volat z Motion Task, kter´ y je vol´an pravidelnˇe s konstantn´ı periodou, pro tuto uk´azku programov´an´ı a pˇr´ıstupu k technologick´ ym objekt˚ um v Simotion to nevad´ı. Drive modry setPoint Speed ystup˚ u, na kter´e je nav´az´ana a Drive modry control W jsou symbolick´e n´azvy pro adresy v´ komunikace k pohonu (Drive modry je n´azev objektu pro pohon v Simotion). V Drive modry control W je zaps´ana hodnota ˇr´ıdic´ıho slova, pro zastaven´ y motor je to 16#47E a pro zapnut´ı motoru 16#47F, vysvˇetlen´ı a detailnˇejˇs´ı popis hodnot je uveden ve specifikaci profilu PROFIDrive v dalˇs´ı ˇc´asti kapitoly. USEPACKAGE cam; VAR_GLOBAL //definice promennych ... END_VAR PROGRAM motor_modry act_pozice := D425.External_encoder_modry.sensorData.position; speedSetPoint = regulator(act_pozice, zadana_pozice);
21
//zadane rychlosti z LREAL na DW real_SP := (SpeedSetPoint* 16#40000000) / 6000.0; dint_SP := LREAL_TO_DINT (in:= cislo_160); dw_SP := DINT_TO_DWORD(in:= temp_meziprevod); //nastaveni rychlosti na vystup Drive_modry_setPoint_Speed := dw_SP; //zapis ridiciho slova IF motor_modry_start = TRUE THEN Drive_modry_control_W := 16#47F; else Drive_modry_control_W := 16#47E; END_IF; END_PROGRAM
2.6
PROFIdrive, vysvˇ etlen´ı telegramu 105
PROFIdrive definuje standardn´ı rozhran´ı k ovl´ad´an´ı pohon˚ u po Profibusu nebo Profinetu. Tento standard je rovnˇeˇz pouˇzit pro ovl´ad´an´ı motor˚ u pomoc´ı Simotion a Sinamics. Profil PROFIdrive definuje komunikaci mezi pohonem a ˇr´ıdic´ım syst´emem - napˇr´ıklad definuje datov´e typy, normalizaci hodnot v promˇenn´ ych, sloˇzen´ı telegram˚ u, atd. Zde je pops´ana ˇc´ast profilu, ke kter´e se vztahuje dalˇs´ı text t´eto pr´ace. Podrobn´ y popis lze naj´ıt v specifikaci profilu PROFIdrive [7] a v manu´alu k syst´emu Sinamics [8], podle kter´ ych je naps´an tento popis telegramu 105.
2.6.1
Normalizace hodnot
Normalizace hodnot definuje pˇrepoˇcet fyzik´aln´ı hodnoty do podoby, ve kter´e se bude pos´ılat pohonu. Hodnoty ve zpr´av´ach se pos´ılaj´ı jako normovan´e hodnoty vzhledem k definovan´e konstantˇe. V profilu PROFIdrive je definov´ano v´ıce typ˚ u normalizace, zde jsou pops´any normalizace N2 a N4, kter´e jsou d´ale vyuˇzity pro ˇr´ızen´ı pohonu.
22
2.6.1.1
Normalizace N2 a N4
Pro line´arn´ı normalizaci pˇr´ısluˇs´ı hodnotˇe 0 % hodnota 0 (0x0), hodnotˇe 100 % pak hodnota 214 (0x4000) pro normalizaci N2, respektivnˇe 230 (0x4000 0000 )pro normalizaci N4, pˇrehled v tabulce 2.2. Typ
rozsah
rozliˇsen´ı
N2
−200 % ≤ i ≤ (200 − 2−14 ) %
2−14 = 0, 0061 %
N4
−30
−200 % ≤ i ≤ (200 − 2
)%
−30
2
d´elka −8
= 9, 3 · 10
2 byty
% 4 byty
Tabulka 2.2: Typy normalizace
V profilu PROFIdrive jsou definovan´e tyto komunikaˇcn´ı sluˇzby: • Cyklick´a v´ ymˇena dat • Acyklick´a komunikace • Synchronizace hodin • Alarmy Pro pouˇzit´ı s t´ımto profilem je definov´ana standardem ˇrada telegram˚ u, kter´e je moˇzno vyuˇz´ıt. D´ale v´ yrobci definuj´ı sv´e dalˇs´ı telegramy. Telegramy jsou oznaˇceny ˇc´ıslem, rozsah 1-99 a 60001 - 65535 jsou standardn´ı telegramy, 100 - 60000 jsou telegramy specifick´e pro konkr´etn´ı zaˇr´ızen´ı. Telegram s oznaˇcen´ım 0 je volnˇe konfigurovateln´ y telegram. Jednotliv´e telegramy jsou sloˇzeny z jednotliv´ ych sign´al˚ u - word˚ u a double word˚ u, kter´e maj´ı konkr´etn´ı v´ yznam, nejd˚ uleˇzitˇejˇs´ı jsou uvedeny v tabulce 2.3: 2.6.1.2
Sloˇ zen´ı telegramu 105
Sloˇzen´ı telegramu 105 je v tabulce 2.4. Pro roztoˇcen´ı motoru konstantn´ı rychlost´ı postaˇc´ı pos´ılat pohonu ˇr´ıdic´ı slovo STW1 a poˇzadovanou rychlost NSOLL B. Vysvˇetlen´ı ˇr´ıdic´ıho slova - v programu jsou pouˇzity tyto dvˇe hodnoty ˇr´ıdic´ıho slova: 16#47F (motor bˇeˇz´ı) a 16#47E (motor zastaven). Popis ˇr´ıdic´ıho slova STW1 v tabulce 2.5 Hodnota 16#47E slova STW1: bity 1-7 a 10 jsou v log. 1, ˇr´ızen´ı je povoleno a je ovl´ad´ano z PLC, ˇcek´a se na zapnut´ı nap´ajen´ı bitem 0, coˇz nastane pˇr´ıchodem hodnoty 16#47F.
23
N´azev sign´alu (origin´aln´ı n´azev)
zkratka
d´elka (bity)
ˇ ıd´ıc´ı slovo 1 (Control Word 1) R´
STW1
16
Stavov´e slovo 1 (Status Word 1) ˇ ıd´ıc´ı slovo 2 (Control Word 2) R´
ZSW1
16
STW2
16
Stavov´e slovo 2 (Status Word 2)
ZTW2
16
Poˇzadovan´a rychlost A (Speed setpoint A)
NSOLL A
16
Aktu´aln´ı rychlost A (Speed actual value A)
NIST A
16
Poˇzadovan´a rychlost B (Speed setpoint B)
NSOLL B
32
Aktu´aln´ı rychlost B (Speed actual value B)
NIST B
32
Senzor 1 ˇr´ıdic´ı slovo (Sensor 1 control word)
G1 STW
16
Senzor 1 stavov´e slovo (Sensor 1 status word)
G1 ZSW
16
Senzor 1 aktu´aln´ı pozice 1 (Sensor 1 position actual value 1)
G1 XIST1
32
Senzor 1 aktu´aln´ı pozice 2 (Sensor 1 position actual value 2)
G1 XIST2
32
Zpr´ava od pohonu (Message word)
MELDW
16
Redukce momentu (Torque reduction)
MOMRED
16
Odchylka pozice (Position deviation)
XERR
32
Zes´ılen´ı regul´atoru pozice (Position controller gain)
KPC
32
Vstupy - digit´aln´ı
E DIGITAL
16
V´ ystupy - digit´aln´ı
A DIGITAL
16
Vstupy - analogov´e
E ANALOG
16
V´ ystupy - analogov´e
A ANALOG
16
Tabulka 2.3: Seznam veliˇcin, kter´e se vyuˇz´ıvaj´ı v profilu PROFIdrive
V tabulce 2.6 je uveden popis stavov´eho slova ZSW1. Hodnoty NSOLL B a NIST B jsou ˇsk´alovan´e podle normalizace N4 a referenˇcn´ı hodnota je uloˇzena v parametru p2000.
24
Poˇrad´ı
Vys´ılan´e
Pˇrij´ıman´e
PZD1
STW1
ZSW1
PZD2
NSOLL B
NIST B
PZD4
STW2
ZSW2
PZD5
MOMRED
MELDW
PZD6
G1 STW
G1 ZSW
PZD7
XERR
G1 XIST1
KPC
G1 XIST2
PZD3
PZD7 PZD9 PZD10 Tabulka 2.4: Sloˇzen´ı telegramu 105, vys´ılac´ı sloupec odpov´ıd´a pos´ıl´an´ı od nadˇrazen´eho syst´emu, napˇr. od Simotionu do Sinamics
Bit
V´ yznam
0
ON/OFF - aktivn´ı na hranu 0− >1
1
No OFF2/ rychl´e zastaven´ı
2
No OFF3/ rychl´e zastaven´ı
3
Enable Operation
4
Enable Ramp Generator / Reset Ramp Generator
5
Unfreeze Ramp Generator / Freeze Ramp Generator 1
6
Enable Setpoint / Disable Setpoint
7
Fault Acknowledge Potvrzen´ı chyby - hrana 0− >1
8
Jog 1 ON/OFF - nepovinn´ y
9 10
Jog 2 ON/OFF - nepovinn´ y ˇ ızen´ı pomoci PLC R´
11 -15
Specifick´e podle zaˇr´ızen´ı Tabulka 2.5: Sloˇzen´ı ˇr´ıdic´ıho slova STW1
Tabulka 2.6: Pos´ılan´ y stav zaˇr´ızen´ı ve slovˇe ZSW1
26
2.7
Zhodnocen´ı v´ ysledk˚ u pr´ ace se Simotionem
V t´eto kapitole se podaˇrilo nakonfigurovat syst´em Simotion a vytvoˇrit matematick´ y model pouˇzit´ ych motor˚ u, kter´ y byl ovˇeˇren na namˇeˇren´ ych pr˚ ubˇez´ıch. Hlavn´ı pˇr´ınos t´eto ˇca´sti pr´ace byl v uzavˇren´ı vlastn´ı polohov´e smyˇcky v syst´emu Simotion. Tato polohov´a smyˇcka byla uzavˇrena bez pouˇzit´ı standardn´ıch blok˚ u v syst´emu Simotion, coˇz umoˇznilo vytvoˇrit si vlastn´ı regul´ator polohy. T´ımto se nab´ız´ı uˇzivateli nov´a moˇznost pr´ace s dan´ ym pohonem, je moˇzn´e si vytvoˇrit regul´ator, u kter´e se budou mˇenit parametry za bˇehu (coˇz u bˇeˇzn´eho postupu nen´ı moˇzn´e). Tato ˇr´ıdic´ı smyˇcka zde byla pops´ana i s popisem telegramu 105 z profilu PROFIDrive, pomoc´ı kter´eho je realizov´ana komunikace mezi Simotion a Sinamics po Profinetu.
27
Kapitola 3 Programov´ an´ı pr˚ umyslov´ eho robota KUKA KR 16-2 Tato kapitola se zab´ yv´a konfigurac´ı robota, pˇredevˇs´ım konfigurac´ı projektu WorkVisual, ve kter´em se vytv´aˇr´ı hardwarov´a konfigurace robota. D´ale jsou zde pops´any z´aklady programov´an´ı robota. Pˇredevˇs´ım je zde popis programov´an´ı pohyb˚ u - pohyb z bodu do bodu, line´arn´ı pohyb a pohyb po kruˇznici. Pops´any jsou zde dva zp˚ usoby zad´av´an´ı pohybov´ ych pˇr´ıkaz˚ u, jedn´a se o vyuˇzit´ı in-line formul´aˇr˚ u a pak o klasick´ y z´apis pˇr´ıkazu. Na pˇr´ıkladech k´odu jsou zde vysvˇetleny i dalˇs´ı pˇr´ıkazy, kter´e se hod´ı pro programov´an´ı robota (ˇcek´an´ı na sign´al, logick´e podm´ınky, cykly, ...). Je zde rovnˇeˇz uveden pˇr´ıklad pouˇzit´ı zpr´av a dialog˚ u, d´ıky kter´ ym je moˇzno naprogramovat interakci s uˇzivatelem. Samostatn´a ˇc´ast kapitoly je vˇenov´ana zaznamen´av´an´ı pr˚ ubˇeh˚ u sign´al˚ u. S ohledem na moˇznosti identifikace a pˇr´ıpadn´e moˇznosti modelov´an´ı dynamiky robota, je zde uveden seznam promˇenn´ ych, kter´e se t´ ykaj´ı pohybu (pozice, rychlost, zrychlen´ı,...). Namˇeˇren´e hodnoty nen´ı moˇzn´e vyuˇz´ıt v extern´ıch n´astroj´ıch, protoˇze je nelze exportovat v ˇciteln´em form´atu pro jin´e programy. S ohledem na pˇredchoz´ı kapitolu, kter´a se t´ ykala pohybov´eho ˇr´ızen´ı pomoc´ı Simotion a tak´e na n´asleduj´ıc´ı kapitoly, pˇresnˇejˇs´ı zkoum´an´ı dynamiky motoru s lepˇs´ım monitorov´an´ım pr˚ ubˇeh˚ u je moˇzn´e po pˇripojen´ı motoru k Simotion.
28
3.1
Popis robota KR 16-2
Popis robota je ˇcerp´an z [1]. Robot KR-16 je univerz´aln´ı ˇsestios´ y robot, kter´ y je urˇcen´ y pro nejr˚ uznˇejˇs´ı aplikace (svaˇrov´an´ı, manipulace, mont´aˇz,...). K celkov´emu syst´emu robota patˇr´ı ˇr´ıdic´ı syst´em, obsluˇzn´e zaˇr´ızen´ı a souˇca´st´ı je tak´e spojovac´ı materi´al a software. Pro konkr´etn´ı aplikaci je robot doplnˇen vhodn´ ym n´astrojem (napˇr. uchopovac´ım, sv´aˇrec´ım,...). Pohyb mechaniky robota je zabezpeˇcen servomotory, kter´e jsou ˇr´ızeny ˇr´ıdic´ım syst´emem ˇ ıd´ıc´ı syst´em se star´a o bˇeh prorobota. V naˇsem pˇr´ıpadˇe se jedn´a o ˇr´ıdic´ı syst´em KR C4. R´ gramu a pl´anov´an´ı pohybu, d´ale zabezpeˇcuje komunikaci s dalˇs´ımi zaˇr´ızen´ımi (v naˇsem pˇr´ıpadˇe vstupn´ı a v´ ystupn´ı periferie, d´ale pak komunikace s PLC pˇres Profinet). Dalˇs´ım u ´kolem ˇr´ıdic´ıho syst´emu je zajiˇstˇen´ı bezpeˇcnosti pro uˇzivatele i robota, v naˇsem pˇr´ıpadˇe je bezpeˇcnost pˇripojena do ˇr´ıdic´ıho syst´emu pˇres standardn´ı konektor X11 na bezpeˇcnostn´ı desku SIB (Safety Interface Board). Uˇzivatelsk´e ovl´ad´an´ı je pomoci SmartPadu, coˇz je dotykov´a obrazovka, pˇres kterou se d´a ovl´adat robot.
3.1.1
ˇ asti robota C´
Jednotliv´e ˇca´sti robota jsou zobrazeny na obr´azku 3.1.
3.1.2
Technick´ a data robota Z´atˇeˇz
16 kg
Pˇr´ıdavn´a z´atˇeˇz rameno
10 kg
Max. dosah / zdvih Z
1611 mm
Poˇcet os
6
Pˇresnost opakov´an´ı
0,05 mm
Hmotnost robota
235
Mont´aˇzn´ı plocha
Stˇena, podlaha, strop
Tabulka 3.1: Data robota KR-16
V pˇr´ıpadˇe zat´ıˇzen´ı robota, se maxim´aln´ı rychlosti, kter´e jsou uveden´e v tabulce 3.2, sniˇzuj´ı. 29
Obr´ azek 3.1: Hlavn´ı ˇc´asti robota, obr´azek pouˇzit z [1].
Parametry robota jsou pˇrevzat´e z [1].
3.2 3.2.1
Popis ˇ r´ıdic´ıho syst´ emu ˇ asti ˇ C´ r´ıdic´ıho syst´ emu
ˇ ıd´ıc´ı syst´ R´ em robota se skl´ ad´ a z tˇ echto ˇ c´ ast´ı: 1. S´ıt’ov´ y filtr
3. Panel ˇr´ıdic´ıho syst´emu - Controller System Panel (CSP)
2. Hlavn´ı vyp´ınaˇc
4. PC ˇr´ıdic´ıho syst´emu 30
Osa
oblast
rychlost
A1
±185◦
156◦ /s
A2
+35/ − 155◦
156◦ /s
A3
154/ − 130◦
156◦ /s
A4
±350◦
330◦ /s
A5
±130◦
330◦ /s
A6
±350◦
615◦ /s
Tabulka 3.2: Data os robota KR-16
5. S´ıt’ov´ y zdroj pohonu - KUKA Power
10. Bezpeˇcnostn´ı deska - Safety Interface Board (SIB)
Pack (KPP) 6. Regul´ator pohonu os 4 aˇz 6 - KUKA
11. Bezpeˇcnostn´ı prvek
Servo Pack (KSP) 7. Regul´ator pohonu os 1 aˇz 3 - KUKA Servo Pack (KSP)
12. Akumul´atory 13. Pˇripojen´ı panelu
8. Filtr brzd 14. Pˇripevnˇen´ı koleˇcek (voliteln´a souˇca´st) ˇ ıd´ıc´ı deska - Cabinet control unit 9. R´ 15. KUKA smartPAD
(CCU )
ˇ asti ˇr´ıdic´ıho syst´emu, [2] Obr´ azek 3.2: C´
ˇ ıd´ıc´ı syst´em pops´an podle [2]. R´
31
3.2.1.1
KUKA Power Pack - KPP
Jedn´a se o s´ıt’ov´ y zdroj, kter´ y slouˇz´ı k nap´ajen´ı regul´ator˚ u pohon˚ u. Existuj´ı 4 konstrukˇcn´ı varianty, liˇs´ı se pˇredevˇs´ım velikost´ı ˇspiˇckov´eho v´ ystupn´ıho proudu. 3.2.1.2
KUKA Servo Pack - KSP
KUKA Servo Pack je regul´ator pro osy robota. Kaˇzd´ y KSP je urˇcen pro 3 osy. 3.2.1.3
ˇ ıd´ıc´ı PC R´
ˇ ıd´ıc´ı PC slouˇz´ı k vytv´aˇren´ı, u R´ ´pravˇe, spouˇstˇen´ı a ˇr´ızen´ı program˚ u robota, d´ale k pl´anovan´ı pohyb˚ u a komunikaci s extern´ımi zaˇr´ızen´ımi. 3.2.1.4
Cabinet Control Unit - CCU
Cabinet Control Unit je centr´aln´ı komunikaˇcn´ı rozhran´ı pro vˇsechny ˇca´sti ˇr´ıdic´ıho syst´emu robota. Jsou zde pˇripojeny vˇsechny syst´emov´e sbˇernice robota. 3.2.1.5
Safety Interface Board - SIB
Safety Interface Board je pouˇzita pro pˇripojen´ı bezpeˇcnostn´ıch vstup˚ u a v´ ystupu pˇres rozhran´ı X11. Jedn´a se o pˇripojen´ı kontroly bezpeˇcnosti pro obsluhu a bezpeˇcnosti dalˇs´ıch zaˇr´ızen´ı. 3.2.1.6
Resolver Digital Converter - RDC
Resolver Digital Converter slouˇz´ı k bezpeˇcnostn´ımu z´aznamu a pˇred´av´an´ı hodnot natoˇcen´ı jednotliv´ ych os robota do ˇr´ıdic´ıho syst´emu. Rovnˇeˇz se zaznamen´av´a teplota pohon˚ u.
3.2.2
Elektronic Mastering Device - EMD
Elektronick´e kalibraˇcn´ı zaˇr´ızen´ı pro zkalibrov´an´ı os robota. Zjednoduˇsenˇe postup promˇeˇren´ı (v´ıce lze naj´ıt v manu´alu): vybran´a osa se nastav´ı do seˇrizovac´ı polohy, mˇeˇr´ıc´ı sonda EMD se pˇripoj´ı k mˇeˇr´ıc´ı patronˇe dan´e osy a v menu se navol´ı moˇznost seˇr´ıdit osy.
32
3.3 3.3.1
Konfigurace robota Hardwarov´ a konfigurace a nahr´ an´ı projektu
Konfigurace ˇr´ıdic´ıho syst´emu a n´asledn´e nahr´an´ı vytvoˇren´eho projektu do ˇr´ıdic´ıho syst´emu prob´ıh´a v programu WorkVisual od spoleˇcnosti KUKA. Tento software lze d´ale vyuˇz´ıt napˇr´ıklad k tvorbˇe a editaci program˚ u robota. Nejprve se mus´ı nakonfigurovat sbˇernice robota - sbˇernice ˇr´ıdic´ıho syst´emu KUKA Controller Bus (KCB), syst´emov´a sbˇernice KUKA System Bus (KSB) a dalˇs´ı rozˇsiˇruj´ıc´ı sbˇernice - napˇr. sbˇernice se vstupy a v´ ystupy, Profinet. Je nutn´e propojit spr´avnˇe topologii komponent pˇri konfigurov´an´ı ve WorkVisual.
Obr´ azek 3.3: Uk´ azka konfigurace robota ve WorkVisual, v lev´em sloupci jsou vidˇet nakonfigurovan´e sbˇernice.
33
3.3.1.1
KUKA Controller Bus - KCB
KUKA Controller Bus je sbˇernice ˇr´ıdic´ıho syst´emu. K t´eto sbˇernici je pˇripojeno: • KUKA Power Pack - KPP • KUKA Servo Pack - KSP (2x) • Resolver Digital Converter • Elektronic Mastering Device - EMD Sbˇernice KCB je typu EtherCAT. 3.3.1.2
KUKA System Bus - SYS X48
KUKA System Bus slouˇz´ı k pˇripojen´ı bezpeˇcnostn´ıch modul˚ u: • Bezpeˇcnostn´ı modul pro Cabinet Interface Board • Bezpeˇcnostn´ı deska Safety Interface Board Sbˇernice KSB je typu EtherCAT. 3.3.1.3
Rozˇ siˇ ruj´ıc´ı sbˇ ernice - SYS X44
Jedn´a se opˇet o sbˇernici typu EtherCAT. Tato sbˇernice se d´a vyuˇz´ıt pro pˇripojen´ı dalˇs´ıch zaˇr´ızen´ı. V m´em pˇr´ıpadˇe se jedn´a o pˇripojen´ı modul˚ u se vstupy a v´ ystupy. Pro pˇrid´an´ı vstupnˇe/v´ ystupn´ıch modul˚ u do konfigurace ve WorkVisual je nutn´e pˇridat tyto moduly do katalogu zaˇr´ızen´ı. Pˇrid´an´ı je moˇzn´e napˇr´ıklad pomoci soubor˚ u XML description file“, ” kter´e se daj´ı obstarat od v´ yrobce dan´eho modulu. V m´em pˇr´ıpadˇe se jedn´a o moduly Beckhoff (ethercat coupler EK1100, 16 vstup˚ u EL1809, 16 v´ ystup˚ u EL2809) a BaR (bus controller X20BC00G3, nap´ajec´ı modul X20PS9400, vstupn´ı modul X20DI9371 s 12 digit´aln´ımi vstupy, X20DO9322 s 12 digit´aln´ımi v´ ystupy, X20AI4622 se 4 analogov´ ymi vstupy, X20AO4622 se 4 analogov´ ymi v´ ystupy.
3.3.2
Konfigurace vstup˚ u a v´ ystup˚ u
Po nakonfigurov´an´ı vstupnˇe-v´ ystupn´ıch modul˚ u je nutn´e pˇriˇradit dan´e sign´aly ke vstup˚ um robota. Toto se prov´ad´ı v konfiguraci vstup˚ u a v´ ystup˚ u, kde se vybere poˇzadovan´a 34
sbˇernice se sign´alem a toto se pˇriˇrad´ı k dan´emu vstupu nebo v´ ystupu, na obr´azku 3.4 vlevo nahoˇre se vyberou vstupy nebo v´ ystupy, vpravo nahoˇre se vybere dan´a sbˇernice a v doln´ı ˇca´sti se navol´ı propojen´ı konkr´etn´ıch sign´al˚ u. Takto se d´a pˇriˇradit ke vstup˚ um libovoln´ y sign´al ze sbˇernice robota. V m´em pˇr´ıpadˇe jsem to vyuˇzil pro mapov´an´ı vstup˚ u a v´ ystup˚ u z perif´eri´ı a nastaven´ı komunikace po Profinetu s PLC.
Obr´ azek 3.4: Pˇriˇrazen´ı vstup˚ u a v´ ystup˚ u v editoru propojen´ı ve WorkVisual
3.3.2.1
Konfigurace Profinetu
K tomu, aby bylo moˇzn´e konfigurovat komunikaci po Profinetu s jin´ ym zaˇr´ızen´ım, je nutn´e m´ıt nainstalov´ano v ˇr´ıdic´ım PC robota software pro Profinet, v m´em pˇr´ıpadˇe se jednalo o tyto programy: • Profinet V2.1.0 35
• PROFIsafe Device V2.1.0 • KRC-Nexxt device V2.1.0 Po pˇrid´an´ı sbˇernice PROFINET do konfigurace ve WorkVisual je nutn´e aktivovat volbu PROFINET device stack a nastavit poˇcet vymˇen ˇovan´ ych bit˚ u s jin´ ym zaˇr´ızen´ım. Rovnˇeˇz se nastav´ı jm´eno pro robota na s´ıti Profinet.
Obr´ azek 3.5: Konfigurace komunikace po Profinetu, poˇcet vymˇen ˇovan´ ych bit˚ u s PLC je 64, jm´eno robota na s´ıti Profinet je KUKA1“, ” verze Profinetu V8.2
V PLC je nutn´e pˇridat s´ıt’ Profinet a na n´ı um´ıstit robota. GSDML soubor KUKA KRC ” nexxt device“ lze vyexportovat z WorkVisual a pot´e pˇridat v hardwarov´e konfiguraci PLC, kde se nastav´ı stejn´ y poˇcet vymˇen ˇovan´ ych bit˚ u. S origin´aln´ım GSDML souborem je nutn´e pouˇz´ıt bezpeˇcnostn´ı PLC, aby bylo moˇzn´e zkompilovat konfiguraci PLC a robota. Pokud nen´ı poˇzadavek na pouˇz´ıvan´ı PLC a robota v reˇzimu PROFIsafe (v´ıce o bezpeˇcnosti v ˇc´asti 3.3.3), tak je moˇzn´e z konfiguraˇcn´ıho souboru KUKA KRC odstranit bezpeˇcnostn´ı vstupy a v´ ystupy a nahradit je pouze norm´aln´ımi vstupy a v´ ystupy - popis editace GSDML 36
souboru je uveden v pˇr´ıloze A.3. Pak lze pouˇz´ıvat robota s PLC, kter´e nen´ı bezpeˇcnostn´ı. Podobnˇe jako u vstupn´ıch a v´ ystupn´ıch modul˚ u, tak i u komunikace po Profinetu, je nutn´e nastavit propojen´ı sign´al˚ u z Profinetu na konkr´etn´ı vstupy a v´ ystupy robota v programu. Detaily k reˇzimu PROFIsafe u robota v dokumentaci KUKA.SafeOperation [9].
3.3.3
Bezpeˇ cnost
3.3.3.1
Uˇ zivatel´ e
Podle ˇcinnost´ı, kter´e sm´ı uˇzivatel prov´adˇet s robotem, tak jsou uˇzivatel´e rozdˇeleni do skupin - oznaˇceni od Oper´atora po Administr´atora. Kaˇzd´a skupina m´a r˚ uzn´a pr´ava. Oper´ator“ sm´ı prov´adˇet pouze nejz´akladnˇejˇs´ı obsluhu a Administr´ator“ sm´ı vˇse. Pro ” ” programov´an´ı vˇetˇsinou postaˇc´ı uˇzivatel Expert“. Pro nastaven´ı bezpeˇcnosti je nutn´e se ” pˇrihl´asit jako Safety maintenance“. ”
3.3.3.2
Zapojen´ı bezpeˇ cnosti
Zapojen´ı bezpeˇcnosti je d˚ uleˇzit´e k ochrannˇe robota, obsluhy a majetku. Bez zapojen´e bezpeˇcnosti nen´ı moˇzno pouˇz´ıvat robota v automatick´em provozu. Bud’ lze vyuˇz´ıt reˇzim PROFIsafe, kdy bude bezpeˇcnost zapojena do vstup˚ u a v´ ystup˚ u nadˇrazen´eho ˇr´ıdic´ıho syst´emu (PLC), nebo lze pouˇz´ıt deska SIB (Safe Interface Board), ke kter´e se pˇripoj´ı bezpeˇcnostn´ı vstupy a v´ ystupy. Bezpeˇcnostn´ı vstupy a v´ ystupy jsou pˇrivedeny na konektor X11, odkud jsou uvnitˇr ˇr´ıdic´ı skˇr´ınˇe pˇrivedeny na desku SIB. Pˇrehled bezpeˇcnostn´ıch vstup˚ u na konektoru X11 je uveden v tabulce 3.3. V m´em pˇr´ıpadˇe bylo vyuˇzito pˇripojen´ı bezpeˇcnostn´ıch vstup˚ u pˇr´ımo k robotu do konektoru X11. Kromˇe tˇechto z´akladn´ıch sign´al˚ u jsou d´ale k desce SIB a CCU pˇripojeny sign´aly bezpeˇcnosti, kter´e sp´ın´a robot pro extern´ı zaˇr´ızen´ı. Tyto sign´aly se daj´ı vyuˇz´ıt pˇri ˇr´ızen´ı automatizovan´e linky, kde pracuje v´ıce zaˇr´ızen´ı. Pro moje testov´an´ı toto nebylo potˇreba. Pro moji pr´aci bylo d˚ uleˇzit´e zapojit vˇsechny sign´aly z tabulky 3.3, abych mohl vyuˇz´ıvat robota v automatick´em reˇzimu a v pln´e rychlosti. Vˇetˇsina z´akladn´ıch bezpeˇcnostn´ıch sign´al˚ u je pˇripojena dvoukan´alovˇe kv˚ uli vyˇsˇs´ı bezpeˇcnosti a splnˇen´ı bezpeˇcnostn´ıch norem. 37
N´azev
V´ yznam
Test output A
Taktovan´e nap´ajen´ı - kan´al A
Test output B
Taktovan´e nap´ajen´ı - kan´al B
External E-stop A
Vstup extern´ıho nouzov´eho stopu - kan´al A
External E-stop B
Vstup extern´ıho nouzov´eho stopu - kan´al B
Operator safety A
Bezpeˇcnost uzavˇrena - kan´al A
Operator safety B
Bezpeˇcnost uzavˇrena - kan´al B
Acknowledge operator safety A
Potvrzen´ı uzavˇren´ı bezpeˇcnosti - kan´al A
Acknowledge operator safety B
Potvrzen´ı uzavˇren´ı bezpeˇcnosti - kan´al B
Safe operational stop A
Bezpeˇcn´e zastaven´ı provozu - kan´al A
Safe operational stop B
Bezpeˇcn´e zastaven´ı provozu - kan´al B
Tabulka 3.3: Bezpeˇcnostn´ı vstupy a v´ ystupy
Pro m´e potˇreby a moˇznosti zapojen´ı jsem vyuˇzil pouze sign´aly od extern´ıho nouzov´eho stopu a sign´al pro uzavˇrenou bezpeˇcnost (sign´al uzamˇcen´ ych dveˇr´ı). Detailnˇejˇs´ı pˇrehled bezpeˇcnostn´ıch sign´al˚ u je uveden v dokumentaci [10].
3.4
Provoz robota
3.4.1
Druhy provozu
Robot s ˇr´ıdic´ı skˇr´ın´ı KR C4 m´a k dispozici 4 reˇzimy provozu. Reˇzimy T1 a T2 jsou testovac´ı, reˇzimy AUT a AUT EXT jsou urˇcen´e pro automatick´ y provoz. Pˇrehled reˇzim˚ u je uveden v tabulce 3.4. Mezi reˇzimy se d´a pˇrech´azet pˇrepnut´ım kl´ıˇcku na SmartPadu. Pro provoz robota by mˇela b´ yt zapojena bezpeˇcnost (jinak nelze plnˇe vyuˇz´ıvat robota - je moˇzn´e pouze pouˇz´ıvat reˇzim uveden´ı do provozu). Pro testovac´ı reˇzim, kdy jeˇstˇe nen´ı bezpeˇcnost zapojena, je moˇzn´e nastavit moˇznost Uveden´ı do provozu“ a robotem ” pohybovat i bez zapojen´e bezpeˇcnosti. Reˇzimu Uveden´ı do provozu“ je moˇzn´e aktivovat ” pouze v reˇzimu T1 a uˇzivatel mus´ı b´ yt pˇrihl´aˇsen jako Expert“. ” Nauˇcen´ı a naprogramov´an´ı pohyb˚ u je moˇzn´e pouze v reˇzimu T1, kde robot m´a omezenou maxim´aln´ı rychlost. V ostatn´ıch reˇzimech m˚ uˇze jet robot aˇz maxim´aln´ı rychlost´ı, podle toho, jak´a rychlost je navolena pro pohyb v programu. 38
Reˇzim AUT a AUT EXT se liˇs´ı t´ım, ˇze v reˇzimu AUT EXT je program spouˇstˇen pokyny ˇ ıd´ıc´ı syst´em zvol´ı ˇc´ıslo programu a dan´ z nadˇrazen´eho ˇr´ıdic´ıho syst´emu. R´ y program je pak vykon´an. Ruˇcn´ı reˇzim provozu T1
Moˇznost ruˇcn´ıho i programov´eho pohybu Pro uˇcen´ı pohyb˚ u, programov´an´ı a testov´an´ı Max. rychlost 250 mm/s Ruˇcn´ı reˇzim
T2
Moˇznost pouze programov´eho pohybu Testov´an´ı program˚ u Rychlost podle nastaven´e rychlosti v programu Automatick´ y provoz
AUT
Pouze programov´ y provoz Rychlost podle nastaven´e rychlosti v programu Bez nadˇrazen´eho ˇr´ıdic´ıho syst´emu Automatick´ y provoz
AUT
Pouze programov´ y provoz
EXT
Rychlost podle nastaven´e rychlosti v programu S nadˇrazen´ ym ˇr´ıdic´ım syst´emem Tabulka 3.4: Reˇzimy provozu
3.4.2
Tlaˇ c´ıtka souhlasu pro pohyb robota na panelu
Pro povolen´ı ruˇcn´ıho pohybu v reˇzimu T1 nebo pro ruˇcn´ı bˇeh programu jsou na ˇr´ıdic´ım ˇ e tlaˇc´ıtko je tlaˇc´ıtko souhlasu (potvrzen´ı pohybu panelu um´ıstˇena tlaˇc´ıtka souhlasu. Sed´ robota v manu´aln´ım reˇzimu) a zelen´e tlaˇc´ıtko je oznaˇceno jako Start a pouˇz´ıv´a se pro bˇeh programu. Tato tlaˇc´ıtka jsou um´ıstˇena na panelu v´ıckr´at (z d˚ uvodu lepˇs´ıho pohodl´ı pro uˇzivatele). Tato tlaˇc´ıtka maj´ı 3 polohy stisku: v´ ychoz´ı poloha - nestisknuto; poloha 1 - stisknuto; poloha 2 - stisknuto, bezpeˇcnostn´ı zastaven´ı. Popis provozu robota a reˇzim˚ u robota ˇcerp´an z [11] a z [12], kde lze naj´ıt i detailnˇejˇs´ı popis.
39
3.4.3
Uveden´ı do provozu
Aby bylo moˇzn´e pouˇz´ıvat robota, tak je nutn´e prov´ezt seˇr´ızen´ı os, kter´e se skl´ad´a z kalibrace os a nastaven´ı zat´ıˇzen´ı. Bliˇzˇs´ı informace se daj´ı naj´ıt v manu´alu. [11]. Pro programov´an´ı pohyb˚ u robota je k dispozici nˇekolik souˇradn´ ych syst´em˚ u - souˇradn´ y syst´em spjat´ y se z´akladnou robota (WORLD), souˇradn´ y syst´em os, souˇradn´ y syst´em n´astroje, souˇradn´ y syst´em b´aze. Souˇradn´ y syst´em n´astroje je nutn´e promˇeˇrit s kaˇzd´ ym n´astrojem. D´ale je k dispozici souˇradn´ y syst´em b´aze, kter´ y si m˚ uˇzeme libovolnˇe nadefinovat v prostoru. Podrobn´ y n´avod na promˇeˇren´ı n´astroje, b´aze lze naj´ıt v manu´alu [11].
3.4.4
KUKA SmartPad
KUKA SmartPad je dotykov´a obrazovka, pomoc´ı kter´e lze ovl´adat a programovat robota. V horn´ı ˇradˇe se nach´az´ı tlaˇc´ıtko pro odpojen´ı panelu, kl´ıˇckov´ y pˇrep´ınaˇc pro zmˇenu druhu provozu a tlaˇc´ıtko nouzov´eho zastaven´ı. Na lev´e stranˇe lze naj´ıt tato tlaˇc´ıtka: vyvol´an´ı kl´avesnice, start, start - zpˇet, stop pro ovl´ad´an´ı bˇehu programu; d´ale technologick´a tlaˇc´ıtka - napˇr´ıklad pro ovl´ad´an´ı n´astroje. Na prav´e stranˇe se nach´az´ı tlaˇc´ıtka pro pohyb jednotliv´ ymi osami, nebo pro pohyb podle souˇradn´ ych os (z´aleˇz´ı na volbˇe souˇradn´eho syst´emu), d´ale jsou tam dvˇe tlaˇc´ıtka pro nastaven´ı pohybov´e rychlosti v programov´em pohybu a v ruˇcn´ım pohybu. Na prav´e stranˇe se rovnˇeˇz nach´az´ı Space Mouse, coˇz je speci´aln´ı ovl´adac´ı prvek (joystick s moˇznost´ı pohybu 6 smˇery), kter´ ym se d´a ovl´adat pohyb robota. Na obr´azku 3.6 je uk´az´an panel SmartPad. Jednotliv´ eˇ c´ asti panelu na obr´ azku 3.6: 1. Pohybov´a tlaˇc´ıtka
Program lze vykonat v jednom ze tˇr´ı druh˚ u bˇehu programu. V automatick´em reˇzimu je k dispozici pouze pr˚ ubˇeh GO. Pr˚ ubˇehy jsou uveden´e v tabulce 3.5
41
GO
Kontinu´aln´ı bˇeh programu V testovac´ım reˇzimu nutno drˇzet tlaˇc´ıtko start
MSTEP
Krokov´an´ı programu po kaˇzd´em pohybov´em pˇr´ıkazu Na zaˇca´tku kaˇzd´e pohybov´e instrukce nutno stisknout tlaˇc´ıtko start
ISTEP
Krokov´an´ı programu po kaˇzd´e instrukci Na zaˇca´tku kaˇzd´e instrukce nutno stisknout tlaˇc´ıtko start Tabulka 3.5: Reˇzimy provozu
Programov´an´ı robota se prov´ad´ı pomoc´ı KUKA SmartPadu, pˇr´ıpadnˇe lze program vytvoˇrit v editoru na bˇeˇzn´em poˇc´ıtaˇci a program pak pˇren´est do robota. Pohyby a ˇr´ıdic´ı instrukce programu lze programovat pomoc´ı tzv. inline formul´aˇr˚ u, kde se doplˇ nuj´ı poˇzadovan´e hodnoty. Toto je velmi pˇrehledn´e a snazˇs´ı pro pochopen´ı programu. Jin´a moˇznost je programovat pomoc´ı psan´ı pˇr´ıkaz˚ u, kde zad´av´ame pˇr´ıkazy jako v klasick´em programov´an´ı. Pro nezkuˇsen´eho uˇzivatele je tento k´od m´enˇe pˇrehledn´ y, ale lze takto tvoˇrit sloˇzitˇejˇs´ı programy a lze vyuˇz´ıvat vˇetˇs´ı mnoˇzstv´ı funkcionalit programovac´ıho jazyku robota. Programovac´ı jazyk se naz´ yv´a KRL - KUKA Robot Language.
3.5.2
Struktura programu robota
Program robota by mˇel b´ yt vytvoˇren podle tohoto standardn´ıho sch´ematu: 1. Deklarace promˇenn´ ych 2. Inicializace programu pomoc´ı pˇr´ıkazu INI 3. Prvn´ı pohybov´ y pˇr´ıkaz mus´ı v´ezt do HOME pozice 4. Vlastn´ı program 5. Konec programu opˇet v HOME pozici Pro spouˇstˇen´ı program˚ u je d˚ uleˇzit´e, aby byla definov´ana HOME (v´ ychoz´ı) pozice pro robota, do kter´e se vˇzdy po dobˇehnut´ı programu robot vrac´ı a ze kter´e pak startuje nov´ y bˇeh programu. Protoˇze kdyby robot konˇcil v nezn´am´e pozici a pak se nejkratˇs´ı cestou 42
pˇresouval do jin´e startovn´ı pozice, tak by mohlo doj´ıt k poˇskozen´ı robota nebo jin´eho zaˇr´ızen´ı v jeho bl´ızkosti. SAK pohyb = shoda pozice robota a naprogramovan´e pozice, tento pohyb se prov´ad´ı vˇzdy po navolen´ı nov´eho programu, d´ale pˇri zmˇenˇe pohybov´eho pˇr´ıkazu a pˇri volbˇe bloku. Robot naj´ıˇzd´ı do pozice SAK zpomalenou rychlost´ı. Pro programov´an´ı poˇzadovan´e funkcionality lze vyuˇz´ıt r˚ uzn´e typy soubor˚ u, ve kter´ ych je uloˇzen program. Z´akladn´ım typem je modul. Kaˇzd´ y modul se skl´ad´a ze dvou soubor˚ u, prvn´ı soubor se zdrojov´ ym k´odem ∗.src a datov´ y soubor ∗.dat, kde jsou uloˇzeny pˇredevˇs´ım souˇradnice bod˚ u. Modul nem´ıv´a n´avratovou hodnotu. Jin´ ym typem program˚ u je funkce, ta obsahuje pouze zdrojov´ y soubor - b´ yv´a proto vyuˇz´ıv´an´a pro programov´an´ı podfunkc´ı, kter´e neobsahuj´ı pohybov´e pˇr´ıkazy, m´a vˇzdy n´avratovou hodnotu. Dalˇs´ı typy soubor˚ u(cell a submit interpreter) budou vysvˇetleny v dalˇs´ım textu.
3.5.3
Pohybov´ e pˇ r´ıkazy
Z´akladn´ım typem pˇr´ıkaz˚ u jsou pohybov´e pˇr´ıkazy, kter´e specifikuj´ı pohyb robota. Pohyb je definov´an z poˇca´teˇcn´ıho bodu do koncov´eho bodu. Podle trajektorie m˚ uˇzeme rozliˇsit tyto z´akladn´ı pohybov´e pˇr´ıkazy: • PTP - point to point – Osovˇe specifick´ y pohyb – Kaˇzd´a osa se natoˇc´ı do poˇzadovan´e polohy bez ohledu na trajektorii koncov´eho bodu n´astroje – Nelze pˇredv´ıdat pˇresn´ y tvar trajektorie koncov´eho bodu • LIN - line´arn´ı pohyb – Line´arn´ı pohyb koncov´eho bodu – Koncov´ y bod se pohybuje konstantn´ı rychlost´ı a definovanou orientac´ı • CIRC - pohyb po kruˇznici – Pohyb koncov´eho bodu po kruˇznici – Nutno zadat kromˇe poˇca´teˇcn´ıho a koncov´eho bodu jeˇstˇe jeden pomocn´ y bod 43
Nejrychlejˇs´ı pohyb je z bodu do bodu pomoc´ı PTP, protoˇze robot natoˇc´ı osy do c´ılov´e pozice bez ohledu na orientaci n´astroje a jeho trajektorii. 3.5.3.1
Aproximace bodu
Pˇri pouˇzit´ı aproximace bodu doch´az´ı k tomu, ze robot nenaj´ıˇzd´ı do c´ılov´ ych bod˚ u pˇresnˇe, n´ ybrˇz v definovan´e vzd´alenosti od c´ıle opouˇst´ı dr´ahu a pˇrech´az´ı do dr´ahy k dalˇs´ımu c´ılu. Porovn´an´ı aproximovan´eho a neaproximovan´eho projet´ı bodu je na obr´azku 3.8. V´ yhodami aproximace je menˇs´ı opotˇreben´ı pohon˚ u robota a rychlejˇs´ı projet´ı cesty, protoˇze robot nedoj´ıˇzd´ı pˇresnˇe do bodu a nezastavuje v nˇem. Aproximace se aktivuje parametrem CONT“. ”
(a) Bez aproximace
(b) S aproximac´ı
Obr´ azek 3.8: Porovn´ an´ı neaproximovan´e a aproximovan´e trajektorie v bodˇe P2
3.5.4
Programov´ an´ı pohyb˚ u pomoc´ı in-line formul´ aˇ r˚ u
3.5.4.1
PTP - point to point
Na obr´azku 3.9 je vidˇet pˇr´ıklad pouˇzit´ı in-line pˇr´ıkazu PTP i se vˇsemi parametry, kter´e program´ator zad´av´a. P1“ je n´azev bodu, do kter´eho robot pojede. CONT“ ud´av´a, ˇze ” ” je aktivn´ı aproximace. Tool“ urˇcuje konkr´etn´ı n´astroj, base“ je souˇradn´ y syst´em, ve ” ” kter´em se zad´av´a pohyb. Vel“ ud´av´a rychlost v procentech (v˚ uˇci maxim´aln´ı rychlosti ” omezena maxim´aln´ımi rychlostmi os). Acceleration“ ud´av´a zrychlen´ı v procentech v˚ uˇci ” maxim´aln´ımu. Approximation distance“ je vzd´alenost, ve kter´e zaˇc´ın´a aproximace ( 0 % ” - najede pˇresnˇe na c´ıl, 100 % - aproximace zaˇc´ın´a jiˇz v poˇc´ateˇcn´ım bodˇe). P1“ a PDAT1“ ” ” 44
jsou jm´ena struktur, kter´e jsou uloˇzeny v datov´em souboru ∗.dat. Moˇznost extern´ı TCP je nastavena na false, pokud je pouˇzit n´astroj, kter´ y pˇrimontov´an na pˇr´ırubu robota, v jin´em pˇr´ıpadˇe se nastav´ı true. Uk´azka pouˇzit´ı in-line formul´aˇre s pˇr´ıkazem PTP je na obr´azku 3.9.
Obr´azek 3.9: Pohyb PTP
3.5.4.2
LIN - line´ arn´ı pohyb
Parametry pohybu LIN jsou podobn´e jako u pohybu PTP, pouze se rychlost a aproximaˇcn´ı vzd´alenost zad´av´a v milimetrech a jde zde definovat orientace n´astroje bˇehem pohybu. M˚ uˇzeme zvolit orientaci konstantn´ı - nebude se mˇenit bˇehem pohybu, standardn´ı - bude se kontinu´alnˇe mˇenit nebo orientaci ruˇcn´ı. Pˇr´ıkaz LIN je na obr´azku 3.10
45
Obr´azek 3.10: Pohyb LIN
3.5.4.3
CIRC - kruhov´ y pohyb
Parametry pohybu CIRC jsou podobn´e jako u pohyb˚ u PTP a LIN, pouze je nutn´e jeˇstˇe zadat jeden pomocn´ y bod nav´ıc, aby se mohla definovat trajektorie po kruˇznici.
3.5.5
Dalˇ s´ı pˇ r´ıkazy
3.5.5.1
Wait
Pˇr´ıkaz ˇcek´an´ı m´a jako parametr ˇcas ˇcek´an´ı v sekund´ach, obr´azek 3.12. 3.5.5.2
Wait for
Pˇr´ıkaz ˇcek´an´ı na sign´al ˇcek´a, neˇz pˇrijde oˇcek´avan´ y sign´al, lze nastavit ˇcek´an´ı na splnˇen´ı logick´e pomdm´ınky, kter´a lze vytvoˇrit pomoc´ı AND a OR , obr´azek 3.13. 46
Obr´azek 3.11: Pohyb CIRC
3.5.5.3
Out
Sepnut´ı sign´alu, nastaven´ı jeho hodnoty na logickou 0 nebo 1, obr´azek 3.14. 3.5.5.4
Pulse
Generov´an´ı pulsu o definovan´e d´elce na v´ ystupu, obr´azek 3.15.
3.5.6
ˇ ıd´ıc´ı struktury programu R´
Podobnˇe jako v jin´ ych programovac´ıch jazyc´ıch, tak i v jazyku KRL lze pouˇz´ıvat podm´ınky if, smyˇcky, ˇcasovaˇce,... Tyto pˇr´ıkazy je nutn´e jiˇz zapisovat podle syntaxe ruˇcnˇe, in-line formul´aˇre pro nˇe jiˇz vˇetˇsinou pouˇz´ıt nelze. Koment´aˇr zaˇc´ın´a znakem ;“ , od stˇredn´ıku na konec ˇra´dky je vˇse ” v koment´aˇri. 47
ˇ an´ı Obr´azek 3.12: Cek´
ˇ an´ı na logickou 1 na vstupu ˇc´ıslo 1 Obr´ azek 3.13: Cek´
3.5.6.1
Podm´ınky - if
Syntaxe je: if podm´ınka then .... endif Uk´azka k´odu s podm´ınkou if:
if (($in[1] == true) AND ($move_enable == true))then lin_rel{x 20} ; line´ arn´ ı relativn´ ı pohyb v ose x $out[3] = true ; sepnnut´ ı v´ ystupu ... endif 3.5.6.2
Cykly
Nekoneˇcn´ y cyklus loop, vyskoˇcen´ı z cyklu pˇri splnˇen´ı podm´ınky na n´avˇeˇst´ı: loop ... if $in[1] == true then goto konec endif endloop konec: Cyklus for: decl int i ...
48
Obr´ azek 3.14: Nastaven´ı logick´e hodnoty na v´ ystupu
Obr´ azek 3.15: Generov´an´ı pulzu na v´ ystupu
for i = 0 to 2 ... endfor
3.5.7
Programov´ an´ı pohybov´ ych pˇ r´ıkaz˚ u bez in-line formul´ aˇ r˚ u
Pohyby lze naprogramovat i bez pouˇzit´ı in-line formul´aˇr˚ u. Toto se velmi ocen´ı, kdyˇz se potˇrebuje popojet relativnˇe v˚ uˇci pˇredchoz´ımu bodu, nebo kdyˇz potˇrebujeme souˇradnice bodu vypoˇc´ıtat. Rovnˇeˇz je to v´ yhodn´e vyuˇz´ıt pro pohyb v pˇresnˇe dan´ ych souˇradnic´ıch. Pˇr´ıkazy jsou: ptp, lin. Pro relativn´ı pohyb pak jsou tyto pˇr´ıkazy: ptp rel, lin rel. D´ale se potom pˇredaj´ı jako parametry poˇzadovan´e souˇradnice bodu, kam m´a robot dojet, poˇzadovan´a rychlost, zrychlen´ı,... . Lze zadat ˇc´ıseln´e hodnoty souˇradnic pˇr´ımo nebo uloˇzen´e v patˇriˇcn´e struktuˇre (napˇr. Frame). Nen´ı nutn´e specifikovat jednoznaˇcnˇe vˇsechny hodnoty souˇradnic, nezadan´e hodnoty budou pˇrevzat´e z pˇredchoz´ıho pohybov´eho pˇr´ıkazu, to plat´ı i pro zad´an´ı rychlosti a zrychlen´ı. Pˇr´ıklady s pohyby robota: lin {x 100, y 20} ;pohyb na souˇ radnice x,y ptp {a1 90, a6 -20} ; natoˇ cen´ ı os robota x = 20 y = 100 fpoz = {frame: x 300, y 370, z 180} fpoz.x = x fpoz.y = y lin fpoz 49
3.5.8
Speci´ aln´ı pˇ r´ıkazy - hl´ aˇ sen´ı a dialogy
Existuje ˇrada dalˇs´ıch pˇr´ıkaz˚ u, kter´e lze vyuˇz´ıt. Pro testov´an´ı a komunikaci s uˇzivatelem se mi osvˇedˇcilo pouˇzit´ı zpr´av a dialog˚ u. Tud´ıˇz zde uv´ad´ım tyto dva pˇr´ıkazy. Bliˇzˇs´ı a detailnˇejˇs´ı popis je moˇzno naj´ıt v dokumentaci [13] 3.5.8.1
Zpr´ avy
Pro informov´an´ı uˇzivatele lze vyuˇz´ıt zpr´av, kter´e se zobraz´ı na obrazovce SmartPadu. Zpr´ava je typu KrlMsg t, lze zobrazit hodnotu promˇenn´e, kter´a je uloˇzena ve struktuˇre KrlMsgPar t, zp˚ usob zobrazen´ı zpr´avy je definov´an ve struktuˇre typu KrlMsgOpt t. Zpr´ava se zobraz´ı pomoci funkce set KrlMsg, kter´a m´a za parametr typ zpr´avy (#notify, #state, #quit, #waiting), text zpr´avy a jej´ı parametry. Zpr´avy se objevuj´ı v horn´ı ˇca´sti okna na SmartPadu. Pˇr´ıklad pouˇzit´ı zpr´avy: decl KrlMsg_t mymsg decl KrlMsgPar_t mypar[3] decl KrlMsgOpt_t myopt decl int myhandle
Pomoc´ı dialogu se lze uˇzivatele zeptat a ten m˚ uˇze odpovˇedˇet jednou ze sedmi nab´ızen´ ych variant. Toto bylo pro mˇe v´ yhodn´e, kdyˇz jsem pouˇz´ıval robota bez nadˇrazen´eho ˇr´ıdic´ıho syst´emu a chtˇel jsem mu zad´avat pokyny. Podobnˇe jako u zpr´av, vyuˇz´ıv´ame zde struktury KrlMsg t, KrlMsgPar t, KrlMsgOpt t a popisek jednotliv´ ych voleb nadefinujeme v poli KrlMsgDlgSK t. Po zobrazen´ı dialogu poˇck´ame, neˇz uˇzivatel stiskne kl´avesu a uzavˇre t´ım dialog. Pˇr´ıklad dialogu (jako souˇca´st funkce): DEFFCT int vyberzadani( ) decl krlmsg_t mymessage 50
Obr´ azek 3.16: Uk´ azka dialogu s moˇznost´ı v´ ybˇeru ze 4 moˇznost´ı
51
3.5.10
Submit interpreter
Submit interpreter je speci´aln´ı program, kter´ y bˇeˇz´ı na pozad´ı. Tento program se vykon´av´a cyklicky, dalo by se ˇr´ıci, ˇze se jedn´a o
vnitˇrn´ı softwarov´e PLC“. V tomto programu by ” nemˇely b´ yt vykon´av´any pohybov´e instrukce. Submit interpreter lze vyuˇz´ıt na sledov´an´ı stisku tlaˇc´ıtka uˇzivatelem bˇehem bˇehu programu, nebo na sledov´an´ı vnitˇrn´ıho stavu robota ˇci nˇejak´e promˇenn´e.Rovnˇeˇz lze vyuˇz´ıt submit interpreter pro pos´ıl´an´ı aktu´aln´ı pozice robota do PLC, pˇr´ıpadnˇe jin´eho ˇc´ıseln´eho u ´daje, toto je vyuˇzito v ˇca´sti, kdy se ot´aˇc´ı motor v syst´emu Simotion synchronnˇe s pohybem robota. Struktura submit interpretu: po inicializaci n´asleduje nekoneˇcn´a smyˇcka. V t´e se jiˇz nach´az´ı defaultn´ı pˇr´ıkazy syst´emu (z´aleˇz´ı na nainstalovan´ ych technologick´ ych bal´ıˇcc´ıch) a pak je v k´odu vyˇclenˇeno m´ısto, kde je moˇzno doplnit vlastn´ı instrukce. Pˇr´ıklad submit interpretu: DEF
SPS ( )
DECLARATIONS
;moˇ zno pˇ ridat vlastn´ ı deklarace
INI loop WAIT FOR NOT($POWER_FAIL) TORQUE_MONITORING() GRIPPERTECH_PLC USER_PLC ;moˇ zno zde dˇ elat zmˇ eny endloop
3.5.11
Pˇ reruˇ sen´ı
Vhodn´ ym doplnˇen´ı uˇzivatelsk´ ych program˚ u m˚ uˇze b´ yt pˇreruˇsen´ı. Napˇr´ıklad pro monitorov´an´ı stisku tlaˇc´ıtka, kter´e zmˇen´ı chov´an´ı vykon´avan´eho programu. Pˇreruˇsen´ı je nutno nadefinovat v inicializaˇcn´ı f´azi programu a ve stejn´e f´azi programu je nutn´e pˇreruˇsen´ı povolit pomoc´ı INTERRUPT ON <ˇc´ıslo pˇreruˇsen´ı>. Po skonˇcen´ı programu se pˇreruˇsen´ı deaktivuje pomoci INTERRUPT ON <ˇc´ıslo pˇreruˇsen´ı>. Pˇreruˇsen´ı jsou oznaˇcena ˇc´ıslem, kter´e z´aroveˇ n ud´av´a prioritu, k dispozici jsou priority od 1 do 128, pˇriˇcemˇz rozsah 3, 40-80 je rezervov´an pro syst´emov´e funkce, pˇriˇcemˇz priorita 1 je nejvyˇsˇs´ı. V deklaraci pˇreruˇsen´ı po kl´ıˇcov´em slovˇe WHEN n´asleduje podm´ınka a po slovˇe DO to, co se m´a v pˇr´ıpadˇe, ˇze je splnˇena podm´ınka vykonat. ... 52
interrupt decl 30 when $in[12]==true do zapni() INTERRUPT ON 30 ... INI ... INTERRUPT OFF 30
3.6 3.6.1
Moˇ znosti monitorov´ an´ı a identifikace pohon˚ u Pohony robota
Robot je KR 16-2 je ˇsestios´ y manipul´ator, kter´ y je vybaven 6 pohony od firmy Siemens ˇrady 1FK7. Tud´ıˇz se jedn´a o stejn´ y typ motor˚ u, jako se nach´az´ı na cviˇcn´e sestavˇe Simotion. Pohony jsou speci´alnˇe vyr´abˇeny pro firmu KUKA a maj´ı speci´aln´ı oznaˇcen´ı, podle kter´eho se d´a poznat, ˇze jsou urˇcen´e pro roboty KUKA. Toto je vˇsak i nev´ yhoda, protoˇze nelze dohled jejich parametry podle katalogov´eho listu Siemens. Je vˇsak moˇzn´e tyto parametry vyˇc´ıst z dat robota. Jedn´a se o soubory ve sloˇzce Conf ig/System/Common/M otor/artl.− N r, kde Artl.-Nr. je speci´aln´ı oznaˇcen´ı motoru firmy KUKA. Motory na robota jsou vybaveny resolvery pro vyˇc´ıt´an´ı aktu´aln´ı polohy. Motory jsou vybaveny rovnˇeˇz elektromagnetickou brzdou. Jako pˇr´ıklad uv´ad´ım motor 6. osy robota s jeho parametry (byly pouˇzity pro pˇripojen´ı motoru k Simotion), v tabulce 3.6.
3.6.2
Monitorov´ an´ı a zaznamen´ av´ an´ı pr˚ ubˇ eh˚ u
V ˇr´ıdic´ım syst´emu robota lze nastavit zaznamen´av´an´ı libovoln´e promˇenn´e a libovoln´eho sign´alu. K tomu slouˇz´ı n´astroj TRACE. K prohl´ıˇzen´ı namˇeˇren´ ych pr˚ ubˇeh˚ u lze pouˇz´ıt osciloskop. Hlavn´ı nev´ yhodou zaznamen´av´an´ı pr˚ ubˇeh˚ u je, ˇze je lze zobrazit pouze pomoc´ı n´astroje osciloskop na SmartPadu nebo v prostˇred´ı WorkVisual. Data nelze vyexportovat do ˇza´dn´eho form´atu, kter´ y by se dal d´ale zpracovat. Tud´ıˇz k dispozici jsou pouze kˇrivky, kter´e si lze prohl´ednout uvnitˇr WorkVisual nebo online na Smart Panelu.
53
Oznaˇcen´ı motoru
1FK7034-5AZ91-1ZZ9-Z S09
Artikel Nummer
00-120-420
souboru s tech. parametry
00 − 120 − 420 E0.xml
Maxim´aln´ı proud
8A
Nomin´aln´ı proud
1.6 A
KT0-Factor
0.8
Moment
0.000098 kgm2
L
0.0165 H
R
4.7 Ω
Poˇcet p´olov´ ych dvojic
3
Nomin´aln´ı ot´aˇcky
4500 1/min
Maxim´aln´ı ot´aˇcky
10000 1/min
Tabulka 3.6: Data motoru ze strojov´ ych dat robota
3.6.3
Zaznamenan´ e pr˚ ubˇ ehy
Nejzaj´ımavˇejˇs´ı pro monitorov´an´ı byly hodnoty pozic, rychlost´ı a zrychlen´ı. Uv´ad´ım zde seznam uˇziteˇcn´ ych sign´al˚ u a promˇenn´ ych pro monitorov´an´ı, v tabulce 3.7 jsou uveden´e sign´aly z modulu KRCIpo, v tabulce 3.8 jsou uvedeny sign´aly z modulu NextGenDrive pro kaˇzdou osu robota. Pro vˇetˇsinu fyzik´aln´ıch veliˇcin t´ ykaj´ıc´ıch se pohybu existuj´ı 3 sign´aly - poˇzadovan´a hodnota, aktu´aln´ı hodnota a odchylka poˇzadovan´e a skuteˇcn´e hodnoty. n´azev promˇenn´e (sign´alu)
v´ yznam
X act
souˇradnice v ose x
Y act
souˇradnice v ose y
Z act
souˇradnice v ose z
A act
natoˇcen´ı okolo osy z
B act
natoˇcen´ı okolo osy y
C act
natoˇcen´ı okolo osy x
CartVel Cmdlpo
poˇzadovan´a rychlost
CartVel Act
skuteˇcn´a rychlost
Tabulka 3.7: Sign´aly z modulu KRCIpo
Na jednotliv´ ych obr´azc´ıch jsou uk´azky monitorov´an´ı pr˚ ubˇeh˚ u. Jednotky na ose y neodpov´ıdaj´ı skuteˇcnosti, protoˇze kaˇzd´ y sign´al je jinak zes´ılen, aby bylo moˇzn´e porovn´avat 54
n´azev promˇenn´e (sign´alu)
v´ yznam
Sollposition
poˇzadovan´e natoˇcen´ı
Istposition
aktu´aln´ı pozice
Positionsschleppfehler
rozd´ıl poˇzadovan´e a aktu´aln´ı pozice
Sollgeschwindigkeit
poˇzadovan´a rychlost
Istgeschwindigkeit
aktu´aln´ı rychlost
Istbeschleunigung
aktu´aln´ı zrychlen´ı
Istmoment
aktu´aln´ı moment
Istkraft
skuteˇcn´a s´ıla
Zustand PowerBrakeState
stav brzdy
IstStrom
aktu´aln´ı proud
Tabulka 3.8: Sign´aly z modulu NextGenDrive
pr˚ ubˇehy (automatick´a funkce ve WorkVisual). Pokud se zobraz´ı pouze pr˚ ubˇeh jedn´e veliˇciny, pak jednotky na ose y budou odpov´ıdat. Na obr´azku 3.17 je vidˇet monitorov´an´ı ˇza´dan´e rychlosti koncov´eho bodu robota a skuteˇcn´e rychlosti.
Obr´ azek 3.17: Rychlosti v kart´ezsk´em souˇradn´em syst´emu, rychlost ˇz´ adan´ a a skuteˇcn´a
Na obr´azku 3.18 je vidˇet pr˚ ubˇeh rychlosti, polohy, zrychlen´ı a proudu pro osu A1. Zaj´ımav´e porovn´an´ı je vidˇet na obr´azku 3.19, kde je vidˇet pr˚ ubˇeh rychlosti , kter´ y se podobnˇe opakuje. Je zde vidˇet, ˇze se jednalo o line´arn´ı pohyb LIN, protoˇze pr˚ ubˇeh rychlosti je line´arn´ı. Tak´e je vidˇet, ˇze velmi podobn´ y pr˚ ubˇeh rychlosti (CartVel act) je dosaˇzen, i kdyˇz se osa A1 nepohybuje, mus´ı se tedy pohybovat jin´e osy.
55
Obr´ azek 3.18: Pohyb tion),
osy
A1,
rychlost
jej´ı poloha
ve
(Istgeschwindigkeit)
stupn´ıch [◦ /s],
(IstPosizrychlen´ı
(Istbeschleunigung)[◦ /s2 ] a proud osy (Iststrom) [A], ˇspatnˇe se v legendˇe grafu zobrazuje jednotka stupeˇ n (d´ano prostˇred´ım WorkVisual, ze kter´eho je exportovan´ y obr´azek grafu),
Obr´ azek 3.19: Pohyb osy A1 - jej´ı rychlost (Istgeschwindigkeit) [◦ /s] a pozice (natoˇcen´ı) ve stupn´ıch (Istposition) a celkov´a rychlost koncov´eho bodu (CartVel act)
3.7
Shrnut´ı moˇ znost´ı programov´ an´ı robota
V t´eto kapitole bylo nastudov´ano programov´an´ı robot˚ u KUKA a byly vytvoˇreny vzorov´e programy. Programov´an´ı robot˚ u m˚ uˇze prob´ıhat pomoc´ı inline formul´aˇr˚ u, do kter´ ych se
56
doplˇ nuj´ı parametry pˇr´ıkaz˚ u. Jin´ ym zp˚ usobem je pˇr´ım´e psan´ı pˇr´ıkaz˚ u. Byla zde pops´ana konfigurace projektu ve WorkVisual. Rovnˇeˇz zde bylo pops´ano nastaven´ı s´ıtˇe Profinet na stranˇe robota. Bylo zde pops´ano zaznamen´av´an´ı pr˚ ubˇeh˚ u promˇenn´ ych a sign´al˚ u robota. K zaznamenan´emu pr˚ ubˇehu je moˇzn´e pˇristoupit pouze na SmartPadu nebo ve WorkVisual, nen´ı moˇzn´e si data exportovat ve form´atu, kter´ y by byl ˇciteln´ y i v jin´ ych programech.
57
Kapitola 4 Integrace pr˚ umyslov´ eho robota Integrace pr˚ umyslov´eho robota a syst´emu polohov´eho ˇr´ızen´ı Simotion je realizov´ana pomoc´ı nadˇrazen´eho PLC Siemens CPU 315. Tud´ıˇz v t´eto kapitole je uveden nejprve postup integrace jednotliv´ ych zaˇr´ızen´ı a pak vˇsech zaˇr´ızen´ı dohromady. Automatick´ y provoz robota KUKA s nadˇrazen´ ym syst´emem je definov´an firmou KUKA. Je nutn´e splnit posloupnost akc´ı a t´ım spustit program robota v automatick´em reˇzimu. Pro polohovac´ı syst´em Simotion byla v pˇredchoz´ı kapitole provedena konfigurace syst´emu, kde zaˇr´ızen´ı Sinamics byla pˇripojena tak´e na s´ıt’ Profinet. Takˇze v t´eto ˇc´asti jiˇz zb´ yv´a nastavit pouze komunikaci k nadˇrazen´emu PLC. Pro dalˇs´ı testov´an´ı byla ovˇeˇrena moˇznost isochronn´ı komunikace na s´ıti Profinet dvou zaˇr´ızen´ı Simotion.
4.1
Komunikace PLC - robot
Konfigurace s´ıtˇe Profinet byla pops´ana v kapitole Programov´an´ı ˇsestios´eho pr˚ umyslov´eho robota KUKA KR 16-2. Zde je pouze shrnuta konfigurace a d´ale budou vysvˇetleny dalˇs´ı kroky komunikace mezi robotem a PLC.
4.1.1
Hardwarov´ a konfigurace
Zde je kr´atk´e shrnut´ı hardwarov´e konfigurace. U robota je z´akladem m´ıt nainstalovan´ y potˇrebn´ y software pro Profinet. V prvn´ım kroku konfigurace se pˇridala sbˇernice Profinet a nastavil poˇcet vymˇen ˇovan´ ych bitov´ ych sign´al˚ u. Na stranˇe PLC se pˇridal robot jako zaˇr´ızen´ı i-Device, kde jsme nastavili jm´eno robota (stejnˇe jako ve WorkVisual), IP adresu 58
a poˇcet vstup˚ u a v´ ystup˚ u. Na stranˇe robota bylo jeˇstˇe nutn´e ve WorkVisual nastavit propojen´ı vstup˚ u a v´ ystup˚ u na sign´aly na Profinetu. Potom jiˇz fungovala komunikace mezi robotem a PLC.
4.1.2
Pˇ r´ıprava programu robota pro automatick´ y provoz s PLC
Abychom mohli spustit robota v automatick´em reˇzimu s nadˇrazen´ ym syst´emem, tak si mus´ıme pˇripravit organizaˇcn´ı program cell.src, kter´ y spouˇst´ı jednotliv´e programy dle poˇzadavk˚ u PLC.
4.1.2.1
Struktura cell.src
Organizaˇcn´ı program cell.src je urˇcen pro navolen´ı programu robota z nadˇrazen´eho ˇr´ıdic´ıho syst´emu (napˇr. PLC). Z´akladn´ı struktura programu cell je takov´ato: Nejprve dojde k inicializaci promˇenn´ ych a dalˇs´ıch potˇrebn´ ych funkcionalit. Potom je instrukce pro najet´ı robota do Home pozice. Potom n´asleduje nekoneˇcn´a smyˇcka, ve kter´e se vezme ˇc´ıslo proˇ ıslo programu gramu, kter´e pos´ıl´a nadˇrazen´ y syst´em a vykon´a se patˇriˇcn´ y program. C´ je uloˇzeno v promˇenn´e PGNO. Zde je uk´azka typick´eho programu cell - pro ˇc´ıslo programu 1 se vykon´a program testovaci program()“ a pro ˇc´ıslo programu 2 je to program ” skladani kostek()“: ” DEF Cell ( ) INIT BASISTECH INI CHECK HOME PTP HOME
Vel= 100 % DEFAULT
AUTOEXT INI LOOP P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 ) SWITCH
PGNO ; podle c ˇı ´sla programu PGNO
CASE 1 59
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request testovaci_program ( ) ; zavolani uzivatelskeho programu CASE 2 P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request skladani_kostek ( ) ; zavolani uzivatelskeho programu DEFAULT P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 ) ENDSWITCH ENDLOOP END Neˇz se spust´ı program cell, tak je nutn´e nakonfigurovat vstupy a v´ ystupy pro reˇzim provozu Automatika externˇe. Program cell je nutn´e spustit v testovac´ım reˇzimu T1 nebo T2 a najet do HOME pozice. Potom pˇrepnout kl´ıˇckem do druhu provozu automatika externˇe (AUT EXT) a z PLC navolit program.
4.1.3
Sign´ aly vymˇ en ˇ ovan´ e mezi PLC a robotem
Pro spuˇstˇen´ı automatick´eho reˇzimu s extern´ım ˇr´ıdic´ım syst´emem je nutn´e, aby si nadˇrazen´ y ˇr´ıdic´ı syst´em vymˇen ˇoval s robotem sign´aly podle tabulek 4.1 a 4.2. Pˇr´ıpadnˇe je moˇzn´e nˇekter´e z tˇechto sign´al˚ u nastavit do trval´e logick´e hodnoty (logick´a 1 je $in[1025] a logick´a 0 je $in[1026]). Je nutn´e db´at opatrnosti, protoˇze ˇrada sign´al˚ u se aktivuje na hranu, bliˇzˇs´ı popis sign´al˚ u v [14]. Pro komunikaci robota s PLC jsem pouˇzil adresy vstup˚ u a v´ ystup˚ u od ˇc´ısla 100. Pˇriˇrazen´ı jednotliv´ ych promˇenn´ ych lze prov´ezt v Nastaven´ı-vstupy a v´ ystupy- automatika EXT“. ” Tam se pˇriˇrad´ı ˇc´ısla jednotliv´ ych vstup˚ u a v´ ystup˚ u ke konkr´etn´ım promˇenn´ ym. Jeˇstˇe se nastav´ı form´at ˇc´ısla programu v promˇenn´e PGNO TYPE( PGNO TYPE = 1 znamen´a, ˇze ˇc´ıslo programu je k´odov´ano bin´arnˇe), jako dalˇs´ı je uveden poˇcet bit˚ u, ze kter´ ych je sloˇzeno ˇc´ıslo programu. D´ale se zad´a ˇc´ıslo vstupu, kde je prvn´ı bit ˇc´ısla programu. V sign´alu PGNO PARITY se definuje parita (0 - ˇz´adn´a, +n sud´a parita, −n lich´a parita, kde n je ˇc´ıslo vstupu.
60
n´azev sign´alu
adresa
popis
$ PGNO FBIT
$IN[101]
prvn´ı bit z ˇc´ısla programu
$EXT START
$IN[111]
extern´ı start
$MOVE ENABLE $IN[1025] povolen´ı pohybu nutno nastavit do log. 1 pro vˇsechny druhy provozu $CONF MESS
$IN[113]
kvitov´an´ı chyby
$DRIVES ON
$IN[115]
zapnut´ı pohon˚ u aktivn´ı na n´abˇeˇznou hranu
$DRIVES OFF
$IN[114]
vypnut´ı pohon˚ u aktivn´ı na sp´adovou hranu
$I O ACT
$IN[116]
vstupy, v´ ystupy aktivn´ı
$IMM STOP
$IN[1025] nouzov´e zastaven´ı od PLC
$T2 ENABLE
$IN[1025] reˇzim T2 povolit Tabulka 4.1: Vstupy do robota od PLC
61
n´azev sign´alu
adresa
popis
$RC RDY1
$OUT[109] ˇr´ıdic´ı syst´em robota pˇripraven
$ALARM STOP
$OUT[110] porucha (alarm)
$T1
$OUT[130] druh provozu T1
$T2
$OUT[131] druh provozu T2
$AUT
$OUT[132] druh provozu Automat
$I O ACTCONF
$OUT[114] rozhran´ı I/O aktivn´ı
$EXT
$OUT[133] druh provozu Automat extern´ı
$STOPMESS
$OUT[115] porucha
$USER SAF
$OUT[111] ochrana obsluhy uzavˇrena
$PERI RDY
$OUT[112] pohony pˇripraveny
$IN HOME
$OUT[121] robot v home pozici
$ON PATH
$OUT[127] robot na dr´aze
$ROB STOPPED $OUT[129] robot zastaven $PRO ACT
$OUT[117] program aktivn´ı
$PRO MOVE
$OUT[120] programov´ y pohyb
Tabulka 4.2: V´ ystupy z robota pro PLC
Vˇsechny sign´aly z komunikace s PLC a jejich konkr´etn´ı konfigurace ve WorkVisual jsou uk´az´any v pˇr´ıloze.
4.1.4
Spuˇ stˇ en´ı robota z PLC
Zde je uveden postup spuˇstˇen´ı programu robota z PLC. K tomu zde je nejprve pops´an program uvnitˇr PLC. Na zaˇca´tku programu se nastav´ı v´ ystupy PLC $DRIVES OFF a $I O ACT do log. 1 . Pokud jsou splnˇen´e podm´ınky pro spuˇstˇen´ı programu z PLC a robot je na dr´aze nebo v home pozici, tak je moˇzn´e spustit robota, obr´azek 4.1. Pokud by nebyl na dr´aze nebo v home pozici, tak je nutn´e s robotem dojet do home pozice mimo automatick´ y reˇzim. Kdyˇz jsou splnˇeny podm´ınky pro start robota a robot nem´a pˇripraven´e pohony, tak je zapneme (zapnut´ı prob´ıh´a na n´abˇeˇznou hranu), obr´azek 4.2. Pokud robot hl´as´ı poruchu a ostatn´ı podm´ınky jsou splnˇeny, tak potvrd´ıme poruchu, obr´azek 4.3.
62
Obr´ azek 4.1: Splnˇen´ı podm´ınek pro start robota
Obr´azek 4.2: Zapnut´ı pohon˚ u
Pokud jsou splnˇen´e podm´ınky, pohony jsou zapnut´e, robot nehl´as´ı poruchu a program nen´ı aktivn´ı, tak poˇsleme sign´al ext start, obr´azek 4.4. D´ale ˇcek´ame na poˇzadavek robota o ˇc´ıslo programu. Pˇrijde-li poˇzadavek, tak nastav´ıme ˇc´ıslo programu, paritu a ˇc´ıslo programu aktivujeme sign´alem pgno valid , obr´azky 4.5 a 4.6. Vypnut´ı pohon˚ u robota (aktivn´ı na sp´adovou hranu), 4.7. Spuˇstˇen´ı a navolen´ı programu v testovac´ım projektu ve Step7 prob´ıhalo pˇres pamˇet’ov´e
Obr´ azek 4.3: Potvrzen´ı poruchy
63
Obr´azek 4.4: Start
Obr´ azek 4.5: Posl´an´ı ˇc´ısla programu
bity M, kter´e byly pro pˇrehlednost ve VAT tabulce robot ovladani“ . ”
4.2
Komunikace PLC - Simotion
V hardwarov´e konfiguraci ˇr´ıdic´ıho syst´emu Simotion se vytvoˇr´ı ve vlastnostech portu X1400 v z´aloˇzce i-Device aktivuje i-Device mode. A pˇrid´a se tam poˇzadovan´ y poˇcet vstup˚ u a v´ ystup˚ u. Po aktivov´an´ı i-Device m´odu je nutn´e vygenerovat GSD soubor, kter´ y se n´aslednˇe vloˇz´ı do hardwarov´e konfigurace PLC. Vygenerov´an´ı GSD souboru se provede z Options a volby Create GSD file for i-Device. Pˇri vytv´aˇren´ı a nastaven´ı i-Device m´odu lze vybrat moˇznost,
64
Obr´ azek 4.6: Posl´an´ı ˇc´ısla programu
Obr´azek 4.7: Vypnout pohony
zda se bude jednat o komunikaci RT nebo IRT, coˇz jsou dva druhy cyklick´e komunikace na Profinetu, pˇriˇcemˇz pro verzi IRT plat´ı, ˇze je isochronn´ı a prob´ıh´a v pˇresn´e ˇcasov´e okamˇziky (na rozd´ıl od komunikace RT, kde m˚ uˇze doch´azet k pozdrˇzen´ı dat na switch´ıch). V´ıce o konfiguraci komunikace mezi PLC a Simotion v manu´alu [15].
4.2.1
Simotion - Simotion
Pro spolupr´aci dvou ˇr´ıdic´ıch syst´em˚ u Simotion je moˇzn´e nadefinovat komunikaci mezi dvˇema zaˇr´ızen´ımi. Kv˚ uli moˇznosti pˇresn´e synchronizace pohyb˚ u je vhodn´e tuto komunikaci nastavit jako isochronn´ı, tzv. IRT komunikace. Nastaven´ı t´eto komunikace se provede v hardwarov´e konfiguraci ve vlastnostech portu X1400 v z´aloˇzk´ach Sender a Receiver. V z´aloˇzce Sender nastav´ıme poˇcet odes´ılan´ ych dat (bit˚ u). V z´aloˇzce Receiver nastav´ıme poˇcet pˇrij´ıman´ ych dat a z´aroveˇ n pˇriˇrad´ıme odes´ılatele tˇechto dat pomoc´ı volby Assign Sender. Tud´ıˇz je nutn´e, aby oba ˇr´ıdic´ı syst´emy byly v jednom projektu v Simotion Scout.
65
Obr´ azek 4.8: Nastaven´ı i-Device m´odu
4.3
Integrace PLC, Simotion a robota na jedn´ e s´ıti
Podle popsan´ ych n´avod˚ u v minul´e ˇca´sti jsem pˇridal do hardwarov´e konfigurace PLC na s´ıt’ Profinet i-Device robota a i-Device Simotion. Na obr´azku 4.9 jsou vˇsechna 3 zaˇr´ızen´ı v jedn´e hardwarov´e konfiguraci ve Stepu7. K ˇr´ıdic´ımu syst´emu Simotion D425 patˇr´ı dva ˇr´ıdic´ı syst´emy Sinamics S120. Dalˇs´ım zaˇr´ızen´ım na s´ıti je Simotion D435 a PLC 315. Pˇrehled vˇsech zaˇr´ızen´ı na jedn´e s´ıt´ı Profinet je uveden v tabulce 4.3. Zaˇr´ızen´ı Simotion D425 a D435 spolu komunikuj´ı IRT komunikac´ı, rovnˇeˇz Simotion D425 a zaˇr´ızen´ı Sinamics spolu komunikuj´ı IRT komunikac´ı, ostatn´ı zaˇr´ızen´ı komunikuj´ı RT komunikac´ı na Profinetu. Pro IRT komunikaci je nutn´e nastavit pevnou topologii s´ıtˇe v hardwarov´e konfiguraci (Profinet IO toplogy) a nastavit cyklus komunikace. V projektu Simotion byla integrov´ana tato zaˇr´ızen´ı: Simotion D425, Simotion D435, Sinamics S120 CU320 a Sinamics S120 CU320x2. V projektu PLC bylo: CPU 315, robot KUKA, switch Scalance a Simotion D425, IP adresy v 4.3.
66
Obr´ azek 4.9: Hardwarov´ a konfigurace CPU 315, kter´e komunikuje s robotem a Simotion D425, ostatn´ı zaˇr´ızen´ı Sinamics a D435 jsou v hardwarov´e konfiguraci v Simotion Scout
Zaˇr´ızen´ı
IP adresa
MAC adresa
Simotion D425
172.31.1.1
08:00:06:73:A2:B1
Simotion D435
172.31.1.2
08:00:06:73:6C:DF
Sinamics S120 CU320
172.31.1.3
08:00:06:93:AB:4B
Sinamics S120 CU320x2
172.31.1.4
08:00:06:9C:A3:5E
CPU 315
172.31.1.141 00:1B:1B:1B:5D:61
Robot KUKA
172.31.1.142
00:19:99:8D:C7:21
Switch Scalance
172.31.1.145
00:1B:1B:11:A7:67
Tabulka 4.3: IP a MAC adresy zaˇr´ızen´ı
67
4.4
Ovˇ eˇ ren´ı komunikace na Profinetu
V t´eto ˇc´asti byla zkoum´ana komunikace na Profinetu. Komunikace byla zachycena pomoc´ı programu wireshark. Pro zachycen´ı RT (real time) komunikace bylo vyuˇzito zrcadlen´ı portu na switchi scalance. Pro komunikaci IRT (isochronous real time) byl vyuˇzit n´astroj profitap. Po pˇripojen´ı zaˇr´ızen´ı na s´ıt’ Profinet probˇehne nejprve pˇrihl´aˇsen´ı zaˇr´ızen´ı na s´ıt’. Potom se pˇriˇrad´ı IP adresa dle jm´ena zaˇr´ızen´ı. V dalˇs´ım kroku je pak provedeno nahr´an´ı parametr˚ u do zaˇr´ızen´ı a zaˇcne prob´ıhat cyklick´a komunikace.
4.4.1
Komunikace RT mezi PLC a Simotionem D425
Po pˇripojen´ı zaˇr´ızen´ı bylo provedeno standardn´ı nav´az´an´ı spojen´ı a zaˇcala prob´ıhat cyklick´a v´ ymˇena dat. Cyklus v´ ymˇeny dat mezi PLC a Simotionem D425 byl nastaven na 2 ms. Z tabulky 4.5 je vidˇet, ˇze pos´ıl´an´ı cyklick´ ych hodnot je pˇribliˇznˇe po 2 ms, jak bylo nastaveno. Mal´a odchylka je zp˚ usobena neisochronn´ım charakterem komunikace RT a ne-realtimov´ ym chov´an´ım PC. Oznaˇcen´ı RTC1 a RTC2 oznaˇcuje data RT.
V tabulce 4.6 je vidˇet nav´az´an´ı komunikace mezi PLC a robotem, pot´e nahr´an´ı parametr˚ u, v tabulce 4.7 je uk´az´ana cyklick´a v´ ymˇena dat. Cyklus nastaven´ y pro v´ ymˇenu dat je 8 ms, v hardwarov´e konfiguraci nen´ı moˇzn´e nastavit pro robota rychlejˇs´ı v´ ymˇenu dat (v dokumentaci k Profinetu [16] od robota KUKA je to od˚ uvodnˇeno, ˇze pod 8 ms nemus´ı b´ yt komunikace spolehliv´a). V tabulce je vidˇet, ˇze data jsou vymˇen ˇov´ana po 8 ms. Tud´ıˇz bylo ovˇeˇreno, ˇze komunikace prob´ıh´a spr´avnˇe. ˇcas[s]
Tabulka 4.7: Cyklick´ a komunikace PLC - robot KUKA, protokol PNIO
70
4.4.3
IRT komunikace mezi Simotion a Sinamics
Mezi ˇr´ıdic´ım syst´emem Simotion D425 a Sinamics S120 CU 320 prob´ıh´a komunikace sloˇzen´a z PROFIDrive telegram˚ u, kter´e byly pops´any v pˇredchoz´ı ˇca´sti t´eto pr´ace. Podobnˇe jako u RT komunikace, tak i zde prob´ıh´a nav´az´an´ı komunikace. A po nav´az´an´ı komunikace se vymˇen ˇuj´ı cyklick´a data, cyklus v´ ymˇeny dat je nastaven na 1 ms. Uˇzivatelsk´a data, kter´a jsou pˇren´aˇsen´a v 1 cyklu maj´ı d´elku 59 byt˚ u, kromˇe pˇren´aˇsen´ ych dat v tom jsou jeˇstˇe zahrnut´e reˇzijn´ı byty nav´ıc (data jsou ve wiresharku oznaˇcena takto: User Data (including GAP and RTCPadding): 59 bytes). Konfigurace komunikace mezi Simotionem D425 a Sinamics S120 je uvedena v tabulce 4.8, je z n´ı vidˇet, ˇze se pˇren´as´ı 44 byt˚ u (22 word˚ u), coˇz znamen´a, ˇze v komunikaci je 15 byt˚ u nav´ıc pro reˇzii komunikace. Reˇzijn´ı byty maj´ı hodnotu 16#80. Data z jednoho cyklu komunikace od Simotion D425 do Sinamics S120 jsou v tabulce 4.9. Data pro ˇr´ızen´ y motor se nach´az´ı v komunikaci k objektu pohonu Drive modry“, ” konkr´etnˇe je to tˇechto 20 byt˚ u: 4 7f 0 0 55 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0“. Hodnota ” prvn´ıho wordu 4 7f“ je ˇr´ıdic´ı slovo, kter´e zap´ın´a motor a hodnota dalˇs´ıch dvou word˚ u je ” normovan´a poˇzadovan´a hodnota rychlosti 0 0 55 49“. Struktura PROFIdrive telegramu ” 105 byla vysvˇetlena v pˇredchoz´ı ˇca´sti pr´ace.
Zaˇr´ızen´ı
Poˇrad´ı
Typ telegramu
d´elka dat – ve wordech
Control Unit
1
SIEMENS telegram 390
2
Drive modry
2
SIEMENS telegram 105
10
VDrive modry
4
Free telegram configuration
10
Drive resolver
3
Free telegram configuration
0
Tabulka 4.8: Konfigurace cyklick´e komunikace mezi Simotion a Sinamics ze Simotion Scout, Control unit oznaˇcuje komunikaci k samotn´emu syst´emu Sinamics, ostatn´ı jsou objekty typu pohon.
71
80
80 80 80 80 80 80
94 0
0
0
80 80 80
4 7f
0
0
55 49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80 80 80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 80 80
0
0
Tabulka 4.9: 59 byt˚ u cyklick´e komunikace od Simotion do Sinamics, ˇr´ıdic´ı slovo STW1 pro motor m´a hodnotu 16x47F
4.5
Zhodnocen´ı kapitoly
V t´eto ˇc´asti byla provedena integrace vˇsech zaˇr´ızen´ı na jednu s´ıt’ Profinet. Byla prozkoum´ana komunikace mezi tˇemito zaˇr´ızen´ımi na Profinetu pomoc´ı n´astroje wireshark. Byly ovˇeˇreny doby cykl˚ u pro cyklickou komunikaci. Rovnˇeˇz byl prozkoum´an pˇren´aˇsen´ y telegram 105 z profilu PROFIdrive. Byl zde rovnˇeˇz pops´an postup spuˇstˇen´ı robota v automatick´em reˇzimu s extern´ım ˇr´ızen´ım pomoc´ı PLC.
72
Kapitola 5 ˇ ızen´ı polohovac´ıho syst´ R´ emu a robota Tato kapitola se zab´ yv´a spoluprac´ı robota KUKA a syst´emu Simotion, kter´ y by ˇsel vyuˇz´ıt pro ˇr´ızen´ı extern´ıch os nebo k samotn´emu ˇr´ızen´ı cel´eho robota. Nev´ yhodou pouˇzit´ı syst´emu Simotion pro ˇr´ızen´ı extern´ı osy robota je, ˇze komunikace ze strany robota nelze nastavit jako IRT (isochronn´ı), z toho vypl´ yv´a pˇr´ıpadn´a nepˇresnost pˇri ˇr´ızen´ı. Druhou variantou je moˇznost ˇr´ızen´ı cel´eho robota syst´emem Simotion. D´ıky tomu by se dalo integrovat v´ıce robot˚ u a extern´ıch os do jednoho ˇr´ıd´ıc´ıho syst´emu. Dalˇs´ı v´ yhodou by byla moˇznost pouˇzit´ı (testov´an´ı) algoritm˚ u pro generov´an´ı trajektorie robota. V dneˇsn´ı dobˇe prob´ıh´a v´ yzkum r˚ uzn´ ych algoritm˚ u pro ˇr´ıd´ıc´ı syst´emy v´ıceos´ ych syst´em˚ u, kde se klade d˚ uraz na menˇs´ı opotˇreben´ı mechanizm˚ u a na sn´ıˇzen´ı energetick´e n´aroˇcnosti.
5.1
Propojen´ı ˇ r´ıdic´ıho syst´ emu Simotion s robotem KUKA
Samostatn´ y ˇr´ıdic´ı syst´em Simotion byl otestov´an na pouˇzit´ı se dvˇema motory. Byly otestov´any r˚ uzn´e moˇznosti programov´an´ı v syst´emu Simotion a r˚ uzn´e zp˚ usoby synchronizace motor˚ u - napˇr. synchronn´ı pohyb, vaˇckov´ y pohyb. V syst´emu Simotion je moˇzno nakonfigurovat libovoln´ y pohon, tud´ıˇz i pohony, kter´e jsou instalovan´e na robota KUKA. ˇ ıd´ıc´ı syst´em robota m˚ R´ uˇze ovl´adat najednou 6 os robota a pˇr´ıpadnˇe jeˇstˇe 2 osy ex73
tern´ı. V pˇr´ıpadˇe nutnosti ˇr´ızen´ı v´ıce extern´ıch os neˇz 2 je nutn´e vyuˇz´ıt jin´ y ˇr´ıdic´ı syt´em pro tyto extern´ı osy. V tomto pˇr´ıpadˇe se nab´ız´ı moˇznost vyuˇzit´ı syst´emu Simotion, kter´ y by tyto extern´ı osy ovl´adal. V n´asleduj´ıc´ı ˇc´asti je rozebr´an postup, jak zprovoznit osu robota nebo extern´ı osu od firmy KUKA se syst´emem Simotion.
Vyuˇzit´ı syst´emu Simotion pro ˇr´ızen´ı osy robota bylo demonstrov´ano na vymontovan´e ose 1FK7034-5AZ91-1ZZ9-Z (oznaˇcen´ı firmy KUKA Artl.-Nr. 0000120420) z robota. Motor robota je ze stejn´e ˇrady motor˚ u 1FK7 od firmy Siemens, jako jsou motory v testovac´ı sadˇe Simotion. Technick´e parametry motoru je moˇzn´e naj´ıt v souboru 00-120-420-E0.xml v ˇr´ıdic´ım syst´emu robota ve sloˇzce /Config/System/Common/Motor. V dokumentaci motor˚ u 1FK7, kter´a je volnˇe dostupn´a, nelze dohledat parametry motor˚ u, kter´e jsou instalovan´e na robota KUKA. Jedn´a se o motor, kter´ y je vybaven enkod´erem typu resolver. Je to motor, kter´ y je u robota KRC 16-2 pouˇzit pro 4., 5. a 6. osu.
5.2.1
Pˇ ripojen´ı motoru k syst´ emu Simotion
Motor se pˇripoj´ı k nap´ajec´ımu modulu. Motor je vybaven elektromagnetickou brzdou, kterou je nutn´e tak´e pˇripojit (ovl´ad´a se napˇet´ım 24 V). Enk´od´er je nutn´e pˇripojit pˇres modul SMC 10, protoˇze motor nen´ı vybaven rozhran´ım Drive CLiQ. Pro pˇripojen´ı Enk´edoru k modulu je nutn´e m´ıt spr´avn´ y kabel, kter´ y m´a na stranˇe motoru kulat´ y konektor s 12 piny (detaily v dokumentaci motor˚ u 1FK7 [17] a v dokumentaci k modulu SMC 10 [18]). Protoˇze nebyl poˇzadovan´ y kabel k dispozici, propojen´ı motoru KUKA k syst´emu Simotion bylo vytvoˇreno provizorn´ımi kabely.
74
5.2.2
Konfigurace motoru KUKA v syst´ emu Simotion
Konfigurace motoru prob´ıh´a obdobnˇe jako je pops´ana pro standardn´ı motor v pˇredchoz´ım textu, ale je nutn´e zadat v´ıce u ´daj˚ u ruˇcnˇe, protoˇze tento konkr´etn´ı typ motoru nen´ı moˇzno zvolit v konfiguraci v prostˇred´ı Simotion Scout. ´ Udaje, potˇrebn´e ke konfiguraci motoru jsou uveden´e v tabulce 5.1: Motor je vybaven elektromagnetickou brzdou. Brzda se v prostˇred´ı Simotion nakonfityp motoru
synchronn´ı s permanentn´ımi magnety
p305
Nomin´aln´ı proud
1,6 A
p311
Nomin´aln´ı ot´aˇcky
4500 ot./min
p314
Poˇcet p´ol p´ar˚ u
3
p316
Konstanta momentu
0,8 Nm/A
p322
Maxim´aln´ı rychlost
10000 ot./min
p323
Maxim´aln´ı proud
8A
p338
Mezn´ı proud
8A
p341
Moment setrvaˇcnosti
9,8 ·10−5
p350 Odpor storov´eho vinut´ı p356
4,7 Ω
Indukce vinut´ı statoru
16,5 mH
Enkod´er
resolver
Tabulka 5.1: Technick´e u ´daje pro konfiguraci motoru v Simotion
guruje jako trvale otevˇren´a, m˚ uˇze se ovl´adat bud’ v´ ystupem, nebo pˇripojit pˇres vyp´ınaˇc na nap´ajen´ı 24V. Aby Simotion nevyhlaˇsoval chybu ovl´ad´an´ı brzdy, tak se m˚ uˇze nastavit parametr p1278 do 1 (znamen´a to, ˇze se nen´ı k dispozici sign´al s potvrzen´ım odbrˇzdˇen´ı). Enkod´er se nakonfiguruje jako resolver s poˇctem p´olov´ ych p´ar˚ u 3. U nastaven´ı enkod´eru je nutn´e dodrˇzet spr´avnˇe pomˇer parametr˚ u p314, p433 a p 432: (p314 · p433)/p432 mus´ı b´ yt cel´e ˇc´ıslo. Takto nakonfigrovan´ y motor funguje a lze s n´ım ot´aˇcet.
5.2.3
Synchronizace motoru ˇ r´ızen´ eho Simotionem a pohybu robota KUKA
Z robota KUKA se pos´ıl´a po Profinetu hodnota natoˇcen´ı osy A1, a podle toho se ot´aˇc´ı motor, kter´ y ˇr´ıd´ı syst´em Simotion. V´ ysledek je vidˇet na obr´azku 5.1. 75
Obr´ azek 5.1: Pr˚ ubˇeh natoˇcen´ı osy robota a motoru, kter´ y je ˇr´ızen na stejnou pozici
5.2.3.1
Konfigurace a form´ at re´ aln´ ych ˇ c´ısel v komunikaci robot - PLC
´ Uhel natoˇcen´ı osy nebo souˇradnice v kart´ezsk´em souˇradn´em syst´emu robota jsou re´aln´a ˇc´ısla. V pˇredchoz´ım textu 3.3.2 a 3.3.2.1 byl uk´az´an pˇrenos jednotliv´ ych bit˚ u, kter´ y se konfiguroval bez probl´em˚ u. Zde je ovˇsem nutn´e si d´at vˇetˇs´ı pozor na konfiguraci a pˇrenos tˇechto ˇc´ısel. V robotu lze vyuˇz´ıt seskupen´ı jednotliv´ ych vstup˚ u nebo v´ ystup˚ u do jedn´e promˇenn´e a t´ım lze pˇren´aˇset ˇc´ıslo mezi robotem a PLC. Toto m´a omezen´ı v tom, ˇze lze pˇren´aˇset jen cel´e ˇc´ıslo (Integer). Pro jednoduchost tedy bude staˇcit vyn´asobit desetinn´e ˇc´ıslo tak, aby byla zachov´ana dostateˇcn´a pˇresnost. V robotovi staˇc´ı nadefinovat propojen´ı patˇriˇcn´eho poˇctu bit˚ u (vstup˚ u nebo v´ ystup˚ u) do jednoho sign´alu, v tomto konkr´etn´ım pˇr´ıpadˇe se jedn´a o 32 bit˚ u. Pˇr´ıklad seskupen´ı vstup˚ u do jednoho sign´alu (v souboru CONFIG.dat): SIGNAL so_poloha $out[197]
TO $out[228] //32 v´ ystup˚ u
V PLC se bude toto ˇc´ıslo vyˇc´ıtat jako double word z patˇriˇcn´e adresy. Z d˚ uvodu jin´eho poˇrad´ı byt˚ u ve wordech a double wordech (robot KUKA pouˇz´ıv´a form´at Intel a Siemens pouˇz´ıv´a form´at Motorola), tak je nutn´e otoˇcit poˇrad´ı jednotliv´ ych byt˚ u v double wordu. 76
Toto prohozen´ı bylo realizov´ano v programu PLC. Aby se aktualizovala pos´ılan´a hodnota z robota dostateˇcnˇe ˇcasto, tak je dobr´e toto pos´ıl´an´ı realizovat v submit interpreter (je vysvˇetlen v pˇredchoz´ı ˇc´asti textu 3.5.10): so_poloha = $axis_act.a1*100
Syst´em robota m´a vyvinut´ y kompletn´ı syst´em pro ˇr´ızen´ı robota, je moˇzn´e lehce naprogramovat pohyb robota pˇres dotykov´ y SmartPad. Programov´an´ı syst´emu Simotion prob´ıh´a v projektu, kter´ y je pak nahr´an do ˇr´ıdic´ıho syst´emu. Jsou k dispozici klasick´e jazyky LAD nebo FBD zn´am´e z PLC, ale tak´e jazyk podobn´ y Pascalu (v Simotionu oznaˇcen jako ST - Structured Text) nebo speci´aln´ı grafick´ y jazyk nazvan´ y MCC chart. I v syst´emu Simotion lze ovl´adat mechanizmy podobn´e robot˚ um, dokonce jsou v knihovnˇe path objekt˚ u k dispozici 3-os´e syst´emy, mezi kter´ ymi je robotick´ y syst´em SCARA nebo 3-os´e robotick´e rameno. 6-ti os´ y robot vˇsak zat´ım v syst´emu pˇripraven nen´ı. Syst´em Simotion m´a velkou v´ yhodu v˚ uˇci syst´emu robota, ˇze lze ovl´adat v´ıce os. A pro synchronizaci a dalˇs´ı pouˇzit´ı lze rovnˇeˇz vytv´aˇret osy virtu´aln´ı, kter´e nejsou nav´azan´e na skuteˇcn´ y motor. Oba dva syst´emy lze ovl´adat v´ıce zp˚ usoby, pˇriˇcemˇz syst´em robota KUKA je v´ıce zamˇeˇren na pˇrehlednost a jednoduchost programov´an´ı pro koncov´e uˇzivatele jednoduch´ ym zad´av´an´ım bod˚ u trajektorie robota. Syst´em Simotion je na konfiguraci na prvn´ı pohled troˇsku sloˇzitˇejˇs´ı, ale nab´ız´ı vˇetˇs´ı flexibilitu pro program´atora. Je to syst´em velmi komplexn´ı a lze vyuˇz´ıt pro ˇr´ızen´ı r˚ uzn´ ych a rozs´ahl´ ych syst´em˚ u. Obsahuje ˇradu automaticky moˇzn´ ych nastaven´ı, kter´a um´ı prov´est s´am za uˇzivatele, ovˇsem v nˇekter´ ych velmi speci´aln´ıch konfigurac´ıch to pˇrin´aˇs´ı probl´emy, kdy je nutn´e obch´azet tato automatick´a nastaven´ı, coˇz se objevilo i v konfiguraci motoru od robota nebo i v uzavˇren´ı a vytvoˇren´ı vlastn´ı polohov´e smyˇcky. Spolupr´ace obou syst´em˚ u je moˇzn´a d´ıky propojen´ı komunikace po Profinetu. V komunikaci je moˇzn´e pˇren´aˇset poˇzadovanou polohu, rychlost nebo jen bitov´ y sign´al a podle toho ovl´adat druh´ y syst´em.
77
5.3.1
Podm´ıky pro ˇ r´ızen´ı cel´ eho robota pomoc´ı Simotion
Podaˇrilo se ˇr´ıdit vymontovan´ y motor z robota KUKA, pokud by bylo moˇzn´e pˇripojit na Simotion vˇsechny motory robota, tak by se dal robot ˇr´ıd´ıt pomoc´ı tohoto syst´emu. Nejprve by bylo nutn´e zajistit moduly na vyˇc´ıt´an´ı pozice z resolveru kaˇzd´eho motoru robota. A bylo by nutn´e m´ıt dostatek nap´ajec´ıch modul˚ u pro motory. V sestavˇe, kter´a byla k dispozici, byl pouze jeden nap´ajec´ı double motor modul, tud´ıˇz by ˇslo nap´ajet maxim´alnˇe dva motory. K dispozici byl ale pouze jeden modul SMC 10 na vyˇc´ıt´an´ı resolveru (nebyl vˇsak souˇc´ast´ı p˚ uvodn´ı sestavy Simotion). V dalˇs´ım kroku by bylo nutn´e pˇripravit kabely (pˇr´ıpadnˇe redukce) na pˇripojen´ı nap´ajen´ı motor˚ u a na pˇripojen´ı enkod´er˚ u. Protoˇze byl testov´an motor, kter´ y byl z robota vymontov´an, tak situace byla lehˇc´ı, protoˇze staˇcilo otestovat ot´aˇcen´ı motoru a vyˇc´ıt´an´ı enkod´eru. Kdyby se pˇripojoval motor, kter´ y je namontov´an na robota, bylo by nutn´e oˇsetˇrit krajn´ı pozice, zajistit, aby se motor neot´aˇcel pˇres krajn´ı polohu, aby nedoˇslo k poruˇse mechaniky robota. Pro spr´avn´e nastaven´ı a zprovoznˇen´ı robota v Simotion by bylo nutn´e zn´at mechaniku robota, pˇredevˇs´ım pˇrevodov´ y pomˇer pro osy.
5.3.2
Perspektiva realizace ˇ r´ızen´ı robota KUKA syst´ emem Simotion
Velmi zaj´ımav´a je moˇznost realizovat ˇr´ızen´ı cel´eho robota pomoc´ı syst´emu Simotion. Bylo by moˇzn´e ovl´adat robota jin´ ym zp˚ usobem, neˇz je bˇeˇzn´e. Dalo by se to vyuˇz´ıt pro testov´an´ı algoritm˚ u, kter´e vypoˇc´ıt´avaj´ı trajektorii robota. V tomto smˇeru by u ´spˇech dost z´aleˇzel na moˇznosti se l´epe sezn´amit s konstrukc´ı kinematiky robota, aby bylo moˇzn´e spr´avnˇe tuto kinematiku nakonfigurovat v syst´emu Simotion, aby nedoˇslo k ˇz´adn´emu poˇskozen´ı robota. I druh´a moˇznost, kdy robot je ˇr´ızen standardnˇe ˇr´ıdic´ım syst´emem robota a jsou k nˇemu pˇrid´any extern´ı osy, kter´e vˇsak jsou jiˇz ˇr´ızeny Simotionem, je zaj´ımav´a. D´av´a to moˇznost ˇr´ıdit v´ıce neˇz 2 extern´ı osy, coˇz b´ yv´a probl´em v re´aln´ ych aplikac´ıch, protoˇze nelze realizovat, aby ˇr´ıdic´ı syst´em robota KR C4 ˇr´ıdil v´ıce neˇz dvˇe extern´ı osy.
78
5.4
Zhodnocen´ı kapitoly
V t´eto kapitole se povedlo ˇr´ıdit vymontovan´ y motor z robota KUKA, d´ıky ˇcemuˇz by bylo moˇzn´e podobn´ ym postupem pˇripojit cel´eho robota na syst´em Simotion a ˇr´ıdit takto robota. K tomu by vˇsak bylo nutn´e z´ıskat v´ıce informac´ı o mechanice robota, aby nemohlo doj´ıt k jej´ımu poˇskozen´ı. K realizaci ˇr´ızen´ı robota pomoc´ı Simotion by bylo nutn´e zajistit dostatek komponent tohoto syst´emu a pˇripravit si speci´aln´ı kabelov´e veden´ı, d´ıky kter´emu by se mohl robot napojit na tento syst´em. Jin´ y pˇr´ınos t´eto pr´ace je v tom, ˇze lze vyuˇz´ıt syst´em Simotion k ˇr´ızen´ı extern´ıch os robota. Samotn´ y ˇr´ıdic´ı syst´em robota by mohl ˇr´ıdit v praxi maxim´alnˇe dvˇe extern´ı osy, ale s vyuˇzit´ım syst´emu Simotion ˇr´ıdit daleko vˇetˇs´ı poˇcet os (d´ıky modularitˇe syst´emu je moˇzn´e ˇr´ıdit velk´ y poˇcet os - z´aleˇz´ı to pouze na poˇctu komponent syst´emu Simotion a Sinamics).
79
Kapitola 6 Z´ avˇ er Diplomov´a pr´ace se zab´ yv´a syst´emy polohov´eho ˇr´ızen´ı, jejich ˇr´ızen´ım, konfigurac´ı a integrac´ı na s´ıt’ Profinet. Prvn´ı ˇca´st pr´ace byla zamˇeˇrena na syst´em polohov´eho ˇr´ızen´ı Simotion od firmy Siemens. Tento syst´em byl zprovoznˇen v testovac´ım sestaven´ı, kter´e se skl´adalo z ˇr´ıdic´ıho syst´emu Simotion a dvou motor˚ u. Po otestov´an´ı standardn´ıho postupu ˇr´ızen´ı motor˚ u, bylo pˇristoupeno k vytvoˇren´ı vlastn´ıho regul´atoru polohy, kter´ y se uzav´ır´a po s´ıti Profinet pˇres syst´em Simotion. Tento postup byl detailnˇe rozebr´an, protoˇze se jedn´a o zcela jin´ y zp˚ usob, neˇz vyuˇz´ıvaj´ı uˇzivatel´e tohoto syst´emu bˇeˇznˇe. Bylo ovˇeˇreno, ˇze tato cesta je moˇzn´a. T´ımto zp˚ usobem se pˇrid´av´a program´atorovi syst´emu moˇznost, aby si mohl nastavit sv˚ uj vlastn´ı regul´ator polohy a generovat si poˇzadovan´ y pr˚ ubˇeh pohybu dle sv´e potˇreby. Syst´em Simotion i bez tohoto inovativn´ıho zp˚ usobu toto umoˇzn ˇuje, ale je nutn´e dodrˇzet postup, kter´ y je v Simotionu pro toto pˇripraven. Takto si vˇsak uˇzivatel (program´ator) m˚ uˇze postup v´ıce pˇrizp˚ usobit sv´ ym potˇreb´am. Umoˇzn ˇuje to mˇenit parametry regul´atoru za bˇehu. Pro motor 1FK7 byl vytvoˇren matematick´ y model, kter´ y byl ovˇeˇren na namˇeˇren´ ych pr˚ ubˇez´ıch. Druh´a ˇca´st pr´ace se vˇenovala konfiguraci robota KUKA KR 16-2. Jedn´a se o robot se ˇsesti osami. V pr´aci byly ovˇeˇreny a pops´any zp˚ usoby programovan´ı tohoto robotu s ˇr´ıdic´ım ˇ ast pr´ace byla vˇenov´ana pˇripojen´ı vstupnˇe-v´ syst´emem KR C4. C´ ystupn´ıch modul˚ u, kter´e se mohou s robotem vyuˇz´ıvat. V t´eto konfiguraci ˇcasto doch´az´ı k probl´em˚ um, protoˇze kaˇzd´ y modul se konfiguruje trochu jinak a b´ yvaj´ı s t´ım probl´emy (probl´emy se uk´azaly ˇcasto v konfiguraˇcn´ıch souborech zaˇr´ızen´ı). Pro robota byly naprogramov´any testovac´ı u ´lohy, ve kter´ ych byly vyzkouˇseny jeho schopnosti, pˇredevˇs´ım s ohledem na dynamiku a moˇzn´e rychlosti a zrychlen´ı pohybu. V r´amci jedn´e u ´lohy si robot napˇr´ıklad pohazoval s tenisov´ ym m´ıˇckem. 80
Robot KUKA a ˇr´ıdic´ı syst´em Simotion byly integrov´any na jednu s´ıt’ Profinet. Integrace byla provedena s PLC CPU315, kter´e pˇredstavovalo nadˇrazen´ y ˇr´ıdic´ı syst´em pro tato dvˇe zaˇr´ızen´ı. Tento zp˚ usob integrace byl zvolen i z toho d˚ uvodu, ˇze robot a syst´em Simotion pˇredstavuj´ı dvˇe samostatn´a zaˇr´ızen´ı, kter´a mohou b´ yt souˇca´st´ı v´ yrobn´ı linky, kter´a je ˇr´ızena pomoc´ı nadˇrazen´eho syst´emu, kter´ y b´ yv´a realizov´an pomoc´ı PLC. CPU 315 je bˇeˇzn´e PLC, nejedn´a se o speci´aln´ı bezpeˇcnostn´ı PLC, konfiguraˇcn´ı soubor gsdml pro robota je v dispozici pouze ve verzi, kter´a je urˇcena pro bezpeˇcnostn´ı PLC (z d˚ uvodu moˇznosti vyuˇzit´ı reˇzimu profisafe), tud´ıˇz bylo nutn´e si tento konfiguraˇcn´ı soubor upravit, aby bylo moˇzn´e pouˇz´ıt toto PLC. Stejn´ y probl´em ˇreˇs´ı i program´atoˇri v praxi, kdy ˇ sen´ım je bud’ obstar´an´ı jin´eho PLC (bezpeˇcnostn´ıho), oˇzivuj´ı robota na v´ yrobn´ı lince. Reˇ nebo pouˇzit´ı upraven´eho konfiguraˇcn´ıho souboru, jako byl pouˇzit zde. Z bezpeˇcnostn´ıch d˚ uvod˚ u byl robot um´ıstˇen v buˇ nce, kter´a byla ohraniˇcena plotem s uzamykateln´ ymi dveˇrmi. Robot tud´ıˇz mohl b´ yt provozov´an s kompletn´ı bezpeˇcnost´ı. V posledn´ı ˇc´asti pr´ace byla otestov´ana moˇznost ˇr´ızen´ı pohonu robotu syst´emem Simotion. Jednalo se o jeden motor, kter´ y byl vymontov´an z robotu. Vymontovan´ y motor byl v´ yhodou, protoˇze nemohlo nastat poˇskozen´ı mechaniky robota. Tato moˇznost uk´azala, ˇze by bylo moˇzn´e pˇripojit robota k ˇr´ıdic´ımu syst´emu Simotion. Ovˇsem bylo by nutn´e se bl´ıˇze sezn´amit s mechanick´ ym ˇreˇsen´ı firmy KUKA, aby se spr´avnˇe mohly nastavit mezn´ı polohy a hlavnˇe pˇrevodov´e pomˇery os. Toto by bylo nutn´e konzultovat s konstrukt´ery robot˚ u. V pr´aci se povedlo realizovat vˇsechny zadan´e u ´koly, byl vytvoˇren model motoru, uzavˇrena polohov´a smyˇcka v ˇr´ıdic´ım syst´emu Simotion po s´ıti Profinet a byla provedena integrace vˇsech zaˇr´ızen´ı a jejich spolupr´ace na s´ıti Profinet.
81
Literatura [1] KUKA Roboter GmbH, ROBOT (V)KR 6; (V)KR 16; ...-2, Technick´a data, Mechanika robota, 2009. [2] KUKA Roboter GmbH, Controller KR C4 s rozhran´ım X11, mont´aˇzn´ı n´avod, 2011. [3] Siemens, Simotion D4x5, Commissioning and Hardware Installation Manual, 2010. ˇ e vysok´e uˇcen´ı technick´e v Praze. Fakulta elek[4] J. Pavelka, Elektrick´e pohony. Cesk´ ˇ trotechnick´a: Nakladatelstv´ı CVUT, 2007. [5] P. Fajkus, P.; Hut´ak, “Model of field oriented control for permanent magnet synchronous motor,” in LVEM 2011 Proceeding, pp. 53–56, Brno University of Technology, Czech Republic, 2011. [6] P. Fajkus, Matematick´y model synchronn´ıho motoru s permanentn´ımi magnety. 2011. Diplomov´a pr´ace. [7] PI International, Profile Drive Technology PROFIdrive, Technical Specification for PROFIBUS and Profinet, 2006. [8] Siemens, SINAMICS S120/S150, List Manual, 2011. [9] KUKA Roboter GmbH, KUKA System Technology KUKA.SafeOperation 3.0, For KUKA System Software 8.1, Assembly and Operating Instrunctions, 2010. [10] KUKA Roboter GmbH, Controller KR C4 NA Specification, 2011. [11] KUKA Roboter GmbH, Training Programov´an´ı robota 1, VW System Software 8.x, Podklady ke ˇskolen´ı KUKA Roboter GmBH, 2011. [12] KUKA Roboter GmbH, KUKA System Software 5.5, N´avod k obsluze a programov´ an´ı pro koneˇcn´e uˇzivatele, 2011. 82
[13] KUKA Roboter GmbH, Expert Documentation, Programming Messages, For KUKA System Software 5.5. and 5.6, 2009. [14] KUKA Roboter GmbH, KR C2 / C3 Configuration, KUKA System Software (KSS) Release 5.2, 2009. [15] Siemens, Simotion Scout Communication, System Manual, 2010. [16] KUKA Roboter GmbH, FBT Profinet KR C4 V1.2, 2011. [17] Siemens, 1FK7 Synchronous Motors, Configuration Manual, 2005. [18] Siemens, Sinamics S120 Control Units and additional system components, Manual, 2009.
83
Pˇ r´ıloha A Konfigurace komunikace robota s nadˇ razen´ ym syst´ em A.1
Uk´ azka konfigurace komunikace robota a PLC
Na obr´azc´ıch jsou vidˇet adresy vˇsech sign´al˚ u i konfigurace pˇrenosu ˇc´ısla programu ve WorkVisual.
Obr´ azek A.1: Konfigurace komunikace s PLC - vstupy od PLC
I
Obr´ azek A.2: Konfigurace komunikace s PLC - v´ ystupy pro PLC
Obr´ azek A.3: Konfigurace komunikace s PLC - v´ ystupy pro PLC
Obr´ azek A.5: Konfigurace komunikace s PLC - v´ ystupy pro PLC
II
Obr´ azek A.4: Konfigurace komunikace s PLC - v´ ystupy pro PLC
A.2
Zaznamen´ av´ an´ı pr˚ ubˇ eh˚ u v Simotion
V prostˇred´ı Simotion Scout lze zaznamen´avat pr˚ ubˇehy veliˇcin ze Sinamics i ze Simotion. Napˇr´ıklad ze Sinamics lze zaznamenat pr˚ ubˇehy ot´aˇcek, napˇet´ı, proud˚ u, momentu,... Ze Simotion lze zaznamenat polohu, rychlost osy (nebo enkod´eru),... Pro mˇeˇren´ı se nejprve vybere z´aloˇzka s n´astrojem trace. D´ale se vybere zaˇr´ızen´ı - na obr´azku A.6 je to Sinamics S120. D´ale se navol´ı jednotliv´e zaznamen´avan´e veliˇciny (maxim´alnˇe 8 veliˇcin lze navolit v z´akladn´ım n´astroji trace), na obr´azku A.6 jsou vybran´e veliˇciny rychlost, napˇet´ı, proudy a moment. Tyto veliˇciny jsou zaznamen´avan´e na pohonu, kter´ y je oznaˇcen Drive resolver“. ” D´ale lze nastavit dobu z´aznamu, na obr´azku je nastavena na nekonˇcnou dobu. Na obr´azku A.7 se budou zaznamen´avat sign´aly na zaˇr´ızen´ı D425, kde se nach´az´ı objekt extern´ıho enkod´eru.
Z konfiguraˇcn´ıho souboru GSDML robota KUKA byly odebr´any bezpeˇcnostn´ı vstupy a v´ ystupy a nahrazeny vstupy a v´ ystupy obyˇcejn´ ymi. P˚ uvodn´ı i upraven´ y GSDML soubor se nach´az´ı na pˇriloˇzen´em CD ve sloˇzce gsdml-robot“. ” P˚ uvodn´ı ˇca´st GSDML souboru robota: <ModuleItem ID="1" ModuleIdentNumber="0x0000008F"> <ModuleInfo>
...
V
Editovan´a ˇc´ast GSDML souboru, bezpeˇcnostn´ı vstupy FDI8“ a v´ ystupy FDO8“ byly ” ” nahrazeny norm´aln´ımi vstupy DI8“ a v´ ystupy DO8“. Dalˇs´ı nastaven´ı bezpeˇcnostn´ıch ” ” vstup˚ u a v´ ystup˚ u v GSDML souboru bylo smaz´ano. DI8“, FDI8“, DO8“ a FDO8“ je ” ” ” ” pouze textov´ y popis pro hardwarovou konfiguraci. Hlavn´ı je odstranit informace o tom, ˇze se jedn´a o bezpeˇcnostn´ı vstupy a v´ ystupy. P˚ uvodnˇe robot mˇel 8 byt˚ u bezpeˇcnostn´ıch vstup˚ u a v´ ystup˚ u, kter´e ale v hardwarov´e konfiguraci zab´ıraly 12 byt˚ u. Proto je nutn´e kv˚ uli konzistenci komunikace nahradit bezpeˇcnostn´ı vstupy a v´ ystupy 12 byty norm´aln´ıch vstup˚ u a v´ ystup˚ u. <ModuleItem ID="1" ModuleIdentNumber="0x0000008F"> <ModuleInfo> ... VI
Pˇ r´ıloha B Obsah pˇ riloˇ zen´ eho CD K t´eto pr´aci je pˇriloˇzeno CD, na kter´em jsou uloˇzeny zdrojov´e k´ody a ˇca´sti dokumentace k zaˇr´ızen´ım. Projekt ve Step 7 pro PLC CPU315:
/projekt-Simatic/
Projekt v Simotion Scout pro D425 a D435:
/projekt-Simotion/
Projekt ve WorkVisual:
/projekt-WorkVisual/
Literatura:
/literatura/
Model motoru:
/model-motoru/
Namˇeˇren´e pr˚ ubˇehy ze Simotionu
/namerene-prubehy-Simotion/
Programy robota
/programy-robota/
GSDML soubory robota
/gsdml-robot/
Popis pr´ace se syst´emem Simotion
detailni-konfigurace-simotion.pdf
Ve sloˇzce /programy-robota/ se nach´az´ı uk´azkov´e programy pro robota KUKA. Struktura sloˇzek je pˇrevzat´a z ˇr´ıd´ıc´ıho syst´emu robota. Sloˇzka R1 obsahuje jednotliv´e programy. Sloˇzka STEU obsahuje konfiguraˇcn´ı soubory. Programem ”odvezkostku.src”robot sesb´ır´a kostky podle zadan´ ych pozic na stole a poskl´ad´a je na okraj stolu. V souborech ”dialogy.src”, ”vyberzadani.src”jsou implementovan´e uk´azkov´e dialogy (jsou vol´any z modulu ”odvezkostku.src”). Soubor ”sps vfce.sub”je ˇc´ast submit interpreteru, kter´a pos´ıl´a referenˇcn´ı pozici do PLC. Soubor ”sps.sub”je submit interpreter. Modul ”tenisak.src”obsahuje demonstraˇcn´ı u ´lohu h´azen´ı m´ıˇckem. Funkce ”chapadlo.src”otev´ır´a a zav´ır´a chapadlo robota. Funkce ”set rychlost.src”nastav´ı pomalou nebo rychlou rychlost pro pohyb LIN. VII
Soubor ”cell.src”je program typu cell pro automatick´ y reˇzim s nadˇrazen´ ym syst´emem, kter´ y dle pos´ılan´eho ˇc´ısla programu vol´ı a vykon´av´a programy. Soubor $conf ig.dat obsahuje deklaraci promˇenn´ ych a sign´al˚ u.