SIMATIC S7-1200 w przykładachbursy.ehost.pl/student/images/materialy/Siemens/Siemens...PLC 1...

35
SIMATIC S7-1200 w przykładach Wydanie 1 Egzemplarz bezpłatny www.siemens.pl/S7-1200 Przykłady i Aplikacje

Transcript of SIMATIC S7-1200 w przykładachbursy.ehost.pl/student/images/materialy/Siemens/Siemens...PLC 1...

SIMATIC S7-1200 w przykładach

Wydanie 1Egzemplarz bezpłatny

SIM

AT

IC S

7-12

00 w

prz

ykła

dac

h

www.siemens.pl/S7-1200

Przykłady i Aplikacje

Przykład 1

Komunikacja przez sieć Ethernet:wymiana danych pomiędzy dwoma

sterownikami SIMATIC S7-1200

42

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

1. Realizowane zadaniePodział na zadania

Przez sieć Ethernet przesyłamy dane między dwoma sterownikami S7-1200 CPU. Rozpatrujemy dwa przypadki:Zadanie ANiezależnie od typu danych, należy przesłać dane o określonej długości z jedne-go S7-1200 CPU (PLC 1) do drugiego (PLC 2).Zadanie BNależy przesłać dane o dynamicznie zmiennej długości z jednego S7-1200 CPU (PLC 1) do drugiego (PLC 2).

1.2. Metody komunikacjiSterownik S7-1200 obsługuje następujące bloki komunikacyjne T przeznaczone do obsługi wymiany danych:– TSEND_C i TRCV_C (z zintegrowanymi funkcjami połączenia i rozłączenia)– TCON, TSEND, TRCV oraz TDISCON (z ręcznym łączeniem i rozłączaniem)Urządzenie S7-1200 obsługuje następujące protokoły ethernetowe:– TCP (RFC 793)– ISO-on-TCP (RFC 1006)Dane mogą być przesyłane do bloków komunikacyjnych z adresowaniem:– bezwzględnym lub– symbolicznym.

Sposób rozwiązania zadania ADane są wysyłane przez urządzenie PLC 1 i odbierane przez urządzenie PLC 2 za pośrednictwem:– bloków komunikacyjnych T z integralnym zarządzaniem połączeniem (TSEND_C

/TRCV_C),– protokołu TCP,– dwóch bajtów danych adresowanych bezwzględnie.

Sposób rozwiązania zadania BDane są wysyłane przez urządzenie PLC 1 i odbierane przez urządzenie PLC 2 za pośrednictwem:– bloków komunikacyjnych T z ręcznym zarządzaniem połączeniem (TCON,

TSEND, TRCV, TDISCON),– protokołu ISO-on-TCP,– trzyelementowej tablicy danych adresowanych symbolicznie.Sterowniki S7-1200 CPU 1214C są konfigurowane za pomocą pakietu STEP7 Basic V10.5.

Bubu
Podświetlony

43

Część II. Przykłady i aplikacje

1.3. Konfiguracja demonstracyjnaPodstawową konfigurację przykładowego systemu przedstawiono na rysunku 1.1. Dwa komunikujące się ze sobą moduły CPU oraz komputer wykorzystywany do programowania sterowników z zainstalowanym oprogramowaniem STEP7 Basic V10.5 dołączono do przełącznika za pomocą kabli ethernetowych. Listę niezbęd-nych komponentów zamieszczono w rozdziale 1.4.

Rys. 1.1.

1.4. Lista komponentów wykorzystanych w przykładzieTab. 1.1. Wyroby firmy Siemens

Nr Komponent Liczba MLFB/nr katalogowy Uwagi

1.S7-1200 PM1207POWER SUPPLY

1 6EP1332-1SH71

2. S7-1200 CPU1214C 1 6ES7214-1AE30-0XB0 DC/DC/DC

3.CSM 1277COMPACT SWITCH MODULE

1 6GK7277-1AA00-0AA0

4. S7-1200 CPU1214C 1 6ES7214-1HE30-0XB0 DC/DC/Relais5 STEP 7 BASIC V10.5 1 6ES7822-0AA00-0YA0

Tab. 1.2. AkcesoriaNr Komponent Liczba Nr katalogowy Uwagi1. PC/PG 1 – Z interfejsem Ethernet2. Kabel ethernetowy RJ45 2 Dostawca specjalistyczny –

1. Realizowane zadanie

44

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

2. Rozwiązanie zadania2.1. Schemat połączeń

Listę niezbędnych komponentów zamieszczono w rozdziale 1.4.

Rys. 2.1.

2.2. Komunikacja ethernetowa S7-1200Bloki komunikacyjne T sterownika S7-1200 umożliwiają nawiązanie jednocześnie do 8 połączeń w sieci Ethernet.

Wersje protokołu

Bloki komunikacyjne T zapewniające komunikację w sieci Ethernet obsługują na-stępujące protokoły:

– Transport Connection Protocol (TCP): identyfikacja partnera połączenia za pomocą adresowania portów,

– ISO Transport over TCP (ISO-on-TCP): identyfikacja partnera połączenia za pomocą usługi Transport Service Access Point (TSAP).

