Lista zadań nr 8

Transkrypt

Lista zadań nr 8
Sterowanie procesami dyskretnymi – laboratorium
dr inż. Grzegorz Bazydło
[email protected], staff.uz.zgora.pl/gbazydlo
Lista zadań nr 8
Zagadnienia
 stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami dyskretnymi,
 stosowanie skończonych automatów stanów (ang. Finite State Machines) do modelowania algorytmów
sterowania procesami dyskretnymi
 implementacja algorytmów sterowania w układach cyfrowych FPGA (Field-Programmable Gate Array).
Ścieżka projektowa
Realizacja zadania odbywać się będzie zgodnie z poniższą ścieżką projektową (rys. 1):
Wymagania
opis słowny
0. Dekompozycja (podział na moduły)
opis słowny
opis słowny
1a. Modelowanie
(sieć Petriego)
IOPT Tools
1b. Modelowanie
(automat FSM)
Active-HDL
błędy
automat FSM
2a. Symulacja
IOPT Tools
2b. Symulacja
błędy
Active-HDL
VHDL + UCF
błędy
błędy
VHDL
3. Synteza
ISE Design Suite
poprawa modelu
poprawa modelu
sieć Petriego
błędy
bitstream
4. Implementacja
iMPACT
błędy
5. Weryfikacja sprzętowa
błędy
Rys. 1
Środowisko laboratoryjne
W trakcie realizacji listy zadań będziesz korzystać z następujących narzędzi informatycznych i sprzętu:
 do tworzenia modelu sieci Petriego (krok 1a) oraz symulacji (krok 2a) wykorzystaj internetowe narzędzie IOPT Tools: gres.uninova.pt/IOPT-tools (login: guest, hasło: guest),
 do tworzenia modelu FSM (krok 1b) oraz symulacji (krok 2b) wykorzystaj środowisko Active-HDL
10.2 firmy Aldec,
 do syntezy (krok 3) algorytmu sterowania w układzie cyfrowym wykorzystaj środowisko Xilinx ISE
Design Suite 14.7,
 do fizycznej implementacji (krok 4) w układzie cyfrowym typu FPGA (programowanie układu) użyj
