• Rezultati Niso Bili Najdeni

Avtomatizacija varjenja z varilnim aparatom TIG

N/A
N/A
Protected

Academic year: 2022

Share "Avtomatizacija varjenja z varilnim aparatom TIG"

Copied!
87
0
0

Celotno besedilo

(1)

Univerza v Ljubljani Fakulteta za elektrotehniko

Žiga Javornik

Avtomatizacija varjenja z varilnim aparatom TIG

Diplomsko delo

Visokošolski strokovni študijski program prve stopnje Aplikativna elektrotehnika

Mentor : izr. prof. dr. Matej Možek

Ljubljana, 2022

(2)
(3)

Zahvala

Rad bi se zahvalil mentorju na Fakulteti za elektrotehniko, izr. prof. Mateju Možeku za pomoč pri izdelavi diplomskega dela.

Prav tako se zahvaljujem sodelavcu Matevžu Luinu, s katerim sva skupaj sodelovala pri izdelavi naprave, izbiri komponent, sledenju zahtevam, …

Prav tako se zahvaljujem družini za podporo tekom študija.

(4)
(5)

Povzetek

V diplomskem delu je predstavljen postopek avtomatizacije varjenja po postopku TIG. Avtomatizacija je bila izvedena z uporabo Beckhoff krmilnika in spremljajočih komponent. Naprava realizira čim enostavnejše varjenje dveh komponent. Med obema komponentama je stičišče, po katerem bo potekal zvar. V nalogi je predstavljena in izvedena vertikalna regulacija višine varilne konice z meritvijo napetosti obloka, s čimer posredno dosežemo tudi regulacijo temperature.

Na začetku naloge je opisan koncept, cilj in način delovanja naprave. Predstavljena je blokovna shema za lažjo predstavo sistema. Opisane so uporabljene periferne enote, pogonska tehnika in motorji.

Predstavljeno je podjetje Beckhoff, katerega komponente so uporabljene na napravi, ter EtherCAT protokol, ki so ga razvili in patentirali. Programiranje je potekalo v okolju Visual Studio 2017 z integriranim orodjem Beckhoff TwinCAT3. Prikazan je proces od zasnove avtomatov stanj do pisanja kode v standardiziranem jeziku Structured Text, definiranje in vzpostavljanje funkcijskih blokov, metod. Za vsak del naprave je narejen funkcijski blok z algoritmom. Pred opisom programske kode je predstavljena ideja z izpostavljenimi izseki programske kode. Kot uporabniški vmesnik smo uporabili vmesnik človek-stroj (ang. human machine interface, HMI), ki smo ga programirali z uporabo integriranega programskega orodja TwinCAT 3 HMI (prav tako v okolju Visual Studio 2017). Uporabnik lahko spreminja nastavitve, spremlja trenutni korak delovnega cikla, upravlja z recepti, … Poleg HMI enote ima naprava tudi ročno konzolo za ročni nadzor med procesom varjenja.

Naprava je bila zgrajena, povezana in zagnana do te mere, da uporabnik samo nastavi parametre na HMI enoti glede na potrebe procesa. Z izdelano napravo smo uspešno izvedli testno varjenje. Naprava ima veliko premikajočih delov, zato je bilo večkrat preverjeno varnostno delovanje naprave in izklop v sili. V prihodnosti je cilj dodelava in integracija strojnega vida za horizontalno sledenje varilnemu centru.

Ključne besede : TIG, avtomatizacija, regulacija napetosti, TwinCAT 3, HMI

(6)
(7)

Abstract

Presented thesis describes the design and implementation of TIG welding automation process. Control logic was realized using Beckhoff PLC with accompanying elements. Principal intention of the design is to simplify welding process of two components. Welding is done is the area where the two different objects are in contact. Vertical regulation of the welding source was realized with measurement of voltage on the electrode. By maintaining constant voltage, passively constant temperature is also maintained.

The thesis begins with concept and final goal presentation. System layout was shown in a block diagram with all the component groups described. Each used group is then described in detail, further elaborating used components, motor drives and the motors. A brief description of Beckhoff company was given, and the EtherCAT communication protocol that is used as their standard. Programing was done in Visual Studio 2017 using Beckhoff integrated tool TwinCAT 3. Entire programming process is shown from initial ideas to creation of state diagrams, which further lead to PLC coding in standardized programming language Structured Text. Each machine part is represented with a corresponding function block that describes the algorithm in detail. Before presenting the actual code, the aim of described function block in given. User interaction was done using a HMI (human-machine interface) device. HMI programming was done in TwinCAT 3 HMI, which is also integrated to Visual Studio 2017.

HMI was used as user interface for setting of different parameters, presentation of current machine working cycle state, management of recipes etc. There is also a remote console which is used to control the machine when welding is in progress.

The machine was designed, implemented and started. It is now up to the user to set proper parameters with the help of HMI. Initial test welds were performed successfully – machine still needs some fine tuning of parameters. Because there is a lot of moving parts, the machine safety features, and emergency stop were tested thoroughly. Future plans are to add horizontal regulation of the electrode with the use of computer vision.

Key words: TIG, automation, voltage regulation, TwinCAT 3, HMI

(8)
(9)

Kazalo

1. Uvod ... 1

2. Varjenje po tehnologiji TIG... 2

3. Varilni avtomat ... 3

3.1. Kontrolni računalnik ... 5

3.2. Vhodno izhodne enote ... 7

3.2.1. Digitalni vhodni modul ... 7

3.2.2. Digitalni izhodni modul... 8

3.2.3. Analogni vhodni modul za merjenje upornosti... 9

3.2.4. Pogonska tehnika za koračne motorje ... 10

3.2.5. Pogonska tehnika za servomotorje ... 11

3.2.6. Frekvenčni pretvornik ... 13

4. Tehnologija za nadzor varilnika ... 13

4.1. O podjetju Beckhoff ... 13

4.2. EtherCAT – Ethernet v realnem času ... 13

4.2.1. EtherCAT protokol ... 14

4.3. TwinCAT3... 16

4.3.1. PLC ... 16

4.3.1.1. Časovne nastavitve opravila ... 16

4.3.1.2. Programski del PLC ... 19

5. Blokovna shema sistema ... 23

6. Programiranje krmilnika... 24

6.1. Avtomat stanj ... 24

6.2. Funkcijski bloki ... 29

6.2.1. Nadzor motorjev ... 31

6.2.1.1. Nadzor motorjev – vhodne spremenljivke ... 33

6.2.1.2. Nadzor motorjev – izhodne spremenljivke ... 35

6.2.1.3. Nadzor motorjev – kazalci (Axis_Ref) ... 36

6.2.2. Nadzor varilnika ... 37

6.2.2.1. Vhodni parametri (podatki iz varilnika v program) ... 37

6.2.2.2. Izhodni parametri (podatki iz programa v varilnik) ... 38

6.2.2.3. Inicializacija varilnika ... 39

6.2.2.4. Pretvorba podatkov varilnika ... 42

6.2.3. Proporcionalni regulator ... 42

6.2.4. Nadzor receptov... 43

6.2.5. Nadzor kamere – strojni vid... 46

(10)

6.2.6. Nadzor varilne glave ... 50

6.2.7. Nadzor delovne sekvence ... 55

7. HMI ... 61

7.1. Domača stran... 61

7.2. Zaslon za varilno glavo ... 62

7.3. Nastavitve ... 65

7.4. Kamera ... 69

8. Zaključek... 70

9. Viri in literatura... 71

(11)

Seznam slik

Slika 2.1: TIG gorilnik med procesom varjenja. ... 2

Slika 3.1: Shema sistema za avtomatsko varjenje. ... 3

Slika 3.2 : Kontrolna enota za varjenje, Fronius magic Wave. ... 4

Slika 3.3 : Podajalnik dodatnega materiala. ... 4

Slika 3.4 : Asinhronski motor z reduktorjem za rotiranje varjenega objekta... 4

Slika 3.5: Elektroda na varjenem objektu, testno varjenje ... 5

Slika 3.1.1: Dotični panel za nadzor naprave ... 5

Slika 3.1.2: Vmesniki - DVI, USB, LAN, napajanje in ozemljitev ... 6

Slika 3.2.1.1: Digitalni vhodni modul EL1008 ... 7

Slika 3.2.1.2: Logični nivo glede na izmerjeno napetost na vhodu digitalnega modula ... 8

Slika 3.2.2.1: Digitalni izhodni modul EL2008. ... 8

Slika 3.2.3.1: Analogni modul za merjenje upornosti 100 mΩ...10 MΩ. ... 9

Slika 3.2.4.1: Odvisnost navora od hitrosti motorja. ... 10

Slika 3.2.4.2: Povezava tuljav koračnega motorja do modula. ... 10

Slika 3.2.4.3: Beckhoff koračni motor. ... 11

Slika 3.2.5.1: Vezava servomotorja na modul EL7211-0010. ... 11

Slika 3.2.5.2: Povezava motorja in enkoderja no modul za nadzor servomotorja z uporabo priklopnega kabla OCT. ... 12

Slika 3.2.5.3: Uporabljen servomotor in reduktor... 12

Slika 4.2.1: Primer topologije za varilni avtomat... 14

Slika 4.2.1.1: Primer izmenjave podatkov neke EtherCAT naprave v topologiji ... 14

Slika 4.2.1.2: Struktura podatkovnega okvira Ethernet, definiranega v standardu IEEE 802.3 ... 14

Slika 4.2.1.3: EtherCAT telegram, ki gre do modula za koračni motor, bi imel v tem primeru indeks 8012, podindeks pa 08. Podatek definira tip povratne informacije, v tem primeru interni števec. .... 15

Slika 4.2.1.4: Primer zakasnitve prenosa podatkov med posameznimi enotami... 15

