Tehisintellekt tööstusautomaatikas

Artikli juhend

Kuidas programmeerida AMR-i dünaamilisi ohutustsoone PLC-s LiDAR-loogika abil

Õppige, kuidas LiDAR-i hoiatus- ja kaitsevälju PLC-loogikasse kaardistada AMR-i kiiruse vähendamiseks ja peatamiseks ning kuidas kasutada OLLA Labi reaktsioonitee harjutamiseks ja kontrollimiseks enne reaalset testimist.

Otsene vastus

AMR-i virtuaalne ohutusaed on PLC-ga juhitav kiiruse ja peatamise strateegia, mis kaardistab LiDAR-i väljade rikkumised deterministlikeks liikumispiiranguteks. Praktikas piirab kontroller roboti täiskiiruselt hoiatuskiiruse seadeväärtuseni või nullini, tuginedes aktiivsetele kaitseväljadele ja rikkekindlale sisendloogikale, mis on kooskõlas standardiga ISO 3691-4.

Millele see artikkel vastab

Artikli kokkuvõte

AMR-i virtuaalne ohutusaed on PLC-ga juhitav kiiruse ja peatamise strateegia, mis kaardistab LiDAR-i väljade rikkumised deterministlikeks liikumispiiranguteks. Praktikas piirab kontroller roboti täiskiiruselt hoiatuskiiruse seadeväärtuseni või nullini, tuginedes aktiivsetele kaitseväljadele ja rikkekindlale sisendloogikale, mis on kooskõlas standardiga ISO 3691-4.

Virtuaalne ohutusaed ei ole tarkvarasse joonistatud ring. See on deterministlik kontrollreaktsioon ruumilisele sissetungile ja kui reaktsioonitee on nõrk, on aed kujuteldav täpselt valel viisil.

AMR-ide puhul ei ole kasulik eristus mitte "andur paigaldatud versus andur puudub", vaid hoiatusvälja aeglustus versus kaitsevälja peatus, mida teostatakse skaneerimisteel, mida saate tegelikult kontrollida. ISO 3691-4 seab ohutuseesmärgi; PLC ja ohutusarhitektuur otsustavad, kas masin käitub õigesti, kui keegi astub selle teele.

Ampergon Vallis Metric: AMR-i LiDAR-i stsenaariumi sisemisel valideerimisel OLLA Labis lisas hoiatustsooni kiiruse vähendamise suunamine läbi standardse mitteohutu Etherneti tee piisavalt käsuviivitust, et tekitada tsooni ületamine 3-s 12-st kiire lähenemise katsest, samas kui virtuaalse hoiatussignaali otsene kaardistamine kohaliku kontrolleri sisenditesse kõrvaldas need ületamised samas stsenaariumikomplektis. Metoodika: 12 simuleeritud lähenemiskatset kiirusel 2,0 m/s fikseeritud hoiatus-/kaitsevälja paigutuse vastu, võrdlusalus = võrgu kaudu suunatud kiiruse piiramine, ajavahemik = märts 2026 valideerimisseanss. See toetab ühte kitsast punkti: signaalitee disain mõjutab oluliselt simuleeritud peatumiskäitumist. See ei määra universaalset latentsusarvu kõigi AMR-arhitektuuride jaoks.

OLLA Labi roll on siin piiritletud ja praktiline. See on veebipõhine redelloogika ja digitaalse kaksiku keskkond kõrge riskiga valideerimisülesannete harjutamiseks—loogika testimine, I/O jälgimine, tõrgete sisestamine ja kasutuselevõtu stiilis revisjon—enne kui keegi neid reaalsel sõidukil proovib. Süntaks on odav. Ohutu juurutatavus mitte.

Mis on dünaamiline ohutustsoon AMR-i navigatsioonis?

Dünaamiline ohutustsoon on LiDAR-iga määratletud kaitseümbris, mis muudab AMR-i lubatud liikumisolekut vastavalt tuvastatud sissetungile ja mõne arhitektuuri puhul sõiduki kinemaatikale, nagu kiirus või roolinurk.

Operatiivses mõttes ei ole "virtuaalne ohutusaed" üks tsoon, vaid väljade komplekt. Tüüpiline paigutus sisaldab:

  • vaba tsooni, kus on lubatud käskudele vastav liikumine,
  • hoiatusvälja, kus kiirust vähendatakse, ja
  • kaitsevälja, kus liikumine peatatakse ohutushinnanguga toimingu kaudu.

