Gyvename laikais kai kompiuteris yra tapęs neatsiejamu darbo įrankiu beveik bet kurios srities specialistui, ne išimtis ir valdymo sistemas projektuojantys inžinieriai. Žinoma, čia reikia pabrėžti, kad siekiant efektyvaus darbo kompiuteryje turėtų būti instaliuota reikiama programinė įranga. Būtent apie programinę įrangą ir bus kalbama šiame straipsnelyje.

AVT yra tarpdisciplininė, tačiau jos pagrindas yra matematika, todėl projektuojant automatinio valdymo sistemas labai svarbūs matematiniams skaičiavimams skirti programiniai paketai. Iš matematinės pusės žiūrint dažniausiai susiduriama su tolydžių dinaminių sistemų imitavimo ir signalų apdorojimo uždaviniais, taip pat labai pageidautina turėti galimybę modeliuoti diskretines ir netiesines sistemas. Nors su tokiais uždaviniais gebėtų susitvarkyti beveik bet kuris šiuolaikinis matematiniams skaičiavimams skirtas paketas, tačiau renkantis programą inžineriniams skaičiavimams ne mažiau svarbu yra su programa tiekiamų specializuotų bibliotekų apimtis – kuo jos didesnės tuo lengviau bus konstruoti analizuojamų objektų modelius. Toliau bus aptariami patys populiariausi bendros paskirties matematiniams skaičiavimams skirti, bet kartu ir specializuotas priemones AVT uždaviniams spręsti turintys MATLAB; GNU Octave ir Scilab programiniai paketai.

MATLAB

Bene pats žinomiausias inžineriniams skaičiavimams skirtas programinis paketas yra Mathworks kompanijos sukurtas MATLAB paketas. Kaip nurodoma MATLAB istorijai skirtame tinklapyje pradžioje tai buvo tiesiog matriciniams skaičiavimams skirtas kalkuliatorius, kuris vėliau buvo pritaikytas AVT ir signalų apdorojimo uždaviniams spręsti, o praeito amžiaus 90-tais metais buvo papildytas vizualiam dinaminių sistemų modeliavimui skirta Simulink aplinka. Simulink aplinkos atsiradimas matyt ir lėmė MATLAB populiarumą inžinierių tarpe, nes įgalino dinaminių sistemų modelius konstruoti neparašius nei vienos programinio kodo eilutės o sistemą aprašant tokiais inžinerijoje įprastais objektais kaip perdavimo funkcijos, PID reguliatorius ir pan. Paskutinėse MATLAB versijose Simulink aplinka papildyta Simscape biblioteka, naudojant kurią sistemos modelis surenkamas ne iš abstrakčių funkcinių blokų o iš realius fizikinius objektus modeliuoti skirtų elementarių. Taip labai supaprastėja sudėtingų ir ypač iš skirtingos fizikinės prigimties posistemių sudarytų sistemų modeliavimas.

Pagrindinis MATLAB programinio paketo privalumas darantis jį bene populiariausia matematine programa inžinierių tarpe ir yra tiesiog milžiniškos bibliotekos. Beveik nesvarbu koks uždavinys sprendžiamas – ar sparno aerodinamikos skaičiavimas ar neraiškios logikos algoritmą realizuojančio reguliatoriaus projektavimas ar vertybinių popierių portfelio valdymas – MATLAB greičiausiai bus reikiamos bibliotekos arba specializuotų paprogramių paketai (angl. toolbox). Pilną visų bibliotekų ir paketų sąrašą galima atrasti produktams skirtoje Mathworks tinklapio skiltyje .

Pagrindinės automatinio valdymo inžinierių naudojamos MATLAB priemonės būtų

Žodžiu naudojant MATLAB galima labai komfortabiliai ir mažiausiomis pastangomis analizuoti ir projektuoti sudėtingas sistemas. Kai kurių tipinių uždavinių sprendimas, pvz. reikiamą valdomo objekto dinamiką garantuojančio PID reguliatoriaus projektavimas, iš viso yra automatizuotas ir reikiamą reguliatorių galima parinkti spustelėjus kelis mygtukus grafinės vartotojo sąsajos lange.

Galiausiai jei analizuojamos užduoties sprendimo tiesiogiai MATLAB rasti nepavyktų galima paieškoti jo internete. MATLAB populiarumas automatikos inžinierių tarpe lėmė tai, kad būtent ši programa dažniausiai naudojama AVT uždavinių sprendimui ir dažnai reikiamos sistemos modelį galima atrasti tiesiog internete. Žinoma, tokius modelius reikia naudoti atsargiai, nes jų teisingumo niekas negarantuoja.

