JĂ€tkates teemat , vaatame matemaatilise modelleerimise probleemi teiselt poolt. PĂ€rast seda, kui oleme veendunud, et mudel vastab elu karmile tĂ”ele, saame vastata pĂ”hikĂŒsimusele: âmida me siin tegelikult omame?â. Luues tehnilise objekti mudelit, soovime tavaliselt veenduda, et see objekt vastab meie ootustele. Selleks tehakse dĂŒnaamilisi arvutusi ja tulemused vĂ”rreldakse nĂ”udmistega. See ongi digitaalne kaksik, virtuaalne prototĂŒĂŒp ja muud sarnased asjad, mis projekteerimise etapis lahendavad probleemi, kuidas saavutada, et saaksime seda, mida plaanisime.
Kuidas me saame kiiresti veenduda, et meie sĂŒsteem on just see, mida me projekteerime, kas see lendab vĂ”i uju, meie konstruktsioon? Ja kui lendab, siis kui kĂ”rgele? Ja kui uju, siis kui sĂŒgavale?

Selles artiklis kĂ€sitletakse tehnilise hoone nĂ”uete tĂ€itmise kontrollimise automatiseerimist, kui luuakse dĂŒnaamilisi tehniliste sĂŒsteemide mudeleid. NĂ€itena vaatame Ă”husĂ”iduki Ă”hukonditsioneerimise sĂŒsteemi tehnilise ĂŒlesande elementi.
Vaatleme neid nĂ”udeid, mida saab numbriliselt vĂ€ljendada ja matemaatiliselt kontrollida konkreetse arvutusmudeli alusel. Selge on, et need on vaid osa igasugustest nĂ”uetest, mis kehtivad igasugustele tehnilistele sĂŒsteemidele, kuid just nende kontrollimiseks kulutame aega, nĂ€rve ja raha objekti dĂŒnaamiliste mudelite loomisele.
Tehniliste nĂ”uete dokumenteerimisel vĂ”ib eristada erinevaid nĂ”uete tĂŒĂŒpe, millest igaĂŒhel on erinevad lĂ€henemisviisid automaatse nĂ”uete tĂ€itmise kontrollimiseks.
NÀiteks vaatame sellist vÀikest, kuid reaalselt olemasolevat nÔuete komplekti:
- Ăhu temperatuur sĂŒsteemi sissepÀÀsul:
seisundis â vahemikus miinus 35 kuni 35 ÂșC,
lennates â vahemikus miinus 35 kuni 39 ÂșC. - KliimaĂ”hu staatiline rĂ”hk lennates â vahemikus 700 kuni 1013 GPa (alates 526 kuni 760 mm Hg)
- KliimaĂ”hu kogurĂ”hk sĂŒsteemi Ă”hukanalis lennates â vahemikus 754 kuni 1200 GPa (alates 566 kuni 1050 mm Hg).
- KĂŒlma Ă”hu temperatuur:
seisundis â mitte rohkem kui 27 ÂșC, tehniliste plokkide jaoks â mitte rohkem kui 29 ÂșC,
lennul â mitte rohkem kui 25 ÂșC, tehniliste plokkide jaoks â mitte rohkem kui 27 ÂșC. - JahutusĂ”hu tarbimine:
parkimise ajal â mitte vĂ€hem kui 708 kg/h,
lennul â mitte vĂ€hem kui 660 kg/h. - Ăhu temperatuur instrumentide sektsioonides â mitte rohkem kui 60 ÂșC.
- Peene dispergeeritud vaba niiskuse hulk jahutusĂ”hus â mitte rohkem kui 2 g/kg kuiva Ă”hu.
Isegi selle piiratud nĂ”udmiste kogumi seast vĂ”ib vĂ€lja tuua vĂ€hemalt kaks kategooriat, mida sĂŒsteemis tuleb erinevalt töödelda:
- sĂŒsteemi kasutamise tingimuste nĂ”uded (p-p. 1-3);
- sĂŒsteemi parameetrilised nĂ”uded (p-p. 3-7).
SĂŒsteemi kasutamise tingimuste nĂ”uded
Arendatava sĂŒsteemi vĂ€lis tingimused modelleerimisel vĂ”ivad olla mÀÀratud kui piirangutingimused vĂ”i kui ĂŒldise sĂŒsteemi töö tulemus.
DĂŒnaamilise modelleerimise puhul tuleb veenduda, et mÀÀratud tööreĆŸiimid katavad modelleerimisprotsessi.
SĂŒsteemi parameetrilised nĂ”uded
Need nĂ”uded esindavad parameetreid, mida tagab sĂŒsteem ise. Modelleerimise kĂ€igus saame nende parameetrite kui arvutustulemuste ja veenduda, et nĂ”uded on iga konkreetse arvutuse puhul tĂ€idetud.
NÔuete identifitseerimine ja kodeerimine
NĂ”udete mugavamaks kĂ€sitlemiseks soovitavad olemasolevad standardid igale nĂ”udmisele identifikaatori mÀÀramist. Identifikaatorite mÀÀramisel on vĂ€ga soovitatav kasutada ĂŒhtset kodeerimissĂŒsteemi.
NĂ”ude kood vĂ”ib olla lihtsalt number, mis kajastab nĂ”ude jĂ€rjestusnumbrit, vĂ”i vĂ”ib sisaldada nĂ”ude tĂŒĂŒbi koodi, sĂŒsteemi vĂ”i seadme, millele see kehtib, parameetri koodi, asukoha koodi ja palju muud, mida insener suudab ette kujutada. (kodeerimise kasutusnĂ€ide vt artiklist)
Tabelis 1 on toodud lihtne nÀide nÔuete kodeerimisest.
- nÔuete allika kood R - nÔuded TSeal;
- nĂ”uete tĂŒĂŒpide kood E â nĂ”uded â vĂ€liskeskkonna parameetrid vĂ”i kasutamise tingimused
S â nĂ”uded, mida sĂŒsteem tagab; - Lennuki oleku kood 0 â ĂŒkskĂ”ik, G â parkimisel, F â lennul;
- fĂŒĂŒsikaliste parameetride tĂŒĂŒbi kood T â temperatuur, P â rĂ”hk, G â vool, niiskus H;
- nÔude jÀrjestikune number.
| ID NÔuded | Kirjeldus | Parameeter |
| REGT01 | Ăhu temperatuur SVO sissepÀÀsu juures: seismisel â vahemikus miinus 35ÂșC kuni 35 ÂșC. | |
| REFT01 | Ăhu temperatuur SVO sissepÀÀsu juures: lennu ajal â vahemikus miinus 35 ÂșC kuni 39 ÂșC. | |
| REFP01 | Ăhu staatiline rĂ”hk lennu ajal vahemikus 700 kuni 1013 hPa (526 kuni 760 mm Hg). | |
| REFP02 | Ăhu kogurĂ”hk SVO Ă”huvĂ”tus lennu ajal vahemikus 754 kuni 1200 hPa (566 kuni 1050 mm Hg). | |
| RSGT01 | JahutusĂ”hu temperatuur: seismisel mitte ĂŒle 27 ÂșC. | |
| RSGT02 | JahutusĂ”hu temperatuur: seismisel, tehnilistele plokkidele mitte ĂŒle 29 ÂșC. | |
| RSFT01 | JahutusĂ”hu temperatuur lennu ajal mitte ĂŒle 25 ÂșC. | |
| RSFT02 | JahutusĂ”hu temperatuur: lennu ajal, tehnilistele plokkidele mitte ĂŒle 27 ÂșC. | |
| RSGG01 | JahutusÔhu voog: seismisel mitte vÀhem kui 708 kg/h. | |
| RSFG01 | JahutusÔhu voog: lennu ajal mitte vÀhem kui 660 kg/h. | |
| RS0T01 | Ăhu temperatuur instrumentide sektsioonides mitte ĂŒle 60 ÂșC. | |
| RSH01 | Mikroskoopilise vabade veepiisade kogus jahutusĂ”hus mitte ĂŒle 2 g/kg kuivas Ă”hus. |
NĂ”uete kontrollimise sĂŒsteemi projekt.
Iga arvutatud nĂ”ude jaoks on olemas vastavuse hindamise algoritm, mis hindab arvutatud parameetreid ja nĂ”udes mÀÀratud parameetreid. Suures plaanis sisaldab iga juhtimissĂŒsteem alati endas nĂ”uete kontrollimise algoritme lihtsalt vaikimisi. Ning isegi iga regulatiivne organ sisaldab neid. Kui temperatuur ĂŒletab piiri, lĂŒlitub sisse konditsioneer. Seega on igasuguse reguleerimise esimene etapp parameetrite vastavuse kontroll nĂ”udele.
Ja kuna kontrollimine on algoritm, siis saab kasutada samu vahendeid ja tööriistu, mida me kasutame juhtimisprogrammide loomisel. NÀiteks SimInTech keskkond vÔimaldab luua projektipakette, mis sisaldavad erinevaid mudeli osi, mis on teostatud eraldi projektidena (objekti mudel, juhtimismudeli, keskkonna mudel jne).
NĂ”uetele vastavuse kontrollimise projekt muutub sel juhul samasuguseks algoritmide projektiks ja on ĂŒhendatud mudelipaketiga. Ja dĂŒnaamilise modelleerimise reĆŸiimis viiakse lĂ€bi nĂ”uete vastavuse analĂŒĂŒs.
VĂ”imalik nĂ€ide sĂŒsteemi projekti kujundamisest on esitatud joonisel 1.

