ERK'2019, Portorož, 173-176 173 Avtomatizacija stroja za kalibriranje sile z utežmi Tine Šubic 1 , Miha Hiti 2 , Gaber Begeš 1 1 Fakulteta za elektrotehniko, Univerza v Ljubljani, Tržaška 25, 1000 Ljubljana 2 Laboratorij za metrologijo, Zavod za gradbeništvo Slovenije (ZAG), Dimiˇ ceva ulica 12, 1000 Ljubljana E-pošta: tine.subic@ijs.si Automation of a dead-weight force calibration machine The aim of the project was to develop a comprehensive software solution for manual and automatic control of force calibration device at Laboratory for metrology ZAG. The original machine had been modified and modernized by ZAG and is capable of loading the force measuring de- vice up to 20 kN. The machine’s frequency controller soft- ware and its hardware interface were customized by us to allow precise positioning and automation guided by the computer. We used a special firmware, along with modi- fied serial bus protocol for computer communication. We present the developed software, its capabilities and limitations as well as the script system implemented for declaring command sequences that allow execution of complex or long-running tests. Results of full load and unload stepping test are shown, to provide an example of possible test and its uniform repeatability. 1 Uvod Namen projekta je bil razviti programski vmesnik za pol- avtomatsko in avtomatsko krmiljenje kalibracijskega stroja za neposredno obremenjevanje z utežmi. Kalibracijske meritve s strojem so se do sedaj izvajale zgolj z roˇ cnim odˇ citavanjem in premikanjem stroja preko fiziˇ cnega kr- milnega vmesnika. Naš cilj je bil razviti enovit sistem za avtomatsko premikanje stroja in odˇ citavanje meritev na podlagi vnaprej definiranih zaporedij ukazov, ki bi odstranil potrebo po ˇ clovekovem posredovanju. Na ta naˇ cin bi lahko Zavod za gradbeništvo (ZAG) v prihodnosti izva- jal kompleksnejše in daljše kalibracijske postopke, hkrati pa bi bili ti bolj ponovljivi. Tekom projekta smo pripravili uporabniku prijazen grafiˇ cni vmesnik, ki omogoˇ ca zajem podatkov z meril- nika, nadzor nad parametri stroja (hitrost gibanja, loˇ cljivost), interaktivno krmiljenje in avtomatizacijo preko preprostega sistema skript za definicijo zaporedij ukazov. 2 Kalibracijski stroj z neposrednim obre- menjevanjem Za obremenjevanje merilnikov smo uporabili kalibraci- jski stroj z neposrednim obremenjevanjem za sile do 20 kN, (slika 1) ki ga je ZAG [4] pridobil pred ˇ casom in moderniziral za svoje potrebe [3]. Stroj v trenutni konfig- uraciji omogoˇ ca obremenjevanje merilnika napetostnega razmerja v natezni in tlaˇ cni smeri od 250 N do 20 kN. V tem obmoˇ cju je na voljo 18 korakov s kombinacijami uteži 250 N, 500 N, 1000 N in 2000 N. Stroj za doseg popolne obremenitve 20 kN potrebuje 245 mm premika. Pomik uteži stroja poganja elektriˇ cni motor z reduk- torjem, ki ga krmili frekvenˇ cni krmilnik. V prvotnem naˇ cinu delovanja je stroj podpiral zgolj krmiljenje hitrosti in pozicije preko nadzornega vmesnika s fiziˇ cnimi gumbi. 2.1 Komunikacijski vmesnik Za komunikacijo z raˇ cunalnikom smo uporabili vmes- nik RS485 (slika 2) z USB pretvornikom, ki je vgrajen na frekvenˇ cni krmilnik. Preko tega vhoda smo komuni- cirali s strojno-programskim paketom POZPRO podjetja PS Logatec d.o.o. Naloženi programski paket ponuja roˇ cno in avtomatsko pozicioniranje stroja na podlagi gumbov in poslanih ukazov. Izbrali smo naˇ cin upravljanja s 16-bitnimi ukazi, ki uporablja Modbus RTU [2] protokol za prenos podatkov. V tem naˇ cinu lahko parametriramo poljuben register na krmilniku preko štiri- ali pet-mestnega naslova in 16-bitne vrednosti. Ta model komuniciranja je primarno namen- jen PLC krmilnikom, a ga lahko z uporabo ustreznih pro- gramskih knjižnic enostavno emuliramo na osebnem raˇ cu- nalniku. Pred uporabo smo vrednosti registrov testirali s pomoˇ cjo programa CTSoft [7] (slika 3), ki sicer omogoˇ ca nadzor nad vsebino registrov, spremljanje stanja in razhrošˇ ce- vanje delovanja frekvenˇ cnega krmilnika. Za krmiljenje samodejnega pozicioniranja smo potre- bovali 7 registrov, opisanih v tabeli 2.1. Table 1: Uporabljeni registri in njihova vsebina. Naslov Vsebina registra M20.21 Resolucija v številu enot/vrtljaj motorja M20.31 Ukazni biti za proženje premikov M20.32 Želena pozicija motorja M20.33 Hitrost v enotah/sekundo M20.34 Informacije o stanju in napakah M20.35 Trenutna pozicija naprave M20.35 Napaka regulatorja Pri nastavljanju želene pozicije stroja preko protokola 174 Figure 1: Stroj z neposrednim obremenjevanjem na uteži za sile do 20 kN. Figure 2: Ožiˇ cenje vmesnika RS485. Modbus pa smo naleteli tudi na omejitev samega pro- tokola, ki temelji na 16-bitnih podatkovnih paketih. ˇ Ce želimo stroj premakniti za veˇ c kot 32768 enot (2 15 , prvi bit je uporabljen za predznak smeri) z enim samim uka- zom, dosežemo preliv števila in nepredvideno obnašanje stroja. Ker želimo s strojem upravljati neomejeno in ker je Figure 3: Program CTSoft za pregled in konfiguracijo frekvenˇ cnega krmilnika. del standardnega kalibracijskega testa tudi polna obre- menitev in razbremenitev, kjer bo stroj izvedel cel pomik za 245 mm naenkrat, smo take pomike programsko razdelili na zaporedje krajših premikov, kar nam zagotovi pred- vidljivo in pravilno delovanje pri poljubno dolgih pre- mikih. 3 Merilni inštrument Za zajem meritev napetosti na kalibriranem merilniku smo uporabili merilni inštrument DMP41 [5]. Nanj prikljuˇ cimo merilnik sile ki ga želimo kalibrirati, zajem podatkov pa opravljamo preko serijskega vhoda na osebnem raˇ cunal- niku. Ker naprava podpira standardni nabor SCPI [6] ukazov, lahko napravo vnaprej programsko konfiguriramo z ustreznimi vzorˇ cnimi frekvencami in filtri. Figure 4: Merilni inštrument DMP41 za zajem vrednosti. 4 Razvoj grafiˇ cnega vmesnika za krmiljenje Grafiˇ cni uporabniški vmesnik smo razvili s programskim jezikom C# v okolju Microsoft Visual Studio [1]. Za grafiˇ cne elemente smo uporabili vgrajeni programski paket WindowsForms, za komunikacijo z napravami pa knjižnico 175 EasyModbus RTU, ki omogoˇ ca emulacijo protokola Mod- bus CT-RTU za pisanje in branje registrov frekvenˇ cnega krmilnika. Razviti vmesnik omogoˇ ca loˇ ceni serijski povezavi s frekvenˇ cnim krmilnikom in merilnim instrumentom DMP41 (slika 5). Na ta naˇ cin lahko poleg krmiljenja stroja izva- jamo tudi odˇ citavanje podatkov pri razliˇ cnih obremenit- vah in hitrosti gibanja. Poleg tega se meritve med izva- janjem zapisujejo v datoteko za kasnejšo obdelavo. Figure 5: Grafiˇ cni vmesnik za krmiljenje motorja in izvajanje merilnih postopkov. 4.1 Osnovno krmiljenje Najprej smo podprli osnovno parametriranje stroja in roˇ cno premikanje. Preko gumbov v uporabniškem vmesniku lahko opravljamo naslednje operacije: 1. Reset, ki ustavi stroj med gibanjem. 2. Nastavitev resolucije motorja, ki definira število enot enkoderja na eno rotacijo motorja. 3. Nastavitev hitrosti motorja, ki definira za koliko enot se motor zasuka v 1 sekundi. 4. Izvedba premika stroja v milimetrih ali enotah (Eksper- imentalno doloˇ ceno: 3:78 mm 1000 enot ). 5. Roˇ cni ukaz za premik stroja navzgor ali navzdol do ustavitve ali limitnega stikala. 4.2 Postopkovno krmiljenje Ker kalibracijski postopki pogosto potrebujejo veˇ cje število ponovitev stopenj obremenitve in lahko trajajo dolgo ˇ casa, smo v okviru projekta želeli implementirati možnost, da uporabnik vnaprej definira zaporedje ukazov, ki jih bo stroj izvedel brez posredovanja ˇ cloveka. Najprej smo defini- rali preprost sistem skriptnih ukazov, ki sprožijo eno od treh operacij: 1. ˇ Cakaj ustrezno število sekund. 2. Izvedi meritev. 3. Premakni se na ustrezno stopnjo obremenitve. Z vnaprej definiranim zaporedjem ukazov lahko uporab- nik avtomatizira postopek obremenjevanja in razbremen- jevanja, program pa sam poskrbi za natanˇ cno izvedbo. Zaporedje ukazov lahko sestavimo preko uporabniškega vmesnika ali napišemo kot besedilno datoteko, ki jo naložimo v program pred izvajanjem. Primer takega zaporedja uka- zov, naloženega v naš program je viden na sliki (6). Figure 6: Primer zaporedja ukazov za merilni postopek 5 Meritve 5.1 Osnovni test Za testiranje smo pripravili zaporedje ukazov, s katerimi program krmili stroj skozi polno obremenitev in razbre- menitev povezanega merilnika sile. Na sliki (7) je prikazan graf obremenjevanja do 20 kN in sledeˇ cega razbremenje- vanja do 0 kN. Uporabili smo hitrost 400 enot/sekundo pri resoluciji 50 enot/obrat, s katero traja izvedba testa 20 minut. Postopek je tudi enostavno ponovljiv, saj lahko zaporedje ukazov izvedemo poljubno mnogokrat. Figure 7: Graf izvedenih meritev ob stopniˇ castem obremenje- vanju in razbremenjevanju vseh 18 stopenj. Na sliki (8) je prikazana razlika signala merilnika sile med razbremenjevanjem in obremenjevanjem, za vsako od posameznih stopenj obremenitve. Posebej izstopa ra- zlika pri obremenitvi 16 kN, ki je najverjetneje posledica neustaljene vrednosti ob meritvah, saj smo zaradi ˇ casovne omejenosti v priˇ cujoˇ cih testih uporabljali ˇ casovne zamike 10 - 15 sekund. 176 Figure 8: Prikaz razlike v signalu med obremenjevanjem in razbremenjevanjem na posamezni obremenitveni stopnici. 5.2 Test delne obremenitve Pripravili smo tudi test, v katerem smo stroj obremenili do maksimalne obremenitve, ga razbremenili do polovice (10 kN) in nato ponovno obremenili do 20 kN (Slika 9). Tak tip testa je bil do sedaj težje izvedljiv za veˇ cje število ponovitev, saj zahteva dolgotrajno pozornost ˇ cloveka. Slika 10 prikazuje razlike v izmerjenih signalih merilnika pri dveh ponovitvah testa. Kot že na sliki 8, opazimo visoko vrednost razlike pri obremenitvi 16 kN, kar nakazuje po- tencialne težave pri referenˇ cnem pozicioniranju na tej stop- nji, saj je utež verjetno v stiku z drugimi utežmi. Figure 9: Meritve napestosti za test z vmesno poloviˇ cno obre- menitvijo. S programom in vmesnikom za generiranje ukazov, ki smo ga razvili, lahko stroj enostavno umerimo na nove vrednosti in postopek merjenja ponovimo, saj nam av- tomatizacija sistema daje možnost, da izloˇ cimo vpliv ˇ cloveškega faktorja na kompleksne postopke premikov stroja in meritev. 6 Zakljuˇ cek V sklopu projekta smo razvili celovito programsko rešitev za roˇ cno in avtomatsko krmiljenje kalibracijskega stroja. Program omogoˇ ca zajem podatkov za kasnejšo analizo in definiranje zaporedij ukazov, ki zagotavljajo ponovljivost testa brez posredovanja ˇ cloveka. Nova funkcionalnost Figure 10: Razlike v napetosti med dvema posameznima testoma. stroja tako ponuja dodatne možnosti za testiranje meril- nikov sile z daljšimi in kompleksnejšimi testi. Možne so še nadaljnje nadgradnje, saj krmilnik mo- torja omogoˇ ca nadzor nad velikim številom parametrov. V kombinaciji z obstojeˇ cim senzorjem, ki zaznava stik med utežmi stroja, bi lahko programu omogoˇ cili samod- ejno kalibracijo optimalnih premikov za posamezno stop- njo obremenitve, kar bi odstranilo potrebo po zanašanju na vnaprej definirane vrednosti položaja stroja pri posamezni stopnji. Poleg tega bi program lahko omogoˇ cal nadzor nad rampo pospeševanja in zaviranja, saj je v tem trenutku to mogoˇ ce izvesti le preko krmilne plošˇ ce na frekvenˇ cnem krmilniku. References [1] Visual Studio IDE [Online]. Dosegljivo: https://visualstudio.microsoft.com/. [Dostopano: 10.1.2019]. [2] Protokol MODBUS CT-RTU [Online]. Dosegljivo: https://www.rtaautomation.com/technologies/modbus- rtu/. [Dostopano: 10.1.2019]. [3] M. Hiti, "Razvoj etalonskih strojev za kalibriranje meril sile," ERK 2017, Portorož, 2017. [4] Zavod za gradbeništvo [Online]. Dosegljivo: http://www.zag.si/si/. [Dostopano: 10.1.2019]. [5] Merilni inštrument DMP41 [Online]. Dosegljivo: https://www.hbm.com/en/3971/dmp41-highest- precision-measuring-instrument/. [Dostopano: 10.1.2019]. [6] Referenca SCPI ukazov [Online]. Dosegljivo: https://www.rohde-schwarz.com/pk/driver- pages/remote-control/remote-programming- environments_231250.html. [Dostopano: 10.1.2019]. [7] Program CTSoft [Online]. Dosegljivo: htthttp://acim.nidec.com/en-us/drives/control- techniques/products/software/commissioning/ctsoft. [Dostopano: 10.1.2019].