Za pomocą obu protokołów możliwa jest transmisja do 8192 bajtów na jedno za-danie.

Podstawowa różnica między tymi protokołami polega na tym, że protokół ISO--on-TCP umożliwia przesyłanie danych o dynamicznie zmiennej długości danych, natomiast protokół TCP pozwala przesyłać tylko dane o stałej długości.

W następnych punktach przedstawiono bloki ze zintegrowaną oraz ręczną obsłu-gą połączeń na podstawie przykładowych zadań.

Bubu
Podświetlony

45

Część II. Przykłady i aplikacje

2.2.1. Zintegrowana obsługa połączeń (zadanie A)Połączenie w sieci Ethernet z zintegrowaną obsługą połączeń: oprócz funkcji nadawania i odbioru każdy z bloków TSEND_C oraz TRCV_C realizuje dodatko-wo funkcje łączenia i rozłączania.Na rysunku 2.2 jest widoczna struktura połączeń sieci Ethernet przy komuni-kacji z zintegrowaną obsługą połączeń dla zadania A. Sterownik PLC 1 wysyła dane z adresowaniem bezwzględnym do sterownika PLC 2 za pośrednictwem protokołu TCP (identyfikacja partnera komunikacyjnego za pomocą adresowania portów). Połączenie jest nawiązywane przy użyciu parametru CONT w trybie ser-wer-klient. Sterownik PLC 2 pasywnie oferuje swoje usługi (serwer), a sterownik PLC 1 aktywnie żąda nawiązania połączenia (klient). Po pomyślnym nawiązaniu połączenia jest ono podtrzymywane.

Rys. 2.2.

Informacja o połączeniu jest pamiętana w jednym bloku danych dla TSEND_C i w jednym bloku danych dla TRCV_C (zaadresowanych poprzez parametr CON-NECT). Zdefiniowany jest tu adres IP partnera komunikacji oraz używany proto-kół. Po stronie partnera komunikacji dane połączenia są pamiętane w analogiczny sposób. W razie wybrania innego protokołu, ustawienia powinny zostać zmienio-ne także w bloku komunikacyjnym drugiego sterownika, co wymaga odpowied-niej modyfikacji w programie sterującym. Polecenia TSEND_C oraz TRCV_C są wykonywane asynchronicznie poprzez REQ lub EN_R. Podczas wykonywania zadania nadawania przy dodatnim zboczu sygnału REQ, nie jest wymagana go-towość bloku TRCV_C do odbioru (EN_R = 1), ponieważ dane są buforowane.

2. Rozwiązanie zadania

Bubu
Podświetlony

46

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Dane te mogą być odebrane później w wyniku zezwolenia na odbiór (ustawienia EN_R = 1) (ale tylko ostatnio wysłane dane). Parametr DATA określa dane do wy-słania lub skrzynkę odbiorczą za pomocą bezwzględnego adresu początkowego i długości. Zakończenie połączenia następuje po zresetowaniu parametru CONT.

2.2.2. Ręczna obsługa połączenia (zadanie B)Połączenie w sieci Ethernet z ręczną obsługą połączenia: wymiana danych za po-średnictwem bloków nadawania (TSEND) i odbioru (TRCV) wymaga nawiązania połączenia przez blok TCON, a do zakończenia transmisji jest wymagany blok TDISCON po każdej stronie kanału transmisyjnego.

Rys. 2.3

Na rysunku 2.3 pokazano sposób realizacji transmisji ethernetowej z ręczną ob-sługą połączenia dla zadania B. Sterownik PLC 1 wysyła dane zaadresowane symbolicznie do sterownika PLC 2 za pośrednictwem protokołu ISO-on-TCP (iden-tyfikacja partnera połączenia za pomocą TSAP). Na dodatnim zboczu sygnału REQ blok TCON próbuje nawiązać połączenie z partnerem (zdefiniowanym w blo-ku danych CONNECT, identyfikowanym przez ID). Po wykonaniu przez obydwu partnerów transmisji rozkazu REQ połączenie zostaje nawiązane i utrzymywane.

Informacja o połączeniu (partner transmisji, wybrany protokół i ID połączenia) jest pamiętana w bloku danych połączenia (zaadresowanym przez parametr CON-NECT w bloku połączenia TCON).

47

Część II. Przykłady i aplikacje

Blok nadawania (TSEND), blok odbioru (TRCV) oraz blok rozłączania TDISCON otrzymują informację o połączeniu jedynie przez przypisanie parametru ID połą-czenia do odpowiedniego parametru wejściowego ID bloku danych połączenia.

Na dodatnim zboczu sygnału REQ blok TSEND wysyła symbolicznie zaadreso-wane dane DATA o długości LEN do partnera transmisji o identyfikatorze ID (zde-finiowanym w bloku połączenia TCON przez parametr CONNECT). Przesyłane dane są buforowane.

