Elektronika i techniki mikroprocesorowe



Podobne dokumenty
Instrukcja do oprogramowania ENAP DEC-1

CoDeSys 3 programowanie w języku drabinkowym LD

Kurs Podstawowy S7. Spis treści. Dzień 1

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Politechnika Gdańska. Gdańsk, 2016

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

Klawisze szybkiego wyboru układu drabinkowego

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Licznik rewersyjny MD100 rev. 2.48

PROGRAMOWALNE STEROWNIKI LOGICZNE

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

dokument DOK wersja 1.0

GRM-10 - APLIKACJA PC

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

1 Moduł Neuronu Cyfrowego SM

OPIS PROGRAMU USTAWIANIA NADAJNIKA TA105

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1 Moduł Neuronu Cyfrowego

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

CoDeSys 3 programowanie w języku FBD

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

Dokumentacja Licznika PLI-2

Licznik prędkości LP100 rev. 2.48

Opracował: Jan Front

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość.

INDU-22. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. masownica próżniowa

Co to jest arkusz kalkulacyjny?

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

Laboratorium Napędu robotów

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Zakład Systemów Rozproszonych

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

Instrukcja obsługi programatora TM-PROG v

Przemysłowe Systemy Automatyki ĆWICZENIE 2

SZYMAŃSKI ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) Tel./fax. (042) Kom

Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony

MultiTool instrukcja użytkownika 2010 SFAR

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Dlaczego stosujemy edytory tekstu?

Karta katalogowa JAZZ OPLC JZ20-R31

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.

Spółka z o.o. INSTRUKCJA UŻYTKOWANIA PROGRAMU SCHRS. Do współpracy z: dotyczy programu SCHRS w wersji: 1.27

Podstawy programowania w środowisku Totally Integration Automation Portal

Konsola operatora TKombajn

Projekt Komputerowych Systemów Sterowania Wymiana danych pomiędzy dwoma sterownikami Siemens S7-300 po sieci Profibus DP

Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Programator Kart Master - klient

SPIS TREŚCI. 1. Wiadomości wstępne... 2 str. 2. Tworzenie nowego programu... 2 str Edytor graficzny LAD... 5 str.

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

WEJŚCIE W TRYB PROGRAMOWANIA

CoDeSys 3 programowanie w języku CFC

PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

INSTRUKCJA OBSŁUGI MONITORA LINII PRĄDOWEJ

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5

POLSKI. Macro Key Manager Podręcznik użytkownika

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

STACJA PAMIĘCI SP2005

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Zgrywus dla Windows v 1.12

Tablet bezprzewodowy QIT30. Oprogramowanie Macro Key Manager

System obsługi wag suwnicowych

Podręczna pomoc Microsoft Power Point 2007

Rys.1. Uaktywnianie pasków narzędzi. żądanych pasków narzędziowych. a) Modelowanie części: (standardowo widoczny po prawej stronie Przeglądarki MDT)

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Przekaźnika sygnalizacyjnego PS-1

tel fax

Komunikacja z wykorzystaniem Protokołu TCP oraz funkcji AG_SEND/AG_RECV

Komunikacja Master-Slave w protokole PROFIBUS DP pomiędzy S7-300/S7-400

Konfiguracja i podłączenie sterownika Horner APG do oprogramowania Cscape po RS232

REGULATOR PI W SIŁOWNIKU 2XI

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

1.Instalacja. Przechodzimy przez kolejne okna instalatora klikacjąć Dalej. wolek.zallegro.pl

1. Opis okna podstawowego programu TPrezenter.

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Interfejs analogowy LDN-...-AN

Transkrypt:

Elektronika i techniki mikroprocesorowe Wprowadzenie do sterowników mikroprocesorowych LABORATORIUM STEROWANIA PROGRAMOWALNEGO, Gliwice 2002-2004 Politechnika Śląska, Wydział Elektryczny

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 CPU216 1,024 4 8 8 8I / 6Q 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

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

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

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 (SMB- Special 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

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

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ę STEP7- Micro. 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

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. Tworzenie nowego projektu. Rys.2.1. Ustawienia programu 7

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

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 View- Ladder 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

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

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 wywoływane z menu View-Data Block lub przez kliknięcie na ikonę. Po załadowaniu 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

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

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

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 Edit- Insert... 14

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

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 w czasie jednego taktu skanowania. Uaktywniany jest on zmianą sygnału 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 w czasie jednego taktu skanowania. Uaktywniany jest on zmianą sygnału zasilającego z 1 na 0. Na jego wyjściu jest w tym czasie wartość 1. 16

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

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

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

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

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

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

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

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

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

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

Jest to instrukcja skoku do podprogramu sekwencyjnego. Podprogram rozpoczyna się poleceniem SCR, gdy bit Sx 1,y 1 (n-nad SCR) jest równy 1. Uaktywnienie polecenia SCRT powoduje wyłączenie bitu Sx 1,y 1 i załączenie bitu Sx 2,y 2 (n-nad SCRT), i przekazanie sterowania w miejsce wywołania SCR (z n= Sx 2,y 2 ). Rozkaz SCRE kończy wykonywanie danego podprogramu. Operacje logiczne. Poleceń tych można używać jedynie w programie głównym. 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

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

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

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

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

3. URUCHOMIENIE PROJEKTU. Kompilowanie projektu. Po zakończeniu pisania programu należy sprawdzić czy nie posiada on błędów. Dokonuje się tego wybierając z menu komendy CPU-Compile lub klikając na ikonę. Powoduje to 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

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 ikonę. Tak jak poprzednio pojawia się okno umożliwiające wybór przegrywanych 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

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

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

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 pomocą ikony. W tym sposobie monitorowanie polega na wyświetlaniu konkretnej 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

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