Spr 3.docx

(4158 KB) Pobierz

Damian Gromek

Piotr Krupa

Tomasz Kłusek

SPRAWOZDANIE nr 2

Rozproszone Systemy Automatyki

 

Sortowanie różnobarwnych elementów.

 

Założenia zadania:

Celem ćwiczenia jest stworzenie w środowisku Freelance firmy ABB projektu sortowania kulek koloru czarnego i białego podawanych losowo. W skład projektu (poza programem) wchodzić będzie również wizualizacja.

 

Realizacja prac:

 

I.Przygotowanie drzewa projektu w pakiecie Freealnce:

 

1. Uruchamiamy narzędzie Control Builder F.

Rys.1.Okno główne i pasek programu.

1.2. Tworzymy nowy projekt- Create new project- nadajemy mu dowolną nazwę.

Rys.2.Widok części nagłówka projektu.

W oknie tym wprowadzamy informacje, które są niezbędne do jego stworzenia-Project manager.

Zatwierdzamy – OK.

 

 

1.3.Przechodzimy do konfiguracji- Configuration!.

Rys.3.Widok początkowy drzewa projektu.

Klikamy prawym klawiszem myszy na nazwie projektu-alarm . Wybieramy Insert Next Level.

Pojawi się okno (Rys.4.).

Rys.4. Widok okna wyboru obiektu konfiguracji.

Wybieramy Configuration CONF. Zatwierdzamy - OK..

Należy wprowadzić swoją nazwę lub pozostawić istniejącą i zatwierdzić OK..

Spowoduje to pojawienie sie nowej gałęzi.

Klikając na nią jak poprzednio, prawym klawiszem myszy, wybieramy Insert Next Level.

Wybieramy Process Station D-PS. Po czym zatwierdzamy - OK.

Należy teraz podać nazwę stacji procesowej którą tworzymy:

Po zmianie nazwy, zatwierdzamy - OK.

Po tych operacjach drzewo projektu ma następującą postać:

 

Następnie należy zdefiniować strukturę sprzętową.  Możemy tego dokonać wybierając z paska Hardware Structure.

Po jej wybraniu ukaże się poniższe okno:

 

Następnie wybieramy stację inżynierską z której będziemy korzystać.

Klikając pod symbolem komputera (w miejscu otoczonym czerwona przerywaną linią) wybieramy stację inżynierską dostępną w laboratorium.

W laboratorium korzystamy z AC800F.

 

W parametrach stacji wybieramy zgodnie z instrukcją opcje charakterystyczne oraz dokładny typ

stacji. Dla kasety wybieramy następujące moduły:

 

Moduł, który pośredniczy w komunikacji za pomocą złącza CAN będzie modułem Master. Do niego

też będą podłączone moduły we/wy.

 

Aby dokonać wyżej wspomnianej aktywacji modułu CAN klikamy na jego nazwę w drzewie po lewej

stronie.

 

Klikamy na zaznaczonym obszarze prawym przyciskiem myszy i wybieramy opcję Insert a następnie

dokonujemy identyfikacji jako moduł Master:

 

 

 

 

 

 

Dla tego modułu tworzymy szafę zawierającą moduły we/wy:

 

Moduły dodajemy intuicyjnie. Poniżej przedstawione jest gotowe okno szafy z modułami.

Na koniec wybieramy opcję Network aby określić identyfikatory i adresy stacji:

Adresy przypisujemy według poniższej tabeli.

Projekt sprawdzamy przyciskiem Check, i zapisujemy.

Po tak dokonanych operacjach system jest gotowy do napisania programu.

 

II. Tworzenie programu:

1.Program w języku FBD (Function Block Diagram).

Pierwszym krokiem do stworzenia działającego programu w języku FBD jest dodanie zadania do drzewa konfiguracji:

Klikamy prawym klawiszem myszy i wybieramy Insert Next Level.

Wybieramy Task TASK. Następnie zatwierdzamy – OK.

W oknie parametrów zadania ważne jest ustawienie czasu cyklu (najszybciej 10ms):

Teraz drzewo projektu wygląda następująco:

Następnym krokiem jest dodanie kolejnego poziomu drzewa (Next Level dla utworzonego zadania-instalacja ).

Wybieramy opcję listy programów PL.

Po wyborze, zatwierdzamy –OK.

Następnie dla gałęzi lista , którą utworzyliśmy  wybieramy Insert Next Level.

Wybieramy język w którym chcemy napisać program. W naszym przypadku jest to język FBD. Po wyborze zatwierdzamy – OK.

Podajemy nazwę programy i ponownie zatwierdzamy.

 

Klikając dwukrotnie na utworzony obiekt na samym dole drzewa przechodzimy do trybu edycji programu.

Tworząc program korzystamy z typowych bloków.

 

FBD elements à Variable read    oraz    Variable write.

Blocks àStandard à Logic  : And, Or, Xor, Not.

Blocks àStandard àSwitches: Flipflop.

Blocks à Binary à Timer, switch on delay.

Blocks à Binary àMonoflop

Blocks à Binary àup/down counter