Nors didelės apimties bibliotekos yra sistemos privalumas, tačiau šitai turi ir atvirkščią pusę, ypač jei MATLAB naudojamas mokymosi tikslais. Tai, kad daug ką galima rasti bibliotekose dažniausiai veda link to, kad vartotojas labai retai pažvelgia kaip ir kas tose bibliotekose užprogramuota. Tai nesukelia jokių problemų kol sprendžiamos standartinės užduotys, tačiau kai susiduriama su kokia nors egzotika, pvz. kokio nors nestandartinio reguliatoriaus projektavimas, tai standartinių bibliotekinių elementų gali ir nepakakti ir teks vėl grįžti prie seno gero programavimo. Tačiau jei nerašote disertacijos arba nevykdote rimtų mokslinių tyrimų tokia situacija labai mažai tikėtina.

Bene pats rimčiausias, jei taip galima pasakyti, MATLAB trūkumas yra kaina. Tik studijų tikslams ir individualiam nekomerciniam naudojimui skirtos MATLAB versijos parduodamos už simbolinę kelių šimtų eurų kainą, tačiau jų funkcionalumas yra apribotas, pvz. individualiam vartotojui skirtoje 2019b MATLAB versijoje nebuvo sistemoms su FPGA luistais modeliuoti skirtos SoC Blockset bibliotekos. Profesionaliosios MATLAB versijos kaina ( duomenimis) priklausomai nuo bibliotekų apimties ir licencijos tipo gali būti skaičiuojama dešimtimis tūkstančių eurų, nors perkant vien bazinius komponentus, t.y. MATLAB, Simulink ir dar gal viena kita biblioteka, neturėtų viršyti kelių tūkstančių eurų. Tiesa, atsižvelgiant į tai kiek kainuoja kai kurios kitos moksliniams ir inžineriniams darbams skirtos programos tokia kaina nėra super didelė.

Kitas trūkumas yra susijęs su MATLAB keliamais reikalavimais aparatinei įrangai . Vien tik pagrindinių komponentų instaliavimas diske užims apie 3-4 GB o jei bus instaliuojamas visas paketas vietos diske bus sunaudota iki 30 GB. Operatyviosios atminties rekomenduojama turėti ne mažiau 8 GB. Žodžiu skaičiavimo technikos resursų šiam paketui niekada nebus per daug.

Pabaigai galima būtų išskirti vartotojus kuriems MATLAB/Simulink būtų įdomus. Tai studentai ir individualūs asmenys nenaudojantys MATLAB komerciniams tikslams, kuriems paketas parduodamas už simbolinę kainą. Taip pat MATLAB/Simulink būtų aktualus rimtus mokslinius tyrimus arba bent jau netipinius skaičiavimus vykdančios organizacijoms.

Taigi reziumuojant. Pagrindiniai MATLAB privalumai būtų:

Pagrindiniai MATLAB trūkumai būtų:

GNU Octave

GNU Octave yra dar vienas moksliniams ir inžineriniams skaičiavimas skirtas paketas, kuris yra programuotojų bendruomenės visuomeniniais pagrindais kuriamas ir platinamas laikantis atvirojo kodo GNU GPL licenziją, kas pabrėžiama net pačiame paketo pavadinime.

GNU Octave, kaip rašoma projektui skirtame tinklapyje, yra aukšto lygio programavimo kalbos, skirtos tiesinių ir netiesinių sistemų analizei skaitiniais metodais, interpretatorius. GNU Octave kalbos sintaksė yra beveik identiška MATLAB naudojamos programavimo kalbos sintaksei, todėl MATLAB pritaikyti scenarijai turėtų veikti GNU Octave ir vica versa. Žinoma, toks suderinamumas tarp abiejų paminėtų paketų pasiekiamas tik tada, jei apsiribojama vien bazinių funkcijų naudojimu. Šiuo požiūriu galima sakyti, kad GNU Octave yra laisvai platinama bazinė MATLAB paketo versija.