See eristus on oluline, sest iga sissetung ei tohiks põhjustada sama masina reaktsiooni. Kiiruse piiramine on sageli õige vastus enne, kui hädapidurdus muutub vajalikuks.

Kuidas hoiatus- ja kaitseväljad erinevad?

Hoiatusväli on kontrollitud aeglustuse tingimus. Kaitseväli on peatamise tingimus.

| LiDAR-i välja olek | Tüüpiline käivitustingimus | PLC / Ohutusreaktsioon | AMR-i kiiruskäsk | Tüüpiline eesmärk | |---|---|---|---|---| | Vaba tsoon | Sissetungi ei tuvastatud | Normaalne liikumine lubatud | 100% võrdlus, nt 2,0 m/s | Tavapärane liikumine | | Hoiatustsoon | Objekt või inimene tuvastatud välimisel väljal | Kiiruse piiramine, sageli koos alarmi või vilkuriga | Vähendatud seadeväärtus, nt 15% | Kontrollitud aeglustus ja riski vähendamine | | Kaitsetsoon | Objekt või inimene tuvastatud sisemisel väljal | Kaitsepeatus, sageli seotud STO või samaväärse ohutu peatumisteega | 0% | Kontakti või ohtliku lähenemise vältimine |

Kuidas ISO 3691-4 selle loogikaga seostub?

ISO 3691-4:2020 käsitleb mehitamata tööstuslike sõidukite ja nende süsteemide ohutusnõudeid ja kontrollimist. Selle artikli jaoks on asjakohane insenertehniline punkt lihtne: AMR peab tuvastama ohud ja minema üle sobivasse riski vähendavasse olekusse valideeritud arhitektuuri raames.

See ei tähenda "pane skanner peale ja looda, et ajam käitub". See tähendab, et väljade loogika, peatuskategooria, aeglustuskäitumine ja kontrollimismeetod peavad olema süsteemina sidusad.

Mida tähendab siinkohal "Simulation-Ready"?

"Simulation-Ready" tähendab, et insener saab tõestada, jälgida, diagnoosida ja tugevdada tsooniloogikat realistliku masinakäitumise vastu enne, kui see jõuab reaalse AMR-ini.

Operatiivselt hõlmab see võimet:

  • jälgida LiDAR-i välja oleku muutusi,
  • jälgida neid muutusi PLC või ohutuskontrolleri sisenditesse,
  • kontrollida saadud kiiruse võrdlust või peatamiskäsku,
  • sisestada ebanormaalseid tingimusi, nagu aegunud sisendid või viivitatud käsud,
  • võrrelda redelloogika olekut simuleeritud sõiduki liikumisega, ja
  • muuta loogikat pärast ebaõnnestunud testi.

See on kasulik lävi: mitte ainult redelipulga joonistamine, vaid reaktsioonitee valideerimine.

Kuidas kaardistada LiDAR-i välja andmeid PLC sisenditesse?

Te kaardistate LiDAR-i välja andmed PLC-loogikasse, teisendades skanneri väljundid deterministlikeks sisendolekuteks, mis esindavad välja staatust, ja kasutades seejärel neid olekuid kiiruse piiramise või peatamiskäitumise juhtimiseks.

Paljudes reaalsetes süsteemides eksponeerivad ohutusskannerid välja staatust ohutushinnanguga väljundite kaudu, nagu OSSD-paarid, ohutu väljasiin või ohutuskontrolleri liides. Täpne riistvaratee varieerub, kuid kontrollipõhimõte mitte: PLC või ohutuskiht peab saama ühemõttelise oleku, mida saab hinnata ilma tõlgendava oletuseta.

Mida peaks PLC tegelikult vastu võtma?

Kontroller peaks vastu võtma diskreetseid, piiritletud välja oleku signaale, nagu:

  • `LIDAR_CLEAR_OK`
  • `LIDAR_WARNING_ACTIVE`
  • `LIDAR_PROTECTIVE_ACTIVE`
  • `SCANNER_FAULT`
  • `FIELDSET_SELECT_VALID`

See on eelistatavam kui ebamäärased abstraktsioonid. Kui sildi nimi ei ütle teile, millist masina olekut see esindab, teeb kasutuselevõtt seda lõpuks teie eest.

