background image

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. 

background image

 

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) 

background image

        

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 

background image

        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