JĂ€tkates teemat , vaatame matemaatilise mudeldamise probleemi teisest kĂŒljest. PĂ€rast seda, kui oleme kinnitanud, et mudel vastab elu igapĂ€eva tĂ”ele, saame vastata pĂ”hiprobleemile: âmida me siis tegelikult omame?â Luues tehnilise objekti mudeli, tahame enamasti veenduda, et see objekt vastab meie ootustele. Selleks viiakse lĂ€bi dĂŒnaamilisi arvutusi ja tulemus vĂ”rdleb meie nĂ”udmistega. See on digitaalne kaksik, virtuaalne prototĂŒĂŒp ja muud moodsad asjad, mis disainietapis lahendavad ĂŒlesande, kuidas saavutada soovitud tulemusi.
Kuidas me kiiresti veendume, et meie sĂŒsteem on just see, mida me projekteerime, kas see lendab vĂ”i ujub, meie konstruktsioon? Ja kui see lendab, siis kui kĂ”rgele? Ja kui see ujub, siis kui sĂŒgavale?

Selles artiklis kĂ€sitletakse tehnilise objekti nĂ”uete kontrollimise automatiseerimist dĂŒnaamiliste tehniliste sĂŒsteemide mudelite loomisel. NĂ€iteks vaatame lennuki Ă”hukonditsioneerimise sĂŒsteemi tehnilise ĂŒlesande elementi.
KĂ€sitleme neid nĂ”udeid, mida on vĂ”imalik numbriliselt vĂ€ljendada ja matemaatiliselt kindlaks teha, tuginedes konkreetsele arvutusmudelile. Selge on see, et see on ainult osa kĂ”igist nĂ”udmistest, mis kehtivad igale tehnilisele sĂŒsteemile, kuid just nende nĂ”uete kontrollimiseks me kulutame aega, nĂ€rve ja raha dĂŒnaamiliste objektimudelite loomisel.
Tehniliste nĂ”uete kirjeldamisel dokumendi vormis saab eristada mitmeid erinevaid nĂ”uete liike, millest igaĂŒhel on eri lĂ€henemisviisid automaatse nĂ”uete tĂ€itmise kontrollimise korraldamiseks.
NÀiteks vaatame sellist vÀikest, kuid tÔelist nÔuete kogumit:
- Ăhuhulga temperatuur sisenemisel SVO-sse:
seisakus â vahemikus miinus 35 kuni 35 ÂșC,
lennul â vahemikus miinus 35 kuni 39 ÂșC. - Staaticu Ă”hurĂ”hk lennul â vahemikus 700 kuni 1013 GPa (vahemikus 526 kuni 760 mm rt. st.).
- KogurĂ”hk Ă”hu sisenemisel SVO Ă”hu sisselaskeava â vahemikus 754 kuni 1200 GPa (vahemikus 566 kuni 1050 mm rt. st.).
- JahutusÔhu temperatuur:
seisakus â mitte rohkem kui 27 ÂșC, tehniliste plokkide puhul â mitte rohkem kui 29 ÂșC,
lennul â mitte rohkem kui 25 ÂșC, tehniliste plokkide puhul â mitte rohkem kui 27 ÂșC. - JahutusĂ”hu voog:
seisakus â mitte vĂ€hem kui 708 kg/h,
lennul â mitte vĂ€hem kui 660 kg/h. - Ăhu temperatuur instrumentide sektsioonides â mitte rohkem kui 60 ÂșC.
- Mikroskoopilise vaba niiskuse hulk jahutusĂ”hus â mitte rohkem kui 2 g/kg kuiva Ă”hku.
I isegi selle piiratud nĂ”uete kogumi puhul saab vĂ€lja tuua vĂ€hemalt kaks kategooriat, mida tuleb sĂŒsteemis erinevalt töödelda:
- sĂŒsteemi töötingimuste nĂ”uded (p.p. 1-3);
- sĂŒsteemi parameetrilised nĂ”uded (p.p. 3-7).
SĂŒsteemi töötingimuste nĂ”uded
VĂ€lised tingimused projekteeritavale sĂŒsteemile modelleerimisel vĂ”ivad olla mÀÀratud kas piirangutingimustena vĂ”i ĂŒldsĂŒsteemi tegevuse tulemusena.
DĂŒnaamilise modelleerimise korral tuleb veenduda, et mÀÀratud tööreĆŸiimid katab modelleerimisprotsess.
SĂŒsteemi parameetrilised nĂ”uded
Need nĂ”uded esindavad parameetreid, mida tagab sĂŒsteem ise. Modelleerimise kĂ€igus saame need parameetrid arvutuse tulemustena ning veendumiseks, et nĂ”uded on tĂ€idetud iga konkreetse arvutuse puhul.
NÔuete tuvastamine ja kodeerimine
Mugavuse huvides nĂ”uete töötlemisel soovitatakse olemasolevates standardites iga nĂ”udega seostada identifikaator. Identifikaatorite mÀÀramisel on vĂ€ga soovitatav kasutada ĂŒhtset kodeerimisse sĂŒsteemi.
NĂ”ude kood vĂ”ib olla lihtsalt number, mis peegeldab nĂ”ude jĂ€rjekorranumbrit, vĂ”i see vĂ”ib sisaldada nĂ”ude tĂŒĂŒbi koodi, sĂŒsteemi vĂ”i seadme koodi, millele see kehtib, parameetri koodi, asukoha koodi ja palju muud, mida insener suudab ette kujutada. (kodeerimise kasutusvariandi nĂ€gemiseks vaata artiklit)
Tabelis 1 on toodud lihtne nÀide nÔuete kodeerimisest.
- nĂ”ude allika kood R - nĂ”uete TĐ;
- nĂ”uete tĂŒĂŒbi kood E â nĂ”uded â vĂ€list keskkonna parameetrid vĂ”i töötingimused
S â nĂ”uded, mida tagab sĂŒsteem; - lennuki oleku kood 0 â iga, G â seisakus, F â lennul;
- fĂŒĂŒsikaliste parameetrite tĂŒĂŒbi kood T â temperatuur, P â rĂ”hk, G â voog, niiskus H;
- nÔude jÀrjekorranumber.
| ID NÔuded | Kirjeldus | Parameeter |
| REGT01 | Ăhuhulga temperatuur sisenemisel SVO-sse: seisakus â vahemikus miinus 35ÂșC kuni 35 ÂșC. | |
| REFT01 | Ăhutemperatuur SVO sisenemisel: lennu ajal â vahemikus miinus 35 ÂșC kuni 39 ÂșC. | |
| REFP01 | Suurendatud ÔhurÔhk lennu ajal vahemikus 700 kuni 1013 hPa (526 kuni 760 mm Hg). | |
| REFP02 | Ăhusurve SVO Ă”huvĂ”tus lennu ajal vahemikus 754 kuni 1200 hPa (566 kuni 1050 mm Hg). | |
| RSGT01 | JahutusĂ”hu temperatuur: seismise ajal mitte ĂŒle 27 ÂșC | |
| RSGT02 | JahutusĂ”hu temperatuur: seismise ajal, tehniliste plokkide jaoks mitte ĂŒle 29 ÂșC | |
| RSFT01 | JahutusĂ”hu temperatuur lennu ajal mitte ĂŒle 25 ÂșC | |
| RSFT02 | JahutusĂ”hu temperatuur: lennu ajal, tehniliste plokkide jaoks mitte ĂŒle 27 ÂșC | |
| RSGG01 | JahutusÔhu vooluhulk: seismise ajal mitte vÀhem kui 708 kg/h | |
| RSFG01 | JahutusÔhu vooluhulk: lennu ajal mitte vÀhem kui 660 kg/h | |
| RS0T01 | Temperatuur seadmete kabiinides mitte ĂŒle 60 ÂșC | |
| RSH01 | Peeneosakeste vaba niiskuse kogus jahutusĂ”hus mitte ĂŒle 2 g/kg kuiva Ă”hku |
NĂ”uete kontrollimise sĂŒsteemi projekt.
Iga arvutusnĂ”ude jaoks on olemas sobivuse hindamise algoritm, mis hindab arvutatud parameetreid ja nĂ”utavaid parameetreid. Ăldiselt sisaldab iga juhtimisseade alati automaatselt nĂ”uete kontrollimise algoritme. Isegi iga reguleerija sisaldab neid. Kui temperatuur ĂŒletab piiri, kĂ€ivitatakse konditsioneer. Seega on igasuguse reguleerimise esimene etapp parameetrite vastavuse kontrollimine nĂ”udmistele.
Ja kuna kontroll on algoritm, siis saab kasutada samu vahendeid ja tööriistu, mida me kasutame juhtimisprogrammide loomisel. NÀiteks SimInTech'i keskkond vÔimaldab luua projektide pakette, mis sisaldavad erinevaid mudeli osi, mis on esitatud eraldi projektidena (objekti mudel, juhtimisseadmise mudel, keskkonna mudel jne).
NĂ”uete kontrollimise projekt muutub selles kontekstis samasuguseks algoritmide projektiks ja ĂŒhendatakse mudeli paketi kĂŒlge. Ja dĂŒnaamilise modelleerimise reĆŸiimis toimub nĂ”uete vastavuse analĂŒĂŒs.
VĂ”imalik nĂ€ide sĂŒsteemi projekti esitamisest on toodud joonisel 1.