Bazinės GNU Octave versijos galimybių tikrai pakaktų išspręsti didesniajai daliai universitetinėje elektros inžinerijos studijų programoje sprendžiamų uždavinių, tačiau siekiant patogaus darbo reikalingos specializuotos funkcijų bibliotekos. GNU Octave tokios bibliotekos irgi kuriamos bendruomenės ir vadinamos paketais. Paketų sąrašas pateikiamas Octave Forge tinklapyje. Deja, bet pradžios duomenimis tiesiogiai su AVT susijusių paketų sąrašas buvo labai trumpas

Čia atkreiptinas dėmesys, kad paminėti du paketai ir yra visos GNU Octave pakete esančios automatinio valdymo sistemų inžinerijos uždaviniams spręsti specializuotos priemonės, taigi jų skaičius yra daug mažesnis nei MATLAB siūlomas. Praktikoje tai reiškia, kad iškilus poreikiui modeliuoti kokią nors sudėtingesnę sistemą, pvz. kad ir galios keitikliu apkrautą fotovoltinį elementą, specializuotų įrankių pasirinkimas bus skurdus ir daug ką reikės programuoti savarankiškai. Žinoma, ateityje GNU Octave skirtų bibliotekų skaičius gal būt padidės, bet abejotina, kad pagal kiekybę ir kokybę, jos pasivys MATLAB.

Taip pat atkreiptinas dėmesys, kad GNU Octave nesiūloma nieko panašaus į MATLAB esančią vizualinę programavimo aplinką Simulink, todėl visi modeliai sudaromi tiesiog rašant programinį kodą. Tai kelia papildomus reikalavimus vartotojo kvalifikacijai — reikia ne vien išmanyti savo profesinę sritį, bet ir neblogai gaudytis tiek programavime tiek skaitinių matematinių metodų įvairovėje.

Mažas specializuotų paketų pasirinkimas ir vizualios modeliavimo terpės nebuvimas lemia tai, kad darbas naudojant GNU Octave toli gražu nebus toks komfortabilus ir greitas kaip naudojant MATLAB. Asmeninė šių eilučių autoriaus patirtis modeliuojant sistemą, sudarytą iš aukštinančiuoju galios keitikliu apkrauto fotovoltinio modulio, parodė, kad modelio sudarymas naudojant MATLAB/Simulink užtruko penkis kartus trumpiau nei naudojant GNU Octave. Žinoma, čia būtina ypatingai pabrėžti, kad toks darbo MATLAB/Simulink efektyvumas pasiekiamas vizualios modeliavimo aplinkos ir galios elektronikos komponentų modeliavimui specializuotų bibliotekų dėka — ten kur GNU Octave reikėjo pačiam rašyti ir derinti kodą MATLAB/Simulink tereikėjo iš bibliotekų pasiimti reikiamus elementus — lyginant GNU Octave su bazine, t. y. be papildomų bibliotekų, MATLAB versija tokio drastiško efektyvumų skirtumo tikrai nebūtų.

Kriterijais kuriais GNU Octave vienareikšmiškai aplenkia MATLAB tai būtų kaina ir reikalavimai aparatinei įrangai. Kadangi GNU Octave yra atvirojo kodo programa jinai platinama iš viso nemokamai. Oficialių reikalavimų aparatinei įrangai aptikti nepavyko, tačiau 5.2-os versijos GNU Octave instaliuojant kompiuteryje su Windows 10 operacine sistema instaliacinė programa pareikalavo maždaug 1,6 GB vietos diske.

Pabaigai galima išskirti vartotojus kuriems GNU Octave galėtų būti įdomi. Pirmiausiai tai asmenys kurie GNU Octave, kaip pagal atviro kodo licenziją platinamą programinę įrangą, rinktųsi iš idėjinių paskatų. Tai pat tai ne labai sudėtingus arba tipinius skaičiavimus vykdantys asmenys arba organizacijos.

Taigi reziumuojant. Pagrindiniai GNU Octave privalumai būtų:

Pagrindiniai GNU Octave trūkumai būtų:

Scilab

Dar vienas populiarus pagal atviro kodo licenziją platinamas ir moksliniams skaičiavimams skirtas paketas yra Scilab. Paketo sukūrimas, kaip nurodoma paketo istorijai skirtoje tinklapio skiltyje, inicijavo prancūzų IRIA instituto mokslininkų siekis tapti nepriklausomais nuo amerikiečių platinamos moksliniams skaičiavimams skirtos programinės įrangos, ko pasekoje buvo sukurtas grynai AVT užduotims spręsti skirtas programų paketas Blaise. Vėliau Blaise buvo pervadinta į Basile ir kompanijos Simulog platinama pagal komercinę licenziją ir tik nuo 1990-tųjų metų programa pervadinta Scilab — pavadinimas gautas apjungus žodžių Scientific Laboratory tris pirmąsias raides — ir pradėta platinti laisvai. Nuo to laiko pasikeitė net kelios Scilab priežiūra ir vystymu užsiimančios organizacijos, bet visą tą laiką programa pozicionuojama kaip atvirojo kodo.

