Elektronika i techniki mikroprocesorowe
Transkrypt
Elektronika i techniki mikroprocesorowe
Elektronika i techniki mikroprocesorowe Wprowadzenie do sterowników mikroprocesorowych © LABORATORIUM STEROWANIA PROGRAMOWALNEGO, Gliwice 2002-2004 Politechnika Śląska, Wydział Elektryczny Sterowniki SIMATIC S7-200 1. STEROWNIKI SIMATIC S7-200 Firma Siemens produkuje kilka odmian sterowników PLC rodziny SIMATIC S7-200. Sterowniki te są określane mianem mikro-PLC, a to ze względu na swoje niewielkie wymiary. Jednostka centralna sterownika S7-200 zbudowana jest w postaci bloku, ze zintegrowanymi wejściami / wyjściami obiektowymi. S7-200 można używać w mniejszych, samodzielnych aplikacjach tj. np.: podnośniki, myjnie samochodowe, mieszarki czy szlabany, ale może być również stosowany w bardziej kompleksowych rozwiązaniach typu. Sterownik S7-200 dostępny jest w pięciu wersjach: S7-210, S7-212, S7-214, S7-215, S7-216. Różnią się one między sobą ilością wejść i wyjść, pojemnością pamięci, różną ilością dostępnych elementów i rozkazów. Porównanie przykładowych własności sterowników: Pojemność pamięci [k bajty] Ilość wejść/wyjść xI / xQ Ilość modułów rozszerzających Ilość liczników czasu i zdarzeń Zegar czasu rzeczywistego CPU 212 CPU 214 CPU 215 1,024 4 8 8I / 6Q CPU216 8 14I / 10Q 14I / 10Q 24I / 16Q 2 7 7 7 64 128 256 256 Nie Tak Tak Tak W Laboratorium Sterowania Programowalnego zastosowano sterowniki w wersji S7-212. Budowa i zasada działania sterownika programowalnego SIMATIC S7-212. Sterownik programowalny SIMATIC S7-212 (Rys.1.1) wyposażony jest w: - 8 wejść cyfrowych monitorujących dwustanowe urządzenia np. przełączniki, - 6 wyjść cyfrowych sterujących urządzeniami np. silnikami, - 9-stykowe złącze przeznaczone do podłączenia urządzenia programującego, - przełącznik trybu pracy Przełącznik ten ma do dyspozycji trzy położenia: RUN, STOP i TERM. Kiedy przełącznik znajduje się w prawym położeniu (RUN), to jednostka centralna (CPU) znajduje się w trybie pracy i wykonuje program. Natomiast kiedy przełącznik trybu znajduje się w lewym położeniu (STOP), to działanie CPU jest wstrzymane. Kiedy przełącznik ten znajduje się w środkowym położeniu(TERM), to tryb pracy można wybrać zdalnie z przyłączonego programatora. 1 Sterowniki SIMATIC S7-200 Rys. 1.1. Sterownik programowalny SIMATIC S7-212 Sterownik wyposażony jest dodatkowo we wskaźniki stanu CPU odzwierciedlające bieżący tryb pracy (Rys.1.2). Jeśli urządzenie znajduje się w trybie pracy (RUN), to zapalony jest zielony wskaźnik RUN. Kiedy zaś sterownik jest wyłączony, świeci żółty wskaźnik STOP. Jeżeli zapalony zostanie czerwony wskaźnik SF oznacza to, że w czasie pracy wystąpił błąd systemowy. Poza tym sterownik posiada też wskaźnik stanów wejść i wyjść, które zobrazowują stan załączenia – logiczna jedynka (przez zapalenie zielonej diody) lub wyłączenia odpowiednich wejść i wyjść. Rys.1.2.Wskaźniki stanu pracy sterownika Podłączenie zasilania. Sterownik może być (zależnie od typu CPU) podłączony poprzez zewnętrzny zasilacz do napięcia 24 VDC, jak również zasilany z sieci 120 lub 230 VAC. Zaciski do podłączenia zasilania umieszczone są po prawej stronie górnej listwy zaciskowej. Sterowniki w Laboratorium są zasilane napięciem 24 VDC. Sterowniki PLC zbudowane są z modułów wejściowych, jednostki centralnej (CPU) oraz modułów wyjściowych (Rys.1.3). 2 Sterowniki SIMATIC S7-200 Rys.1.3. Budowa sterownika programowalnego Wejścia i wyjścia PLC akceptują różne sygnały: • wejścia (I)i wyjścia(Q) cyfrowe rozróżniają stan logicznej jedynki i logicznego zera, • wejścia analogowe(AIW) sygnały ciągłe o parametrach: dla prądu 0..20 mA, dla napięcia 0..10V, • wyjścia analogowe (AQW) sygnały ciągłe napięciowe o parametrach: 0..10V. W przypadku sterownika S7-212 sygnały analogowe podłącza się poprzez analogowe moduły rozszerzające. Jednostka centralna sterownika programowalnego (CPU) to system mikroprocesorowy, który zawiera pamięć systemową oraz podejmuje decyzje określające działanie sterownika. CPU monitoruje wejścia i podejmuje decyzje w oparciu o instrukcje zapisane w pamięci programu. CPU odpowiada za realizację wszystkich procesów sterowania: przełączania, zliczania, synchronizację i porównanie danych oraz operacje sekwencyjne. W sterowniku SIMATIC S7-200 wyróżnić można dwa rodzaje pamięci: • RAM, w której dokonywane są bieżące obliczenia, a której zawartość jest kasowana po odłączeniu zasilania. W zależności od zastosowanego modułu CPU istnieje możliwość podtrzymania jej zawartości do kilku dni; może też być opcjonalnie zastosowane podtrzymanie bateryjne, • EEPROM, która służy do stałego przechowywania programu, wybranych danych oraz danych konfiguracyjnych. Pamięć S7-212 podzielona jest na trzy obszary: pamięć programu, pamięć danych oraz pamięć znaczników (Rys.1.4): • pamięć programu przechowuje program zapisany w postaci schematów drabinkowych (LAD) lub listy instrukcji (STL); ten obszar pamięci steruje sposobem wykorzystywania danych i stanów wejść/wyjść, • pamięć danych wykorzystywana jest jako obszar roboczy oraz zawiera obszary dla obliczeń, chwilowego przechowywania wyników pośrednich i stałych; pamięć danych zawiera obszary dla obsługi liczników czasu, liczników zdarzeń oraz wejść i wyjść analogowych, a dostęp do przestrzeni danych jest możliwy z poziomu programu sterującego. • pamięć znaczników przechowuje stany pośrednie obwodów sterowniczych i dzieli się ona na pamięć V i M. 3 Sterowniki SIMATIC S7-200 Rys.1.4 Podział pamięci RAM i EEPROM. Pamięć EEPROM zawiera ponadto oprogramowanie systemowe, które jest oprogramowaniem użytkowym dostarczanym wraz ze sprzętem. Nadaje ono sterownikowi jego podstawową funkcjonalność. Zawiera m.in. informacje dotyczące specjalnych bitów pamięci (SMBSpecial Memory Bits), których funkcje są z góry określone. SMB służą np. do inicjalizowania trybu pracy swobodnego portu lub związane są z obsługą przerwań. Część z nich nie posiada konkretnie określonego zadania ale np. związana jest ściśle z tzw. cyklem skanowania. Do takiej grupy należą bity SM0.x. SM Bity SM0.0 SM0.1 SM0.2 SM0.3 SM0.4 SM0.5 SM0.6 SM0.7 Opis Ten bit jest zawsze włączony. Bit ten jest włączony jedynie w czasie pierwszego skanowania. Może służyć do wywoływania podprogramu inicjalizującego. Bit ten jest włączony na przeciąg jednego skanowania gdyby zapamiętane dane zostały utracone. Bit ten jest włączony na przeciąg jednego skanowania gdy tryb RUN został zainicjowany w po włączeniu zasilania. Bit ten jest załączany i wyłączany co 30 sekund. Bit ten jest załączany i wyłączany co 0.5 sekundy. Bit ten jest przełączany co jeden cykl skanowania. Bit ten określa położenie przełącznika trybu pracy (wyłączony w położeniu TERM, włączony w położeniu RUN) Ładowanie programu do pamięci. Program wgrywany z programatora do sterownika składa się z trzech części: • Program Code Block zawiera program, który będzie wykonywany przez sterownik, • Data Block zawiera początkowe wartości, które będą użyte w programie, • CPU Configuration zawiera informacje dotyczące m.in. szybkości transmisji danych, założonego hasła, W momencie przegrywania elementy te są ładowane do pamięci RAM, a następnie automatycznie kopiowane do stałej pamięci EEPROM. Automatycznie kopiowane są również dane z pamięci V i M w momencie zaniku zasilania (Rys.1.5). 4 Sterowniki SIMATIC S7-200 Rys.1.5 Ładowanie programu do pamięci sterownika. Pętla programowa. Program zawarty w pamięci sterownika wykonywany jest w pętli jako cyklicznie powtarzający się, a proces jego realizacji proces nazywany skanowaniem (Rys.1.6). Rys.1.6. Pętla programowa Skanowanie sterownika rozpoczyna się w momencie odczytania przez CPU stanów wejść. Następnie wykonywany jest program użytkownika, który korzysta ze stanów odczytanych wejść. Po zakończeniu programu CPU wykonuje zadania komunikacyjne. Polegają one na przetworzeniu poleceń otrzymanych z portu komunikacyjnego (programującego). W następnej kolejności CPU wykonuje wewnętrzną diagnostykę. Obieg pętli programowej kończy się uaktualnieniem stanów wyjść, a następnie cykl rozpoczyna się od początku. 5 Sterowniki SIMATIC S7-200 Czas cyklu zależy od rozmiarów programu, liczby wejść/wyjść oraz liczby niezbędnych procesów komunikacji. W rzeczywistych aplikacjach mogą wystąpić zdarzenia wymagające natychmiastowej reakcji sterownika bez względu na długość pętli programowej. W takich aplikacjach mogą być wykorzystane następujące instrukcje obsługiwane przez sterownik: • dwa zdarzenia przerwań obiektowych (wejść/wyjść), • jedno przerwanie czasowe, • dwa przerwania z portu komunikacji szeregowej (odbiór i transmisja) • jedno przerwanie szybkiego licznika Są to instrukcje wykonywane w dowolnym momencie cyklu skanowania. Tryb swobodnego portu (freeport). Port programatora w sterowniku S7-212 posiada możliwość transmisji w trybie nazywanym trybem swobodnego portu. Tryb swobodnego portu umożliwia podłączenie się do rozmaitych inteligentnych urządzeń, takich jak np. czytnik kodu paskowego. Zwiększa to możliwości zastosowania sterownika. Sprzęt potrzebny do stworzenia programu. Do stworzenia programu poza opisanym powyżej sterownikiem konieczne jest posiadanie następującego wyposażenia: • urządzenie programujące • oprogramowanie narzędziowe • kabel połączeniowy Oprogramowanie. Oprogramowanie narzędziowe służy do realizacji programowego opisu zasady działania programowanego urządzenia. Oprogramowanie dla sterownika S7-212 nosi nazwę STEP7Micro. Jest ono dostępne w wersji dla systemu operacyjnego DOS oraz dla systemu operacyjnego Windows (STEP7-Micro/WIN). Wersja ta opisana jest w następnym rozdziale. Programator. Jako programator sterowników SIMATIC S7-212 wykorzystywany jest komputer osobisty (PC) z zainstalowanym oprogramowaniem STEP7-Micro/WIN. Program może być również tworzony lub modyfikowany za pomocą ręcznego programatora PG702 lub programatorów uniwersalnych typu PG720 lub PG740. Kabel połączeniowy. Kable połączeniowe wymagane są do transmisji danych z programatora do PLC. Komunikacja może mieć miejsce tylko wtedy gdy dwa urządzenia używają tego samego protokołu przesyłu informacji. Komunikacja pomiędzy programatorem a sterownikiem firmy S7-212 nazywana jest protokołem PPI (punkt-do-punktu). Kiedy jako programator używany jest komputer osobisty konieczny jest specjalny kabel PC/PPI. Kabel ten umożliwia komunikację pomiędzy szeregowym interfejsem sterownika a szeregowym interfejsem RS-232 komputera osobistego. Przełączniki DIP na kablu PC/PPI są używane do wybrania odpowiedniej szybkości (prędkości transmisji) z jaką są przekazywane informacje pomiędzy sterownikiem a komputerem. 6 Sterowniki SIMATIC S7-200 2. OPIS OPROGRAMOWANIA STEP 7-MICRO/WIN. Oprogramowanie narzędziowe STEP 7-Micro/WIN, pracującego w środowisku operacyjnym Windows, służy do tworzenia programów roboczych dla sterowników programowalnych SIMATIC S7-200. Daje ono użytkownikowi możliwość wyboru jednej z dwóch metod programowania: • za pomocą schematów drabinkowych działającej w trybie graficznym i wykorzystującej symbole, które reprezentują instrukcje (LAD) • za pomocą listy rozkazów (STL). W czasie tworzenia programu w STEP-7 można dokonywać przełączeń między schematami drabinkowymi i listą rozkazów. Nie wszystkie połączenia i kombinacje możliwe do zapisania w STL są możliwe do przekonwertowania na postać drabinkową. 2.1. Tworzenie projektu. Ustawienia programu. Wyboru metody programowania można dokonać przed stworzeniem nowego projektu według następujących kroków: 1. Z menu wybieramy komendę SETUP a następnie Preferences... jak pokazuje rysunek 2.1. 2. W oknie, które pojawiło się na ekranie monitora wybieramy domyślny edytor programu (STL) lub (LAD). Poza tym, można również dokonać wyboru języka programu czy początkowych ustawień okien, które zostały opisane w dalszej części opracowania. 3. Potwierdzamy wybrane ustawienia naciskając ENTER lub klikając na klawisz OK. Rys.2.1. Ustawienia programu Tworzenie nowego projektu. 7 Sterowniki SIMATIC S7-200 Przed rozpoczęciem pisania programu trzeba stworzyć nowy lub otworzyć napisany wcześniej program. Założenia nowego projektu dokonuje się tego poprzez wybranie z menu Project polecenia New. Spowoduje to wyświetlenie okna CPU Type, w którym dokonuje się wyboru zastosowanego sterownika (Rys.2.2). W zależności od dokonanego wyboru w programie wyświetlane są właściwe dla sterownika polecenia. Jeżeli nie jest znany typ zastosowanego sterownika, można dokonać jego identyfikacji klikając przycisk Read CPU Type, dzięki czemu zostanie on wybrany automatycznie. By móc skorzystać z tego udogodnienia musimy mieć jednak połączony komputer z programowanym urządzeniem. Jeżeli nie mamy spełnionego tego warunku i nie znamy typu CPU, możemy jeszcze wybrać z listy pozycję None. Spowoduje ona wyświetlenie w programie wszystkich dostępnych poleceń. Nie jest to jednak dobre rozwiązanie, ponieważ gdy zastosujemy rozkaz, który nie można użyć w posiadanym przez nas urządzeniu to napisany program zostanie odrzucony w momencie wgrywania go do CPU. Rys.2.2. Wybór typu CPU Otwieranie i zapisywanie projektów. W celu otwarcia zapisanego wcześniej projektu wybieramy z menu komendę Project następnie Open, lub klikamy na ikonę . Następnie dokonuje się wyboru istniejącego pliku o rozszerzeniu .prj i zatwierdza klawiszem OK. W celu zapisania projektu wybieramy komendę Project, a następnie Save All, lub klikamy ikonę . Można również zrobić kopię tego pliku zapisując go pod inną nazwa przy pomocy komend Project-Save As. Programowanie za pomocą listy rozkazów. 8 Sterowniki SIMATIC S7-200 W celu włączenia kreatora listy rozkazów wybrać należy z menu polecenia View-STL lub kliknąć na ikonę . Spowoduje to wyświetlenia okna jak na rys.2.3. Rys.2.3. Programowanie za pomocą listy rozkazów Programowanie za pomocą tego narzędzia odbywa się w następujący sposób. • Program składa się z trzech kolumn oddzielonych tabulatorem. • Pierwsza kolumna zawiera rozkaz, który ma program wykonać. • Druga kolumna zawiera adresy na których ma być wykonany rozkaz. Nie używa się spacji między literą a cyfrą adresu. W przypadku konieczności podania większej ilości adresów oddziela się je przecinkiem. • Trzecia kolumna zawiera komentarz. Musi być on poprzedzony znakiem //. Programowanie za pomocą schematu drabinkowego. W celu włączenia kreatora schematu drabinkowego wybrać należy z menu polecenia ViewLadder bądź kliknąc na ikonę . Spowoduje to wyświetlenie okna jak na rys.2.4. Programowanie za pomocą tego narzędzia odbywa się w następujący sposób. • Ramka widoczna na rysunku jest czymś w rodzaju kursora. W jej miejsce wstawiany jest wybrany element. • Wyboru elementów (instrukcji) dokonuje się (poprzez kliknięcie na niego) w sposób równorzędny z bocznego lub górnego menu. Najpierw dokonuje się wyboru rodziny instrukcji, a następnie danego elementu. • Po wstawieniu wybranej instrukcji należy przyporządkować jej adres bądź adresy do których ma się odnosić oraz jej numer jak np. w wypadku liczników. 9 Sterowniki SIMATIC S7-200 Rys.2.4. Programowanie za pomocą schematu drabinkowego • • Wpisanie adresów lub nazwy dokonuje się w następujący sposób. Dwukrotne kliknięcie na zmieniane miejsce spowoduje pojawienie się ramki, w której będzie widniał podświetlony adres. W miejsce to należy wpisać właściwe oznaczenia. Obok napisu NETWORK jest miejsce na wstawienie komentarza. Dwukrotne kliknięcie na nie powoduje wyświetlenie okna, w którym możemy go wpisać. Będzie on widoczny w czasie korzystania z programu, co w znacznym stopniu usprawnia pracę. Tworzenie tablicy symboli. Bardzo pomocna jest możliwość przypisania wejściom, wyjściom oraz innym składowym programu nazw symbolizujących ich zadanie, przeznaczenie. Przy bardziej rozbudowanych programach wpływa to na przejrzystość projektu i ułatwia ich modyfikacje nawet po długim okresie czasu. W celu zdefiniowania nazw wybieramy z menu polecenie View-Symbol Table lub klikamy na ikonę . Spowoduje to wyświetlenie tabeli widocznej na rysunku 2.5. W pierwszej kolumnie wpisujemy nazwę, która będzie odpowiadała konkretnemu adresowi. W drugiej kolumnie wpisujemy dany adres, natomiast w trzeciej możemy wpisać komentarz. 10 Sterowniki SIMATIC S7-200 Rys.2.5. Tworzenie tablicy symboli Po wypełnieniu tej tabeli należy jeszcze w menu View przy poleceniu Symbolic Addressing poprzez kliknięcie na niego postawić znacznik tak jak pokazano na rysunku 2.5. Spowoduje to uaktywnienie funkcji przyporządkowującej poszczególnym adresom ich nazw symbolicznych. Będą one widoczne na schemacie drabinkowym. Wprowadzanie wartości początkowych. Do definiowania wartości początkowych używanych w programie służy polecenie . Po załadowaniu wywoływane z menu View-Data Block lub przez kliknięcie na ikonę programu do sterownika wyszczególnionym danym zostaną przypisane podane przez programistę wartości. Okno Data Block Editor pojawia się domyślnie jako zminimalizowane na dole ekranu (w zależności od ustawień w Setup-Preferences ). Przy pomocy Data Block (Rys.2.6) możemy definiować wyłącznie zmienne zapisywane w pamięci V. Tworząc opcję Data Block postępować należy według poniższych wskazówek: • pierwszej kolumny każdej linii używamy do specyfikacji wielkości danych (VB, VW, VD) i ich początkowego adresu, • druga kolumna służy do określenia wartości danych, które definiujemy; mogą one być przedstawione np. w postaci dziesiętnej (np.10, -20) lub heksadecymalnej (np.16#AB), • należy oddzielić początkowy adres od wartości danej za pomocą spacji lub tabulatora, • trzecia kolumna poprzedzona znakiem // zawiera komentarz. 11 Sterowniki SIMATIC S7-200 Rys.2.6. Wprowadzanie wartości początkowych Lista adresów (Cross Reference). Użycie polecenia Cross Reference powoduje wygenerowanie listy użytych w programie adresów. Uruchamiane ono jest z menu View-Cross Reference. Funkcja ta dostarcza informacji na temat tego, w którym miejscu w projekcie użyte zostały poszczególne wejścia, wyjścia, komórki pamięci i za pomocą jakiej instrukcji zostały zdefiniowane. Przed wygenerowaniem wyżej opisanej tabeli następuje kompilacja programu. Podwójne kliknięcie na wybraną instrukcję powoduje automatyczne znalezienie jej w programie. Rys.2.7. Lista adresów 12 Sterowniki SIMATIC S7-200 Tabela zdefiniowanych komórek pamięci. Opcje tą uruchamia się z menu wybierając polecenia View-Element Usage. Rys.2.8. Tabela zdefiniowanych komórek pamięci Powoduje ona wyświetlenie tabeli (Rys2.8), która pokazuje użyte w programie adresy oraz ile komórek pamięci one zajmują. Przy nieużytych do tej pory adresach wyświetlana jest pusta kratka. W zależności od tego jakich informacji potrzebujemy uzyskać można dwa rodzaje tabel: • Bit Format pokazująca użyte wejścia I, wyjścia Q, oraz komórki pamięci M, S (Rys.2.9), • Byte Format pokazująca użyte liczniki T, zegary C, komórki pamięci V, MB, SMB, HSC, AIW, AQW (Rys.2.10). Rys.2.9. Bit Format Rys.2.10. Byte Format 13 Sterowniki SIMATIC S7-200 Użyte na rysunkach elementy są oznaczane znakiem X, a poszczególne adresy w zależności od ich rozmiaru literami np. podwójne słowo ma wymiar czterech bajtów co zaznaczone jest czterema kolejnymi literami D. Usuwanie elementów programu. W celu usunięcia jednego elementu zaznaczonego przez ramkę (kursor) wybrać należy z menu polecenia Edit-Cut lub kliknąć na ikonę . Można również usunąć jeden lub więcej całych obwodów. W tym celu należy wybrać z menu polecenia Edit-Cut Network. W wyniku tego wyświetlone zostanie okno (rys.2.11). Rys.2.11. Usuwanie obwodów Rys.2.12. Usuwanie elementów programu W oknie tym podać należy numer obwodu, który chcemy usunąć (przy słowach Starting Network). Jeżeli w kratce poniżej (przy słowach Number of Networks) wstawiona zostanie jedynka, wycięty będzie tylko obwód określony wcześniej, natomiast gdy podana liczba będzie większa usuniętych zostanie tyleż kolejnych obwodów. Usunąć można również kolumnę lub linię poziomą w danym obwodzie wybierając polecenia Edit-Delete.... (rys.2.12). Usunięta zostaje kolumna lub linia wskazana przez ramkę. Kopiowanie elementów programu. W celu skopiowania jednego elementu zaznaczonego przez ramkę (kursor) wybrać należy z menu polecenia Edit-Copy lub kliknąć na ikonę . Można również skopiować jeden lub więcej całych obwodów. W tym celu należy wybrać z menu polecenia Edit-Copy Network. W wyniku tego wyświetlone zostanie okno analogiczne jak w przypadku usuwania, w którym również należy podać numer początkowego obwodu oraz ich liczbę. Wstawianie elementów programu. W celu wstawienia skopiowanego wcześniej elementu programu należy ustawić ramkę w miejscu, w którym ma on być umieszczony, a następnie wybrać z menu polecenia Edit-Paste lub kliknąć na ikonę . Można również wstawić skopiowane wcześniej obwody. W tym celu należy wybrać z menu polecenia Edit-Paste Network. W wyniku tego wyświetlone zostanie okno podobne do omówionych poprzednio, w którym należy podać jedynie numer początkowego obwodu. W sposób identyczny można wstawić linię lub kolumnę wybierając z menu polecenia EditInsert.... 14 Sterowniki SIMATIC S7-200 Polecenie znajdź. Do znalezienia określonego parametru, tekstu czy instrukcji w programie służy polecenie Find znajdujące się w menu Edit. Uruchomienie go powoduje wyświetlenie poniższego okna. Rys.2.13. Polecenie znajdź Korzystając z tego polecenia należy wybrać jedną z opcji oznaczonych kółeczkiem, wpisać poszukiwany element oraz wybrać kierunek szukania (direction). Przeszukiwanie rozpoczyna się przez naciśnięcie klawisza Find Next. Polecenie zastąp. Określony przez programistę tekst lub symbol mogą zostać zastąpione innymi również przez niego zdefiniowanymi. Dokonuje się tego wybierając z menu polecenia Edit-Replace.... Uruchomienie go powoduje wyświetlenie poniższego okna. Rys.2.14. Polecenie zastąp Po uruchomieniu tej funkcji należy wybrać tekst lub symbol, który ma zostać zmieniony i czym ma być zastąpiony. Należy również dokonać wyboru czy zamiana ta ma zostać zrealizowana w całym programie czy tylko w określonych obwodach. 15 Sterowniki SIMATIC S7-200 2.2. Lista rozkazów. W rozdziale tym omówiono rozkazy stosowane w języku STEP-7 Micro/WIN do programowania sterowników programowalnych serii S7-200. Styki. Jest to styk normalnie otwarty tzn. że jest załączony, jeżeli wartość wskazanego bitu adresu jest równa logicznej 1. Instrukcja ta otrzymuje wartości na początku każdego cyklu skanowania. Jest to styk normalnie zamknięty tzn. że jest załączony, jeżeli wartość wskazanego bitu adresu jest równa logicznemu 0. Instrukcja ta otrzymuje wartości na początku każdego cyklu skanowania. Jest to styk normalnie otwarty natychmiastowy tzn. że jest załączony, jeżeli wartość bitu zadeklarowanego fizycznego wejścia jest równa 1. Instrukcja ta otrzymuje wartości niezależnie od cyklu skanowania. Jest to styk normalnie zamknięty natychmiastowy tzn. że jest wyłączony, jeżeli wartość bitu zadeklarowanego fizycznego wejścia jest równa 0. Instrukcja ta otrzymuje wartości niezależnie od cyklu skanowania. Jest to styk zmieniający stan sygnału dopływającego do niego. Jest to styk pozwalający na przepływ sygnału tylko jednego taktu skanowania. Uaktywniany jest on zmianą zasilającego z 0 na 1. Na jego wyjściu jest w tym czasie wartość 1. Jest to styk pozwalający na przepływ sygnału tylko jednego taktu skanowania. Uaktywniany jest on zmianą zasilającego z 1 na 0. Na jego wyjściu jest w tym czasie wartość 1. 16 w czasie sygnału w czasie sygnału Sterowniki SIMATIC S7-200 Instrukcje porównania. Jest to instrukcja porównania dwóch bajtów. Jeżeli są one sobie równe to na wyjściu tej instrukcji pojawia się wartość 1. Jest to instrukcja porównania dwóch bajtów. Jeżeli wartość znajdująca się u góry jest większa lub równa wartości dolnej (VB0>VB1) to na wyjściu tej instrukcji pojawia się wartość 1. Jest to instrukcja porównania dwóch wartości o wymiarze bajtu. Jeżeli wartość znajdująca się u góry jest mniejsza lub równa wartości dolnej (VB0<VB1) to na wyjściu tej instrukcji pojawia się wartość 1. , i Są to instrukcje porównania dwóch wartości o wymiarze słowa. Zasada ich działania jest taka sama jak instrukcji porównania bajtów. , i Są to instrukcje porównania dwóch wartości o wymiarze podwójnego słowa. Zasada ich działania jest taka sama jak instrukcji porównania bajtów. 17 Sterowniki SIMATIC S7-200 Instrukcje wyjść. Jest to instrukcja wyjścia. Jeśli na jej wejście podany jest sygnał to parametr nią określony jest wykonywany. Przy braku tego sygnału wyjście jest wyłączone. Jej parametrami mogą być: I,Q,M,SM,T,C,V,S Jest to instrukcja wyjścia natychmiastowa. Działa identycznie do instrukcji powyższej, jednak parametrami jej mogą być wyłącznie fizycznie istniejące wyjścia. Instrukcja ta w momencie podania na nią sygnału ustawia bit wyjściowy o wartości podanej przez jej „N”. Ustawienie te może być usunięte jedynie instrukcją kasowania. N może przybierać wartości od 0 do 255. Jej parametrami (S_BIT) mogą być: I,Q,M,SM,T,C,V,S. Jest to instrukcja ustawienia natychmiastowa. Działa identycznie do instrukcji powyższej, jednak jej parametrami (S_BIT) mogą być wyłącznie fizycznie istniejące wyjścia. Instrukcja ta w momencie podania na nią sygnału kasuje wcześniej ustawiony bit wyjściowy o wartości „N”. Jej parametrami (S_BIT) mogą być: I,Q,M,SM,T,C,V,S. Jest to instrukcja kasowania natychmiastowa. Działa identycznie do instrukcji powyższej, jednak jej parametrami (S_BIT) mogą być wyłącznie fizycznie istniejące wyjścia. Jest to tzw. Instrukcja pusta. Nie daje ona żadnego widocznego efektu. N przejmuje wartości w granicach od 0 do 255. 18 Sterowniki SIMATIC S7-200 Liczniki i regulatory czasowe. Jest to regulator czasowy bez podtrzymania. Jeżeli poprzez wejście IN zostanie on uaktywniony do pracy, zacznie zliczać czas od 0 do wartości max. zależnej od jego podstawy czasu. Nastawiona podstawa czasu zależy od numeru elementu. Numer elementu Podstawa czasu Max. zliczony czas T32 1 ms 32,767 s T33 – T36 10 ms 327,67 s T38 – T63 100ms 3276,7 s Kiedy zliczany czas osiągnie wartość podaną przy wejściu PT nastąpi załączenie bitu tego regulatora. Nie jest on bezpośrednio uwzględniony w wyświetlanym w programie bloczku. Wyłączenie sygnału uaktywniającego licznik powoduje jego wyzerowanie. Jest to regulator czasowy z podtrzymaniem. Jeżeli poprzez wejście IN zostanie on uaktywniony do pracy, zacznie zliczać czas od 0 do wartości max. zależnej od jego podstawy czasu. Nastawiona podstawa czasu zależy od numeru elementu. Numer elementu Podstawa czasu Max. zliczony czas T0 1 ms 32,767 s T1 – T4 10 ms 327,67 s T5 – T31 100ms 3276,7 s Kiedy zliczany czas osiągnie wartość podaną przy wejściu PT nastąpi załączenie bitu tego regulatora. Nie jest on bezpośrednio uwzględniony w wyświetlanym w programie bloczku. Wyłączenie sygnału uaktywniającego licznik w przeciwieństwie do TON nie powoduje jego wyzerowania. Dokonać można tego tylko poleceniem kasowania (Reset). 19 Sterowniki SIMATIC S7-200 Jest to licznik zliczający w górę. Reaguje on na narastające zbocze sygnału na wejściu CU. Kiedy zliczona wartość jest równa lub większa wielkości nastawionej na wejściu PV następuje załączenie bitu tego licznika. Skasowanie licznika dokonywane jest przez uaktywnienie wejścia R. Wtedy też kasowany jest bit licznika. Jest to licznik zliczający w górę i w dół. Reaguje on na narastające zbocze sygnału na wejściu CU ( zliczanie w górę) lub na wejściu CD (zliczanie w dół). Kiedy zliczona wartość jest równa lub większa wielkości nastawionej na wejściu PV następuje załączenie bitu tego licznika. Skasowanie licznika dokonywane jest przez uaktywnienie wejścia R. Jest to instrukcja przydzielająca tryb pracy szybkiego licznika. W przypadku S7-212 jest możliwy tylko tryb 0 wpisywany przy wyjściu MODE. Działa on wtedy jako licznik góra/dół z wewnętrzną kontrolą. Sterowanie, w którą stronę ma liczyć dokonywane jest za pomocą SM37.3. Jeżeli jest równe 1 zlicza w górę, jeżeli 0 w dół. Wejście I0.0 jest wejściem zegarowym. Jest to instrukcja szybkiego licznika działającego według wyżej opisanej zasady. 20 Sterowniki SIMATIC S7-200 Funkcje matematyczne. Jest to instrukcja dodawania dwóch wartości 16-bitowych podanych na wejścia IN1 i IN2. Jeśli na wejściu EN jest sygnał aktywny, to dodawanie następuje w czasie każdego cyklu skanowania sterownika. Rezultat dodawania jest również wartością 16-bitową. Jest to instrukcja dodawania dwóch wartości 32-bitowych podanych na wejścia IN1 i IN2. Rezultat dodawania jest również wartością 32-bitową. Jest to instrukcja odejmowania dwóch wartości 16-bitowych podanych na wejścia IN1 i IN2. Jeśli na wejściu EN jest sygnał aktywny, to odejmowanie następuje w czasie każdego cyklu skanowania sterownika. Rezultat odejmowania jest również wartością 16-bitową. Jest to instrukcja odejmowania dwóch wartości 32-bitowych podanych na wejścia IN1 i IN2. Rezultat odejmowania jest również wartością 32-bitową. Jest to instrukcja mnożenia dwóch słów16-bitowych. Wynikiem ich jest wartość 32-bitowa. 21 Sterowniki SIMATIC S7-200 W STL-u należy najpierw przenieść wartość z jednego z wejść do mniej znaczącego słowa wyniku, a następnie zastosować dla drugiego wejścia polecenie mnożenia. Jest to instrukcja dzielenia dwóch słów16-bitowych. Wynikiem ich jest wartość 32-bitowa. W przypadku pisania w STL-u należy postąpić w sposób opisany podczas omawiania mnożenia. Zwiększanie i zmniejszanie o jeden. Są to instrukcje dodające do wartości podanej na wejście IN jedynkę. Różnią się między sobą jedynie rozmiarem (bajt, słowo, podwójne słowo). Są to instrukcje odejmujące od wartości podanej na wejście IN jedynkę. Różnią się między sobą jedynie rozmiarem (bajt, słowo, podwójne słowo). 22 Sterowniki SIMATIC S7-200 Instrukcje przesunięć. Są to instrukcje przesunięcia wejściowego bajtu, słowa lub podwójnego słowa (IN) na wyjściowe (OUT) o tej samej wielkości, ale innym adresie. Sterowanie odbywa się za pomocą wejścia EN. Są to instrukcje przesunięcia określonej na wejściu N liczby bajtów, słów lub podwójnych słów z początkowego adresu podanego na wejściu IN na wyjście, które również określa początkowy adres ich nowej lokacji. Jest to instrukcja zamieniająca bardziej znaczący bit z mniej znaczącym bitem podanego na wejście IN słowa. Jest to instrukcja, która wypełnia przestrzeń pamięci określoną na wejściu N wartością z wejścia IN. Adres początkowej komórki pamięci podawany jest na wyjściu OUT 23 Sterowniki SIMATIC S7-200 Instrukcje przesuwania. Są to instrukcje przesunięcia w prawo bit po bicie określonego na wejściu (IN) bajtu, słowa, podwójnego słowa, o ilość bitów określoną na wejściu (N). Miejsca przesuniętych bitów zapełniane są zerami. Ostatni przesunięty bit zapisywany jest w SM1.1, który jest bitem przepełnienia. Rezultat przesunięcia zapisywany jest pod adresem podanym na wyjściu (OUT). Są to instrukcje przesunięcia w lewo bit po bicie. Zasada ich działania jest analogiczna do opisanej powyżej. Są to instrukcje obrotu w prawo bit po bicie określonego na wejściu (IN) bajtu, słowa, podwójnego słowa, o ilość bitów określoną na wejściu (N). Oznacza to, że po przesunięciu najbardziej znaczący bit staje się najmniej znaczącym. Ostatni przesunięty bit zapisywany jest w SM1.1, który jest bitem przepełnienia. Rezultat przesunięcia zapisywany jest pod adresem podanym na wyjściu (OUT). 24 Sterowniki SIMATIC S7-200 Są to instrukcje obrotu w lewo bit po bicie. Zasada ich działania jest analogiczna do opisanej powyżej. Jest to instrukcja kontrolowanego przesuwu danych. Wartość podana na wejście DATA jest przesuwana o liczbę bitów podaną na wejście N ( w kierunku najbardziej znaczącego bitu przy dodatnim N i w kierunku najmniej znaczącego bitu przy ujemnym N). Co jedno skanowanie następuje przesunięcie o jeden bit. Wejście S_BIT służy do podania adresu (bajt.bit), do którego zapisywana będzie wartość z wejścia DATA. Adres pod który nastąpi przesunięcie można obliczyć z zależności: MSB.b=(bajt z S_BIT)+([N]-1+(bit z S_BIT))/8 Bit ten w wyniku przesunięcia zapisywany jest w SM1.1. Przykład: 25 Sterowniki SIMATIC S7-200 Instrukcje kontrolne programu. Jest to instrukcja kończąca program. Jest ona konieczna do prawidłowego wykonania kompilacji. Jest to instrukcja kończąca wykonywanie programu przez przejście ze stanu pracy sterownika RUN do stanu STOP. Jest to instrukcja pozwalająca jednostce nadzorczej CPU na rewizje wykonywanego procesu skanowania i wykrycie ewentualnych błędów. Jest to instrukcja skoku do etykiety. Wywołaniem jest polecenie JMP, natomiast etykietą do której się odnosi LBL. Literka (n) określa numer rozkazu. Skok ten może odnosić się tylko do programu głównego lub podprogramu, w którym został zdefiniowany. Jest to instrukcja skoku do podprogramu. W przeciwieństwie do poprzedniego rozkazu skok wykonywany jest między programem głównym a podprogramem. CALL służy do wywołania skoku, SBR jest miejscem rozpoczęcia podprogramu do którego wykonano skok. Każdy podprogram musi zostać zakończony instrukcją RET. Może ona być bezwarunkowa (znajdować się w osobnym obwodzie) lub być w jakiś sposób określona. Literka (n) określa numer podprogramu. 26 Sterowniki SIMATIC S7-200 Jest to instrukcja skoku do podprogramu sekwencyjnego. Podprogram równy rozpoczyna się poleceniem SCR, gdy bit Sx1,y1 (n-nad SCR) jest 1. Uaktywnienie polecenia SCRT powoduje wyłączenie bitu Sx1,y1 i załączenie bitu Sx2,y2 (n-nad SCRT), i przekazanie sterowania w miejsce wywołania SCR (z n= Sx2,y2). Rozkaz SCRE kończy wykonywanie danego podprogramu. Poleceń tych można używać jedynie w programie głównym. Operacje logiczne. Są to instrukcje iloczynu logicznego odpowiednich bitów dwóch bajtów, słów, podwójnych słów podanych na wejścia IN1 i IN2. Rezultat w postaci odpowiednio bajtu , słowa, podwójnego słowa zapisywany jest na wyjściu OUT. Są to instrukcje sumy logicznej odpowiednich bitów dwóch bajtów, słów, podwójnych słów podanych na wejścia IN1 i IN2. Rezultat w postaci odpowiednio bajtu , słowa, podwójnego słowa zapisywany jest na wyjściu OUT. 27 Sterowniki SIMATIC S7-200 Są to instrukcje różnicy symetrycznej odpowiednich bitów dwóch bajtów, słów, podwójnych słów podanych na wejścia IN1 i IN2. Rezultat w postaci odpowiednio bajtu , słowa, podwójnego słowa zapisywany jest na wyjściu OUT. Są to instrukcje negacji logicznej odpowiednich bitów dwóch bajtów, słów, podwójnych słów podanych na wejścia IN1 i IN2. Rezultat w postaci odpowiednio bajtu , słowa, podwójnego słowa zapisywany jest na wyjściu OUT. Instrukcje konwersji kodów. Jest to instrukcja zamieniająca sygnał w kodzie BCD (IN) na sygnał w kodzie szesnastkowym (OUT). Jest to instrukcja zamieniająca sygnał w kodzie szesnastkowym (IN) na sygnał w kodzie BCD (OUT). 28 Sterowniki SIMATIC S7-200 Instrukcja ta ustawia bit w wyjściowym słowie (OUT), któremu odpowiada liczba reprezentowana przez mniej znaczące 4 bity bajtu wejściowego. Jest ona równa numerowi ustawionego bitu wyjściowego. Wszystkie inne bity wyjściowego słowa ustawiane są na zero. Jest to instrukcja odwrotna do poprzedniej. Na wejście podawane jest słowo, w którym jeden bit ustawiony jest na jeden a reszta wyzerowana. Natomiast na czterech mniej znaczących bitach bajtu wyjściowego zapisana jest liczba reprezentująca numer ustawionego bitu wejściowego. Jest to instrukcja zamieniająca cztery mniej znaczące bity bajtu wejściowego na kod siedmiosegmentowy, pozwalający na wysterowanie wyświetlacza. Instrukcja ta przetwarza ciąg znaków ASCII o długości określonej na wejściu LEN z adresu początkowego IN na ciąg bajtów w kodzie szesnastkowym z adresem początkowym w OUT. Jest to instrukcja odwrotna do poprzedniej. Zamienia ciąg bajtów w kodzie szesnastkowy na ciąg znaków ASCII. 29 Sterowniki SIMATIC S7-200 Instrukcje przerwań i komunikacji. Instrukcja (INT) wyznacza początek podprogramu obsługi przerwania (n). Rozkaz (RETI) stosowany jest do powrotu z podprogramu do miejsca wywołania. Może być stosowany warunkowo lub bezwarunkowo. Instrukcja (ENI) umożliwia wykonanie wszystkich dołączonych do projektu podprogramów przerwań. Instrukcja (DISI) uniemożliwia wykonanie wszystkich dołączonych do projektu podprogramów przerwań. Kiedy wykonywane jest przejście sterownika do stanu RUN, uniemożliwiane są przerwania. Jedynym sposobem umożliwienia ich jest zastosowanie rozkazu ENI. Rozkaz DISI powoduje, że przerwania są wykrywane, ale nie pozwala na odwołanie się do nich. Instrukcja ta określa rodzaj przerwania (EVENT) podprogramu obsługi przerwania o numerze podanym na wejściu INT oraz warunek jego wystąpienia (EN). 30 Sterowniki SIMATIC S7-200 Instrukcja ta uniemożliwia wykonywanie wszystkich podprogramów obsługi przerwań dla przerwań określonych na wejściu (EVENT). Instrukcja ta jest używana w trybie pracy wolnego portu do transmisji danych za pomocą portu komunikacyjnego. Rozkaz ten kiedy zostanie uaktywniony przez wejście EN wywołuje transmisje danych z wejścia TABLE. Wejście PORT określa, który port będzie używany do transmisji. W przypadku S7-212 jest to zawsze port 0. 31 Sterowniki SIMATIC S7-200 3. URUCHOMIENIE PROJEKTU. Kompilowanie projektu. Po zakończeniu pisania programu należy sprawdzić czy nie posiada on błędów. Dokonuje się . Powoduje to tego wybierając z menu komendy CPU-Compile lub klikając na ikonę wywołanie okna widocznego na rys.3.16. Zawiera ono informacje dotyczące liczby obwodów oraz ilości zajmowanej pamięci. Jeśli kompilowany program nie zawiera błędów użytkownik zostaje o tym poinformowany przez komunikat „Compile Successful”. Rys.3.1 Kompilowanie projektu Jeśli jednak kompilator doszuka się nieprawidłowości (rys.3.2) ich liczba zostanie wyświetlona przy słowach „Invalid Networks”. W kratce pod nimi pojawi się numer „linii”, w której błąd wystąpił ( dwukrotne kliknięcie na tą informację spowoduje automatyczne przeniesienie do tego miejsca programu ), a przy słówku „Result” jego rodzaj. Rys.3.2 Błąd kompilacji 32 Sterowniki SIMATIC S7-200 Wgrywanie programu do sterownika. W celu przegrania projektu do sterownika, po uprzednim jego zapisaniu i kompilacji, wybieramy z menu komendy Project-Download... lub klikamy ikonę . Zostaje wyświetlone wówczas okno pozwalające wybrać elementy projektu, który chcemy przegrać (rys.3.3). Można postawić znacznik przy słówku All, co spowoduje załadowanie do sterownika wszystkich składników. Można również dokonać wyboru tylko niektórych z nich. • Program Code Block zawiera program, który będzie wykonywany przez sterownik • Data Block zawiera początkowe wartości, które będą użyte w programie • CPU Configuration zawiera informacje dotyczące m.in. szybkości transmisji danych, założonego hasła, Rys.3.3 Wgrywanie projektu Zatwierdzamy dokonany wybór klikając „OK” lub naciskając ENTER. Po załadowaniu programu do pamięci na ekranie pojawia się komunikat informujący nas, że zostało ono zakończone pomyślnie. Program STEP7-Micro/WIN umożliwia również wykonanie operacji odwrotnej tzn. załadowania do komputera programu zawartego w pamięci sterownika. Dokonuje się tego analogicznie do poprzedniego przykładu wybierając polecenia Project-Upload... lub klikając . Tak jak poprzednio pojawia się okno umożliwiające wybór przegrywanych ikonę elementów. Należy jednak zwrócić uwagę na fakt, że program zostanie zapisany w aktualnie otwartym projekcie i spowoduje skasowanie poprzedniej jego zawartości. Dlatego też, żeby tego uniknąć najlepiej przeprowadzić tą operację w nowo otwarty pliku. 33 Sterowniki SIMATIC S7-200 Uruchamianie sterownika. W celu uruchomienia przegranego wcześniej programu z menu CPU wybieramy polecenie RUN lub klikamy na ikonę . W celu zatrzymania działania uruchomionego wcześniej programu z menu CPU wybieramy polecenie STOP lub klikamy na ikonę . Porównanie projektów. W przypadku, gdy uruchomimy projekt, który różni się od zawartego w pamięci sterownika wyświetlony zostanie komunikat widoczny na rys.3.4. Informuje on, że projekty nie są te same, oraz że kontynuacja tego komunikatu spowoduje załadowanie uruchamianego programu, a co za tym idzie skasowanie poprzedniego. Umożliwia również porównanie obu projektów poprzez przycisk Compare, co w zilustrowanym przykładzie spowodowało wyświetlenie komunikatu informującego o różnej ilości obwodów w tych projektach. Rys.3.4 Porównanie projektów (1) W przypadku, gdy przypuszczamy, że projekty te mogą się nie zgadzać mamy możliwość sprawdzenia tego wybierając następujące komendy CPU-Compare Project to CPU.... Rys.3.5 Porównanie projektów (2) 34 Sterowniki SIMATIC S7-200 Spowoduje to wyświetlenie okna widocznego na rys. 3.5. Kliknięcie na przycisk Begin rozpocznie proces porównania programów. W efekcie zostaną wyświetlone dokładniejsze wiadomości niż miało to miejsce w poprzednim przypadku. Mamy również możliwość wyboru porównywanych elementów, analogicznie jak podczas ładowania projektu do pamięci sterownika. 35 Sterowniki SIMATIC S7-200 4. MONITOROWANIE PRACY STEROWNIKA. Oprogramowanie STEP 7-Micro/WIN umożliwia monitorowanie pracy układu w czasie jego pracy. Znajduje ono zastosowanie zarówno podczas tworzenia projektu, kiedy przydatne jest do zrozumienia przyczyn nieprawidłowego działania urządzenia, jak również w podczas jego późniejszej pracy, kiedy to może służyć do nadzoru. Można wyróżnić dwa sposoby monitorowania. • Pierwszy z nich korzysta ze schematu drabinkowego. Na schemacie tym podświetlane są aktualnie działające wyjścia, przełączniki, komórki pamięci itp. oraz na bieżąco zmieniające się wartości liczników, zegarów itp. Opcje tą uruchamiamy wybierając z menu polecenie Debug-Ladder Status On (rys.4.1) Rys.4.1 Monitorowanie pracy sterownika (Ladder Status On) • Drugi wykorzystuje tabelę wywoływaną z menu przez polecenia View-Status Chart lub za . W tym sposobie monitorowanie polega na wyświetlaniu konkretnej pomocą ikony wartości dla danego wejścia, wyjścia lub elementu programu. Wartości te są podawane w trzeciej kolumnie (rys.4.2). Rys.4.2 Monitorowanie pracy sterownika (karta statusowa) 36 Sterowniki SIMATIC S7-200 Do jednokrotnego zapisania wszystkich wartości służy przycisk , natomiast kiedy chcemy . zaobserwować zmianę tych wartości w czasie działania sterownika wybieramy przycisk Ponowne jego kliknięcie spowoduje zatrzymanie monitorowania i zapisanie ostatnich wartości. Można również sprawdzić jakie wartości będą miały poszczególne dane po zmianie jednej z nich. Pożyteczną funkcją stosowaną do monitorowania jest możliwość ustalenia ilości cykli skanowania sterownika. Dozwolone wartości zawierają się w przedziale od 1 do 65535. Opcję tą uruchamiamy wybierając z menu polecenie Debug-Execute Scans. Spowoduje to pojawienie się okna jak na poniższym rysunku. Rys.4.3 Liczba skanowań W widoczną na rysunku 4.3 kratkę wpisuje się żądaną liczbę skanowań i zatwierdza przyciskiem „OK”. 37