WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI INFORMATYKI I ELEKTRONIKI |
||
APARATURA AUTOMATYZACJI |
||
Temat: Układ sterowania ogniw słonecznych |
||
Grupa III |
Data wykonania ćwiczenia: 10.III.2000 |
|
Imię i nazwisko: |
Data zaliczenia ćwiczenia: |
Uwagi: |
Kruk Leszek |
|
|
|
|
|
Cel ćwiczenia:
Stworzenie zaawansowanej aplikacji sterującej nadążnym systemem ogniw słonecznych przy wykorzystaniu modułów DAQ rodziny ADAM4000 oraz środowiska Genie.
Przebieg ćwiczenia:
Stanowisko laboratoryjne składa się z modelowego układu śledzenia pozycji słońca, pozwalającego na niezależny obrót baterii słonecznych wokół osi pionowej (azymut) i poziomej (elewacja). Układ mechaniczny posiada kierunkowy czujnik oświetlenia, czujniki aktualnej pozycji fotoogniw oraz krańcowe czujniki i wyłączniki ruchu. Sterowanie silnikami odbywa się za pomocą modułu przekaźnikowego ADAM4060, sygnały napięciowe z czujnika oświetlenia i czujnika położenia fotoogniw podawane są na wejścia modułu ADAM4018, natomiast dyskretne sygnały z wyłączników krańcowych odbiera moduł ADAM4050. Wszystkie moduły połączone są wspólną magistralą RS485 i dalej za pośrednictwem konwertera z komputerem.
Sposób sterowania silnikami
R1-R4 - przekaźniki modułu ADAM4060
Odczyty sygnałów z obiektu:
- oświetlenie padające z góry ADAM4018 (adres 01) kanał 0
- oświetlenie padające z dołu ADAM4018 (adres 01) kanał 1
- oświetlenie padające z lewa ADAM4018 (adres 01) kanał 2
- oświetlenie padające z prawa ADAM4018 (adres 01) kanał 3
- pozycja w pionie ADAM4018 (adres 01) kanał 4
- pozycja w poziomie ADAM4018 (adres 01) kanał 5
- górny wył. krańcowy ADAM4050 (adres 03) kanał 3
- dolny wył. krańcowy ADAM4050 (adres 03) kanał 2
- lewy wył. krańcowy ADAM4050 (adres 03) kanał 1
- prawy wył. krańcowy ADAM4050 (adres 03) kanał 0
Ustawienie wyjść modułu ADAM4060 (adres 02) przy sterowaniu silnikami:
Ruch/Przekaźnik |
R1 (bit 0) |
R2 (bit 1) |
R3 (bit 2) |
R4 (bit 3) |
Do góry |
0 |
1 |
0 |
1 |
Na dół |
0 |
1 |
1 |
0 |
W lewo |
1 |
0 |
1 |
0 |
W prawo |
1 |
0 |
0 |
1 |
Widok okna Task Designer:
Widok okna Display Designer:
Skrypt w BASICU:
Sub SCR1()
dim gora as TAG
dim dol as TAG
dim lewo as TAG
dim prawo as TAG
dim R1 as TAG
dim R2 as TAG
dim R3 as TAG
dim R4 as TAG
dim ST as TAG
dim wg as TAG
dim wd as TAG
dim wl as TAG
dim wp as TAG
set gora = GetTag("Disp1","BBTN3")
set dol = GetTag("Disp1","BBTN4")
set lewo = GetTag("Disp1","BBTN2")
set prawo = GetTag("Disp1","BBTN1")
set ST = GetTag("Disp1","BBTN5")
set R1 = GetTag("VirTask","R1")
set R2 = GetTag("VirTask","R2")
set R3 = GetTag("VirTask","R3")
set R4 = GetTag("VirTask","R4")
set wg = GetTag("Task1","DI1")
set wd = GetTag("Task1","DI2")
set wl = GetTag("Task1","DI3")
set wp = GetTag("Task1","DI4")
if wg.value=1 then
if gora.value=1 then
R1.value=0
R2.value=1
R3.value=0
R4.value=1
end if
end if
if wd.value=1 then
if dol.value=1 then
R1.value=0
R2.value=1
R3.value=1
R4.value=0
end if
end if
if wl.value=1 then
if lewo.value=1 then
R1.value=1
R2.value=0
R3.value=1
R4.value=0
end if
end if
if wp.value=1 then
if prawo.value=1 then
R1.value=1
R2.value=0
R3.value=0
R4.value=1
end if
end if
if ST.value=1 then
R1.value=0
R2.value=0
R3.value=0
R4.value=0
end if
End Sub
Wnioski:
Aplikacja stworzona przeze mnie umożliwia ręczne sterowanie układem fotoogniw. W oknie „Display Designer” znajdują się cztery sygnalizatory wyłączników krańcowych, czujniki natężenia światła, wskaźniki obrazujące aktualne położenie fotoogniw i przyciski sterujące. Wszystkie te elementy połączone są z odpowiadającymi im wejściami cyfrowymi lub analogowymi umieszczonymi w oknie „Task Designer”.
Sterowanie silnikami odbywa się poprzez wyjścia cyfrowe i połączone z nimi wirtualne tagi. W zależności od stanu zero - jeden na poszczególnych tagach uruchamiany jest jeden z dwóch silników. W oknie „Task Designer” znajduje się element Basic Script. Odpowiedzialny jest on za ustawienie wirtualnych tagów i za ich pośrednictwem wyjść cyfrowych w odpowiedni stan w zależności od wciśniętego przycisku sterującego na panelu sterowania.