Przy aktywnym zezwoleniu na odbiór (EN_R = 1) blok TRCV odbiera i zapamię-tuje w parametrze DATA dane odebrane od partnera transmisji o identyfikatorze ID (zdefiniowanym w bloku połączenia TCON przez parametr CONNECT). Na dodatnim zboczu sygnału REQ blok TDISCON zamyka połączenie z partnerem transmisji scharakteryzowanym przez parametr połączenia ID. TDISCON musi być wykonany zarówno po stronie nadawania, jak i odbioru.

2.2.3. Parametryzacja bloku TW tabeli 2.1 zawarto przegląd wszystkich parametrów bloku komunikacyjnego T sterownika S7-1200. Więcej informacji można znaleźć w podręczniku systemowym S7-1200 (numer publikacji 36932465) oraz w pomocy dla STEP 7 Basic V10.5.

Tab. 2.1.Typ

para-metru

Parametr Typ danych TSEND_C TRCV_C TCON TSEND TRCV TDISCON Opis

IN

EN_R BOOL xGotowość do odbioru(EN_REQ = 1)

REQ BOOL x x x x Wykonanie zadania (dodatnie zbocze)

ID WORD x x x x

ID połączenia (przypisanie danych transmisji przez parametr CONNECT)

CONT BOOL x x

Sterowanie połączeniem (0: zakończ, 1: nawiąż i podtrzymuj)

LEN INT x x x x Długość danych w bajtach

IN_OUT

CONNECT ANY x x x Wskaźnik do opisu połączenia

DATA ANY x x x x

Obszar danych (dane do wysłania lub odebrane z adresem początku i ew. długością)

COM_RST BOOL x x Restart połączenia (dodatnie zbocze)

OUT

DONE BOOL x x x x x Komunikat zakończenia (DONE/NDR = 1)NDR BOOL x

BUSY BOOL x x x x x x Komunikat zajętości (BUSY = 1)

ERROR BOOL x x x x x x Komunikat błędu (ERROR = 1)

STATUS WORD x x x x x Status blokuRCVD_LEN INT x x Długość odebranych

danych w bajtach

2. Rozwiązanie zadania

48

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Zapisywanie parametrów wyjściowychParametry wyjściowe DONE, NDR, BUSY, ERROR, STATUS i RCVD_LEN są uaktualniane cyklicznie bez zapamiętywania. W celu sprawdzenia połączenia zalecane jest zapamiętanie wartości tych parametrów. W przykładowych progra-mach informacja o statusie jest zapamiętywana w razie wystąpienia komunikatu błędu.Na rysunku 2.4 pokazano sposób zapamiętania danych STATUS przy uaktyw-nionym wyjściu ERROR sygnalizacji błędu w bloku odbiorczym TRCV_C (MW6: TRCV_C_ERROR_STATUS). Po uaktywnieniu komunikatu DONE w blokach od-biorczych TRCV_C i TRCV zapamiętywana jest także długość ostatnio odebra-nych danych oraz zliczane są wystąpienia komunikatu Done.Na rysunku 2.5 przedstawiono konfigurację licznika komunikatów DONE TRCV_C_DONE_count oraz długości ostatnio odebranych danych TRCV_C_last_RCVD_

Rys. 2.5.

Rys. 2.4.

49

Część II. Przykłady i aplikacje

LEN dla bloku TRCV_C. Poza tym zliczane są także komunikaty BUSY dla każ-dego bloku.Na rysunku 2.6 pokazano licznik TRCV_C_BUSY_count w bloku TRCV_C. Wszystkie zapamiętane wartości i zawartość licznika można wyzerować za po-mocą zmiennej Reset.Na rysunku 2.7 przedstawiono funkcję resetu dla bloku TRCV_C. Znacznik RE-SET_edge wyzwalania zboczem jest wykorzystany do zerowania zawartości licz-nika (patrz rysunki 2.5 i 2.6). Funkcja Reset pozostaje aktywna przez tylko jeden cykl.

Rys. 2.7.

Rys. 2.6.

2. Rozwiązanie zadania

50

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

2.3. Przesyłanie danychBloki komunikacyjne T zapewniają adresowanie bezwzględne lub symboliczne przesyłanych danych DATA.

2.3.1. Adresowanie bezwzględneAdresowanie bezwzględne bloków danych wymaga braku zaznaczenia właściwo-ści Symbolic access only podczas tworzenia bloku PLC –> Add new block oraz Data block (patrz rysunek 2.8).

Rys. 2.8.Przy adresowaniu bezwzględnym w parametrze DATA jest ustalany wskaźnik do adresu początkowego wraz z informacją o długości danych. Dla adresowania bezwzględnego istotne jest ustawienie parametru LEN = 0. Jest to możliwe bez-pośrednio przez wskaźnik w bloku parametrów DATA lub przy konfiguracji bloku (tutaj: TSEND_C_DB) w specyfikacji długości danych. Wprowadzona wartość jest następnie wykorzystana w reprezentacji wskaźnika.W tabeli 2.2 pokazano protokoły obsługujące transmisję danych o długości bez-względnej.Tab. 2.2.

Porównanie długości danych(TSEND_C/TSEND x TRCV_C/TRCV) Obsługiwany protokół

> TCP< ISO_on_TCP= TCP/ISO_on_TCP

51