Slika 4.3.1: Izgled projekta in uporabljene komponente orodja TwinCAT3... 16

Slika 4.3.1.1.1: Nastavitve izvajanja PLC kode... 17

Slika 4.3.1.1.2: Prioritete različnih opravil. ... 18

Slika 4.3.1.2.1: Drevesna struktura PLC v TwinCAT3. ... 19

Slika 4.3.1.2.2: Uporabljene knjižnice. ... 19

Slika 4.3.1.2.3 : Struktura za točko s komponento x in y. ... 20

Slika 4.3.1.2.4: Objekti, v katerih se nahaja programska koda. ... 22

Slika 4.3.1.2.5: Izbira tipa objekta. ... 22

Slika 4.3.1.2.6: Programski jeziki, ki so na voljo za izdelavo programske kode objekta. ... 23

Slika 5.1: Podrobnejša shema sistema. Kontrolna omara je označena s sivo površino... 23

Slika 6.1.1: Stanja naprave. ... 24

Slika 6.1.2: Prikaz skaliranja hitrosti glede na položaj potenciometra. ... 25

Slika 6.1.3: Konzola za ročno upravljanje... 25

Slika 6.1.4: Prikaz koraka cikla avtomatskega varjenja. ... 27

Slika 6.1.5: Avtomat stanja v avtomatskem načinu delovanja. ... 27

Slika 6.2.1: Funkcijski blok ... 29

Slika 6.2.2: Funkcije, ki si potrebne za realizacijo avtomata. Funkcije, ki se nahajajo znotraj drugih se lahko smatrajo kot razširitev. ... 30

Slika 6.2.1.1: Funkcijski blok za nadzor motorja, FB_AxisControl. ... 31

Slika 6.2.1.2: Avtomat stanj za pravilno uporabo Beckhoff funkcijskih blokov za nadzor motorjev. ... 32

Slika 6.2.1.1.1 : Sprememba hitrosti v času ob nastavitvi MC_BufferMode = MC_Buffered. ... 34

(12)

Slika 6.2.1.1.2 : Sprememba hitrosti v času ob nastavitvi MC_BufferMode = MC_Aborting. ... 35

Slika 6.2.1.3.1: Povezava iz programa (PLC) do procesa za nadzor osi, NC. ... 36

Slika 6.2.2.1 : Podatki varilnika v surovi obliki... 37

Slika 6.2.2.3.1 : Grafična predstavitev funkcijskega bloka za inicializacijo varilnika. ... 39

Slika 6.2.2.3.2 : Avtomat stanj inicializacije varilnika. ... 39

Slika 6.2.2.3.3: Grafični prikaz funkcijskega bloka TON. ... 41

Slika 6.2.2.3.4: Časovni potek spremenljivk funkcijskega bloka TON. ... 41

Slika 6.2.3.1: Simbol P regulatorja. ... 42

Slika 6.2.3.2 : Blokovna shema regulatorja. ... 42

Slika 6.2.4.1 : Vhodi in izhodi funkcijskega bloka za upravljanje z recepti ... 43

Slika 6.2.4.2 : Metode funkcijskega bloka za recepte... 44

Slika 6.2.5.1 : Kamera, ki je bila uporabljena za testiranje strojnega vida in možno kasnejšo implementacijo. ... 46

Slika 6.2.5.2 : Funkcijski blok za kontrolo kamere. ... 46

Slika 6.2.5.3 : Kamera zajema sliko. Da dobimo boljše rezultate se uporabi tudi bliskavica (LED obroč okoli kamere). ... 47

Slika 6.2.5.4 : Slika kamere. Prikazana slika je zelo približana. ... 47

Slika 6.2.5.5 : Princip delovanja algoritma za iskanje robov. ... 48

Slika 6.2.6.1 : Grafična predstavitev funkcijskega bloka za nadzor varilne glave... 50

Slika 6.2.6.2: Glavni parametri strukture ST_HMI_vars. ... 51

Slika 7.1.1: Domača stran aplikacije. ... 61

Slika 7.1.2 Izpis na zaslonu, če je aktiven izklop v sili. ... 62

Slika 7.2.1: Parametri in kontrola varilne glave. ... 62

Slika 7.2.2: Prikaz stanja naprave in korak cikla. ... 63

Slika 7.2.3: Prikaz napetosti in toka varilnika na radialnih prikazovalnikih... 64

Slika 7.2.4: Prikaz stanja motorjev. ... 64

Slika 7.2.5: Prikaz napetosti na časovnem grafu. ... 65

Slika 7.3.1: Zaslon z nastavitvami. ... 66

Slika 7.3.2: Potrditev brisanja receptov. ... 67

Slika 7.4.1: Zaslon za testiranje kamere... 69

(13)

Seznam uporabljenih simbolov in okrajšav

Simboli

Veličina/oznaka Enota

Ime Simbol Ime Simbol

Napetost U volt V

Tok I amper A

Čas t sekunda s

Frekvenca f herc Hz

Kot ϕ stopinja °

Perioda T sekunda s

Ojačenje Kp - -

Kotna hitrost ω - °/s

Obodna hitrost v - mm/s

Hitrost v - mm/s

Navor M - Nm

(14)

Okrajšave

Kratica Pomen

TIG Varjenje po postopku TIG (ang. Tungsten inert gas) je različica elektroobločnega varjenja, kjer je konica za varjenje netaljiva volframova elektroda, ki se ne izrablja

EtherCAT Komunikacijski protokol EtherCAT (ang. Ethernet for Control Automation Technology), standardiziran v IEC 61158

PLK Programirljivi logični krmilnik (ang. programmable logic controller)

IEC Mednarodna komisija za elektrotehniko (ang. International Electrotechnical Comission). IEC [število] je oznaka standarda priznanega s strani IEC.

UTP Neoklopljena sukana parica (ang. unshielded twisted pair) IPC Industrijski računalnik (ang. industrial PC)

HMI Vmesnik med napravo in uporabnikom (ang. human machine interface) TwinCAT Programsko okolje, ki se uporablja za programiranje in konfiguriranje naprav

proizvajalca Beckhoff (ang. The Windows Control and Automation Technology). Različica TwinCAT3 je namenjena 64 bitnim operacijskim sistemom, TwinCAT2 pa 32 bitnim operacijskim sistemom.

FB Funkcijski blok (ang. function block) – del programske kode, ki vsebuje določeno funkcionalnost

PTP (ang. point to point)

ST Strukturiran tekst (ang. structured text) je eden izmed petih jezikov, ki jih podpira standard IEC 61131-3, ki se uporabljajo za programiranje logičnih krmilnikov

JavaScript Programski jezik, večinoma uporabljen za izdelavo spletnih aplikacij

HTML (ang. Hyper Text Markup Language) Programski jezik uporabljen za izdelavo spletnih strani

NC (ang. numericall control) Numerično krmiljen stroj USB (ang. unversal serial bus) Univerzalno serijsko vodilo

RAM (ang. random access memmory) Delovni pomnilnik, bralno-pisalni pomnilnik OCT (ang. Once Cable Technology) Beckhoff tehnologija kabla za motorje, ki ima v

enem kablu napajalne in enkoderske povezave

RPM (ang. revolutions per minute) Neuradna enota – obr/min obrati na minuto, uporabljeno za vrteče se elemente

(15)

POE (ang. power over ethernet) Tehnologija Ethernet, ki v enem samem kablu prenaša podatke in napajanje – naprava, ki to podpira in se priklopi s POE kablom ne potrebuje dodatnega napajanja

ASIC (ang. application-specific integrated circuit) Integrirano vezje namenjeno za specifično aplikacijo

FPGA (ang. field-programmable gate aray) Integrirano vezje, ki je namenjeno za različne aplikacije – ''programiranje na terenu'' (ang. field programmable) CPU (ang. central processing unit) Centralna procesorska enota

Profinet Industrijski standard za komunikacijo čez industrijski Ethernet (ang. Process Field Net)

(16)

1

1. Uvod

V diplomskem delu je predstavljen celoten postopek avtomatizacije varjenja po postopku TIG (ang.

Tungsten inert gas). Izbrana tehnologija varjenja ima veliko pozitivnih lastnosti v primerjavi z drugimi izbirami, obenem ima tudi nekaj negativnih lastnosti - med drugim težji nadzor varjenja. Cilj avtomatizacije varilnega postopka je hitrejši proces varjenja, lažje obvladanje varjenja, ponovljivi zvari ter zanesljivo ter nastavljivo varjenje različnih varilnih objektov.

Velika večina uporabljene opreme je od proizvajalca Beckhoff. Med drugim sem spada:

- Dotični panel, ki nadzoruje delovanje naprave in služi kot HMI enota (ang. human machine interface)

- Vhodno-izhodni moduli za priklop perifernih naprav - Koračni motorji in pogonska tehnika za koračne motorje - Servomotorji in pogonska tehnika za servomotorje

Komunikacijski protokol, ki se uporablja pri proizvajalcu Beckhoff, je EtherCAT (ang. Ethernet for Control Automation Technology ) in je standardiziran v IEC 61158.

Programiranje naprave je potekalo v programskem okolju Visual Studio v katerem je integrirano orodje proizvajalca Beckhoff, TwinCAT3(ang. The Windows Control and Automation Technology).

Izbran programski jezik je bil ST - strukturiran tekst (ang. structure text).

Programiranje uporabniškega vmesnika bazira na HTML in JavaScript, večina kode se generira avtomatsko, za kar služi programski orodje TwinCAT HMI.

Za varjenje smo uporabili TIG (ang. Tungsten inert gas ) varilni aparat Fronius MagicWave 230i. Varilni aparat se nadzira preko serijskega komunikacijskega vodila, uporabljen protokol je RS232C.

Vrtenje varilnega objekta je realizirano s pomočjo asinhronskega motorja proizvajalca, katerega hitrost in navor se nadzira s frekvenčnim pretvornikom.

