Ethernet w sterownikach PLC Metoda dostępu CSMA Metoda przypadkowego dostępu do łącza CSMA (Carrier Sense Multiple Access) Carrier Sense (śledzenie nośnej) - wszystkie stacje chcące rozpocząć transmisję nasłuchują, czy w sieci znajduje się sygnał (nośna). na). Multiple Access (wielodostęp) - wszystkie stacje mają jednakowy dostęp do wspólnego ośrodka przesyłania sygnałów. Metoda dostępu CSMA A B C A B C A B C Stacja A rozpoczyna nadawanie, ponieważ nie odbiera w tym momencie żadnych sygnałów z innych stacji Po pewnym czasie sygnał dochodzi do stacji B, stacja B wykrywa sygnał w sieci i od tego momentu mentu stacja B nie może nadawać Stacja C zaczyna nadawać, ponieważ nie wykryła jeszcze sygnału w medium A B C Dochodzi do kolizji A B C Od momentu zajścia kolizji w łączu będzie się propagował sygnał nie mający sensu, powstały z przemieszania sygnałów z A i C. -1
Metoda dostępu CSMA/CD CSMA/CD (Carrier Sense Multiple Access/Collision Detect) - dostęp wielokrotny z wykrywaniem nośnejnej i z detekcją kolizji, rozwinięcie metody CSMA. hcsma/cd jest protokołem nakazującym stacji nasłuch łącza przed transmisją. Jeżeli łącze jest zajęte, to znaczy jeżeli stacja wykryje przesył danych w linii transmisyjnej, to musi zaczekać aż do zwolnienia łącza (zaniku sygnału w linii), zanim będzie mogła wysłać własne dane. hjeżeli dwie lub więcej stacji będzie próbowało nadawać w tej samej chwili (kolizja), wszystkie one muszą przerwać transmisję (nie nadają całej ramki do końca) i odczekać przez pewien losowy odcinek czasu odmierzany w każdej stacji, zanim będą mogły ponowić próbę dostępu do łącza. hprzykład: Ethernet Metoda dostępu CSMA/CA CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) - dostęp wielokrotny z wykrywaniem nośnejnej i unikaniem kolizji hpo wykryciu kolizji urządzenie z niższym priorytetem przerywa nadawanie. hurządzenie z wyższym priorytetem kontynuuje nadawanie ramki. hpo zakończeniu nadawania przez urządzenie z wyższym priorytetem, urządzenie z niższym priorytetem może nadawać swoja ramkę. Ethernet hethernet obecnie najbardziej rozpowszechniony standard na świecie hethernet jest bardzo wrażliwy na przeciążenie magistrali. Przy dużym obciążeniu sieci ruch w linii transmisyjnej jest ogromny, co powoduje, że wiele stacji nie może się dostać do łącza i traci czas na permanentne próby przejęcia nad nim kontroli. Powoduje to wydłużenie czasu odpowiedzi. hz Z tego powodu protokół CSMA/CD nie nadaje się do wykorzystania w sieciach sterowników przemysłowych, gdzie sterowanie procesem wymaga odpowiedzi w pewnym nieprzekraczalnym czasie. hniedoceniany dotychczas w zastosowaniach przemysłowych ze względu na opinię sieci nie gwarantującej niezawodności przepływu informacji niederministycznej. hrozwój technologii komunikacyjnych oraz nieustanne zwiększanie jakości i funkcjonalności komponentów sieciowych, dobry stan standaryzacji dzięki normom międzynarodowym, brak opłat licencyjnych związanych z jego wykorzystywaniem spowodowały zmianę w ocenie sieci Ethernet. -2
Ethernet w przemyśle Process Control Factory Automation Building Automation h Złożoność dzisiejszych sieci sterowania od różnych dostawców i brak kompatybilności h Duża elastyczność na przyszłość, ciągły spadek cen przy wzroście prędkości h Możliwość zbudowania w zakładzie przemysłowym jednolitej platformy wymiany danych pomiędzy poszczególnymi systemami, zarówno informatycznymi, jak i automatyki przemysłowej. h Od przemysłowych systemów sterowania wymaga się współpracy z sieciami rozległymi, w tym także z siecią Internet. Sprzętowy MAC address hmac address (Media Access Control) - każdy węzeł sieci Ethernet (karta sieciowa, kontroler) ma przypisany adres sprzętowy - unikalny w skali światowej, nadawany przez producenta danego urządzenia. hnajczęściej prezentowany w postaci liczb w zapisie szesnastkowym. hadres ten zawiera 48-bitów z czego 46-bitów opisuje producenta i numer urządzenia. hpierwsze 22 bity stanowią kod producenta a następne 24 bity numer urządzenia. hmac address pozwala na identyfikację i adresację urządzeń (węzłów) w sieci Ethernet. Przykład: Kod producenta (GE Fanuc) 00-09 09-91-E8-51-C4 Numer urządzenia Warstwy OSI a model rodziny TCP/IP faktyczny przebieg komunikacji Aplikacji logiczny przebieg komunikacji Aplikacji HTTP, FTP Prezentacji Prezentacji Sesji Sesji TCP/IP Transportu Sieci Transportu Sieci TCP, UDP IP Ethernet Łącza danych Fizyczna Łącza danych Fizyczna ARP Okablowanie -3
Protokoły hprotokół ARP (Address Resolution Protocol) - pracuje na granicy warstwy 2. i 3. dokonując konwersji adresów IP (warstwa 3.) na adresy MAC (warstwa 2.) i na odwrót. Najczęściej jego działanie realizowane jest poprzez zapytania rozgłoszeniowe (ARP Request Broadcast) zapytanie o adres MAC i odbieranie odpowiedzi (ARP Replay) ) z adresem MAC stacji docelowej (na broadcast odpowiada sama stacja lub router znający adres stacji). ARP odpowiada za samorzutne rozgłaszanie adresu MAC stacji po włączeniu jej do sieci lub po zmianie adresu IP. hprotokół IP (Internet Protocol) usługa datagramowa, tryb bezpołączeniowy: poszczególne pakiety są przekazywane w sposób niezależny i niezależnie określa się najlepszą trasę transmisji. Usługa jest realizowana bez gwarancji przekazania danych, z możliwością zmiany kolejności pakietów, bez potwierdzenia dostarczenia pakietów. hprotokól TCP (Transmission Control Protocol) - protokół połączeniowy, realizuje dzielenie i łączenie dużych pakietów. Eliminuje wady protokołu IP błędne lub zagubione pakiety są retransmitowane, steruje ruchem w sieci, nie gwarantuje punktualności dostawy. hprotokół UDP (User Datagram Protocol) - protokół bezpołączeniowy, możliwość sterowania czasem wysyłki pakietów, brak pewności doręczenia kompensowany jest poprzez mechanizm potwierdzeń. Ethernet - pakiet TCP/IP Budowa pakietu danych ISO/OSI- model TCP - Nagłówek TCP - Data TCP - Segment 4: Warstwa Transportowa owa (Data transport) IP - Nagłówek IP - Data IP - Packet, Datagram 3: Warstwa sieci (Path finding) Ethernet - Nagłówek Ethernet - Data FCS 2: Warstwa łącza (MAC and LLC) Ethernet - Packet Ethernet: 10BASE-T, 10BASE-FL, 100BASE-TX, etc. 1: Warstwa fizyczna (Bit transmission) Address IP W protokole IP adresy zostały podzielone na 5 klas oznaczonych kolejno A, B, C, D, E. Każdą z klas adresów dzieli się za pomocą maski bitowej na dwie części: adres sieci adres hosta Standardowe maski dla poszczególnych klas to: A - 255.0.0.0, B 255.255.0.0, C 255.255.255.0 O klasie adresu mówi pierwszy bajt. Pierwszy bajt klasa zakres (stand.: sieć.host) 0-127 A 10.0.0.0 127.255.255.255 128-191 B 128.0.0.0 191.255.255.255 192-223 C 192.0.0.0 223.255.255.255 224-239 D (rez. multicast) 224.0.0.0 239.255.255.255 240-255 E (rez. eksperyment.) 240.0.0.0 255.255.255.255 Z w/w klas adresów wydzielone są adresy IP do użytku w sieciach prywatnych: Klasa A 10.0.0.0 10.255.255.255 Klasa B 172.16.0.0 172.31.255.255.255.255 Klasa C 192.168.0.0.0 192.168.255.255.255-4
Address IP Do podziału adresów IP na sieci stosuje się 32-bitowe maski. Maska określa jak duży zakres adresów IP znajduje się w danej sieci lub podsieci i dzieli adres na adres sieci i adres hosta. Każda sieć (podsieć) IP zawiera: - adres sieci (np.: 10.0.0.0) - maskę sieci (np.: 255.0.0.0) - adresy hostów (np.: 10.0.0.1, 10.0.0.2,., 10.255.255.254) - adres rozgłoszeniowy (np.: 10.255.255.255) (broadcast-owy) owy) Przykład 1: Jeśli chcemy uzyskać podsieć posiadającą 32 adresy IP dla przykładowego adresu 192.168.0.10, to definiujemy maskę: - Maska (dec): 255.255.255.224 - Maska (bin): 11111111.11111111.11111111.11100000 - inny zapis: 192.168.0.10 / 27 (gdzie: 27 liczba 1 w masce) gdzie: adres sieci = 192.168.0.0, adr. rozgł. = 192.168.0.31, hosty = 192.168.0.1-30 Przykład 2: Address IP Jeśli chcemy obliczyć adres sieci dla przykładowego adresu 192.168.0.10 / 255.255.255.224 to wykonujemy działanie logiczne AND na adresie IP i masce: IP: 11000000.10101000.00000000.00001010 Maska (bin): 11111111.11111111.11111111.11100000 funkcja AND: 11000000.10101000.00000000.00000000 = adres sieci: 192.168.0.0 Przykład 3: Jeśli chcemy obliczyć adres rozgłoszeniowy dla przykładowego adresu 192.168.0.10 / 255.255.255.224 to wykonujemy działanie logiczne NOT na masce i OR na adresie IP i zanegowanej masce: Maska (bin): 11111111.11111111.11111111.11100000 NOT maska: 00000000.00000000.00000000.00011111 IP: 11000000.10101000.00000000.00001010 funkcja OR: 11000000.10101000.00000000.00011111 = adres rozgł: 192.168.0.31 Protokoły Ethernet w PLC GE Fanuc h SRTP (Service Request Transfer Protocol) oparty na protokole SNP, stanowi warstwę aplikacyjną dla protokołu TCP. Pozwala na: - komunikację między sterownikami - komunikację między sterownikami a systemami SCADA - programowanie sterowników h Modbus TCP oparty na protokole Modbus RTU. Pozwala na: - komunikację między sterownikami - komunikację między sterownikami a systemami SCADA h EGD (Ethernet Global Data) oparty jest na UDP (User Datagram Protocol). Pozwala na: - komunikację między sterownikami -5
Ethernet w serii 90-30 hic693cmm321 - moduł komunikacyjny 10 Mbit/s, protokoły SRTP i Modbus TCP hcpu364 1 port Ethernet 10 Mbit/s, protokoły SRTP i EGD hcpu374/372plus - dwa porty Ethernet 10/100 Mbit/s, współdzielą ten sam adres IP, zastępuje Ethernet switch, protokoły SRTP, Modbus TCP, EGD, podgląd zmiennych oraz tablic błędów z poziomu przeglądarki www hic693niu004 montowany w kasecie głównej zamiast CPU, 10/100 Mbit/s, wbudowany switch CPU374Plus Ethernet restart Port RS-232 do terminala znakowego (Station Manager Port) Porty komunikacyjne do sieci Ethernet CMM321 Ethernet w serii VersaMax hic200cpue05 jednostka centralna z wbudowanym portem 10 Mbit/s qprotokoły komunikacyjne SRTP (tylko serwer) i EGD hic200ebi001 moduł komunikacyjny NIU 10 Mbit/s qprotokoły komunikacyjne Modbus TCP i EGD hwymagają zasilacza w wersji wzmocnionej 3.3 V Ethernet w serii RX3i hic695etm001 - moduł komunikacyjny 0 10/100 MB/s, Half/Full Duplex 0 wbudowany switch (jeden adres IP) 0 protokoły SRTP serwer i klient, Modbus TCP serwer i klient, EGD producent i konsument hic695niu001 moduł NIU, montowany w kasecie głównej zamiast CPU -6
-2010-06-25 Network Interface Unit RX3i CPU 9090-30 CPU VersaMax NIU 9090-30 NIU Ethernet Ethernet VersaPoint NIU RX3i NIU IC693NIU004 9090-30 CPU 90 90--30 NIU Ethernet montowany w kasecie głównej zamiast CPU 10/100 Mbits wbudowany switch LAN Interface Status dla RX3i Bit statusu Opis 1 Port 1 full duplex 2 Port 1 100 Mbps 3 Port 2 full duplex 4 Port 2 100 Mbps 5 Network Time Locked 6 Aktywny redundantny adres IP 7-8 9 10-12 13 zarezerwowane Bit statusu Opis Wystąpił błąd w dowolnym kanale 14 Problem zasobów zawsze 0 15 Przegrzanie modułu Sie Sieć ć LAN w porzą porządku (LAN OK) 16 Interfejs sieci LAN w porz porzą ądku 17 Transmisja danych przez kanał 1 1.. 18 Błą Błąd w kanale 1. 1. 19 Transmisja danych przez kanał 2. 20 Błą Błąd w kanale 2.... 79 Transmisja danych przez kanał 32 32.. 80 Błą Błąd w kanale 32. 32. -7
Protokół SRTP h Komunikacja typu klient/serwer. Inicjacja komunikacji z poziomu programu sterującego (COMM_REQ) w sterowniku pracującym jako klient. h Typy wymiany informacji: - transmisja cykliczna - transmisja wyzwalana h Wymiana informacji pomiędzy sterownikami poprzez tzw. kanały komunikacyjne. Idea kanału komunikacyjnego oparta jest na cyklicznej wymianie danych. Klient (lokalne PLC) za pomocą COMM_REQ otwiera kanał komunikacyjny nawiązując w ten sposób połączenie z serwerem (oddalone PLC). Interfejs sieci Ethernet w sposób automatyczny obsługuje wymianę danych na podstawie Data Block Area. h Dla modułu komunikacyjnego IC693CMM321 i jednostek centralnych IC693CPU364, IC693CPU374 można otworzyć maksymalnie 16 kanałów komunikacyjnych, dla IC200CPUE05 8 kanałów, dla IC695ETM001 32 kanały Protokół SRTP COMM_REQ Blok funkcyjny Opis IN: blok instrukcji SYSID: kaseta.slot TASK: 0 dla CMM321, 21 dla CPU364 i CPU374 FT: błąd Słowo 1 Słowo 2 Słowo 3 Słowo 4 Słowo 5 0 Słowo 6 0 Common Area Długość bloku danych Flaga WAIT/NOWAIT (0 dla SRTP) Typ pamięci dla COMM_REQ Status Word Adres COMM_REQ Status Word Blok instrukcji dla COMM_REQ w RX3i -8
Protokół SRTP - Establish Read Channel Słowo 7 2003 Kod instrukcji odczytu z oddalonego PLC (Establish Read Channel) Słowo 8 5 Nr kanału Słowo 9 10 Liczba odczytów Słowo 10 3 Jednostka czasu dla częstotliwości odczytu (1-0.01s, 2-0.1s, 3 1 s, 4 1 min., 5 1 godz.) Słowo 11 7 Liczba jednostek czasu dla cyklu odczytu Słowo 12 50 Time-out (500 ms) Słowo 13 8 Typ pamięci lokalnego PLC (%R) Słowo 14 20 Adres początkowy pamięci lokalnego PLC (%R00020) Słowo 15 8 Typ pamięci oddalonego PLC (%R) Słowo 16 80 Adres początkowy pamięci oddalonego PLC (%R00080) Słowo 17 9 Liczba odczytywanych jednostek pamięci (9 rejestrów) Słowo 18 1 Zawsze 1 Słowo 19 4 Liczba słów do zapisu adresu IP oddalonego PLC Słowo 20 10 Adres IP Słowo 21 20 Adres IP Słowo 22 11 Adres IP Słowo 23 173 Adres IP Protokół SRTP - Establish Write Channel Słowo 7 2004 Kod instrukcji zapisu do oddalonego PLC (Establish Write Channel) Słowo 8 6 Nr kanału Słowo 9 0 Zapis cykliczny Słowo 10 3 Jednostka czasu dla częstotliwości zapisu (1-0.01s, 2-0.1s, 3 1 s, 4 1 min., 5 1 godz.) Słowo 11 5 Liczba jednostek czasu dla cyklu zapisu Słowo 12 50 Time-out (500 ms) Słowo 13 8 Typ pamięci lokalnego PLC (%R) Słowo 14 10 Adres początkowy pamięci lokalnego PLC (%R00010) Słowo 15 8 Typ pamięci oddalonego PLC (%R) Słowo 16 30 Adres początkowy pamięci oddalonego PLC (%R00030) Słowo 17 7 Liczba zapisywanych jednostek pamięci (7 rejestrów) Słowo 18 1 Zawsze 1 Słowo 19 4 Liczba słów do zapisu adresu IP oddalonego PLC Słowo 20 10 Adres IP Słowo 21 20 Adres IP Słowo 22 11 Adres IP Słowo 23 173 Adres IP Protokół SRTP - Abort Channel Słowo 7 2001 Kod instrukcji zamknięcia aktywnego kanału komunikacyjnego (Abort Channel) Słowo 8 5 Nr kanału (16#FFFF jeżeli chcemy zamknąć wszystkie kanały) Powody zamknięcia aktywnego kanału komunikacyjnego: hwykonanie instrukcji Abort Channel hzakończenie instrukcji Establish Read Channel lub Establish Write Channel po określonej liczbie odczytów lub zapisów hprzejście PLC w Stop hzerwanie fizycznego połączenia hwystąpienie błędu krytycznego -9
Protokół SRTP Retrieve Detailed Channel Status Słowo 7 2002 Kod instrukcji odczytu statusu (Retrieve Detailed Channel Status) Słowo 8 5 Nr kanału Słowo 9 8 Typ pamięci lokalnego PLC (%R) Słowo 10 200 Adres początkowy pamięci lokalnego PLC (%R00200) Instrukcja zwraca dwa rejestry informacji o statusie transmisji kanał aktywny/nieaktywny i kod ostatniego błędu Ramka Ethernet Preambuła (8 B) Adres stacji Adres stacji odbiorczej (6 B) nadawczej (6 B) Typ (2 B) Dane (46-1500 B) CRC 32 (4 B) Preambuła naprzemienny ciąg bitów 0 i 1, informujący urządzenie odbiorcze o nadchodzącej cej ramce Adres stacji odbiorczej MAC adres stacji odbiorczej Adres stacji nadawczej MAC adres stacji nadawczej Typ określa protokół wyższej warstwy służący do odbierania danych po zakończeniu działania mechanizmu Ethernet Dane po zrealizowaniu zadań w warstwach 1 i 2 dane zawarte w ramce zostają przesłane do protokołu wyższej warstwy określonego w polu Typ CRC 32 4 bajty kontrolne CRC (Cyclic Redundancy Check) tworzone przez stację nadawczą, wykorzystywane do sprawdzenia poprawności transmisji przez stację odbiorczą Kapsułkowanie ramek Modbus/TCP Budowa pakietu danych Adres abonenta (1 B) Kod Funkcji (1 B) Protokół Modbus RTU Dane, adresy (0-252 B) CRC 16 (2 B) Warstwa aplikacji Nagłówek TCP (20 B) Ramka Modbus RTU Protokół TCP Warstwa transportowa Nagłówek IP (20 B) Segment Segment TCP TCP Protokół IP Warstwa sieci Nagłówek Ethernet (22 B) Datagram IP CRC 32 (4 B) Warstwa łącza Protokół Ethernet Warstwa fizyczna -10
Protokół Modbus TCP h Podobnie jak w protokole SRTP wymiana informacji pomiędzy sterownikami odbywa się poprzez tzw. kanały komunikacyjne. Można otworzyć maksymalnie 16 kanałów komunikacyjnych. h Liczba kanałów aktualnie przeznaczonych dla SRTP limituje ilość dostępnych kanałów dla Modbus TCP. h Dostępne są 4 funkcje: - otwarcie połączenia Modbus TCP - zamknięcie połączenia Modbus TCP - odczyt danych z oddalonego urządzenia do PLC - zapis danych z PLC do oddalonego urządzenia h Obsługuje funkcje protokołu Modbus zgodne z: Conformance Class 0 (funkcje 3 i 16) Conformance Class 1 (funkcje 1, 2, 4, 5, 6, 7) Protokół Modbus TCP COMM_REQ Blok funkcyjny Opis IN: blok instrukcji SYSID: kaseta.slot TASK: 0 dla CMM321, 21 dla CPU372, CPU374 FT: błąd Słowo 1 Słowo 2 Słowo 3 Słowo 4 Słowo 5 0 Słowo 6 0 Common Area Długość bloku danych Flaga WAIT/NOWAIT (0 dla Modbus TCP) Typ pamięci dla COMM_REQ Status Word Adres COMM_REQ Status Word Protokół Modbus TCP otwarcie i zamknięcie połączenia (Open & Close Client Connection) Słowo 7 3000 Kod instrukcji otwarcie połączenia (Open Client Connection) Słowo 8 5 Nr kanału Słowo 9 1 Typ adresu IP (zawsze 1) Słowo 10 4 Liczba słów do zapisu adresu IP oddalonego PLC Słowo 11 10 Adres IP Słowo 12 20 Adres IP Słowo 13 11 Adres IP Słowo 14 173 Adres IP Słowo 7 3001 Kod instrukcji zamknięcie połączenia (Close Client Connection) Słowo 8 5 Nr kanału -11
Adresy referencji dla IC693CMM321 w protokole Modbus TCP IC693CMM321 (Internal Tables) Modbus Register Table %I1 4096 1-256 (words) %AI1-16384 16384 257-16640 (words) %Q1-4096 16641-1689616896 (words) %AQ1-12288 12288 16897-29184 (words) %R1-32640 29185-61824 (words) %M1-4096 61825-6208062080 (words) Protokół Modbus TC odczyt (Read Data) Słowo 7 3003 Kod instrukcji odczytu Słowo 8 5 Nr kanału Słowo 9 2 Kod funkcji protokołu Modbus Słowo 10 8 Typ pamięci lokalnego PLC (%R) Słowo 11 11 Adres początkowy pamięci lokalnego PLC (%R00011) Słowo 12 2 Adres początkowy pamięci oddalonego PLC (%I00002) Słowo 13 2 Liczba odczytywanych jednostek pamięci (2 bity) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) Kod Funkcja protokołu Modbus 1 Odczyt wyjść dyskretnych 2 Odczyt wejść dyskretnych 3 Odczyt rejestrów 4 Odczyt wejść analogowych 7 Odczyt statusu Protokół Modbus TCP przykłady Słowo 7 3003 Kod instrukcji odczytu Słowo 8 5 Nr kanału Słowo 9 3 Kod funkcji protokołu Modbus Słowo 10 8 Typ pamięci lokalnego PLC (%R) Słowo 11 11 Adres początkowy pamięci lokalnego PLC (%R00011) Słowo 12 1 Adres początkowy pamięci oddalonego PLC (%I00001) Słowo 13 2 Liczba odczytywanych jednostek pamięci (32 wejścia) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) Słowo 7 3003 Kod instrukcji odczytu Słowo 8 5 Nr kanału Słowo 9 3 Kod funkcji protokołu Modbus Słowo 10 8 Typ pamięci lokalnego PLC (%R) Słowo 11 11 Adres początkowy pamięci lokalnego PLC (%R00011) Słowo 12 2 Adres początkowy pamięci oddalonego PLC (%I00017) Słowo 13 2 Liczba odczytywanych jednostek pamięci (32 wejścia) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) -12
Protokół Modbus TCP zapis (Write Data) Słowo 7 3004 Kod instrukcji zapisu Słowo 8 5 Nr kanału Słowo 9 5 Kod funkcji protokołu Modbus Słowo 10 70 Typ pamięci lokalnego PLC (%I) Słowo 11 17 Adres początkowy pamięci lokalnego PLC (%I00017) Słowo 12 1 Adres początkowy pamięci oddalonego PLC (%Q00001) Słowo 13 1 Liczba zapisywanych jednostek pamięci (1 bit) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) Kod Funkcja protokołu Modbus 5 Zapis pojedynczej cewki 6 Zapis pojedynczego rejestru 16 Zapis wielu rejestrów Protokół Modbus TCP przykłady Słowo 7 3004 Kod instrukcji zapisu Słowo 8 5 Nr kanału Słowo 9 6 Kod funkcji protokołu Modbus Słowo 10 70 Typ pamięci lokalnego PLC (%I) Słowo 11 17 Adres początkowy pamięci lokalnego PLC (%I00017) Słowo 12 16641 Adres początkowy pamięci oddalonego PLC (%Q00001) Słowo 13 1 Liczba zapisywanych jednostek pamięci (1 słowo) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) Słowo 7 3004 Kod instrukcji zapisu Słowo 8 5 Nr kanału Słowo 9 16 Kod funkcji protokołu Modbus Słowo 10 8 Typ pamięci lokalnego PLC (%R) Słowo 11 17 Adres początkowy pamięci lokalnego PLC (%R00017) Słowo 12 29185 Adres początkowy pamięci oddalonego PLC (%R00001) Słowo 13 2 Liczba zapisywanych jednostek pamięci (2 słowa) Słowo 14 1 Nr stacji (różny od 1, gdy konwersja Ethernet na multidrop) Modbus TCP zalety i wady h Długość ramki definiowana przez Modus RTU wynosi 4-256 bajtów, a długość ramki Modbus TCP poprzez kolejne etapy kapsułkowania może wzrosnąć do 372 bajtów. h Wada ta jest rekompensowana znacznie większą szybkością transmisji w stosunku do Modbus RTU. h Zastosowanie protokołu Modbus opartego na modelu Master- Slave gwarantuje dla wydzielonego segmentu sieci brak występowania kolizji w warstwie fizycznej sieci Ethernet. -13
Protokół EGD (Ethernet Global Data) h Ethernet Global Data to jeden z protokołów wykorzystywanych do przesyłania danych za pomocą sieci Ethernet. h Protokół ten opiera się na UDP (User Datagram Protocol) ) i pozwala na cykliczne wysyłanie danych globalnych. h Po skonfigurowaniu dane globalne są automatycznie wysyłane z jednego urządzenia w sieci Ethernet do drugiego lub wielu innych. h Trzy sposoby nadawania: q Unicast nadawanie tylko do jednego odbiorcy identyfikowanego za pomocą adresu IP, q Multicast nadawanie do kilku odbiorców zdefiniowanych za pomocą grupy (Group ID), q Broadcast nadawanie do wszystkich urządzeń znajdujących się w sieci. h Komunikacja typu Producent-Konsument: q Producent urządzenie wysyłające dane globalne, q Konsument urządzenie odbierające. Konfigurowanie EGD w RX3i Konfigurowanie EGD w RX3i adres lokalnego producenta ramek -14
IC200EBI001 hinterfejs komunikacyjny do rozproszonych wejść/wyjść serii VersaMax NIU (Network Interface Unit) hwymaga zasilacza w wersji wzmocnionej 3.3 V hprotokoły komunikacyjne EGD i Modbus TCP IP Address dla NIU h Posługując się narzędziem Set. Temporary IP Address konfigurujemy tymczasowy adres IP w NIU. h Adres tymczasowy pamiętany jest do wyłączenia zasilania. h Służy do stworzenia kanału komunikacyjnego, za pomocą którego wgrywamy trwałe ustawienia konfiguracyjne interfejsu sieciowego. Konfigurowanie NIU -15
Konfigurowanie wymian h Wykorzystywanie EGD do przesyłu informacji nie wymaga pisania programu sterującego. Zadanie osoby wdrażającej komunikację EGD sprowadza się jedynie do skonfigurowania portu Ethernet w sterowniku oraz deklaracji pakietów danych wysyłanych i odbieranych. h Pakiety danych nadawanych i odbieranych deklaruje się w odpowiednich tablicach. h Pojedyncza ramka danych umożliwia przesłanie maksymalnie 1400 bajtów. Jeżeli dane nie mieszczą się w pojedynczej ramce EGD, można je przesłać w kilku ramkach, tzn. można zakładać wiele ramek EGD do komunikacji z tym samym urządzeniem. h Numer wysyłanej ramki musi się zgadzać z zadeklarowanym numerem ramki odbieranej (parametr Exchange ID). Nazwa wymiany dla producenta Konfigurowanie wymiany producenta w RX3i Identyfikator wymiany (numer wysyłanej ramki musi się zgadzać z zadeklarowanym numerem ramki odbieranej) Nazwa adaptera: kaseta.slot, w którym znajduje się IC695ETM001 Typ odbiorcy: - Unicast - Multicast - Broadcast (255.255.255.255) Okres [ms] z jakim dane są wystawiane do sieci (1-3 600 000 ms co 2 ms) Konfigurowanie wymiany producenta ilość danych nadawanych bajt.bit 16-bitowy status ramki (1 = brak błędu) IC200EBI001 wymaga dwóch rejestrów na status interfejsu komunikacyjnego (umieszczonych na początku wymiany) -16
Konfigurowanie wymiany konsumenta w RX3i Nazwa wymiany dla konsumenta ID producenta Group ID: 0: Unicast 1-32: Multicast Identyfikator wymiany (numer odbieranej ramki musi się zgadzać z zadeklarowanym numerem ramki nadawanej) Nazwa adaptera: kaseta.slot, w którym znajduje się IC695ETM001 Czas skanowania lokalnego adaptera sieci dla nowych danych [ms] Konfigurowanie wymiany konsumenta ilość danych odbieranych bajt.bit 16-bitowy status ramki (1 = brak błędu) IC200EBI001 wymaga dwóch rejestrów na status interfejsu komunikacyjnego (umieszczonych na początku wymiany) EGD stempel czasowy Synchronizacja zegarem w CPU Synchronizacja z serwera NTP (Network Time Protocol) -17
Protokół EGD (Ethernet Global Data) Można skonfigurować: h do 1400 bajtów na wymianę ę (łączny rozmiar wymiany jest sumą długości danych ze wszystkich zakresów danych konfigurowanych dla tej wymiany) h max 128 wymian globalnych dla CPU364 i CPU374 374, max 32 wymiany danych globalnych dla CPUE05 05, h do 100 zakresów danych na wymianę, h do 1200 zakresów dla wszystkich wymian EGD dla jednej jednostki centralnej. Podsumowanie h Bardzo szybki wzrost popularności protokołu TCP/IP również w przemyśle spowodowany jest tym, że szereg funkcji związanych z wizualizacja i sterowaniem można udostępniać zdalnie przez Internet. h W konfrontacji z wysokimi cenami producentów znanych i sprawdzonych standardów przemysłowych, Ethernet coraz częściej wykorzystywany jest w rozwiązaniach sieci przemysłowych. h Zagadnienia związane z determinizmem czasowym w sieciach przemysłowych wykorzystujących protokół TCP/IP są dosyć złożone bezpieczeństwo sieci zależy od wyższych warstw oprogramowania komunikacyjnego. Urządzenia komunikacyjne hhub: używany w celu powiększenia topologii gwiaździstej wzmacnia i odtwarza ten sam typ sygnału na wszystkich portach nie zmniejsza liczby kolizji hrepeater: używany w celu dołączenia segmentu sieci wzmacnia i odtwarza ten sam typ sygnału hswitch: używany w celu powiększenia topologii gwiaździstej wzmacnia i odtwarza ten sam typ sygnału na jednym porcie może być używany w celu zmniejszenia liczby kolizji -18
Urządzenia komunikacyjne htransceiver: używany w celu podłączenia innego typu segmentu do sieci hbridge: używany do połączenia dwóch sieci z tym samym protokołem, ale z różnymi warstwami niższymi Urządzenia komunikacyjne hrouter: używany do połączenia dwóch sieci tego samego typu hgateway: używany do połączenia dwóch sieci różnych typów Routing - router / gateway 10.0.0.11 10.0.0.2 10.0.0.3 Router 192.168.0.4 192.168.0.5 10.0.0.1 192.168.0.1 10.0.0.4 10.0.0.5 192.168.0.2 192.168.0.3-19
Gdzie jest błąd? Sieć: 10.0.0.0 Maska: 255.0.0.0 Brama: 10.0.0.1 Router 10.0.0.1 192.168.0.1 Sieć: 192.168.0.0 Maska: 255.255.255.0 Brama: 10.0.0.1 Translacja adresów IP LAN 192.168.0.1 192.168.0.2 (Jeden adres publiczny) Router WAN: IP: 212.183.11.5 M: 255.255.255.252 WAN 192.168.0.3 192.168.0.4 Router LAN: IP: 192.168.0.254 M: 255.255.255.0 N.p. Internet 192.168.0.11 Literatura 1. Wikipedia, http://pl.wikipedia.org/. 2. Gaj P., Zastosowanie protokołu TCP/IP do transmisji informacji dla potrzeb przemysłowych systemów kontrolno-nadzorczych, nadzorczych, Rozprawa doktorska. 3. Kwiecień A. Analiza przepływu informacji w komputerowych sieciach przemysłowych, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice 1999. 4. TCP/IP Ethernet Communications for the Series 90 PLC. User s Manual. May 2002, GFK-1541B. 5. Katalog sterowników GE Fanuc serii 90-30, LI-ASK-PLC-GE3, Astor, Kraków. 6. Sterowniki programowalne serii 90-30, Opis funkcji, LI-ASK-OF-GE1, Astor, 1998. 7. Sterowniki VersaMax. Podręcznik użytkownika. Astor, Kraków 2001. -20