Joonis 1. NÀide nÔuete kontrollimise projekti kujundamisest.
Sama nagu juhtimismehhanismide jaoks saab nÔudeid esitada lehtede kogumina. Mugavuse huvides töötamiseks mudelite simuleerimise keskkondades, nagu SimInTech, Simulink, AmeSim, kasutatakse vÔimalusi luua mitmetasandilisi struktuure submudelidena. Selline korraldus vÔimaldab grupeerida erinevaid nÔudeid kogudeks, et lihtsustada nÔuete hulgaga töötamist, nagu seda tehakse juhtimismehhanismide puhul (vt joonis 2).

Joonis 2. NÔuete kontrollimise mudeli hierarhiline struktuur.
NĂ€iteks antud juhul on vĂ€lja toodud kaks gruppi: keskkonna nĂ”uded ja nĂ”uded sĂŒsteemile endale. SeetĂ”ttu kasutatakse kaht tasandit andmestruktuuri: kahte gruppi, millest igaĂŒks on algoritmi leht.
Andmete ĂŒhendamiseks mudeliga kasutatakse standardset signaalide andmebaasi vormimise skeemi, kus hoitakse projekti osade vahel vahetatavaid andmeid.
Tarkvara loomisel ja katsetamisel sisestatakse sellesse andmebaasi sensori nĂ€itajad (reaalsete sĂŒsteemi sensorite analoogid), mida kasutatakse juhtimisse sĂŒsteemis.
Testimise projekti jaoks vĂ”ib samas andmebaasis salvestada kĂ”ik parameetrid, mis arvutatakse dĂŒnaamilises mudelis, ja neid kasutada nĂ”uete tĂ€itmise kontrollimiseks.
DĂŒnaamiline mudel vĂ”ib sel juhul olla loodud mis tahes matemaatilise modelleerimise sĂŒsteemis vĂ”i isegi tĂ€idetud programmina. Ainus nĂ”ue on olemasolu programmiliideste andmete edastamiseks modelleerimisest vĂ€liskeskkonda.