Joonis 1. NÀide nÔuete kontrollimise projekti esitamisest.
Samamoodi nagu juhtimisalgoritmide jaoks, saab nĂ”udeid esitada lehtede kogumina. Mugavuse huvides algoritmide töötlemisel struktuurse modelleerimise keskkondades nagu SimInTech, Simulink, AmeSim kasutatakse mitmetasandiliste struktuuride loomi submudelina. Selline organisatsioon vĂ”imaldab rĂŒhmitada erinevaid nĂ”udeid kogumiteks, et hĂ”lbustada töö tegemist nĂ”uete hulgaga, nagu seda tehakse juhtimisalgoritmide 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 otse sĂŒsteemile. SeetĂ”ttu kasutatakse kaheastmelist andmestruktuuri: kaks gruppi, millest igaĂŒks on algoritmi leht.
Andmete ĂŒhendamiseks mudeliga kasutatakse standardset signaalide andmebaasi loomise skeemi, kus hoitakse andmeid projekti osade vaheliseks vahetamiseks.
Programmi loomise ja testimise kĂ€igus pĂ€rinevad sellele andmebaasi sensorite nĂ€idud (reaalsete sensorite analoogid sĂŒsteemis), mida juhtimisseade kasutab.
Testimisprojekti jaoks vĂ”ib samas andmebaasis salvestada kĂ”ik parameetrid, mis arvutatakse dĂŒnaamilises mudelis, ja seega kasutada nĂ”uete tĂ€itmise kontrollimiseks.
DĂŒnaamiline mudel vĂ”ib selles kontekstis olla loodud mis tahes matemaatilise modelleerimise sĂŒsteemis vĂ”i isegi kĂ€itatava programmiga. Ainus nĂ”ue on programmiliideste olemasolu, et edastada modelleerimise andmed vĂ€liskeskkonda.

