Laborka 4(1), Studia, Automatyka


Uniwersytet Warmińsko - Mazurski

Wydział Nauk Technicznych

Katedra Elektrotechniki i Energtyki

Instrukcje pomocnicze do laboratorium z przedmiotu „Podstawy automatyki”

Uniwersytet Warmińsko - Mazurski

Wydział Nauk Technicznych

Katedra Elektrotechniki i Energtyki

Ćwiczenie Nr3

BADANIE UKŁADÓW LINIOWYCH DYNAMICZNYCH W DZIEDZINIE CZĘSTOTLIWOŚCI. CĘŚĆ II.

Funkcje i instrukcje pakietu SCILAB. Elementy składni języka wysokiego poziomu SCILAB.

Instrukcje języka SCILAB:

Składnia:

if expr1 then statements

elseif expri then statements

....

else statements

end

Opis:

if - jest instrukcją warunkową (ang. jeżeli). Instrukcja ta sprawdza wyrażenie logiczne (expr1) jeżeli wyrażenie logiczne jest prawdziwe wtedy wykonywana są instrukcje (statements) występujące po słowie kluczowym then (ang. wtedy), w przeciwnym wypadku tzn. gdy wyrażenie logiczne (expr1) jest fałszem wtedy sprawdzane jest wyrażenie warunkowe (expri). Jeżeli jest ono prawdą wykonywane są instrukcje (statements) po słowie kluczowym then jeśli jest fałszem to są wykonywane instrukcje po słowie kluczowym else (ang. w przeciwnym razie). Całość kończymy słowem kluczowym end (ang. koniec)

Przykład:

i=2

for j = 1:3,

if i == j then

a(i,j) = 2;

elseif abs(i-j) == 1 then

a(i,j) = -1;

else a(i,j) = 0;

end,

end

instrukcja for

Składnia:

for variable=expression ,

instruction, ,

instruction,

end

for variable=n1:step:n2, ...,end

Opis:

Instrukcja for (ang. od) jest instrukcją iteracyjną (pętlą) wykonywaną od n1 do n2 razy z krokiem step opcjonalnie.

Przykład:

n=5;

for i = 1:n,

for j = 1:n,

a(i,j) = 1/(i+j-1);

end;

end

instrukcja while

Składnia:

while expr ,instructions,...[,else instructions], end

while expr do instructions,...[,else instructions], end

while expr then instructions,...[,else instructions], end Notes:

Opis:

while - jest to instrukcja iteracyjna (pętla) wykonywana dopóki wyrażenie warunkowe expr jest prawdziwe. Dodatkowo wystąpienie (opcjonalnie) słowa kluczowego else powoduje, że w przypadku gdy wyrażenie warunkowe expr jest fałszywe to zostanie wykonana instrukcja po słowie kluczowym else.

Przykład:

while a<>b then

c=a+b;

end

instrukcja select

Składnia:

select expr,

case expr1 then instructions1,

case expr2 then instructions2,

...

case exprn then instructionsn,

[else instructions],

end

Opis:

Instrukcja select jest instrukcją wyboru za pomocą której można wybrać grupę instrukcji do wykonania w zależności od wartości jaką aktualnie posiada zmienna występująca po słowie kluczowym select. W przypadku gdy wartość zmiennej nie odpowiada żadnej z wartości występującej po słowie kluczowym case są wykonywana instrukcje występujące po słowie kluczowym else.

Przykład:

while %t do

n=input(„podaj liczbę”)

select n

case 0 then

disp(0)

case 1 then

disp(1)

else

break

end

end

instrukcja break

Opis:

Instrukcja break powoduje wyjście z pętli po zajściu zdarzenia zdefiniowanego w pętli (patrz przykład)

Przykład:

k=0;

while 1==1,

k=k+1;

if k > 100 then

break,

end;

end

Funkcje języka SCILAB pomocne do wykonania ćwiczenia:

Funkcja input()

Wywołanie funkcji:

[x]=input(message,["string"])

Opis:

Funkcja ta pozwala wprowadzić łańcuch lub liczbę do aktualnie wykonywanego pliku funkcyjnego lub skryptowego z rozszerzeniem *.sci. Jeżeli wprowadzamy liczbę wtedy drugi argument funkcji jest niepotrzebny ("string"). Natomiast gdy chcemy wprowadzić łańcuch znakowy lub znak jako drugi parametr musimy poinformować o tym wywoływaną funkcje wprowadzając „string”

Przykład:

x=input("How many iterations?") //pobiera liczbę i przypisuje zmiennej x

x=input("What is your name?","string") //pobiera znak lub łańcuch znaków i przypisuje zmiennej x

Funkcja disp() wywołana z pliku funkcyjnego wyświetla w oknie SCILAB tekst lub zmienne, aby wyświetlić tekst wywołujemy w następujący sposób: disp(`próba funkcji disp')

CZĘŚĆ II ZADANIA DO WYKONANIA

  1. Dla podanych transmitancji podstawowych członów dynamicznych zawartych w tabeli 1.1, określić współczynniki wzmocnienia - K, oraz stałą czasową - T. Następnie wykreślić charakterystyki Nyquista i Bode poszczególnych członów oraz zbadać jaki wpływ na przebieg charakterystyki ma zmiana stałych transmitancji.

Tabela 1.1

K

T1

T2

Człon inercyjny

I rzędu

10

4

-

Człon inercyjny

II rzędu

100

4

2

Człon różniczkujący rzeczywisty

10

6

-

Człon całkujący

idealny

1

-

-

Człon całkujący

rzeczywisty

30

2

-

  1. Wyznaczyć stałe współczynniki transmitancji zawartej w tabeli 1.2 charakteryzujące człon oscylacyjny. Określić jaki wpływ na charakterystykę Nyquista i Bode ma zmiana współczynnika tłumienia ζ.

Tabela 1.2

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic

1

3

2

10

4

2

1

2

9

3

1

10

1

2

4

1

1

4

8

2

4

1

1

4

  1. Napisz program który będzie pozwalał wprowadzać współczynniki członu inercyjnego I rzędu grupy od 1 - 3, członu oscylacyjnego grupy od 4 - 6 i wyświetlał na ekranie charakterystyki Nyquista lub Bode w zależności od wciśniętego klawisza.

Wykonanie sprawozdania.

Sprawozdanie powinno zawierać wszystkie obliczenia i przekształcenia wykonywane w trakcie laboratorium. W punkcie 1. należy wyznaczyć współczynniki K, T oraz opisać jaki wpływ na charakterystykę Nyquista ma zmiana tych współczynników. W punkcie 2. podobnie jak w punkcie 1. opisać jaki wpływ na charakterystykę ma zmiana takich współczynników jak (ζ - tłumienie, ωn - pulsacja drgań własnych nietłumionych, współczynnik wzmocnienia). Do punktu 3. listing programu.



Wyszukiwarka