Joonis 3. Kontrollimise projekti ĂŒhendamine kompleksse mudeliga.
NÀide pÔhilisest nÔuete kontrollimise lehest on esitatud joonisel 4. Arendaja vaatepunktist on see tavaline arvutusskeem, millel on graafiliselt esitatud nÔuete kontrollimise algoritm.

Joonis 4. NÔuete kontrollimise leht.
NĂ”uete kontrollimise lehe pĂ”hiosad on esitatud joonisel 5. Kontrollimise algoritm moodustatakse sarnaselt juhtimismehhanismide arvutusskeemidega. Paremal kĂŒljel asub plokk signaalide lugemiseks andmebaasist. Selles plokis toimub andmebaasi signaalide juurde pÀÀsemine modelleerimise ajal.
Saadud signaalid analĂŒĂŒsitakse nĂ”uete kontrollimise tingimuste mÀÀramiseks. Antud juhul viiakse lĂ€bi kĂ”rguse analĂŒĂŒs, et mÀÀrata, kas lennuk on pargitud vĂ”i Ă”hus. Selleks saab kasutada ka muid signaale ja mudeli arvutatud parameetreid.
Kontrollimise tingimused ja kontrollitavad parameetrid edastatakse tĂŒĂŒpilistesse kontrollplokkidesse, kus analĂŒĂŒsitakse nende parameetrite vastavust mÀÀratud nĂ”uetele. Tulemused salvestatakse signaalide andmebaasi nii, et neid saab kasutada automaatse kontroll-loendi koostamiseks.

