Avaldan esimese peatüki automaatse juhtimise teooria loengutest, mille järel teie elu ei ole enam kunagi endine.
Loengud kursusest „Tehniliste süsteemide juhtimine“, mida peab Oleg Stepanovits Kozlov «Tuumareaktorite ja energiaplokkide» osakonnas, M.G. Bauman nimelises Energeetika- ja Masinatootmise Instituudis. Suur tänu talle.
Need loengud on alles raamatuks väljaandmiseks ette valmistamisel, ja kuna siin on spetsialiste TAU, üliõpilasi ja lihtsalt huvitatud inimesi, on iga kriitika teretulnud.

1. Tehniliste süsteemide juhtimise teooria põhikontseptsioonid
1.1. Eesmärgid, juhtimise põhimõtted, juhtimissüsteemide tüübid, peamised määritused, näited
Tööstuslik tootmine (energeetika, transport, masinatootmine, kosmoonika jne) nõuab pidevat masinate ja seadmete efektiivsuse suurenemist, toote kvaliteedi parandamist, kulude vähendamist ja eriti tuumaenergeetikas drastilist ohutuse (tuuma-, kiirgus- jne) tõusu tuumajaamade ja tuumainstallatsioonide tegevuses.
Seatud eesmärkide saavutamine on võimatu ilma kaasaegsete juhtimissüsteemide kasutuselevõtuta, sealhulgas nii automatiseeritud (inimese-operaatori osalusel) kui ka automaatseid (inimese- operaatori osaluseta) juhtimissüsteeme (JU).
Mõisted: Juhtimine on teatud tehnoloogilise protsessi organiseerimine, mis tagab seatud eesmärgi saavutamise.
Juhtimisteooria on kaasaegse teaduse ja tehnika haru. See põhineb nii teaduslikel (üldteaduslikel) teadustel (nt matemaatika, füüsika, keemia jne) kui ka rakendusteadustel (elektroonika, mikroprotsessoritehnika, programmeerimine jne).
Iga automaatne juhtimisprotsess koosneb järgmistest peamistest etappidest (elementidest):
- teabe saamine juhtimisteema kohta;
- teabe saamine juhtimistulemustest;
- saadud teabe analüüs;
- otsuse täitmine (mõju juhtimisobjektile).
Juhtimisprotsessi rakendamiseks peab juhtimissüsteem (JS) omama:
- teabeallikaid juhtimisteema kohta;
- teabeallikaid juhtimistulemuste kohta (erinevad andurid, mõõteseadmed, detektorid jne);
- seadmeid saadud teabe analüüsimiseks ja otsuse kujundamiseks;
- täitevseadmeid, mis mõjuvad juhtimisobjekti peale, mis sisaldavad: regulaator, mootoreid, võimendi- ja muundamisseadmeid jne.
Mõisted: Kui juhtimissüsteem (JS) sisaldab kõiki ülaltoodud komponente, on see suletud.
Mõisted: Tehnilise objekti juhtimine, kasutades teavet juhtimistulemuste kohta, nimetatakse tagasiside printsiibiks.
Skeemiliselt võib sellist juhtimissüsteemi esitada järgmiselt:

Joon. 1.1.1 — Juhtimissüsteemi (JS) struktuur
Kui juhtimisseade (JS) omab struktuuriskeemi, mille välimus vastab joonisele 1.1.1, ja töötab ilma inimese (operaatori) osaluseta, siis nimetatakse seda automaatjuhtimisseadmeks (AJS).
Kui JS töötab inimese (operaatori) osalusel, siis nimetatakse seda automatiseeritud JS-iks.
Kui Juhtimine tagab objekti määratud seaduse muutumise ajas sõltumatult juhtimise tulemustest, siis toimub selline juhtimine lahtises tsüklis ning ise juhtimine on nimelt programmeeritud juhtimine.
Lahtise tsükliga töötavate süsteemide hulka kuuluvad tööstusautomaadid (konveierliinid, rullikuliinid jne), numbrilise programmiga juhtimisseadmed (CNC): vt näidet joonisel 1.1.2.