Część II. Przykłady i aplikacje

PrzykładTransmisja danych, przy której bezwzględna długość danych przeznaczonych do wysłania przez bloki TSEND_C lub TSEND jest większa od rozmiaru skrzynki odbiorczej skonfigurowanej w bloku TRCV_C lub TRCV jest możliwa tylko dla protokołu TCP. Wartość bezwzględna długości wyspecyfikowana w bloku odbior-czym ogranicza objętość trasmitowanych danych.Jednakże protokół TCP umożliwia jedynie transmisję danych o statycznej długo-ści.Transmisja danych o długości dynamicznie zmiennej jest możliwa tylko za pomo-cą adresowania symbolicznego obsługiwanego przez protokół ISO-on-TCP.

2.3.2. Adresowanie symbolicznePrzesyłanie danych adresowanych symbolicznie wymaga zgodności struktur w zakresie nadawania i odbioru. Ustawienia dotyczące bloków danych (Symbolic access only włączone lub nie) nie mają znaczenia przy adresowaniu symbolicz-nym.Na rysunku 2.10 widać, że blok danych do wysłania można wybrać przez po-dwójne kliknięcie i otwarcie przyciskiem menu wyboru nazw symbolicznych. Menu

Rys. 2.9.

2. Rozwiązanie zadania

52

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

wyboru elementów uzyskuje się po wpisaniu znaku kropki za nazwą symboliczną bloku danych.Długość wysyłanych danych można zmieniać za pomocą parametru LEN. War-tość LEN długości danych można parametryzować w postaci wartości stałej lub zmiennej. Przy modyfikacji długości wyrażonej w bajtach (parametr LEN) należy zapewnić transmisję tylko całych elementów. Gdy wartość LEN = 0 następuje przesłanie całego obszaru danych struktury lub tablicy wyspecyfikowanej w pa-rametrze DATA.Przy transmisji tablic i struktur istnieje dodatkowa opcja dynamicznego definiowa-nia długości w bloku nadawczym TSEND_C lub TSEND poprzez przypisanie pa-rametrowi LEN wartości zmiennej. Należy wtedy wybrać wartość LEN = 0 w bloku odbiorczym TRCV_C lub TRCV.

UWAGA Przy transmisji struktur danych (typ danych STRUCT) z dynamiczną długością danych i wykorzystaniem protokołu ISO-on-TCP, obszarem odbioru (parametr DATA bloku odbiornika TRCV lub TRCV_C ) powinien być blok danych bez włą-czonej właściwości Symbolic access only.

Rys. 2.10.

53

Część II. Przykłady i aplikacje

3. Konfiguracja3.1. Instalacja i okablowanie sprzętu (warianty A i B)Tab. 3.1.

Nr Instrukcja Uwaga/rysunek1. Zamontuj zasilacz, urządzenia S7-1200 CPU oraz

przełącznik na szynie DIN–

2. Połącz kablami Ethernet RJ45 sterowniki i jednostkę programatora do przełącznika CSM 1277

Patrz rozdział „Schemat połączeń”

3. Połącz wszystkie zaciski masy z uziemieniem Patrz rozdział „Schemat połączeń”4. Połącz sterownik i przełącznik CSM 1277 z zasilaczem 24

V DC PM1207Patrz rozdział „Schemat połączeń”

5. Połącz zasilacz PM1207 z siecią zasilającą 230 V AC Patrz rozdział „Schemat połączeń”6. Zainstaluj STEP 7 BASIC V10.5 w jednostce programatora –

3.2. Konfiguracja sprzętowa/sieci (warianty A i B)Tab. 3.2.

Nr Instrukcja Uwagi/rysunek1. Otwórz „SIMATIC STEP 7

Basic V10.5” wybierając Start –> Totally Integrated Automation Portal V10

2. Utwórz nowy projekt podając odpowiednią nazwę oraz katalog i potwierdzając w polu Create

3. Konfiguracja

54

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Nr Instrukcja Uwagi/rysunek3. Przejdź do widoku

Devices & Networks i wybierz Configure networks

4. • W celu wprowadzenia urządzenia PLC 1 z katalogu sprzętu wybierz Unspecific CPU 1200 o numerze 6ES7 2XX-XXXX-XXXX” podwójnym kliknięciem.

• Powtórz tę procedurę w celu wprowadzenia PLC2.

• Przejdź do widoku Device

5. • Wybierz PLC_1 w celu detekcji konfiguracji sprzętu

• Wykryj konfigurację dołączonych urządzeń wybierając detect

Tab. 3.2. cd.

55

Część II. Przykłady i aplikacje

Nr Instrukcja Uwagi/rysunek6. • Wybierz odpowiedni

model CPU z listy dostępnych urządzeń w docelowej podsieci.

• W celu identyfikacji, porównaj adres MAC lub włącz wskaźnik w postaci migającego wskaźnika LED („Flash LED”).

• Rozpocznij wykrywanie sprzętu dla PLC 1 wybierając Load.

• Powtórz krok 5. dla PLC 2 oraz krok 6. wybierając następne dostępne urządzenie

7. Przejdź do widoku Network w celu skonfigurowania połączenia sieciowego

