Program rysujący wykres wskazowy dla układu RL.
Obwód prądu przemiennego z szeregowo połączonymi rezystorem i cewką jest opisany poprzez
podanie podstawowych parametrów:
Napięcia,
Rezystancji R
Indukcyjności - L
częstotliwość – f
Narysuj wykres wskazowy napięć w tym obwodzie
W programie przyjeto że wartośc napięcia podawanego w układzie będzie przeliczana na jednostki
rysunkowe o stałych niezaleznych od aktualnego rozmiaru okienka wartosciach.
Program wykonuje obliczenia po naciśnięciu przycisku Oblicz:
Metoda obsługi zdarzeń dla przycisku Button1 jest następująca:
Private
Sub
Button1_Click(sender
As
Object
, e
As
EventArgs
)
Handles
Button1.Click
REM Deklaracje zmiennych
Dim
x, y, x0, y0, xk, yk
As
Single
Dim
f
As
Double
REM Przypisanie wartości pobranych z pól tekstowych
f = TextBox4.Text
R = TextBox1.Text
L = TextBox2.Text
U = TextBox3.Text
REM Obliczenie reaktancji dla cewki
XL = 2 *
Math
.PI * f * L
REM Obliczenie impedancji
Z =
Math
.Sqrt((R * R) + (XL * XL))
REM wyznaczenie wartości prądu w obwodzie
I = U / Z
REM wyznaczenie wartosci skutecznej napięć na rezystancji i
reaktancji
UR = I * R
UL = I * XL
REM Wektor napięcia
x0 = 200
y0 = 500
xk = 200
yk = 100
REM Wektor napięcia
g.DrawLine(p, x0, y0, xk, yk)
REM współczynnki skali
skala = (y0 - yk) / U
REM Wyznaczenie wartosci cos fi i sin fi
cosfi = R / Z
sinfi = XL / Z
REM Obliczenie zmiany współrzędnych końca wektora napięcia
na rezystancji
deltay = cosfi * UR * skala
deltax = sinfi * UR * skala
REM obliczenie współrzednych końca wektora
x = x0 + deltax
y = y0 - deltay
REM Wyniki obliczeń
Label6.Text =
" XL= "
& Format(XL,
"f"
) &
" cosfi = "
&
Format(cosfi,
"f"
) &
" sinfi = "
& Format(sinfi,
"f"
)
p.Color =
Color
.Red
g.DrawLine(p, x0, y0, x, y)
REM Rysowanie wektora napiecia na cewce
p.Color =
Color
.DarkGreen
g.DrawLine(p, x, y, xk, yk)
End
Sub
Wprowadź następujące modyfikacje programu:
Wprowadź zabezpieczenia w programie walidujące poprowadzone dane
Zmień program tak by można było rysować wykres dla szeregowo połączonego
układu RC
Zmień program tak by można było rysować wykres dla szeregowo połączonego
układu RLC
Zmień program tak aby skala napięcia dostosowana była do rozmiaru okienka
Pełen kod programu:
Public
Class
Form1
Dim
g
As
Graphics
Dim
R, L, U, XL, Z
As
Double
Dim
I, skala, cosfi, sinfi, deltax, deltay
As
Double
Dim
UR, UL
As
Double
Dim
p
As
New
Pen
(
Color
.Blue, 2)
Private
Sub
Button1_Click(sender
As
Object
, e
As
EventArgs
)
Handles
Button1.Click
REM Deklaracje zmiennych
Dim
x, y, x0, y0, xk, yk
As
Single
Dim
f
As
Double
REM Przypisanie wartości pobranych z pól tekstowych
f = TextBox4.Text
R = TextBox1.Text
L = TextBox2.Text
U = TextBox3.Text
REM Obliczenie reaktancji dla cewki
XL = 2 *
Math
.PI * f * L
REM Obliczenie impedancji
Z =
Math
.Sqrt((R * R) + (XL * XL))
REM wyznaczenie wartości prądu w obwodzie
I = U / Z
REM wyznaczenie wartosci skutecznej napięć na rezystancji i reaktancji
UR = I * R
UL = I * XL
REM Wektor napięcia
x0 = 200
y0 = 500
xk = 200
yk = 100
REM Wektor napięcia
g.DrawLine(p, x0, y0, xk, yk)
REM współczynnki skali
skala = (y0 - yk) / U
REM Wyznaczenie wartosci cos fi i sin fi
cosfi = R / Z
sinfi = XL / Z
REM Obliczenie zmiany współrzędnych końca wektora napięcia na rezystancji
deltay = cosfi * UR * skala
deltax = sinfi * UR * skala
REM obliczenie współrzednych końca wektora
x = x0 + deltax
y = y0 - deltay
REM Wyniki obliczeń
Label6.Text =
" XL= "
& Format(XL,
"f"
) &
" cosfi = "
& Format(cosfi,
"f"
) &
" sinfi = "
& Format(sinfi,
"f"
)
p.Color =
Color
.Red
g.DrawLine(p, x0, y0, x, y)
REM Rysowanie wektora napiecia na cewce
p.Color =
Color
.DarkGreen
g.DrawLine(p, x, y, xk, yk)
End
Sub
Private
Sub
Form1_Load(sender
As
Object
, e
As
EventArgs
)
Handles
MyBase
.Load
g =
Me
.CreateGraphics()
REM Tworzenie obiektu graficznego na formularzu
End
Sub
End
Class