Miks on rikkekindlad sisendkonventsioonid olulised?

Rikkekindel sisenddisain on oluline, sest purunenud juhe, kadunud signaal või skanneri tõrge peavad kallutama süsteemi ohutu oleku poole, mitte jätkuva liikumise poole.

Ohutusahelate puhul tähendab see tavaliselt funktsionaalel tasemel normaalselt suletud ohutusloogika käitumise ümber disainimist, isegi kui täpne seadme liides kasutab kahekanalilisi elektroonilisi väljundeid, mitte sõnasõnalist kuivkontakti NC-ahelat. Insenertehniline põhimõte on punkt: terve signaali kadumist ei tohi tõlgendada kui luba töötada.

Praktiline kaardistus võib välja näha selline:

  • Terved skanneri kanalid olemas = liikumist võib hinnata
  • Hoiatusväli rikutud = vähendatud kiiruse käsk
  • Kaitseväli rikutud = peatamiskäsk
  • Kanalite erimeelsus või skanneri tõrge = peatamiskäsk
  • Kehtetu väljakomplekti valik = peatamine või liikumise keelamine, sõltuvalt riskihinnangust

Kuidas on lood dünaamilise väljade vahetamisega?

Dünaamiline väljade vahetamine tähendab, et aktiivne LiDAR-i väljakomplekt muutub vastavalt masina olekule, tavaliselt lähtudes:

  • praegusest kiirusest,
  • roolinurgast,
  • liikumissuunast,
  • koormuse seisundist,
  • vahekäigu režiimist või avatud ala režiimist,
  • dokkimise või täppislähenemise olekust.

Siin muutub dünaamilise ohutustsooni "dünaamiline" osa reaalseks. Aeglase dokkimismanöövri kaitseümbris ei pea tingimata vastama avatud põranda liikumise ümbrisele täiskiirusel.

Kuidas kirjutada redelloogikat AMR-i kiiruse piiramiseks?

Te kirjutate AMR-i kiiruse piiramise loogika, hinnates aktiivset LiDAR-i tsooni olekut, määrates igale kehtivale tingimusele piiratud kiiruse võrdluse ja sundides nullkiiruse või peatamistee iga kaitse- või tõrkeoleku jaoks.

Redelloogika peaks olema piisavalt loetav, et teine insener saaks seda kiiresti auditeerida. Ohutusega seotud loogika ei ole koht dekoratiivseks nutikuseks.

### 1. samm: Lugege ja normaliseerige LiDAR-i sisendid

Alustage skanneri või ohutuskontrolleri oleku toomisega nimega siltidesse.

Näidis sisendsildid:

  • `LIDAR_Healthy`
  • `Zone_Warning`
  • `Zone_Protective`
  • `AMR_Enable`
  • `Drive_Permissive`
  • `Scanner_Fault`

Selles etapis normaliseerige vastuolulised olekud. Kui `Zone_Warning` ja `Zone_Protective` on mõlemad aktiivsed, peaks loogika lahenema piiravamaks olekuks.

### 2. samm: Looge ühtne tsooni oleku otsus

Kasutage sisemisi bitte või täisarvu olekuregistrit, et luua üks autoriteetne liikumistingimus.

Näidis oleku prioriteet:

  1. Tõrge või ebatervislik skanner
  2. Kaitsetsoon aktiivne
  3. Hoiatustsoon aktiivne
  4. Vaba tsoon

Prioriteet on oluline, sest liikumisloogika peaks ebaselguse korral ohutult degradeeruma.

### 3. samm: Liigutage õige kiiruse seadeväärtus

Kasutage piiratud täisarvu või reaalarvu väärtusi AMR-i kiiruse võrdluse juhtimiseks.

Illustreeriv redeli kontseptsioon:

Keel: Redeldiagramm (Ladder Diagram)

// Kaitsepeatuse loogika |---[/]-------------------------------[MOV]---| LIDAR_Healthy 0 AMR_Speed_Ref

|---[ ]--------------------------------[MOV]---| Zone_Protective 0 AMR_Speed_Ref

// Hoiatustsooni kiiruse piiramise loogika |---[ ]---[/]--------------------------[MOV]---| Zone_Warning Zone_Protective 15 AMR_Speed_Ref