Joonis 1.1.2 — Programmjuhtimise näide
Seadmepaneel võib olla näiteks "kopeerija".
Kuna antud näites pole andureid, mis kontrollivad valmistatavat detaili, siis näiteks, kui lõppkinnitus on valesti paigaldatud või purunenud, ei saa seatud eesmärki (detaili valmistamine) saavutada. Sellise tüübi süsteemides on tavaliselt vajalik väljundkontroll, mis registreerib detaili mõõtmete ja kuju kõrvalekallet soovitust.
Automaatika juhtimissüsteemid jagunevad kolme tüüpi:
- automaatika juhtimissüsteemid (AJS);
- automaatika reguleerimissüsteemid (ARS);
- jälgimissüsteemid (JS).
ARS ja JS on AJS'i alamkogumid ==>
.
Määratlemine: Automaatsed juhtimissüsteemid, mis tagavad mingi füüsilise suuruse (suureste rühma) pidevuse juhitavas objekti, nimetatakse automaatika reguleerimissüsteemiks (ARS).
Automaatika reguleerimissüsteemid (ARS) on kõige levinum tüüpi automaatika juhtimissüsteemid.
Maailma esimene automaatregulaator (18. sajandi) – Watt'i regulaator. Antud skeem (vt joonis 1.1.3) viidi Watt'i poolt ellu Inglismaal, et säilitada pidev pöörlemiskiirus aurumasina rattal ja seega säilitada ka pidev kiirus pöörlel (liikumisel) vahendite (rihma) ülekandes.
Selles skeemis tundlikud elemendid (mõõtmisandurid) on “koormad” (sfäärid). „Koormad” (sfäärid) panevad ka võllile liikuma korvivahe ja seejärel sulgu. Seetõttu võib seda süsteemi pidada otse reguleerimise süsteemiks, ja regulaatorit – otse toimivaks regulaatoriks, kuna see täidab samaaegselt nii „mõõtja“ kui ka „regulaatori“ funktsioone.
Otse toimivates regulaatorites täiendav allikas energia reguleeriva organi liigutamiseks ei ole vajalik.

Joonis 1.1.3 – Watt'i automaatregulaatori skeem
Kaudse reguleerimise süsteemides on vajalik (olemasolu) võimendi (näiteks, võimsuse), täiendav täite mehhanism, mis sisaldab näiteks elektrimootorit, servomootorit, hüdroveo jne.
Näiteks automaatika- ja juhtimissüsteem, mis täidab seda definitsiooni, on süsteem, mis võimaldab raketi viimist orbitaali, kus juhitav väärtus võib olla näiteks nurk raketi telje ja Maa normaaliga vahel ==> vt joonis 1.1.4.a ja joonis 1.1.4.b

Joonis 1.1.4 (a)

Joonis 1.1.4 (b)
1.2. Juhtimissüsteemide struktuur: lihtsad ja multidimensionaalsed süsteemid
Tehniliste süsteemide juhtimisteoorias on tavaline jagada igasugune süsteem rakkudeks, mis on ühendatud võrku. Lihtsaimatel juhtudel sisaldab süsteem ühte rakku, kuhu siseneva mõju (sisendi) korral saadakse süsteemi väljund (välja).
Tehniliste süsteemide juhtimisteoorias kasutatakse juhtimissüsteemide rakkude esitlemiseks kahte põhimõttelist meetodit:
— muutuja “sisend-väljund” kaudu;
— oleku muutujatena (täpsemalt vt jaotised 6…7).
Muutuja “sisend-väljund” kaudu esitlemine on tavaliselt kasutusel suhteliselt lihtsate süsteemide kirjeldamiseks, millel on üks “sisend” (üks juhtiv mõju) ja üks “väljund” (üks reguleeritav väärtus, vt joonis 1.2.1).

Joonis 1.2.1 – Lihtsa juhtimisseadmestiku skeem.
Sellist kirjeldust kasutatakse tavaliselt tehniliselt lihtsate automaatjuhtimisseadmestike (AJS) puhul.
Viimastel aastatel on laialdaselt levinud oleku muutuja esitamine, eriti tehniliselt keeruliste süsteemide, sealhulgas mitmemõõtmeliste AJS-ide puhul. Joonisel 1.2.2 on kujutatud mitmemõõtmelise automaatjuhtimisseadmestiku skeem, kus u1(t)…um(t) — juhtimisimpulsid (juhtimistegurite vektor), y1(t)…yp(t) — reguleeritavad AJS parameetrid (väljavõtte vektor).