8. Użyj metody drag-and-drop do połączenia interfejsów sieci Ethernet obu CPU

Tab. 3.2. cd.

3. Konfiguracja

56

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.3. Komunikacja przez sieć Ethernet ze zintegrowanym za-rządzaniem połączeniem (dla wariantu A)

3.3.1. Konfiguracja sterownika wysyłającego daneTab. 3.3.

Nr Instrukcja Uwagi/rysunek1. • Otwórz blok operacyjny Main

[OB1] sterownika PLC 1 w folderze Program Blocks podwójnym kliknięciem.

• W polu Instructions –> Extended instructions –> Communications otwórz folder Open user communication i przeciągnij blok TSEND_C do sieci 1.

• Następuje automatyczna generacja bloku danych typu „instance” dla funkcji TSEND_C, co należy potwierdzić OK

2. • Otwiera się okno Connection parameter(s) TSEND_C_DB bloku danych.

• Wybierz PLC 2 jako partnera.• Jako dane połączenia partnera

wybierz <new> w celu utworzenia nowego bloku danych o nazwie PLC_2_Conection_DB.

• Wybierz typ połączenia TCP

3. Utwórz blok danych źródłowych dla PLC 1 w następujący sposób:• Wybierz Add new block• Wybierz Data block• Określ nazwę (tu: Source)• Odznacz Symbolic access only• Potwierdź przez OK

57

Część II. Przykłady i aplikacje

Nr Instrukcja Uwagi/rysunek4. W bloku danych Source utwórz

dane do wysłania (tu: Byte i Char) z nazwą, typem danych oraz wartością początkową

5. • Sparametryzuj blok nadawania TSEND_C. Dla bloków danych bez opcji Symbolic access only i LEN = 0 można określić DATA – dane do wysłania – w formie wskaźnika i długości.

• Kliknij dwukrotnie na TSEND_C aby otworzyć blok danych TSEND_C_DB.

• Przejdź do pola wprowadzania DATA wybierając Configuration –> Block parameter –> Properties.