// Vaba tsooni normaalne kiirus |---[/]---[/]---[ ]--------------------[MOV]---| Zone_Warning Zone_Protective AMR_Enable 100 AMR_Speed_Ref

See on tahtlikult lihtne. Tootmisarhitektuuris eraldaksite sageli standardse kiiruse võrdlusloogika ohutushinnanguga peatamisteest ja kontrolliksite interaktsiooni hoolikalt.

### 4. samm: Eraldage kiiruse piiramine kaitsepeatuse teest

Vähendatud kiiruse käsk ei ole sama asi mis ohutuspeatus.

Seda eristust on simulaatoris lihtne hägustada ja reaalsel masinal ohtlik hägustada. Standardse kontrollloogika kaudu väljastatud nullkiiruse võrdlus ei ole automaatselt samaväärne ohutushinnanguga peatamisfunktsiooniga. Sõltuvalt arhitektuurist võib kaitsetoiming vajada Safe Torque Off, Safe Stop 1 või muu valideeritud ohutusfunktsiooni käivitamist vastavalt IEC 62061 / IEC 61508-ga kooskõlas olevatele disainipõhimõtetele.

### 5. samm: Lisage diagnostika ja lukustus seal, kus see on põhjendatud

Diagnostika parandab kasutuselevõttu ja tõrgete isoleerimist.

Kasulikud lisad on:

  • skanneri ebatervislikkuse alarm,
  • kehtetu oleku alarm,
  • tsooni ületamise sündmuste logimine,
  • peatamise põhjuse register,
  • käsitsi lähtestamise nõue pärast kaitsepeatust, kus riskihinnang seda nõuab.

Masin, mis peatub ilma teile põhjust ütlemata, on vaid poolenisti koostööaldis.

Millise peatamiskäitumise peaksite valima: kiiruse vähendamine, 0. kategooria või 1. kategooria?

Õige peatamiskäitumine sõltub masina riskihinnangust, koormusest, dünaamikast ja valideeritud ohutusfunktsiooni disainist.

Levinud eksiarvamus on, et kiireim peatus on alati ohutuim peatus. See ei ole nii. 0. kategooria peatus eemaldab toite koheselt; mõnel AMR-il, eriti neil, mis kannavad ebastabiilseid koormaid või vedelikke, võib see tekitada sekundaarseid ohte inertsist, loksumisest või kontrollitud pidurduse kadumisest.

Millal on hoiatustsooni kiiruse vähendamine asjakohane?

Hoiatustsooni vähendamine on asjakohane, kui eesmärk on vähendada kineetilist energiat enne, kui kaitsepeatus muutub vajalikuks.

Tüüpilised kasutusalad on:

  • avatud põranda liikumine, kus jalakäijate kohalolek on usutav,
  • pikad peatumisteekonnad suuremal kiirusel,
  • keskkonnad, kus esineb vahelduvat sissetungimist välimistesse tuvastusväljadesse,
  • rakendused, kus kontrollitud aeglustus parandab stabiilsust.

Millal on kaitsepeatus vajalik?

Kaitsepeatus on vajalik, kui sissetung jõuab sisemisele väljale või kui skanner või ohutustee ei suuda enam tagada ohutut liikumist.

See võib kaasa tuua:

  • Safe Torque Off,
  • kontrollitud peatuse, millele järgneb pöördemomendi eemaldamine,
  • liikumise keelamise pluss lähtestamise jada,
  • või muu valideeritud ohutusreaktsiooni, mille on määratlenud masina ohutusfunktsioon.

Standard ei premeeri improviseerimist. See premeerib tõestust.

Kuidas valideerida PLC LiDAR-i loogikat digitaalse kaksiku vastu?

Te valideerite PLC LiDAR-i loogikat digitaalse kaksiku vastu, võrreldes kontrolleri olekut, käskude kiirust ja simuleeritud AMR-i liikumist nii normaalsetes kui ka tõrgetega tingimustes.

Siin muutub OLLA Lab operatiivselt kasulikuks. Selle brauseripõhine redeliredaktor, simulatsioonirežiim, muutujate paneel ja 3D/WebXR stsenaariumid võimaldavad inseneridel testida põhjus-tagajärg seoseid ilma inimesi või riistvara loogika esimesele mustandile eksponeerimata.

Mida peaksite esimesena testima?