Oraz z bloków rzutowania zmiennych w celu zmiany wartości Int na Real

Schemat programu:

Każdy z elementów na schemacie podpisujemy jednocześnie tworząc zmienne. Zmienne są typu BOOL.

Zmienne wejściowe- czujniki:

START Uruchamianie

CS Kolor: biała, czarna

BS – Kulka: spadła, brak

Zmienne wyjściowe:

RES – resetowanie przerzutników w czujnikach CS, BS

R_S3,S_S3 – zamkniecie/otwarcie zastawki S3 (Reset/Set)

v_S4 – zastawka S4 w ruchu

R_S4 – otwarcie zastawki S4

pom – zezwolenie na inkrementacje licznika (zmienna pomocnicza – „była kulka”).

 

 

Polaczenie Bolków RS i TON ze sprzężeniem zwrotnym jest odpowiednikiem generatora impulsu po czasie.

 

Parametryzacja bloków według poniższej tabelki:

 

Po poprawnym połączeniu poszczególnych bloków ze sobą i ich parametryzacji, projekt sprawdzamy Check . W przypadku braku błędów, zapisujemy.

Następnie przechodzimy do Hardware Structure w celu przypisania wejściom i wyjściom w programie ich fizycznych odpowiedników. Dla modułów we/wy cyfrowych dodajemy zmienne klikając na ich symbole prawym przyciskiem myszy i klikając na opcję I/O editor. Dalej dla danego kanału przypisujemy utworzoną w programie zmienną (z pomocą klawisza F2 dla zaznaczonego pola w kolumnie Variable).

 

Po odpowiednim przypisaniu zmiennych do wejść/wyjść fizycznych wykonujemy następujące czynności:

Zapisujemy projekt. Następnie sprawdzamy klikając na najwyższy poziom drzewa i uruchamiając procedurę Check. Jeśli wszystko jest poprawne uruchamiamy Comissioning w celu dokonania analizy projektu. Jeśli ta procedura przebiegnie poprawnie klikamy na poziom drzewa w którym znajduje się stacja procesowa rozwijamy menu i wybieramy LoadàWhole station.

Jeśli ładowanie przebiegnie prawidłowo przy gałęzi  ps1 pojawi się napis  Running.

Wtedy możemy ponownie otworzyć schemat programu i sprawdzać jak zmiana wartości różnych zmiennych wejściowych ( zmienianych ręcznie fizycznymi przełącznikami) wpływa na zmienne wyjściowe.

 

III. Tworzenie wizualizacji.

Aby stworzyć wizualizację należy do drzewa projektu dodać stację operatorską. Dokonujemy tego z tego samego poziomu jak przy dodawaniu stacji procesowej z tym że dodajemy inny obiekt.

Wybieramy Insert Below dla stacji procesowej  ps1Pojawi się okno:

Wybieramy: Opreator Station D-OS . Podajemy nazwę  dom. Zatwierdzamy – OK.

Dodana zostanie nowa gałąź do drzewa projektu. Dla nowej gałęzi dom klikamy Insert Next Level.

Będzie to wizualizacja o nazwie sort.

Po tych operacjach drzewo projektu wygląda następująco:

 

 

Następnie należy naszą nowopowstałą strukturę uwzględnić w oknie Hardware Structure. W tym celu klikamy dwukrotnie na kolejną pozycję ( nad ETHERNET) po stacji procesowej i wybieramy interesujące nas opcje.

Struktura wygląda wtedy następująco:

Zapisujemy dokonane operacje. Przechodzimy do edycji obrazu .

Klikając dwa razy na    sort [FGR]  w drzewie projektu , pojawi się okno w którym możemy tworzyć naszą wizualizację.

Możemy korzystać z narzędzi przedstawionych w oknie poniżej.

 

 

 

Wizualizacja stworzona przez nas :

Przycisk widoczny po jej lewej stronie jest odpowiedzialny za włączenie układu sortowania (włączony/wyłączony).

Zastawki S1,S2 sa otwarte na stałe,

S3 przełacznay na zmianę R=R_S3, S=S_S3 (priorytet R),

S4 otwieramy na chwilę R=R_S4, S=1 (normalnie zamknięte).

Zapadki S3 i S4 zmieniają swoje pozycje w zależności od wartości parametrów S3 i S4 w programie

 

Aby zasymulować taki ruch należy wybrać opcje Animate/Graphic symbol a następnie w oknie  Movement of GS zaznaczyć opcje Discrete.

 

 

 

Później należy sparametryzować dany obiekt (zaznaczyć obiekt który ma się poruszać, przypisać zmienna do niego, ustawić kolory w zależności od wartości zmiennej) oraz ustawić pozycje w jakich ma się znajdować obiekt w zależności od wartości zmiennej.

Aby zasymulować ruch ciągły należy postępować analogicznie wybieracajc w Movement of GS zaznaczyć opcje Continuous oraz należy wyprowadzić zmienna typu Real która będzie odpowiedzialna za płynna zmianę położenia w celu symulacji ruchu w zależności od wartości tej zmiennej.

 

...

Zgłoś jeśli naruszono regulamin