• Zainicjalizuj wskaźnik do skrzynki nadawczej DATA podając adres początkowy bloku danych Source (P#DB3.DBX0.0) oraz długość 2 BYTE

Tab. 3.3. cd.

3. Konfiguracja

58

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.3.2. Konfiguracja sterownika odbierającego daneTab. 3.4.

Nr Instrukcja Uwagi/rysunek1. • Otwórz blok operacyjny Main

[OB1] sterownika PLC 2 w folderze Program Blocks podwójnym kliknięciem.

• W polu Instructions –> Extended instructions –> Communications otwórz folder Open user communication i przeciągnij blok TRCV_C do sieci 1.

• Następuje automatyczna generacja bloku danych typu „instance” dla funkcji TRCV_C. Potwierdź OK

2. • Otwiera się okno Connection parameter(s) bloku danych typu „instance” TRCV_C_DB.

• Wybierz PLC 1 jako partnera, blok danych PLC_1_Conection_DB jako dane połączenia partnera oraz TCP jako typ połączenia

3. Utwórz blok danych docelowych dla PLC 2 w następujący sposób:• Add new block• Wybierz Data block• Określ nazwę (tu: Dest)• Odznacz też Symbolic access

only oraz potwierdź przez OK

59

Część II. Przykłady i aplikacje

Nr Instrukcja Uwagi/rysunek4. W bloku danych Dest utwórz

dane do odbioru złożone z nazwy i typu danych (tu: Word) – przesyłamy dane nadawane Byte i Char do pojedynczego słowa.

5. • Sparametryzuj blok odbiorczy TRCV_C.

• Parametr LEN określający długość danych musi być równy „0”.

• Zainicjalizuj wskaźnik do odebranych danych DATA podając adres początkowy bloku danych odebranych Dest oraz długość 1 słowa (P#DB3.DBX0.0 WORD 1)

Tab. 3.4. cd.

3. Konfiguracja

60

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.3.3. Załadowanie projektu do sterownikaTab. 3.5.

Nr Instrukcja Uwagi/rysunek1. • Otwórz pole Network.

• Wybierz obydwa sterowniki.• Kliknij prawym klawiszem

i wybierz Download to device –> All aby załadować cały projekt do sterowników

2. • Uaktywnij wyświetlanie wszystkich dostępnych urządzeń.

• Wybierz jeden z wyświetlanych sterowników i użyj przycisku Load.

Następuje kolejno załadowanie bloków programu do obu sterowników. Wybór CPU nie ma tutaj znaczenia

3. Połączenie wymaga, żeby adres IP jednostki PG/PC należał do tej samej podsieci co sterowniki.Można przypisać taki adres IP w programie STEP 7 BasicV10.5.W celu przypisania odpowiedniego adresu IP należy potwierdzić ten komunikat przez Yes

4. Następuje potwierdzenie przyporządkowania adresu IP jednostce PC/PG. Zamknij ten komunikat przez kliknięcie na OK

5. Po przeniesieniu wszystkich bloków programu do obu sterowników pojawia się okno Load results.• Wybierz pola Start all aby ustawić

obydwa sterowniki w trybie Run.• Zakończ ładowanie wybierając

pole Finish

61

Część II. Przykłady i aplikacje

3.3.4. Tworzenie tablic nadzoru

Tab. 3.6.Nr Instrukcja Uwagi/rysunek1. W oknie nawigacji projektu

PLC_1 –> Watch tables wybierz opcję Add new Watch Table

2. W tablicy nadzoru TSEND_C utwórz wszystkie parametry bloku nadawczego TSEND_C. Ponadto tablica ta zawiera zapamiętaną informację o statusie ostatniego błędu TSEND_C_ERROR_STATUS, liczników Done i Busy TSEND_C_BUSY_count, a także bit Reset służący do zerowania tych wartości.• Utwórz dane Source.

Byte oraz Source.Char do wysłania oraz kompletne słowo do wysłania o adresie %DB3.DW0

3. Konfiguracja

62

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Nr Instrukcja Uwagi/rysunek3. Podobnie jak w kroku 1.,

utwórz tablicę nadzoru TRCV_C dla PLC_2.Wybierz następujące elementy:• Wszystkie parametry bloku

odbiorczego TRCV_C• Zapamiętany status błędu

TRCV_C_ERROR_STATUS• Długość w bajtach

ostatniego odebranego komunikatu LAST_RCVD_LEN, Done (TRCV_C_DON_count)

• Licznik Busy TRCV_C_BUSY_count

• Reset do zerowania tych wartości oraz element Word bloku odbiorczego Dest

4. Uaktywnij tablicę nadzoru dla każdego sterownika za pomocą przycisków Go online oraz Monitor all

Tab. 3.6. cd.

63

Część II. Przykłady i aplikacje

3.3.5. Konfiguracja bloków komunikacyjnychTab. 3.7.

Nr Instrukcja Uwaga/rysunek1. Początkowo wszystkie bloki

komunikacyjne • PLC_1 (górna tablica

nadzoru TSEND_C)• PLC_2 (dolna tablica

nadzoru TRCV_C)mają status hex „7000” (brak aktywnych zadań), a zawartość elementów nadawania (%DB3.DW0) oraz odbierania (Dest.Word) jest różna

2. Kliknij prawym klawiszem i wybierz Modify –> Modify to 1 aby ustalić parametr kontrolny TSEND_C_CONT

3. Konfiguracja

64

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Nr Instrukcja Uwaga/rysunek3. Bit Busy TSEND_C_BUSY

jest ustawiony i blok nadawania TSEND_C ma teraz status hex „7001” (waiting for connection partner).Ustaw także wartość parametru kontroli odbioru TRCV_C_CONT na „1” (patrz krok 2)

4. Po krótkiej fazie synchronizacji (status hex „7001”), obydwa bloki komunikacyjne mają status hex „7004” (połączenie nawiązane). Dzięki nawiązaniu połączenia, zarówno blok nadajnika, jak i blok odbiorczy mają jedno wyjście w trybie Busy oraz jeden komunikat Done:• TSEND_C_DONE_count• „TSEND_C_BUSY_count• „TRCV_C_DONE_count• „TRCV_C_Busy_count”.Następnie ustaw parametr kontrolny TRCV_C_EN_R równy „1” (patrz krok 2)

Tab. 3.7. cd.

65

Część II. Przykłady i aplikacje

Nr Instrukcja Uwaga/rysunek5. Bit Busy TRCV_C_BUSY

jest znowu ustawiony i blok TRCV_C jest teraz gotowy do odbioru (status: hex „7002”).Rozpocznij zadanie transmisji ustawiając TSEND_C_REQ na wartość „1” (patrz krok 2)

6. Wartość FF5A (hex) słowa %DB3.DW0 w bloku nadajnika Source jest przekazywana do Dest. Obszar odbioru słowa i parametr Last_RCVD_LEN pokazują odebraną liczbę bajtów „2”.Każdy z następujących liczników jest inkrementowany o jedynkę:• TSEND_C_DONE_count• TSEND_C_BUSY_count• TRCV_C_DONE_count• TRCV_C_BUSY_countBlok TRCV_C jest teraz gotowy do odbioru następnego komunikatu (status: hex „7002”)

Tab. 3.7. cd.

3. Konfiguracja

66

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.4. Komunikacja przez sieć Ethernet z ręczną obsługą połą-czenia (dla wariantu B)

3.4.1. Blok TCONBlok połączenia TCON dla komunikacji w sieci Ethernet z ręcznym nawiązywa-niem połączenia musi zostać wywołany zarówno po stronie nadajnika, jak i od-biornika.

Tab. 3.8.Nr Instrukcja Uwagi/rysunek1. • Otwórz blok operacyjny Main

[OB1] dla PLC_1 w folderze Program blocks podwójnym kliknięciem.

• W menu Instructions –> Extended instructions –> Communications –> Open user communications otwórz folder Others i przeciągnij blok TCON do bloku operacyjnego.

• Następuje automatyczna generacja bloku danych typu „instance” dla funkcji TCON, co należy potwierdzić OK

2. Otwiera się okno Connection Parameter(s) dla bloku danych typu „instance” TCON_DB.• Wybierz PLC_2 jako partnera.• Wybierz poprzednio

wygenerowany blok danych jako dane połączenia partnera.

• Jako ID połączenia lokalnego i partnera wybierz „2”, aby uniknąć nałożenia się ID połączonych bloków komunikacyjnych.

• Określ nazwy bloków danych dla połączenia następująco:

o PLC_1_Connection_DB_Others

o PLC_2_Connection_DB_Others

• Wybierz jako typ połączenia ISO-on-TCP

67

Część II. Przykłady i aplikacje

Nr Instrukcja Uwagi/rysunek3. Sparametryzuj blok połączenia

TCON. Przy ID i CONNECT automatycznie są uaktywniane opcje z bloku danych typu „instance” parametrów połączenia TCON_DB (ID = 2 oraz CONNECT = PLC_1_Connection_DB_Others)

4. W OB1 dla PLC_2, wywołaj blok połączenia TCON zgodnie z krokami 1–3. TCON jest identycznie sparametryzowany (ID = 2), ale parametry połączenia dla bloku danych PLC_2_Connection_DB_Others są podane na wejście CONNECT

Tab. 3.8. cd.

3. Konfiguracja

68

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.4.2. Blok TSENDPo nawiązaniu połączenia z partnerem transmisji, blok TSEND rozpoczyna prze-syłanie danych. Po stronie odbiorczej TSEND wymaga bloku TRCV.Wymaganym protokołem jest ISO-on-TCP. W przeciwieństwie do TCP”, protokół ten pozwala na dynamiczną zmianę długości transmitowanych danych.

Tab. 3.9.Nr Instrukcja Uwagi/rysunek1. W bloku danych Source utwórz

tablicę o trzech elementach typu Int z przypisanymi wartościami początkowymi w postaci danych do wysłania

2. Sparametryzuj blok TSEND nadajnika.Jako wartość ID wybierz „2” ustalone w tabeli 3.8.W celu dynamicznej zmiany długości danych, wybierz zmienną (tu TSEND_LEN) dla LEN. W polu DATA wybierz Array – tablicę utworzoną w bloku danych Source (oznaczenie: Source.Array).

69

Część II. Przykłady i aplikacje

3.4.3. Blok TRCVZa pomocą bloku TRCV następuje odbiór danych przekazywanych przez istnieją-ce połączenie komunikacyjne. Blok TRCV jest wykonywany asynchronicznie.

Tab. 3.10.Nr Instrukcja Uwaga/rysunek1. • Otwórz blok operacyjny Main

[OB1] dla PLC_2 w folderze Program Blocks podwójnym kliknięciem.

• W menu Instructions –> Extended instructions –> Communications –> Open user communications otwórz folder Others i przeciągnij blok „TRCV” do bloku operacyjnego.

• Następuje automatyczna generacja bloku danych typu „instance” dla funkcji TRCV, co należy potwierdzić OK

2. W bloku danych docelowych Dest utwórz tablicę taką samą jak w bloku danych Source

3. Sparametryzuj blok odbiorczy TRCV.• Jako ID wybierz wartość

ustaloną w tabeli 3.8.• Jako długość danych

odebranych LEN wybierz „0”. Długość transmitowanych danych jest wtedy określona w bloku TSEND.

• W polu DATA wybierz Array – tablicę utworzoną w bloku danych Dest (oznaczenie: Dest.Array)

3. Konfiguracja

70

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

3.4.4. Blok TDISCONBlok TDISCON, służący do rozłączania transmisji ethernetowej z ręcznym na-wiązywaniem połączenia, musi być wywołany zarówno po stronie nadawczej, jak i odbiorczej.

Tab. 3.11.Nr Instrukcja Uwaga/rysunek1. • Otwórz blok operacyjny Main

[OB1] dla PLC_1 w folderze Program Blocks podwójnym kliknięciem.

• W menu Instructions –> Extended instructions –> Communications –> Open user communications otwórz folder Others i przeciągnij blok TDISCON do bloku operacyjnego.

• Następuje automatyczna generacja bloku danych typu „instance” dla funkcji TDISCON, co należy potwierdzić OK

2. • Sparametryzuj blok rozłączania TDISCON.

• Wybierz ponownie jako ID połączenia „2” ustawione w tabeli 3.8.

• Powtórz poprzednie dwa kroki dla PLC_2.

• Jeszcze raz załaduj zmodyfikowany projekt do sterowników (patrz tabela 3.5) oraz utwórz dla każdego sterownika nową tablicę nadzoru transmisji ethernetowej S7-1200 z ręczną obsługą połączenia (tu: TSEND i TRCV)

71

Część II. Przykłady i aplikacje

3.4.5. Kontrola bloków komunikacyjnychTab. 3.12.

Nr Instrukcja Uwagi/rysunek1. Początkowo wszystkie bloki

komunikacyjne• PLC_1 (lewa tablica nadzoru

TSEND):– TCON– TSEND– TDISCON

• PLC_2 (prawa tablica nadzoru TRCV):– TCON– TRCV– TDISCON

mają status hex „7000” (brak aktywnych zadań) i zawartość elementów tablic nadawania (Source.Array) oraz odbioru (Dest.Array) jest różna

2. W celu nawiązania połączenia musi zostać wykonany blok TCON u obu partnerów transmisji za pośrednictwem dodatniego zbocza sygnału na wejściu REQ.Kliknij prawym klawiszem myszy i wybierz Modify –> Modify to 1 aby ustawić parametr kontrolny TCON_REQ

3. Zostaje ustawiony bit Busy TCON_BUSY i blok połączenia TCON przechodzi do stanu hex „7002” (connection is being established).Teraz ustaw także żądanie nawiązania transmisji TCON_REQ w tablicy nadzoru TRCV sterownika odbiorczego PLC_2 (patrz krok 2)

3. Konfiguracja

72

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Nr Instrukcja Uwagi/rysunek4. Po zakończeniu krótkiej fazy

synchronizacji (status: hex „7002”) wyjścia TCON_DONE przyjmują wartość „1”.Bloki TCON mają status hex „0000” (połączenie zostało nawiązane pomyślnie)

5. Wybrany protokół komunikacyjny ISO-on-TCP obsługuje transmisję z dynamiczną długością danych.Przesłane będą dwa pierwsze elementy (dane typu integer = 2 bajty) tablicy źródłowej Source_sym.Array.Wstaw „4” bajty jako wartość kontrolną dla TSEND_LEN i potwierdź tę wartość kliknięciem prawego klawisza myszy Modify–>Modify now

6. Rozpocznij wykonywanie zadania nadawania ustalając wartość TSEND_REQ na „1” (patrz krok 2).Ustawiając wyjście TSEND_DONE, blok nadajnika sygnalizuje status hex „0000” (zadanie nadawania zakończone bez błędu), mimo że blok odbiornika TRCV nie został jeszcze uaktywniony.Dane do przesłania zostały zapamiętane w buforze, z którego funkcja TRCV będzie czytać dane po zezwoleniu na odbiór. Ustaw zezwolenie na odbiór TRCV_EN_R

Tab. 3.12. cd.

73

Część II. Przykłady i aplikacje

Nr Instrukcja Uwagi/rysunek7. Dane „1” i „2” zawarte w

pierwszych dwóch elementach tablicy zostały przesłane do tablicy Dest.Array odbiornika, a parametr TRCV_Last_RCVD_LEN pokazuje liczbę odebranych bajtów równą „4”.Licznik TRCV_NDR_count sygnalizuje wartością „1” pomyślne odebranie danych, zawartość TRCV_BUSY_count wynosi „2”, a bieżący tryb Busy (TRCV_BUSY).Blok TRCV jest gotowy do przyjęcia następnego komunikatu (status: hex „7002”)

8. W celu przesłania całej tablicy Source_sym.Array można wpisać całkowitą długość (tu: 6 bajtów) do TSEND_LEN lub po prostu ustawię wartość na „0”.Dalej zrestartuj zadanie nadawania dodatnim zboczem TSEND_REQ (ponowne resetowanie i ustawianie).

Tab. 3.12. cd.

3. Konfiguracja

74

Część II. Przykłady i aplikacjePrzykład 1. Komunikacja przez sieć Ethernet: wymiana danych pomiędzy dwoma sterownikami SIMATIC S7-1200

Nr Instrukcja Uwagi/rysunek9. Dodatkowo, tym razem został

wysłany także trzeci element Dest.Array[3] tablicy.Parametr TRCV_Last_RCVD_LEN pokazuje liczbę odebranych bajtów „6”. Liczniki TRCV_NDR_count i TRCV_BUSY_count zostały inkrementowane o jeden.Blok TRCV jest gotowy do odbioru następnego komunikatu (status: hex „7002”).

10. Aby zakończyć połączenie komunikacyjne z ręczną obsługą połączeń należy ustawić bit TDISCON_REQ w obu sterownikach.Połączenie może zostać wznowione przez TCON tylko po pomyślnym jego zakończeniu (TDISCON_DONE).Przy aktywnych połączeniach bloków TCON_REQ, TSEND_REQ lub TRCV_EN_R, bloki te generują komunikaty błędów, gdy połączenie jest zakończone.

Tab. 3.12. cd.

4. Elementy programuW prezentowanym przykładzie są używane kody programów przedstawione w ta-beli 4.1. Można je ściągnąć w postaci skompresowanej z miejsca, w którym znaj-duje się dokumentacja, a następnie otworzyć w opisanym programie.

Tab. 4.1.Nr Nazwa pliku Zawartość

1.CE-X17_EthernetCom_S7-1200_ S7-1200_A.zip• CE-X17_EthernetCom_S7-1200_S7-1200_A.ap10

Plik zip zawiera projekt STEP 7 Basic V10.5 dla zadania A

2.CE-X17_EthernetCom_S7-1200_ S7-1200_B.zip• CE-X17_EthernetCom_S7-1200_S7-1200_B.ap10

Plik zip zawiera projekt STEP 7 Basic V10.5 dla zadania B