Joonis 1.2.2 — Mitmemõõtmelise juhtimisseadmestiku skeem.
Vaadakem lähemalt AJS-i struktuuri, mis on esitatud "sisse-välja" muutujate kaudu ning millel on üks sisenemine (sisend- või määrav, või juhtimissegu) ja üks väljund (väljundsegu või reguleeritav (või juhitav) muutuja).
Oletame, et sellise AJS-i struktuurskeem koosneb teatud arvust elementidest (protsessidest). Grupeerides protsessid funktsionaalse printsiibi järgi (mida protsessid teevad), võib AJS-i struktuurskeemi viia järgmisse tüüpilisse vormi:

Joonis 1.2.3 — Automaatse juhtimisseadmestiku struktuurskeem
Sümbol ε(t) või muutuja ε(t) tähistab lahknevust (viga) võrreldava seadme väljundis, mis võib "töötada" nii lihtsate võrdlevate aritmeetiliste operatsioonide režiimis (kõige sagedamini lahutamine, harvem liitmine), kui ka keerukamate võrdlevate operatsioonide (protseduuride) režiimis.
Kuna y1(t) = y(t)*k1, kus k1 — võimendustegur, siis ==>
ε(t) = x(t) — y1(t) = x(t) — k1*y(t)
Juhtimisseadmestiku ülesanne on (kui see on stabiilne) „töötada” lahknevuse (vea) hävitamise nimel ε(t), st ==> ε(t) → 0.
Oluline on märkida, et juhtimisseadmestikule mõjuvad nii välised mõjud (juhtiv, häiriv, segajad) kui ka sisemised segajad. Segaja erineb mõjust oma statistilisuse (juhuslikkuse) poolest, samas kui mõju on peaaegu alati määratletud.
Juhtiva (sissetuleva mõjutuse) tähistamiseks kasutame kas x(t), või u(t).
1.3. Peamised juhtimisseadmete seadused
Kui tagasi pöörduda viimase joonise (Süsteemide struktuurne skeem joonisel 1.2.3) juurde, on vaja „dešifreerida” võimendava-ülemineku seadme roll (milliseid funktsioone see täidab).
Kui võimendava-ülemineku seade (VÜS) täidab ainult signaali võimendust (või nõrkust) lahknevuse ε(t), nimelt:
, kus
– proportsionaalsuse koefitsient (erandjuhul
= Const), siis sellist suletud süsteemi juhtimise režiimi nimetatakse proportsionaalse juhtimise (P-juhtimine).
Kui VÜS genereerib väljundsignaali ε1(t), mis on proportsionaalne veale ε(t) ja ε(t)-st saadud integraalile, s.t.
, siis sellist juhtimise režiimi nimetatakse proportsionaalselt-integreerivaks (PI-juhtimine). ==>
, kus b – proportsionaalsuse koefitsient (erandjuhul b = Const).
Tavaliselt kasutatakse PI-juhtimist juhtimise täpsuse tõstmiseks.
Kui VÜS genereerib väljundsignaali ε1(t), mis on proportsionaalne veale ε(t) ja selle tuletisele, siis sellist režiimi nimetatakse proportsionaalselt-diferentseerivaks (PD-juhtimine): ==> 
Tavaliselt tõstab PD-juhtimise kasutamine süsteemi jõudlust.
Kui UPU genereerib väljundsignaali ε1(t), mis on proportsionaalne veale ε(t), selle tuletisele ja vea integraalile ==>
, siis sellist režiimi nimetatakse proportsionaalselt-integraalselt-diferentseerivaks juhtimisrežiimiks (PID-juhtimine).
PID-juhtimine võimaldab sageli saavutada "head" juhtimise täpsust "heade" reaktsioonikiiruselt.
1.4. Automaatjuhtimissüsteemide klassifitseerimine
1.4.1. Klassifitseerimine matemaatilise kirjeldamise järgi
Matemaatilise kirjeldamise (dünaamika ja statiika võrrandid) põhjal jagunevad automaatjuhtimissüsteemid (AJS) järgmistesse kategooriatesse lineaarsed ja mitte lineaarsed süsteemid (AJS või AJS).
Iga "alamklass" (lineaarsed ja mitte lineaarsed) jaguneb veel mitmesse "alamklassi". Näiteks, lineaarsed AJS (AJS) erinevad matemaatilise kirjeldamise tüübi poolest.
Kuna sellel semestril käsitletakse ainult lineaarsüsteemide dünaamilisi omadusi, toome allpool välja klassifitseerimise matemaatilise kirjelduse järgi lineaarsed AJS (AJS) jaoks:
1) Lineaarsete automaatika süsteemid, mida kirjeldatakse "sisse-väljund" tavaliste diferentsiaalvõrranditega (ODU) konstantsete koefitsientidega: – sisendid;


kus x(t) y(t) – väljund (reguleeritav suurus). Kui kasutada operaatorilist ("kompaktset") vormi lineaarse ODU kirjutamiseks, saab võrrandi (1.4.1) esitada järgmises vormis:
p = d/dt

kus, — diferentseerimise operaator; L(p), N(p) — vastavad lineaarsed diferentsiaaloperatsioonid, mis on võrdsed: 2) Lineaarsete automaatika süsteemid, mida kirjeldatakse lineaarsete tavapäraste diferentsiaalvõrranditega (ODU) muutuvate


(ajaga) koefitsientidega: Üldiselt võib selliseid süsteeme klassifitseerida ka mittelineaarsete automaatika süsteemide (MAS) kategooriasse. 3) Lineaarsete automaatika süsteemid, mida kirjeldatakse lineaarselt diferentsiaalvõrranditega:


f(…)
– argumendist sõltuv lineaarne funktsioon;


kus k = 1, 2, 3… — täisarvud; Δt – kvantimisintervall (diskreetsuse intervall). Võrrandit (1.4.4) saab esitada "kompakteeritud" vormis: – kvantimisvahemik (diskreetimise vahemik).
Võrrandit (1.4.4) saab esitada «kompaktse» kirja vormis:

Tavaliselt kasutatakse sellist lineaarsüsteemide (SAS) kirjeldust digitaalsüsteemides juhtimises (kasutades arvuteid).
4) Aeglaselt reageerivad lineaarsed automaatikajuhised:

kus — vastavad lineaarsed diferentsiaaloperatsioonid, mis on võrdsed: — lineaarsed diferentsiaaloperaatorid; τ — viivitus või viivituse konstant.
Kui operaatorid L(p) ja N(p) degeneratiivsed (L(p) = 1; N(p) = 1), siis võrrand (1.4.6) vastab ideaalse viivituse elemendi matemaatilisele kirjeldusele:

ja selle omaduste graafiline illustratsioon on toodud joonisel 1.4.1

Joonis 1.4.1 — Ideaalse viivituse elemendi sisenemise ja väljumise grafikud
5) Lineaarsed automaatikajuhised, mida kirjeldavad lineaarsed diferentsiaalvõrrandid osaliste tuletistega.Sageli nimetatakse neid automaatikajuhiseid jaotatud juhtimissüsteemideks. ==>> "Abstraktne" näide sellisest kirjeldusest:

Võrrandite süsteem (1.4.7) kirjeldab lineaarselt jaotatud automaatikasüsteemi dünaamikat, st reguleeritav suurus sõltub mitte ainult ajast, vaid ka ühest ruumilisest koordinaadist.
Kui juhtimissüsteem on "ruumiline" objekt, siis ==>

kus
sõltub ajast ja ruumi koordinaatidest, mida määravad raadius-vektorid 
6) SAI, mida kirjeldavad süsteemid ODU, või erinevate diferentsiaalvõrrandite süsteemid, või osade diferentsiaalvõrrandite süsteemid ==>> ja nii edasi...
Sarnast klassifikatsiooni võiks pakkuda ka mittelineaarsete SAI (SAR) jaoks...
Lineaarsete süsteemide puhul kehtivad järgmised nõuded:
- SAI staatilise omaduse lineaarsus;
- dünaamikavõrrandi lineaarsus, st muutujad sisenevad dünaamikavõrrandisse ainult lineaarses kombinatsioonis.
Staatilise omaduse all mõistetakse väljundi sõltuvust sissetuleku suurusest paigaloleku režiimis (kui kõik üleminekuprotsessid on vaibunud).
Lineaarsete tavaliste diferentsiaalvõrranditega pidevate koefitsiendid süsteemide staatiline omadus saadakse dünaamikavõrrandist (1.4.1), seadistades kõik mittejaotuse liikmed nulli ==>