Kadangi Scilab padėjo savo gyvavimą kaip automatino valdymo sistemų projektavimui skirta programa joje neabejotinai yra ir specializuotos tam skirtos priemonės. Jos apjungtos į CACSD biblioteką, kurios pavadinimas sudarytas kaip akronimas iš angliškų žodžių Computer-Aided Control System Design. Naudojantis bibliotekoje esančiomis funkcijomis galima spręsti automatinio valdymo sistemų aprašymo, analizės laiko ir dažnio srityje, identifikavimo, optimizavimo ir sintezės uždavinius. Biblioteka savo apimtimi ir turiniu beveik atitinka MATLAB siūlomą Control System Toolbox biblioteką, todėl jos galimybių turėtų užtekti tiek klasikinės tiek modernios AVT uždaviniams spręsti.

Skirtingai nuo GNU Octave, kuri faktiškai yra tik komandų interpretatorius, Scilab pakete yra ir vizualiam modeliavimui skirta Xcos aplinka. Xcos pateikiamose bibliotekose yra ne vien abstrakčių tolydžių ar diskretinių, bet ir realių elektrinių ir elektromechaninių sistemų modeliavimui skirti elementai, pvz. tranzistoriai, elektros varikliai ir pan., todėl šiuo požiūriu Xcos gali pakeisti MATLAB siūloma Simulink ir, bent jau iš dalies, net SimScape.

Standartines Scilab galimybes, panašiai kaip ir MATLAB bei GNU Octave, irgi galima išplėsti naudojant papildomas paprogramių bibliotekas, kurios kuriamos vartotojų bendruomenės. Scilab tokių bibliotekų instaliavimas valdomas per taip vadinamą ATOMS sąsają, o pilną siūlomų bibliotekų sąrašą galima rasti ATOMS sąsajai skirtame tinklapyje, tačiau čia taip pat reikėtų pastebėti, kad, bent jau apžvalgos parašymo metu, minėtame tinklapyje pateikiamas sąrašas yra kiek chaotiškas.

Skirtingai nuo GNU Octave, kurioje sąmoningai siekiama kaip galima geresnio suderinamumo su MATLAB, Scilab autoriai tokio tikslo nekelia, todėl vienai sistemai pritaikytų programų vykdyti kitoje, jei tik tai nėra kažkokie visiškai primityvūs aritmetiniai veiksmai, nepavyks. Žinoma, tai galioja ir Xcos modeliams, kurie visiškai nesuderinam su Simulink.

Reikalavimai aparatinei įrangai yra daug žemesni nei MATLAB ir, kaip teko matyti instaliuojant 6.1 versijos Scilab, kiek žemesni nei GNU Octave. Scilab tinklapio skiltyje skirtoje reikalavimams aparatinei įrangai nurodoma, kad paketo instaliavimui prireiks apie 600 GB diske o darbui — 2 GB operatyviosios atminties. Atkreiptinas dėmesys, kad Scilab veikimui taip pat reikalinga Java aplinka, kuri įtraukta į Windows operacinei sistemai pritaikytą instaliacinę programą. Priklausomai nuo ketinamų naudoti bibliotekų gali prireikti ir kitų programų, pvz. norint Xcos aplinkoje naudoti Modelica kalba parašytus modelius būtinas C/C++ kalbos kompiliatorius. Iš vartotojo pusės žiūrint tokia Scilab priklausomybė nuo trečių šalių programų neprideda pliusų, nes tenka įsigyti, instaliuoti ir konfigūruoti dar ir papildomas programas.

Galiausiai pabaigai apie galimus Scilab vartotojus. Tai vartotojai kuriems yra būtina grafinė dinaminių sistemų modeliavimui skirta terpė ir visiškai nebūtinas suderinamumas su MATLAB. Taip pat asmenys projektuojantys automatinio valdymo sistemas.

Taigi reziumuojant. Pagrindiniai Scilab privalumai būtų:

Pagrindiniai Scilab trūkumai būtų: