Multipóly #
Zložitejšie elektronické prvky majú zvyčajne viacej ako dva uzly, takýmto prvkom v teórii systémov je štvorpól, ktorý má dva vstupné a dva výstupné uzly. Okrem štandardných atribútov má multipól ešte doplňujúce atribúty súvisiace s polohou uzlov a označením uzlov.
Typickým multipólom je transformátor, makro pre jeho zobrazenie má tvar
transformer(linespec,L|R,np,[A|P][W|L][D1|D2|D12|D21],ns)
parametre:
linespec - orientácia a dĺžka prícodov
np - počet závitov primárneho vinutia
ns - počet závitov sekundárneho vinutia
L | R - poloha primárho vinutia vlavo (L) alebo vpravo (R)
W | L - tvar zobrazenia vinutia široké (W) alebo jednoduché (L)
A | P - zobrazenie bez jadra (A) alebo s jadrom (P)
D1 | D2 | D12 | D21 - označenie začiatku vinutia
atribúty:
.s .w .n. .e - stredy strán obrysu
.sw .se .nw .ne - rohy obrysu
.P1 .P2 - poloha koncov primárneho vinutia
.S1 .S2 - poloha koncov sekundárneho vinutia
.TP .TS - poloha stredov vinutia
Umiestňovanie multipólov #
Na pracovnej ploche môžeme umiestňovať multipóly niekoľkými spôsobmi
Zadaním východzieho bodu kreslenia presunom kurzora, objekt sa umiestni na ploche v smere ukladania v polohe príslušného atribútu .n, .s, .w .e
move to pos; object( dir length, ... );
Umiestnením zvoleného terminálu multipólu do určenej polohy
object( ...) with .attribute at pos;
Príklad použitia:
right_; move to (1,1.);
transformer(down_ 1.5,L,4,W,4); # (1)
R1: resistor(right_ 2 from (3,2));
transformer(down_ 1.5,L,4,W,4) with .P1 at R1.end; # (2)
Obr. 26 Príklady umiestňovania multipólov.#
Použitie #
Použitie atribútov mnohopólu demonštruje nasledujúci príklad.
TR: transformer(down_ 2,L,7,W,4);
"1" at TR.P1 rjust below; # popis transformatora
"2" at TR.P2 rjust above;
"3" at TR.S1 ljust above;
"4" at TR.S2 ljust below;
"$TR_1$" at TR.n above;
line from TR.P1 left_ 1; # privody vlavo
TC1: tconn(0.5,O);
line from TR.P2 left_ 1;
TC2: tconn(0.5,O);
line from TR.S1 up_ to (TR.S1.x, TC1.y) then right_ 0.5;
D1: diode(1); llabel(,D_1,); # usmerňovač
dot;
{ tconn(1, O); }
{C1: capacitor(down_ 2); llabel(,C_1,); }
line from TR.S2 down_ to (TR.S2.x, TC2.y) then to C1.end;
dot;
tconn(right_ 1, O);