Alustage minimaalsetest deterministlikest juhtumitest:

  • vaba tsoon aktiivne, hoiatus- või kaitseolekut pole,
  • hoiatustsooni rikkumine nominaalkiirusel,
  • kaitsetsooni rikkumine nominaalkiirusel,
  • skanneri tõrge,
  • terve signaali kadumine,
  • vastuoluline tsooni oleku sisend,
  • lähtestamise ja taaskäivitamise käitumine pärast peatust.

Kasutage muutujate paneeli, et jälgida:

  • aktiivseid tsooni bitte,
  • `AMR_Speed_Ref`,
  • ajami lubamise olekut,
  • peatamise põhjuse silti,
  • alarmi bitte,
  • mis tahes taimeri või debouncingu loogikat.

Kuidas näeb välja kehtiv digitaalse kaksiku test?

Kehtiv test ei ole "robot aeglustus üks kord". See on korratav võrdlus oodatud ja täheldatud käitumise vahel.

OLLA Labis tähendab see, et saate:

  • tsooni olekuid sisse/välja lülitada või esile kutsuda,
  • jälgida redeli üleminekut,
  • kontrollida kiiruse võrdlusregistrit,
  • vaadata AMR-i reaktsiooni 3D-stsenaariumis,
  • korrata testi samades tingimustes,
  • ja muuta loogikat, kui masina reaktsioon ei vasta kavandatud kontrollifilosoofiale.

See on erinevus animatsiooni ja valideerimise vahel.

Miks on reaalne testimine füüsilisel AMR-il halb koht selle õppimiseks?

Reaalne testimine on kallis, ohtlik ja tavaliselt ei salli uurimuslikke vigu.

Nooreminsener ei peaks avastama liikuval koormatud sõidukil, et hoiatustsooni piiramine suunati läbi aeglase või mitteterministliku tee. OLLA Lab pakub piiritletud harjutuskeskkonda täpselt seda tüüpi vea jaoks: kõrge tagajärg, piisavalt levinud, et sellel oleks tähtsust, ja raske reaalsel seadmel ohutult harjutada.

Milliseid insenertehnilisi tõendeid peaksite pärast testimist dokumenteerima?

Peaksite dokumenteerima kompaktse hulga insenertehnilisi tõendeid, mitte ekraanipiltide galeriid.

Kasutage seda struktuuri:

Võtke kokku kontrollialane arusaam, mitte ainult tulemus. Näiteks: "hoiatustsooni vähendamine standardse võrgukontrolli kaudu oli funktsionaalselt õige, kuid liiga aeglane selle lähenemiskiiruse juhtumi jaoks."

  1. Süsteemi kirjeldus Määratlege AMR-i režiim, skanneri paigutus, väljade loogika, ajami liides ja asjakohased eeldused.
  2. "Õige" operatiivne määratlus Märkige täpselt, mis peab juhtuma vaba, hoiatus-, kaitse- ja tõrkeolekutes.
  3. Redelloogika ja simuleeritud seadmete olek Jäädvustage asjakohased redelipulgad, sildid ja vastav AMR-i käitumine simulaatoris.
  4. Sisestatud tõrkejuhtum Salvestage sisseviidud ebanormaalne tingimus, nagu skanneri tõrge, aegunud hoiatuse bitt või viivitatud kiiruse piiramine.
  5. Tehtud muudatus Näidake, mis muutus loogikas, järjestuses või signaalitees.
  6. Õppetunnid

See tõendite vorm on kasulikum kui poleeritud armatuurlaua pilt ilma tõrkeajaloota. Kasutuselevõtu mälu ehitatakse muudatustest, mitte kosmeetikast.

Millised standardid ja tehnilised allikad on selle teema jaoks olulised?

Peamised standardid ja tehnilised raamistikud on funktsionaalne ohutus ja mobiilsete robotite ohutus, mitte üldine robootika optimism.

Kõige asjakohasemad viited on:

- ISO 3691-4:2020 mehitamata tööstuslikele sõidukitele ja nende süsteemidele,

  • IEC 62061 masinate funktsionaalsele ohutusele,
  • IEC 61508 kui fundamentaalne funktsionaalse ohutuse raamistik,
  • tootja ohutusskanneri juhendid väljade konfigureerimiseks ja reaktsioonikäitumiseks,
  • ja rakendusepõhised riskihinnangud, mis määratlevad nõutavad ohutusfunktsioonid ja peatamiskäitumise.