Joonis 3. Kontrollimise projekti ĂŒhendamine kompleksse mudeliga.
NÀide pÔhilehe nÔuete kontrollimisest on esitatud joonisel 4. Arendaja vaatenurgast esindab see tavalist arvutusplaani, kus graafiliselt on esitatud nÔuete kontrollimise algoritm.

Joonis 4. NÔuete kontrollimise leht.
PĂ”hilised osad nĂ”uete kontrollimislehe kohta on esitatud joonisel 5. Kontrollimise algoritm vormitakse sarnaselt juhtimisalgoritmide arvutusskeemidele. Paremal kĂŒljel asub signaalide lugemise plokk andmebaasist. Selles plokis toimub signaalide andmebaasi ligipÀÀs modelleerimise ajal.
Saadud signaalid analĂŒĂŒsitakse nĂ”uete kontrollimise tingimuste mÀÀramiseks. Antud juhul viiakse lĂ€bi kĂ”rguse analĂŒĂŒs lennuki asukoha mÀÀramiseks (kas see on maapinnal vĂ”i Ă”hus). Selleks vĂ”ib kasutada ka muid signaale ja mudelites arvutatud parameetreid.
Kontrollimise tingimused ja kontrollitavad parameetrid edastatakse tĂŒĂŒpilistesse kontrolliblokidesse, kus analĂŒĂŒsitakse nende parameetrite andmeid vastavuse osas kehtestatud nĂ”uetele. Tulemused salvestatakse signaalide andmebaasi selliselt, et neid saab kasutada automaatse kontrollnimekirja koostamiseks.