Joonis 5. NÔuete kontrollimise arvutusskeemi struktuur.
Kontrollitavate parameetritena ei pea tingimata kasutama andmebaasis sisalduvaid signaale, mis on juhitavad modellerimise kÀigus arvutatud parameetritega. Projekti nÔuete raames ei takista miski tÀiendavate arvutuste tegemist, just nagu arvutame kontrollimise tingimusi.
NÀiteks selline nÔue:
KorrektuurisĂŒsteemi aktiveerimise arv lennu ajal eesmĂ€rgini ei tohi ĂŒletada 5 ning kogu korrektuurisĂŒsteemi tööaeg ei tohi ĂŒletada 30 sekundit.
Sellisel juhul lisatakse nÔuete projekti arvutusskeemi aktiveerimise ja kogu tööaja loenduri algoritm.
TĂŒĂŒpiline nĂ”uete kontrollimise blokk.
Iga tĂŒĂŒpiline nĂ”uete kontrollimise blokk on ette nĂ€htud teatud tĂŒĂŒpi nĂ”uete tĂ€itmise arvutamiseks. NĂ€iteks keskkonna nĂ”uetes on Ă”hutemperatuuri vahemik, mis on kehtiv nii pargitud kui ka lennu ajal. See blokk peab saama parameetrina Ă”hutemperatuuri mudelis ja mÀÀrama, kas see parameeter katab mÀÀratud temperatuuride vahemiku.
Blokk sisaldab kahte sisendporti, param ja condition.
Esimesele antakse kontrollitav parameeter. Antud juhul 'VĂ€line temperatuur'.
Teisele porti antakse boolean muutuja â kontrollimise tĂ€itmise tingimus.
Kui teisele sisendile tuleb TRUE (1), siis blokk arvutab nÔude kontrollimise.
Kui teine sisend annab FALSE (0), siis kontrollimise tingimusi ei tĂ€ideta. See on vajalik, et arvesse vĂ”tta arvutuste tingimusi. Meie juhul kasutatakse seda sisendit, et sisse vĂ”i vĂ€lja lĂŒlitada kontrollimist olenevalt mudeli seisundist. Kui Ă”husĂ”iduk on mudelimise ajal maapinnal, siis lennuga seotud nĂ”uded ei kehti, ja vastupidi - kui Ă”husĂ”iduk on lennul, siis ei kontrollita parkimisprotsessidega seotud nĂ”udeid.
Seda sisendit saab kasutada ka mudeli seadistamisel, nĂ€iteks arvutuste algfaasis. Kui mudel seatakse nĂ”utud olekusse, on kontrollblokid vĂ€lja lĂŒlitatud, kuid niipea kui sĂŒsteem jĂ”uab soovitud tööreĆŸiimi, aktiveeritakse kontrollblokid.
Selle ploki parameetriteks on:
- piirangutingimused: ĂŒlemine (UpLimit) ja alumine (DownLimit) piiri ulatus, mida tuleb kontrollida;
- nĂ”utav aja pikkus, mille sĂŒsteem peab veetma piiri ulatuses (TimeInterval) sekundites;
- nÔude identifikaator ReqName;
- lubatav vĂ€ljumine ulatusest Out_range â boolean muutuja, mis mÀÀratleb, kas nĂ”ude rikkumine on seotud vÀÀrtuse vĂ€ljundiga kontrollitud ulatusest.
MĂ”nel juhul tĂ€hendab kontrollitava vÀÀrtuse vĂ€ljumine, et sĂŒsteemil on varu ja see suudab töötada vĂ€ljaspool tööulatust. Teistes olukordades tĂ€hendab vĂ€ljumine, et sĂŒsteem ei suuda hoida mÀÀratud parameetreid ulatuse piires.