(17)

2

2. Varjenje po tehnologiji TIG

Varjenje po tehnologiji TIG je obločno varjenje, ki uporablja netaljivo volframovo elektrodo. Elektroda se med varjenjem ne deformira, saj materiala ne odnaša. Med elektrodo in osnovnim materialom se vzpostavi iskra, ki služi kot zelo visok vir toplote (do 6000 °C) kar omogoča uporabo kovin in zlitin, ki imajo visoko tališče. Na del, ki ga želimo variti, dodajamo material, ki je lahko enak kot osnovni material objekta, na katerega se vari – to nam omogoča zelo visoka temperatura, ki se ustvari med procesom varjenja. Zvar se pred oksidacijo zaščiti s pomočjo nevtralnih plinov, kot sta argon ali helij.

Tehnologija TIG proizvede ene izmed najbolj kakovostnih zvarov, vendar velja za eno izmed najbolj zahtevnih tehnologij. Vzpostavljanje konstantne temperature, sledenje zvarnemu robu in zelo majhna razdalja med konico elektrode in objektom predstavljajo izziv pri varjenju po tehnologiji TIG [1, 2].

Slika 2.1: TIG gorilnik med procesom varjenja.

(18)

3

3. Varilni avtomat

Cilj pri izdelavi varilnega avtomata je avtomatizacija varjenja z uporabljeno tehnologijo varjenja, v našem primeru s tehnologijo TIG. Zasnova avtomata je sledeča:

- Konstrukcija, v katero vpnemo kos, ki se bo varil - Varilna enota, ki bo nadzorovala potek varjenja

- Motorizirana varilna glava na katero vpnemo gorilnik, njen cilj je zagotavljanje konstantne napetosti in pa sledenje varilnemu robu

- Kontrolna omara z uporabniškim vmesnikom in PLK (ang. programmable logical controller) za nadzor naprave

- Možnost varjenja različnih kosov – uporaba receptov

Slika 3.1: Shema sistema za avtomatsko varjenje.

Koordinatni sistem je sledeč:

- Vertikalna os – Y - Horizontalna os – Z

- Dodatna horizontalna os (natančen pomik) – w - Rotacijska os (vrtenje objekta) – C

(19)

4

Slika 3.2 : Kontrolna enota za varjenje, Fronius magic Wave.

Slika 3.3 : Podajalnik dodatnega materiala.

Slika 3.4 : Asinhronski motor z reduktorjem za rotiranje varjenega objekta.

(20)

5

Slika 3.5: Elektroda na varjenem objektu, testno varjenje

3.1. Kontrolni računalnik

Za nadzor naprave smo uporabili industrijski računalnik proizvajalca Beckhoff - CP2716-0020 [18] s procesorjem Intel Atom x5-E3940, frekvenca 1.6 GHz, 4 jedra in 8GB RAM, ki je viden na sliki 3.1.1.

Gre za industrijski računalnik in dotični panel (ang. muli-touch built-in panel) v enem, kar zmanjša potrebo po dodatnem prostoru – računalnik se vgradi v nadzorno omaro.

Slika 3.1.1: Dotični panel za nadzor naprave

Računalnik potrebuje napajalnih 24 V enosmerne napetosti. Za komunikacijo sta na voljo 2 RJ45 konektorja. Enega potrebujemo za konfiguriranje naprave, drugega pa se uporabi za povezavo do vhodno-izhodnih modulov na katere se priklopi komponente naprave. Vmesniki, ki so na voljo, so vidni na sliki 3.1.2.

(21)

6

Slika 3.1.2: Vmesniki - DVI, USB, LAN, napajanje in ozemljitev

Uporabljen je operacijski sistem Windows 10, za nadzor naprave pa se na računalnik naloži TwinCAT3 runtime, ki skrbi za delovanje sistema sproti (v realnem času – ang. real-time operation) – izvajanje PLK kode, izmenjava podatkov z vhodno-izhodnimi enotami.

(22)

7

3.2. Vhodno izhodne enote

Naprava ima precej senzorjev, tipk, motorjev, … Za upravljanje z izhodi in branjem vhodov potrebujemo določene module. Moduli, ki jih potrebuje naprava, so:

- Digitalni vhodni modul za branje digitalnih signalov, kot so induktivni senzor, kapacitivni senzor, tipka, stikalo, …

- Digitalni izhodni modul za vklapljanje raznih luči, relejev, kontrolnih signalov za druge enote, ...

- Analogni vhodni modul – za branje vrednosti potenciometra potrebujemo analogni vhodni modul, ki lahko razbere trenutno upornost.

- Pogonska tehnika za servomotorje – nadziranje napetosti in toka za servomotor

- Pogonska tehnika za koračni motor – nadziranje pulzne frekvence in toka za koračni motor - Frekvenčni pretvornik za nadzor asinhronskega motorja – nadzor izhodne frekvence, toka in

napetosti za asinhronski motor

3.2.1. Digitalni vhodni modul

Za branje raznih senzorjev in tipk uporabimo digitalni vhodni modul EL1008 [8]. Velika prednost tega modula je že vgrajen 3-milisekundni vhodni filter, ki prepreči razne mehanske učinke stikal kot npr.

odskakovanje tipk (ang. debouncing).

Slika 3.2.1.1: Digitalni vhodni modul EL1008

Modul ima 8 fizičnih vhodov, kar omogoča priklop 8 perifernih enot. Slika 3.2.1.1. prikazuje funkcije posameznih priključkov.

(23)

8

Logični nivoji so definirani s standardom EN 61131-2, type 1/3 in so prikazani na sliki 3.2.1.2.

Slika 3.2.1.2: Logični nivo glede na izmerjeno napetost na vhodu digitalnega modula

3.2.2. Digitalni izhodni modul

Za prižiganje raznih indikacijskih luči na tipkah uporabimo modul EL2008 [7]. Gre za modul, ki ima 8 izhodnih kanalov, vsak kanal ima 2 logična nivoja – ''0'' in ''1''. Logični nivo ''0'' pomeni, da je na izhodnem kanalu lokalnih 0V (masa), logični nivo ''1'' pa pomeni, da je na izhodnem kanalu lokalnih 24 V.

Slika 3.2.2.1: Digitalni izhodni modul EL2008.

(24)

9

3.2.3. Analogni vhodni modul za merjenje upornosti

Naprava ima tudi potenciometer. Za merjenje upornosti uporabimo modul EL3692, funkcije vhodov in izhodov so vidne na sliki 3.2.3.1. Vhodna upornost ima 24 bitno ločljivost, območje meritve je od 100 mΩ do 10 MΩ [6].

Slika 3.2.3.1: Analogni modul za merjenje upornosti 100 mΩ...10 MΩ.

Modul omogoča tudi štirižilno merjenje, vendar za naše potrebe lahko padec napetosti zaradi upornosti povezav zanemarimo, ker uporabljamo 10 kΩ potenciometer za ''grobo'' nastavitev hitrosti, ko se naprava uporablja v ročnem načinu.

Poleg tega pa lahko v konfiguraciji TwinCAT3 nastavimo razpon meritve, v primeru uporabljenega potenciometra se izbere nastavitev 1 kΩ-10 kΩ, kar pomeni, da se upornost pod 1 kΩ v programu prebere kot ''0'', 10 kΩ pa 8388607. Odčitek je predznačeno 24-bitno število, upornost pa je lahko samo pozitivna zato sledi, da je izmerjena vrednost v izbranem razponu največ :

𝑉𝑟𝑒𝑑𝑛𝑜𝑠𝑡𝑚𝑎𝑥= (224

2 ) − 1 = 8388607

Vrednost, ki prikazuje trenutno upornost pa je enaka razmerju izmerjene in maksimalne upornosti, pod pogojem, da je upornost večja od 1 kΩ

𝑉𝑟𝑒𝑑𝑛𝑜𝑠𝑡 = 𝑅𝑖𝑧𝑚

𝑅𝑚𝑎𝑥∗ 𝑉𝑟𝑒𝑑𝑛𝑜𝑠𝑡𝑚𝑎𝑥

Glede na izbrano vezavo se prav tako nastavi nastavitev, ki glede na izbrano (2 ali 4 žilno) vezavo meri oz. ne meri napetosti na dodatnih sponkah. V našem primeru merimo napetost in tok skupaj, ker uporabljamo dvožilno vezavo [6].

(25)

10

3.2.4. Pogonska tehnika za koračne motorje

Za izbrane koračne motorje AS2000 [4] smo izbrali modul EL7047. Modul poleg povezav za motor vsebuje tudi enoto za priklop inkrementalnega rotacijskega dajalnika, ki se lahko uporabi za zaprtozančno regulacijo motorja. V našem primeru bomo naredili predpostavko, ki tudi zmanjša stroške izdelave : ker so fizične obremenitve na motorju minimalne lahko predvidevamo, da bo za vsak poslan pulz motor naredil 1 korak – imel bo zadosten navor. Iz spodnje slike (slika 3.2.4.1) lahko razberemo največjo hitrost motorja, preden bi navor padel pod minimalno vrednost, ki jo potrebujemo za premik bremena. Krivulja za izbrano kombinacijo koračnega motorja in modula za nadzor je modre barve.

Slika 3.2.4.1: Odvisnost navora od hitrosti motorja.

Slika 3.2.4.2: Povezava tuljav koračnega motorja do modula.

(26)

11

Slika 3.2.4.3: Beckhoff koračni motor.

Koračni motor se uporablja za:

- Z os - vertikalno pomikanje varilne glave (lovljenje napetosti varilnega izvora – konstantna temperatura)

- X os - ročni pomik celotne varilne glave v horizontalni osi

3.2.5. Pogonska tehnika za servomotorje

Za krmiljenje izbranih servomotorjev smo izbrali modul EL7211-0010 [5]. Servomotor bo imel zaprtozančno regulacijo. Gre za posebno vrsto servomotorja, ki ima povezave za enkoder in poganjanje motorja v enem samem kablu.

Slika 3.2.5.1: Vezava servomotorja na modul EL7211-0010.

Slika 3.2.5.1. prikazuje vezavo servomotorja ter enkoderja na terminal EL7211-0011.

(27)

12

Slika 3.2.5.2: Povezava motorja in enkoderja no modul za nadzor servomotorja z uporabo priklopnega kabla OCT.

OCT kabel ima tudi oklop za optimalno odpornost proti elektromagnetni interferenci okolice. Oklop (ang. shield) se ozemlji na strani modula s pomočjo ozemljene letve (slika 3.2.5.2).

Najvišja hitrost izbranega motorja AM8100 [9] je 3000 obr/min (ang. revolutions per minute), kar je za preveč za potrebe našega sistema. Da uporabimo čim večji razpon hitrosti za potrebe aplikacije dodamo tudi reduktor, ki bo znižal obrate na izhodni strani. S tem pridobimo na natančnosti (večji razpon hitrosti za enake premike) prav tako pa tudi na navoru. Servomotor se uporablja za natančno premikanje po Z osi, v primeru avtomata je to w OS (slika 3.1).

Slika 3.2.5.3: Uporabljen servomotor in reduktor.

(28)

13

3.2.6. Frekvenčni pretvornik

Za rotacijo objekta okoli svoje osi smo izbrali asinhronski motor z ustreznim reduktorjem. Ker potrebujemo različne hitrosti smo za regulacijo izbrali enofazni frekvenčni pretvornik, ki bo vhodnih 50 Hz pretvoril v moduliran izhodni signal primeren za poganjanje asinhronskega motorja.

4. Tehnologija za nadzor varilnika

Pri izbiri proizvajalca opreme za nadzor naprave (PLK, moduli za priklop perifernih naprav, HMI, …) smo imeli za izbiro proizvajalca Siemens in Beckhoff, na koncu smo izbrali opremo Beckhoff.

4.1. O podjetju Beckhoff

Beckhoff je podjetje, ki se ukvarja s proizvodnjo komponent za avtomatizacijo. Med to spadajo krmilniki, industrijski računalniki, vhodne in izhodne enote, več vrst motorjev (koračni, DC, servomotorji, …), …

Podjetje se od drugih razlikuje na področju krmilnikov. Namesto konvencionalnih PLK-jev se ukvarjajo s proizvodnjo in razvojem PC krmilnikov (ang. embedded PC). Na vseh PC krmilnikih teče operacijski sistem Windows, različica je odvisna od procesorja.

Njihov značilni protokol za prenos informacij je EtherCAT, Ethernet v realnem času, ki je tudi naveden v standardu IEC 61158.

Imajo tudi svojo programsko opremo TwinCAT. Starejši, 32 bitni sistemi imajo na voljo TwinCAT2, novejši 64 bitni pa TwinCAT3 [10].

4.2. EtherCAT – Ethernet v realnem času

EtherCAT je komunikacijski protokol, ki ga je zasnoval Beckhoff. Leta 2003 je bil protokol tudi sprejet v standard IEC 61158 – definicija protokola se od takrat ni spremenila, le razširila, kar pomeni, da lahko EtherCAT napravo, ki je bila narejena leta 2003 tudi danes priklopimo na najnovejši sistem, ki ima implementiran najnovejšo definicijo EtherCAT protokola. Leta 2016 so naredili tudi svojo različico kabla POE (ang. power over ethernet), EtherCAT P, ki ima v standardnem CAT5 kablu prenaša 24 V prav tako pa tudi EtherCAT podatke.

Topologija EtherCAT vodila je zelo fleksibilna. Naprave se lahko vežejo vzporedno, zaporedni, v zvezdo, v drevesno topologijo, … Kot pravi Beckhoff, naprava določa topologijo in ne obratno.

(29)

14

Slika 4.2.1: Primer topologije za varilni avtomat.

4.2.1. EtherCAT protokol

Slika 4.2.1.1: Primer izmenjave podatkov neke EtherCAT naprave v topologiji

Protokol ima gospodarja (ang. master) in pa podrejene enote (ang. slave). Gospodar pošlje telegram, ki gre po vodilu do zadnje podrejene enote (ang. slave). Vsaka enota prebere del telegrama, ki ji je namenjen in vstavi podatke, ki jih je potrebno posredovati gospodarju. Telegram vsebuje vse podatke za vse enote, vsaka enota ima točno določen naslov. Ko je enota oddala svoje podatke se telegram posreduje naprej, temu procesu se reče sprotni prenos podatkov (ang. »on the fly«). Vsaka naprava, ki je uporabljena v topologiji ima integrirano enoto ESC (ang. EtherCAT SlaveControllers), ki je lahko mikrokrmilnik, ASIC (ang. Application-specific integrated circuit) ali pa FPGA (ang. field-programmable gate array). Ker ima vsaka enota svoj unikaten naslov se lahko med delovanjem odklopi določene naprave, komunikacija med gospodarjem in podrejenimi enotami bo še vedno delovala, zahvaljujoč fiksnim naslovom posamezne enote – temu principu se reče »hot connect« [11].

Slika 4.2.1.2: Struktura podatkovnega okvira Ethernet, definiranega v standardu IEEE 802.3

Okvir je sestavljen iz glave (ang. header) in pa telegrama, ki je predstavljen na sliki 4.2.1.2. Glava določa kakšen način dostopanja želi izvesti gospodar – tukaj razločimo:

(30)

15 - R -Branje (ang. read)

- W - Pisanje (ang. wite)

- RW - Branje in pisanje (ang. read-write)

Primer podatkov modula za koračni motor, ki jih lahko gospodar bere ali piše (RW):

Slika 4.2.1.3: EtherCAT telegram, ki gre do modula za koračni motor, bi imel v tem primeru indeks 8012, podindeks pa 08.

Podatek definira tip povratne informacije, v tem primeru interni števec.

Tukaj je vredno omeniti tudi funkcijo za sinhronizacijo časov med različnimi enotami, distribuiran čas [12] (ang. disctributed clock). Ta funkcija omogoča zelo natančno sinhronizacijo med enotami. Kljub optimiziranemu protokolu EtherCAT so v sistemu še vedno zakasnitve:

- Propagirana zakasnitev (ang. propagation delay) je zakasnitev zaradi procesiranja podatkov posamezne enote preden se podatki pošljejo naprej in čas, ki ga podatek potrebuje, da se prenese po fizičnem vodilu od ene enote do druge.

- Zamik (ang. offset) je razlika v času zagona med gospodarjem in posameznimi podrejenimi enotami (ang. slave).

- Zaradi različnih časovnih virov posameznih enot (ang. quartz) je med posameznimi enotami potrebna sinhronizacija časov posameznih enot – to se lahko sinhronizira z izmerjenim časom zakasnitve med posameznimi enotami .

Čas zakasnitve med posameznimi enotami se izmeri (časovni zapis pri posameznem podatkovnem okviru). Pri vsakem ukazu se ta zakasnitev upošteva in tako omogoča zelo natančno sinhronizacijo med enotami, to je zelo pomembno pri kombiniranih pomikih več motorjev, ki delujejo v skupnem sistemu.

Slika 4.2.1.4: Primer zakasnitve prenosa podatkov med posameznimi enotami.

(31)

16

4.3. TwinCAT3

TwinCAT (ang. The Windows Control and Automation Technology) je programska oprema, ki se uporablja za konfiguriranje naprav v sistemu, kjer je gospodar PC krmilnik ali industrijski računalnik proizvajalca Beckhoff. TwinCAT se lahko integrira v programsko okolje Microsoft Visual Studio, obstaja tudi možnost okrnjene verzije, ki se naloži kot samostojni program. Program ima veliko funkcionalnosti in razširitev. Za ta projekt smo potrebovali :

- PLC: koda (logika) naprave

- I/O: fizične vhodne in izhodne enote

- NC: nadzor motorjev (ang. numerically control)

- HMI: Grafični vmesnik s katerim uporabnik nadzira napravo, spreminja parametre itd. (ang.

human machine interface)

Slika 4.3.1: Izgled projekta in uporabljene komponente orodja TwinCAT3.

Za lažje razumevanje projekta bom podrobneje opisal določene dele PLC, ker se večina konfiguriranja naprave izdela tukaj – logika naprave, sekvenca dela, …

4.3.1. PLC

4.3.1.1. Časovne nastavitve opravila

Koda, ki se bo ciklično izvajala mora imeti določen časovni interval, v katerem bo procesorski čas namenjen izvajanju le-te. Določenemu opravilu je potrebno dodeliti ta čas, za projekt sem izbral naslednje nastavitve. PlcTask je ime časovnega opravila, ki se nanaša na izvajanje kode programa.

(32)

17

Slika 4.3.1.1.1: Nastavitve izvajanja PLC kode.

Auto start : Avtomatski zagon PLC kode po zagonu sistema. To je lahko ponovno zagon TwinCAT3, izklop in ponovni vklop napajanja, novo nalaganje kode, … Nastavitev je vklopljena, kar pomeni, da se bo naprava vedno ''zbudila'' in ne potrebuje dodatnega dela za zagon.

Auto priority management : Avtomatsko dodeljevanje prioritete izvajanje. To nastavitev je bolje izklopiti (izkušnje). Prioriteto posameznega dela je bolje nastaviti ročno. Da se vidi vsa opravila(ang.

task) se prioritete izvajanja nastavlja tukaj:

(33)

18

Slika 4.3.1.1.2: Prioritete različnih opravil.

Parametri opravil :