Akadeemiline ja tööstuslik kirjandus digitaalsete kaksikute ja simulatsioonipõhise valideerimise kohta on samuti asjakohane, kuid seda tuleks kasutada ettevaatlikult. Simulatsioon võib parandada harjutamise kvaliteeti, tõrgete nähtavust ja kasutuselevõtu ettevalmistust; see ei asenda ametlikku ohutuse valideerimist reaalsel süsteemil.

Kus OLLA Lab sellesse töövoogu sobib?

OLLA Lab sobib riskikindla valideerimis- ja harjutuskeskkonnana redelloogika, I/O käitumise, digitaalse kaksiku jälgimise ja kasutuselevõtu stiilis tõrkeotsingu jaoks.

Õigesti piiritletuna on see tugev väide ja kasulik. OLLA Lab võimaldab inseneridel:

  • ehitada redelloogikat veebipõhises redaktoris,
  • käivitada simulatsiooni ilma füüsilise riistvarata,
  • jälgida silte ja I/O-d muutujate paneelil,
  • töötada läbi AMR-i sarnaseid stsenaariume 3D/WebXR keskkondades,
  • ja testida, kuidas kontrollloogika kaardistub masina käitumisega enne objektile jõudmist.

See ei sertifitseeri ohutusfunktsiooni, ei asenda ametlikku riskihinnangut ega tee reaalset AMR-i seotuse kaudu ohutuks. Simulaator on harjutusruum, mitte vastavustempel.

Kokkuvõte

Virtuaalse ohutusaia programmeerimine on kontrolliprobleem, millel on ohutusalased tagajärjed. Põhiülesanne on kaardistada LiDAR-i välja olekud deterministlikeks masina reaktsioonideks ja seejärel kontrollida, kas AMR tegelikult aeglustub või peatub ettenähtud viisil normaalsetes ja tõrgetega tingimustes.

Vastupidav eristus on lihtne: anduri olemasolu versus valideeritud reaktsioonitee. Paljud integratsiooniprobleemid elavad selles lõhes.

Kasulik insener selles valdkonnas ei ole lihtsalt ladus redelisüntaksis. Kasulik insener suudab määratleda õige käitumise, testida seda simuleeritud seadmete vastu, sisestada tõrkeid, muuta loogikat ja selgitada, miks lõplik kontrollitee on ohutum kui esimene mustand.

Seotud lugemine ja järgmised sammud

- Seotud roboti ohutuse konteksti jaoks vaadake ISO 10218-1:2025: Navigating the New Robot Safety Classifications. - Tehase tasemel integratsiooni ja vastavussurve jaoks vaadake Collaborative Application Standards 2026: The OEM Survival Guide.

  • Selle loogika paigutamiseks laiemasse kontrollsüsteemi käitumisse vaadake Advanced Process Control and PID Simulation Lab.
  • Selle testimine füüsilisel riistvaral on riskantne. Avage AMR-i LiDAR-i stsenaarium OLLA Labis, et valideerida tsooniloogikat 3D digitaalse kaksiku vastu.

Jätka avastamist

Interlinking

References

Toimetuse läbipaistvus

See blogipostitus on kirjutatud inimese poolt ning kogu põhistruktuur, sisu ja algsed ideed on loonud autor. Siiski sisaldab see postitus teksti, mida on viimistletud ChatGPT ja Gemini abiga. Tehisintellekti tuge kasutati ainult grammatika ja süntaksi parandamiseks ning algse ingliskeelse teksti tõlkimiseks hispaania, prantsuse, eesti, hiina, vene, portugali, saksa ja itaalia keelde. Lõplik sisu vaadati autori poolt kriitiliselt üle, toimetati ja valideeriti ning autor kannab täielikku vastutust selle täpsuse eest.

Autorist:PhD. Jose NERI, Lead Engineer at Ampergon Vallis

Faktikontroll: Tehniline korrektsus kinnitati 2026-03-23 Ampergon Vallise labori QA meeskonna poolt.

Rakendamiseks valmis

Kasuta simulatsioonipõhiseid töövooge, et muuta need teadmised mõõdetavateks tulemusteks tootmises.

© 2026 Ampergon Vallis. All rights reserved.
|