Popis přikazů
V následující sekci ukážeme použití základních příkazů knihovny PraCAn. Jejím hlavním příkazem, kterým se provádí vlastní analýza je právě příkaz PraCAn s několika parametry. Jejich význam je popsán níže zvlášť pro spejitě a diskrétně pracující obvody.
Spojitě pracující obvody
-
PraCAn(nazev, typ <,symbolic> <,SAVE=param_s>)
Popis jednotlivých parametrů
-
nazev
udává proměnnou, kde je uložen popis obvodu - proměnná typu string.
-
typ
udává typ analýzy, tj.
dc
- stejnosměrnou,
tf
či
ac
- střídavou a
tran
- časovou (tranzientní). Jejich použití je uvedeno na níže uvedených příkladech.
-
symbolic
nepovinný parametr, pokud je uveden analýza bude provedena symbolicky, bez ohledu na zadané číselné hodnoty prvků. Pokud není zadán,
-
param_s
je opět nepovinný parametr udávající rozsah proměnných, které vrátí příkaz po analýze.
SAVE=v("2")
vrátí pouze hodnotu napětí v uzlu 2,
SAVE={v("2"),i("R1")}
vrátí pouze hodnotu napětí v uzlu 2 a proud rezistorem R2,
SAVE=nodes
vrátí hodnoty všech uzlových napětí,
SAVE=branches
vrátí hodnoty napětí na všech prvcích,
SAVE=currents
vrátí hodnoty proudů všech prvků,
SAVE=all
vrátí všechny uvedené veličiny. Pomocí množiny lze navíc požadavky kombinovat jak bude ukázáno v níže uvedených příkladech.
Diskrétně pracující obvody
Mimo paramery příkazu
PraCAn
, které byly popsány výše jsou pro analýzu spínaných obvodů možné (mutné) použít další parametry.
-
PraCAn(nazev, typ, P=param_p <,O=0..1> <,scideal/siideal> <,symbolic> <,SAVE=param_s>);
Popis jednotlivých parametrů
(mimo výše uvedených)
-
param_p
je povinný parametr udávající počet fází přepínací kmitočet. Povině musí tento parametr uvádět počet fází, tj.
P=number
, kde
number
udává počet fází, případně i jejich relativní délky trvání. Pokud je
number
přirozené číslo větší než 1, udává počet fází s tím, že jejich délka trvání je shodná. Pokud je
number
zadáno jako seznam, jeho počet členů udává počet fází a jednotlivé položky (kladná racionální čísla menší než 1) udávají relativní trvání fází, jejichž součet musí být roven právě jedné, tedy např. [1/2,1/2] nebo [1/2,1/4,1/4] apod. Pokud není přepínací kmitočet
fc
zadán, je nastaven na hodnotu 1 (
). Pokud ho specifikujeme, je nutný následující zápis:
P=(number, fc)
, přičemž přepínací kmitočet lze zadat jako kladné reálné číslo nebo symbolicky.
-
O
je nepovinný parametr, při jehož zadání je výsledkem časové analýzy posloupnost časových vzorků jednotlivých veličin. Tyto časové vzorky jsou vypočítány tak, že na každou spínací periodu připadá vždy jeden vzorek, jehož poloha je v dané periodě určena kladným reálným číslem od 0 do 1. Pokud je O=0, jde o začátek periody, pro O=0.5 odpovídá vzorek polovině periody, ... a pro O=1 jsou vzorky počítány pro konec periody. Použití tohoto parametru bude ukázáno na přikladu.
-
scideal
nebo
siideal
je opět nepovinný parametr, který iniciuje idealizovanou analýzu diskrétně pracujících obvodů (spínače se vždy berou jako ideální - s nulovým odporem v sepnutém stavu a nulovou vodivostí ve stavu rozepnutém), pro kterou paltí následující omezení: SC obvody nemohou obsahovat rezistory, induktory, nezávislé zdroje proudu a řízené zdroje typu G a H, SI obvody pak nemohou obsahovat induktory a zdroj napětí, řízený proudem (H). Naproti tomu reálné obvody (bez uvedení tohoto parametru) mohou obsahovat všechny
lineární
prvky.
Použití ostatních příkazů je nezávilé na typu obvodu. Mimo příkazu
ParseCircuit
se všechny ostatní příkazy se vztahují k aktuálně načtenému popisu obvodu (netlistu), proto se tento neudává jako parametr (narozdíl od příkazů
PraCAn
a
ParseCircuit
).
-
ParseCircuit(nazev)
načte a zkontroluje syntaxi zadání obvodu a pokud je vše správně vrátí nulu (tzv. status). V opačném případě vrací chybu popisující vzniklý problém. Příkaz je vhodný zejména pro programové zpracování.
-
ChangeElement(<elem><,param><,valuation>)
příkaz pro změnu velikosti hodnoty parametru prvku (elementu) naposledy načteného obvodu pomocí příkazu
ParseCircuit
nebo
PraCAn
. Pokud dadáme pouze název prvku (
elem
), vrátí příkaz výpis všech paramerů a jejich hodnoty. Pokud zadáme i prarametr (
param
), vypíše se hodnota specifikovaného parametru a pokud jsou zadány všechny tři parametry, nastaví sa zadaná hodnota (
valuation
) pro daný parametr a prvek (vrácena je hodnota původní). Všechny parametry jsou typu string alze je pro daný element tímto říkazem vypsat, pokud uvedeme pouze
ChangeElement(elem)
. Podobně lze vypsat i hodnoty daného parametru.
-
GetExpandedStructure()
vrátí rozepsanou (rozseparovanou) strukturu vstupního netlistu obvodu na jednotliné elmenty (vhodné pro programové zpracování).
-
GetExpandedModels()
vrátí rozepsanou (rozseparovanou) strukturu modelů použitých v netlistu obvodu na jednotliné elmenty (vhodné pro programové zpracování).
-
GetNetlist(<par>)
vrátí strukturu netlistu vytvořenou na základě předchozích dvou příkazů, přičemž před poslední řádek (
.end
) se doplní řádek(y) definované parametrem
par
. Ten musí být typu string.
-
SetAnalysis(typ, P=param_p <,O=0..1> <,scideal/siideal> <,symbolic> <,SAVE=param_s>)
nastavuje parametry analýzy. Parametry tohoto příkazu jsou totožné s parametry příkazu
PraCAn
, mimo parametru
nazev
, který se nudává. Z tohoto důvodu je již nebudeme popisovat (vhodné pro programové zpracování).
-
GetVariables()
vrátí množinu proměnných, které se vyskytují v popisu obvodu a také ve výsledcích analýz, tj. závisí i na nastavení analýzy (vhodné zejména pro programové zpracování).
-
GetMatrix()
vrátí matici obvodu, která je zpracována podle netlistu obvodu a dále podle parametrů uvedených v příkazu
SetAnalysis
(vhodné zejména pro programové zpracování).
-
Analyze()
vrátí status a výsledky analýzy právě načteného (definovaného) obvodu podle nastavení uvedeného v příkazu
SetAnalysis
(opět vhodné spíše pro programové zpracování).
-
TF2AC(term<,fc>)
je příkaz na výpočet kmitočtové odezvy z přenosové funkce v proměnné s nebo z (nebo obou). Nepovinným parametrem je pro přenosové funkce v proměnné z přepínací kmitočet
fc
. Tem může být zadán číselně nebo symbolicky. Pokud se neuvede, uvažuje se opět
.
Všecny příkazy jsou "case sensitive", tj. ne nutné dodržovat velikost písmen. Pro parametry lze používat jak malá, tak velká písmena, což však neplatí pro
nazev
a
term
a pro klíčová slova
P
,
O
a
SAVE
.
Použití jednotlivých příkazů je uvedeno v příkladech.