Joonis 6. TĂŒĂŒpiline kontrollplokk omaduse skeemil ja selle parameetrid.
Selle ploki arvutamise tulemuseks on vÀljundimuutuja Result, millel on jÀrgmised vÀÀrtused:
- 0 â rNone, vÀÀrtus ei ole mÀÀratud;
- 1 â rDone, nĂ”ue on tĂ€idetud;
- 2 â rFault, nĂ”ue ei ole tĂ€idetud.
Ploki pildil on:
- identifikaori tekst;
- numbrilised kuvamised mÔÔtmispiiride parameetritest;
- parameetri oleku vÀrvi identifikaator.
Ploki sees vÔib asuda piisavalt keeruline loogilise tuletuse skeem.
NÀiteks, et kontrollida ploki tööulatuse temperatuuri, mis on esitatud joonisel 6, on sisemine skeem esitatud joonisel 7.

Joonis 7. Temperatuuride ulatuse mÀÀratlemise ploki sisemine skeem.
Ploki skeemides kasutatakse ploki parameetrites mÀÀratletud omadusi.
Lisaks nĂ”uetele vastavuse analĂŒĂŒsile sisaldab sisemine ploki skeem graafikut, mis on vajalik modelleerimise tulemuste vĂ€ljundiks. Seda graafikut saab kasutada nii arvutamise ajal vaatamiseks kui ka arvutamise jĂ€rgselt tulemustega tutvumiseks.
Arvutustulemused edastatakse ploki vĂ€ljundisse ja salvestatakse samal ajal ĂŒldisesse aruande faili, mis koostatakse kogu projekti tulemustest. (vt joonis 8)
Modelleerimise tulemustel pÔhinev aruande nÀide on HTML-fail, mis on loodud ettenÀhtud vormingus. Vormingut saab vastavalt konkreetse organisatsiooni vajadustele vabalt kohandada.
Ploki skeemides kasutatakse ploki parameetrites mÀÀratletud omadusi.
Lisaks nĂ”uetele vastavuse analĂŒĂŒsile sisaldab sisemine ploki skeem graafikut, mis on vajalik modelleerimise tulemuste vĂ€ljundiks. Seda graafikut saab kasutada nii arvutamise ajal vaatamiseks kui ka arvutamise jĂ€rgselt tulemustega tutvumiseks.
Arvutustulemused edastatakse ploki vĂ€ljundisse ja salvestatakse samal ajal ĂŒldisesse aruande faili, mis koostatakse kogu projekti tulemustest. (vt joonis 8)
Modelleerimise tulemustel pÔhinev aruande nÀide on HTML-fail, mis on loodud ettenÀhtud vormingus. Vormingut saab vastavalt konkreetse organisatsiooni vajadustele vabalt kohandada.

Joonis 8. Aruande faili nÀide modelleerimise tulemustest.
Antud nĂ€ites viiakse aruande vormi seadistamine lĂ€bi otse projekti omadustes ning vorming mÀÀratakse tabelis kui projekti globaalne signaal. Sellisel juhul lahendab SimInTech ise aruande seadistamise ĂŒlesande, ning tulemuste faili salvestamise plokk kasutab neid ridu aruande faili kirjutamiseks.