Prioriteta (ang. priority) določi kako pomembno je določeno opravilo. Manjša številka pomeni večja prioriteta. Med izvajanjem se procesorski čas dodeljuje posameznim opravilom. Višjo prioriteto kot ima neko opravilo večkrat se mu bo dodelil procesorski čas.

Cikel (ang. cycle) določi časovni interval, ki ga bo procesor namenil določenemu opravilu.

Nastavitev 1ms pomeni, da se bo vsako milisekundo izvedle vse operacije tega opravila. Če se v času 1 ms opravilo ne zaključi je potrebno cikel podaljšati ali pa zmanjšati, optimizirati, predelati operacije, ki jih zahteva to opravilo – v primeru PLC kode bi to pomenilo optimizacija kode, zmanjšanje zank (razčlenjenje zank na več delov), …

Procesorsko jedro (ang. core) – Opravila se dodelijo določenemu jedru. Če je potrebna ročna optimizacija in imamo na voljo krmilnik, ki ima CPU z več jedri imamo možnost ročnega dodeljevanja procesov različnim jedrom. Za ta projekt, te optimizacije niso potrebne in so vsa opravila na jedru 0.

Nedorečeno pravilo je, da ima opravilo za nadzor motorjev najvišjo prioriteto, ker gre za premike, ki morajo biti izvedeni v realnem času. Da je pomikanje čim bolj natančno se mora opravilo za motorje izvesti najpogosteje in najhitreje, da lahko v realnem času popravlja obrate motorja, navor, spremlja postavitev motorja, …

Nato sledi IO Idle, ki je pravzaprav izvajanje celotne konfiguracije, izmenjava podatkov med vhodno- izhodnimi enotami in povezanimi spremenljivkami v sistemu.

PLCTask je opravilo PLC kode, ki se bo ciklično izvajala za nadzor naprave. Tukaj moramo biti pozorni, da se PLC koda lahko izvede v tem času - v nasprotnem primeru se lahko zgodijo nepredvideni dogodki, saj se koda ni izvedla v zastavljenem času. Hitro lahko pride do odstopanj, če uporabimo dolge zanke (for, while, …) – uporaba teh mora biti zelo premišljena, če gre za zanke z veliko ponovitvami.

(34)

19

ProfinetTask je opravilo, ki zagotavlja komunikacijo z napravo, ki uporablja Profinet protokol. Hitrost izvajanja pretvarjanja iz enega v drug komunikacijski protokol je določeno tukaj.

4.3.1.2. Programski del PLC

Slika 4.3.1.2.1: Drevesna struktura PLC v TwinCAT3.

Objekt PLC ima več map in objektov v katerih so skupine nastavitev, koda, …

References : Tukaj so knjižnice, ki jih vključimo v projekt. Nekatere knjižnice so plačljive druge niso, odvisno od posamezne knjižnice. Knjižnice vsebujejo podatkovne tipe, funkcijske bloke, funkcije, …

Slika 4.3.1.2.2: Uporabljene knjižnice.

Bolj specifične knjižnice so:

RecipeManagement – knjižnica za upravljanje z recepti TC2_Math – knjižnica z raznimi matematičnimi funkcijami Tc2_MC – knjižnica za nadzor motorjev

(35)

20

DUTs – Mapa v katero se dodaja podatkovne tipe in števce (ang. enumerator). Uporaba podatkovnih tipo je zelo pomemben del organizacije kode in več uporabnosti (ang. multi use). Z izdelavo struktur in števcev je programiranje in razumevanje programa veliko lažje, tekstovnega opisa pa je prav tako manj, ker se struktura definira izven programa.

Primer števca:

{attribute 'qualified_only'}

{attribute 'strict'}

TYPE E_OperatingState : (

DISABLED, ENABLED,

WORKING_SEQUENCE

);

END_TYPE

Uporaba števca je zelo uporabna pri raznih nastavitvah, stanjih avtomata stanj, … Na tak način lahko opišemo kaj določeno stanje predstavlja. V primeru tega projekta zgornji števec predstavlja stanje naprave, ki je lahko :

- DISABLED : Naprava je onemogočena - ENABLED : Naprava je omogočena

- WORKIN_SEQUENCE: Naprava je v delovnem ciklu

Za stanje naprave bi se lahko uporabilo navaden podatkovni tip (npr. celo predznačeno število - integer), ki bi bil lahko 0, 1 ali 2, a nam žal ta števila ne povejo kaj več o stanju. Z uporabo števca se lahko hitro razbere kaj naj bi to stanje predstavljalo.

Primer strukture:

TYPE ST_Point : STRUCT

x :LREAL;

y :LREAL;

END_STRUCT END_TYPE

Slika 4.3.1.2.3 : Struktura za točko s komponento x in y.

V tem primeru naredimo podatkovno strukturo ST_Point, ki predstavlja točko v kartezičnem koordinatnem sistemu in ima 2 komponenti (x in y). Če bi hoteli narediti zbirko (ang. array) točk, da bi lahko na grafu narisali krivuljo lahko na tak način naredimo zbirko točk, vsak del zbirke predstavlja točko s svojo x in y komponento. V primeru, da te strukture nimamo, bi potrebovali 2 zbirki, ena bi imela komponente X, druga pa komponente Y, poleg tega pa bi morali biti tudi pozorni, da se zaporedje

(36)

21

točk sklada, se pravi, da 50. člen zbirke X sovpada s 50. členom zbirke Y. Uporaba podatkovne strukture je zelo uporabna in prihrani na času ter zelo uredi sam izgled in uporabnost kode, zato je zelo pogost del programa, ki smo ga izdelali.

Head1WeldingCenterCognex : ARRAY [1..1] OF ARRAY [0..400] OF ST_point;

GVLs: Mapa v katero se dodaja globalne spremenljivke, ki so vidne v celotnem programu. Vsaka funkcija, funkcijski blok, metoda ali program ima dostop spremenljivk, ki so definirane v VAR_GLOBAL.

Skratka, vsi deli kode imajo dostop do teh spremenljivk.

{attribute 'qualified_only'}

VAR_GLOBAL

(*Terminals inputs and outputs*) inputs AT %I* : ST_Inputs;

outputs AT %Q* : ST_Outputs;

cycleTimeSeconds : REAL; // A converted cycle time. Float number representing seconds - 10ms = 0.010

(*Arrays for both welding purpose and display purpose on HMI - points from Cognex camera*)

Head1WeldingCenterCognex : ARRAY [1..1] OF ARRAY [0..400] OF ST_point;

head2WeldingCenterCognex : ARRAY [1..1] OF ARRAY [0..400] OF ST_Point;

maxRotationSpeed : LREAL := 180; // °/min

leftHeadRecipeNames : ARRAY[0..50] OF STRING; // Array with all the recipe names, 50 is the cap for now - this needs to be in a seperate array because the recipes are referenced to recipe type

rightHeadRecipeNames : ARRAY[0..50] OF STRING; // Array with all the recipe names, 50 is the cap for now - this needs to be in a seperate array because the recipes are referenced to recipe type

END_VAR

VAR_GLOBAL PERSISTENT

settings : ARRAY[1..2] OF ST_Settings;

END_VAR

(37)

22 POUs : Mapa v katero se dodaja programsko kodo.

Slika 4.3.1.2.4: Objekti, v katerih se nahaja programska koda.

Vsak objekt, ki je v mapi POUs vsebuje programsko kodo. Ločimo med:

- Funkcijski blok (FB) - Funkcija (Function) - Program (Program)

Slika 4.3.1.2.5: Izbira tipa objekta.

(38)

23

Za vsak objekt lahko določimo tudi programski jezik. Izbiramo lahko med vsemi možnimi standardnimi jeziki. Za ta projekt se povsod uporablja strukturiran tekst (ang. structured text) – ST

Slika 4.3.1.2.6: Programski jeziki, ki so na voljo za izdelavo programske kode objekta.

5. Blokovna shema sistema

Slika 5.1: Podrobnejša shema sistema. Kontrolna omara je označena s sivo površino.

Zgornja slika (slika 5.1) predstavlja bolj podroben opis sistema in uporabljenih komponent.

Varilna glava:

Posamezni motor gre na dodeljeno motorsko enoto – koračni motor gre na pogon za koračni motor, servomotor gre na enoto za servomotor. Varilni glavi imata tudi senzorje kot so končna stikala ter stikalo za pošiljanje motorja v začetno pozicijo (ang. homing). Senzorji so povezani na digitalne vhodne enote.

Asinhronski motor je povezan na frekvenčni pretvornik, ki regulira frekvenco vrtenja objekta okoli svoje osi. Rotacijski dajalnik (ang. incremental encoder) nam sporoča položaj objekta v danem trenutku.

Ročna konzola s tipkami ter potenciometrom za ročno nastavljanje hitrosti ima več povezav, ki gredo na analogne oz. digitalne vhode oz. izhode.

Varilnik komunicira s serijskim protokolom RS232. Za integracijo v sistem s protokolom EtherCAT uporabimo enoto, ki deluje kot vmesnik med enoto s protokolom RS232 in drugo enoto, ki uporablja EtherCAT.

(39)

24

6. Programiranje krmilnika 6.1. Avtomat stanj

Glede na podane zahteve o delovanju varilne naprave, smo začeli z izdelavo avtomata stanj, ki prikazuje osnovno delovanje. Konkretno stanje smo kasneje dodelovali glede na dodatne zahteve.

Za začetek se definira stanja naprave, ki je grafično prikazano na sliki 6.1.1.

Slika 6.1.1: Stanja naprave.

1 : Ob pritisku na gobico za izklop v sili (elektro omara ali konzola za ročni nadzor) gre naprava v stanje izklop v sili. Vsi motorji izgubijo napajanje (in s tem tudi navor). Varilniku pošljemo ukaz za izklop varjenja (preko komunikacijskega vodila!)

