PoniŜszy dokument zawiera opis konfiguracji programu STEP7 dla sterowników Simatic S7-300/ S7-400, w celu stworzenia komunikacji pomiędzy dwoma stacjami S7-300 za pomocą sieci Industrial Ethernet protokołu TCP oraz funkcji AG_SEND/AG_RECV. 1. PODSTAWOWE INFORMACJE Funkcje FC5 AG_SEND i FC6 AG_RECV są częścią biblioteki SIMATIC_NET_CP i pozwalają na przesyłanie danych w oparciu o następujące protokoły komunikacyjne: TCP (Industrial Ethernet) ISO-on-TCP (RFC1006) (Industrial Ethernet) ISO (Industrial Ethernet) UDP (Industrial Ethernet) FDL (PROFIBUS) PoniŜsza tabela zawiera moŝliwe długości przesyłanych danych dla róŝnych protokołów komunikacyjnych: Blok FC ISO ISO-on-TCP TCP UDP FDL AG_SEND (S7-300) 8192 bajty 8192 bajty 8192 bajty 2048 bajtów 240 bajtów AG_LSEND (S7-400) AG_SEND (S7-400) 240 bajtów 240 bajtów 240 bajtów 240 bajtów 240 bajtów AG_RECV (S7-300) AG_LRECV (S7-400) AG_RECV (S7-400) 8192 bajty 8192 bajty 8192 bajty 2048 bajtów 240 bajtów 240 bajtów 240 bajtów 240 bajtów 240 bajtów 240 bajtów Do przesyłania większej ilości danych (>240 bajtów) do 8192 bajtów w przypadku procesorów CP serii S7-400 jak i starszych procesorów CP serii S7-300 (do wersji 6GK7 343-1EX10-0XE0 wersja 2.2), naleŝy wykorzystać funkcje FC50 AG_LSEND oraz FC60 AG_LRECV. Doradztwo techniczne: simatic.pl@siemens.com 1
2. ZałoŜenia projektu ZałoŜeniem projektu jest dwukierunkowa transmisja danych pomiędzy CPU 312C i CPU 315F-2DP. 1) Jednostka CPU 312C wysyła pierwszych 50 bajtów danych z bloku DB1 do jednostki CPU 315F-2DP, która zapisuje otrzymane dane w pierwszych 50 bajtach bloku DB1. 2) Jednostka CPU 315F-2DP wysyła kolejnych 100 bajtów z przestrzeni pamięci markerów począwszy od bajtu 50 do jednostki CPU 312C, która zapisuje otrzymane dane do pamięci markerów począwszy od bajtu 100. Do kaŝdego CPU dołączony jest procesor komunikacyjny CP343-1. Wymiana danych odbywa się z wykorzystaniem sieci Industrial Ethernet oraz protokołu TCP oraz funkcji AG_SEND i AG_RECV. Funkcja FC5 AG_SEND słuŝy do przesyłania danych z CPU do procesora komunikacyjnego CP, który przesyła dane za pomocą skonfigurowanego połączenia. Funkcja FC6 AG_RECV słuŝy do transferu danych przesyłanych za pomocą skonfigurowanego połączenia z CP do CPU. Jest to przedstawione na poniŝszym rysunku. 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 312C do umieszczonej w projekcie sieci o nazwie Ethernet(1) wykorzystując do tego procesor CP 343-1. W tym celu otwieramy okno Properties PN-IO dwukrotnie klikając odpowiedni slot w konfiguracji. 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 CPU312C wywołujemy funkcje AG_SEND (FC5) i AG_RECV (FC6). W tym celu w oknie programu Simatic Manager wybieramy kolejno Simatic 312C CPU 312C S7 Program(2) Blocks. Rys.14. Rys. 14 4.2 W otwartym oknie bloku OB1 z listy lewego menu wybieramy kolejno Libraries SIMATIC_NET_CP CP_300 FC 5 (AG_SEND). Klikamy dwukrotnie symbol funkcji w celu umieszczenia jej w programie Rys.15. Rys. 15 Doradztwo techniczne: simatic.pl@siemens.com 10
4.3 Podobnie postępujemy w celu umieszczenia w programie funkcji AG_RECV. Z listy prawego menu wybieramy kolejno Libraries SIMATIC_NET_CP CP_300 FC6 AG_RECV. Rys.16. Rys. 16 PoniŜej został umieszczony opis parametrów funkcji AG_SEND i AG_RECV: Doradztwo techniczne: simatic.pl@siemens.com 11
FC 5 AG_SEND PARAMETR TYP OPIS ACT BOOL Jeśli na wejściu pojawia się 1, ilość bajtów określona przez parametr LEN z przestrzeni danych określonej przez parametr SEND, zostaje wysłana. Jeśli na wejściu pojawi się 1 podczas gdy poprzednie zadanie wysyłania nie zostało zakończone, wtedy zostaje ono przerwane i zostaje rozpoczęte nowe wysyłanie. ID INT 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 LADDR WORD Jest to adres początkowy procesora komunikacyjnego, Który moŝna odczytać w programie HW Config. Adres ten musi być zdeklarowany zarówno w funkcji AG_SEND jak i AG_RECV, poniewaŝ do jednego CPU moŝna podłączyć kilka procesorów CP i dzięki temu moŝliwe jest określenie, z którym ma nastąpić wymiana danych. UWAGA! NaleŜy pamiętać, Ŝe deklarujemy tutaj wartość heksadecymalną, przeliczoną z liczby dziesiętnej podanej w HW Config Rys. 17 SEND ANY Parametr ten określa adres i długość przesyłanego obszaru danych. Dozwolone jest definiowanie obszaru pamięci markerów lub bloku danych. LEN INT Liczba bajtów, która zostanie wysłana. Musi to być liczba z zakresu od 1 do ilości bajtów zdefiniowanych w poprzez parametr SEND. DONE BOOL Parametr ten wskazuje czy wysyłanie zostało zakończone bezbłędnie: 0 wysyłanie w trakcie 1 wysyłanie zakończone bezbłędnie ERROR BOOL Parametr sygnalizuje wystąpienie błędu podczas transmisji: 0 brak błędu 1 błąd STATUS WORD Parametr pokazujący ewentualny kod błędu. PoniŜsza tabela zawiera opis moŝliwych błędów. Doradztwo techniczne: simatic.pl@siemens.com 12
Doradztwo techniczne: simatic.pl@siemens.com 13
FC 6 AG_RECV PARAMETR TYP OPIS ID INT 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 LADDR WORD Jest to adres początkowy procesora komunikacyjnego, Który moŝna odczytać w programie HW Config. Adres ten musi być zdeklarowany zarówno w funkcji AG_SEND jak i AG_RECV, poniewaŝ do jednego CPU moŝna podłączyć kilka procesorów CP i dzięki temu moŝliwe jest określenie, z którym ma nastąpić wymiana danych. UWAGA! NaleŜy pamiętać, Ŝe deklarujemy tutaj wartość heksadecymalną, przeliczoną z liczby dziesiętnej podanej w HW Config Rys. 17 RECV ANY Parametr ten określa adres i długość obszaru danych, do którego zostaną zapisane otrzymane dane. Dozwolone jest definiowanie obszaru pamięci markerów lub bloku danych. NDR BOOL Parametr wskazuje czy nowe dane zostały zaakceptowane ERROR BOOL Parametr sygnalizuje wystąpienie błędu podczas transmisji: 0 brak błędu STATUS 1 błąd WORD Parametr pokazujący ewentualny kod błędu. PoniŜsza tabela zawiera opis moŝliwych błędów. LEN INT Parametr wskazuje ile bajtów danych zostało przesłanych z CP do obszaru danych określonego przez parametr RECV Doradztwo techniczne: simatic.pl@siemens.com 14
Doradztwo techniczne: simatic.pl@siemens.com 15
Rys. 17 Doradztwo techniczne: simatic.pl@siemens.com 16
4.4 Na poniŝszym rysunku pokazane zostały sparametryzowane funkcje AG_SEND oraz AG_RECV w programie sterownika SIMATIC 312C. Rys. 18. Rys. 18 4.5 W celu wywołania funkcji FC 5 AG_SEND oraz FC 6 AG_RECV w programie sterownika SIMATIC 315F-2DP naleŝy powtórzyć czynności opisane w punktach 4.1 4.3. Doradztwo techniczne: simatic.pl@siemens.com 17
4.6 Na poniŝszym rysunku pokazane zostały sparametryzowane funkcje AG_SEND oraz AG_RECV w programie sterownika SIMATIC 315F-2DP. Rys. 19. Rys. 19 Doradztwo techniczne: simatic.pl@siemens.com 18
4.7 Następnie naleŝy załadować konfiguracje sprzętową i 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. 20a, 20b. Rys. 20a Rys. 20b Doradztwo techniczne: simatic.pl@siemens.com 19