Pildil 1.4.2 on esitatud näited lineaarsetest ja mittelineaarsetest staatilistest omadustest automatiseeritud juhtimissüsteemide (reguleerimise) jaoks.

Joon. 1.4.2 — Näited staatilistest lineaarsetest ja mittelineaarsetest omadustest
Dünaamiliste võrrandite ajatuletistega liikmete mittelineaarsus võib tekkida mittelineaarsete matemaatiliste operatsioonide (*, /, sin, ln jne) kasutamisel.
,
Näiteks, kui vaadelda mõne "abstraktse" automaatika süsteemi dünaamilist võrrandit,

tuleb märkida, et selles võrrandis on lineaarse staatilise omaduse
teine ja kolmas liige (dünaamilised liikmed) võrrandi vasakus osas — mitte lineaarsedseetõttu on sellise võrrandiga kirjeldatav automaatika süsteem mittelineaarne dünaamilises plaanis..
1.4.2. Edastatavate signaalide iseloomu klassifikatsioon
Edastatavate signaalide iseloomu järgi jagunevad automaatika (või regulatsiooni) süsteemid:
- katkematud süsteemid (katkematu tegevuse süsteemid);
- releedevõrgud (relee-mõjude süsteemid);
- diskreetse tegevuse süsteemid (impulsid ja digitaalne).
Katkematuks tegevuseks nimetatakse sellist automaatika süsteemi, kus iga lüli katkematule siseandmete aja jooksul muudatustele vastab katkematu muutus. sisendsignaali muutumisele aja jooksul vastab pidev signaalimuudatus, samas võib signaalimuutuse seadus olla meelevaldne. Et automaatjuhtimisseade oleks pidev, peavad kõik moodulid olema pidevad.

Joonis 1.4.3 — Pideva süsteemi näide
Katkematuks tegevuseks nimetatakse sellist automaatika süsteemi, kus iga lüli releefunktsioon kutsutakse automaatjuhtimisseadmeks, milles vähemalt ühes moodulis pideva sisendi muutumise korral väljund suurus mõnes juhtimisprotsessi hetkes muutub „hüppega“ sõltuvalt sisse tuleva signaali suurusest. Sellise mooduli staatoriteharakteristikul on katkestuspunktid või katkestusega.

Joonis 1.4.4 — Relee staatorite omaduste näited
Katkematuks tegevuseks nimetatakse sellist automaatika süsteemi, kus iga lüli diskreetne funktsioon on süsteem, milles vähemalt ühes moodulis pideva sisendi muutumise korral väljund suurus on eriliste impulsside kujul, mis ilmnevad mõne aja pärast.
Moodul, mis muundab pideva signaali diskreetseks signaaliks, nimetatakse impulssmooduliks. Selline signaalide edastamise vorm esineb automaatjuhtimisseadmetes, kus on arvuti või kontroller.
Sageli rakendatakse järgmisi meetodeid (algoritme), et muuta pidev sisendsignaal impulsi väljundsignaaliks:
- amplituudimpulsi modulatsioon (AIM);
- laiusimpulsi modulatsioon (ŠIM).
Joonisel 1.4.5 on kujutatud amplituudimpulsi modulatsiooni (AIM) protsessi graafiline illustratsioon. Joonise ülaosas on näidatud ajasõltuvus x(t) — signaalist sisendis impulsi seadmesse. Impulsiühiku väljundsignaal – väljund (reguleeritav suurus). on ristkülikute järjestus, mis ilmub ajavahemikuga püsiv kvantimisperioodi Δt (vt joonise alumist osa). Impulsi kestus on konstantne ja võrdub Δ-ga. Impulsiamplituud seadme väljundis on proportsionaalne vastava pideva signaali x(t) väärtusega selle seadme sisendis.