2 : Ko sta obe stikali za izklop v sili razklenjeni (gobica ni pritisnjena) se lahko stroj vrne v normalno obratovanje. Za to je potrebno pritisniti modro tipko na nadzorni omarici (če je potreben pritisk za potrditev izklopa v sili, bo modri indikator na tipki utripal).

3 : Po pritisku na tipko se naprava vrne v stanje glede na položja ključa za izbiro načina nadzora naprave.

MIROVANJE:

V mirovanju so vsi motorji izklopljeni. Za vertikalno (X) os to ne predstavlja problema, saj kombinacija reduktorja in vretena ustvarjata zadostno silo, da se varilna glava ne premika navzdol po vodilu tudi ko motor ni pod napetostjo. Vse funkcionalnosti stroja so onemogočene.

ROČNI NAČIN:

Ročni način omogoča kontrolo vseh motorjev s pomočjo konzole na kateri se nahajajo tipke za upravljanje naprave. Hitrost vseh motorjev se v ročnem načinu nastavlja s pomočjo potenciometra (nahaja se na konzoli) za hitrost. Maksimalne hitrosti delov varilne glave so pri nastavitvi potenciometra na najvišjo nastavitev sledeče:

(40)

25

Tabela 1: Maksimalne hitrosti osi.

Os Maksimalna hitrost

X 32 mm/s

Z 50 mm/s

Z' 56 mm/s

C 3 °/s

Potenciometer nastavlja hitrost v % glede trenutno nastavitev potenciometra. Trenutno nastavitev se lahko vidi tudi na zaslonu. Slika 6.1.2. prikazuje izpisano vrednost, ko je potenciometer v skrajne levi poziciji, minimalna upornost.

Slika 6.1.2: Prikaz skaliranja hitrosti glede na položaj potenciometra.

Slika 6.1.3: Konzola za ročno upravljanje.

(41)

26

Slika 6.1.3. prikazuje ročno konzolo, ki se uporablja za ročni nadzor naprave.

- Emergency – gobica za izklop v sili

- Manual/auto – ključ za izbiro načina delovanja. Ključ lahko postavimo v tri položaje. Glede na usmerjenost ključa, je način naprave :

o levo = avtomatski način o navpično = stroj v mirovanju o desno = ročni način

- Start – tipka za začetek/nadaljevanje cikla v avtomatskem načinu

- Stop/(hold)ref – ustavitev cikla v avtomatskem načinu. Če tipko držimo 2 sekundi, krmilje ponastavi (ang. reset) napake na vseh pogonih za motorje izbrane glave.