narzędzia iMPACT (z pakietu narzędzi firmy Xilinx).
1
Sprzęt
Do implementacji sprzętowej (krok 4) oraz weryfikacji algorytmu sterowania w sprzęcie (krok 5) wykorzystaj zestaw uruchomieniowy Nexys4 DDR (rys. 2) z układem FPGA Artix-7 (szczegółowy opis tego układu
znajduje się w liście zadań nr 2).
Zadanie
Wymagania
Celem projektu jest utworzenie systemu sterowania cyklem produkcyjnym, którego celem jest produkcja napoju (rys. 2). Przebieg sterowania jest następujący: w chwili początkowej wózek znajduje się
w prawym, skrajnym położeniu (aktywny sygnał b). Proces rozpoczyna się po naciśnięciu przez operatora
przycisku Start (aktywny sygnał start). Następuje niezależne napełnianie zbiorników 1 i 2: składnik 1 wlewany jest do zbiornika 1 przez zawór Z1 tak długo, aż zbiornik będzie pełny (aktywny sygnał x1). Analogicznie
jest w przypadku składnika 2, który wlewany jest do zbiornika 2 przez zawór Z2 aż do napełnienia zbiornika
2 (sygnał x3). Po napełnieniu obu zbiorników przygotowane składniki wlewane są zaworami Z3 oraz Z4 do
zbiornika 3. Zawory Z3 i Z4 są zamykane po całkowitym opróżnieniu zbiorników 1 i 2 (nieaktywne sygnały x2
oraz x4). Na 3 sekundy przed rozpoczęciem wlewania składników ze zbiorników 1 i 2 uruchamiane jest mieszadło (aktywny sygnał M) i następuje mieszanie składników przez cały czas wlewania składników. Po zakończeniu wlewania składników do zbiornika 3, mieszadło działa jeszcze przez 12 sekund lub aż do momentu, kiedy wózek znajdzie się w lewym, skrajnym położeniu. Kolejnym etapem cyklu produkcyjnego jest
opróżnienie zbiornika 3 poprzez otwarcie zaworu Z5 i wlanie całej zawartości zbiornika 3 do wózka. Po całkowitym opróżnieniu zbiornika 3 (nieaktywny sygnał x5) zamykany jest zawór Z5.
Także po naciśnięciu przycisku Start uruchamiany jest proces sterowania wózkiem. W sposób niezależny od procesu produkcyjnego napoju wózek jest przemieszczany w lewo (aktywny sygnał L), aż do osiągnięcia lewego, skrajnego położenia (aktywny sygnał a). Opróżnianie zbiornika 3 nie może się rozpocząć dopóki
wózek nie znajdzie się w lewym, skrajnym położeniu. Po napełnieniu wózka i opróżnieniu zbiornika 3 (nieaktywny sygnał x5) porusza się on w prawo (aktywny sygnał R), aż do skrajnego położenia (aktywny sygnał b)
i układ jest gotowy do kolejnego cyklu pracy.
Wszystkie sygnały występujące w układzie scharakteryzowano w tabeli 1.
TM3
TM12
tm3_out
tm12_out
Start
KONSOLA OPERATORA
start
Mieszadło
M
Z1
Z2
Składnik 1
Składnik 2
x1
x3
x2
x4
Zbiornik 1
Z3
Zbiornik 2
Z4
x5
Zbiornik 3
Z5
L
a
Wózek
R
b
Rys. 2
Tabela 1. Opis sygnałów układu
Lp.
Nazwa sygnału
Rodzaj sygnału
Źródło
1.
start
wejściowy
konsola operatora
2.
x1
wejściowy
czujnik cieczy
Znaczenie
Sygnał aktywny oznacza, że użytkownik wcisnął przycisk
Start i system rozpoczyna pracę.
Sygnał aktywny oznacza, że zbiornik 1 jest pełny.
2
Lp.
Nazwa sygnału
Rodzaj sygnału
Źródło
Znaczenie
3.
x2
wejściowy
czujnik cieczy
Sygnał nieaktywny oznacza, że zbiornik 1 jest pusty.
4.
x3
wejściowy
czujnik cieczy
Sygnał aktywny oznacza, że zbiornik 2 jest pełny.
5.
x4
wejściowy
czujnik cieczy
Sygnał nieaktywny oznacza, że zbiornik 2 jest pusty.
6.
x5
wejściowy
czujnik cieczy
Sygnał nieaktywny oznacza, że zbiornik 3 jest pusty.
7.
M
wyjściowy
sterownik
Sygnał aktywny oznacza, że mieszadło pracuje.
8.
Z1
wyjściowy
sterownik
Sygnał aktywny oznacza, że zawór Z1 jest otwarty.
9.
Z2
wyjściowy
sterownik
Sygnał aktywny oznacza, że zawór Z2 jest otwarty.
10.
Z3
wyjściowy
sterownik
Sygnał aktywny oznacza, że zawór Z3 jest otwarty.
11.
Z4
wyjściowy
sterownik
Sygnał aktywny oznacza, że zawór Z4 jest otwarty.
12.
Z5
wyjściowy
sterownik
Sygnał aktywny oznacza, że zawór Z5 jest otwarty.
13.
a
wejściowy
czujnik położenia
14.
b
wejściowy
czujnik położenia
15.
L
wyjściowy
sterownik
Sygnał aktywny oznacza, że wózek jedzie w lewą stronę.
16.
R
wyjściowy
sterownik
Sygnał aktywny oznacza, że wózek jedzie w prawą stronę.
17.
TM3
wyjściowy
sterownik
18.
tm3_out
wejściowy
timer
19.
TM12
wyjściowy
sterownik
20.
tm12_out
wejściowy
timer
Sygnał aktywny oznacza, że wózek znajduje się w lewym
skrajnym położeniu.
Sygnał aktywny oznacza, że wózek znajduje się w prawym
skrajnym położeniu.
Sygnał aktywny oznacza uruchomienie timera odmierzającego czas 3 sekund.
Sygnał aktywny oznacza, że upłynął czas 3 sekund od momentu uruchomienia timera.
Sygnał aktywny oznacza uruchomienie timera odmierzającego czas 12 sekund.
Sygnał aktywny oznacza, że upłynął czas 12 sekund od momentu uruchomienia timera.
Krok 0 – Dekompozycja (podział na moduły)
Ten krok jest narzucony w zadaniu. System został podzielony na dwa moduły: moduł sterujący produkcją napoju oraz moduł sterujący ruchem wózka. Pierwszy moduł zrealizuj wykorzystując sieci Petriego,
a drugi diagramy FSM.
Krok 1a – Modelowanie (sieć Petriego)
Korzystając ze środowiska IOPT Tools zamodeluj sieć Petriego przedstawiającą model sterowania produkcją napoju (moduł 1). Odpowiednio zidentyfikuj i nazwij poszczególne miejsca i tranzycje. Użyj dokładnie
takich nazw sygnałów jak pokazano w tabeli 1.
Krok 2a – Symulacja
Po zaprojektowaniu modelu układu sterowania, wykonaj symulację utworzonej sieci Petriego korzystając z symulatora IOPT Tools. Jeżeli wyniki symulacji wykażą, że model zawiera błędy, wróć do kroku 1a
i popraw go. Jeżeli model przeszedł poprawnie etap symulacji, wyeksportuj jego opis w syntezowalnym
języku opisu sprzętu VHDL.
Krok 1b – Modelowanie (automat FSM)
Korzystając ze środowiska Active-HDL zamodeluj automat FSM przedstawiający model sterowania ruchem wózka (moduł 2). Odpowiednio zidentyfikuj i nazwij poszczególne stany i przejścia. Użyj dokładnie
takich nazw sygnałów jak pokazano w tabeli 1. Warunki przejść i akcje w stanach wyraź w języku VHDL.
3
Krok 2b – Symulacja
Po zaprojektowaniu modelu układu sterowania, wykonaj symulację utworzonego automatu FSM korzystając z symulatora w Active-HDL. Korzystając z wytycznych prowadzącego utwórz najpierw program
testujący (ang. TesBench) a następnie uruchom symulację. Jeżeli wyniki symulacji wykażą, że model zawiera
błędy, wróć do kroku 1b i popraw go.
Krok 3 – Synteza
Następnie korzystając z wytycznych prowadzącego utwórz projekt w środowisku Xilinx ISE Design Suite
14.7. Parametry projektu pokazano na rys. 3.
Rys. 3
Na etapie syntezy układu dodaj do projektu pliki Lab08_zad01_nexys4ddr.ucf, Timers.vhdl oraz Lab08_main.vhdl. Zgodnie z wytycznymi prowadzącego dokonaj modyfikacji w pliku
Lab08_main.vhdl (zamień ciągi znaków nazwaProjektuSiecPetriego oraz nazwaProjektuFSM odpowiednimi nazwami swoich projektów). Kolejnym etapem jest uruchomienie procesu syntezy,
implementacji oraz generowania pliku wynikowego (bitstream) zawierającego dane służące do zaprogramowania układu.
Krok 4 – Implementacja
Podłącz do komputera układ Nexys 4 DDR i korzystając z narzędzia iMPACT oraz wytycznych prowadzącego wykonaj programowanie układu FPGA za pomocą wygenerowanego w poprzednim kroku bitstreamu.
Krok 5 – Weryfikacja sprzętowa
Zweryfikuj działanie układu przełączając poszczególne przełączniki i obserwując diody LED (rys. 4).
M
a
L
R
Z1 Z2
b start x1
x2
Z3
Z4
Z5
x3
x4
x5
Reset
Enable
Rys. 4
4

Podobne dokumenty