Joonis 9. Aruande vormingu seadistamine projektis globaalsete signaalide kaudu.
Signaalide andmebaasi kasutamine nÔuete jaoks.
Iga tĂŒĂŒploodi omaduste seadistamise töö automatiseerimiseks luuakse signaalide andmebaasis tĂŒĂŒpiline struktuur. (vt joonis 10)

Joonis 10. NÀide nÔude kontrollimise ploki struktuurist signaalide andmebaasis.
Signaalide andmebaas tagab:
- KĂ”ikide sĂŒsteemile esitatud nĂ”uete vajalikud parameetrid.
- Olemasolevate nÔuete mugava vaatamise projekti antud parameetrite ja praeguste modelleerimise tulemuste pÔhjal.
- Ăhe ploki, plokkide grupi seadistamise skriptikeele kasutamine. Muudatused signaalide andmebaasis muudavad ploki omaduste vÀÀrtusi skeemil.
- Tekstiliste kirjelduste, viidete TĂ”nniks jne vĂ”i identifikaatorite sĂ€ilitamine nĂ”uete juhtimissĂŒsteemis.
NĂ”uete signaalide andmebaasi struktuure saab hĂ”lpsasti kohandada koostööks kolmanda osapoole nĂ”uete juhtimissĂŒsteemidega. Ăldine skeem suhtlemiseks nĂ”uete juhtimissĂŒsteemidega on esitatud joonisel 11.

Joonis 11. Skeem nĂ”uete juhtimissĂŒsteemiga suhtlemiseks.
SimInTech'i testiprojekti interaktsiooni jĂ€rjestus nĂ”uete haldamise sĂŒsteemiga on jĂ€rgmine:
- Tehniline ĂŒlesanne jagatakse nĂ”ueteks.
- Tuvastatakse sellised tehnilise ĂŒlesande nĂ”uded, mida saab kontrollida matemaatilise modelleerimise abil.
- Tuvastatud nĂ”uete atribuudid edastatakse SimInTech'i signaalide andmebaasi tĂŒĂŒpiliste plokkide struktuuridesse (nĂ€iteks maksimaalne ja minimaalne temperatuur).
- Arvutamise kĂ€igus edastatakse struktuuride andmed plokkide arvutusdiagrammidesse, tehakse analĂŒĂŒs ja tulemused salvestatakse signaalide andmebaasi.
- Arvutamise lĂ”ppedes edastatakse analĂŒĂŒsi tulemused nĂ”uete haldamise sĂŒsteemi.
NĂ”uetega töötamise etapid 3â5 vĂ”ivad projekteerimise kĂ€igus korduda, kui konstruktsioonis ja (vĂ”i) nĂ”uetes toimuvad muudatused ning seetĂ”ttu on vajalik muudatuste mĂ”ju uuesti kontrollida.
JĂ€reldused.
- Loodud sĂŒsteemi prototĂŒĂŒp tagab olemasolevate mudelite analĂŒĂŒsi aega mĂ€rgatavalt lĂŒhendamise, arvestades nĂ”uete vastavust tehnilisele ĂŒlesandele.
- Pakettide andmete korraldamise tehnoloogia kasutab juba olemasolevaid dĂŒnaamilisi mudeleid ja seda saab kasutada isegi mistahes dĂŒnaamiliste mudelite puhul, sealhulgas neid, mis ei ole loodud SimInTech'i keskkonnas.
- Andmepakettide kasutamine vĂ”imaldab nĂ”uete kontrollimise pakettide loomist koos mudelite arendamisega vĂ”i isegi kasutada neid pakette tehnilise ĂŒlesandena mudelite arendamiseks.
- Tehnoloogiat saab olemasolevate nĂ”uete haldamise sĂŒsteemidega integreerida oluliste kuludeta.
Kellele see huvi pakub,
Allikas: habr.com