- Z- : držanje te tipke pomika os (Z oz. Z' glede na trenutno izbiro) v levo smer (gledano s strani operaterja na napravo)

- Z+ : držanje te tipke pomika os (Z oz. Z' glede na trenutno izbiro) v desno smer (gledano s strani operaterja na napravo)

- X- : držanje te tipke pomika os X navzdol, oz. vrti prijemalo (C os) v nasprotni smeri urinega kazalca (gledano s strani operaterja na napravo)

- X+ : držanje te tipke pomika os X navzgor, oz. vrti prijemalo (C os) v smeri urinega kazalca.

(gledano s strani operaterja na napravo)

- Speed override – potenciometer za nastavljanje hitrosti - Select Z/Z' izbira Z oz. Z' osi za nadzor s tipkami

- Select X/C – izbira X oz. C osi za nadzor s tipkami

- Select head 1/2 – izbira varilne glave. Če je izbrana varilna glava 1, potem imamo nadzor nad levo varilno glavo (gledano s strani operaterja na napravo), če je izbrana varilna glava 2 pa desno.

(42)

27 AVTOMATSKI NAČIN:

Avtomatski način je namenjen avtomatskemu varjenju. Ključ mora biti postavljen v skrajno levo pozicijo . Trenutno stanje cikla je izpisano na zaslonu, eno izmed stanj je prikazano na sliki 6.1.4.

Slika 6.1.4: Prikaz koraka cikla avtomatskega varjenja.

Slika 6.1.5: Avtomat stanja v avtomatskem načinu delovanja.

(43)

28 Opis avtomata:

Standby

Ko je ključ postavljen v pozicijo za avtomatski način, je naprava v čakanju. Za začetek cikla je potrebno klikniti tipko start na ročni konzoli ali pa start na zaslonu.

Ročna nastavitev osi stroja

Omogočen je ročni pomik vseh osi. Pozicije ključa ni potrebno spreminjati. Tukaj je pomembno, da se varilno konico postavi tako, da bo vertikalno poravnana z optimalno točko varjenja. Tukaj se je potrebno zavedati, da mora biti Z' (horizontalni pomik na varilni glavi) nekje na sredini delovnega območja, saj ob vklopu raznih funkcij in ob regulaciji s kamero pride do sprememb položaja osi – za najbolj optimalno delovanje se os Z' postavi na sredino delovnega območja linearnega vodila.

Inicializacija varilnika + inicializacija X osi (varilnik v »touch« načinu«)

Varilniku se pobriše možne obstoječe napake in pošlje se delovno nalogo (ang. job number). Ko je inicializiran, se ga nastavi v dotični način – na konici se nastavi visokofrekvenčna napetost (stvar varilnika). Ko je konica dovolj blizu ozemljenega varilnega objekta preskoči iskra in ta informacija se posreduje nazaj.

Ko je varilnik inicializiran in se ga je nastavilo na dotični (ang. touch) način, se začne avtomatski pomik X osi varilne glave navzdol proti varilnemu objektu. Hitrost je nastavljiva. Ko je konica dovolj blizu varilnega objekta, preskoči iskra. X os za trenutek ustavi.

Kamera omogočena?

Trenutno je ta nastavitev brez funkcije, ker kamera še ni implementirana. Funkcija bo poskrbela, da je varilna konica vedno nad varilnim robom, tudi če ta odstopa čez pot celotnega oboda (kar je pravzaprav res za vse objekte varjenja, saj so povsod tolerance, napake, …).

Dvig varilne glave za X mm (odvisno od nastavitve)

Varilna glava se začne dvigovati na začetni odmik, ki je tudi definiran v nastavitvah. Ko pride na višino, ki je bila nastavljena kot začetni odmik X osi se začne naslednji korak.

Vklop varilnika, približevanje konice proti varilnemu objektu

Kot že nakazuje ime koraka, varilniku krmilje pošlje ukaz za začetek varjenja. Nato varilna glava začne pomik navzdol po X osi s konstanto hitrostjo 1 mm/s. Ko je konica dovolj blizu objekta začne teči električni tok. Vendar to ni zadostno za začetek varjenja. Dokler ta tok ni stabilen, se varilna glava še vedno približuje objektu. Varilnik ima informacijo stabilen tok (ang. arc stable), kar pomeni da lahko začnemo variti. Hitrost spuščanja glave se zmanjša na 0,3 mm/min. Ker se mora površina materiala dovolj segreti, pred začetkom rotacije počakamo 2 sekundi. Ko minita 2 sekundi se vklopi rotacija, hitrost je nastavljiva v nastavitvah. Od trenutka, ko se vklopi rotacija, začne teči časovnik 2 sekund, s katerim na 10 ms preberemo napetost obloka. Odčitana vrednost se nato povpreči in vzame kot referenčno vrednost napetosti, ki jo je cilj regulacije X osi.

(44)

29

Varjenje, regulacija višine glede na referenčno in trenutno napetost varilnega obloka

Nadzorujemo višino varilne glave glede na trenutno napetost in referenčno napetost obloka. Višja napetost povzroči spuščanje glave, nižja napetost pa dvigovanje glave.

Konec cikla

Ko se je objekt zavrtel za 360° se varjenje konča. Krmilje izklopi varilnik (ukaz varilniku), ustavi pomik varilne glave po X osi. Rotacija se izvaja še 5 sekund (počakamo da se konica malce ohladi). Po 5 sekundah se ustavi tudi rotacija. Os x se nato dvigne za 20 mm in tako omogoči odstranjevanje objekta iz vpenjalnega sistema. Stroj se vrne v mirovanje, kjer ponovno čaka na začetek cikla.

6.2. Funkcijski bloki

Za realizacijo delovanja naprave, ki je opisano v avtomatu stanj je potrebno spisati funkcijske bloke, ki bodo nadzirali posamezne dele naprave. Posamezne bloki bodo dobivale ukaze iz ''glavnega programa''. Funkcijski blok (ang. funciton block) ima naslednje spremenljivke:

- Vhodne spremenljivke (ang. inputs) - Izhodne spremenljivke (ang. outputs) - Vhodno-izhodne spremenljivke - Interne spremenljivke

Slika 6.2.1: Funkcijski blok

Na vhodne spremenljivke lahko gledamo kot na ukaze in nastavitve, ki določajo kaj naj funkcijski blok naredi. Glede na vhodne spremenljivke se v samem bloku izvaja koda, ki ima svoj algoritem. Za nadzor nad stanjem izbranega bloka (npr. stanje avtomata stanj) zberemo pomembne informacije, ter jih pošljemo na izhodne spremenljivke. Na tak način lahko vemo kdaj je npr. funkcijski blok, ki nadzira pnevmatski cilinder prišel kočno pozicijo, če je prišlo do napake, …

(45)

30

Vhodno izhodne spremenljivke so posebna vrsta spremenljivk, ki je pravzaprav kazalec (ang. pointer).

Pogosta uporaba teh je za deljenje referenc na druge funkcijske bloke, nastavitve, spremenljivi parametri, …

Posamezne naloge je potrebno ''razbiti'' na najmanjše smiselne funkcije, ki jih bo opisovala koda v funkcijskih blokih. Naprava potrebuje naslednje funkcijske bloke (hierarhija glede na globino v seznamu):

- Nadzor varilne glave (osnovna najvišja logika) o Nadzor kamere za strojni vid

▪ Inicializacija kamere o Nadzor motorjev

▪ Inicializacija motorja

o Nadzor receptov (ang. recipe manager) o Nadzor delovne sekvence (avtomatski način)

▪ P regulator (po potrebi se lahko doda tudi I in D komponento)

▪ Nadzor varilnika

• Inicializacija varilnika

Slika 6.2.2: Funkcije, ki si potrebne za realizacijo avtomata. Funkcije, ki se nahajajo znotraj drugih se lahko smatrajo kot razširitev.

(46)

31

6.2.1. Nadzor motorjev

Motorje nadziramo s pomočjo univerzalnih funkcijskih blokov skupnosti PLC open, ki skrbi za standardne izvedbe programske opreme v industrijski avtomatizaciji. Funkcijski blok za nadzor motorjev se imenuje ''FB_AxisControl'', v katerega so implementirani različni funkcijski bloki za razne načine pomikanja. Ker imamo ročno konzolo bomo potrebovali nadzor s konstantno hitrostjo, če je pritisnjena tipka (ang. JOG). Za nadzor višine bomo uporabili hitrostni način.

Za lažje razumevanje logičnega dela, bomo proces, ki nadzoruje motor, v nadaljevanju imenovali os (ang. axis).

Slika 6.2.1.1: Funkcijski blok za nadzor motorja, FB_AxisControl.

Na vhodu je struktura ''Order'' tipa ''ST_AxisControlVars'', ki zajema vse možne ukaze, ki jih potrebujemo za izvedbo vseh želenih funkcionalnosti in pomikov.

Na izhodu so podatki, ki programu, ki bo funkcijski blok uporabljal, daje informacijo o stanju motorja, kje se nahaja, kam se pomika, ali je os vklopljena, v napaki, …

Najbolj pomembna pa je struktura ''Axis'' tipa ''Axis_REF''. Ta struktura poskrbi za direktno komunikacijo programa in procesa za nadzor motorja v TwinCAT projektu – NC. Znotraj te strukture se nahajajo ukazi ki gredo do logike za pomikanje motorja, ter pa povratne informacije o stanju motorja, servo enote, …

Primer kode za izvajanje pomika s tipkami. Najprej se vzpostavi funkcijski blok MC_Velocity:

AxisMoveVelocity : MC_MoveVelocity; // Velocity control of the axis

Glede na predznačeno hitrost krmilje nastavi smer pomika, hitrost pomika se v funkcijski blok vpiše kot absolutna vrednost:

IF order.velocityModeSpeed >= 0 THEN

direction := MC_Direction.MC_Positive_Direction;

ELSIF order.velocityModeSpeed < 0 THEN

direction := MC_Direction.MC_Negative_Direction;

ELSE

direction := MC_Direction.MC_Undefined_Direction;

END_IF

(47)

32 AxisMoveVelocity(

Axis := Axis,

Execute := order.moveVelocityExecute AND (ABS(order.velocityModeSpeed) <> 0),

Velocity := ABS(order.velocityModeSpeed), BufferMode := MC_Aborting,

Direction := direction );

Pravilno delovanje z raznimi funkcijskimi bloki za posamezno os je predstavljeno v avtomatu stanj. Več o avtomatu stanj je opisano v viru [13].

Slika 6.2.1.2: Avtomat stanj za pravilno uporabo Beckhoff funkcijskih blokov za nadzor motorjev.

(48)

33

6.2.1.1. Nadzor motorjev – vhodne spremenljivke

Opis glavnih ukazov :

Order.enablePower [BOOL]:

Vklop napajanja izhodne motorske enote (motor je pod konstantnim navorom in se ne premika) Order.override [INT] :

Vrednost 0 – 100, s katero se poračuna kolikšen del hitrosti se pošilja na izhodno enoto. Nastavitev 50, bi pomenila, da se upošteva samo 50% vhodne hitrosti. Motor bi se pri nastavitvi 50 obr/min vrtel s 25 obr/min.

Order.homeExectute [BOOL] :

Z nastavitvijo tega ukaza (prehod 0 -> 1) se izvede pošiljanje osi domov (ang. homing).

Order.resetExecute [BOOL] :

Če je prišlo do napake, je potrebna ponastavitev. Ob nastavitvi tega ukaza (0->1) se izvede ponastavitev napak. Brez ponastavitve napake se motor ne bo premikal, saj je zaradi varnosti onemogočeno gibanje.

Order.haltExectue [BOOL] :

Ta ukaz se uporablja za hitro ustavitev, ki ima zelo hiter pojemek (čas od trenutne hitrosti do ho ustavitve napram običajnemu pomikanju). Če se motor vrti in pride do neke kritične napake, ki bi lahko zaradi nadaljnjega pomikanja povzročila škodo, za to vrsto ustavitve uporabimo ta ukaz, ki bo zagotovo dovolj hitro ustavil pomikanje in tako preprečil trčenje ali drug podoben dogodek.

Order.manualSpeed [LREAL] :

Nastavitev hitrosti, ki se bo uporabljala ob pritiskih na tipke na ročni konzoli (ang. JOG). Nastavitev je absolutna vrednost. Smer vrtenja določata spodnja ukaza.

Order.jogForward [BOOL] :

Dokler je ta ukaz ''1'' se bo motor vrtel v smeri urinega kazalca s hitrostjo Order.manualSpeed.

Order.jogBackward [BOOL] :

Dokler je ta ukaz ''1'' se bo motor vrtel v nasprotni smeri urinega kazalca s hitrostjo Order.manualSpeed.

Order.velocityModeSpeed [LREAL] :

Hitrost motorja v hitrostnem načinu. Uporabljeno za regulacijo višine varilne glave in tako posredno regulacijo napetosti varilnega izvora.

(49)

34 Order.moveVelocityExecute [BOOL] :

Ob prehodu tega ukaza iz 0→1 se motor začne pomikati s konstantno hitrostjo Order.velocityModeSpeed. Za spreminjanje hitrosti med izvajanje je potreben ponovni prehod ukaza : 1->0→1 (nova hitrost).

Način spremembe ukaza se določi z nastavitvijo funkcijskega bloka MC_MoveVelocity – parameter MC_MoveVelocity.BufferMode, podatkovnega tipa MC_BufferMode [14]. Kot že izhaja iz samega imena parametra gre za shranjevanje (ang. buffering) ukazov.

Na voljo so :

- MC_Aborting - MC_Buffered, - MC_BlendingLow - MC_BlendingPrevious - MC_BlendingNext - MC_BlendingHigh

Primer spremembe hitrosti v načinu MC_Buffered :

Slika 6.2.1.1.1 : Sprememba hitrosti v času ob nastavitvi MC_BufferMode = MC_Buffered.

Ob uporabi načina MC_Buffered se zgodi : 1. Ob času P0 je ukaz za hitrost vrednost v1,

2. nato se ob času t = P1 – tdeceleration poda ukaz za novo hitrost, v2,

3. motor se najprej ustavi – čas je določen z nastavitvijo časa ustavljanja (pojemek), 4. Nato bo motor pospešil na hitrost v2 z nastavljenim pospeškom,

5. Ob času t = P2 – tdeceleration se nastavi hitrost 0, 6. Motor se su stavi z nastavljenim pojemkom.

Podobno se obešajo tudi drugi načini spremembe ukaza.

Način, ki je najbolj primeren za potrebe naprave je MC_Aborting. Gre za takojšen preklic prejšnjega ukaza in upoštevanje novega.

(50)

35

Slika 6.2.1.1.2 : Sprememba hitrosti v času ob nastavitvi MC_BufferMode = MC_Aborting.

Order.setPositionExecute [BOOL] :

Ob prehodu te nastavitve 0→1 se nastavi trenutna pozicija motorja na želeno vrednost, ki jo definira parameter Order.positionToSet.

Order.positionToSet [LREAL] :

Ob zahtevku Order.setPositionExecute se v trenutno pozicijo motorja vpiše ta vrednost. Uporabno pri pošiljanju osi domov (ang. homing) za nastavitev izhodiščne točke.

6.2.1.2. Nadzor motorjev – izhodne spremenljivke

axisEnabled ]BOOL] :

Povratna informacija, ali je os omogočena.

axisInPosition [BOOL] :

Ko je os v zadani pozicij +- toleranca (vrednost nastavljena v NC parametrih) je vrednost te spremenljivke 1. To velja za pošiljanje v pozicijo, ustavljanje, pošiljanje domov, …

axisPosition [LREAL] : Trenutna pozicija osi.

axisSpeed [LREAL] :

Trenutna hitrost osi – za primerjanje z nastavljeno hitrostjo, diagnostika, … error [BOOL] :

Če je os prišla v stanje napake, se ta spremenljivka postavi na ''1''. Za ponastavitev je potrebno poklicati ukaz Order.resetExecute.

(51)

36

6.2.1.3. Nadzor motorjev – kazalci (Axis_Ref)

Struktura, ki se uporablja za prenos informacij iz programa do procesa za sam nadzor motorjev poteka z izmenjavo podatkov v tej strukturi. Na sliki 6.2.1.3.1. je prikazana povezava iz NC dela programa, kjer se izvaja kontrola motorjev , do strukture v delu PLC. Podatkovna struktura FromPlc vsebuje komande, ki povejo enoti, kaj naj motor naredi, struktura ToPlc pa vsebuje informacije o trenutnem stanju motorske enote ter samega motorja (navor, obrati, napaka, stanje, ...) [15].

Slika 6.2.1.3.1: Povezava iz programa (PLC) do procesa za nadzor osi, NC.

(52)

37

6.2.2. Nadzor varilnika

Varilnik se nadzira s uporabo kontrolnih spremenljivk. Na vhodnem terminalu se podatki iz RS232 vmesnika prenesejo v digitalno obliko naprave z vhodi in izhodi.

