PoniŜszy dokument zawiera opis konfiguracji programu STEP 7 w celu ustanowienia komunikacji, pomiędzy dwoma jednostkami CPU S7-300, z wykorzystaniem sieci PROFIBUS oraz procesorów komunikacyjnych CP342-5. 1. Podstawowe informacje Procesory komunikacyjne CP342-5 umoŝliwiają korzystanie z następujących typów komunikacji: - Komunikacja PG/OP, wykorzystywana do wgrywania programów i danych konfiguracyjnych, przeprowadzania testów i diagnostyki oraz do monitorowania i sterowania obiektów z paneli operatorskich. - Komunikacja kompatybilna z S5, pozwala na wykorzystywanie funkcji SEND/RECEIVE do przesyłania danych pomiędzy kilkoma stacjami S7oraz S7 i S5. - Komunikacja S7, pozwala na tworzenie prostych i wydajnych połączeń pomiędzy stacjami S7 oraz stacjami PG/PC za pomocą komunikacyjnych bloków funkcyjnych. - Komunikacja w protokole PROFIBUS DP, pozwala na szybką, cykliczną wymianę danych pomiędzy stacją master a stacjami slave. 2. ZałoŜenia projektu ZałoŜeniem projektu jest transmisja danych pomiędzy CPU315F-2DP a CPU314 z wykorzystaniem kart CP342-5. Wymiana danych pomiędzy CPU i CP odbywa się poprzez wykorzystanie funkcji DP_SEND i DP_RECV, jest to zilustrowane na rysunku poniŝej. Doradztwo techniczne: simatic.pl@siemens.com 1
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 PROFIBUS. Rys.1. Rys. 1 Doradztwo techniczne: simatic.pl@siemens.com 3
3.2 Teraz wprowadzamy konfigurację sprzętową stacji Slave. Korzystając z programu HW Config, umieszczamy w projekcie szynę i odpowiednie CPU (nie podłączając go przy tym do sieci Profibus). Następnie dodajemy do konfiguracji procesor komunikacyjny CP342-5 (moŝna do tego wykorzystać sloty 4-11). Z listy wybieramy odpowiednią kartę CP. Po dwukrotnym kliknięciu otwiera się okno Properties PROFIBUS Interface CP342-5, w którym wybieramy podsieć, do której chcemy podłączyć stację slave i ustawiamy jej adres PROFIBUS. Potwierdzamy klikając OK. Rys.2. Rys. 2 Doradztwo techniczne: simatic.pl@siemens.com 4
3.3 Dwukrotnie klikając w symbol karty CP342-5 otwieramy okno Properties CP 342-5 (RO/S4). W zakładce General ustawiamy adres MPI karty CP 342-5. NaleŜy pamiętać, aby ustawić adres róŝny od adresu MPI CPU, z którym połączony jest konfigurowany procesor komunikacyjny. Jest to konieczne gdyŝ komunikacja CPU CP po magistrali wewnętrznej odbywa się za pomocą protokołu MPI. Rys.3. Rys. 3 Doradztwo techniczne: simatic.pl@siemens.com 5
3.4 Następnie przechodzimy do zakładki Operating Mode i poprzez zaznaczenie aktywujemy funkcję DP Slave, potwierdzamy klikając OK. Rys.4. Rys. 4 3.5 Zapisujemy i kompilujemy ustawienia sprzętowe stacji Slave. Rys.5. Rys. 5 Doradztwo techniczne: simatic.pl@siemens.com 6
3.6 Kolejnym krokiem jest wprowadzenie do projektu konfiguracji stacji Master. W tym celu powtarzamy kroki 3.2 oraz 3.3. 3.7 Przechodzimy do zakładki Operating Mode w otwartym oknie właściwości karty CP342-5 stacji Master i aktywujemy opcję DP Master poprzez zaznaczenie odpowiedniego pola. Potwierdzamy klikając OK. Rys.6. Rys. 6 3.8 Następnie trzeba podłączyć CP 342-5 Slave do sieci zarządzanej przez CP342-5 Master. W tym celu z listy w prawej części okna programu HW Config wybieramy kolejno PROFIBUS DP Configured Stations S7-300 CP 342-5. Wybieramy z listy moduł odpowiadający wybranej konfiguracji sprzętowej i na zasadzie przeciągnij i upuść podłączamy go do linii utworzonej sieci PROFIBUS. Rys.7. Doradztwo techniczne: simatic.pl@siemens.com 7
Rys. 7 3.9 W otwartym oknie Properties DP slave wybieramy polecenie Connect (połącz) a następnie potwierdzamy klikając OK. Rys.8. Rys. 8 Doradztwo techniczne: simatic.pl@siemens.com 8
3.10 Następnie zaznaczamy podłączoną stację master i z katalogu sprzętu w programie HW Config wybieramy kolejno PROFIBUS DP Configured Stations S7-300 CP 342-5. Następnie za pomocą myszki umieszczamy w konfiguracji stacji CP342-5 dwa uniwersalne moduły (universal module), odpowiadające kolejno obszarowi danych odbieranych i wysyłanych. Rys.9a,9b. Rys. 9a Doradztwo techniczne: simatic.pl@siemens.com 9
Rys. 9b Doradztwo techniczne: simatic.pl@siemens.com 10
3.11 Dwukrotnie klikamy dodany moduł uniwersalny (Universal module) w celu otwarcia jego okna właściwości. Rys.10. Rys. 10 Doradztwo techniczne: simatic.pl@siemens.com 11
3.12 Kolejnym krokiem jest konfiguracja adresów I/O stacji slave (bardziej szczegółowy opis znajduje się poniŝej, przy opisie parametrów funkcji DP_SEND/DP_RECV). W otwartym oknie właściwości Properties DP Slave w polu I/O type wybieramy opcję Input. Następnie ustawiamy adres początkowy (Start address), długość obszaru danych (Length), jednostkę (Unit), oraz rodzaj spójności przesyłanych danych (Consistency over). Potwierdzamy klikając OK. Rys.11. Rys. 11 PowyŜsza konfiguracja oznacza, Ŝe obszar wejść stacji slave zaczyna się od bajtu 0 i zajmuje kolejnych 8 bajtów oraz, Ŝe jest zapewniona spójna transmisja danych na poziomie wybranej jednostki. Doradztwo techniczne: simatic.pl@siemens.com 12
3.13 Następnie konfigurujemy wyjścia stacji slave. W tym celu dwukrotnie klikamy drugi Universal module i w polu I/O Type wybieramy opcję Output. Podobnie jak w poprzednim punkcie ustawiamy adres początkowy obszaru wyjść stacji slave, długość, jednostkę oraz rodzaj spójności. Potwierdzamy klikając OK. Rys.12. Rys. 12 PowyŜsza konfiguracja oznacza, Ŝe obszar wyjść stacji slave zaczyna się od bajtu 0 i zajmuje 4 słowa (8 bajtów) oraz Ŝe jest zapewniona spójna transmisja danych dla całego przesyłanego obszaru pamięci. Doradztwo techniczne: simatic.pl@siemens.com 13
3.14 Zapisujemy i kompilujemy ustawienia stacji master. Rys.13. Rys. 13 3.15 Kolejnym krokiem jest wywołanie i parametryzacja funkcji DP_SEND oraz DP_RECV zarówno dla stacji Master jak i Slave. Najpierw wywołujemy wspomniane funkcje w bloku OB1 stacji Slave. W tym celu w oknie programu Simatic Manager wybieramy kolejno Simatic 300_Slave CPU 314 S7 Program(2) Blocks. W głównym oknie programu tworzymy nowy blok danych, z którego będziemy korzystać przy transmisji danych. W tym celu w pustej przestrzeni okna klikamy prawym przyciskiem myszy i z menu wybieramy kolejno Insert New Object Data Block. Rys.14. Doradztwo techniczne: simatic.pl@siemens.com 14
Rys. 14 3.16 Wchodzimy do bloku danych i deklarujemy obszar pamięci, który będzie brał udział w transmisji. Rys. 15. Rys. 15 Doradztwo techniczne: simatic.pl@siemens.com 15
3.17 W celu wywołanie funkcji DP_SEND i DP_RECV, wchodzimy do bloku OB1 i z lewego menu wybieramy kolejno Libraries Standard Library Communication Blocks FC1 DP_SEND. Klikamy dwukrotnie na symbol funkcji w celu umieszczenia jej w programie Rys.16. Rys. 16 Doradztwo techniczne: simatic.pl@siemens.com 16
3.18 Podobnie postępujemy w celu umieszczenia w programie funkcji DP_RECV. Z listy prawego menu wybieramy kolejno Libraries Standard Library Communication Blocks FC2 DP_RECV. Rys.17. Rys. 17 Doradztwo techniczne: simatic.pl@siemens.com 17
PoniŜej został zamieszczony opis parametrów funkcji D_SEND i DP_RECV: FC 1 DP_SEND PARAMETR TYP CPLADDR OPIS WORD Jest to adres początkowy procesora komunikacyjnego, Który moŝna odczytać w programie HW Config. Parametr ten jest wykorzystywany przez CPU do adresowania modułu (tutaj CP342-5) i nie ma nic wspólnego z adresami I/O podłączonych stacji Slave. Adres ten musi być zdeklarowany zarówno w funkcji DP_SEND jak i DP_RECV poniewaŝ do jednego CPU moŝna podłączyć do 4 kart CP i dzięki temu moŝliwe jest określenie, z którą 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. 18 SEND ANY Określamy tu obszar danych, który ma zostać przesłany. Na przykład P#DB1.DBX3.0 BYTE 37 oznacza to, Ŝe wskaźnik wskazuje na obszar danych począwszy od 1 bitu 3 bajtu bloku DB1. BYTE 37 oznacza długość wskazanego obszaru danych (37 bajtów). Pomimo tego, Ŝe typ ANY dopuszcza wykorzystanie innych jednostek (np. WORD), przy parametryzacji funkcji DP_SEND dopuszczalny jest tylko BYTE. UWAGA! Nie jest moŝliwe przesyłanie zmiennych do poszczególnych stacji Slave podłączonych do Mastera CP342-5. Zawsze przesyłany jest cały obszar danych zdeklarowany przez wskaźnik. Na przykład mamy stację Slave z 16DI i 16DO,której przestrzeń adresowa zajmuje adresy 200 do 201, w tym przypadku naleŝy określić 202 (0...201) bajty obszaru danych we wskaźniku, nawet jeśli chcemy przesłać tylko 2 bajty (P#DB88.DBX13.0 BYTE 202) DONE BOOL Parametr wskazuje czy transfer danych odbył się bezbłędnie 0: -, 1: nowe dane ERROR BOOL Sygnalizuje pojawienie się błędu 0:-, 1: błąd STATUS WORD Podaje ewentualny kod błędu. Doradztwo techniczne: simatic.pl@siemens.com 18
Rys. 18 FC 2 DP_RECV PARAMETR TYP CPLADDR OPIS WORD Jest to adres początkowy procesora komunikacyjnego, Który moŝna odczytać w programie HW Config. Parametr ten jest wykorzystywany przez CPU do adresowania modułu (tutaj CP342-5) i nie ma nic wspólnego z adresami I/O podłączonych stacji Slave. Adres ten musi być zdeklarowany zarówno w funkcji DP_SEND jak i DP_RECV poniewaŝ do jednego CPU moŝna podłączyć do 4 kart CP i dzięki temu moŝliwe jest określenie, z którą 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. 18 RECV ANY Parametr ten określa obszar pamięci, do którego mają być zapisane dane odebrane przez procesor komunikacyjny. NDR BOOL Parametr ten pokazuje czy nowe dane zostały zaakceptowane, 0:-, 1:nowe dane zaakceptowane ERROR BOOL Sygnalizuje pojawienie się błędu 0:-, 1: błąd STATUS WORD Podaje ewentualny kod błędu. DPSTATUS BYTE Poszczególne bity tego bajtu pozwalają na diagnostykę stacji DP Slave oraz DP Mater. Doradztwo techniczne: simatic.pl@siemens.com 19
3.19 Następnie parametryzujemy wywołane funkcje. PoniŜej pokazany jest blok OB1 stacji Slave ze sparametryzowanymi funkcjami DP_SEND i DP_RECV. Rys.19. Rys. 19 3.20 W celu utworzenia bloku danych, wywołania i sparametryzowania funkcji w bloku OB1 stacji Master naleŝy powtórzyć kroki opisane w punktach 3.15 3.19. Doradztwo techniczne: simatic.pl@siemens.com 20
3.21 Następnie naleŝy załadować 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 21