Joonis 5. NÔuete kontrollimise kalkuleerimislehe struktuur.
Kontrollitavate parameetriteks ei ole tingimata signaalid, mis on andmebaasis, mis on juhitud mudelites arvutatavate parameetrite poolt. Miski ei takista projekti nÔuete raames tÀiendavate arvutuste tegemist, samamoodi nagu me arvutame kontrollimise tingimusi.
NÀiteks selline nÔue:
KorrigeerimissĂŒsteemi sisselĂŒlitamiste arv lennu ajal sihtkohta ei tohi ĂŒletada 5 ning korrigeerimissĂŒsteemi koguaeg ei tohi ĂŒletada 30 sekundi.
Sellisel juhul lisatakse nĂ”uete projekti kalkulatsiooniskeemile sisselĂŒlitamiste arvu ja koguaega arvestav algoritm.
TĂŒĂŒpiline nĂ”uete kontrollimise blokk.
Iga tĂŒĂŒpiline nĂ”uete kontrollimise blokk on loodud teatud tĂŒĂŒpi nĂ”ude tĂ€itmise arvutamiseks. NĂ€iteks keskkonnanĂ”uetes on esitatud ĂŒmbritseva Ă”hu töötemperatuuride vahemik maapinnal ja Ă”hus. See blokk peab saama mudelist Ă”hu temperatuuri parameetrina ning mÀÀrama, kas see katab mÀÀratud temperatuuride vahemiku.
Blokk sisaldab kahte sisendporti, param ja condition.
Esimesele antakse kontrollitav parameeter. Antud juhul âVĂ€line temperatuurâ.
Teisele portile antakse boolean muutuja â kontrollimise tingimus.
Kui teisele sisendile tuleb TRUE (1), siis blokk viib lÀbi nÔude kontrollimise arvutuse.
Kui teisele sisendile tuleb FALSE (0), siis kontrollimise tingimusi ei tĂ€ideta. See on vajalik, et arvestada arvutamise tingimusi. Meie juhul kasutatakse seda sisendit, et lĂŒlitada kontrollimist sisse vĂ”i vĂ€lja sĂ”ltuvalt mudeli olekust. Kui Ă”husĂ”iduk on modelleerimise ajal maapinnal, ei kontrollita lennuga seotud nĂ”udeid, ja vastupidi â kui Ă”husĂ”iduk on Ă”hus, ei kontrollita maapinna tööga seotud nĂ”udeid.
Seda sisendit saab kasutada ka mudeli seadistamisel, nĂ€iteks arvutuse algfaasis. Kui mudel viiakse nĂ”utavasse olekusse, on kontrolliblokid vĂ€lja lĂŒlitatud, kuid niipea kui sĂŒsteem jĂ”uab nĂ”utud tööreĆŸiimi, lĂŒlitatakse kontrolliblokid sisse.
Selle bloki parameetriteks on:
- piiritingimused: ĂŒlemine (UpLimit) ja alumine (DownLimit) piirmÀÀrad, mida tuleb kontrollida;
- nĂ”utav viibimise aeg sĂŒsteemile piirvahemike juures (TimeInterval) sekundites;
- nÔude identifikaator ReqName;
- lubatav vĂ€ljapÀÀs vahemikust Out_range â boolean muutuja, mis mÀÀratleb, kas nĂ”ude rikkumine on vÀÀrtuse vĂ€ljapÀÀs kontrollitavast vahemikust.
MĂ”nedes juhtudel tĂ€hendab kontrollitava vÀÀrtuse vĂ€ljapÀÀs, et sĂŒsteemil on reserve ja see suudab töötada vĂ€ljaspool töövahemikku. Teistes olukordades tĂ€hendab vĂ€ljapÀÀs, et sĂŒsteem ei suuda hoida mÀÀratud parameetreid vahemikus.