Joonis 1.4.5 — Amplituudimpulsi modulatsiooni rakendamine
See impulsi modulatsiooni meetod oli üsna levinud elektronmõõtesüsteemides ja kaitsesüsteemides (SÜZ) tuumaenergiaseadmete (TÜ) haldamiseks ja kaitsmiseks 70. ja 80. aastatel eelmises sajandis.
Joonisel 1.4.6 on kujutatud laiuspõhise impulssmodulatsiooni (PWM) algoritmi graafiline illustratsioon. Joonise 1.14 ülemises osas on näidatud x(t) – signaali sisend impulsselementi. Impulssploki (element) väljundsignaal – väljund (reguleeritav suurus). – järjestus ristkülikukujulisi impulse, mis ilmuvad kindla kvantimisperioodi jooksul Võrrandit (1.4.4) saab esitada "kompakteeritud" vormis: (vt joonise 1.14 alumist osa). Kõigi impulsside amplituud on ühesugune. Impulsi kestus Võrrandit (1.4.4) saab esitada "kompakteeritud" vormis: impulspolki väljundis on proportsionaalne vastava pideva signaali väärtusega x(t) impulssploki sisendisse.

Joonis 1.4.6 – Laiguspõhine impulssmodulatsioon
See impulssmodulatsiooni meetod on praegu kõige laialdasemalt kasutatav elektrooniliste mõõteseadmete süsteemides, mis tegelevad tuumaenergiajaamade (JA) juhtimise ja kaitse (SÜZ) ning teiste tehniliste süsteemide automatiseerimisega.
Käesoleva alajaotuse lõpetamiseks tuleb märkida, et kui iseloomulikud ajakohased konstantid teistes SÜZ (SAR) elementides on oluliselt suuremad Δt (mõõtmisjärgud), siis võib impulssüsteemi pidada pidevaks automaatjuhtimissemaks (kasutades nii PWM-i kui ka APM-i).
1.4.3. Juhtimise iseloomulik klassifikatsioon
Automaatse juhtimissüsteemi juhtimisprotsesside iseloomu järgi jagunevad nad järgmistesse tüüpidesse:
- deterministlikud automaatjuhtimisseadmed, mille puhul saab sisendsignalile selgelt vastata väljundsigneering (ja vastupidi);
- stohhastilised automaatjuhtimisseadmed (statistilised, tõenäosuslikud), kus antud sisendsignaalile vastab juhuslik (stohhastiline) väljundsigneering.
Väljundsigneeringu stohhastilisus iseloomustab:
- jaotust või jaotuse seadust;
- matemaatilist oodatust (keskmine väärtus);
- dispersioni (keskmisest tugevuse kõrvalekalle).
Stohhastilisus juhtimisprotsessis on tavaliselt märgata oluliselt mitte-lineaarsetes automaatjuhtimise süsteemides nii staatilise iseloomu kui ka (isegi rohkem) dünaamiliste liige mitte-lineaarsuse osas dünaamika võrrandites.

Joon. 1.4.7 — Stohhastilise automaatjuhtimisseadmest lähtuva väljundi jaotumine
Tavaliselt hallatavate süsteemide peamiste klassifikatsioonimeetodite kõrval on ka teisi klassifikatsioone. Näiteks võib klassifikatsioon toimuda juhtimismeetodi põhjal, tuginedes suhtlemisele väliskeskkonnaga ning automaatsete juhtimisseadmete kohandamise võimalusele keskkonna parameetrite muutumisel. Süsteemid jagunevad kaheks suurde klassi:
1) Tavalised (mitteautomaatse seadistamisega) juhtimisseadmed ilma kohandamiseta; need süsteemid kuuluvad lihtsate seadmete hulka, mis ei muuda oma struktuuri juhtimise käigus. Need on kõige paremini arendatud ja laialdaselt kasutusel. Tavalised juhtimisseadmed jagunevad kolme alamklassi: avatud, suletud ja kombineeritud juhtimisse süsteemid.
2) Automaatse seadistamisega (kohanduvad) juhtimisseadmed. Nendes süsteemides, kui välistingimused või reguleeritava objekti omadused muutuvad, toimub automaatne (eelnevalt määratlemata) juhtimisseadmestiku parameetrite muutmine juhtimisseadmete koefitsientide, struktuuri muutmise või isegi uute elementide lisamise kaudu.
Teine klassifikatsiooni näide: hierarhiline kriteerium (ühe taseme, kahe taseme, mitme taseme).
Ainult registreeritud kasutajad saavad küsitluses osaleda. , palun.
Kas jätkata loengute avaldamist automaatsete juhtimisseadmete kohta?
88,7%Jah118
7,5%Ei
3,8%Ma ei tea
Hääletas 133 kasutajat. 10 kasutajat ei hääletanud.
Allikas: habr.com
