UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO, FAKULTETA ZA STROJNIŠTVO Domen Gošek PROGRAMSKA OPREMA ZA AVTOMATIZACIJO SISTEMA ZA KONTINUIRNO LITJE ZLITIN Diplomsko delo Maribor, avgust 2017
UNIVERZA V MARIBORU
FAKULTETA ZA ELEKTROTEHNIKO,
RAČUNALNIŠTVO IN INFORMATIKO,
FAKULTETA ZA STROJNIŠTVO
Domen Gošek
PROGRAMSKA OPREMA ZA AVTOMATIZACIJO
SISTEMA ZA KONTINUIRNO LITJE ZLITIN
Diplomsko delo
Maribor, avgust 2017
PROGRAMSKA OPREMA ZA AVTOMATIZACIJO
SISTEMA ZA KONTINUIRNO LITJE ZLITIN
Diplomsko delo
Študent: Domen Gošek
Študijski program: Študijski program 1. stopnje
Mehatronika
Mentor FERI: doc. dr. Miran Rodič
Mentor FS: Lektorica:
dr. Franc Zupanič
Mojca Tergušek, prof.
i
iii
ZAHVALA
Zahvaljujem se mentorjema doc.
dr. Miranu Rodiču, dr. Francu
Zupaniču ter podjetju Miel
Elektronika d. o. o. za vso pomoč
pri opravljanju diplomske naloge.
Prav tako hvala tudi vsem ostalim
profesorjem, ki so bili pripravljeni
odgovoriti na vsa moja vprašanja
ter so svoje izkušnje in znanje
prenašali naprej.
Posebej se zahvaljujem svoji
družini in dekletu Nini Pisek, da so
me vedno podpirali in mi študij
tudi omogočili.
1
PROGRAMSKA OPREMA ZA AVTOMATIZACIJO
SISTEMA ZA KONTINUIRNO LITJE ZLITIN
Ključne besede: PLK, logični krmilnik, analogno/digitalni pretvornik, avtomatizacija, SCADA,
vlečenje palice, kontinuirno litje, vodenje, materiali
UDK: 338.364:669.018.258(043.2)
Povzetek
Diplomsko delo obsega podroben pregled skozi zahteve, ki jih je podal Inštitut za materiale
na Fakulteti za strojništvo v Mariboru. Tako so opisani postopki in logika delovanja
programske opreme, ki je ključna pri avtomatskem režimu kontinuirnega litja. Prilagojena sta
bila predhodno izdelana nadzorni program kot tudi grafični vmesnik. Skozi celotno delo so
vidni odseki programske kode, ki je rezultat mnogih preizkusov na maketi. Za testiranje
programske opreme je bila uporabljena predhodno izdelana maketa s programirljivim
logičnim krmilnikom ter enosmernim motorjem z inkrementalnim dajalnikom.
2
SOFTWARE FOR AUTOMATIZATION FOR
CONTINUOUS CASTING OF ALLOYS
Key words: PLC, logical controller, analog/digital converter, automatization, SCADA, stick
pulling, continuous casting, leading, materials
UDK: 338.364:669.018.258(043.2)
Abstract
This diploma work contains detailed overview of new requirements, which were given by the
Institute of materials at the Faculty of Mechanical engineering, University of Maribor.
Procedures and software logic are described for crucial tasks of the automatic regime actions
in continuous casting. An existing control program written in CX-Programmer environment
and also graphical interface written in CX Supervisor environment were modified and
upgraded. Parts of the software that are included in the text have also been extensively
tested. For testing the pre-made model was used, which contained pragrammable logical
controller, several switches and DC motor with incremental encoder.
3
KAZALO VSEBINE
KAZALO VSEBINE ........................................................................................................................ 3
KAZALO SLIK ............................................................................................................................... 5
SEZNAM UPORABLJENIH SIMBOLOV.......................................................................................... 7
1 UVOD ................................................................................................................................... 9
2 SPLOŠNO O PROGRAMIRLJIVIH LOGIČNIH KRMILNIKIH ................................................... 10
2.1 Zgodovina programirljivih logičnih krmilnikov .......................................................... 11
3 TEORETIČNO OZADJE PROCESA KONTINUIRNEGA LITJA .................................................. 12
3.1 Splošno o kontinuirnem litju ..................................................................................... 12
4 PROCES LITJA VLEČENIH PALIC .......................................................................................... 13
5 OPIS PROBLEMA – ZAHTEVE INŠTITUTA ........................................................................... 15
5.1 Opis nastavitvenih parametrov ................................................................................. 17
5.1.1 Čas vleka: ............................................................................................................ 17
5.1.2 Prva hitrost hitrostnega profila: ......................................................................... 17
5.1.3 Druga hitrost hitrostnega profila: ...................................................................... 17
5.1.4 Prvi postanek: ..................................................................................................... 18
5.1.5 Drugi postanek: .................................................................................................. 18
5.1.6 Čas povratnega sunka: ....................................................................................... 18
5.1.7 Hitrostni profil sistema ....................................................................................... 19
5.2 Proces avtomatskega litja .......................................................................................... 19
6 OPIS KOMPONENT ............................................................................................................ 20
6.1 Opis izhodiščne opreme ............................................................................................ 20
6.2 Opis izhodiščne programske opreme ........................................................................ 21
6.2.1 SCADA ................................................................................................................. 21
7 OPIS IN PREDSTAVITEV USPEŠNO ZAKLJUČENEGA PROJEKTA.......................................... 22
8 PROGRAMSKO DELOVANJE AVTOMATSKEGA REŽIMA ..................................................... 24
8.1 Uporaba časovnika TIMH(015) .................................................................................. 25
8.1.1 Prvi postanek ...................................................................................................... 25
8.1.2 Drugi postanek ................................................................................................... 27
8.2 Hitrostni profil sistema .............................................................................................. 27
8.3 Algoritem generiranja referenčnih točk v hitrostnih profilih .................................... 28
4
8.4 Filtriranje toka motorja.............................................................................................. 42
8.5 Programska sekcija povratni sunek ........................................................................... 43
8.6 Položajna regulacija ................................................................................................... 46
9 KAKO UPORABLJATI NADGRADNJO .................................................................................. 48
9.1 Uporaba ročnega režima ........................................................................................... 48
9.2 Uporaba avtomatskega režima.................................................................................. 49
10 SKLEP ............................................................................................................................. 51
11 VIRI ................................................................................................................................ 52
12 PRILOGE ......................................................................................................................... 53
5
KAZALO SLIK
Slika 1: Litje plošč [7] ................................................................................................................ 12
Slika 2: Primer faznega diagrama za zlitino niklja in aluminija [8] ........................................... 13
Slika 3: Različni načini kontinuirnega litja [1] ........................................................................... 15
Slika 4: Prikaz simboličnega hitrostnega profila motorja ......................................................... 19
Slika 5: Izhodiščna programska oprema SCADA ....................................................................... 22
Slika 6: Strojna oprema v laboratoriju ...................................................................................... 23
Slika 7: Aktivacija merkerja...................................................................................................... 24
Slika 8: Časovnik TIMH(015) za prvi postanek .......................................................................... 25
Slika 9: Prikaz argumentov časovnika TIMH(015) .................................................................... 25
Slika 10: Pretvorba podatkov v funkcijskem bloku REAL_to_BCD_conversion ....................... 26
Slika 11: Funkcijski blok REAL_to_BCD_conversion ................................................................. 26
Slika 12: Časovnik TIMH(015) za drugi postanek ..................................................................... 27
Slika 13: Označitev parametrov na grafu hitrostnega profila, ki jih bo operater moral podati
pred obratovanjem naprave .................................................................................................... 29
Slika 14: Izrezek funkcijskega bloka »Izračuni«, v katerem se izračunajo vse konstantne
vrednosti za optimizacijo izračunov ......................................................................................... 35
Slika 15: Koda funkcijskega bloka "Izracuni", kjer se računajo konstante ............................... 36
Slika 16: Prvi odsek kode funkcijskega bloka "HitProf", kjer pride do računanja 6000 točk ... 36
Slika 17: Drugi odsek kode funkcijskega bloka "HitProf" ......................................................... 37
Slika 18: Tretji odsek kode funkcijskega bloka "HitProf" ......................................................... 37
Slika 19: Pogoji, ki definirajo izračun novih točk ...................................................................... 38
Slika 20: Odsek kode v sekciji avtomatskega režima – pisanje v pomnilnik, uporaba kazalcev
na pomnilniških mestih ............................................................................................................ 38
Slika 21: Prekinitvena rutina, povečevanje kazalca v prvi vrstici ............................................. 39
Slika 22: Branje iz pomnilnika v prekinitveni rutini .................................................................. 39
Slika 23: Koda regulatorja ......................................................................................................... 40
Slika 24: Diagram poteka za izračun položajnih točk za funkcijski blok »HitProf« .................. 41
Slika 25: Funkcijski blok za kontrolo toka ................................................................................. 42
Slika 26: Koda za filtriranje toka četrtega reda ....................................................................... 42
Slika 27: Funkcijski blok »PovratniSunek« implementiran v lestvično logiko .......................... 45
Slika 28: Algoritem povratnega sunka zapisanega v funkcijskem bloku povratnega sunka .... 46
Slika 29: Algoritem položajne regulacije zapisan v funkcijskem bloku
"POLOZAJNA_REGULACIJA" ..................................................................................................... 47
Slika 30: Nova oblika grafičnega vmesnika .............................................................................. 48
Slika 31: Oblika SCADE prilagojena zahtevam inštituta, označeno polje avtomatskega režima
.................................................................................................................................................. 49
Slika 32: Grafični prikaz podatkov o trenutni hitrosti, temperaturi taline in hladilne tekočine
.................................................................................................................................................. 50
6
Slika 33: Dodatni graf za spremljanje dejanske poti ................................................................ 50
7
SEZNAM UPORABLJENIH SIMBOLOV
V – Volt
m – meter
mm/s – milimeter na sekundo
mm – milimeter
s – sekunda
% – odstotek
°C – stopinje celzija
𝑡 – trenutni čas [s]
𝑡1 – čas prve daljice hitrostnega profila [s]
𝑡2 – čas druge daljice hitrostnega profila [s]
𝑡3 – čas tretje daljice hitrostnega profila [s]
𝑡4 – čas četrte daljice hitrostnega profila, ustreza času vlečnega cikla [s]
𝑠0 – začetna pot, hkrati končna opravljena pot [m]
𝑠(𝑡1) – pot opravljena ob koncu prve daljice, hitrostnega profila [m]
𝑠(𝑡2) – pot opravljena ob koncu druge daljice, hitrostnega profila [m]
𝑠(𝑡3) – pot opravljena ob koncu tretje daljice, hitrostnega profila [m]
𝑣1 – prva referenčna hitrost hitrostnega profila [m/s]
𝑣2 – druga referenčna hitrost hitrostnega profila [m/s]
𝑎1 – pospešek prve daljice hitrostnega profila [m/s2]
𝑎2 – pospešek druge daljice hitrostnega profila [m/s2]
𝑎4 – pospešek četrte daljice hitrostnega profila [m/s2]
8
SEZNAM UPORABLJENIH KRATIC
PID – Angl. proportional integral derivative controller
REAL – Številski tip s plavajočo vejico, ki se uporablja pri programiranju
BCD – Decimalni številski tip s fiksno vejico, ki se uporablja pri programiranju
TIMH – Tip časovnika v programskem okolju CX – Programmer
PLK – Programirljiv logični krmilnik
PLC – Programmable logical controller
SCADA – Sistem za nadzor in zajemanje podatkov (ang. Supervisory Control and Data
Acqusition)
INTEGER – Številski tip s celoštevilsko aritmetiko brez decimalne vejice (krajše INT)
WORD – Dolžina dveh pomnilniških mest, ki jo zaseda številski tip s plavajočo vejico
L – Faza v binarnem faznem diagramu, ki označuje talino (angl. Liquid, slo. Tekoče)
9
1 UVOD
Naloga nas, bodočih inženirjev, je razvoj in implementacija novih rešitev v realen čas in
prostor. Smo hitro razvijajoča se družba, ki je postala zahtevna in se hitro naveliča novitet.
Tako si ljudje želimo več in več naprednejših sistemov, ki bi zadostovali našim željam in
potrebam. Kompleksnejši produkti zahtevajo kompleksnejše procese izdelave, ki jih je
potrebno krmiliti.
Na Inštitutu za materiale na Fakulteti za Strojništvo v Mariboru so se v letu 2007 začele
odvijati raziskave z novim pridobljenim sistemom. Laboratorijski testi so dajali določljive in
nedvoumne rezultate. Sistem za kontinuirno litje zlitin na inštitutu za materiale je bil izdelan
v osemdesetih letih prejšnjega stoletja in deluje po konceptu vlečenja palice iz rezervoarja s
talino. Vlečene palice hkrati ohlajamo. Naprava znamke SIEMENS je robustne narave in se
uporablja za laboratorijske namene. Namen naprave je testiranje novih zlitin. Na podlagi
testov določimo novim zlitinam ohlajevalne lastnosti. Z nadaljnjimi testi palic iz enake zlitine,
dobljenih z različnimi parametri ohlajanja, pa določimo še ostale pomembne lastnosti kot so
natezna trdnost, trdota, žilavost, krhkost, električna in toplotna prevodnost in tako naprej.
V diplomski nalogi se bom v opredelitvi celotnega postopka, ki se je nanašal na
nadgradnjo naprave za kontinuirno litje, osredotočil na samo programiranje programirljivega
logičnega krmilnika, kar zadeva izvedbo strogega in natančnega krmiljenja motorja. Podobne
prakse krmiljenja motorja z industrijskim logičnim krmilnikom po hitrosti ali položaju s
pripadajočo PID regulacijo v praksi ne zasledimo skoraj nikjer. Navadno se to počne z
zmogljivejšimi računalniškimi procesorji, kot na primer DSP-ji, s pripadajočo strojno opremo,
ki so v ustrezno kratkih časovnih obdobjih sposobni sprotnega računanja proge s položaji,
pospeški, ter mnogo ostalimi parametri. Primer PID regulacije v praksi so tudi CNC
(numerično krmiljeni) stroji. PID regulacija zagotavlja sledenje zastavljenim krivuljam gibanja
gibajočih se delov naprave po vnaprej določeni progi, ne glede na povzročeno trenje, ki ga
povzroča stik orodja z obdelovalno površino. Trenje, ki ga poznamo iz srednješolskih
učbenikov in je odvisno od pritisne sile na podlago in koeficienta trenja obravnavamo kot
motilno veličino. Klasične stružnice, rezkalni stroji in drugi konvencionalni stroji, te regulacije
nimajo, zato pa potrebujejo toliko bolj zmogljive pogonske sisteme s pripadajočimi prenosi,
da je pogrešek na obdelovancu v predpisanih mejah, prav tako pa funkcijo regulatorja
prevzema operater naprave. Temu pravimo tudi robustna konvencionalna izdelava brez
računalniških in elektronskih komponent.
Sistem na Inštitutu za materiale vsebuje prenos vrtilne veličine v razmerju 1:200. Pri
takšni redukciji vrtljajev z močnim pogonskim sistemom ni pomembnejših dejavnikov, ki bi
na parametre kot so čas vleka, osnovni pomik ali hitrost vleka vplivali do te mere, da bi
10
povzročili pogrešek izven predpisanih meja. Realen sistem vsebuje računalniške
komponente, ki krmilijo pogon po določenem hitrostnem profilu, ima pa tudi možnost izbire
drugih predloženih ali po meri izdelanih hitrostnih profilov. Računalniške komponente so
pomembne tudi pri beleženju podatkov in pri nastavitvah vseh ostalih parametrov. Pri
izvedbi projekta smo se posvetili avtomatskemu režimu vodenja naprave, saj je obstoječi
programski opremi manjkala možnost nastavitve dveh hitrosti vleka ter štirih časov vleka
hitrostnega profila. Cilj in namen diplomske naloge je avtomatizacija sistema za kontinuirno
litje, zato se želimo čim bolj približati originalnim funkcionalnostim obstoječega krmilja, ter
odpraviti nevšečnosti pri delu z njim.
2 SPLOŠNO O PROGRAMIRLJIVIH LOGIČNIH KRMILNIKIH
Programirljivi logični krmilniki (krajše PLK) so danes del že skoraj vsake industrijske
panoge. Najbolj pogosti so na področju logičnega in sekvenčnega vodenja v industrijskih
panogah, saj izvajajo logične, aritmetične, sekvenčne in tudi časovne operacije, katerih
namen je aktiviranje izhodnih bitov, če so izpolnjeni določeni pogoji, ki jih naprave razberejo
iz vhodnih binarnih signalov. Vedno je nujno proženje izhodov, saj je to primarna naloga PLK.
Potek operacij v krmilniku, generira logičen izhod iz krmilnika, ta pa v aktuatorskem sistemu
pomeni določeno akcijo. Izvajanje kakršnih koli operacij znotraj krmilnika ni smiselno, če
dobljena veličina pod nobenim pogojem ne pripomore k vzpostavitvi signala na izhodu
krmilnika. PLK lahko imenujemo tudi industrijski računalnik robustne narave, narejen za
upravljanje z vhodnimi tokovnimi ali napetostnimi veličinami, zlahka pa deluje v
industrijskem okolju, ker ni dovzeten za magnetne motnje v okolju.
Najbolj znane aplikacije s programirljivimi logičnimi krmilniki so tekoči traki ter izvedbe z
roboti. Krmilniki zaznavajo napetosti na vhodih in temu primerno v skladu s programsko
kodo generirajo napetosti na izhodih. Najpogosteje programirljive logične krmilnike
programiramo s pomočjo lestvičnega programskega jezika, ki je razmeroma preglednejši kot
mikrokrmilniški jezik C. Razlog za uporabo bolj pregledne sintakse je v zanesljivosti
krmilniškega sistema, saj v industrijskem okolju preti mnogo nevarnosti. Razvijalec
programske kode je tako manj dovzeten za napake v kodi, ki se lahko pogosteje zgodijo, če je
težavnost programskega jezika velika. Kot rečeno PLK najpogosteje in najlažje programiramo
v lestvičnem programskem jeziku, za njihovo programiranje pa se lahko uporablja tudi
strukturiran tekst, programiranje z mnemoniki, sekvenčnimi funkcijskimi bloki, ki so zelo
podobni diagramom poteka, uporabljajo pa se tudi diagrami s funkcijskimi bloki. Pri teh je
najpomembnejši pretok podatkov, ki se začnejo na vhodih in prehajajo skozi funkcijski blok,
znotraj bloka pa se generira ali eden ali več izhodov. Treba je poudariti, da izhodi iz
funkcijskih blokov niso nujno enaki binarnim signalom iz krmilnika. Izhodi funkcijskih blokov
11
so večkrat uporabljeni v kasnejših operacijah kot spremenljivke, lahko pa jih uporabimo kot
prožilnike signalov izhodnih bitov.
2.1 Zgodovina programirljivih logičnih krmilnikov
Začetek razvoja programirljivih logičnih krmilnikov sega v leto 1968. Takratni inženir
Richard (Dick) Morley, nesporno oče PLK, je tisti čas prvi omenil to besedno zvezo. Razvoj se
je začel. Še preden pa je g. Morley začel s svojim razvojem, je bila takratna industrija
bistveno drugačna, kot jo poznamo danes. Relejske omare in sobe so zasedale ogromno
prostora, zahtevale so stroge urnike vzdrževanja, števci so bili elektro-mehanski, časovniki pa
v pnevmatskih izvedbah. Velikost in cena relejskih sistemov sta bili velika težava. Povezave
med releji so morale biti brezhibne, ob najmanjši napaki sistem ni več deloval pravilno ali pa
sploh ni deloval.
Težnja po avtomatizaciji je prinesla večje in kompleksnejše zahteve. Število relejskih
komponent se je povečevalo, možnost napak je bila velika, pojavljale pa so se vse pogosteje.
Povprečno krmilje naprave v nekem podjetju je lahko vsebovalo tudi do 200 relejev, ki so
morali biti med seboj povezani pravilno in brezhibno. Zaradi težav, ki so jih prinašali relejski
sistemi, se je začel razvoj elektronskih PLK. Nova naprava je prodrla v najrazličnejša podjetja.
Prvi krmilnik Modicon 084 je imel le 125 besed pomnilnika, hitrost pa ni bila zadovoljiva.
Sčasoma se je hitrost povečevala, pomnilnik pa prav tako. Kmalu je g. Morley ustanovil svoje
podjetje z imenom Modicon in začel prodajati prve programirljive logične krmilnike. Beseda
Modicon je kratica za Modular Digital Controller. Prvi izdelki so bili predstavljeni večjim
avtomobilskim podjetjem, kot na primer podjetju General Motors. Prvi krmilnik Modicon 084
ima takšno ime, ker je bil to štiriinosemdeseti prototip. Uspeh prodaje je bil vse manj kot
zadovoljiv. Majhna velikost, kot prednost, ni odtehtala slabosti le 32kb pomnilnika ter
majhnih hitrosti procesiranja. Vendar pa so se razvijalci učili in razvili boljše, hitrejše
krmilnike, ki so imeli na razpolago več pomnilnika. Krmilnik, ki pa je podjetje ponesel v
višave, je bil Modicon 184. Michael Greenberg, ki je krmilnik zasnoval, je spadal med boljše
inženirje na svetu. Škatla s tremi pritrjenimi ročicami za prenašanje tehta slabih 23 kg. Prvi
primerki so še vedno ohranjeni v muzejih.
12
3 TEORETIČNO OZADJE PROCESA KONTINUIRNEGA LITJA
3.1 Splošno o kontinuirnem litju
Litje je v splošnem proces, kjer talino (staljeno kovino) vlivamo v kalupe ali forme, talina
pa se ohladi in strdi ter povzame obliko kalupa. Litje spada med najstarejše in tudi
najpogosteje uporabljene postopke obdelave kovin na svetu. Beseda »kontinuiren« je v
Slovarju slovenskega knjižnega jezika razložena kot pridevnik, ki opisuje potek brez
presledkov in prekinitev. Pri kontinuirnem litju ne gre več za vlivanje taline v oblike ali
kalupe, temveč talino iz peči vlečemo kot trdnino, ta pa povzema obliko kokile. Industrijsko
kontinuirno litje se najpogosteje uporablja za pridelavo surovcev za nadaljnjo obdelavo v
končne izdelke. Surovci lahko zavzemajo več oblik. Lahko so v obliki plošč, valjastih ali pa
različnih prizemskih oblik. Prednost kontinuirnega litja je, da lahko lažje nadzorujemo
ohlajanje palice v kokili, kot ulitka v kalupu. Če ohranjamo hladilno temperaturo kalupa, se
temperatura ulitka niža, ulitek pa se bo ohlajal z vse manjšo hitrostjo ohlajanja. Z
enakomernim hlajenjem kokile pri kontinuirnem litju dosegamo enake hitrosti ohlajanja
taline. Ohlajanje izven kokile nato poteka v zračni atmosferi. Z ekonomskega vidika,
kontinuirno litje dosega kvalitetnejšo in bolj ekonomično proizvodnjo. Postopek
kontinuirnega litja je mogoče avtomatizirati in nadzorovati. Kontinuirno litje se najbolj
uporablja za litje raznih zlitin, kontinuirno ulita pa sta najpogosteje tudi aluminij in baker.
Litje, kot ga vidimo na »Sliki 1«, je le eden od mnogih načinov kontinuirnega litja.
Predhodno staljena talina v peči, se v tem primeru prelije v zgornje lonce označene s številko
1. V loncih se dogaja več procesov, kot na primer legiranje in razplinjevanje. Lonci so
premični in potujejo od peči do livne naprave. Ko je talina v loncu še primerne temperature
Slika 1: Litje plošč [7]
13
za litje, se ti lonci namestijo na livno napravo, kjer so ti pritrjeni na vrtljiv del. Iz prvega lonca
teče talina v napravo, medtem ko drugi lonec ni delujoč in se aktivira šele nato, ko se prvi
lonec izprazni. Ne želimo, da se nam izpraznita oba rezervoarja, saj je njun namen
vzdrževanje neprekinjenega toka taline v kad. Iz lonca se talina pretoči čez ognjevarno pipo v
kad, označeno s številko 2. Kad služi kot rezervoar za talino, med samim procesom litja pa
izravnava tok taline. V kadi se nahaja plazemska bakla za ohranjanje temperature taline
označena s številom 4 in regulator pretoka, označen s številom 5. Talina se iz kadi izliva skozi
hlajene kokile, na drugi strani pa vlečemo trdnino z valjnimi mehanizmi. Kokila, označena s
številko 3, je lahko različne širine, vendar surovcev ne želimo preširokih, saj jih morda ne
želimo kaliti. Problem širokih kokil lahko rešujemo z njeno pravo dolžino, saj se na večji
dolžini kokile širok vlivanec lahko dovolj ohladi [7].
4 PROCES LITJA VLEČENIH PALIC
Slika 2: Primer faznega diagrama za zlitino niklja in aluminija [8]
14
Proces litja na Inštitutu za materiale poteka s podobno napravo, kot je opisana v
prejšnjem poglavju. Naprava vsebuje talilno peč, kjer se talina segreje na primerno
temperaturo, izkustveno 100 do 150 °C nad temperaturo likvidus, kar zaznavamo s
primernimi merilniki temperature v peči. Fazni diagram Aluminija in Niklja na »sliki 2«
prikazuje fazno temperaturna območja za različno koncentracijo enega ali drugega
elementa. Temperaturo likvidus lahko na »Sliki 2« opazimo kot krivulje, ki mejijo na fazo L.
Ta temperatura je odvisna od deleža vsake kovine, ki jo zlitina vsebuje. Krivulja likvidus nam
tako ponazarja prehod iz bodisi metastabilnega bodisi trdnega stanja zlitine v tekočo fazo
ponazorjeno s črko L. S segrevanjem 100 do 150°C nad krivuljo likvidus ohranimo primerno
viskoznost taline, v popolnosti pa se stali vsa kristalna struktura trdnine. Po pretečenem času
taljenja se lahko prične proces litja. Sprva se začne proces hlajenja kokile, sočasno pa
merimo temperaturo vode, s katero jo hladimo. Na začetku potrebujemo del palice, ki bo
štrlel iz kokile, zato da se lahko del palice na začetku procesa litja sprime s talino, ki prihaja iz
peči v kokilo, nato pa jo lahko začnemo vleči iz peči. Pri procesu je zelo pomembna hitrost
litja, temperatura vode v kokili ter čas postanka. Postanek se izvede vsakokrat po izvleku
enega dela palice. Celotna palica, ki pride iz peči, je skupek mnogih vlekov in postankov. V
primeru prevelike hitrosti litja in premajhnega časa postanka lahko pride do pretrganja
palice v kokili. V nasprotnem primeru pa se lahko palica začne zatikati v kokili zaradi
procesov, ki so stekli med hlajeno palico in kokilo. Število vseh vlekov in postankov pa ni
pomembno pri sami nadaljnji analizi kemijskih in mehanskih lastnosti palice, temveč vpliva le
na dolžino izvlečene palice. Časi vleka so lahko različni in so odvisni od vrste taline. Prav tako
je od vrste taline odvisen čas postanka. Vse parametre, lahko spreminjamo tudi med
delovanjem naprave. Vlečni del procesa litja mora biti izveden s posebej predpisanim
hitrostnim profilom. Hitrostni profil je sestavljen iz štirih hitrostnih daljic, ki jim lahko
poljubno nastavljamo čase in hitrosti vleka. Hitrostni profil ni nujno sestavljen iz štirih daljic.
Definiramo jih s pomočjo časov, ki jih moramo podati. Če želimo kakšno daljico izbrisati, je
treba njen končni čas nastaviti na nič. Daljica predstavlja odvisnost hitrosti motorja od
pretečenega časa. Proces vlečenja palice se izvaja pod opisanimi pogoji, ko pa palico
izvlečemo do konca, enostavno prekinemo delovanje naprave tako, da jo zaustavimo s
pretičnim stikalom na panelu, ki definira ročni ali avtomatski režim, zaustavitev pa je možna
tudi z gumbom na grafičnem vmesniku v področju avtomatskega režima z napisom On/Off.
Oba režima definira tudi stikalo na grafičnem vmesniku v zgornjem levem kotu. Za
zaustavitev je dovolj, da je v ročni režim preklopljeno le eno od stikal, za delovanje pa
morata biti vklopljeni obe. Tako zagotovimo še dodatno varnost, ki je pri tej napravi
pomembna. Napravo lahko zaustavimo tudi s pritiskom na gumb zasilnega izklopa. Več o
hitrostnih profilih bom povedal v naslednjih poglavjih o zahtevah in programski izvedbi
avtomatskega režima.
Proces litja vlečenih palic na Inštitutu za materiale na Strojni fakulteti Univerze v
Mariboru se izvaja eksperimentalno, saj poskusi temeljijo na novih še neznanih zlitinah,
15
najpogosteje so to nikljeve zlitine. Naprava je tako namenjena raziskovalnemu
laboratorijskemu delu in odkrivanju novih znanj, ki se lahko nato uporabljajo v industrijah
povsod po svetu.
5 OPIS PROBLEMA – ZAHTEVE INŠTITUTA
Slika 3: Različni načini kontinuirnega litja [1]
Naprava za kontinuirno litje znamke SIEMENS se uporablja za profesionalne
laboratorijske preizkuse, s pomočjo katerih se ugotavljajo mehanske in kemijske lastnosti
nikljevih superzlitin, za potrebe razvoja materialov z boljšimi lastnostmi. Prednost
kontinuirnega litja je v tem, da številnih postopkov, ki so bili potrebni pri klasičnem litju več
ni. Na primer zmanjša se količina človeškega dela, saj je številne stopnje proizvodnje možno
avtomatizirati. Kontinuirno litje bistveno vpliva na material z vidika nitaste poroznosti,
zmanjšanja makroizcejanja, praviloma manjših nekovinskih vključkov in enakomerne
porazdeljenosti le-teh, z določenimi dodatnimi ukrepi pa je mogoče doseči enakomerno
velikost kristalnih zrn. Vse te lastnosti materiala na nano in mikro nivoju posredno vplivajo
na mehanske lastnosti materiala, ki jih želimo doseči bodisi iz samoiniciativnega
raziskovalnega namena ali zaradi zahtev s strani naročnika laboratorijskega poskusa. Nikljeve
superzlitine se uporabljajo za močno mehansko in toplotno obremenjene komponente v
16
letalski in avtomobilski industriji. Naprava služi delu z zlitinami, kjer je mogoče z različnimi
postopki vroče in hladne predelave in toplotne obdelave v širokih mejah spreminjati lastnosti
nikljevih superzlitin [1].
Na »sliki 3« so vidni različni postopki kontinuirnega litja. Naprava na inštitutu za
materiale deluje po načinu »g«, kjer je vlečena palica deležna tudi sekundarnega hlajenja.
Naprava, na kateri se izvaja proces kontinuirnega litja, lahko deluje v povsem
avtomatskem režimu ali pa v povsem ročnem. V avtomatskem režimu je v stari različici
krmilja bilo možno nastavljati naslednje parametre:
Hitrost vleka [%]
Dolžina vleka [mm]
Prvi postanek [s]
Drugi postanek [s]
Dolžina povratnega sunka [mm]
Hitrost povratnega sunka [%]
PREGLED ČEZ NASTAVITVE PARAMETROV NA OBSTOJEČEM KRMILJU:
Parametra, ki se izračunata glede na vnesene parametre in sta odvisni spremenljivki, sta:
časvleka [s] (kot odvisna spremenljivka hitrosti in dolžine vleka)
čas povratnega sunka [s] (kot odvisna spremenljivka hitrosti in dolžine povratnega
sunka)
Prvi parameter, hitrost vleka v odstotkih, je nastavljiv parameter, ki ne poda dejanskega
podatka o hitrosti litja v mm/s. Nastavljena hitrost na 30 % je zagotovo neuporaben podatek,
če ne poznamo hitrosti v mm/s pri kakršnikoli hitrosti v odstotkih. Tako moramo poznati
medsebojno odvisnost med hitrostjo litja v odstotkih od hitrosti litja v mm/s. Krmilje že
obstoječega sistema dopušča nastavljanje tudi hitrostnih profilov motorja. Profil je lahko
operater nastavil po meri, lahko pa je izbral že obstoječega v naboru predloženih profilov.
Nato sledi parameter dolžina vleka, ki bo na novem sistemu postal odvisna spremenljivka od
nastavitve vseh časov vleka in hitrosti vleka, ki jih bom podrobneje obrazložil pozneje. Tudi
parameter »hitrost povratnega sunka« bo zamenjan s parametrom »čas povratnega sunka«.
Pri postankih posebnosti ni, oba sta nastavljiva parametra.
PREGLED ČEZ NASTAVITEV PARAMETROV NA NOVEM KRMILJU:
Pri pomiku palice iz talilne peči se mora palica pomikati po parametrih, ki jih poda
operater naprave. Parametri, ki jih operater določi, so naslednji:
Čas vleka [s]
Prva hitrost hitrostnega profila [mm/s]
Druga hitrost hitrostnega profila [mm/s]
17
Čas 1 hitrostnega profila [s]
Čas 2 hitrostnega profila [s]
Čas 3 hitrostnega profila [s]
Prvi postanek [s]
Drugi postanek [s]
Čas povratnega sunka [s]
5.1 Opis nastavitvenih parametrov
5.1.1 Čas vleka:
Čas vleka je parameter, ki ga operater poda v sekundah. Čas vleka nam predstavlja
celoten čas, v katerem bo zasuk motorja predpisan po hitrostnem profilu. Hitrostni profil
predpiše operater sam po želji in svojih izračunih, saj le on najbolje ve, kakšne parametre
potrebuje za svojo zlitino. Čas vleka predstavlja četrti čas hitrostnega profila. To je končni
čas, kjer zadnja daljica hitrostnega profila pojema v hitrost nič.
5.1.2 Prva hitrost hitrostnega profila:
Prva hitrost hitrostnega profila je hitrost, do katere bo motor pospeševal iz začetne
hitrosti nič. V sistemu se lahko zaradi prehitrega pospeševanja pretrga film, ki meji na talino
in trdnino. Ob pretrganju se lahko operaterjeva varnost zmanjša, saj se lahko talina skozi
kokilo začne izlivati iz peči v prostor. Prva hitrost nikoli ne sme biti prevelika, mora pa biti
manjša od druge hitrosti. Smiselno je, da je ta manjša.
5.1.3 Druga hitrost hitrostnega profila:
Druga hitrost hitrostnega profila je hitrost, do katere bo motor pospeševal z začetno
hitrostjo prve hitrosti hitrostnega profila do druge hitrosti hitrostnega profila. Dosežek prve
nastavljene hitrosti motorja nakazuje na prehod v doseganje druge nastavljene hitrosti v
nastavljivem času t2 – t1. Navadno je pospešek motorja v tem delu večji kot v prvem delu.
Na takšen način je litje ugodnejše, verjetnost za pretrganje palice pa je na takšen način
majhna.
18
5.1.4 Prvi postanek:
»Prvi postanek« je parameter, ki je pomemben v fazi mirovanja, saj podaja čas
postanka. V tej fazi se talina v kokili ohladi do primerne temperature, pri kateri je potem
trdnina, primerna za izvlek v naslednji fazi. Nastavitev postanka navadno obsega vrednosti
od 0,1 do 1 sekunde.
5.1.5 Drugi postanek:
Drugi postanek je pomemben po izvedbi faze povratnega sunka, saj se tako sprijeti del
odtrga od kokile in seže nazaj v notranjost peči, nato pa se mora motor zopet zasukati za isto
pot v obratni smeri. Po opravljenem procesu se aktivira drugi postanek. V času, ki ga definira
parameter »drugi postanek«, se zopet palica ohladi nazaj, praviloma pa je čas drugega
postanka krajši od prvega postanka.
5.1.6 Čas povratnega sunka:
Čas povratnega sunka je parameter, ki določa, koliko časa se bo palica pomikala v
notranjost in koliko časa se bo palica pomikala tudi iz notranjosti peči. Dilema pri povratnem
sunku se je pojavila pri sami položajni progi sistema. Ko med vnaprej določeno potjo,
program prekine generiranje referenčnih točk (več o generiranju točk v naslovu Programsko
delovanje avtomatskega režima), se dejanska opravljena pot motorja spremeni, referenčna
točka, kamor pa se mora premakniti palica, pa ostane na istem mestu. Zato bo regulator ob
njegovem ponovnem vklopu pri zaključenem povratnem sunku želel zmanjšati zelo velik
pogrešek, ki je nastal. Rešitev težave se odraža v še enem sunku v smeri litja, ki bo opravljen
z istimi parametri, torej čas povratnega sunka in hitrost povratnega sunka.
19
5.1.7 Hitrostni profil sistema
Hitrostni profil sistema prikazuje simbolični graf spodaj v odvisnosti od hitrosti motorja
[mm/s] in časa. Na grafu vidimo, da je sestavljen iz štirih daljic z različnim koeficientom
naklona. Koeficient naklona daljice nosi podatek o pospešku motorja. Gibanje v prvi daljici je
najmanj pospešeno. Zaradi nevarnosti pretrganja palice v kokili hitrejše pospeševanje
gibanja ni priporočljivo, če se operater nahaja v bližini talilne peči. V drugi daljici v časovnem
intervalu od t1 do t2 pa opazimo, da je pospeševanje motorja hitrejše. Od točke t1 naprej ni
več tolikšne nevarnosti o pretrganju, začelo pa se je popolnoma kontinuirno litje. V tretji
daljici v časovnem intervalu od t2 do t3 pa gibanje motorja odraža enakomerna hitrost. V
tem intervalu ne želimo več pospeševati s hitrostjo motorja, saj se bo zaviranje kmalu začelo.
Nenaden prehod iz pospeška v pojemek ni priporočljiv za delovanje motorja, saj krajša
njegovo življenjsko dobo, kar pomeni večjo obrabo, večje tokovne špice pri prehodu ter
skokovito delovanje.
Slika 4: Prikaz simboličnega hitrostnega profila motorja
5.2 Proces avtomatskega litja
Avtomatski režim ob normalni vrednosti toka, ki teče v motor, ciklično ponavlja dve fazi,
vse dokler operater ne prekine avtomatskega vodenja:
Zasuk motorja za pomik, ki je odvisen od nastavitve šestih parametrov hitrostnega
profila,
Obstanek motorja za časovni parameter »prvi postanek«
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#1
𝑣2
𝑣1
𝑡1 𝑡2 𝑡3 𝑡4
20
Na takšen način lahko sistem izvleče iz peči tako dolgo palico, kolikor je taline v peči.
Takšne vrste proces litja med postankom hladi palico v kokili ravno prav, da se ta ne sprime
nanjo. Med obratovanjem motorja pa se ohlajena palica izvleče ravno toliko, da se nova
talina znova hladi v obliki palice v kokili.
Če je v kokili prišlo do sprijemanja zaradi nepravilnih vrednosti parametrov hitrostnega
profila, zaradi povišane sile trenja na vlečnih valjih in zaradi hitrostne regulacije, ki jo sistem
vsebuje, naraste tok motorja. Če prihaja do sprijemanja, so razlog za to nepravilno
nastavljeni parametri hitrostnega profila, saj ti pogojujejo hitrost vrtenja motorja, kar
pomeni hitrost izvleka palice. Če je ta prepočasna, se palica začne sprijemati. Naraščanje
toka zaznamo z ustreznim senzorjem. V tem primeru ukrepamo z izvedbo povratnega sunka,
ki se izvaja toliko časa, kolikor ga parameter »čas povratnega sunka« definira. Po izvedbi
povratnega sunka se izvede postanek za toliko časa, kolikor ga definira parameter»drugi
postanek«. Tok, ki ga zaznavamo, je potrebno filtrirati saj ne smemo reagirati ob prvi skočni
spremembi, razen če sprememba presega večkratnik postavljene meje. Tako dovolimo rahle
spremembe toka. Algoritem povratnega sunka se izvede v naslednjih fazah:
zaznavanje povišanega toka, ki teče v motor v štirih programskih ciklih dolžine
približno 15 milisekund. Skupaj 60 milisekund,
izvedba povratnega sunka s parametrom »čas vleka« (v obeh smereh),
postanek opredeljen s parametrom »drugi postanek«,
nadaljevanje avtomatskega režima ob normalni vrednosti toka, ki teče v motor.
Če se zgodi, da po dveh ali treh ponovitvah težava ni odpravljena, mora operater
prekiniti delovanje z zasilnim izklopom ter sprijeto kokilo zavreči.
6 OPIS KOMPONENT
6.1 Opis izhodiščne opreme
Krmilje vsebuje napajalnik znamke OMRON tipa S8VK-G06024, logični krmilnik OMRON
CP1L-EM30DT1-D z razširitveno kartico CP1W-ADB21, paralelno pa vsebuje še
analogno/digitalni pretvornik CP1W-MAD42. Krmilje prav tako vsebuje še voden enosmerni
motor, kjer na njegovih krmilnih vhodih generiramo enake krmilne signale +/- 10V, ki se
bodo uporabljali na realnem sistemu. Enosmerni motor ima implementiran inkrementalni
dajalnik s 189 pulzi na obrat, ter rotacijskim delom premera 43,8mm. Za obratovanje
motorja se glede na te parametre uporablja faktor pretvorbe iz enot, ki jih zna prebrati
analogno digitalni pretvornik v mm/s. Faktor pretvorbe1 se eksperimentalno določa na
1 O faktorju pretvorbe v poglavju 7.6 POLOŽAJNA REGULACIJA
21
vsakem sistemu posebej, tako na maketi kot na pravem sistemu na Inštitutu za Materiale na
Fakulteti za Strojništvo Univerze v Mariboru.
6.2 Opis izhodiščne programske opreme
6.2.1 SCADA
SCADA je kratica, ki stoji za angleško besedno zvezo Supervisory Control And Data
Acquisition. Služi nadzoru sistemskih parametrov, prav tako pa jih lahko z njeno pomočjo
nastavljamo. V SCADI se najbolj odraža grafična predstavitev sistema, saj tako operater dobi
dobro predstavo o dogajanju v celotnem sistemu. Grafični vmesnik, ki ga je predhodno
izdelal univ. dipl. inž. meh. Matevž Lešnik, sem zaradi potreb zahtev in programske logike
ustrezno preoblikoval. Podrobneje bom prirejen grafični vmesnik opisal v osmem poglavju z
naslovom Kako uporabljati nadgradnjo.
»Slika 4« prikazuje grafični vmesnik, ki je prikazan med samim obratovanjem sistema.
Na zaslonu vidimo tipke za preklop med ročnim in avtomatskim vodenjem (gornji levi kot),
zraven pa je gumb za preklop med zaslonoma. Na drugem zaslonu je viden grafičen potek
temperatur v odvisnosti od časa. V ročnem režimu lahko hitrost nastavljamo s pomočjo
drsnika. Drsnik v skrajno desno pomeni maksimalno hitrost motorja. Gumba nazaj in naprej
pa definirata obratovanje motorja v desno ali levo. Nato lahko v avtomatskem režimu
nastavljamo parametre, ki jih je predhodnik uporabljal pri delu z demo sistemom. Sam
avtomatski režim se sproži z gumbom »Prični z delovanjem« ter preklopom gumba v
zgornjem levem kotu. Grafični vmesnik nam prav tako prikazuje trenutni čas, temperaturo
taline in temperaturo hladilne tekočine. Indikatorja za kritično obremenitev in alarm se
sprožita če je v prvem primeru tok motorja prevelik, v drugem primeru pa če je bila
pritisnjena tipka za zasilni izklop. V desnem kotu lahko nastavljamo število pulzov
inkrementalnega dajalnika na obrat gredi motorja, pod njim pa vnesemo premer vlečnega
dela motorja. V odseku »senzorji pomika« se nahajajo tri indikacije, in sicer če se motor
premika naprej, nazaj ali pa miruje. Prikazan je tudi podatek o opravljeni poti in hitrosti.
Sredinski del grafičnega vmesnika služi nastavljanju parametrov regulacije, od katerega je
ostal nastavljiv le en parameter.
22
Slika 5: Izhodiščna programska oprema SCADA
Grafični vmesnik vsebuje še eno okno, v katerem je mogoče opazovati trenutno
hitrost motorja ter temperaturo hladilne tekočine in taline. Do njega lahko dostopamo s
pritiskom na gumb Grafični prikaz podatkov v zgornjem levem kotu osnovnega okna.
7 OPIS IN PREDSTAVITEV USPEŠNO ZAKLJUČENEGA
PROJEKTA
Naloga, ki smo jo želeli opraviti, je bila staro krmilje povezati z novim in vzpostaviti
paralelno povezavo. Krmilje se bo namestilo v eno od že obstoječih omaric na fizični lokaciji
naprave, kar je tudi del projekta, ki pa bo opisan v diplomskem delu mojega sošolca. Vse
skupaj bo potrebno povezati z enoto s stikali za ročno vodenje ter tipkama za zasilni izklop in
reset. Enota vsebuje tudi preklopno stikalo za izbiranje med ročnim in avtomatskim
režimom.
Delo se je začelo s študijem dokumentacije v nemškem in angleškem jeziku.
Dokumentacija preučevanja je vsebovala podatke o napravi in njenih lastnosti. Najbolj očitne
lastnosti so bile električne sheme, blokovni diagrami in najrazličnejše strojne risbe
komponent naprave. Lastnosti naprave, ki jih je bilo treba poiskati, so bile:
število pulzov na obrat inkrementalnega dajalnika,
način krmiljenja motorja in fizična lokacija priključkov,
23
navor motorja,
hitrost vleka palice [mm/s] pri izbrani krmilni napetosti [%], iz katere je sledila
linearna interpolacija, s pomočjo grafov v dokumentaciji.
Enota s stikali je industrijska enota s tremi stikali, dve sta potisni stikali z vzmetnim
izklopom za ročno vodenje naprej nazaj. Zelen gumb pomeni vodenje naprej, rdeči gumb pa
pomeni vodenje nazaj. Enota vsebuje tudi preklopno stikalo. Preklopno stikalo izbira med
ročnim in avtomatskim načinom vodenja.
Ročni način vodenja: S pritiskom na tipko naprej vlečemo palico iz peči. Imamo tudi
možnost pomika nazaj če se palica zatakne.
Avtomatski način vodenja: Krmilnik sam uravnava položajno regulacijo. Regulacijski
parameter je eksperimentalno določen.
Slika 6: Strojna oprema v laboratoriju
Na sliki zgoraj so vidne komponente eksperimentalne strojne opreme. Z leve proti
desni sta na ploščo implementirana programirljivi logični krmilnik znamke Omron model
CP1l-E, zgoraj pa se nahaja analogno digitalni pretvornik MAD42. Na krmilnik so z leve
povezani bitni vhodi (tipke, stikala, pulzi inkrementalnega dajalnika), z desne stani krmilnika
pa so nanj povezani bitni izhodi (LED-lučke, enable signal). Prav tako kot PLK ima tudi A/D
pretvornik svojo linijo vhodov in izhodov. Nanj so kot vhodi povezani temperaturni senzorji
in tokovni senzor, na izhodu pa se generira napetost za krmiljenje motorja, ki jo programsko
izračuna regulator. V srednji liniji plošče je nameščen napajalnik za napajanje krmilnika,
zraven pa se nahaja glavno stikalo za napajanje. Zraven stikala se nahaja tudi vezje za
galvansko ločitev ter pretvorbo signalov inkrementalnega dajalnika iz napetosti 5V na
napetost 24V. Vezje vsebuje vhodne priključke, na katere so povezani signali iz
inkrementalnega dajalnika in 24V napajanje, ter izhodne priključke, ki so nato vezani na hitre
vhode krmilnika. Na desni strani plošče so združeni izhodni in vhodni priključki krmilnika in
A/D pretvornika. Na enoto s priključki so vezani vsi vhodi in izhodi krmilja. Takšno enoto
24
potrebujemo zato, da v primeru implementacije novih vhodnih signalov v krmilnik ne
posegamo neposredno na krmilne priključke krmilnika ter jih tako obrabljamo. Tako po
implementaciji plošče na realen sistem operaterji in razvijalci ne potrebujejo več fizičnega
stika s krmilnikom. Desno stran eksperimentalnega modela predstavlja enosmerni motor z
regulacijskim vezjem. Prisotna je tudi eksperimentalna ploščica z gumbi za ročno vodenje,
stikalom za preklop med avtomatskim in ročnim režimom ter gumboma reset in stop.
8 PROGRAMSKO DELOVANJE AVTOMATSKEGA REŽIMA
Delovanje avtomatskega režima je razdeljeno na več podsistemov delovanja. V
programskem odseku »AvtomatskiRežim« se sprva izvede preverjanje pogojev, ki so
potrebni za izvajanje avtomatskega režima. Ti pogoji so aktivni, če je vklopljeno stikalo na
panelu ter sta aktivni dve stikali v grafičnem vmesniku. Skupno trije zaporedno vezani
izpolnjeni pogoji aktivirajo izhod z imenom »Automatsko« na pomnilniškem mestu W4.08.
Izhod je aktiviran vse dokler pogoji, ki ga aktivirajo, ostajajo aktivni. Izhode takšne vrste v
žargonu poimenujemo merkerji. Merkerji so pomemben del programske kode, saj z njihovo
pomočjo bistveno zmanjšamo obseg programa ter ga naredijo preglednejšega, po navadi pa
se nahajajo v samem začetku kode v lestvičnem jeziku.
Slika 7: Aktivacija merkerja
Grafični vmesnik – SCADA, je nepogrešljiv del sistema za kontinuirno litje vlečenih
palic. V grafičnem vmesniku nastavimo vse potrebne parametre za izvajanje avtomatskega
režima. Imamo možnost nastavitve časa vleka, časa prvega postanka, pomika, časa drugega
postanka in tudi časa povratnega sunka, med novimi zahtevami pa se je pojavila želja po
možnosti izbire več hitrostnih profilov. Oba postanka, prvi in drugi, sta pomembna pri
samem delovanju v avtomatskem režimu. Prvi postanek definira, koliko časa mora motor
mirovati na referenčnem položaju med posameznimi vleki. Podatek o postanku vpiše
operater, REAL pa je podatkovni tip tega parametra. Podatkovni tipi so pomembni v
programski kodi, saj določajo obseg števil in možnost uporabe plavajoče vejice. Podatkovni
tip REAL je uporabljen za aritmetiko s plavajočo vejico.
25
8.1 Uporaba časovnika TIMH(015)
8.1.1 Prvi postanek
Kakor vidimo na sliki spodaj, sem za realizacijo postanka uporabil hitri časovnik
TIMH(015) z 10 milisekundno izvedbo časa. Torej podatek v spodnjem okencu časovnika
pomnožen s 100, nam poda vrednost zakasnitve izhoda v sekundah.
Slika 8: Časovnik TIMH(015) za prvi postanek
Specifika vseh časovnih inštrukcij v programskem okolju CX programmer, je delovanje
z le enim možnim podatkovnim tipom, to je BCD podatkovni tip.
Slika 9: Prikaz argumentov časovnika TIMH(015)
Da časovnik deluje pravilno, je bila potrebna pretvorba iz podatkovnega tipa REAL v
BCD. Ta pretvorba neposredno ni možna, saj ne obstaja takšne vrste funkcijski blok, ki bi to
zmogel, lahko pa se najprej pretvori podatkovni tip REAL v 32 bitni podatkovni tip INTEGER,
nato je potrebna pretvorba tega tipa v nepredznačeni INTEGER, nato je šele možna
pretvorba tega tipa v BCD podatkovni tip z dolžino enega WORD-a. Tako sem pretvorbo
podatkovnega tipa izdelal v šestih vrsticah c – programskega jezika.
26
Slika 10: Pretvorba podatkov v funkcijskem bloku REAL_to_BCD_conversion
Slika spodaj prikazuje implementacijo programskega bloka, ki vsebuje zgornjih 6 vrstic
c – kode. Kot lahko vidimo z leve strani, sta vhoda v funkcijski blok podatka iz grafičnega
vmesnika. Na pomnilniškem mestu D126 se nahaja spremenljivka PREMOR1, kar operater
naprave vnese kot čas prvega postanka, na pomnilniškem mestu D128 pa se nahaja
spremenljivka PREMOR2, v katero operater naprave vnese kot čas drugega postanka. Na
izhodu funkcijskega bloka se nahajata spremenljivki in vsebujeta podatke o postanku v
primernem podatkovnem BCD tipu, ki jih lahko nato uporablja hitri časovnik TIMH(015) kot
svoje argumente.
Slika 11: Funkcijski blok REAL_to_BCD_conversion
27
8.1.2 Drugi postanek
Drugi postanek je uporabljen enkrat v kombinaciji s povratnim sunkom. Po izvedbi
povratnega sunka se izvede čas drugega postanka, nato pa se cikel vleka palice iz peči
nadaljuje po običajnem postopku. Časovnik z drugim postankom je implementiran v
programski sekciji povratnega sunka ter deluje po enakem postopku kot prvi postanek.
Proženje drugega postanka je izvedeno s spremenljivko na pomnilniškem mestu W5.11 in se
aktivira po izvedbi sunka v in iz peči za isto dolžino.
Slika 12: Časovnik TIMH(015) za drugi postanek
8.2 Hitrostni profil sistema
Izračun hitrostnih profilov sistema je kompleksnejša računska operacija, saj se mora
vlečni del motorja sukati s predpisano hitrostjo v določenem časovnem trenutku.
Programska logika hitrostnega profila je položajne narave, saj je programska koda napisana
tako, da se pot z vsakim programskim ciklom poveča kumulativno glede na predhodno
izračunano položajno progo opravljene poti in časa vleka. Sprva je bila želja sprotno
računanje točk položajne proge na časovni bazi treh milisekund. Ta program nato ni deloval,
saj je sekvenca izvajanja programske kode s takšnim številom računskih operacij časovno
35ms. Ciklični čas je tako enajstkrat večji od želenega. Razvoj programske opreme se je
nadaljeval v smeri implementacije prekinitvene rutine v programsko opremo. Okolje CX-
programmer ter PLK CP1L-E ponujata možnost implementacije več vrst prekinitvenih rutin.
Tako sem izbral načrtovano vrsto prekinitve. Zaradi preobremenjenosti krmilnik je bilo treba
omejiti resolucijo položajne proge na 20ms. Ves algoritem je bil nato prestavljen v
prekinitveno rutino, ki ji strokovno v angleščini pravimo scheduled interrupt. Lastnost
načrtovane prekinitvene rutine je, da prekine izvajanje preostale programske kode, nato pa
se prekinitev prioritetno izvede. Urnik izvajanja prekinitve lahko razvijalec programske
opreme nastavi po želji, odvisno od zmogljivosti strojne opreme. Po implementaciji
celotnega algoritma za sprotno generiranje položajnih točk položajne proge motorja v
prekinitveno rutino je sledil preizkus programa. Programska oprema je še vedno delovala
28
prepočasi, kar se je odražalo kot pogrešek v času vleka in nastavljenih hitrostih, vendar pa je
oprema delovala z manjšim pogreškom kot na začetku. Rešitev problema je bila v
predhodnem izračunu 6000 položajnih točk, ki se shranijo v pomnilnik ena za drugo, nato pa
po istem postopku v prekinitveni rutini na 20ms poteka branje točk iz pomnilnika. Branje
pomnilnika zahteva bistveno manj cikličnega časa kot sprotno računanje večjih enačb. Po
preizkusu takšne programske opreme so parametri čas vleka in pripadajoče hitrosti
ustrezale. Predhoden izračun 6000 točk ustreza 2 minutama delovanja, saj je
6000*0,02s=120s. Čas vleka nadzira časovnik, ki po koncu izvedenega algoritma aktivira
spremenljivko za proženje štetja časovnika za postanek, hkrati pa ista spremenljivka prekine
branje iz pomnilnika v prekinitveni rutini, v regulatorju pa ostaja konstantna vrednost. Po do
konca preštetem času postanka, pa izhod časovnika za postanek zopet aktivira izvajanje
prekinitvene rutine z branjem iz pomnilnika, prav tako pa se sproži časovnik za štetje časa
vleka.
8.3 Algoritem generiranja referenčnih točk v hitrostnih profilih
Kakor sem že omenil, program na vsak izvedeni cikel izračuna novo referenčno točko
poti, do katere se mora vlečni del motorja zasukati. Grafi, ki nam jih je podal Inštitut za
materiale kot zahtevo, so hitrostni profili. Če želimo iz funkcije hitrosti in časa izračunati
opravljeno pot, moramo integrirati posamezne daljice, da pridemo do pravilnega rezultata,
nato moramo šteti posamezne izračune profilov ter jim prištevati tudi začetno pot. Položajni
profil postane tako rahlo kompleksnejši. Iz grafov dobro vidimo, da so ti profili sestavljeni iz
posameznih daljic. Vsaka daljica ima svoj koeficient naklona ter je aktivna določen čas
profila. Na primer pri četrtem profilu je prva daljica aktivna štiri desetine časa enega vleka,
naslednja daljica prav tako štiri desetine, naslednja s koeficientom nič je aktivna eno
desetino časa vleka, ter končna daljica s koeficientom -10, pa je aktivna eno desetino časa
vleka. Časovna opredelitev trajanja daljic je le simbolična, saj bo operater nastavljal vsak čas
posebej po meri.
Enaka logika velja pri vseh ostalih profilih. Program je izdelan z možnostjo
nastavljanja treh časov in dveh končnih hitrosti, kot je prikazano na »sliki 13«. Programska
koda bo enotno izdelana za vse možne profile, želeni profil pa bo operater nastavil sam.
Veličine, označene z rdečo barvo, nastavi operater sam. Hitrostni profili, ki jih je podal
Inštitut za materiale na Fakulteti za strojništvo, so bili naslednji:
29
Slika 14: Hitrostni profili
Slika 13: Označitev parametrov na grafu hitrostnega profila, ki jih bo operater moral podati pred obratovanjem naprave
V splošnem se opravljena pot pri neenakomerno pospešenem gibanju izračuna po enačbi:
𝑠 =
𝑎(𝑡 − 𝑡0)2
2+ 𝑣𝑧(𝑡 − 𝑡0)
(1)
Podobna enačba velja za vse daljice.
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#1
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#2
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#3
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#4
0
2
4
6
8
10
12
0 2 4 6 8 10 12
#1
𝑣2
𝑣1
𝑡1 𝑡2 𝑡3 𝑡4
30
Izpeljava enačbe za pot za prvo daljico:
𝑎1 =𝑣1
𝑡1 − 𝑡0
(2)
𝑣 =𝑣1
𝑡1 − 𝑡0(𝑡 − 𝑡0)
(3)
Enačba za preračun položajev za prvo daljico je morala biti izpeljana iz grafa hitrostnega
profila na »Sliki 13«, ki poteka od časa t0 do časa t1. V enačbi (2) in (3) sta enačbi za izračun
pospeška in hitrosti v končni točki prve daljice že nastavljeni. Sledi izpeljava enačbe za
izračun položajev:
𝑠 = 𝑠0 + ∫
𝑣1
𝑡1 − 𝑡0
𝑡
𝑡0
(𝑡 − 𝑡0)𝑑𝑡 =
(4)
𝑠0 + ∫
𝑣1
𝑡1 − 𝑡0
𝑡
𝑡0
𝑡𝑑𝑡 − ∫𝑣1
𝑡1 − 𝑡0
𝑡
𝑡0
𝑡0𝑑𝑡 =
= 𝑠0 + (
𝑣1
𝑡1 − 𝑡0
𝑡2
2−
𝑣1
𝑡1 − 𝑡0
𝑡02
2) − (
𝑣1
𝑡1 − 𝑡0𝑡0𝑡 −
𝑣1
𝑡1 − 𝑡0𝑡0
2) =
= 𝑠0 +
𝑣1
𝑡1 − 𝑡0
𝑡02
2+
𝑣1
𝑡1 − 𝑡0
𝑡2
2−
𝑣1
𝑡1 − 𝑡0𝑡0𝑡 =
= 𝑠0 +
𝑣1
𝑡1 − 𝑡0
(𝑡 − 𝑡0)2
2=
𝑠 = 𝑠0 + 𝑎1
(𝑡 − 𝑡0)2
2
(5)
Enačba (4) nam pove, da je opravljena pot v prvi daljici enaka integralu hitrosti v nekem
trenutku prve daljice od začetnega časa t0 do trenutnega časa t, kar je enako površini pod
daljico.
31
Izpeljava enačbe za pot za drugo daljico:
𝑎2 =𝑣2 − 𝑣1
𝑡2 − 𝑡1 (6)
𝑣 =𝑣2 − 𝑣1
𝑡2 − 𝑡1
(𝑡 − 𝑡1) + 𝑣1 (7)
Enako kot pri izračunu za prvo daljico, je bilo potrebno izpeljati enačbo za preračun položajev
za drugo daljico, ki na grafu hitrostnega profila s »Slike 13«, poteka od časa t1 do časa t2. V
enačbi (6) in (7) sta enačbi za izračun pospeška in hitrosti v določenem trenutku za drugo
daljico nastavljeni po razmisleku. Sledi izpeljava enačbe za izračun položajev:
𝑠 = 𝑠(𝑡1) + ∫ (
𝑣2 − 𝑣1
𝑡2 − 𝑡1
(𝑡 − 𝑡1) + 𝑣1) 𝑑𝑡 =𝑡
𝑡1
(8)
= 𝑠(𝑡1) + ∫
𝑣2 − 𝑣1
𝑡2 − 𝑡1𝑡𝑑𝑡 − ∫
𝑣2 − 𝑣1
𝑡2 − 𝑡1𝑡1𝑑𝑡 + ∫ 𝑣1𝑑𝑡 =
𝑡
𝑡1
𝑡
𝑡1
𝑡
𝑡1
= 𝑠(𝑡1) +
𝑣2 − 𝑣1
𝑡2 − 𝑡1
𝑡2
2−
𝑣2 − 𝑣1
𝑡2 − 𝑡1
𝑡12
2−
𝑣2 − 𝑣1
𝑡2 − 𝑡1𝑡1𝑡 +
𝑣2 − 𝑣1
𝑡2 − 𝑡1𝑡1
2 + 𝑣1𝑡 − 𝑣1𝑡1 =
= 𝑠(𝑡1) +
𝑣2 − 𝑣1
𝑡2 − 𝑡1
𝑡12
2+
𝑣2 − 𝑣1
𝑡2 − 𝑡1
𝑡2
2−
𝑣2 − 𝑣1
𝑡2 − 𝑡1𝑡1𝑡 + 𝑣1(𝑡 − 𝑡1) =
= 𝑠(𝑡1) +
𝑣2 − 𝑣1
𝑡2 − 𝑡1
(𝑡 − 𝑡1)2
2+ 𝑣1(𝑡 − 𝑡1) =
𝑠 = 𝑠(𝑡1) + 𝑎2
(𝑡 − 𝑡1)2
2+ 𝑣1(𝑡 − 𝑡1)
(9)
Enačba (4) nam pove, da je opravljena pot v drugi daljici enaka integralu hitrosti v nekem
trenutku druge daljice od začetnega časa t0 do trenutnega časa t, kar je enako površini pod
daljico.
32
Izpeljava enačbe za pot za tretjo daljico:
𝑎3 = 0 (10) 𝑣 = 𝑣2 (11)
𝑠 = 𝑠(𝑡2) + ∫ 𝑣2
𝑡
𝑡2
𝑑𝑡 = 𝑠(𝑡2) + 𝑣2(𝑡 − 𝑡2) (12)
Ravna daljica v hitrostnem profilu na sliki 13 od časa t2 do t3 podaja podatek, da je hitrost v
tem delu konstantna in enaka v2 (11), pospešek pa je enak 0 (10). Opravljena pot je v
vsakem trenutku enaka seštevku končne opravljene poti druge daljice in integralu
konstantne hitrosti od drugega časa t2 do aktualnega trenutnega časa t. Prišli smo do
splošne enačbe pri enakomernem nepospešenem gibanju.
Izpeljava enačbe za pot za četrto daljico:
𝑎4 =
0 − 𝑣2
𝑡4 − 𝑡3= −
𝑣2
𝑡4 − 𝑡3
(13)
𝑣 = 𝑣2 −𝑣2
𝑡4 − 𝑡3(𝑡 − 𝑡3)
(14)
Četrta daljica hitrostnega profila, ki poteka od časa t3 do časa t4 na sliki 13 ima negativen
predznak. Nakazuje zmanjševanje hitrosti motorja v2 do hitrosti 0. V enačbi (13) ugotovimo,
da ima pospešek te daljice negativen predznak, čemur pravimo pojemek. Hitrost v vsakem
trenutku je razlika začetne hitrosti pojemanja in trenutni hitrosti, kot če bi motor pospeševal
(14).
𝑠 = 𝑠(𝑡3) + ∫ (𝑣2 −
𝑣2
𝑡4 − 𝑡3
(𝑡 − 𝑡3)) 𝑑𝑡 =𝑡
𝑡3
(15)
= 𝑠(𝑡3) + ∫ 𝑣2𝑑𝑡
𝑡
𝑡3
− ∫ (𝑣2
𝑡4 − 𝑡3
(𝑡 − 𝑡3)) 𝑑𝑡𝑡
𝑡3
=
= 𝑠(𝑡3) + ∫ 𝑣2𝑑𝑡
𝑡
𝑡3
− ∫𝑣2
𝑡4 − 𝑡3𝑡𝑑𝑡
𝑡
𝑡3
+ ∫𝑣2
𝑡4 − 𝑡3𝑡3𝑑𝑡 =
𝑡
𝑡3
33
= 𝑠(𝑡3) + 𝑣2(𝑡 − 𝑡3) −
𝑣2
𝑡4 − 𝑡3
(𝑡 − 𝑡3)2
2
𝑠 = 𝑠(𝑡3) + 𝑣2(𝑡 − 𝑡3) − 𝑎4
(𝑡 − 𝑡3)2
2
(16)
Končni položaj vlečnega cikla motorja je izračunan po enačbi (16). Pot se na koncu izračuna
prepiše v začetno pot s0, ki se nato uporablja pri nadaljnjem izračunu poti za naslednje
vlečne cikle.
Programska logika:
Programsko je generiranje položajnih točk izvedeno in prikazano na naslednjih slikah.
Parameter čas vleka, ki ga vpiše operater naprave, se nahaja na abscisni osi hitrostnega
profila in je enak podatku t4. Podatek o času podajata spremenljivki, ki štejeta vsak izveden
cikel. Spremenljivki se na vsak izveden cikel povečata za 1, za kar je uporabljena operacija
seštevanja. Ta podatka v kombinaciji množenja z 20ms podajata aktualen čas, za katerega je
potrebno izračunati novo točko. Prva spremenljivka se po ustrezno izvedenih izračunanih
ciklih izbriše ter znova začne štetje od 0. Vedno se izračunajo točke z enako medsebojno
oddaljenostjo, zapisovati pa se morajo v pomnilnik s prištevkom začetne poti za vsak nov
izračunan profil. Vsak nov izračunan profil je definiran po ustrezno izvedenih ciklih računanja.
Če želimo izračunati položajno progo za 3s čas vleka, se bo računanje za en profil izvajalo 150
ciklov. Prav tako bo 150 ciklov trajalo branje iz pomnilnika. Pri izračunavanju točk dejanski
čas cikla ni pomemben, saj se izračuni ne odražajo v trenutnem realnem času na motorju.
Pomemben je čas branja ene točke iz pomnilnika, ki pa mora biti cikličen na 20ms. Pri
računanju točk in njihovem zapisovanju točk, se v funkcijskem bloku z IF stavki preverja,
koliko ciklov se je izvedlo, ta podatek nosita spremenljivki štetja ciklov in koliko ciklov se
mora izvesti za vsako posamezno daljico. Od tega so odvisne, katera enačba bo uporabljena
pri izračunu točk vsake daljice hitrostnega profila. Izračun pri vseh daljicah (prva časovna
spremenljivka vsebuje spremembo od 0 do t1, drugi podatek vsebuje spremembo časa od 0
do t2, tretji podatek vsebuje spremembo časa od 0 do t3, četrti podatek t4, pa je celotni čas
vleka), poteka tako, da se čas posamezne daljice, ki ga poda operater naprave, deli s časovno
vrednostjo enega programskega cikla branja, to je 20ms. Dobljeni podatki se nato pretvorijo
v celoštevilsko vrednost. Ta podatek se nato primerja z dejansko izvedenimi cikli. Proces
izračunov točk je optimiziran, saj se izračunavanje pospeškov in drugih konstant izvršuje v
ločenem funkcijskem bloku. V dinamičnih sistemih je pospešek vedno enak kvocientu
spremembi hitrosti v neki spremembi časa. Tako se lahko izračunajo pospeški vseh daljic,
34
kakor je nakazano z enačbami (2), (6) in (13). Izjema je bila pri tretji daljici, kjer je pospešek
enak nič. V tretji daljici imamo gibanje motorja z enakomerno hitrostjo, kjer se referenčne
točke poti izračunavajo po osnovni enačbi produkta hitrosti in časa. Na slikovnih izrezkih
programske kode je vidna spremenljivka »zeleni_polozaj_na_3ms«, ki nosi vrednost o
naslednjem položaju, ki ga mora motor zavzeti čez 20ms. Ime spremenljivke je ostalo enako
od začetka zaradi želje po 3ms resoluciji profila. To bi morda bilo možno, vendar bi za
računanje položajnih točk procesor porabil šestkrat več časa, zasedenost pomnilnika pa bi
bila prav tako šestkrat večja. To sta glavna razloga, zaradi katerih se nisem odločil za
predrobno resolucijo položajne proge. Opisano programsko logiko ponazarja blokovni
diagram (sl. 24). Iz podanih petih potrebnih podatkov za izvedbo položajnega profila so se do
tedaj izračunali podatki:
število programskih ciklov, potrebnih za izvedbo celotnega procesa enega
vleka,
število programskih ciklov, potrebnih za izvedbo izračuna ene hitrostne daljice
trije od štirih pospeškov, tretji pospešek je enak 0,
enkraten prepis dejanske poti v novo spremenljivko zacetna_pot, ki se bo
nato uporabljala pri generiranju novih referenčnih točk.
35
Slika 14: Izrezek funkcijskega bloka »Izračuni«, v katerem se izračunajo vse konstantne vrednosti za optimizacijo izračunov
36
Slika 15: Koda funkcijskega bloka "Izracuni", kjer se računajo konstante
Slika 16: Prvi odsek kode funkcijskega bloka "HitProf", kjer pride do računanja 6000 točk
37
Slika 17: Drugi odsek kode funkcijskega bloka "HitProf"
Slika 18: Tretji odsek kode funkcijskega bloka "HitProf"
38
Slika 19: Pogoji, ki definirajo izračun novih točk
Slika 20: Odsek kode v sekciji avtomatskega režima – pisanje v pomnilnik, uporaba kazalcev na pomnilniških mestih
39
Slika 21: Prekinitvena rutina, povečevanje kazalca v prvi vrstici
Slika 22: Branje iz pomnilnika v prekinitveni rutini
40
Slika 23: Koda regulatorja
41
Slika 24: Diagram poteka za izračun položajnih točk za funkcijski blok »HitProf«
Start
t1, t2, t3, t4, v1, v2, a1, a2, a4 želeni_položaj1, želeni_položaj2, želeni_položaj3, želeni_položaj4,
začetna_pot,začetni_čas
števec_profilov=0,štev ilo_izvedenih_ciklov1=0, štev ilo_izvedenih_ciklov2=0
čas>=začetni_čas && čas>t1+začetni_čas
želeni_položaj=(a1*čas_računski^2)/2+začetna_pot
Stop
No
Yes
začetni_čas=t4*števec_profilovčas=0,02*štev ilo_izvedenih_ciklov2
čas_računski=0,02*štev ilo_izvedenih_ciklov1
štev ilo_izvedenih_ciklov1=0štev ilo_izvedenih_ciklov2=štev ilo_izvedenih_ciklov2+1
čas>=t1+začetni_čas && čas>t2+začetni_časYes
No
želeni_položaj=v1*(čas_računsk-t1)i++a2*(cas_racunski-t1)^2/2+želeni_položaj1
čas>=t2+začetni_čas && čas>t3+začetni_čas
Yes No
želeni_položaj=v2*(čas_računski-t2)++želeni_položaj2
čas>=t2+začetni_čas &&
čas>t3+začetni_čas
želeni_položaj=v2*(čas_računski-t3)+a4(ćas_računski-t3)^2/
2+želeni_položaj3
Yes No
želeni_položaj=želeni_položaj4
štev ilo_izvedenih_ciklov2<=štev ilo_ciklov_vleka NoYes
števec_profilov=0začetna_pot=0
število_izvedenih_ciklov2>=število_ciklov_vleka*(števec_profilov+1)
Yes
začetna_pot=začetna_pot+v2(t4-t3)+(a4(t4-t3)^2)/2+v2*(t3-t2)+v1(t2-t1)+(a2*(t2-t1)^2)/2+(a1*t1^2)/2števec_profilov=števec_profilov+1
No
števec_profilov=števec_profilovzačetna_pot=začetna_pot
42
8.4 Filtriranje toka motorja
Slika 25: Funkcijski blok za kontrolo toka
Slika 26: Koda za filtriranje toka četrtega reda
43
Povratni sunek je bil omenjen že v prejšnjih poglavjih, v naslednjih odstavkih pa bomo
izvedeli, zakaj do njega mora priti, kje so težave in kako jih odpravimo. Pod komentiranim
delom programa filter toka četrtega reda se nahaja programska koda, ki sproži povratni
sunek. Koda, ki se ponavlja v vsaki zanki, služi štiricikličnemu filtriranju toka motorja, saj
beležimo podatek o toku štiri programske cikle. Preverjanje toka mora biti izvajano v vsakem
delčku položajnega profila, zato se tudi ponavlja v kodi. Žal programsko okolje CX –
Programmer ne podpira funkcije, da bi večkrat ponavljajoči se odsek kode, zapisali v funkcijo,
to pa bi klicali na želenih mestih. V tem primeru bi bila uporabljena funkcija tipa void, katere
lastnost je, da ne vrača nobenih vrednosti, temveč bi le postavljala ali brisala želene binarne
spremenljivke. Dinamični sistemi vsebujejo večjo komponento nepredvidljivosti kot statični
sistemi. Obravnavani sistem je kombinacija elektronike, mehanike ter materialoznanstva. Pri
vleku palice iz peči se lahko zgodi, da v kokili, ki je zaslužna za ohlajanje palice, ob prevelikem
času postanka in vsebnosti nečistoč lahko pride ne le do strjevanja taline, temveč tudi do
sprijemanja taline na stene. To sprijemanje se zaznava kot odpor proti pomiku palice iz peči,
kar nakazuje na zatikanje le-te v kokili. Z običajnim delovanjem motorja pri standardni
nastavitvi P položajnega parametra regulatorja, bo zaradi zatikanja pogrešek poti pri vleku iz
peči, postajal vse večji. Zaradi vse večjega pogreška poti, ga bo regulator želel zmanjšati z vse
večjo napetostjo na izhodu analogno digitalnega pretvornika. To bomo zaznali kot povečanje
toka na vhodu v motor. Vendar pa vsako povečanje toka ne pomeni le sprijemanje in
strjevanje palice na steni kokile. Pojavljajo se tokovne špice pri vsakem zagonu motorja, ki jih
je treba tudi ustrezno filtrirati.
Programsko sem filtriranje toka izvedel v štirih programskih ciklih. Preverjanje se
izvaja IF – stavki, kjer se preverja spremenljivke tipa boolean, ki se sproti nastavljajo v
vsakem stavku iste vrste, le spremenljivka »FirstCycle« je predhodno nastavljena na vrednost
TRUE. Tako se zapiše vrednost toka vsakokrat v novo spremenljivko, iz katerih se v četrtem
programskem ciklu beleženja toka izvede povprečenje vrednosti toka. Če povprečna
vrednost toka, presega predpisano mejo dovoljenega toka, potem mora program aktivirati
povratni sunek, saj to pomeni zatikanje palice v kokili.
8.5 Programska sekcija povratni sunek
Povratni sunek temelji na povečani vrednosti toka v štirih ciklih programskega
izvajanja. Ko povprečna vrednost štirih zabeleženih podatkov preseže dovoljeno vrednost, se
v stodeseti vrstici v zgornjih slikah najprej spremenljivka tipa boolean
»sprozi_povratni_sunek« postavi na vrednost TRUE, nato pa se posledično zaradi te
spremenljivke, ki je definirana kot izhod iz bloka, postavi merker za povratni sunek, briše pa
se merker programske sekcije avtomatskega režima. Z merkerjem, ki sproži povratni sunek,
aktiviramo drugo programsko sekcijo. Funkcijski blok za filtriranje toka ob primerjavi
44
povprečne vrednosti in tokovne meje postavi, ali izbriše logično vrednost spremenljivke za
povratni sunek.
Začetek izvajanja povratnega sunka se začne v novi programski sekciji ter z novim
blokom. Pri tem pomaga spremenljivka na pomnilniškem mestu W5.12, ki zaustavi ali sproži
delovanje bloka za povratni sunek. Spremenljivka se v začetku postavi, zato da se lahko
hipoma izvede povratni sunek. Po izvedbi povratnega sunka pa je potrebno motor zavrteti še
nazaj na isto točko, na kateri se je povratni sunek zgodil. Pri tem dogodku ne potrebujemo
hitrostnega profila, kakor v avtomatskem režimu, saj je sunek majhen ter pravšnji, da poskusi
pretrgati sprijete dele v kokili.
Težave se pojavijo pri položajni progi, katero želimo da motor opravlja. Sistem
namreč zazna povišanje toka, nato pa se sproži povratni sunek v določeni točki. Dejanska pot
sedaj ne sledi več položajni progi. Sprememba dejanske poti pri povratnem sunku povzroči
velik pogrešek. Zato želimo programsko vrniti položaj motorja v točko, kjer se je zgodil
povratni sunek. Položajna proga ostaja nespremenjena, vlek pa se bo nadaljeval iz točke, kjer
se je končal. Rešitev problema velikega pogreška povratnega sunka je torej sunek nazaj in
zatem sunek naprej za isto pot v istem času. Po tem opravljenem procesu, se sproži drugi
postanek, po drugem postanku pa se zopet sproži režim avtomatskega delovanja z regulacijo
poti.
V začetku programskega odseka za povratni sunek je pomembno brisanje logične
spremenljivke W5.11, ki proži drugi postanek, če je postavljena, zato da so zadovoljeni vsi
pogoji za izvedbo povratnega sunka ter nato še sunka naprej.
45
Slika 27: Funkcijski blok »PovratniSunek« implementiran v lestvično logiko
Celotna koda v programskem bloku povratnega sunka se nahaja na spodnji sliki.
Najprej opazimo števec, označen s spremenljivko z imenom »i«, ki je podatkovnega tipa
INTEGER. Števec šteje opravljene programske cikle, povečuje pa se v zanki, ki zasuče motor
nazaj. Nato se števcu zunaj zanke zopet priredi vrednost 0 ter začne šteti od nič v drugem IF
– stavku. Tako se sunek naprej izvaja natanko toliko časa, kolikor se je izvajal sunek nazaj.
46
Slika 28: Algoritem povratnega sunka zapisanega v funkcijskem bloku povratnega sunka
8.6 Položajna regulacija
Položajna regulacija je pomemben del programa za kontinuirno litje. Položajna
regulacija omogoča, da motor ohranja svojo pozicijo ob prisotnosti motilne veličine. Motilna
veličina je vsakršno fizikalno dejanje, ki bi poskušalo motor spraviti z referenčnega položaja,
ki mu pravilno pravimo ravnovesna lega. Regulator v izvedbi funkcijskega bloka s svojo logiko
motor zasuče na položaj, ki ga je generiral funkcijski blok za izračun položajev, ter ga v tistem
položaju tudi ohranja. P-regulacija je enostavna, saj pri regulaciji izhodne napetosti na
analogno digitalnem pretvorniku sodeluje le parameter P. Prav tako je pri regulaciji prisoten
pogrešek poti. Dodatek, ki pa ga moramo upoštevati, pa je faktor pretvorbe med številom
podatkovnega tipa integer, ki se zapiše na izhod digitalno analognega pretvornika, ter
hitrostjo v mm/s. V tem faktorju je zapisan tudi odnos med motorjem in gonilom. Prestavno
razmerje gonila je 1:200. Regulacija položaja je ves čas aktivna med delovanjem v
avtomatskem režimu, prav tako med postankom ali pa med delovanjem bloka s hitrostnim
profilom. Na spodnji sliki je prikazan blok položajne regulacije ter njegova vsebina. Blok
položajne regulacije vsebuje izhod na programsko pomnilniško mesto D10, ki se nato zapiše
na pomnilniško mesto analogno digitalnega pretvornika 102. To je izhod digitalno
analognega pretvornika, ki generira napetosti od -10V do +10V. Če želimo na izhodu
generirati 10V, je potrebno v pomnilniško mesto D10 zapisati število 6000, ter D10 prepisati
47
v pomnilniško mesto 102. Povezava je linearna, tako po razmisleku lahko generiramo 5V iz
analogno digitalnega pretvornika s številom 3000.
V programskem bloku je dodatno zagotovljena varnost na način, če je izhodna
napetost večja od maksimalne hitrosti motorja, potem je izhodna napetost enaka
maksimalni hitrosti motorja. To storimo zato, da ne obremenimo motorja do maksimalne
napetosti ter tudi zaradi garancije da večjih hitrosti na inštitutu nikoli ne bodo potrebovali.
Če pa je izračunana hitrost manjša od nič, pa prav tako zagotovimo, da se motor ne bo začel
sukati v obratno smer in povzročil pomik palice v peč, na mesto iz peči. Če ekstremov ni, je
izhodna hitrost enaka izračunani.
Slika 29: Algoritem položajne regulacije zapisan v funkcijskem bloku "POLOZAJNA_REGULACIJA"
48
9 KAKO UPORABLJATI NADGRADNJO
9.1 Uporaba ročnega režima
Ko operater zažene program za kontinuirno litje, se prikaže grafični vmesnik na sliki
spodaj. Polje z gumboma naprej, nazaj ter z drsnikom za nastavitev hitrosti se imenuje polje
ročnega režima. Naprava bo delovala v ročnem režimu, ko bo polje ročnega režima aktivno.
Aktivnost tega polja je odvisna od vklopa in izklopa gumba v zgornjem levem kotu vmesnika.
Polje je neaktivno takrat, ko vklapljanje gumbov za pomik motorja naprej in nazaj ni mogoče,
obarvanost polja pa je bela. Obratovanje motorja definiramo z gumboma naprej, nazaj,
hitrost motorja pa definiramo z drsnikoma. Maksimalna hitrost motorja je v skrajnem
desnem položaju drsnika.
V samem začetku testiranja je potrebno vpisati podatke, kot so premer motorja, število
pulzov na obrat inkrementalnega dajalnika in faktor pretvorbe iz napetosti v voltih v mm/s.
SCADA grafični vmesnik je sedaj prirejen tako, da bo možno nastaviti na izhod analogno
digitalnega pretvornika napetost od -10V do 10V, nastavljena napetost pa je prikazana na
drsnikoma. Delovanje motorja se sproži s tipko naprej ali nazaj, nato pa bomo opazovali
hitrost vrtečega se dela. Upoštevati bomo morali tudi zobniški prenos v razmerju 1:200.
Najprej bo treba vpisati kot premer motorja pogonski zobnik, nato bo sledil ustrezen
preračun vrtilne veličine gnanega zobnika. S preračunom vrtilne veličine ter dejanskim
vlečnim premerom gredi pa bo hitrost vlečnega dela motorja verodajna.
Slika 30: Nova oblika grafičnega vmesnika
49
9.2 Uporaba avtomatskega režima
Na sliki spodaj je označeno polje avtomatskega režima. V levem delu polja lahko
nastavljamo parametre avtomatskega režima, nastaviti pa je potrebno tudi časovne in
hitrostne vrednosti v odseku hitrostni profil. Z gumbom »Potrdi parametre« se sproži
preračunavanje položajnih točk. Po končanem izračunu točk lahko sprožimo obratovanje
motorja. Samo obratovanje motorja sprožimo s tipko »Prični z delovanjem«, tipka pa mora
sprva biti neaktivna, kar pomeni da vsebuje napis »Off«. Desni del polja za avtomatski režim
služi nastavljanju parametrov hitrostnega profila. Nastavimo lahko dve hitrosti, do katerih
naj motor pospešuje v prvem in drugem času. Pospeševanja v tretji vodoravni daljici ni
možno nastavljati. V primeru, da želimo eno izmed daljic hitrostnega profila izbrisati, njen
končni čas nastavimo na nič. Ostale parametre: P parameter regulatorja, število pulzov na
obrat in premer motorja pa nastavi razvijalec programske opreme, saj se ti podatki
razlikujejo od motorja do motorja.
Slika 31: Oblika SCADE prilagojena zahtevam inštituta, označeno polje avtomatskega režima
50
Slika 32: Grafični prikaz podatkov o trenutni hitrosti, temperaturi taline in hladilne tekočine
Slika 33: Dodatni graf za spremljanje dejanske poti
Grafični prikaz želene in dejanske poti prikazuje tretje okno v grafičnem vmesniku. Graf z
oranžno črto prikazuje dejansko pot, graf s črno črto pa prikazuje želeno pot. Specifika
grafičnih prikazov v drugem in tretjem oknu je, da se vsako sekundo izrisujejo nove točke,
kar pomeni, da grafi omogočajo spremljanje podatkov v aktualnem času.
51
10 SKLEP
Na samem začetku razvoja programske opreme je bilo treba dodobra spoznati
komponente ter lastnosti same naprave. Študij dokumentacije je bil obsežen in večinoma v
nemškem jeziku. Sprva pa se je bilo potrebno spoznati tudi z maketo in okoljem za
programiranje PLK. Sčasoma so se nova znanja začela povezovati, v tem obdobju pa se je
začelo programiranje sistema. Glede na prepreke pri izvajanju in testiranju mislim, da smo
zahteve inštituta izpolnili. Strojni del realnega sistema je še v izdelavi, ko bo končan pa bo
nastopilo testno obdobje realnega sistema. Komponente so tako že prestavljene in
pričvrščene na vodila omarice, ta pa se bo implementirala v neposredni bližini realnega
sistema. Testno obdobje je namenjeno izpopolnjevanju in odkrivanju napak pa tudi
izpolnjevanju dodatnih želj naročnika.
Programska oprema sistema je bila razvita glede na regulacijo položaja gredi motorja.
Položajna regulacija je pri preciznih sistemih pomembna zato, ker že manjši pogrešek od
ravnovesne lege predstavlja nekorektne rezultate. Enako pomembna je bila implementacija
hitrostnega profila v uporabniški vmesnik. Na koncu smo se odločili, da lahko operater sam
nastavi vse parametre hitrostnega profila ter programsko opremo tako tudi izdelali.
Predlog pri nadgradnji v testnem obdobju je v nastavljanju hitrosti v ročnem režimu.
Drsnik, ki v skrajno desnem položaju definira maksimalno hitrost motorja, bi lahko
nadomestili s številčnim prikazom. Številčni prikaz vrednosti je podatek, ki ga lahko
preberemo in vpišemo. Pri drsniku pa je težava v tem, da nikoli ne vemo kakšno vrednost
smo nastavili, saj se le-ta ne izpiše. Dovršene malenkosti naredijo uporabniško izkušnjo
dobro in enostavnejšo za uporabo, tako pa je delo s sistemom produktivnejše. Želja je tudi,
da bi program tako izpopolnil, da bi bilo možno njegovo delovanje v neskončnost in ne le 120
sekund. V testnem obdobju realnega sistema bom razvil še programsko opremo, ki bo
generirala hitrostne točke, reguliral pa jih bo regulator. Ugotovil sem, da programska oprema
pri generiranju hitrostnih točk ne bi potrebovala začetne hitrosti, kadar bi se računal nov
profil. Tako bi se izračunalo ustrezno število točk, ki bi se ponavljale iz cikla v cikel.
52
11 VIRI
[1] Franc Zupanič: Kontinuirno litje nikljevih superzlitin v vakuumu. Vakuumist 29/1 – 2
(2009).
[2] OMRON: CX-Programmer User Manual, Version 3.0. 2002.
[3] OMRON: CP1L-EL/EM CPU Unit, OPERATION MANUAL. October 2014.
[4] OMRON: Function Block/Structured Text, Introduction Guide. 2008 – 2013.
[5] https://sl.wikipedia.org/wiki/Litje
[6] http://fs-server.uni-mb.si/si/inst/itm/lm/GRADIVA_UC/Tehnologija_gradiv/litje.html
[7] https://en.wikipedia.org/wiki/Continuous_casting
[8] https://www.researchgate.net/figure/223816893_fig5_Fig-7-Aluminium-nickel-
phase-diagram-w-17-x
53
12 PRILOGE
54
55
56