Joonis 6. TĂŒĂŒpiline omaduse kontrollimise blokk diagrammil ja selle parameetrid.
Antud bloki arvutuse tulemusena tekib vÀljundis muutuja Result, millel on jÀrgmised vÀÀrtused:
- 0 â rNone, vÀÀrtus ei ole mÀÀratletud;
- 1 â rDone, nĂ”ue on tĂ€idetud;
- 2 â rFault, nĂ”ue ei ole tĂ€idetud.
Bloki joonisel on:
- identifikaatori tekst;
- piiride mÔÔtmise parameetrite digitaalne kuvamine;
- parameetri oleku vÀrviline identifikaator.
Bloki sees vÔib olla piisavalt keeruline loogilise jÀrelduse skeem.
NÀiteks, et kontrollida temperatuuride töövahemikku, mis on toodud joonisel 6, on sisemine skeem esitatud joonisel 7.

Joonis 7. Temperatuuride vahemiku mÀÀramise bloki sisemine skeem.
Bloki skeemis kasutatakse omadusi, mis on mÀÀratud bloki parameetrites.
Lisaks nĂ”uete vastavuse analĂŒĂŒsile sisaldab ploki sisemine skeem graafikut, mis on vajalik simulatsiooni tulemuste kuvamiseks. Seda graafikut saab kasutada nii arvestuse ajal kui ka tulemuste analĂŒĂŒsimiseks pĂ€rast arvutust.
Arvutuse tulemused edastatakse ploki vĂ€ljundisse ja salvestatakse samal ajal ĂŒldisesse aruanne faili, mis luuakse kogu projekti tulemuste alusel. (vt joonis 8)
Simulatoritulemuste alusel loodud aruande nÀidis on html-fail, mis on loodud ettenÀhtud vormingus. Vormingut saab vabalt kohandada konkreetse organisatsiooni aktsepteeritud formaadi jÀrgi.
Bloki skeemis kasutatakse omadusi, mis on mÀÀratud bloki parameetrites.
Lisaks nĂ”uete vastavuse analĂŒĂŒsile sisaldab ploki sisemine skeem graafikut, mis on vajalik simulatsiooni tulemuste kuvamiseks. Seda graafikut saab kasutada nii arvestuse ajal kui ka tulemuste analĂŒĂŒsimiseks pĂ€rast arvutust.
Arvutuse tulemused edastatakse ploki vĂ€ljundisse ja salvestatakse samal ajal ĂŒldisesse aruanne faili, mis luuakse kogu projekti tulemuste alusel. (vt joonis 8)
Simulatoritulemuste alusel loodud aruande nÀidis on html-fail, mis on loodud ettenÀhtud vormingus. Vormingut saab vabalt kohandada konkreetse organisatsiooni aktsepteeritud formaadi jÀrgi.

Joonis 8. NĂ€idisaruande fail simulatori tulemustest.
Selles nÀites tehakse aruande vormi seadistus otse projekti omadustes ja vorming mÀÀratakse tabelis globaalsete signaalidena. Sellisel juhul lahendab SimInTech aruande seadmise probleemi iseseisvalt ning tulemuste faili salvestamise plokk kasutab neid ridu aruanne faili kirjutamiseks.