Slika 6.2.2.1 : Podatki varilnika v surovi obliki.

Glede na dokumentacijo se ustvari vhodna in izhodna struktura v programu, ki služi za lažje razumevanje posameznih bitov, ki se pošiljajo/berejo.

6.2.2.1. Vhodni parametri (podatki iz varilnika v program)

Podatki, ki so potrebni za upravljanje z varilnikom so sledeči : weldingVoltageActualValue [UINT] :

Trenutna napetost varilnega izvora. Informacija ki je potrebna za regulacijo, da se dobi konstanten zvar.

weldingCurrentActualValue [UINT] :

Trenutno tok, ki teče iz varilnika. Manj pomembna informacija, vendar še vedno uporabna, za spremljanje procesa, stabilnosti, …

arcStable [BOOL] :

Ko med varilno konico in varilnim objektom preskoči iskra in teče konstantni tok, se po vzpostavitvi varilnih pogojev ta spremenljivka postavi na ''1''. To se uporablja kot informacijo, da lahko začnemo regulacijo napetosti, saj so trenutni pogoji dovolj stabilni.

torchCollisionProtection [BOOL] :

Če na izhodno strukturo ST_RxWeldingMachineControlParameters nastavimo spremenljivko ST_RxWeldingMachineControlParameters.torchSensing se na konici generira večja visokofrekvenčna napetost. Ko je konica dovolj blizu ozemljenega objekta preskoči iskra in steče tok. V tem trenutku se nastavi ta spremenljivka na ''1''. To informacijo uporabljamo za določanje izhodiščne točke varilne glave. Tukaj se nastavi pozicija osi na 0 z ukazom ST_AxisControlVars.SetPositionExecute.

(53)

38 powerSourceReady [BOOL] :

Če varilnik nima napake in ima priklopljeno napajalno napetost in je vklopljen pravi način (odvisno od nastavitve varilnika) je ta spremenljivka ''1''.

communicationReady [BOOL] :

Če ni napake in je varilnik pripravljen za sprejemanje ukazov, ima ta spremenljivka vrednost ''1''.

errorNr [BYTE] :

Identifikator trenutne napake.

6.2.2.2. Izhodni parametri (podatki iz programa v varilnik)

Podatki, ki so potrebni za upravljanje z varilnikom so sledeči : weldingStart [BOOL] :

Z nastavitvijo te spremenljivke se začne varjenje.

robotReady [BOOL] :

Pogoj, da lahko nastavimo weldingStart. Če ta parameter ni ''1'' se varjenje ne bo začelo (varilnik ne začne izvajati programa, napetost na konici ostane na 0V).

Job [BYTE] :

Izbira programa varjenja. To je stvar varilnika in se nastavi na vmesniku, ki je na varilniku.

sourceErrorReset [BOOL] :

Če je zaznana napaka jo lahko s to nastavitvijo pobrišemo – to je pomembno ob novem zagonu in inicializaciji naprave, ker je takrat na varilniku prisotna napaka (varnost).

(54)

39

6.2.2.3. Inicializacija varilnika

Slika 6.2.2.3.1 : Grafična predstavitev funkcijskega bloka za inicializacijo varilnika.

Za pravilni zagon varilnika je potrebno izvesti točno določeno zaporedje ukazov.

1. Za inicializacijo je potrebno vhodno spremenljivko Init postaviti na 1.

2. Nato se na izhodno strukturo out (tipa ST_RxWeldingMachineControlParameters) nastavi parameter out.robotReady.

3. Po kratki zakasnitvi 100 ms ponastavimo napako na varilniku (če je ta obstajala).

4. Nato nastavimo osnovne bite na način delovanja – modeBit1/2/3.

5. Prav tako nastavimo program s katerim se bo varilo.

6. Ko se parameter vhodne strukture powerSourceReady postavi na ''1'' je inicializacija končana in varilnik je pripravljen za uporabo.

Slika 6.2.2.3.2 : Avtomat stanj inicializacije varilnika.

(55)

40

Avtomat stanj se realizira z uporabo izbirnega stavka (ang. case). Glede na stanje spremenljivke ''initStep'' se izvaja točno določen del kode, ki je definiran znotraj izbirnega stavka. Začetek kode je pogojen z izbiro vrednost ''[X]:'', kjer X predstavlja vrednost, ki jo mora imeti izbirna spremenljivka, da se bo izvajal ta del kode. Izvajana koda za določen korak se konča z začetkom naslednje vrednosti, ''X+1]:''.

initializeRising(CLK:=init);

IF NOT init THEN initStep:=0;

END_IF

CASE initStep OF 0:

IF initializeRising.Q THEN initStep:=1;

END_IF 1:

out.robotReady:=TRUE;

initialized:=FALSE;

ACT_doDelay();

2:

out.sourceErrorReset:=TRUE;

ACT_doDelay();

3:

out.sourceErrorReset:=FALSE;

initStep:=initStep+1;

4:

out.modeBit0:=0;

out.modeBit1:=1;

out.modeBit2:=0;

out.job:=welderJobSelected;

ACT_doDelay();

5:

IF in.powerSourceReady THEN ACT_doDelay();

END_IF 6:

initialized:=TRUE;

initStep:=0;

END_CASE

(56)

41

ACT_doDelay() izvede zakasnitev 100 ms. Po pretečenem času se časovnik ponastavi, trenutni korak inicializacije pa se poveča za 1, prehod v naslednje stanje. Gre za funkcijski blok TON, ki se nahaja v eni izmed Beckhoff knjižnic. Ob prehodu vhodne spremenljivke IN 0->1 se začne časovnik. Po času PT se izhod Q postavi na 1. Funkcijski blok se ponastavi z prehodom vhodnega signala IN 1->0.

delay(IN:=TRUE);

IF delay.Q THEN

delay(IN:=FALSE);

initStep:=initStep+1;

END_IF

Slika 6.2.2.3.3: Grafični prikaz funkcijskega bloka TON.

Slika 6.2.2.3.4: Časovni potek spremenljivk funkcijskega bloka TON.

(57)

42

6.2.2.4. Pretvorba podatkov varilnika

Podatki varilnika so v zelo osnovni obliki, vidni na sliki 6.2.2.1. Da se lahko uporabi strukturo, ki ima smiselne podatke, je potrebno le-te najprej pravilno sestaviti. Primer preslikave (ang. mapping) nekaterih spremenljivk na vhodne strukture:

Map_FroniusDataIn.arcStable:=KL6021_F_DataIN[1].0;

Map_FroniusDataIn.processActive:=KL6021_F_DataIN[1].2;

Map_FroniusDataIn.mainCurrentSignal:=KL6021_F_DataIN[1].3;

Map_FroniusDataIn.torchCollisionProtection:=KL6021_F_DataIN[1].4;

Map_FroniusDataIn.powerSourceReady:=KL6021_F_DataIN[1].5;

Map_FroniusDataIn.communicationReady:=KL6021_F_DataIN[1].6;

6.2.3. Proporcionalni regulator

Za začetek smo implementirali samo proporcionalni (P) regulator z dodatkom filtriranja povratnega signala (povprečenje). Po potrebi, bomo v nadaljevanju lahko dodali tudi I in D komponento.

Slika 6.2.3.1: Simbol P regulatorja.

Slika 6.2.3.2 : Blokovna shema regulatorja.

Za regulacijo višine varilne glave bomo uporabili proporcionalni regulator (P regulator). Funkcijski blok vzame vhodno željeno vrednost in trenutno merjeno vrednost. Odstopanje se prišteva k izhodni vrednosti. Zaradi hitrih napetostnih sprememb implementiramo tudi povprečenje vhodne vrednosti.

Vsakih 50 ms se vzame povprečna vrednost, ki se določi iz vzorcev vzetih vsakih 10 ms (delovni cikel izvajanje kode)- Glede na razliko se določi napaka. Zaradi varnosti ima blok tudi vhodno nastavitev za minimalno in maksimalno izhodno vrednost, če bi regulator postal nestabilen.

Reference

POVEZANI DOKUMENTI

Ta sistem za nastavljanje žariščne razdalje pa poleg nastavitve žariščne razdalje v z-osi sistem zagotavlja tudi ravno žariščno ravnino.. Poleg obdelave tridimenzionalnih površin

Najbolj pogosto se v tem primeru uporabi varjenje EPP (elektroobločno varjenje pod pra- škom), ki vključuje težek manipulator, ki je zasnovan za varjenje obodnih in dolgih varov,

V dnevni sobi se nahaja infrarde i sprejemnik, ki spremlja ukaze univerzalnega daljinskega upravljalnika. Z daljinskim upravljalnikom se upravlja z razsvetljavo in žaluzijami

Protokolna plast za razliko od povezovalne plasti, ki upravlja komunikacijo med sosednjimi vrati, upravlja komunikacijo med gostiteljem in napravo. Protokolna plast

Pomembno vlogo pri zapolnjevanju vrzeli med procesom poučevanja in procesom učenja pa ima formativno spremljanje, ki omogoča z osmišljanjem in načrtovanjem osebnih ciljev

Zavarovanje podatkov zapisovalnika Iz aplikacije TraSens, ki je namenjena za spremljanje meritev, sicer ni mogoˇ ce spreminjati podat- kov na zapisovalniku, vendar lahko oseba, ˇ ce

Ko uporabnik izbere, da bo telo vrgel navzdol, lahko poleg zaˇ cetne in vmesne viˇsine z dr- snikom nastavlja tudi zaˇ cetno hitrost meta.. Izbere lahko zaˇ cetno hitrost z intervala

Poleg fiziˇ cno vgrajenega varnostnega elementa ima lahko mobilna naprava tudi sistem, ki omogoˇ ca rabo virtualnega varno- stnega elementa, vendar mora biti v tem primeru vsaj