Laboratorium Integracji Systemów i Sterowania Rozproszonego Sterowania rozproszone z wykorzystaniem standardu sieci przemysłowej ProfiNet Programowalne sterowniki logiczne S7-1200 firmy Siemens Katedra Automatyki i Inżynierii Biomedycznej, Wydział EAIiIB Akademia Górniczo-Hutnicza w Krakowie Maciej Rosół Kraków 2013 1
1. Cel Celem ćwiczenia jest praktyczne zapoznanie się z przemysłowym protokołem sieciowym ProfiNet do budowy sieciowych i rozproszonych systemów pomiarowo-sterujących. W ramach zajęć laboratoryjnych studenci poznają metody konfiguracji sterowników i rozproszonych modułów wejść/wyjść oraz sposoby wymiany danych pomiędzy węzłami sieci ProfiNet. Ponadto zapoznają się z rodziną sterowników Simatic S7-1200 wyposażonych w cyfrowe i analogowe wejścia/wyjścia oraz środowiskiem programowym TIA Portal. Studenci będą realizować algorytmy pomiarowo sterujące, w których regulator uruchamiany jest na oddalonym sterowniku. Ponadto poznają efekty pojawiające się podczas tego typu sterowania np. opóźnienia w transmisji oraz utrata pakietów. 2. Stanowisko laboratoryjne Schemat blokowy stanowiska laboratoryjnego przedstawiono na rysunku 1. Obiekt sterowania stanowi model fizyczny układu inercyjnego drugiego rzędu. Sygnał sterujący VIn stanowi napięcie z zakresu (0 10) V. Sygnały pomiarowe VOut 1 i VOut 2 to wartości napięć z pierwszego i drugiego stopnia układu inercyjnego. System sterowania rozproszonego zbudowano z wykorzystaniem sterowników PLC typu S7-1200 AC/DC/Rly firmy Siemens. Jako kanał komunikacyjny wykorzystano standard Ethernet 10 Base T/100 Base TX. Rysunek 1. Stanowisko laboratoryjne sieci ProfiNet UWAGA!!! Do zasilaczy impulsowych znajdujących się na stanowisku doprowadzono napięcie 230V/50Hz. Pod żadnym pozorem nie wolno ich dotykać, gdyż grozi to śmiercią lub trwałym kalectwem 2
Rys. Schemat blokowy stanowiska laboratoryjnego Rys. Oznaczenia modułów wchodzących w skład układu Sterownik Siemens S7-1200 W układzie sterowania wykorzystano dwa sterowniki programowalne S7-1200 AC/DC/RLY firmy SIEMENS. Sterowniki rodziny S7-1200 znajdują zastosowanie w wielu systemach automatyki. Ich zalety takie jak zwarta konstrukcja, bogata lista rozkazów czy stosunkowo niska cena powodują, że stały się one znakomitym narzędziem, odpowiednim do małych i średnich aplikacji [1]. Widok płyty czołowej sterownika SIEMENS S7-1200 przedstawiono na rysunku 2. 3
Rysunek 2. Sterownik PLC S7-1200 firmy SIEMENS W skład jednostki centralnej sterownika (CPU) wchodzą moduły procesora, zasilacz oraz obwody wejściowe i wyjściowe umieszczone w jednej obudowie. Zaprogramowanie sterownika daje możliwość monitorowania procesu oraz sterowania urządzeniami wchodzącymi w skład aplikacji. Działanie CPU polega na monitorowaniu stanu wejść oraz sterowaniu wyjściami, na podstawie programu stworzonego przez użytkownika, który może zawierać prostą logikę, liczniki, czasomierze, a także skomplikowane operacje matematyczne oraz instrukcje służące do komunikacji z innymi, inteligentnymi urządzeniami. Komunikacja z innymi sterownikami PLC (np. z wykorzystaniem protokołów TCP/IP, S7 Connection) lub rozproszonymi modułami wejść/wyjść (PROFINET) jest możliwa, dzięki wyposażeniu jednostki centralnej w port PROFINET. Dostępne są również moduły komunikacyjne pozwalające na łączność poprzez interfejsy RS485 oraz RS232. Różne rodzaje jednostek centralnych pozwalają na dostosowanie sterownika do konkretnej aplikacji. Każdy sterownik PLC S7-1200 pozwala na podłączenie do trzech urządzeń HMI (Human Machine Interface), przy czym ich liczba jest uzależniona od konkretnego typu panelu operatorskiego. Główne parametry jednostki CPU zastosowanej w opisywanym układzie sterowania przedstawia tabela 1. Tabela 1. Podstawowe parametry CPU 1214C. Parametr CPU 1214C Pamięć robocza 75 KB Pamięć ładowania 4 MB Pamięć nieulotna 10 KB Rozmiar obrazu procesu (wejścia) 1024 b Rozmiar obrazu procesu (wyjścia) 1024 b Lokalne porty I/O dyskretne 14 wejść/10 wyjść Lokalne porty I/O analogowe 2 wejścia, zakres (0 10) V, rozdzielczość 10 bitów Moduły rozszerzeń 8 Płytki sygnałowe 1 (SB1232 AQ) Moduły komunikacyjne 3 Szybkie liczniki 6 Wyjścia impulsowe 2 Karta pamięci SIMATIC (opcjonalna) PROFINET 1 port komunikacyjny Ethernet Szybkość wykonywania operacji 2.3 [µ/instrukcja] arytmetycznych Szybkość wykonywania operacji 0.08 [µ/instrukcja] 4
boolowskich Sama jednostka centralna sterownika S7-1200 spełnia funkcję sterownika kompaktowego, zawierającego niewielką liczbę wejść/wyjść dyskretnych i analogowych. Rozbudowa sterownika o dodatkowe moduły zwiększa jego możliwości oraz pozwala na dostosowanie urządzenia do potrzeb konkretnej aplikacji. Istnieje wiele komponentów kompatybilnych z systemem S7-1200, takich jak: płytki sygnałowe (SB - Signal Board), płytki komunikacyjne (CM - Communication Board) lub płytki bateryjne (BB - Battery Board) - dołączane od strony frontowej CPU, pozwalają one na dodanie portów I/O, dodatkowego interfejsu komunikacyjnego lub zapewniają dłuższą pracę zegara czasu rzeczywistego; do każdej jednostki centralnej można dołączyć jedną płytkę sygnałową, moduły rozszerzeń (SM - Signal Module) - dołączane są z prawej strony CPU, służą do zwiększenia liczby wejść lub wyjść analogowych (Analog I/O) lub cyfrowych (Digital I/O), a także pozwalają na pomiary temperatury z wykorzystaniem termopar (Thermocuple) lub czujników rezystancyjnych (RTD), moduły komunikacyjne (CM - Communication Module), procesory komunikacyjne (CP Communication Processor) lub adaptery TS (TeleService Adapter) - dołączane z lewej strony CPU, umożliwiają komunikację z wykorzystaniem różnych standardów komunikacyjnych, np: RS232, RS422/485, Profibus DP,Modbus, AS-i czy połączenie z wykorzystaniem modemu GPRS; istnieje możliwość dołączenia do trzech modułów komunikacyjnych do pojedynczej CPU. Wykorzystane w laboratorium sterowniki SIEMENS S7-1200 AC/DC/RLY zostały dodatkowo wyposażone w płytkę sygnałową SB 1232 zawierającą jedno wyjście analogowe (prąd/napięcie, ±10V (12 bitów)/0-20ma (11 bitów)), dzięki któremu możliwe jest sterowanie pompą DC. 3. Konfiguracja sterownika S7-1200 w TIA Portal Konfiguracja sterownika S7-1200 w środowisku programowym TIA Portal polega na dodaniu w utworzonym nowym projekcie, jednostki CPU sterownika oraz dodatkowych modułów, w które sterownik jest wyposażony. W dalszej części niniejszego rozdziału zostanie przedstawiony jeden ze sposobów tzw. ręcznej konfiguracji sterownika. W tym celu należy: 1. Uruchomić program Totally Integrated Automation Portal (TIA Portal) ikona. 2. Jeżeli program otworzy się z opcją widoku Project view, przejść do widoku Portal view (lewy dolny róg głównego okna programu TIA Portal. Powinno pojawić się okno jak na rysunku 3). 5
Rysunek 3. Widok głównego okna programu TIA Portal w trybie widoku Portal View 3. W celu utworzenia nowego projektu wybrać opcję Create new project. W pojawiającym się oknie (rysunek 4) należy uzupełnić następujące podstawowe dane związane z nowo tworzonym projektem: nazwa projektu (Project name); miejsce na dysku, gdzie będą przechowywane pliki projektowe (Path); informacje o autorze projektu (Author) i ewentualnie komentarz (Comment). Następnie wybrać przycisk Create. Rysunek 4. Okno tworzenia nowego projektu w TIA Portal 4. Otworzy się okno jak na rysunku 5, w którym wybieramy opcję konfiguracji urządzenia (Configure a Device). 6
Rysunek 5. Okno konfiguracji i programowania sterownika 5. W nowo otwartym oknie wybieramy opcję Add new device i następnie w kolejnym oknie (rysunek 6) rozwijamy listę oznaczoną jako CPU 1214C AC/DC/Rly. Pojawi się jedna lub dwie wersje wybranego sterownika. Jeżeli istnieją dwie wersje należy wybrać tę nowszą. Na tym etapie można również ustalić nazwę urządzenia (Device name). Wybrać przycisk Add. Rysunek 6. Okno wyboru sterownika 7
6. Automatycznie otworzy się okno w trybie Project view z nowo utworzoną tzw. wirtualną listwą montażową i CPU (rysunek 7). W celu skonfigurowania adresu IP sterownika, należy w oknie Device view wybrać złącze RJ-45 (pojawi się niebieski obrys wokół tego złącza), a następnie zakładkę Properties (właściwości) okna inspekcyjnego. Wybrać opcję Ethernet addresses i we właściwościach IP Protocol zaznaczyć Set IP address in the project oraz uzupełnić pola: IP address: i Subnet mask: (właściwe wartości podane są w tabeli 2 i na sterowniku S7-1200). Rysunek 7. Okno Device view konfiguracji sprzętowej Tabela 2. Parametry modułów Ethernet poszczególnych sterowników PLC_1 PLC_2 IP Address 10.10.3. 1 10.10.3. 2 Subnet Mask 255.255.255.0 255.255.255.0 Router IP Address Nieużywany Nieużywany 7. Dodanie modułu wyjścia analogowego SB 1232. Jak na rysunku 8 zaznaczyć pole Signal board (płytki sygnałowej) na panelu frontowym wirtualnego sterownika S7-1200 (pojawi się niebieski obrys tego pola). Korzystając z katalogu sprzętu (ang. Hardware Catalog) wybrać moduł: Signal board/aq/aq1 x 12 bits/6es7 232-4HA30-0XB0. Następnie przeciągnąć wybrany moduł na podświetlone pole wirtualnego sterownika. Parametry dodanego modułu SB 1232 można ustalić po wybraniu pola Signal board na panelu frontowym wirtualnego sterownika S7-1200 (pojawi się biały obrys tego pola) w zakładce Properties okna inspekcyjnego (patrz rysunek 9). 8
Rysunek 8. Dodanie modułu wyjścia analogowego SB 1232 Rysunek 9. Ustalenie parametrów modułu SB 1232 8. W celu konfiguracji parametrów operacyjnych jednostki CPU, w tym wszystkich I/O, należy w oknie Device view wybrać CPU (pojawi się niebieski obrys wokół całej CPU), a następnie zakładkę Properties okna inspekcyjnego. Przykładowy wygląd okna inspekcyjnego pokazano na rysunku 10. 9
Rysunek 10. Konfiguracja parametrów CPU i wejść/wyjść 9. Konfiguracja sprzętowa sterownika musi zostać zapisana w jego pamięci. W tym celu w oknie drzewa projektu, prawym przyciskiem myszy wybrać sterownik, którego konfigurację chcemy zapisać. Następnie z menu kontekstowego wybrać opcję Download to device/hardware configuration (rysunek 11). Jeżeli wcześniej nie dokonano kompilacji konfiguracji, zastanie ona przeprowadzona w tym momencie. Po tym etapie pojawi się okno wyboru sterownika, do którego będzie zapisywana konfiguracja. Należy ustawić parametry interfejsu ProfiNet jak na rysunku 12, wybrać docelowy sterownik i nacisnąć przycisk Load. Rysunek 11. Zapis konfiguracji sprzętowej do pamięci sterownika 10
Rysunek 12. Ustalenie parametrów interfejsu ProfiNet i wybór docelowego sterownika 10. Otworzy się okno jak na rysunku 13, w którym należy sprawdzić poprawność czynności realizowanych podczas zapisu konfiguracji sprzętowej do sterownika. Jeżeli wszystkie czynności są zgodne z oczekiwaniami wybrać przycisk Load. Rysunek 13. Sprawdzenie czynności wykonywanych przy zapisie konfiguracji sprzętowej 11. Po zapisie konfiguracji pojawi się okno z zapytaniem o uruchomienie sterownika i modułów I/O. Jeżeli użytkownik nie przygotował wcześniej aplikacji uruchamianej na sterowniku PLC 11
należy opcję Start all pozostawić odznaczoną (rysunek 14). Następnie wybrać przycisk Finish. Proces konfiguracji sprzętowej został zakończony. Rysunek 14. Zapytanie o uruchomienie sterownika i modułów I/O Po zakończeniu konfiguracji można przygotować i uruchomić pierwszy program przedstawiony na rysunku 15. Program ten po załączeniu przełącznika podłączonego do wejścia dyskretnego %I0.0 sterownika PLC przepisuje wartość umieszczoną w pamięci pod adresem %MW10 do rejestru wyjściowego %QW80 modułu SB 1232. Korzystając z multimetru cyfrowego, zmieniając wartość %MW10 można sprawdzić poprawność napięcia generowanego na wyjściu modułu SB 1232 (po uruchomieniu aplikacji na sterowniku należy wybrać tryb monitoringu!!!). Rysunek 15. Program do testów poprawności konfiguracji sprzętowej PLC 12
4. Konfiguracja połączeń sieciowych PLC PLC w środowisku TIA Portal Nawiązanie komunikacji sieciowej pomiędzy urządzeniami sterującymi musi być poprzedzone wykonaniem konfiguracji sprzętowej. Na laboratorium do konfiguracji, programowania oraz diagnostyki układu sterowania należy wykorzystać środowisko TIA Portal. W celu łatwiejszego przedstawienia sposób konfiguracji połączeń sieciowych, na rysunku 16 zamieszczono widok połączeń pomiędzy poszczególnymi sterownikami S7-1200, wchodzącymi w skład systemu sterowania. Rysunek 16. Połączenia sieciowe pomiędzy urządzeniami wchodzącymi w skład systemu sterowania 4.1. Konfiguracja połączenia z wykorzystaniem bloków funkcyjnych TSEND_C oraz TRCV_C Instrukcje TSEND_C oraz TRCV_C pozwalają na nawiązanie połączenia pomiędzy sterownikami, wymianę danych oraz jego automatyczne podtrzymanie, wykorzystując w tym celu protokoły TCP oraz ISO on TCP. Aby umożliwić nawiązanie połączenia, a następnie wysyłanie danych (ze sterownika lokalnego - local do oddalonego - partner), należy w programie lokalnego sterownika umieścić instrukcję TSEND_C. Odpowiadająca jej instrukcja TRCV_C, odpowiedzialna za odbiór przesyłanych danych, musi zostać umieszczona w sterowniku oddalonym. Pokazany w dalszej części tego rozdziału przykład ilustruje sposób konfiguracji połączenia pomiędzy sterownikami PLC 2 oraz PLC 1 (na przykładzie protokołu TCP). Przykład dotyczy przesyłania informacji o wartościach napięć z wyjść obiektu inercyjnego II rzędu (sygnały analogowe podłączone do sterownika PLC 2) do sterownika PLC 1. W celu umożliwienia wysłania dowolnej wartości ze sterownika PLC 2 do PLC 1 należy wykonać następujące kroki: 1. Dodanie instrukcji TSEND_C w programie sterownika PLC 2 Wygląd bloku komunikacyjnego w języku LD przedstawiono na rysunku 17. Po dodaniu instrukcji do programu użytkownika, automatycznie tworzony jest skojarzony z nią blok danych (w tym przypadku DB3), przechowujący parametry konfiguracyjne. 13
Rysunek 17. Instrukcja TSEND_C w programie sterownika PLC 2, język LD Każdy blok komunikacyjny wymaga skonfigurowania odpowiednich parametrów. Do nawiązania komunikacji niezbędne są tylko niektóre z nich, inne spełniają dodatkowe funkcje, np. diagnostyczne. Jedną z najistotniejszych rzeczy podczas konfiguracji instrukcji TSEND_C jest wprowadzenie na wejście DATA wskaźnika do obszaru pamięci (wraz z długością danych), której zawartość ma zostać przesłana do oddalonego sterownika. W przypadku, kiedy wraz z adresem pamięci podana jest długość danych, wejście LEN powinno mieć wartość 0 (w niektórych wersjach bloku TSEND_C wejście LEN nie występuje!!!). Wejście CONNECT wymaga podania nazwy bloku danych, zawierającego informacje o połączeniu (blok ten jest tworzony podczas konfiguracji instrukcji). Wymuszenie przesłania danych realizowane jest przez pojawienie się narastającego zbocza na wejściu REQ. Wpisanie jedynki logicznej na wejście CONT, powoduje natomiast automatyczne podtrzymanie nawiązanego połączenia. Dokładny opis wejść i wyjść instrukcji komunikacyjnych znajduje się w tabeli 3. UWAGA!!! Zaleca się, aby wszystkie parametry bloków TSEND_C i TRCV_C ustalać z poziomu zakładek z parametrami dla tych instrukcji. Są one dostępne po podwójnym kliknięciu na bloku TSEND_C lub TRCV_C w oknie inspekcyjnym (alternatywą jest naciśnięcie prawego przycisku myszy na bloku TSEND_C lub TRCV_C i wybranie opcji Properties menu kontekstowego). Szczegóły podano w podpunkcie 3 i 4 niniejszego rozdziału. 2. Dodanie instrukcji TRCV_C w programie sterownika PLC 1 Widok bloku komunikacyjnego w języku LD przedstawiono na rysunku 18. Podobnie jak w przypadku poprzedniej instrukcji, po jej dodaniu automatycznie tworzony jest blok danych, zawierający parametry konfiguracyjne. 14
Rysunek 18. Instrukcja TRCV_C w programie sterownika PLC 1, język LD W przypadku instrukcji TRCV_C należy na wejściu DATA wpisać adres obszaru pamięci (oraz długość danych), pod którym zapisywane będą odebrane informacje. Parametry połączenia przechowywane są również w bloku danych tworzonym podczas konfiguracji, którego nazwę należy wpisać na wejściu CONNECT. Aby umożliwić odbiór danych, wejście EN_R powinno być w stanie wysokim. Przypisanie odpowiednich adresów do wyjść instrukcji, pozwala na monitorowanie statusu komunikacji i dalsze sterowanie wymianą danych. 3. Konfiguracja instrukcji TSEND_C w sterowniku PLC 2 Parametry konfiguracyjne instrukcji TSEND_C dostępne są w oknie inspekcyjnym po kliknięciu prawym przyciskiem myszy w blok instrukcji, a następnie wybraniu opcji Properties. Parametry te zostały podzielone na dwie osobne grupy, widoczne w zakładkach Connection parameter oraz Block parameter. Zakładka Block parameter umożliwia przypisanie odpowiednich adresów (wartości) do poszczególnych wejść i wyjść bloku (można tego dokonać również bezpośrednio, z poziomu programu użytkownika). Widok zakładki Connection parameter przedstawiono na rysunku 19. Daje ona możliwość wyboru sterownika, z którym ma zostać nawiązana komunikacja (jeśli znajduje się ona w tym samym projekcie, w przeciwnym przypadku należy wybrać Unspecified) oraz ustawienie parametrów połączenia. Po wyborze urządzenia (tzw. Partner), pola Interface, Subnet oraz Address zostają wypełnione automatycznie. Do wyboru pozostają jedynie typ protokołu (Connection type - TCP lub ISO on TCP), numer połączenia (Connection ID), nazwy bloków przechowujących parametry połączenia oraz szczegóły adresu. Należy również zdecydować, który sterownik będzie stroną aktywną (może być tylko jeden z nich!!!). 15
Rysunek 19. Zakładka z parametrami instrukcji TSEND_C w sterowniku PLC 2 Każde połączenie powinno mieć unikalny numer w obrębie sterownika (oznacza to, że numery Connection ID dla poszczególnych sterowników mogą się różnić). Listy rozwijane Connection data, zawierają nazwy wszystkich utworzonych bloków, które mogą przechowywać informację o połączeniu. W przypadku, gdy taki blok nie został utworzony, należy z listy rozwijanej wybrać opcję New (dodanie nowego bloku). Operację tę należy wykonać dla każdego ze sterowników. Szczegóły adresu (Address details) różnią się w zależności od wybranego wcześniej protokołu. W przypadku protokołu TCP, w polu Port (decimal) należy określić numer portu zdalnego sterownika, z użyciem którego realizowane będzie dane połączenie (dopuszczalne numery porów można sprawdzić w dokumentacji sterownika S7-1200). Jeżeli natomiast wybrany został protokół ISO on TCP, należy zdefiniować lokalny oraz zdalny adres TSAP (ang. Transport Service Access Point). Numery portów oraz TSAP umożliwiają nawiązanie wielu połączeń z urządzeniami posiadającymi jeden adres IP. 4. Konfiguracja instrukcji TRCV_C w sterowniku PLC 1 Dostęp do zakładki konfiguracyjnej instrukcji TRCV_C w sterowniku PLC 1 uzyskuje się w sposób analogiczny jak w przypadku instrukcji TSEND_C w sterowniku PLC 2. Zawiera ona dokładnie takie same informacje, jak zakładka przedstawiona na rysunku 19. Po skonfigurowaniu jednej strony połączenia, oprogramowanie TIA Portal automatycznie uzupełnia wartości parametrów konfiguracyjnych strony drugiej (rysunek 20). Należy jednak dokładnie zweryfikować czy są one poprawne. Tak skonfigurowane połączenie umożliwia wysyłanie danych z jednego sterownika do drugiego (w omawianym przykładzie z PLC 2 do PLC 1). Przesyłanie danych w kierunku odwrotnym będzie możliwe po dodaniu bloków TSEND_C w sterowniku PLC 1 oraz TRCV_C w sterowniku PLC 2 oraz odpowiedniej ich konfiguracji. Do rozwiązania pozostaje jeszcze kwestia sposobu wyzwalania komunikacji (wejście REQ instrukcji TSEND_C). W niniejszym przykładzie, w tym celu wykorzystane zostały przerwania cykliczne (ang. Cyclic interrupt). W każdym wykonaniu bloku cyklicznego, wartość bitu wyzwalającego zmieniana jest na przeciwną. 16
Rysunek 20. Zakładka z parametrami instrukcji TRCV_C w sterowniku PLC 1 Tabela 3. Opis parametrów instrukcji TSEND_C i TRCV_C Parametr Typ Typ danych Opis REQ IN Bool Wykrycie narastającego zbocza sygnału na (TSEND_C) wejściu REQ powoduje rozpoczęcie przesyłania danych IN Bool Jedynka logiczna na wejściu EN_R zezwala na odbiór danych EN_R (TRCV_C) CONT IN Bool 0 - rozłączenie połączenia, 1 - nawiązanie oraz podtrzymanie połączenia LEN IN UInt Maksymalna liczba bajtów do wysłania lub odebrania. W przypadku gdy wartość jest równa 0, długość danych jest determinowana przez parametr DATA. (65535 - zmienna długość, Ad hoc mode) CONNECT IN_OUT TCON_Param Wskaźnik do opisu połączenia (bloku danych z parametrami połączenia) DATA IN_OUT Variant Zawiera adres początkowy oraz długość danych do wysłania lub odebrania COM_RST IN_OUT Bool Jedynka na wejściu COM_RST zamyka aktualne połączenie i restartuje blok funkcyjny DONE OUT Bool 0 - operacja nie została rozpoczęta lub jest w trakcie, 1 - operacja zakończona powodzeniem, bez wystąpienia błędu BUSY OUT Bool 0 - operacja zakończona, 1 - operacja w trakcie, nie można rozpocząć kolejnej operacji ERROR OUT Bool 0 - brak błędu, 1- wystąpił błąd podczas przesyłania danych STATUS OUT Word Informacja statusowa, zawierająca kod błędu RCVD_LEN OUT Int Ilość odebranych bajtów 17
(TRCV_C) 4.2. Konfiguracja połączenia z wykorzystaniem bloków funkcyjnych PUT oraz GET Instrukcje PUT oraz GET pozwalają odpowiednio na wysłanie do oraz odczyt danych z oddalonego sterownika z wykorzystaniem protokołu S7 Connection. W przeciwieństwie do omawianych poprzednio bloków funkcyjnych TSEND_C oraz TRCV_C, zarówno odczyt jak i zapis informacji można zrealizować z poziomu programu tylko jednego sterownika (nie jest konieczna konfiguracja odbioru danych w drugim sterowniku). 1. Wysłanie danych do zdalnego sterownika W celu wysłania danych ze sterownika PLC 1 do sterownika PLC 2 (rysunek 16) należy w programie sterownika PLC 1 umieścić i odpowiednio skonfigurować instrukcję PUT. Widok bloku instrukcji w języku LD przedstawiono na rysunku 21. Komunikacja z wykorzystaniem instrukcji PUT jest wyzwalana narastającym zboczem sygnału na wejściu REQ. Aby jednak była ona możliwa, należy odpowiednio skonfigurować blok funkcyjny. Wejście SD_1 bloku zawiera wskaźnik do obszaru pamięci oraz długość danych, które mają zostać wysłane (lub nazwę zmiennej - jak na rysunku 21). Do wejścia ADDR_1 należy natomiast przypisać wskaźnik oraz rozmiar obszaru pamięci w oddalonym sterowniku, do którego mają być zapisywane przesyłane dane. Rysunek 21. Instrukcja PUT w programie sterownika PLC 1, język LD Instrukcja PUT pozwala na wysłanie danych do czterech różnych lokalizacji w zdalnym sterowniku. Dostęp do parametrów połączenia uzyskuje się klikając prawym przyciskiem myszy na bloku instrukcji w programie użytkownika. Widok zakładki konfiguracyjnej omawianego bloku funkcyjnego przedstawiono na rysunku 22. Podczas konfiguracji połączenia, należy wybrać z listy rozwijanej odpowiedni sterownik. Większość parametrów zostanie uzupełniona automatycznie. Ważnym jest, aby wskazać odpowiednie połączenie (Connection name), klikając na przycisk oznaczony trzema kropkami. Jeśli żadne połączenie nie zostało wcześniej utworzone, należy je dodać wybierając przycisk Add new connection (w pojawiającym się okienku). 18
Rysunek 22. Zakładka z parametrami instrukcji PUT w sterowniku PLC 1 2. Odczyt danych ze zdalnego sterownika Odczyt danych ze zdalnego sterownika realizowany jest w bardzo podobny sposób do poprzednio przedstawionego zapisu. Do odczytu informacji z oddalonego sterownika z wykorzystaniem protokołu S7 Connection służy blok funkcyjny GET (rysunek 23). Konfiguracja tego bloku przebiega w sposób analogiczny do konfiguracji bloku PUT. Należy zwrócić uwagę na fakt, że wejścia oznaczone jako ADDR_x (x = 1, 2, 3, 4) przechowują wskaźniki do obszarów pamięci (wraz z długością), z których instrukcja ma odczytywać dane. Informacje te są następnie zapisywane do obszaru pamięci w sterowniku lokalnym, określonym przez wejścia RD_ x (x = 1, 2, 3, 4). Rysunek 23. Instrukcja GET w programie sterownika PLC 1, język LD Zakładka z parametrami konfiguracyjnymi połączenia instrukcji GET wygląda identycznie jak w przypadku instrukcji PUT (rysunek 22). Dokładne omówienie wejść oraz wyjść bloków komunikacyjnych PUT i GET zamieszczono w tabeli 4. Tabela 4. Opis parametrów instrukcji PUT i GET Parametr Typ Typ danych Opis REQ Input Bool Wykrycie narastającego zbocza sygnału na wejściu REQ powoduje rozpoczęcie przesyłania danych ID Input CONN_PRG (Word) Numer połączenia S7 Connection NDR (GET) Output Bool 0 - zadanie nie zostało rozpoczęte lub jest w 19
DONE (PUT) trakcie realizacji,1 - zadanie zostało pomyślnie zakończone Output Bool 0 - zadanie nie zostało rozpoczęte lub jest w trakcie realizacji,1 - zadanie zostało pomyślnie zakończone ERROR Output Bool 0 - brak wystąpienia błędu, możliwość wystąpienia ostrzeżenia, 1- wystąpienie błędu; szczegółowe informacje w słowie statusu STATUS Output Word Zawiera informacje o pojawiających ostrzeżeniach lub błędach ADDR_1 - ADDR_4 RD_1 - RD_4 SD_1 - SD_4 InOut Remote Wskaźniki do obszarów pamięci w zdalnym CPU, które przechowują dane do odczytu (GET), lub pod którymi dane są zapisywane (PUT) InOut Variant Wskaźniki do obszarów pamięci w lokalnym CPU, w których zapisywane są dane z odczytu (GET) InOut Variant Wskaźniki do obszarów pamięci w lokalnym CPU, z których wartości przesyłane są do zdalnego CPU (PUT) Bibliografia [1] Siemens Polska, Simatic S7. Programowalny sterownik S7-1200. Podręcznik Systemu, Wydanie 04, 2009. [2] Siemens Polska, Pierwsze kroki S7-1200 PLC, Wersja 2, http://www.automatyka.siemens.pl, 2012. [3] Siemens Polska, SIMATIC S7-1200 w przykładach, Wydanie 1, http://www.siemens.pl/s7-1200, 2012. [4] Siemens AG, SIMATIC S7-1200 Easy Book. Manual, http://www.siemens.com, Germany, 04/2012. 20