wykład-2 - Stefan Brock
Transkrypt
wykład-2 - Stefan Brock
Adresowanie obiektów • Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci • Bajt - 8 bitów - wartość od -128 do +127 • Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście analogowe, stan licznika lub timera, słowo w pamięci • Podwójne słowo - 32 bity - wartość +- 2 mld • Wartości zmiennoprzecinkowe - wyniki obliczeń na liczbach rzeczywistych 1 Adresowanie bajtów i słów I3.4 Numer bitu w bajcie (liczony od prawej do lewej) - cyfra od 0 do 7 Kolejny numer bajtu w danym obszarze adresowym Identyfikator obszaru. NajwaŜniejsze z nich to: I - obszar wejść dyskretnych Q - obszar wyjść dyskretnych M, V - obszar pamięci wewnętrznej 2 SM - obszar rejestrów specjalnych (konfiguracyjnych) Adresowanie bajtów i słów Początkowy adres obiektu V B 100 Adresowanie bitów Identyfikator długości obiektu: B - bajt (8 bitów) W - słowo ( 2 bajty) D - podwójne słowo ( 4 bajty) Identyfikator obszaru: V, M - pamięć wewnętrzna I, Q - wejścia i wyjścia dyskretne AI, AQ - wejścia i wyjścia analogowe SM - obszar rejestrów specjalnych 3 Adresowanie timerów i liczników 4 Adresowanie timerów • Z kaŜdym timerem i licznikiem skojarzone są dwie zmienne wewnętrzne: – wskaźnik stanu (zmienna typu bitowego) - czy nastąpiło zliczenie zadanej wartości – stan wewnętrzny (zmienna typu słowo) - jaka jest aktualna wartość zliczona • Obie zmienne mają taki sam identyfikator. To, która zostanie uŜyta zaleŜy od kontekstu wywołania 5 dr inŜ. Stefan Brock 2008/2009 6 1 Cykl pracy sterownika Adresowanie liczników Odczyt wejść Zapis wyjść Autodiagnostyka 7 Cykl pracy sterownika 0.5 - 50 ms Wykonanie programu Zadania komunikacyjne 8 Zjawisko hazardu w układach cyfrowych Wejścia fizyczne Hazard - na skutek nieidealności urządzeń technicznych. Przykład - Ŝarówka nie powinna zgasnąć, na wyjściu bramki powinno być zawsze 1 Obraz wejść Program uŜytkownika Obraz wyjść Wyjścia fizyczne 9 Synchroniczny cykl pracy eliminuje hazard Szybkość powtarzania cyklu • Praca cykliczna - kolejne szybkie tak szybko, jak to moŜliwe • Praca izochroniczna - w równych, określonych przez programistę odstępach 11 dr inŜ. Stefan Brock 2008/2009 10 12 2 Instrukcje sterujące działaniem programu Odczyt wejść i zapis wyjść • Odczyt wejść binarnych - do mapy pamięci • Zapis wyjść binarnych - z mapy pamięci • Wyjątki: – wejścia/wyjścia analogowe – wejścia/wyjścia natychmiastowe (ryzyko hazardu) • Instrukcje sterujące pracą sterownika • Instrukcja skoku - omijanie fragmentów programu • Instrukcja procedury - wielokrotne uŜycie fragmentów programu • Instrukcja pętli FOR • Instrukcje przerwań - bezzwłoczna reakcja na zdarzenia 13 Instrukcje sterujące praca sterownika - watchdog • Watchdog - licznik sprzętowy zabezpieczający poprawną pracę sterownika • Gdy cykl pracy nie zakończy się w zadanym czasie (300 ms dla S7-200) - następuje restart systemu • Programista ma moŜliwość przedłuŜenia okresu wyznaczonego przez watchdog 14 Instrukcje sterujące praca sterownika - End • Cewka (End) kończy analizę bieŜącego cyklu sterownika • Powinna być zapisana na końcu programu postać bezwarunkowa • MoŜna uŜywać w programie wcześniej, dla zaniechania dalszych obliczeń - postać warunkowa Gdy jest załączone wejście I0.0 Programowy reset watchdoga to zakończ bieŜący cykl 15 Instrukcje sterujące praca sterownika - Stop • Zakończenie wykonywania pogramu i przejście w tryb Stop • Wyjścia przechodzą w stan domyślny • Wymagana interwencja operatora ponowne uruchomienie programu dr inŜ. Stefan Brock 2008/2009 Instrukcja skoku • UmoŜliwia ominięcie fragmentu programu • MoŜliwy tylko skok „do przodu” - nie tworzy pętli Gdy wskaźnik awarii modułu wejścia/wyjścia To przerwij pracę sterownika 16 Identyfikator 0..255 Instrukcja: skok do miejsca oznaczonego etykietą nr n Etykieta nr n 17 18 3 Instrukcja procedury Instrukcja skoku - przykład Gdy nastąpiło utracenie danych zapisanych w pamięci w trakcie wyłączenia zasilania (sygnalizowane specjalnym bitem SM0.2) Skok do etykiet nr 4 • Gdy pewien fragment programu wykonywany jest wielokrotnie -moŜna go zapisać w postaci odpowiednio wywoływanej procedury - krótszy program • Gdy pewien fragment programu wykonywany jest incydentalnie - moŜna go zapisać w postaci jednorazowo wywoływanej procedury program bardziej przejrzysty Etykieta nr 4 19 Instrukcje pętli iteracyjnej FOR Instrukcja procedury - przykład Program główny 20 Gdy jest to pierwszy cykl pracy po restarcie systemu (co jest sygnalizowane bitem SM0.1) blok organizacji pętli Wywołanie procedury nr 10 Początek treści programu procedury gdy ustawiony bit M14.3 to powrót do programu głównego 21 22 Źródła zdarzeń przerwań w S7-214 Instrukcje przerwań • Przerwanie - sposób obsługi zdarzeń zewnętrznych, w dowolnym momencie cyklu pracy sterownika • Procedura obsługi przerwania powinna być krótka, aby nie zakłócać normalnejpracy sterownika • Po obsłuŜeniu przerwania następuje powrót do normalnej pracy 23 dr inŜ. Stefan Brock 2008/2009 wskaźnik końca pętli • Zmiana stanu wybranych wejść dyskretnych - I0.0 ... I0.3 • Łącze szeregowe - odebranie nowego znaku lub zakończenie wysyłania • Wewnętrzne sygnały upływu czasu programowane od 5 do 255 ms • Zliczenie zadanej liczby przez szybkie liczniki 24 4 Instrukcje obsługi przerwań Obsługa przerwań Powrót z przerwania Zgoda na wykonanie • Obsługa wszystkich przerwań moŜe być globalnie blokowana (stan domyślny) lub wznawiana • KaŜde ze zdarzeń moŜe być indywidualnie blokowane • KaŜde ze zdarzeń moŜe być dynamicznie przypisywane do odpowiednich procedur obsługi Skojarz zdarzenie z procedurą obsługi przerwania Zerwij skojarzenie: moŜna do tej samego zdarzenia dołaczyć inną procedurę, a do zwolnionej procedury dołączyć inne zdarzenie Numer procedury 25 Numer zdarzenia (wg dokumentacji) 26 Przerwania - przykład W pierwszym cyklu (SM0.1) skojarz zdarzenie nr 0 (narastające zbocze na wejściu I0.0) z procedurą nr 4 Globalna zgoda na przerwania Instrukcja przypisania Zgoda na wykonanie operacji Wskaźnik błędu wykonania (ENO=0) Gdy wykryty błąd układów wejścia/wyjścia (SM5.0) - zakończ obsługę zdarzenia nr 0 Gdy ustawione M5.0 zablokuj wszystkie przerwania Przepisuje wartość IN do zmiennej OUT Warunkowy powrót w razie SM5.0 Właściwa instrukcja dla właściwego typu danych 27 Instrukcje arytmetyczne - komparatory 28 Komparatory - przykład uŜycia • Komparatory porównują dwie wielkości • ZaleŜnie od wyniku porównania wyjście jest równe wartości logicznej Prawda lub Fałsz • Komparatory wymagają odpowiedniego typu argumentów 29 dr inŜ. Stefan Brock 2008/2009 30 5 Instrukcje matematyczne - zasady zapisu Wskaźnik błędu wykonania (ENO=0) Zgoda na wykonanie operacji Składniki operacji matematycznej. Typ W (słowo), na przykład VW, C, T, AIW, IW, QW, stała Instrukcje matematyczne - liczby całkowite Wynik operacji matematycznej. Typ W, na przykład VW, C, T, AQW, QW 31 Instrukcje matematyczne - przykład 32 Instrukcje matematyczne - liczby rzeczywiste Typy wartości wejściowych i wyjściowych: D (podwójne słowo), interpretowane jako liczba rzeczywista 33 34 Liczby rzeczywiste - przykład 35 dr inŜ. Stefan Brock 2008/2009 6