PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników Simatic S7 300/S7 400, w celu stworzenia komunikacji między dwoma stacjami S7 300 za pomocą sieci Industrial Ethernet, protokołu S7 i funkcji BSEND/BRCV. 1. PODSTAWOWE INFORMACJE Protokół S7 jest obsługiwany przez wszystkie sterowniki i procesory komunikacyjne serii SIMATIC S7. Do jego zalet naleŝy fakt, Ŝe jest niezaleŝny od wykorzystywanego medium transmisji, którym moŝe być PROFIBUS, Industrial Ethernet, MPI. Za pomocą protokołu S7 moŝna przesyłać do 64kbajtów danych w zaleŝności od wykorzystywanego sprzętu i funkcji uŝytych do obsługi transmisji. Funkcje komunikacyjne BSEND/BRCV są dwustronną usługą komunikacyjną. Oznacza to, Ŝe odpowiednie funkcje muszą być wywołane w stacji wysyłającej dane jak i docelowej. Wspomniane funkcje są funkcjami asynchronicznymi co oznacza, Ŝe mogą wykonywać rozpoczęte zadanie przez kilka cykli programu sterownika. Istnieje kilka rodzajów bloków funkcyjnych BSEND/BRCV w zaleŝności od wykorzystywanego sprzętu: SFB12/SFB13 bloki funkcyjne zintegrowane w systemie sterownika dla niektórych CPU z serii S7-300 oraz wszystkich CPU serii S7-400 FB12/FB13 dodatkowe bloki funkcyjne ładowane wraz z programem sterownika w przypadku wykorzystania jednostki S7-300, w której nie są one zintegrowane w systemie operacyjnym sterownika FB12/FB13 bloki funkcyjne, które są częścią dodatkowej biblioteki SIMATIC_NET_CP zawierającej funkcje do obsługi procesorów komunikacyjnych CP300/400. Stosuje się je w przypadku gdy do komunikacji wykorzystuje się moduł Simatic CP300/400. PoniŜsza tabela pokazuje najwaŝniejsze parametry transmisji danych z wykorzystaniem funkcji BSEND/BRCV. S7-300 S7-400 Maks. długość przesyłanych danych 32KB 64KB Spójność danych 8 32 bajtów 32 bajty - maks. Długość Maks. ilość połączeń Patrz parametry CPU Patrz parametry CPU Doradztwo techniczne: simatic.pl@siemens.com 1
2. ZAŁOśENIA PROJEKTU ZałoŜeniem projektu jest transmisja danych pomiędzy CPU 315-2PN/DP posiadającym zintegrowany port Ethernetowy i CPU 315-2DP z dołączonym procesorem komunikacyjnym, słuŝącym do wymiany danych w sieci Ethernet, CP343-1. Wymiana danych odbywa się poprzez zastosowanie funkcji komunikacyjnych BSEND/BRCV. Jednostka CPU 315-2PN/DP za pomocą funkcji BSEND (FB12) wysyła dane, natomiast CPU 315-2DP odbiera je wykorzystując funkcję BRCV (FB13). Doradztwo techniczne: simatic.pl@siemens.com 2
3. WPROWADZENIE KONFIGURACJI SPRZĘTOWEJ DO PROJEKTU STEP7 3.1 W projekcie tworzymy nowe połączenie sieciowe. W tym celu w oknie programu Simatic Manager klikamy prawym przyciskiem myszy i z menu wybieramy kolejno Insert New Object Industrial Ethernet. Rys.1. Rys.1 3.2 Korzystając z programu HW Config podłączamy sterownik CPU 315-2PN/DP do umieszczonej w projekcie sieci o nazwie Ethernet(1). W tym celu otwieramy okno Properties PN-IO dwukrotnie klikając odpowiedni slot w konfiguracji CPU. Następnie wybieramy polecenie Properties. Rys. 2. Doradztwo techniczne: simatic.pl@siemens.com 3
Rys. 2 3.3 W otwartym oknie Properties Ethernet interface PN-IO wybieramy sieć, do której chcemy podpiąć jednostki biorące udział w komunikacji (w tym wypadku jest to dodana do projektu sieć o nazwie Ethernet(1)) oraz przypisujemy adres IP pod którym konfigurowane CPU będzie dostępne w sieci. Potwierdzamy dwukrotnie klikając OK. Rys. 3. Rys. 3 Doradztwo techniczne: simatic.pl@siemens.com 4
3.4 Zapisujemy i kompilujemy ustawienia sprzętowe stacji. Rys. 4. Rys. 4 3.5 Następnie do sieci podłączamy drugą z jednostek biorących udział w wymianie danych, w tym celu za pomocą programu HW Config otwieramy jej konfigurację sprzętową. Podłączamy sterownik CPU 315-2DP do utworzonej sieci Ethernet(1), wykorzystując procesor komunikacyjny CP343-1. W tym celu dwukrotnie klikamy slot, w którym umieszczony jest procesor komunikacyjny. W otwartym oknie Properties CP343-1 wybieramy polecenie Properties. Rys. 5. Rys. 5 Doradztwo techniczne: simatic.pl@siemens.com 5
3.6 W otwartym oknie Properties - Ethernet interface CP343-1 wybieramy sieć do, której ma być podłączona konfigurowana jednostka (w tym przypadku jest to sieć o nazwie Ethernet(1)). Następnie moŝemy samodzielnie przypisać adres IP, pod którym jednostka będzie dostępna w sieci lub pozostawić adres wpisany automatycznie po wyborze sieci. Potwierdzamy klikając OK Rys. 6. Rys. 6 3.7 Zapisujemy i kompilujemy ustawienia sprzętowe stacji. Rys. 7. Rys. 7 Doradztwo techniczne: simatic.pl@siemens.com 6
3.8 W następnej kolejności trzeba uruchomić program NetPro, w tym celu w głównym oknie programu Step 7 wybieramy polecenie Configure Network. Rys. 8. Rys. 8 3.9 W otwartym oknie programu NetPro tworzymy połączenie niezbędne do wymiany danych, które jest logicznym przypisaniem dwóch partnerów komunikacji. W tym celu wybieramy jedną z pary jednostek CPU mających brać udział w wymianie danych i prawym przyciskiem myszy wywołujemy okno menu. Następnie wybieramy polecenie Insert New Connection. Rys. 9. Rys. 9 Doradztwo techniczne: simatic.pl@siemens.com 7
3.10 W otwartym oknie Insert New Connection wybieramy CPU mające być partnerem komunikacji i typ połączenia. Potwierdzamy klikając OK. Rys. 10. Rys. 10 3.11 Po potwierdzeniu polecenia utworzenia nowego połączenia zostaje wyświetlone okno Properties S7 connection, w którym pokazane są podstawowe parametry utworzonego połączenia. Potwierdzamy klikając OK. Rys. 11. Rys. 11 Doradztwo techniczne: simatic.pl@siemens.com 8
Po prawidłowo zakończonej konfiguracji nowego połączenia, w dole okna programu NetPro w tabeli połączeń pojawi się nowy wiersz zawierający parametry utworzonego połączenia. Rys. 12. Rys. 12 3.12 Następnie, za pomocą polecenia Save and Compile naleŝy zapisać i skompilować wprowadzone do projektu ustawienia związane z utworzeniem nowego połączenia. Po pomyślnie zakończonej kompilacji w otwartym oknie Outputs of consistency check for: pojawi się komunikat o braku błędów. Rys. 13. Rys. 13 Doradztwo techniczne: simatic.pl@siemens.com 9
4. WYWOŁANIE I PARAMETRYZACJA BLOKÓW FUNKCYJNYCH OBSŁUGUJĄCYCH WYMIANĘ DANYCH 4.1 Zgodnie z załoŝeniami projektu w programie sterownika CPU 315-2PN/DP naleŝy wywołać funkcję BSEND (FB12). W tym celu w oknie programu Simatic Manager wybieramy kolejno Simatic 315-2PN/DP CPU 315-2PN/DP S7 Program(2) Blocks. Rys.14. Rys. 14 4.2 W otwartym oknie bloku OB1 z listy lewego menu wybieramy kolejno Libraries Standard Library Communication Blocks FB 12 (BSEND). Klikamy dwukrotnie symbol funkcji w celu umieszczenia jej w programie Rys.15. Rys. 15 Doradztwo techniczne: simatic.pl@siemens.com 10
4.3 W nagłówku funkcji umieszczamy symbol bloku danych, w którym będą przechowywane jej parametry. Następnie klikając YES potwierdzamy polecenie utworzenia nowego bloku danych. Rys. 16. Rys. 16 PoniŜej został umieszczony opis parametrów funkcji BSEND (FB12) PARAMETR TYP OPIS REQ BOOL Zmienna odpowiedzialna za rozpoczęcie wysyłania danych do partnera komunikacji. Wysyłanie jest rozpoczynane za kaŝdym razem,gdy na wejściu pojawi się narastające zbocze, nawet jeśli poprzednie zadanie wysyłania danych nie zostało zakończone. ID WORD Parametr określający ID połączenia, z którego ma korzystać funkcja przy wysyłaniu zmiennych. Patrz: Rys. 12, tabela połączeń, komórki Local ID i Partner ID R BOOL Narastające zbocze na wejściu powoduje przerwanie trwającego wysyłania danych R_ID DWORD Parametr ten słuŝy do przypisania połączenia logicznego pomiędzy parą funkcji BSEND BRCV w ramach połączenia S7. Patrz Rys. 17. DONE BOOL Parametr statusowy: 0 wysyłanie nie rozpoczęte lub w trakcie, 1 wysyłanie zakończone bezbłędnie ERROR BOOL Sygnalizuje pojawienie się błędu 0 - brak błędu, 1 - błąd STATUS WORD Podaje ewentualny kod błędu. SD_1 ANY Wskaźnik do przestrzeni pamięci, z której mają być pobrane dane do wysłania LEN WORD Ilość bajtów, które mają zostać wysłane (podajemy adres słowa, w którym liczba jest przechowywana) Doradztwo techniczne: simatic.pl@siemens.com 11
Rys. 17 4.4 Na rysunku poniŝej pokazana jest przykładowo sparametryzowana funkcja BSEND (FB12). Parametrom, które nie zostały zdefiniowane, przy wywołaniu funkcji zostaną przypisane wartości przechowywane w bloku danych DB12. Rys. 18. Rys. 18 Doradztwo techniczne: simatic.pl@siemens.com 12
4.5 Następnie w programie sterownika CPU 315-2DP wywołujemy funkcję BRCV (FB13). W tym celu w oknie programu Simatic Manager wybieramy kolejno Simatic 315-2DP CPU 315-2DP S7 Program(2) Blocks. Rys. 19. Rys. 19 4.6 W otwartym oknie bloku OB1 z listy lewego menu wybieramy kolejno Libraries Standard Library Communication Blocks FB 13 (BRCV). Klikamy dwukrotnie symbol funkcji w celu umieszczenia jej w programie Rys.20. Rys. 20 Doradztwo techniczne: simatic.pl@siemens.com 13
4.7 W nagłówku funkcji umieszczamy symbol bloku danych, w którym będą przechowywane jej parametry. Następnie klikając YES potwierdzamy polecenie utworzenia nowego bloku danych. Rys. 21. Rys. 21 PoniŜej został umieszczony opis parametrów funkcji BRCV (FB13) PARAMETR TYP EN_R ID R_ID NDR BOOL WORD DWORD BOOL OPIS Parametr wskazujący gotowość do przyjęcia danych poprzez ustawienie 1 na wejściu. Zmienna określająca ID połączenia, z którego ma korzystać funkcja przy wysyłaniu zmiennych. Patrz: Rys. 12, tabela połączeń, komórki Local ID i Partner ID Parametr ten słuŝy do przypisania połączenia logicznego pomiędzy parą funkcji BSEND BRCV w ramach połączenia S7. Patrz Rys. 17. Parametr statusowy: 0 wysyłanie nie rozpoczęte lub w trakcie 1 wysyłanie zakończone bezbłędnie ERROR BOOL Sygnalizuje pojawienie się błędu 0 - brak błędu, 1 - błąd STATUS WORD Podaje ewentualny kod błędu. RD_1 LEN ANY WORD Wskaźnik do przestrzeni pamięci, w której mają być zapisane otrzymane dane Długość otrzymanych danych (podajemy adres słowa, w którym liczba jest przechowywana) 4.8 Na rysunku poniŝej pokazana jest przykładowo sparametryzowana funkcja BRCV (FB13). Parametrom, które nie zostały zdefiniowane, przy wywołaniu funkcji zostaną przypisane wartości przechowywane w bloku danych DB13. Rys. 22. Doradztwo techniczne: simatic.pl@siemens.com 14
Rys. 22 4.9 Następnie naleŝy załadować ustawienia sprzętowe oraz program do wszystkich CPU zawartych w projekcie. W tym celu wracamy do głównego okna projektu SIMATIC Managera i w oknie struktury projektu zaznaczamy jednostkę, do której chcemy załadować program. Następnie naciskamy przycisk Download na pasku narzędzi. Identycznie postępujemy dla innych jednostek zawartych w projekcie. Rys. 23a, 23b. Rys. 23a Rys. 23b Doradztwo techniczne: simatic.pl@siemens.com 15