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 ps1. Pojawi 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.
...
lukaszzychzych