Joonis 9. Aruande vormingu seadistamine projekti globaalsetes signaalides
NÔuete signaalide andmebaasi kasutamine.
Iga tĂŒĂŒplahenduse omaduste seadistamise automatiseerimiseks luuakse signaalide andmebaasis tĂŒĂŒpiline struktuur. (vt joonis 10)

Joonis 10. NÀidis nÔudeontrolploki struktuur signaalide andmebaasis.
Signaalide andmebaas tagab:
- KĂ”igi vajalike nĂ”uete parameetrite salvestamine sĂŒsteemile.
- Mugav olemasolevate nÔuete vaatamine projekti mÀÀratud parameetritest ja praegustest simulatsiooni tulemustest.
- Ăksiku ploki, plokkide rĂŒhmade seadistamine skriptikeele abil. Muudatused signaalide andmebaasis viivad ploki omaduste vÀÀrtuste muutumiseni skeemil.
- Tekstiliste kirjelduste, viidates tehniliste ĂŒlesannete punktidele vĂ”i identifikaatoritele nĂ”uete haldamise sĂŒsteemis salvestamine.
NĂ”uete signaalide andmebaasi struktuurid saavad lihtsasti seadistuda koostööks kolmandate osapoolte nĂ”uete haldamise sĂŒsteemidega. Ăldine interaktsiooniskeem nĂ”uete haldamise sĂŒsteemidega on esitatud joonisel 11.

Joonis 11. Vastastikuse mĂ”ju skeem nĂ”uete haldamise sĂŒsteemiga.
SimInTech testprojekti ja nĂ”uete haldamise sĂŒsteemi vaheline interaktsioon jĂ€rgib jĂ€rgmisi etappe:
- Tehniline ĂŒlesanne jaguneb nĂ”ueteks.
- Erakordsed nĂ”uded tehnilisest ĂŒlesandest, mida saab kontrollida matemaatilise modelleerimise abil, tuuakse esile.
- Erakordsete nĂ”uete atribuudid edastatakse SimInTech signaalide andmebaasi tĂŒĂŒplahenduse struktuuridesse (nt maksimaalne ja minimaalne temperatuur).
- Arvutuse kĂ€igus edastatakse struktuuri andmed blokke arvutusskeemidesse, viiakse lĂ€bi analĂŒĂŒs ja tulemused salvestatakse signaalide andmebaasi.
- Arvutuse lĂ”ppedes edastatakse analĂŒĂŒsi tulemused nĂ”uete haldamise sĂŒsteemi.
NĂ”uetega tegelemise etapid 3â5 vĂ”ivad korduda projekteerimisprotsessi ajal, kui konstruktsioonis ja (vĂ”i) nĂ”uetes toimuvad muudatused ning seega on vajalik tĂ€iendav kontroll tehtud muudatuste mĂ”ju ĂŒle.
JĂ€reldused.
- Loodud sĂŒsteemi prototĂŒĂŒp vĂ”imaldab oluliselt vĂ€hendada olemasolevate mudelite analĂŒĂŒsi aega nĂ”uete vastavuse kontrollimiseks.
- Pakutud testimise tehnoloogia kasutab juba olemasolevaid dĂŒnaamilise mudelid ja vĂ”ib olla kasutatav isegi kĂ”igi dĂŒnaamiliste mudelite jaoks, sealhulgas mitte SimInTech keskkonnas loodud mudelite jaoks.
- Andmete pakettide kasutamine vĂ”imaldab luua nĂ”uete kontrollimise pakette paralleelselt mudelite vĂ€ljatöötamisega vĂ”i isegi kasutada neid pakette tehnilise ĂŒlesande loomiseks mudelite vĂ€ljatöötamiseks.
- Tehnoloogia saab integreerida ilma oluliste kuludeta olemasolevate nĂ”uete haldamise sĂŒsteemidega.
KĂŒsimustele, mis blokeerisid lugemist,
Allikas: habr.com
