Siemens ET-200S 1SI, Modbus/USS Moduł interfejsu szeregowego Instrukcja obsługi
Poniżej znajdziesz krótkie informacje o ET-200S 1SI, ET-200S Modbus/USS. Moduł interfejsu szeregowego ET-200S 1SI jest modułem rozszerzającym należącym do rodziny produktów ET 200S. Umożliwia dostęp do komunikacji szeregowej za pomocą trzech interfejsów sprzętowych (RS 232C, RS 422 and RS 485) i dwóch protokołów (ASCII i 3964(R)). Moduł interfejsu ET 200S 1SI można używać do wymiany danych pomiędzy systemami automatyki lub komputerami za pomocą połączenia punkt-punkt. Cała komunikacja jest oparta o asynchroniczną transmisję szeregową.ET-200S Modbus/USS jest modułem rozszerzającym należącym do rodziny produktów ET 200S. Ten moduł interfejsu szeregowego umożliwia komunikację z urządzeniami zgodnymi z protokołem Modbus/USS.
Advertisement
Advertisement
s
SIMATIC
ET-200S
Moduł interfejsu szeregowego
Instrukcja obsługi
Wstęp
Moduł interfejsu szeregowego
Modbus/USS
03/2009
A5E00124881-05
Informacje prawne
Wskazówki bezpieczeństwa
Niniejsza instrukcja zawiera wskazówki, których przestrzeganie zapewni bezpieczeństwo osobiste oraz zapobiegnie uszkodzeniu sprzętu. Wskazówki odnoszące się do bezpieczeństwa osobistego są oznaczone przez symbol bezpieczeństwa, uwagi odnoszące się do szkód mienia nie posiadają symbolu bezpieczeństwa.
Wskazówki przedstawione poniżej są klasyfikowane według stopnia niebezpieczeństwa.
Oznacza wystąpienie śmieci lub poważnych uszkodzenia ciała jeśli nie zostaną podjęte odpowiednie środki ostrożności.
Oznacza możliwość wystąpienia śmieci lub poważnych uszkodzenia ciała jeśli nie zostaną podjęte odpowiednie środki ostrożności.
Oznacza możliwość drobnych uszkodzeń ciała jeśli nie zostaną podjęte odpowiednie środki ostrożności.
OSTROŻNIE
Bez symbolu niebezpieczeństwa oznacza możliwość uszkodzeń mienia jeśli nie zostaną podjęte odpowiednie środki ostrożności.
UWAGA
Oznacza możliwość wystąpienia niezamierzonych rezultatów lub sytuacji jeśli nie zostaną wzięte pod uwagę odpowiednie informacje.
Jeżeli występuje więcej niż jeden stopień zagrożenia będzie przedstawione ostrzeżenie najwyższego stopnia zagrożenia. Ostrzeżenie zranienia osób z symbolem niebezpieczeństwa może również zawierać ostrzeżenie dotyczące uszkodzenia mienia.
Wykwalifikowany personel
Urządzenie/system może być konfigurowany i używany zgodnie z tą dokumentacją. Uruchamianie i eksploatacja urządzeń/systemów może być przeprowadzana tylko przez wykwalifikowany personel.
W kontekście informacji o bezpieczeństwie, zawartych w tym dokumencie, pod pojęciem wykwalifikowany personel rozumie się osoby upoważnione do uziemiania, podłączania sprzętu i systemów zgodnie z obowiązującymi normami i standardami bezpieczeństwa.
Właściwe użytkowanie produktów SIEMENS
Wskazówka:
Produkty firmy Siemens mogą być wykorzystywane jedynie do zastosowań opisanych w katalogu i w odpowiednich dokumentacjach technicznych. Jeżeli produkty i podzespoły innych producentów są używane, muszą być zalecane lub zatwierdzone przez firmę Siemens. Poprawne i bezpieczne funkcjonowanie produktu możliwe jest tylko i wyłącznie, jeśli jest on transportowany, magazynowany, przechowywany oraz instalowany prawidłowo i ostrożnie oraz jest obsługiwany i serwisowany według wskazań. Dopuszczalne warunki otoczenia muszą być przestrzegane. Informacje zawarte w odpowiedniej dokumentacji muszą być przestrzegane.
Znaki handlowe
Wszystkie nazwy oznaczone ® są zarejestrowanymi znakami handlowymi firmy Siemens AG. Pozostałe znaki towarowe w tej publikacji mogą być znakami towarowymi, których użycie przez osoby trzecie dla własnych celów może naruszać prawa właścicieli.
Wyłączenia z odpowiedzialności
Zawartość niniejszej instrukcji została sprawdzona pod względem zgodności z opisanym sprzętem i oprogramowaniem. Ponieważ wszystkie odchylenia nie mogą być całkowicie wykluczone, dlatego całkowita zgodność nie może być gwarantowana. Jednakże informacje zawarte w niniejszej instrukcji są regularnie uaktualniane i wszystkie konieczne poprawki są zawierane w następnych edycjach.
Siemens AG
Industry Sector
Postfach 48 48
90026 NÜRNBERG
GERMANY
A5E00124881-05
Ⓟ 03/2009
Copyright © Siemens AG 2009.
Technical data subject to change
Spis treści
Spis treści
1
2
2.10
2.10.1
2.10.2
2.10.3
2.10.4
2.10.5
2.11
2.12
2.12.1
2.4
2.5
2.6
2.6.1
2.6.2
2.6.3
2.6.4
2.7
2.7.1
2.7.2
2.7.3
2.7.4
2.8
2.8.1
2.8.2
2.8.3
2.8.4
2.8.5
2.9
2.9.1
2.9.2
2.9.3
2.9.4
2.9.5
Spis treści................................................................................................................................................... 3
Wstęp.......................................................................................................................................................... 7
Moduł interfejsu szeregowego................................................................................................................. 9
2.1
Przegląd produktu................................................................................................................... 9
2.2
2.3
Skrócona instrukcja uruchamiania modułu interfejsu szeregowego......................................12
Schemat połączeń z przeznaczeniem zacisków....................................................................16
Interfejs RS-232C.................................................................................................................. 22
Interfejs RS-422/485.............................................................................................................. 23
Podstawowe zasady szeregowej transmisji danych..............................................................24
Szeregowa transmisja danych...............................................................................................24
Ramka znaków (Character frame).........................................................................................26
Metody transmisji dla połączeń punkt-punkt..........................................................................29
Integralność transmisji........................................................................................................... 31
Transmisja danych za pomocą protokołu 3964(R) Procedure...............................................33
Podstawy transmisji danych za pomocą protokołu 3964(R) Procedure.................................33
Wysyłanie danych w protokole 3964(R)................................................................................35
Odbieranie danych w protokole 3964(R)...............................................................................37
Transmisja danych w protokole 3964(R) Procedure..............................................................39
Transmisja danych za pomocą sterownika ASCII (ASCII Driver)...........................................42
Podstawowe informacje o transmisji danych za pomocą sterownika ASCII..........................42
Wysyłanie danych za pomocą sterownika ASCII...................................................................43
Odbieranie danych za pomocą sterownika ASCII..................................................................44
Kryterium końca w transmisji danych za pomocą sterownika ASCII......................................46
Sygnały towarzyszące RS-232C w transmisji danych za pomocą sterownika ASCII.............49
Konfigurowanie i parametryzacja modułu interfejsu szeregowego........................................53
Konfigurowanie modułu interfejsu szeregowego...................................................................53
Konfigurowanie sterownika ASCII driver................................................................................53
Konfigurowanie sterownika dla protokołu 3964(R)................................................................57
Dane identyfikacyjne............................................................................................................. 60
Kolejne ładowanie aktualizacji firmware................................................................................62
Komunikacja za pomocą bloków funkcyjnych........................................................................64
Podstawy komunikacji za pomocą bloków funkcyjnych.........................................................64
Blok funkcyjny FB 3 S_SEND................................................................................................66
Blok funkcyjny FB 2 S_RCV..................................................................................................70
Funkcje dla konfiguracji opcji sterowaniem przepływem danych...........................................74
Odczytywanie i sterowanie sygnałami dodatkowymi RS 232C..............................................80
Właściwości uruchamiania i tryby pracy................................................................................84
Dane odniesienia dla masterów innych niż S7-PROFIBUS...................................................86
Postawy danych odniesienia.................................................................................................86
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 3
Spis treści
3
2.12.2
2.12.3
2.12.4
2.12.5
2.12.6
2.12.7
2.13
Przykład wysyłania danych z CPU do modułu.......................................................................90
Przykład odbierania danych z modułu w CPU.......................................................................92
Przykład odczytywania stanów sygnałów V.24......................................................................93
Przykład zapisywania sygnałów V.24....................................................................................94
Parametry dla sterowania przepływem danych.....................................................................95
Rozwiązywanie problemów...................................................................................................98
Diagnostyka......................................................................................................................... 100
2.14
Dane techniczne.................................................................................................................. 107
Modbus/USS........................................................................................................................................... 111
3.1
3.2
Przegląd produktu................................................................................................................ 111
Skrócona instrukcja uruchamiania modułu interfejsu szeregowego.....................................114
3.3
3.3.1
3.3.2
3.3.3
3.6
3.6.1
3.6.2
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
3.6.8
3.6.9
Diagramy połączeń zacisków..............................................................................................120
Przeznaczenie zacisków.....................................................................................................120
Interfejs RS-232C................................................................................................................ 126
Interfejs RS-422/485 ........................................................................................................... 128
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.4.6
Protokół transmisji Modbus.................................................................................................129
Właściwości i struktura ramki danych..................................................................................129
Adres urządzenia podrzędnego (slave address).................................................................130
Kody funkcji urządzeń master i slave..................................................................................130
Pole danych DATA............................................................................................................... 131
Koniec ramki i sprawdzenie sumy kontrolnej (CRC Check).................................................131
Wyjątki odpowiedzi.............................................................................................................. 132
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
3.5.6
3.5.7
3.5.8
3.5.9
3.5.10
3.5.11
3.5.12
Sterownik Modbus Master...................................................................................................133
Stosowanie sterownika Modbus Master..............................................................................133
Transmisja danych w ET 200S Modbus master...................................................................133
Konfigurowanie i ustawianie parametrów Modbus Master...................................................143
Kody funkcji używane w Modbus Master.............................................................................147
Kod funkcji 01 – Odczyt stanu wyjść (Read Output Status).................................................148
Kod funkcji 02 – Odczyt stanu wejść (Read Input Status)...................................................149
Kod funkcji 03 – Odczyt rejestrów wyjściowych (Read Output Registers)...........................150
Kod funkcji 04 – Odczyt rejestrów wejściowych (Read Input Registers)..............................151
Kod funkcji 05 – Forsowanie jednej cewki (Force Single Coil)............................................152
Kod funkcji 06 – Ustawianie jednego rejestru (Preset Single Register)...............................153
Kod funkcji 07 – Odczyt stanu (Read Exception Status).....................................................154
Kod funkcji 08 – Test diagnostyczny pętli zwrotnej (Loop Back Diagnostic Test).................155
3.5.13
Kod funkcji 11 – Pobieranie licznika zdarzeń komunikacji (Fetch Communications Event
Counter) 156
3.5.14
Kod funkcji 12 – Pobieranie logu zdarzeń komunikacji (Fetch Communications Event Log)
157
3.5.15
3.5.16
Kod funkcji 15 – Forsowanie kilku cewek (Force Multiple Coils)..........................................158
Kod funkcji 16 – Ustawianie kilku rejestrów (Preset Multiple Registers)..............................159
Sterownik Modbus Slave..................................................................................................... 160
Komponenty połączenia master-slave.................................................................................160
Transmisja danych z ET 200S Modbus slave......................................................................161
Obszary danych w SIMATIC CPU.......................................................................................163
Konfigurowanie parametrów dla łącza danych....................................................................164
Kody funkcji urządzenia slave.............................................................................................169
Kod funkcji 01 – Odczyt stanu cewek (wyjść) (Read Coil (output) Status)..........................170
Kod funkcji 02 – Odczyt stanu wejść (Read Input Status)...................................................173
Kod funkcji 03 – Odczyt rejestrów wyjściowych (Read Output Registers)...........................176
Kod funkcji 04 – Odczyt rejestrów wejściowych (Read Input Registers)..............................179
4
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Spis treści
3.7
3.7.1
3.7.2
3.7.3
3.7.4
3.7.5
3.7.6
3.6.10
3.6.11
3.6.12
3.6.13
3.6.14
3.6.15
3.6.16
3.6.17
3.6.18
3.6.19
3.6.20
Kod funkcji 05 – Forsowanie pojedynczej cewki (Force Single Coil)...................................182
Kod funkcji 06 – Ustawianie pojedynczego rejestru (Preset Single Register)......................185
Kod funkcji 08 – Test diagnostyczny pętli zwrotnej (Loop Back Diagnostic Test).................188
Kod funkcji 15 – Forsowanie kilku cewek (Force Multiple Coils)..........................................189
Kod funkcji 16 – Ustawianie kilku rejestrów (Preset Multiple Registers)..............................192
Konwersja kodów funkcji zorientowanych bitowo................................................................195
Konwersja kodów funkcji zorientowanych rejestrowo..........................................................195
Odblokowanie/zablokowanie dostępu do zapisu.................................................................197
Konwertowanie adresów Modbus dla funkcji bitowych........................................................198
Konwertowanie adresów Modbus dla funkcji rejestrów.......................................................203
Ograniczenia dla funkcji zapisu...........................................................................................205
Diagnostyka......................................................................................................................... 207
Opcje diagnostyczne...........................................................................................................207
Informacje diagnostyczne w wykorzystaniem diod LED......................................................207
Komunikaty diagnostyczne bloków funkcyjnych..................................................................208
Diagnostyka PROFIBUS slave............................................................................................216
Funkcje diagnostyczne Modbus Slave................................................................................217
Błędy................................................................................................................................... 218
3.8
3.8.1
3.8.2
3.8.3
3.8.4
3.8.5
3.8.6
3.8.7
3.8.8
3.8.9
3.8.10
3.9
3.9.1
3.9.2
3.9.3
3.9.4
pracy
USS Master......................................................................................................................... 220
Co to jest USS master?....................................................................................................... 220
Protokół USS....................................................................................................................... 221
Konfiguracja i parametryzacja.............................................................................................223
Przegląd funkcji................................................................................................................... 224
Funkcja FC 17 S_USST: Wysyłanie danych do slave..........................................................226
Funkcja FC 18 S_USSR: Odbieranie danych ze slave........................................................229
Funkcja FC 19 S_USSI: Inicjalizacja...................................................................................232
Blok DB danych sieciowych.................................................................................................235
Blok DB zestawów parametrów...........................................................................................240
Blok DB procesora komunikacyjnego..................................................................................242
Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
244
Ładowanie konfiguracji i ustawionych danych parametrów.................................................244
Tryby pracy modułu interfejsu szeregowego ET 200S Modbus/USS...................................245
Charakterystyki uruchamiania interfejsu szeregowego ET 200S Modbus/USS...................245
Zachowanie modułu interfejsu szeregowego ET 200S Modbus/USS gdy CPU zmienia tryb
246
3.10
Dane techniczne.................................................................................................................. 248
Index....................................................................................................................................................... 251
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 5
Spis treści
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 6
1 Wstęp
Jaka jest struktura instrukcji
Instrukcja ta jest dodatkiem do instrukcji ET 200S Distributed I/O System.
Instrukcja ET 200S Distributed I/O System zawiera kompletne informacje dotyczące konfiguracji sprzętu, montażu, okablowania, uruchamiania, diagnostyki i danych technicznych systemu
ET 200S rozproszonych I/O.
Instrukcja ta zawiera opis funkcji i danych technicznych modułów interfejsu szeregowego
ET 200S 1SI i ET 200S Modbus/USS.
Jak się poruszać
Na początku każdego rozdziału znajduje się Przegląd produktu, który listę właściwości i aplikacji opisywanego modułu. Znajduje się również numer zamówieniowy modułu oraz nazwę i wydanie wymaganego oprogramowania. Bieżący plik GSD znajduje się pod adresem: http://support.automation.siemens.com
W każdym rozdziale można znaleźć rozdział z nagłówkiem Skrócone instrukcje
uruchamiania a następnie nazwą odpowiedniego modułu. Te skrócone instrukcje informują w serii krótkich kroków jak zainstalować i skonfigurować moduł, jak zintegrować go w programie użytkownika oraz jak testować go w programie użytkownika.
Normy i zatwierdzenia
Informacje o normach i zatwierdzeniach zawarto w rozdziale "Podstawowe dane techniczne" w instrukcji ET 200S Distributed I/O System. Instrukcja ta jest dostępna w: http://www.siemens.com/simatic-tech-doku-portal
Recykling i utylizacja
Moduły interfejsu szeregowego ET 200S 1SI 3964/ASCII oraz ET 200S 1SI Modbus/USS mogą być poddane recyklingowi dzięki zastosowaniu w nich nisko-zanieczyszczających komponentów. W celu poddania zrównoważonemu ekologicznie recyklingowi i utylizacji starych urządzeń należy skontaktować się z certyfikowanym serwisem utylizacji odpadów elektronicznych.
Indeks
Indeks zawiera zwroty, które pojawiają się w instrukcji.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 7
Wstęp
1 Wstęp
Wsparcie techniczne
Wsparcie techniczne dla wszystkich produktów Industry Automation jest dostępne w postaci formularza internetowego żądania wsparcia pod adresem http://www.siemens.de/automation/support-request
Dodatkowe informacje dotyczące wsparcia technicznego są dostępne w Internecie http://www.siemens.de/automation/service .
Serwis i wsparcie (Service & Support) w Internecie
Dodatkowo oprócz dokumentacji oferujemy wiedzę online pod adresem: http://www.siemens.com/automation/service&support
Znajdują się tam:
● Newsletter, który nieustannie dostarcza aktualne informacje o naszych produktach.
● Właściwe dokumenty gdy korzysta się z wyszukiwania w Product Support
● Forum, gdzie użytkownicy i eksperci z całego świata wymieniają się swoimi doświadczeniami
● Twój lokalny partner sektora przemysłowego
● Informacje o naprawach, częściach zamiennych i doradztwie
Dodatkowe wsparcie
Jeżeli masz jakieś pytania, pozostające bez odpowiedzi, dotyczące używania produktów opisanych w tej instrukcji proszę skontaktować się z lokalnym przedstawicielem Siemens.
Twój partner znajduje się pod adresem: http://www.siemens.com/automation/partner
Przewodnik po dokumentacji dla poszczególnych produktów i systemów SIMATIC znajduje się pod adresem: http://www.siemens.com/simatic-tech-doku-portal
Katalog online i system zamawiania online znajduje się pod adresem: http://mall.automation.siemens.com
Centrum szkoleniowe
Oferujemy zakres szkoleń pomagających rozpocząć pracę z systemem automatyki
SIMATIC S7. Skontaktuj się z regionalnym centrum szkoleniowym lub z centralnym ośrodkiem szkoleniowym w Norymberdze D90327 w Niemczech.
http://www.sitrain.com
8
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2 Moduł interfejsu szeregowego
2 Moduł interfejsu szeregowego
2.1
Przegląd produktu
Numer zamówieniowy
6ES7 138-4DF01-0AB0
Opis produktu
Moduł interfejsu szeregowego ET 200S 1SI jest modułem rozszerzającym należącym do rodziny produktów ET 200S. Umożliwia dostęp do komunikacji szeregowej za pomocą trzech interfejsów sprzętowych (RS 232C, RS 422 and RS 485) i dwóch protokołów (ASCII i 3964(R)).
Moduł interfejsu ET 200S 1SI można używać do wymiany danych pomiędzy systemami automatyki lub komputerami za pomocą połączenia punkt-punkt. Cała komunikacja jest oparta o asynchroniczną transmisję szeregową.
Tryb komunikacji wybiera się podczas parametryzacji modułu w konfiguracji sprzętu w STEP 7 lub w innej aplikacji konfiguracyjnej. Sześć wersji modułu znajduje się w katalogu sprzętu:
● ASCII (4B)
● ASCII (8B)
● ASCII (32B)
● 3964R (4B)
● 3964R (8B)
● 3964R (32B)
Transfer danych 8-bajtowy lub 32-bajtowy zwiększa przepustowość, ale wymaga więcej pamięci
I/O na szynie ET 200S, natomiast 4-bajtowy transfer danych wymaga mniej pamięci I/O na szynie ET 200S, ale zmniejsza przepustowość. Wybrany wariant modułu zależy od wymagań aplikacji.
Funkcjonalność modułu interfejsu szeregowego ET 200S 1SI
Moduł interfejsu szeregowego ET 200S 1SI oferuje następujące funkcje:
● Zintegrowany interfejs zgodnie z RS 232C, RS 422 lub RS 485
● Prędkość transmisji do 115.2 Kbaud, half duplex
● Integracja następujących protokołów transmisji w firmware modułu:
– 3964(R) procedure
– ASCII driver
Parametryzacja modułu determinuje funkcjonalność sterowników.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 9
Moduł interfejsu szeregowego
2.1 Przegląd produktu
Tabela 2-1
Tabela poniżej zawiera listę funkcji poszczególnych sterowników interfejsów.
Funkcje sterowników modułów dla modułu interfejsu szeregowego ET 200S 1SI
Funkcja
Sterowanie przepływem RTS/CTS
Sterowanie przepływem XON/XOFF
3964(R) procedure
RS 232C
Sterownik ASCII (ASCII driver) Tak
Używanie sygnałów dodatkowych RS 232C Tak
Sterowanie/odczytywanie sygnałów dodatkowych RS 232C za pomocą bloków FB
Tak
Tak
Tak
Tak
RS 422
Tak
Nie
Nie
Nie
Tak
Tak
RS 485
Tak
Nie
Nie
Nie
Nie
Tak
Komunikacja
Moduł interfejsu szeregowego ET 200S 1SI dopuszcza komunikację punkt-punkt z różnymi modułami Siemens oraz z produktami innych producentów, łącznie z:
● SIMATIC S5 poprzez sterownik 3964(R) z odpowiednim modułem interfejsu po stronie S5
● Terminalami Siemens PDA z rodziny ES 2 poprzez sterownik 3964(R) driver
● MOBY I (ASM 420/421, SIM), MOBY L (ASM 520) oraz terminal akwizycji danych ES 030K poprzez sterownik 3964(R) driver
● SIMOVERT oraz SIMOREG (USS protocol) poprzez sterownik ASCII driver (ET 200S SI
RS 422/485), z odpowiednią adaptacją protokołu za pomocą programu STEP 7
● Komputery PC poprzez 3964(R) procedure (następujące narzędzia programistyczne są dostępne do programowania na komputerach PC: PRODAVE DOS 64R (6ES5 897–
2UD11) dla MS–DOS, PRODAVE WIN 64R (6ES5 897-2VD01) dla Windows lub sterownik
ASCII driver)
● Czytniki kodów kreskowych poprzez 3964(R) lub ASCII driver
● Sterowniki innych producentów poprzez 3964(R) lub ASCII driver
● Inne urządzenia z prostymi strukturami protokołów poprzez odpowiednią adaptację protokołu sterownika ASCII driver
● Inne urządzenia, które również posiadają sterownik 3964(R) driver
Uwaga
Moduł ET 200S 1SI nie może pracować, korzystając ze standardowych bloków FB, jako podrzędny z zewnętrznymi procesorami komunikacyjnymi CP 342-5 (Profibus DP) oraz CP 343-
1 (Profinet IO)!
Do pracy modułu jako podrzędny w stosunku do procesorów komunikacyjnych CP 342-5
(Profibus DP) lub CP 343-1 (Profinet IO), są dostępne odpowiednie specjalne bloki funkcyjne na stronach internetowych wsparcia klientów: http://support.automation.siemens.com/WW/view/en/26263724
10
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.1 Przegląd produktu
Diody LED
Następujące diody LED znajdują się na przednim panelu modułu interfejsu:
LED
SF
TX
RX
Kolor
Czerwony
Zielony
Zielony
Opis
Grupowy błąd
Interfejs wysyła
Interfejs odbiera
Stany pracy i błędy sygnalizowane przez te diody LED są opisane w rozdziale Diagnostyka
Przedni panel
Rysunek poniżej przedstawia oznaczenia na przednim panelu modułu interfejsu szeregowego
ET 200S 1SI.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 11
Moduł interfejsu szeregowego
2.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
2.2
Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Wprowadzenie
Na podstawie przykładu wysyłania i odbierania danych pomiędzy modułami interfejsu szeregowego instrukcja ta wyjaśnia, jak skonfigurować funkcjonowanie aplikacji, jak działają podstawowe operacje interfejsu szeregowego (sprzęt i oprogramowanie) oraz jak testować sprzęt i oprogramowanie.
W tym przykładzie będą działać dwa moduły interfejsu szeregowego ET 200S 1SI
3964(R)/ASCII w trybie RS-232C ASCII.
Wymagania
Muszą być spełnione następujące wymagania:
● Należy uruchamiać stacje ET 200S na stacji S7 z DP master.
● Potrzebne są następujące komponenty:
– Dwa moduły z zaciskami TM-E15S24-01
– Dwa moduły interfejsu szeregowego ET 200S 1SI 3964(R)/ASCII
– Niezbędne materiały okablowania
Montaż, okablowanie i montaż
Należy zamontować i okablować dwa moduły z zaciskami TM-E15S24-01 (patrz rysunek poniżej). Należy zamontować oba moduły interfejsu szeregowego ET 200S 1SI 3964(R)/ASCII na modułach z zaciskami. (Szczegółowy opis znajduje się w instrukcji zatytułowanej ET 200S
Distributed I/O Device).
Moduł interfejsu szeregowego
Połączenia dla komunikacji szeregowej RS 232C
Moduł z zaciskami
Rysunek 2.1
Przykład podłączenia zacisków
12
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Zastosowana konfiguracja
Tabela poniżej przedstawia konfigurację używaną w przykładowym programie.
Tabela 2-2 Parametryzacja dla przykładowej aplikacji
Parametry Wartość
Group diagnostics (Diagnostyka grupy)
Interface (Interfejs)
Deactivate (Deaktywowany)
RS 232C
Initial state of receive line (Stan początkowy linii odbierania) Irrelevant for RS232. (Nieistotny dla RS232)
Data flow control (initial state) (Sterowanie przepływem danych (stan początkowy))
Baud rate (Prędkość transmisji)
None (Nie)
9600
Data bits (Bity danych)
Stop bits (Bity stopu)
Parity (Parzystość)
Reception end delimiter (Ogranicznik końca odbioru)
8
1
Even (Parzystość)
Expiration of character delay time
(Upłynięcie czasu opóźnienia znaku)
Character delay time (ms) (Czas opóźnienia znaku)
End character 1 (Znak końca 1)
4
Irrelevant for RS232. (Nieistotny dla RS232)
End character 2 (Znak końca 2) Irrelevant for RS232. (Nieistotny dla RS232)
Number of characters received (Liczba odebranych znaków) Irrelevant for RS232. (Nieistotny dla RS232)
Yes (Tak) Dynamic message frame buffer (Dynamiczny bufor ramki danych)
Prevent message frame buffer overwrite (Zabezpieczenie przed przepełnieniem bufora ramki danych)
Clear receive buffer at startup (Kasowanie bufora odbioru przy starcie)
Yes (Tak)
Yes (Tak)
Używane bloki
Tabela poniżej przedstawia bloki używane w przykładowym programie.
Blok Symbol Komentarz
OB 1
OB 100
DB 21
DB 22
DB 40
DB 41
DB 42
DB 43
FB 2
FB 3
FC 21
FC 22
CYCLE
RESTART
SEND_IDB_SI_0
Program cyklicznie przetwarzany
Przetwarzanie podczas restartu
Blok danych lokalnych DB dla S_SEND_SI FB
RECV_IDB_SI_1 Blok danych lokalnych DB dla S_RECV_SI FB
SEND_WORK_DB_SI_0 Blok DB dla standardowego FB 3
RECV_WORK_DB_SI_1 Blok DB dla standardowego FB 2
SEND_SRC_DB_SI_0 Blok danych wysyłanych
RECV_DST_DB_SI_1
S_RECV_SI
Blok danych odbieranych
Standardowy FB dla odbierania danych
S_SEND_SI
SEND_SI_0
RECV_SI_1
Standardowy FB dla wysyłania danych
Wysyłanie danych
Odbieranie danych
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 13
Moduł interfejsu szeregowego
2.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Typ dostaw i instalacji
Przykładowy program dla ET 200S 1SI i odpowiednie bloki funkcyjne są dostępne w Internecie pod adresem: http://support.automation.siemens.com/WW/view/en/10805265/133100
Po zainstalowaniu przykładowy program znajduje się w projekcie zXX21_10_1SI_ASCII.
W STEP 7 SIMATIC manager projekt otwiera się wybierając z menu "File > Open > Sample projects".
Przykładowy program jest dostępny jako skompilowany program i jako plik źródłowy ASCII. Jest również tabela symboli zawierająca symbole używane w przykładzie.
Jeżeli nie jest dostępny drugi ET 200S 1SI jako partner komunikacji to trzeba skasować drugi
ET 200S 1SI w HW Config wybierając "Edit > Delete". Dodatkowo, w OB 1 wywołanie FC 22
(FC dla odbierania) musi być zamienione na komentarz.
Ładowanie do CPU
Sprzęt z przykładu jest w pełni skonfigurowany i programator jest podłączony.
Po zresetowaniu pamięci CPU (tryb pracy STOP), należy przesłać cały przykład do pamięci użytkownika. Następnie przełączyć przełącznik trybu pracy z STOP na RUN.
Zachowanie w przypadku błędu
Jeżeli podczas uruchamiania wystąpił błąd to nie będzie wykonywany cyklicznie przetwarzany blok wywołujący komendy i dioda LED błędu zostanie zaświecona.
W przypadku komunikatu błędu jest ustawiany parametr wyjściowy ERROR bloków. Bardziej szczegółowy opis błędu jest przechowywany w parametrze STATUS bloków. Jeżeli parametr
STATUS zawiera komunikat błędu albo 16#1E0E lub 16#1E0F to bardziej szczegółowy opis będzie przechowywany w zmiennej SFCERR w bloku danych lokalnych DB.
Aktywacja, program startowy
Program uruchamiany po starcie jest zlokalizowany w bloku OB 100.
Bity sterujące i liczniki są resetowane podczas procedury uruchamiania.
Program cykliczny
Program cykliczny znajduje się w OB 1.
W przykładzie, bloki funkcyjne FB 2 S_RECV_SI i FB 3 S_SEND_SI współpracują razem z funkcjami FC 21 i FC 22 oraz z blokami danych DB 21 i DB 22 jako blokami danych lokalnych i z DB 42 i DB 43 jako blokami danych wysyłanych i odbieranych.
W przykładzie, parametry bloków funkcyjnych są ustawione częściowo przez stałe a częściowo przez adresowane symbolicznie bieżące adresy.
14
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Opis
Dane są transmitowane pomiędzy ET 200S 1SI w slocie 2 i ET 200S 1SI w slocie 3. Jeżeli pracuje się z innym partnerem komunikacji nie stosuje się wywołania funkcji FC 22 (RECEIVE).
Opis funkcji FC 21 (SEND)
Sekcja programu "Generate edge S_SEND_SI_REQ":
S_SEND_SI jest początkowo wykonywany raz gdy S_SEND_SI_REQ=0. S_SEND_SI_REQ jest potem ustawiany na 1. Jeżeli jest wykryta zmiana sygnału z 0 na 1 parametru sterującego
S_SEND_SI_ REQ to uruchamia się żądanie S_SEND_SI.
Jeżeli S_SEND_SI_ DONE=1 lub S_SEND_SI_ERROR=1 to S_SEND_SI_REQ jest resetowany na 0.
Sekcja programu "S_SEND_SI_DONE=1":
Jeżeli transfer zakończy się sukcesem to parametr S_SEND_SI_DONE jest setowany na 1 na wyjściu bloku S_SEND_SI.
Aby rozróżnić kolejne transfery w słowie danych 0 źródłowego bloku danych DB 42 jest zawarty licznik wysyłania (S_SEND_SI_COUNTER_OK).
Sekcja programu "S_SEND_SI_ERROR=1":
Jeżeli S_SEND_SI jest wykonany z S_SEND_SI_ERROR=1 to licznik błędu
S_SEND_SI_COUNTER_ERR jest zwiększany w słowie danych 2. Dodatkowo
S_SEND_SI_WORK_STAT jest kopiowany ponieważ będzie nadpisany przez 0 podczas następnego cyklu, co uniemożliwia to jego odczytanie.
Opis funkcji FC 22 (RECEIVE)
Sekcja programu "Enable receive data":
W celu odbierania danych musie być ustawiony na 1 parametr odblokowania odbierania
S_RECV_SI_EN_R bloku S_RECV_SI.
Sekcja programu "S_RECV_SI_NDR=1":
Jeżeli S_RECV_SI_NDR jest ustawiony to oznacza, że nowe dane zostały odebrane i licznik odbierania S_RECV_SI_WORK_CNT_OK jest zwiększany.
Sekcja programu "S_RECV_SI_ERROR=1":
Jeżeli wystąpi błąd tzn. bit błędu parametru wyjściowego S_RECV_SI jest ustawiony to licznik błędu S_RECV_SI_WORK_CNT_ERR jest zwiększany. Dodatkowo
S_RECV_SI_WORK_STAT jest kopiowany ponieważ będzie nadpisany przez 0 podczas następnego cyklu, co uniemożliwia to jego odczytanie.
Wszystkie odpowiednie wartości mogą być monitorowane w celach testowych w tabeli VAT.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 15
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
2.3
Schemat połączeń z przeznaczeniem zacisków
Zasady podłączania
Kable (zaciski 1 do 8) muszą być ekranowane. Ekran musi być podłączony na obu końcach.
W tym tego należy użyć elementów podłączania ekranowania – zobacz instrukcja (ET 200S 1SI
Distributed I/O Device).
Przeznaczenie zacisków dla komunikacji RS 232C
Tabela poniżej zawiera opis przeznaczenia zacisków dla modułu interfejsu szeregowego
ET 200S 1SI gdy jest ustawiony protokół komunikacyjny RS 232C.
Tabela 2-3 Przeznaczenie zacisków dla modułu interfejsu szeregowego ET 200S 1SI dla komunikacji RS 232C
Widok
4
8
3
7
5
2
6
Uwagi
Tryb: Half duplex i full duplex
Zaciski
1 TXD
RXD
Transmitted data
Received data
RTS
CTS
Request to send
Clear to send
DTR
DSR
DCD
PE
Data terminal ready
Data set ready
Data carrier detected
Ground
16
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
Przeznaczenie zacisków dla komunikacji RS 422
Tabela poniżej zawiera opis przeznaczenia zacisków dla modułu interfejsu szeregowego
ET 200S 1SI gdy jest ustawiony protokół komunikacyjny RS 422.
Tabela 2-4
Widok
Przeznaczenie zacisków dla modułu interfejsu szeregowego ET 200S 1SI dla komunikacji RS 422
Przeznaczenie zacisków
Uwaga: W przypadku kabli dłuższych niż 50 m, podłączyć rezystor terminujący około 330Ω dla niezakłóconej wymiany danych
2
6
1
5
8
Uwagi
Tryb: Full duplex
Zaciski
TXD (A)-
RXD (A)-
TXD (B)+
RXD (B)+
PE ground
Przeznaczenie zacisków dla komunikacji RS 485
Tabela poniżej zawiera opis przeznaczenia zacisków dla modułu interfejsu szeregowego
ET 200S 1SI gdy jest ustawiony protokół komunikacyjny RS 485.
Tabela 2-5 Przeznaczenie zacisków dla modułu interfejsu szeregowego ET 200S 1SI dla komunikacji RS 485
Widok Przeznaczenie zacisków
Uwaga: W przypadku kabli dłuższych niż 50 m, podłączyć rezystor terminujący około 330Ω dla niezakłóconej wymiany danych
1
2
Uwagi
Tryb: Half duplex
Zaciski
8
R/T (A)-
R/T (B)+
PE ground
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 17
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
Przyporządkowanie końcówek 9-pinowej wtyczki kabla połączeniowego RS 232C
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 232C dla połączenia punkt-punkt pomiędzy modułem interfejsu szeregowego ET 200S 1SI a partnerem komunikacji z gniazdem połączeniowym 9-pinowym typu D.
● Na końcu ET 200S 1SI, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie partnera komunikacji należy zastosować 9-pinową wtyczkę sub D.
Partner komunikacji z gniazdem 9-pinowym
18
(uziemienie)
Połączenie ekranu
Rysunek 2-2
Typ kabla
Ekran obudowy
(Belden 8104 lub odpowiednik)
Przyporządkowanie końcówek 9-pinowej wtyczki kabla połączeniowego RS 232C
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
Przyporządkowanie końcówek 25-pinowej wtyczki kabla połączeniowego RS 232C
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 232C dla połączenia punkt-punkt pomiędzy modułem interfejsu szeregowego ET 200S 1SI a partnerem komunikacji z gniazdem połączeniowym 25-pinowym typu D.
● Na końcu ET 200S 1SI, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie partnera komunikacji należy zastosować 25-pinową wtyczkę sub D.
Partner komunikacji z gniazdem 25-pinowym
(uziemienie)
Połączenie ekranu
Rysunek 2-3
Typ kabla
Ekran obudowy
(Belden 8104 lub odpowiednik)
Przyporządkowanie końcówek 25-pinowej wtyczki kabla połączeniowego RS 232C
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 19
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 422
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 422 dla połączenia punktpunkt pomiędzy modułem interfejsu szeregowego ET 200S 1SI a partnerem komunikacji z gniazdem połączeniowym 15-pinowym typu D.
● Na końcu ET 200S 1SI, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie partnera komunikacji należy zastosować 15-pinową wtyczkę sub D.
Partner komunikacji z gniazdem 15-pinowym
Stacja nadawcza
Stacja odbiorcza
Stacja odbiorcza
Stacja nadawcza
Ekran
Typ kabla
Ekran obudowy
(Belden 8103 lub odpowiednik)
Połączenie ekranu
Rysunek 2-4 skręcone pary
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 422
●
●
Uwaga
Jeżeli kable przekraczają długość 50 m należy podłączyć rezystor terminujący o wartości około
330 Ω (patrz rysunek powyżej) aby zapewnić niezakłóconą transmisję danych.
Dla typów kabli używanych w tym przypadku, przez moduł ET 200S 1SI jako partner komunikacji są obsługiwane następujące długości:
● Maks. 1200 m przy 19 200 baud
Maks. 500 m przy 38 400 baud
Maks. 250 m przy 76 800 baud
20
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.3 Schemat połączeń z przeznaczeniem zacisków
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 485
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 485 dla połączenia punktpunkt pomiędzy modułem interfejsu szeregowego ET 200S 1SI a partnerem komunikacji z gniazdem połączeniowym 15-pinowym typu D.
● Na końcu ET 200S 1SI, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie partnera komunikacji należy zastosować 15-pinową wtyczkę sub D.
Partner komunikacji z gniazdem 15-pinowym
Stacja nadawcza
Stacja nadawcza
Stacja odbiorcza
Stacja odbiorcza
Ekran
Typ kabla
Ekran obudowy
(Belden 8102 lub odpowiednik)
Połączenie ekranu
Rysunek 2-5 skręcone pary
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 485
Uwaga
Jeżeli kable przekraczają długość 50 m należy podłączyć rezystor terminujący o wartości około
330 Ω (patrz rysunek powyżej) aby zapewnić niezakłóconą transmisję danych.
●
●
●
●
Dla typów kabli używanych w tym przypadku, przez moduł ET 200S 1SI jako partner komunikacji są obsługiwane następujące długości:
Maks. 1200 m przy 19 200 baud
Maks. 500 m przy 38 400 baud
Maks. 250 m przy 76 800 baud
Maks. 200 m przy 115 200 baud
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 21
Moduł interfejsu szeregowego
2.4 Interfejs RS-232C
2.4
Interfejs RS-232C
Definicja
Interfejs RS 232C jest interfejsem napięciowym używanym do szeregowej transmisji danych zgodnie ze standardem RS 232C.
Właściwości
Interfejs RS 232C posiada następujące właściwości:
Type:
Gniazdo przednie:
Sygnały RS 232C:
Prędkość transmisji:
Długość kabla:
Odpowiadające standardy:
Stopień ochrony:
Interfejs napięciowy
8-pin standardowe gniazdo ET 200S
TXD, RXD, RTS, CTS, DTR, DSR, DCD, GND
Do 115.2 Kbaud (3964(R) procedure)
Do 115.2 Kbaud (ASCII driver)
Do 15 m, typ kabla LIYCY 7 x 0.14
DIN 66020, DIN 66259, EIA RS 232C, CCITT V.24/V.28
IP20
Sygnały RS 232C
Tabela poniżej zawiera opis sygnałów RS 232C:
Sygnał Opis
TXD
RXD
Transmitted Data
Received Data
RTS Request To Send
CTS Clear To Send
DTR
DSR
Data Terminal Ready
Data Set Ready
DCD Data Carrier Detect
Znaczenie
Linia transmisji jest utrzymywana "1" w stanie spoczynku.
Linia odbioru musi być utrzymywana przez partnera komunikacji logiczną "1".
ON: ET 200S 1SI gotowy do wysyłania.
OFF: ET 200S 1SI nie jest w trybie wysyłania.
Partner komunikacji może odbierać dane od ET 200S.
Interfejs modułu oczekuje tego jako odpowiedzi na RTS = ON.
ON: ET 200S SI jest włączony i gotowy do pracy.
OFF: ET 200S SI nie jest włączony i nie jest gotowy do pracy.
ON: Partner komunikacji jest włączony i gotowy do pracy.
OFF:Partner komunikacji nie jest włączony i nie jest gotowy do pracy.
Sygnał nośnej na połączeniu z modemem.
22
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.5 Interfejs RS-422/485
2.5
Interfejs RS-422/485
Definicja
Interfejs 422/485 jest różnicowym interfejsem napięciowym używanym do szeregowej transmisji danych zgodnie ze standardem RS 422/485.
Właściwości
Interfejs 422/485 posiada następujące właściwości:
Typ:
Gniazdo przednie:
Sygnały RS 422:
Sygnały RS 485 :
Prędkość transmisji:
Długość kabla:
Odpowiadające standardy:
Stopień ochrony:
Różnicowy interfejs napięciowy
8-pin standardowe gniazdo ET 200S
TXD (A)-, RXD (A)-, TXD (B)+, RXD (B)+, GND
R/T (A)-, R/T (B)+, GND
Do 115.2 Kbaud (3964(R) procedure)
Do 115.2 Kbaud (ASCII driver)
Do 1,200 m, typ kabla LIYCY 7 x 0.14
EIA RS 422/485, CCITT V.11/V.27
IP20
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 23
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
2.6
Podstawowe zasady szeregowej transmisji danych
2.6.1
Szeregowa transmisja danych
Połączenie punkt-punkt
System zapewnia różne sieciowe opcje wymiany danych pomiędzy dwoma lub pomiędzy większą liczbą partnerów komunikacji. Najprostszą formą wymiany danych pomiędzy dwoma partnerami komunikacji jest połączenie punkt-punkt.
W połączeniu punkt-punkt procesor komunikacyjny formuje interfejs pomiędzy sterownikiem programowalnym a partnerem komunikacji. Dane w połączeniu punkt-punkt modułu interfejsu szeregowego ET 200S 1SI są przesyłane poprzez interfejs szeregowy.
Szeregowa transmisja danych
W szeregowej transmisji danych poszczególne bity każdego bajtu informacji są wysyłane jeden po drugim w ustalonym porządku.
Moduł interfejsu szeregowego ET 200S 1SI sam obsługuje transmisję danych z partnerem komunikacji poprzez swój interfejs szeregowy. Dlatego moduł posiada dwa różne sterowniki dla:
● ASCII driver
● 3964(R) procedure
Dwukierunkowa wymiana danych – tryby pracy
ET 200S 1SI posiada dwa tryby pracy dla dwukierunkowej wymiany danych:
● Tryb half-duplex (3964(R) procedure, ASCII driver)
Partnerzy komunikacji wymieniają dane po kolei w obu kierunkach na przemian. Tryb halfduplex oznacza, że dane są w danym momencie albo wysyłane albo odbierane. Wyjątkiem mogą być indywidualne znaki kontroli przepływu danych (np.: XON/XOFF), które mogą być również wysyłane podczas operacji odbierania lub odbierane podczas operacji wysyłania.
● Tryb full duplex (ASCII driver)
Partnerzy komunikacji wymieniają dane w obu kierunkach w tym samym czasie. Tryb full duplex oznacza, że dane mogą być wysyłane i obierane w tym samym czasie. Każdy partner komunikacji musi obsługiwać operację wysyłania i odbierania danych równocześnie.
24
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Tabela 2-6
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
Tabela poniżej zawiera listę trybów pracy wymiany danych w przypadku interfejsów ze sterownikami ASCII.
Tryby pracy wymiany danych modułu interfejsu szeregowego ET 200S 1SI
Wymiana danych
Half duplex
Full duplex
RS 232C
Tak
Tak
RS 422
Tak
Tak
RS 485
Tak
Nie możliwe
Zgodności parametrów
Zanim szeregowa transmisja danych będzie miała miejsce muszą być uzgodnione parametry pomiędzy partnerami komunikacji. Należą do nich:
● Prędkość transmisji (baud rate)
● Czasy opóźnień dla znaku i potwierdzenia
● Parzystość
● Liczba bitów danych
● Liczba bitów stopu
● Liczba zestawień połączenia i prób transmisji
W rozdziałach Podstawy transmisji danych za pomocą protokołu 3964(R) Procedure (Strona 33)
i Podstawowe informacje o transmisji danych za pomocą sterownika ASCII (Strona 42) opisano
jaką rolę odgrywają deklaracje parametrów w różnych procedurach transmisji i jak są parametryzowane.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 25
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
2.6.2
Ramka znaków (Character frame)
Zasady
Dane są transmitowane pomiędzy modułem interfejsu szeregowego ET 200S 1SI a partnerem komunikacji poprzez interfejs szeregowy w 10-bitowej lub 11-znakowej ramce znaków. Dla każdej ramki znaków są dostępne trzy formaty danych. Można sparametryzować wymagany format w STEP 7.
10-bitowa ramka znaków
Poniższy rysunek przedstawia trzy formaty danych w 10-bitowej ramce znaków.
7 bitów danych: 1 bit startu, 7 bitów danych, 2 bity stopu
Stan sygnału "1"
Stan sygnału "0"
7 bitów danych
7 bitów danych: 1 bit startu, 7 bitów danych, 1 bit parzystości, 1 bit stopu
Stan sygnału "1"
Stan sygnału "0"
7 bitów danych
8 bitów danych: 1 bit startu, 8 bitów danych, 1 bit stopu
Stan sygnału "1"
Stan sygnału "0"
8 bitów danych
Rysunek 2-6 10-bitowa ramka znaków
26
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
11-bitowa ramka znaków
Poniższy rysunek przedstawia trzy formaty danych w 11-bitowej ramce znaków.
7 bitów danych: 1 bit startu, 7 bitów danych, 1 bit parzystości, 2 bity stopu
Stan sygnału "1"
Stan sygnału "0"
7 bitów danych
8 bitów danych: 1 bit startu, 8 bitów danych, 1 bit parzystości, 1 bit stopu
Stan sygnału "1"
Stan sygnału "0"
8 bitów danych
8 bitów danych: 1 bit startu, 8 bitów danych, 2 bit stopu
Stan sygnału "1"
Stan sygnału "0"
8 bitów danych
Rysunek 2-7 11-bitowa ramka znaków
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 27
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
Czas opóźnienia znaku (Character delay time)
Poniższy rysunek przedstawia maksymalny, dopuszczalny czas pomiędzy dwoma odebranymi znakami wewnątrz ramki danych. Jest to czas opóźnienia znaku.
Sygnał n-ty znak
Rysunek 2-8 Czas opóźnienia znaku
(n+1)-ty znak
Czas opóźnienia znaku
Czas t
28
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
2.6.3
Metody transmisji dla połączeń punkt-punkt
Podczas transmitowania danych wszyscy partnerzy komunikacji muszą przestrzegać ustalonego zbioru zasad regulujących ruch danych. ISO zdefiniowało 7-warstwowy model, który jest akceptowany jako podstawa ogólnoświatowej standaryzacji protokołów transmisji.
Protokół
Wszyscy partnerzy komunikacji muszą przestrzegać ustalonego zbioru zasad regulujących ruch danych. Takie reguły są nazywane protokołami.
Protokół definiują następujące parametry i właściwości:
● Tryb pracy
Tryb half-duplex lub full-duplex
● Inicjacja
Uzgadnianie określające, który partner komunikacji może zainicjować transmisję i pod jakimi warunkami.
● Znaki sterujące
Określa jakie znaki mają być używane do transmisji danych.
● Ramka znaków
Określa ramkę znaków używaną do transmisji danych.
● Backup danych
Określa używaną procedurę backupu danych.
● Czas opóźnienia znaku
Określa przedział czasu, wewnątrz którego wysyłany znak musi dotrzeć.
● Prędkość transmisji
Określa prędkość transmisji w bitach na sekundę (bits/s)
Procedura
Oznacza sekwencję transmisji danych zgodną z określoną metodą.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 29
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
ISO 7-warstwowy model odniesienia
Model odniesienia definiuje zewnętrzne zachowanie partnerów komunikacyjnych. Każda warstwa protokołu, z wyjątkiem najniższej, jest osadzona w następnej, poniższej.
Warstwy ISO są zdefiniowane następująco:
1. Warstwa fizyczne (Physical layer)
– Sprzętowe wymagania dla transmisji danych np. medium transmisyjne, prędkość transmisji
2. Warstwa łącza danych (Data link layer)
– Procedury zabezpieczeń dla transmisji danych
– Mechanizm dostępu
3. Warstwa sieci (Network layer)
– Definicja ścieżek komunikacji
– Specyfikacja adresowania dla transmisji danych pomiędzy dwoma partnerami komunikacji
4. Warstwa transportowa (Transport layer)
– Procedura detekcji błędów
– Działania korygujące
– Uzgadnianie (Handshaking)
5. Warstwa sesji (Session layer)
– Zestawianie transmisji danych
– Realizacja
– Zwolnienie transmisji danych
6. Warstwa prezentacji (Presentation layer)
– Konwencja standaryzowanego typu wyświetlania systemu komunikacji w formie charakterystycznej dla urządzenia (zasady interpretacji danych)
7. Warstwa aplikacji (Application layer)
– Specyfikacja zadań komunikacji i funkcji, których wymagają.
Przetwarzanie protokołów
Wysyłający partner komunikacji przetwarza protokoły od najwyższej warstwy (nr 7 – aplikacji) do najniższej warstwy (nr 1, fizyczna specyfikacja), podczas gdy odbierający partner komunikacji przetwarza protokoły w odwrotnym porządku tzn startuje od warstwy 1.
Nie każdy protokół musi wziąć pod uwagę wszystkie siedem warstw. Jeżeli wysyłający i odbierający partner komunikacji rozmawiają w tym samym języku to warstwa 6 jest pominięta.
30
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
2.6.4
Integralność transmisji
Zasada
Integralność transmisji odgrywa ważną rolę w transmisji danych i w wyborze procedury transmisji. Ogólnie mówiąc – im więcej warstw modelu odniesienia jest przetwarzanych tym większa jest integralność transmisji.
Obsługiwane protokoły
Poniższy rysunek przedstawia jak protokoły ASCII i 3964(R) obsługiwane przez moduł interfejsu
ET 200S 1SI mieszczą się w modelu odniesienia ISO.
Warstwa 2
Warstwa łącza danych
Transmisja bajtów danych w 3964(R)
Znaki początku i końca są dodane; transmisja może być powtórzona jeżeli wystąpią błędy.
Warstwa 1
Warstwa fizyczna
Definicja fizycznej transmisji bajtów danych.
Rysunek 2-9 Jak obsługiwane protokoły mieszczą się w modelu odniesienia
Integralność transmisji w protokole ASCII driver
Należy postępować zgodnie z poniższymi wskazówkami aby zwiększyć integralność transmisji podczas pracy z protokołem ASCII driver:
● Poza stosowaniem bitu parzystości (który może być również wyłączony, zależnie od ustawień ramki danych) nie ma innych środków zapewnienia integralności danych w przypadku przesyłania danych za pomocą protokołu ASCII driver. Oznacza to, że przesyłanie danych za pomocą protokołu ASCII driver jest bardzo skuteczne tak jak pozwala przepustowość danych, ale kompletna integralność danych nie może być zagwarantowana.
● Użycie bitu parzystości pozwala wykryć odwrócony bitu w znaku, który ma być transmitowany. Jeżeli dwa lub więcej bitów znaku jest odwróconych błąd ten nie będzie dłużej wykrywany.
● Aby zwiększyć integralność transmisji może być stosowana, dla ramki znaków, suma kontrolna i specyfikacja długości. Środki te muszą być zaimplementowane przez użytkownika.
● Dalsze zwiększenie integralności danych można osiągnąć przez potwierdzanie ramek danych w odpowiedzi na wysłane lub odebrane ramki danych. Dzieje się tak w protokołach komunikacyjnych wyższego poziomu (ISO 7-warstwowy model odniesienia).
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 31
Moduł interfejsu szeregowego
2.6 Podstawowe zasady szeregowej transmisji danych
Integralność transmisji w protokole 3964(R)
Protokół 3964(R) procedure oferuje zwiększenie integralności danych:
● Odległość Hamminga dla protokołu 3964(R) wynosi 3. Jest to miara integralności transmisji danych.
● Protokół 3964(R) procedure zapewnia wysoką integralność danych na linii transmisyjnej.
Tą wysoką integralność danych uzyskuje się dzięki stałym ustawieniom ramki danych oraz użyciu znaku kontroli bloku (block check character (BCC)).
Mogą być zastosowane dwie różne procedury transmisji danych – z lub bez znaku kontroli bloku:
● Transmisja danych bez znaku kontroli bloku: 3964
● Transmisja danych ze znakiem kontroli bloku: 3964(R)
W instrukcji tej określenie 3964(R) jest używane gdy opisy i uwagi odnoszą się do obu procedur transmisji danych.
Ograniczenia wydajności w protokole 3964R
● Nie jest zagwarantowane dodatkowe przetwarzanie danych wysyłanych/odbieranych przez program PLC partnera komunikacji. Można to tylko zapewnić poprzez zastosowanie zaprogramowanego mechanizmu potwierdzania.
● Kontrola bloku w protokole 3964R procedure (operacja EXOR) nie może wykryć brakujących zer (jako cały znak) ponieważ zero w operacji EXOR nie wpływa na wynik obliczeń.
Chociaż utrata całego znaku (ten znak musi być zerem!) jest bardzo mało prawdopodobna, mogłaby na przykład wystąpić w bardzo złych warunkach transmisji.
Można zabezpieczyć transmisję przed takimi błędami poprzez wysyłanie długości ramki danych wraz z samymi danymi oraz kontrolę długości na drugim końcu.
32
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
2.7
Transmisja danych za pomocą protokołu 3964(R) Procedure
2.7.1
Podstawy transmisji danych za pomocą protokołu 3964(R) Procedure
Zasady
Protokół 3964(R) procedure steruje transmisją danych w połączeniu punt-punkt pomiędzy modułem ET 200S a partnerem komunikacji. Protokół 3964(R) obejmuje warstwę fizyczną
(warstwa 1) jak również warstwę łącza danych (warstwa 2).
Znaki sterujące
Podczas transmisji danych protokół 3964(R) procedure dodaje znaki sterujące do danych użytkownika (warstwa łącza danych). Znaki kontrolne pozwalają partnerowi komunikacji sprawdzić czy dotarły kompletne dane i bez błędów.
Protokół 3964(R) procedure analizuje następujące znaki sterujące:
● STX: Start of Text;
Początek ciągu znaków, który ma być transmitowany
● DLE: Data Link Escape
Przełączenie transmisji danych
● ETX: End of Text;
Koniec ciągu znaków, który ma być transmitowany
● BCC: Block Check Character (3964R only)
Znak kontroli bloku
● NAK: Negative Acknowledge
Negatywne potwierdzenie
Uwaga
Jeżeli DLE jest transmitowany jako znak informacyjny to jest wysyłany dwukrotnie na linię transmisyjną (powielanie DLE) dzięki czemu można go odróżnić od znaku sterującego DLE używanego w kontekście zestawienia i zwolnienia połączenia. Odbiornik odwraca wtedy powielanie DLE.
Priorytet
W protokole 3964(R) procedure jeden partner komunikacji musi mieć wyższy priorytet a inny partner niższy priorytet. Jeżeli obaj partnerzy komunikacji żądają wysyłania w tym samym czasie to partner z niższym priorytetem będzie opóźniać wysyłanie zapytania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 33
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
Znak kontroli bloku
W protokole transmisji 3964R integralność danych jest zwiększana przez wysyłanie dodatkowego znaku kontroli bloku (BCC) (patrz rysunek poniżej).
Ramka danych:
Dane
Rysunek 2-10 Znaku kontroli bloku
Znak kontroli bloku jest równoważny parzystości we wzdłużnej kontroli parzystości (operacja
EXOR na wszystkich bajtach danych) wysyłanego lub odbieranego bloku. Rozpoczyna się od pierwszego bajtu danych użytkownika (pierwszy bajt ramki danych) po zestawieniu połączenia i kończą po kodzie DLE ETX po zwolnieniu połączenia.
Uwaga
Z powielaniem DLE, kod DLE jest w obliczany dwukrotnie podczas generowania BCC.
34
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
2.7.2
Wysyłanie danych w protokole 3964(R)
Wysyłanie danych w protokole 3964(R)
Poniższy rysunek przedstawia sekwencję transmisji podczas wysyłania danych za pomocą
3964(R) procedure.
Partner komunikacji
Kod startu (02
H
)
Pozytywne potwierdzenie (10
H
)
1-szy bajt danych
2-gi bajt danych
•
• n-ty bajt danych
1-szy bajt
2-gi bajt
•
• n-ty bajt
Zestawienie połączenia
Dane użytkownika
Kod końca (10
H
Kod końca (03
H tylko 3964(R)
)
)
Pozytywne potwierdzenie (10
H
)
Zwolnienie połączenia
Rysunek 2-11 Wymiana danych podczas wysyłania za pomocą 3964(R) procedure
Zestawienie połączenia wysyłania
Aby zestawić połączenie protokół 3964(R) procedure wysyła znak sterujący STX. Jeżeli partner komunikacji odpowie znakiem DLE zanim upłynie czas opóźnienia potwierdzenia procedura przełączy się na tryb wysyłania.
Jeżeli partner komunikacji odpowie znakiem NAK lub każdym innym znakiem (z wyjątkiem DLE) lub upłynie czas opóźnienia potwierdzenia bez odpowiedzi to procedura powtarza zestawianie połączenia. Po osiągnięciu zadanej liczby nieudanych prób połączenia procedura przerywa zestawianie połączenia i wysyła znak NAK do partnera komunikacji. Program systemowy zgłasza błąd poprzez blok funkcyjny S_SEND (parametr wyjściowy - STATUS).
Wysyłanie danych
Jeżeli połączenie jest zestawione to dane użytkownika zawarte w buforze wyjściowym modułu
ET 200S są wysyłane do partnera komunikacji zgodnie z wybranymi parametrami komunikacji.
Partner monitoruje czas pomiędzy przychodzącymi znakami. Przedział czasu pomiędzy dwoma znakami nie może przekraczać czasu opóźnienia znaku.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 35
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
Zwolnienie połączenia wysyłania
Jeżeli partner komunikacji wysyła znak NAK podczas aktywnej operacji wysyłania to procedura przerywa transmisję bloku i próbuje ponownie rozpocząć zestawianie połączenia jak opisano powyżej. Jeżeli wysyłany jest inny znak to procedura najpierw czeka aż czas opóźnienia znaku upłynie i wtedy wysyła znak NAK aby zmienić stan partnera komunikacji na bezczynny.
Następnie procedura ponownie rozpoczyna wysyłanie danych za pomocą znaku STX zestawiania połączenia.
Gdy zawartość bufora zostanie wysłana procedura dodaje znaki DLE i ETX oraz, tylko
w przypadku 3964R, znak kontrolni bloku BCC jako identyfikator końca a następnie czeka na znak potwierdzenia. Jeżeli partner komunikacji wysyła znak DLE wewnątrz przedziału czasu opóźnienia potwierdzenia to oznacza, że blok danych został odebrany bez błędów. Jeżeli partner komunikacji odpowie znakiem NAK, każdym innym znakiem (z wyjątkiem DLE), uszkodzonym znakiem lub czas opóźnienia potwierdzenia upłynie bez odpowiedzi to procedura ponownie rozpocznie wysyłanie danych za pomocą znaku STX zestawiania połączenia.
Po osiągnięciu zadanej liczby prób wysyłania bloku danych procedura przerywa próby i wysyła znak NAK do partnera komunikacji. Program systemowy zgłasza błąd poprzez blok funkcyjny
S_SEND (parametr wyjściowy - STATUS).
36
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
2.7.3
Odbieranie danych w protokole 3964(R)
Odbieranie danych w protokole 3964(R)
Poniższy rysunek przedstawia sekwencję transmisji gdy dane są odbierane w protokole
3964(R) procedure.
Partner komunikacji
Zestawienie połączenia
Dane użytkownika
1-szy bajt
2-gi bajt
•
• n-ty bajt
Kod startu (02
H
)
Pozytywne potwierdzenie (10
H
)
1-szy bajt danych
2-gi bajt danych
•
• n-ty bajt danych
Zwolnienie połączenia
Kod końca (10
H
Kod końca (03
H tylko 3964(R)
Pozytywne potwierdzenie (10
H
)
)
)
Rysunek 2-12 Wymiana danych podczas odbierania za pomocą 3964(R) procedure
Zestawienie połączenia odbierania
W stanie bezczynności, gdy nie ma żądań wysyłania do przetwarzania procedura oczekuje na partnera komunikacji aby zestawić połączenie.
Jeżeli podczas stanu bezczynności procedura odbiera jakikolwiek znak sterujący (z wyjątkiem
STX lub NAK) to czeka na upłynięcie czasu opóźnienia znaku i wtedy wysyła znak NAK.
Odbieranie danych
Jeżeli procedura odbierze znak STX i bufor odbierania jest pusty to odpowiada za pomocą DLE.
Przychodzące, odebrane znaki są przechowywane w buforze odbioru. Jeżeli odebrane są kolejno dwa znaki DLE, to tylko jeden z nich jest przechowywany w buforze odbioru.
Po każdym odebranym znaku procedura czeka przez czas opóźnienia znaku na następny znak.
Jeżeli ten czas upłynie zanim kolejny znak zostanie odebrany to do partnera komunikacji jest wysyłany znak NAK. Program systemowy zgłasza błąd poprzez blok funkcyjny S_RCV
(parametr wyjściowy – STATUS).
Jeżeli podczas zestawiania połączenia za pomocą STX nie jest dostępny pusty bufor odbierania to startuje odliczanie czasu oczekiwania 400 ms. Jeżeli po upłynięciu tego czasu ciągle bufor odbieranie nie jest pusty to program systemowy zgłasza błąd (komunikat błędu na wyjściu
STATUS bloku FB), procedura wysyła znak NAK i powraca do stanu bezczynności.
W przeciwnym wypadku procedura wysyła znak DLE i odbiera dane jak opisano powyżej.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 37
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
Zwolnienie połączenia odbierania
Jeżeli podczas odbierania wystąpią błędy transmisji (utracony znak, błąd ramki, błąd parzystości, etc.) to procedura kontynuuje odbieranie do momentu zwolnienia połączenia i wtedy do partnera komunikacji jest wysyłany znak NAK. Wtedy oczekiwane jest powtórzenie.
Jeżeli blok nie może zostać odebrany bez błędów, po zdefiniowanej podczas parametryzacji liczbie prób transmisji lub jeżeli partner komunikacji nie rozpocznie powtórzenia wewnątrz bloku w ciągu 4 sekund to procedura anuluje operację odbioru. Program systemowy zgłasza błąd poprzez blok funkcyjny S_RCV (parametr wyjściowy – STATUS).
Gdy protokół 3964 procedure wykrywa ciąg znaków DLE ETX przerywa odbieranie i potwierdza, że blok został poprawnie odebrany poprzez wysłanie znaku DLE do partnera komunikacji. Jeżeli podczas odbierania wystąpi błąd to procedura wysyła znak NAK do partnera komunikacji.
Wtedy oczekiwane jest powtórzenie.
Jeżeli protokół 3964R procedure wykryje ciąg znaków DLE ETX BCC to przerywa odbieranie.
Porównuje odebrany znak kontroli bloku BCC z wewnętrznie obliczoną parzystością wzdłużną.
Jeżeli znak kontroli BCC jest prawidłowy i nie wystąpiły inne błędy to 3964R procedure wysyła znak DLE i powraca do trybu bezczynności. Jeżeli znak BCC jest błędny lub wystąpi inny błąd odbierania to znak NAK jest wysyłany do partnera komunikacji. Wtedy jest oczekiwane powtórzenie.
Uwaga
Protokół 3964(R) procedure gdy tylko jest gotowy wysyła pojedynczy znak NAK, do partnera komunikacji aby ustawić go w stan bezczynności.
Parametry procedury
Należy wybrać następujące, identyczne parametry procedury dla obu partnerów komunikacji na ścieżce komunikacji 3964(R):
● Czas opóźnienia znaku (Character delay time)
● Czas opóźnienia potwierdzenia (Acknowledgment delay time)
● Próby połączenia (Connection attempts)
● Próby transmisji (Transmission attempts)
Wyjątek:
Jeżeli moduł ET 200S 1SI pracuje z niskim priorytetem to należy zredukować liczbę prób połączeń przynajmniej do jednej porównując do tych partnera komunikacji w celu minimalizacji czasu wymaganego do rozwiązania konfliktu inicjalizacji (patrz sekcja dotycząca konfliktu
inicjalizacji w rozdziale Transmisja danych w protokole 3964(R) Procedure (Strona 39)).
38
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
2.7.4
Transmisja danych w protokole 3964(R) Procedure
Obsługa błędnych danych
Poniższy rysunek przedstawia jak są obsługiwane błędne dane w protokole 3964(R) procedure.
Partner komunikacji
Odbierane dane
Kod startu (02
H
)
Pozytywne potwierdzenie (10
H
)
Zestawienie połączenia
1-szy bajt danych
• n-ty bajt danych
•
•
Kod końca (10
H
) Kod końca (03
H
) tylko 3964(R)
Negatywne potwierdzenie (15
H
)
1-szy bajt
• n-ty bajt
•
•
Dane użytkownika
Zestawienie połączenia
Próby połączenia
Rysunek 2-13 Wymiana danych w przypadku odebrania błędnych danych
Po odebraniu znaków DLE, ETX, BCC moduł ET 200S 1SI porównuje znak BCC partnera komunikacji z obliczoną wewnętrznie wartością. Jeżeli BCC jest poprawny i nie wystąpiły inne błędy moduł ET 200S 1S odpowiada znakiem DLE.
W przeciwnym razie odpowiada znakiem NAK i czeka przez czas oczekiwania bloku (T) przez
4 sekundy na nową próbę. Jeżeli, po zdefiniowanej liczbie prób transmisji, blok nie może zostać odebrany lub jeżeli w ciągu czasu oczekiwania nie było dalszych prób to moduł ET 200S 1SI anuluje operację odbierania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 39
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
Konflikt inicjalizacji
Poniższy rysunek przedstawia sekwencję transmisji danych w przypadku konfliktu inicjalizacji.
(niski priorytet)
Partner komunikacji
(wysoki priorytet)
Kod startu (02
H
)
Kod startu (02
H
)
Pozytywne potwierdzenie (10
H
)
1-szy bajt danych
2-gi bajt danych
•
• n-ty bajt danych
1-szy bajt
2-gi bajt
•
• n-ty bajt
Zestawienie połączenia
Dane użytkownika
Kod końca (10
H
) Kod końca (03
H
) tylko 3964(R)
Pozytywne potwierdzenie (10
H
)
Zwolnienie połączenia
Druga próba połączenia
Kod startu (02
H
)
Pozytywne potwierdzenie (10
H
)
Zestawienie połączenia
Rysunek 2-14 Wymiana danych w przypadku konfliktu inicjalizacji
Konflikt inicjalizacji wystąpi gdy urządzenie odpowie na żądania wysyłania (STX) partnerów komunikacji, w ciągu czasu opóźnienia potwierdzenia, wysyłając znak STX zamiast znaku DLE lub znaku potwierdzenia NAK. Oba urządzenia chcą wykonać oczekujące żądania wysyłania.
Urządzenie z niższym priorytetem wycofuje wysłane żądanie i odpowiada znakiem DLE.
Urządzenie z wyższym priorytetem wysyła swoje dane w sposób opisany powyżej. Gdy połączenie zostanie zakończone urządzenie z niższym priorytetem może zrealizować swoje żądanie wysyłania.
40
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.7 Transmisja danych za pomocą protokołu 3964(R) Procedure
Błędy procedury
Procedura rozpoznaje oba typy błędów – błędy spowodowane przez nieprawidłowe działanie partnera komunikacji oraz błędy spowodowane przez zakłócenia na linii.
W obu przypadkach procedura powtarza próby poprawnego wysyłania/odebrania bloku danych.
Jeżeli nie jest to możliwe przez maksymalną liczbę prób połączenia (lub jeżeli wystąpi nowy status błędów) procedura anuluje proces wysyłania lub odbierania. Zgłasza numer błędu, który wystąpił jako pierwszy i wraca do stanu bezczynności. Ten numer błędu jest wyświetlany jako parametr wyjściowy STATUS bloku funkcyjnego FB.
Częste zgłaszanie przez program systemowy numerów błędów na wyjściu STATUS bloku FB dla powtórzeń wysyłania i odbierania powoduje sporadyczne zakłócenia wymiany danych.
Równoważy to jednak duża liczba prób transmisji. W takim przypadku zaleca się sprawdzić łącze transmisyjne pod kątem możliwych źródeł interferencji, ponieważ częste powtórzenia zmniejszają prędkość danych użytkownika i integralność transmisji. Jednakże zakłócenia mogą być również wynikiem uszkodzenia partnera komunikacji.
Jeżeli linia odbierania jest przerwana to program systemowy zgłasza BREAK (przerwanie linii jest zgłaszane poprzez przerwanie diagnostyczne w module ET 200S) (patrz rozdział
Diagnostyka (Strona 100)). Nie jest uruchamianie powtarzanie. Stan BREAK jest automatycznie
resetowany jak tylko zostaje przywrócone połączenie na linii.
Dla każdego wykrytego błędu transmisji (utracony znak, błąd ramki lub parzystości) jest zgłaszany standardowy numer niezależnie do tego czy błąd został wykryty podczas wysyłania lub odbierania bloku danych. Błąd jest zgłaszany tylko wtedy, gdy wszystkie wcześniejsze próby się nie powiodły.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 41
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8
Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8.1
Podstawowe informacje o transmisji danych za pomocą sterownika ASCII
Wprowadzenie
Sterownik ASCII steruje transmisją danych poprzez połączenie punkt-punkt pomiędzy modułem
ET 200S 1SI a partnerem komunikacji. Sterownik ASCII Driver zawiera warstwę fizyczną
(warstwa 1).
Struktura ramek danych pozostanie otwarta ponieważ jest użytkownik S7, który przesyła kompletną ramkę wysyłania do modułu ET 200S 1SI. Dla kierunku odbierania musi być sparametryzowane kryterium końca ramki danych. Struktura ramek danych wysyłania może się różnić od struktury ramek danych odbierania.
Sterownik ASCII umożliwia wysyłanie i odbieranie danych o dowolnej strukturze (wszystkie drukowalne znaki ASCII jak również znaki od 00 poprzez FF H (w przypadku ramek znaku z 8 bitowymi ramkami znaków) lub od 00 poprzez 7F H (w przypadku ramek znaku z 7 bitowymi ramkami znaków)).
Zobacz także
Podstawy komunikacji za pomocą bloków funkcyjnych (Strona 64)
Właściwości uruchamiania i tryby pracy (Strona 84)
42
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8.2
Wysyłanie danych za pomocą sterownika ASCII
Wysyłanie danych za pomocą sterownika ASCII
W przypadku wysyłania należy, jako parametr "LEN", określić ilość bajtów danych użytkownika, które zostaną przesłane gdy zostanie wywołany blok funkcyjny S_SEND. Dane użytkownika muszą zawierać wymagane znaki początku i końca tekstu.
Gdy podczas odbierania jako kryterium końca zastosowano upłynięcie czasu opóźnienia znaku
("character delay time expired"), sterownik ASCII podczas wysyłania czeka pomiędzy dwoma ramkami danych. Blok FB S_SEND można wywołać w dowolnym momencie jednakże sterownik
ASCII nie rozpocznie wysyłania dopóki od ostatniej, wysłanej ramki danych nie upłynie czas dłuższy niż ten ustawiony jako czas opóźnienia znaku.
Uwaga
Przy ustawieniu sterowania przepływem XON/XOFF dane użytkownika nie mogą zawierać żadnych ustawionych znaków XON lub XOFF. Domyślnie są to DC1 = 11
H
dla XON i DC3 = 13
H
dla XOFF.
Wysyłanie danych
Poniższy diagram przedstawia sekwencję transmisji:
Oczekiwanie na żądanie wysyłania dotarło żądanie SEND
Wysyłanie danych użytkownika
Ilość n danych do wysłania jest czytana z parametru LEN bloku
FB S_SEND
Rysunek 2-15 Sekwencja operacji wysyłania
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 43
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8.3
Odbieranie danych za pomocą sterownika ASCII
Odbieranie danych za pomocą sterownika ASCII
W przypadku transmisji danych za pomocą sterownika ASCII można wybrać pomiędzy trzema różnymi kryteriami końca odbierania danych. Kryterium końca definiuje punkt kiedy kompletnie zostanie odebrana ramka danych. Możliwe kryteria końca są następujące:
● Upłynięcie czasu opóźnienia znaku (Expiration of the character delay time)
Ramka danych nie posiada ani stałej długości ani zdefiniowanego znaku końca tekstu; koniec ramki danych jest zdefiniowany przez przerwę na linii (upłynięcie czasu opóźnienia znaku). Minimalne wartości poszczególnych prędkości transmisji są przedstawione dalej.
● Odebranie znaku(-ów) końca tekstu (Receipt of the end character(s))
Koniec ramki danych jest oznaczony przez jeden lub dwa znaki końca tekstu.
● Odebranie stałej liczby znaków (Receipt of a fixed number of characters)
Długość odbieranej ramki danych jest zawsze identyczna.
Przejrzystość kodu
Przejrzystość kodu procedury zależy od wyboru skonfigurowanego kryterium końca i sterowania przepływem:
● Z jednym lub dwoma znakami końca tekstu
– Kod nieprzejrzysty
● Gdy kryterium końca jest czas opóźnienia znaku ("Expiration of character delay time") lub stała długość ramki danych ("Receipt of a fixed number of characters")
– Kod przejrzysty
● Praca z przejrzystym kodem nie jest możliwa gdy zastosowano sterowanie przepływem
XON/XOFF.
Przejrzysty kod oznacza, że dane użytkownika mogą zawierać każdą dowolną kombinację znaków bez rozpoznania kryterium końca.
Minimalne czasy opóźnienia znaku zależnie od prędkości transmisji
Minimalne wartości czasów opóźnienia znaku zależą od prędkości transmisji. Tabela poniżej zawiera minimalne czasy opóźnienia znaku w ms dla poszczególnych prędkości transmisji.
Tabela 2-7 Minimalny czas opóźnienia znaku
Prędkość
115
300
600
1.200
2.400
4.800
9.600
Minimalny czas opóźnienia znaku
365 ms
130 ms
65 ms
32 ms
16 ms
8 ms
4 ms
44
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
Prędkość
19.200
38.400
57.600
76.800
115.200
Minimalny czas opóźnienia znaku
2 ms
1 ms
1 ms
1 ms
1 ms
Bufor odbioru w module ET 200S
Bufor odbioru modułu interfejsu ET 200S 1SI posiada długość 4096 bajtów. Podczas ustawiania parametrów można określić czy bufor odbierania powinien być wyczyszczony na starcie lub czy dane w buforze odbioru powinny być zachowane poprzez zapobieganie nadpisywaniu.
Dodatkowo można aktywować lub deaktywować buforowanie odebranych ramek danych.
Bufor odbioru w module interfejsu ET 200S 1SI jest buforem typu pierścień (cykliczny):
● Jeżeli do bufora odbioru modułu interfejsu ET 200S 1SI zostanie zapisanych wiele ramek danych: moduł ET 200S 1SI zawsze wysyła najstarsze ramki danych do CPU.
● Jeżeli tylko zachodzi konieczność transmitowania do CPU najnowszą ramkę danych to trzeba deaktywować dynamiczne ramki danych i wyłączyć zabezpieczenie nadpisywania.
Uwaga
Jeżeli ciągły odczyt danych odbieranych jest przerwany w programie użytkownika na chwilę, można określić kiedy dane odebrane są żądane ponownie, to CPU odbiera starą ramkę danych z modułu ET 200S 1SI zanim odbierze tą najnowszą.
to jest żądanie odbioru nowych danych to CP 341 może najpierw odebrać starą ramkę danych z CPU i potem ostatnią ramkę danych.
Stara ramka danych to ta, które były na linii pomiędzy ET 200S 1SI i CPU w czasie przerwania lub ta, która została już odebrana przez blok FB.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 45
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8.4
Kryterium końca w transmisji danych za pomocą sterownika ASCII
Kryterium końca – koniec czasu opóźnienia znaku ("Expiration of character delay time")
Po odebraniu danych koniec ramki danych jest wykrywany, gdy upłynie czas opóźnienia znaku.
Odebrane dane są akceptowane przez CPU poprzez blok funkcyjny S_RCV.
W tym przypadku czas opóźnienia znaku musi na tyle krótki, aby na pewno upłynął pomiędzy dwoma kolejnymi ramkami danych. Ale powinien być także wystarczająco długi aby zapobiec pomyleniu przerwy wewnątrz ramki danych (inicjowanej przez partnera komunikacji) z końcem ramki danych.
Poniższy rysunek przedstawia operację odbierania z upłynięciem czasu opóźnienia znaku
("Expiration of character delay time") jako kryterium końca.
46
Oczekiwanie na znak
Dotarł znak
Odebrano znak z monitorowaniem czasu opóźnienia znaku
Błąd podczas odbierania
(ale nie błąd czasu opóźnienia znaku)
Ramka danych kompletna
(upłynął czas opóźnienia znaku)
Oczekiwanie na czas opóźnienia znaku.
Anulowanie odebranych znaków
Ramka danych wprowadzona do bufora odbioru
Błąd wprowadzony do bufora odbierania
Rysunek 2-16 Diagram przepływu dla odbierania z kryterium końca – upłynięcie czasu opóźnienia znaku ("Expiration of character delay time")
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
Kryterium końca – odebranie znaku(-ów) końca ("Receipt of end character(s)")
Po odebraniu danych, koniec ramki danych jest wykrywany gdy zostanie odebrany zdefiniowany znak(-i) końca tekstu. Odebrane dane zawierające znak końca są akceptowane przez CPU poprzez blok funkcyjny S_RCV.
Jeżeli czas opóźnienia znaku upłynie to choć dane są ciągle odbierane to operacja odbierania zostanie zakończona. Generowany jest komunikat błędu i fragment ramki danych jest odrzucany.
Transmisja nie ma nieprzejrzystego kodu jeżeli stosuje się znaki końca tekstu. Należy się wtedy upewnić, że znaki końca nie są zawarte w danych użytkownika.
Poniższy rysunek przedstawia operację odbierania ze znakiem końca ("Receipt of end character(s)") jako kryterium końca.
Oczekiwanie na znak
Dotarł znak
Odebrano znak z kontrolą końca i czasem opóźnienia znaku
Błąd podczas odbierania
Ramka danych kompletna
Ramka danych wprowadzona do bufora odbioru
Oczekiwanie prawidłowy znak końca
Upłynął czas opóźnienia znaku
Błąd wprowadzony do bufora odbierania
Rysunek 2-17 Diagram przepływu dla odbierania z kryterium końca – odebranie znaku końca ("Receipt of end character(s)")
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 47
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
Kryterium końca – odebranie stałej liczby znaków ("Receipt of a fixed number of characters)
Po odebraniu danych koniec ramki danych jest wykrywany po odebraniu zdefiniowanej liczby znaków. Odebrane dane są akceptowane przez CPU poprzez blok funkcyjny S_RCV.
Jeżeli czas opóźnienia znaku upłynie zanim zostanie odebrana zdefiniowana liczba znaków to operacja odbierania zostanie zakończona. Generowany jest komunikat błędu i fragment ramki danych jest odrzucany.
Poniższy rysunek przedstawia operację odbierania stałej liczby znaków ("Receipt of a fixed number of characters") jako kryterium końca.
Oczekiwanie na znak
Dotarł znak
Odebrano znak z kontrolą długości i czasem opóźnienia znaku
Błąd podczas odbierania
Ramka danych kompletna
Ramka danych wprowadzona do bufora odbioru
Oczekiwanie zdefiniowaną liczbę znaków
Upłynął czas opóźnienia znaku
Błąd wprowadzony do bufora odbierania
Rysunek 2-18 Diagram przepływu dla odbierania z kryterium końca – odebranie stałej liczby znaków "Receipt of a fixed number of characters")
48
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
2.8.5
Sygnały towarzyszące RS-232C w transmisji danych za pomocą sterownika
ASCII
Sygnały towarzyszące RS 232C
Moduł interfejsu ET 200S 1SI obsługuje następujące sygnały towarzyszące RS 232C:
● DCD (Wejście)
● DTR (Wyjście)
● DSR (Wejście)
● RTS (Wyjście)
● CTS (Wejście)
Data carrier detect; wykryta nośna danych
Data terminal ready; ET 200S 1SI gotowy do pracy
Data set ready; partner komunikacji gotowy do pracy
Request to send; ET 200S 1SI gotowy do wysyłania
Clear to send; Partner komunikacji może odbierać dane od modułu ET 200S 1SI (odpowiedź na RTS = ON z
ET 200S 1SI)
Gdy moduł ET 200S 1SI jest włączony to sygnały wyjściowe są w stanie OFF (nieaktywne).
Można skonfigurować używanie sygnałów sterujących DTR/DSR i RTS/CTS za pomocą interfejsu parametryzacji lub sterować ich używaniem za pomocą funkcji (FC) w programie użytkownika.
Stosowanie sygnałów towarzyszących RS 232C
Sygnały towarzyszące RS 232C mogą być używane:
● Gdy jest skonfigurowana automatyczne sterowanie wszystkimi sygnałami towarzyszącymi
RS 232C
● Gdy jest skonfigurowane sterowanie przepływem danych (RTS/CTS)
● Za pomocą bloków funkcyjnych S_VSTAT i S_VSET (FB)
Uwaga
Gdy automatyczne sterowanie sygnałami towarzyszącymi RS 232C jest skonfigurowane to ani sterowanie przepływem danych RTS/CTS ani sterowanie RTS i DTR za pomocą bloku funkcyjnego S_VSET FB nie jest możliwe.
Gdy jest skonfigurowane sterowanie przepływem danych RTS/CTS to sterowanie RTS za pomocą bloku funkcyjnego S_VSET FB nie jest możliwe.
Z drugiej strony zawsze jest możliwe odczytywanie wszystkich sygnałów towarzyszących RS
232C za pomocą bloku funkcyjnego FB S_VSTAT.
Poniżej opisano podstawowe zasady sterowania i interpretowania sygnałów towarzyszących
RS 232C.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 49
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
Automatyczne sterowanie sygnałami towarzyszącymi RS 232C
Automatyczne sterowanie sygnałami towarzyszącymi RS 232C jest zaimplementowane w module ET 200S 1SI w następujący sposób:
● Tak długo jak moduł ET 200S 1SI jest skonfigurowany do pracy w trybie z automatycznym sterowaniem sygnałami towarzyszącymi RS 232C ustawia linię RTS na OFF i linię DTR na
ON (ET 200S 1SI gotowy do pracy).
Zapobiega to przesyłaniu ramek danych dopóki linia DTR nie jest ustawiona na ON. Dane nie są odbierane przez interfejs RS 232C tak długo jak DTR = OFF. Każde żądanie wysyłania będzie anulowane z odpowiednim komunikatem błędu.
● Gdy żądanie wysyłania jest w kolejce to moduł ustawia RTS=ON i uruchamia odliczanie skonfigurowanego czasu oczekiwania na wyprowadzanie danych (data output wait time).
Po upłynięciu czasu wyprowadzania danych i gdy CTS = ON dane są wysyłane przez interfejs RS 232C.
● Jeżeli podczas wysyłania linia CTS nie jest ustawiona na ON w ciągu czasu wyprowadzania danych lub jeżeli CTS zmienia się na OFF podczas operacji wysyłania to moduł anuluje żądanie wysyłania i generuje odpowiedni komunikat błędu.
● Gdy dane zostaną wysłane i skonfigurowany czas kasowania RTS upłynął to linia RTS jest ustawiona na OFF. ET 200S 1SI nie czeka aż CTS zmieni się na OFF.
● Dane mogą być odbierane poprzez interfejs RS 232C tak długo jaka długo linia DSR=ON.
Jeżeli bufor odbioru w module ET 200S 1SI jest bliski przepełnienia to moduł ET 200S 1SI nie będzie odpowiadał.
● Jeżeli DSR zmienia się z ON na OFF to aktywne żądanie wysyłania lub odbieranie danych będzie anulowane z komunikatem błędu.
Uwaga
Gdy jest skonfigurowane automatyczne zarządzanie sygnałami towarzyszącymi RS 232C to nie jest możliwe ani sterowanie przepływem danych RTS/CTS ani sterowanie RTS i DTR za pomocą bloków funkcyjnych S_VSET FB.
50
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
Diagram czasowy
Poniższy rysunek przedstawia chronologiczną sekwencję żądania wysyłania.
Żądanie wysyłania:
Partner:
Upłynął czas oczekiwania na wyjście danych: → Wysyłanie
Wysyłanie zakończone
Upłynął czas kasowania RTS
Partner:
Rysunek 2-9
Czas oczekiwania na wyjście danych Czas kasowania RTS
Diagram czasowy automatycznego działania sygnałów towarzyszących RS 232C
Sterowanie przepływem danych/Uzgadnianie (Handshaking)
Uzgadnianie steruje przepływem danych pomiędzy dwoma partnerami komunikacji.
Uzgadnianie zapewnia to, że dane nie są tracone podczas transmisji pomiędzy urządzeniami, które pracują z różnymi prędkościami. Zasadniczo są dwa typy uzgadniania:
● Uzgadnianie programowe (Software handshaking) (np.: XON/XOFF)
● Uzgadnianie sprzętowe (Hardware handshaking) (np.: RTS/CTS)
Sterowanie przepływem danych w module ET 200S 1SI jest realizowane w następująco:
● Gdy moduł ET 200S 1SI jest skonfigurowany do pracy w trybie ze sterowaniem przepływem wysyła znak XON lub ustawia linię RTS na ON.
● Jeżeli ustawiona liczba ramek danych lub 50 znaków zostaną przekroczone zanim przepełni się bufor odbioru (rozmiar bufora odbioru: 4096 bajtów) to moduł ET 200S 1SI wysyła znak XOFF lub ustawia linię RTS na OFF. W przypadku gdy partner komunikacji ignoruje ten stan i kontynuuje transmisję to po przepełnieniu bufora odbioru jest generowany komunikat błędu. Dane odebrane w ostatniej ramce danych będą odrzucone.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 51
Moduł interfejsu szeregowego
2.8 Transmisja danych za pomocą sterownika ASCII (ASCII Driver)
● Gdy tylko ramka danych jest pobrana przez S7 CPU i bufor odbioru jest gotowy do odbioru, moduł ET 200S 1SI wysyła znak XON lub ustawia linię RTS na ON.
● Moduł ET 200S 1S przerywa operację wysyłania gdy odbierze znak XOFF lub sygnał sterujący CTS jest ustawiony na OFF. Jeżeli znak XON nie jest odebrany lub partner nie ustawi CTS na ON zanim upłynie ustawiony czas to operacja wysyłania jest anulowana i jest generowany odpowiedni komunikat błędu (0708 funkcyjnych.
H
) na wyjściu STATUS bloków
Odczytywanie/sterowanie poprzez FB S_VSTAT i FB S_VSET
Blok funkcyjny S_VSTAT może być użyty do określenia statusu każdego sygnału towarzyszącego RS 232C. Blok funkcyjny S_VSET może być użyty do sterowania sygnałami
wyjściowymi DTR i RTS. Rozdział Podstawy komunikacji za pomocą bloków funkcyjnych
(Strona 64) zawiera informacje jak używać bloków funkcyjnych do obsługi interfejsu CPU
i modułu ET 200S 1SI.
52
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
2.9
Konfigurowanie i parametryzacja modułu interfejsu szeregowego
2.9.1
Konfigurowanie modułu interfejsu szeregowego
Zasada
Aby skomunikować się z modułem interfejsu szeregowego ET 200S 1SI poprzez sieć
PROFIBUS używając S7 master trzeba użyć konfiguracji sprzętu STEP 7 do ustawienia modułu w sieci PROFIBUS i ustawienia jego parametrów komunikacji.
Po wybraniu, w katalogu sprzętu, modułu ET 200S 1SI i dodaniu go do modułu bazowego
ET 200S w konfiguracji sieci, numer zamówieniowy, numer slotu i adresy wejść i wyjść są automatycznie przesłane do tabeli konfiguracji. Można wtedy wywołać okienko dialogowe właściwości modułu ET 200S 1SI i ustawić typ komunikacji i inne parametry.
Konfigurowanie sterownika ASCII driver 2.9.2
Tabela poniżej zawiera listę parametrów, które mogą być ustawione dla sterownika ASCII driver modułu interfejsu szeregowego.
Parametry sterownika the ASCII driver Tabela 2-8
Parametry
Przerwanie diagnostyczne
(Diagnostics interrupt)
Aktywacja wykrywania przerwy na linii
(Activate BREAK detection)
Typ interfejsu
(Type of interface)
Opis
Określa czy moduł powinien generować przerwanie diagnostyczne w wypadku poważnego błędu.
Jeżeli linii jest przerwana lub kabel interfejsu nie jest podłączony to moduł generuje komunikat błędu "Break".
Zakres wartości
● No
● Yes
● No
● Yes
Domyślna wartość
No
No
Stan początkowy linii odbierania half-duplex i full-duplex
(Half-duplex and fullduplex initial state of the receive line.)
Określa elektryczny interfejs, który będzie
używany (patrz rozdziały Interfejs RS-
232C (Strona 22) i Interfejs RS-422/485
● RS 232C
● RS 422 (full duplex)
● RS 485 (half duplex)
Określa stan początkowy linii odbierania w trybach pracy RS 422 i RS 485. Nie używany w trybie pracy RS 232C.
Ustawienie "Inverted signal levels" jest wymagane tylko jeżeli musi być zapewniona kompatybilność gdy część jest wymieniana.
RS 232C
RS 422:
R(A) 5 V/R(B) 0 V (BREAK)
R(A) 0 V/R(B) 5 V
Inverted signal levels
(Odwrócone poziomy sygnału)
RS 485:
None (Brak)
R(A) 0 V/R(B) 5 V
RS 422:
R(A) 5 V/R(B) 0 V
(BREAK)
RS 485:
R(A) 0 V/R(B) 5 V
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 53
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Parametry
Sterowanie przepływem danych
(Data flow control)
(z parametrami domyślnymi; zmiana domyślnych wartości w programie użytkownika)
Prędkość transmisji
(Baud rate)
Bity danych
(Data bits)
Bity stopu
(Stop bits)
Parzystość
(Parity)
Opis Zakres wartości
Można wysyłać i odbierać dane ze sterowaniem przepływem danych.
Transmisja danych jest synchronizowana za pomocą sterowania przepływem danych jeżeli jeden partner komunikacji pracuje szybciej niż inny. Wybór typu sterowania przepływem danych i ustawianie odpowiednich parametrów (patrz rozdział
Podstawowe informacje o transmisji danych za pomocą sterownika ASCII (Strona 42)).
Uwaga: Sterowanie przepływem danych nie jest możliwe w interfejsie RS 485.
Sterowanie przepływem danych z "RTS/CTS" i "Automatic control of V24 signals" jest obsługiwane tyko przez interfejs RS 232C.
● None (Brak)
● XON/OFF
● RTS/CTS
● Automatic control of
V.24 signals
(Automatyczne sterowanie sygnałami
V.24)
Wybór prędkości transmisji danych w bitach na sekundę.
● 110
● 300
● 600
● 1200
● 2400
● 4800
● 9600
● 19200
● 38400
● 57600
● 76800
● 115200
Wybór liczby bitów, na których jest mapowany znak.
● 7
● 8
Wybór liczby bitów stopu, które są podczas transmisji dodawane do każdego znaku aby sygnalizować koniec znaku.
● 1
● 2
Sekwencja bitów danych może być rozszerzona o jeden znak aby zawrzeć bit parzystości. Dodatkowa wartość (0 lub 1) ustawia wartość wszystkich bitów (bity danych i bity parzystości) na zdefiniowany stan.
None: Dane są wysyłane bez bitu parzystości.
Odd: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość nieparzystą ze stanem sygnału "1".
Even: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość parzystą ze stanem sygnału "1".
Any: Stan sygnału bitu parzystości nie jest istotny. Parzystość nie jest sprawdzana podczas odbierania danych, ale jest zawsze ustawiana na "0" gdy dane są wysyłane.
● None (Brak)
● Odd (Nieparzystość)
● Even (Parzystość)
● Any (Dowolny)
Domyślna wartość
None
9600
8
1
Even
54
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Parametry
Wskaźnik końca odebranej ramki danych
(Indication for end of receive message frame)
Czas opóźnienia znaku, ms
(Expiration of character delay time, ms)
Opis Zakres wartości
Jeżeli dane są transmitowane za pomocą sterownika ASCII driver, to koniec odebranej ramki danych może być wykryty na różne sposoby. Tutaj można wybrać jeden z trzech trybów transmisji i wprowadzić określone parametry.
● Expiration of character delay time
(Upłynięcie czasu opóźnienia znaku)
Uwaga: Jeżeli podczas obierania danych upłynie czas opóźnienia znaku to operacja odbierania jest przedwcześnie anulowana we wszystkich trzech trybach. Ramka danych jest odrzucana z wyjątkiem trybu
"Expiration of character delay time".
● Upłynięcie czasu opóźnienia znaku
(Expiration of character delay time):
Ramka danych jest wykryta po upłynięciu czasu opóźnienia znaku.
● Receipt of end character(s)
(Odbiór znaku (-ów) końca)
● Receipt of a fixed number of characters
(Odbiór stałej liczby znaków)
● Odbranie znaku (-ów) końca (Receipt of end character(s)): Koniec ramki znaków jest wykryty gdy zostanie odebrany zdefiniowany znak (-ki) końca.
● Odebranie stałej liczby znaków (Receipt of a fixed number of characters): Koniec ramki danych jest wykryty na podstawie zdefiniowanej długości ramki danych.
Wszystkie ramki danych, które będą odebrane posiadają taką samą długość.
Maksymalny dopuszczalny przedział czasu pomiędzy odbiorem dwóch znaków. 1
1 ms do 65535 ms
Znak końca 1 2
(End character 1 2 )
Można zdefiniować maksymalnie dwa znaki końca do celów odbierania danych ze znakami końca. Wybrane znaki końca ograniczają długość ramki danych.
● Dla 7 bitów danych: 3
1 do 7F
H
● Dla 8 bitów danych: 3
1 do FF
H
Znak końca 2 2
(End character 2 2 )
Można zdefiniować maksymalnie dwa znaki końca do celów odbierania danych ze znakami końca. Wybrane znaki końca ograniczają długość ramki danych.
Drugi kod końca, jeżeli został został określony.
● Dla 7 bitów danych: 3
0 do 7F
● Dla 8 bitów danych: 3
0 do FF
H
H
Długość odebranej ramki danych
(Message frame length on receipt 4 )
Określa długość ramki danych jeżeli odbierane są dane ze stałą liczbą znaków
Długość ramki danych musi odpowiadać dokładnie liczbie bajtów danych, które mają być odebrane przez partnera komunikacji.
1 do 224 bajtów
Domyślna wartość
Expiration of character delay time
4 ms
3
0
100
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 55
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Parametry
Dynamiczne ramki danych
(Dynamic message frames)
Zapobieganie nadpisywaniu bufora
(Prevent overwriting of buffer)
Opis Zakres wartości
Do celów odbierania danych można określić czy tylko jedna ramka danych będzie buforowana lub czy ramki są buforowane dynamicznie. Jeżeli opcja dynamicznego buforowania ramek danych jest aktywowana to moduł może buforować kilka ramek różnej długości.
Bufor jest typu pierścień. Jeżeli bufor jest pełen to starsze ramki są nadpisywane, chyba że parametr "Prevent overwriting of buffer" jest aktywowany. W tym przypadku starsze ramki są ignorowane.
W obu przypadkach przerwanie diagnostyczne wskazuje, że dane zostały utracone.
● Activated
(Aktywowane)
● Deactivated
(Deaktywowane)
Ten parametr zapobiega zbuforowane ramki danych przed nadpisaniem, gdy moduł odbierze nową ramkę danych ale bufor odbierania nie został jeszcze opróżniony. Zapobiega to utracie wcześniej odebranych ramek danych.
● No
● Yes
Domyślna wartość
Activated
Yes
Czyszczenie bufora
ET 200S 1SI odbioru podczas uruchamiania
(Clear ET 200S 1SI receive buffer on startup)
Określa czy bufor odbierania modułu powinien być automatycznie czyszczony gdy CPU przechodzi z trybu pracy STOP do RUN (uruchamianie CPU). W ten sposób można zapewnić, że bufor odbierania modułu zawiera tylko ramki danych, które zostały odebrane po uruchomieniu CPU.
● No
● Yes
Yes
1 Minimalny czas opóźnienia znaku zależy od prędkości transmisji.
2 Może być tylko ustawiony jeżeli kryterium końca jest odbiór znaku (-ów) końca ("Receipt of end character(s)").
3 Zależy od tego czy ustawiono 7 lub 8 bitów danych dla ramki danych.
4 Może być tylko ustawiony jeżeli kryterium końca jest odbiór stałej liczby znaków ("Receipt of a fixed number of characters").
56
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
2.9.3
Konfigurowanie sterownika dla protokołu 3964(R)
Zasada
Poniższa tabela zawiera listę parametrów, które można ustawić dla protokołu 3964(R) modułu interfejsu szeregowego.
Parametry sterownika protokołu 3964(R) Tabela 2-9
Parametry
Przerwanie diagnostyczne
(Diagnostics interrupt)
Opis
Określa czy moduł powinien generować przerwanie diagnostyczne w wypadku poważnego błędu.
Zakres wartości
● No
● Yes
Domyślna wartość
No
Aktywacja wykrywania przerwy na linii
(Activate BREAK detection)
Typ interfejsu
(Type of interface)
Jeżeli linii jest przerwana lub kabel interfejsu nie jest podłączony to moduł generuje komunikat błędu "Break".
● No
● Yes
No
Stan początkowy linii odbierania
(Receive line initial state)
Określa elektryczny interfejs, który będzie używany.
● RS 232C
● RS 422
Określa stan początkowy linii odbierania w trybie pracy RS 422. Nie używany w trybie pracy RS 232C.
Ustawienie "Inverted signal levels" jest wymagane tylko jeżeli musi być zapewniona kompatybilność gdy część jest wymieniana.
RS 232C
R(A) 5 V/R(B) 0 V
(BREAK)
R(A) 0 V/R(B) 5 V
Inverted signal levels
(Odwrócone poziomy sygnału)
R(A) 5 V/R(B) 0 V
(BREAK)
Tryb działania protokołu
(Protocol operating mode)
Określa czy dane powinny być wysłane ze znakiem kontroli bloku (BCC) aby zwiększyć integralność danych.
Znak kontroli bloku odpowiada parzystości wzdłużnej (operacja logiczna
EXOR na wszystkich bajtach danych) wysyłanego/odbieranego bloku. Jeżeli partner komunikacji podczas odbierania danych wykrywa znak kontroli bloku to porównuje BCC z obliczoną wewnętrznie parzystością wzdłużną. Jeżeli znak kontroli bloku jest błędny to czeka
4 sekundy (czas oczekiwania bloku) i potem transmisja jest powtarzana.
Operacja odbierania jest anulowana jeżeli blok nie może być odebrany po zdefiniowanej liczbie dokonanych prób lub podczas czasu oczekiwania bloku nie zostało wykonanych więcej prób.
● No block check
(Bez sprawdzania bloku)
● Block check
(Sprawdzanie bloku)
Block check
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 57
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Parametry
Prędkość transmisji
(Baud rate)
Bity danych
(Data bits)
Opis
Wybór prędkości transmisji danych w bitach na sekundę.
Zakres wartości
● 110
● 300
● 600
● 1200
● 2400
● 4800
● 9600
● 19200
● 38400
● 57600
● 76800
● 115200
Wybór liczby bitów, na których jest mapowany znak.
● 7
● 8
Bity stopu
(Stop bits)
Wybór liczby bitów stopu, które są podczas transmisji dodawane do każdego znaku aby sygnalizować koniec znaku.
● 1
● 2
Parzystość
(Parity)
Sekwencja bitów danych może być rozszerzona o jeden znak aby zawrzeć bit parzystości. Dodatkowa wartość (0 lub 1) ustawia wartość wszystkich bitów (bity danych i bity parzystości) na zdefiniowany stan.
● None (Brak)
● Odd (Nieparzystość)
● Even (Parzystość)
● Any (Dowolny)
● None: Dane są wysyłane bez bitu parzystości.
● Odd: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość nieparzystą ze stanem sygnału "1".
● Even: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość parzystą ze stanem sygnału "1".
Czas opóźnienia znaku
(ms)
(Character delay time
(ms))
● Any order: Stan sygnału bitu parzystości nie jest istotny. Parzystość nie jest sprawdzana podczas odbierania danych, ale jest zawsze ustawiana na "0" gdy dane są wysyłane.
Maksymalny dopuszczalny przedział czasu pomiędzy odbiorem dwóch znaków.
Należy ustawić minimalny czas opóźnienia znaku dla swojej aplikacji. Należy pamiętać, że czas opóźnienia znaku musi posiadać określoną minimalną wartość zależną od prędkości transmisji.
20 do 655,350 ms w przyrostach co 10 ms
Czas opóźnienia potwierdzenia (ms)
(Acknowledgement delay time (ms))
Określa maksymalny czas, który może upłynąć zanim potwierdzenie zostanie odebrane od partnera komunikacji gdy połączenie jest zestawiane i zwalniane.
Należy pamiętać, że czas opóźnienia potwierdzenia musi posiadać określoną minimalną wartość zależną od prędkości transmisji.
10 do 655,350 ms w przyrostach co 10 ms
Domyślna wartość
9600
8
1
Even
220 ms
2,000 ms
(550 ms bez kontroli bloku)
58
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Parametry
Próby połączeń
(Connection attempts)
Próby transmisji
(Transmission attempts)
Priorytet
(Priority)
Opis
Definiuje liczbę (n) prób zestawienia połączenia.
(Po n nieudanych próbach funkcja jest anulowana i błąd jest sygnalizowany na wyjściu STATUS bloku funkcyjnego
S_SEND.)
Zakres wartości
1 do 255
Definiuje liczbę (n) prób transmisji ramki danych. (Po n nieudanych próbach wysyłania bez błędów ramki danych funkcja jest anulowana i błąd jest sygnalizowany na wyjściu STATUS bloku funkcyjnego S_SEND.)
Możliwe przyczyn anulowania:
● Błąd parzystości
● Błąd BBC; błąd parzystości
● Różna parametryzacja partnerów komunikacji (np.: prędkość transmisji, parzystość, ramka znaku, znak kontroli bloku, różne protokoły)
1 do 255
Jeżeli obaj partnerzy wysyłają żądanie w tym samym czasie to partner posiadający niższy priorytet będzie wstrzymywał swoje żądanie. Dla komunikacji danych trzeba ustawić jednego partnera komunikacji z większym priorytetem a drugiego z niższym priorytetem.
● High
(Wysoki)
● Low
(Niski)
Czyszczenie bufora odbierania ET 200S 1SI podczas uruchamianiare
(Clear ET 200S 1SI receive buffer on startup)
Określa czy bufor odbierania modułu powinien być automatycznie czyszczony gdy CPU przechodzi z trybu pracy STOP do RUN (uruchamianie CPU). W ten sposób można zapewnić, że bufor odbierania modułu zawiera tylko ramki danych, które zostały odebrane po uruchomieniu CPU.
● No
● Yes
Domyślna wartość
6
6
Low
Yes
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 59
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
2.9.4
Dane identyfikacyjne
Definicja
Dane identyfikacyjne są informacją, która jest przechowywana w module i pomaga podczas:
● Rozwiązywanie problemów z systemem
● Sprawdzania konfiguracji systemu
● Próbowania zlokalizowania zmian w sprzęcie systemu
Dane identyfikacyjne umożliwiają unikalną identyfikację modułów online. Dane te są dostępne na module ET 200S 1SI jako MLFB numer 6ES7 138-4DFx1-0AE0.
Aby przeglądać dane identyfikacyjne należy wybrać PLC > Module Information, lub (jak opisano poniżej) "Read Data Record".
Odczytywanie danych identyfikacyjnych
Użytkownicy mają dostęp do określonych danych ID poprzez wybranie "Read Data Record".
Element danych ID, który jest przydzielony do odpowiedniego indeksu może być znaleziony pod związanym numerem rekordu danych.
● Wszystkie rekordy danych, które zawierają dane ID posiadają długość 64 bajtów.
● Rekordy danych są zorganizowane zgodnie z zasadami przedstawionymi w następującej tabeli.
Tabela 2-10 Podstawowa struktura rekordów danych, które zawierają dane ID.
Zawartość Długość (bajty)
Informacja nagłówka
Lista ID stanu systemu
(System status list ID)
Indeks
(Index)
2
2
Długość danych identyfikacyjnych
(Length of identification data)
Liczba bloków zawierających dane ID
(Number of blocks which contain
ID data)
2
2
Dane identyfikacyjne
Indeks 2
Dane identyfikacyjne związane z danym indeksem (patrz tabela poniżej)
Identification data associated with the relevant index (see the table below)
54
Kodowanie (hex)
F1 11
00 0x
00 38
00 01
00 0x
60
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Dane identyfikacyjne modułu ET 200S 1SI
Tabela 2-11 Dane identyfikacyjne modułu ET 200S 1SI
Dane identyfikacyjne Dostęp
Indeks 1 (rekord danych 231/tylko odczyt)
Producent
(Manufacturer)
Odczyt
(2 bajty)
Nazwa urządzenia
(Device name)
Odczyt
(20 bajtów)
Ustawienia domyślne Opis
00 2A hex (= 42 dec)
6ES7 138-4DFx1-0AB0
Nazwa producenta jest zapisana w tym parametrze(42 dec = Siemens AG).
Numer zamówieniowy modułu x = 0 (ASCII/3964®),
1 (Modbus/USS)
Numer seryjny modułu jest zapisany w tym parametrze.
Zapewnia to jednoznaczną identyfikację modułu.
Dostarcza informacje o wersji produktu modułu.
Numer seryjny urządzenia
(Device serial number)
Wersja sprzętu
(Hardware revision)
Wersja oprogramowania
(Software revision)
Numer statystyczny wersji
(Statistical revision no.)
Profil ID
(Profile_ID)
Typ profilu
(Profile–specific type)
Odczyt
(16 bajtów)
Odczyt
(2 bajty)
Odczyt
(4 bajty)
Odczyt
(2 bajty)
Odczyt
(2 bajty)
Odczyt
(2 bajty)
Wersja I&M
(I&M version )
Obsługiwane I&M
(I&M supported)
Odczyt
(2 bajty)
Odczyt
(2 bajty)
Indeks 2 (rekord danych 232/odczyt i zapis)
HID
OKZ
Odczyt/zapis (maks. 32 znaków)
Odczyt/zapis (maks. 32 znaków)
Dostarcza informacje o wersji firmware modułu.
–
F6 00 hex
00 04 hex (= 4 dec)
00 00 hex (= 0 dec)
00 01 hex (= 1 dec)
–
–
Nie obsługiwane
Parametr wewnętrzny (do
PROFIBUS DP)
Parametr wewnętrzny (moduł komunikacyjny, do PROFIBUS
DP)
Parametr wewnętrzny (do
PROFIBUS DP)
Parametr wewnętrzny (I&M0 i I&M1, do PROFIBUS DP)
Wyższy poziom modułu na instalacji.
Oznaczenie lokalizacji modułu.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 61
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Kolejne ładowanie aktualizacji firmware 2.9.5
Opis
Można rozszerzyć funkcjonalność i wyeliminować błędy przez załadowanie aktualizacji firmware do pamięci systemu ET 200S 1SI.
Aktualizacje firmware można załadować za pomocą HW Config.
Podstawowy firmware
ET 200S 1SI jest wyposażony w podstawowy firmware.
Wymagania
Wymagania dla ładowania aktualizacji firmware są następujące:
● Moduł ET 200S 1SI musi być dostępny online z PG/PC.
● Plik nowej wersji firmware musi znajdować się w systemie plików w PG/PC.
Ładowanie firmware
Aby załadować aktualizację firmware należy postępować w następujący sposób (możliwe tylko jeżeli IM 151 obsługuje tę funkcję):
1. Otworzyć HW Config i wybrać żądany moduł ET 200S 1SI.
2. Wybrać PLC > Update Firmware.
Pozostała procedura jest opisana w pomocy online STEP 7.
Uwaga
Należy przełączyć CPU w STOP zanim spróbuje się ładować plik firmware do modułu ET 200S
1SI.
System wygeneruje komunikat potwierdzający zakończenie z sukcesem aktualizacji i natychmiast aktywuje nowy firmware.
Po zakończonej aktualizacji firmware ET 200S 1SI należy umieścić nową etykietkę z nową wersją firmware.
Aktualizacja zakończona niepowodzeniem
Czerwona dioda modułu SF LED będzie migać jeżeli aktualizacja nie będzie udana. Należy powtórzyć aktualizację. Jeżeli aktualizacja nie może być przeprowadzona proszę skontaktować się z lokalnym biurem Siemens lub przedstawicielem.
62
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.9 Konfigurowanie i parametryzacja modułu interfejsu szeregowego
Diody LED
Tabela 2-12
Status
Diody LED podczas ładowania aktualizacji firmware
Aktualizacja firmware w trakcie
Aktualizacja firmware zakończona
ET 200S 1SI bez firmware modułu
SF
On
On
Miga
(2 Hz)
TXD
On
Off
Off
RXD
On
Off
Off
-
-
Komentarz
Błąd sprzętowy podczas aktualizacja firmware
Miga
(2 Hz)
Miga
(2 Hz)
Miga
(2 Hz)
-
-
Sposób naprawy
Firmware modułu skasowany, aktualizacja firmware anulowana, aktualizacja firmware nadal możliwa
Operacja kasowania/zapisu nie powiodła się
Załadować ponownie firmware
Wyłączyć zasilanie modułu i załączyć ponownie następnie załadować ponownie firmware.
Sprawdzić czy moduł nie jest uszkodzony.
Wyświetlanie wersji sprzętu i firmware
Na oknie dialogowym "Module Status" w STEP 7 jest wyświetlana bieżąca wersji sprzętu i firmware ET 200S 1SI. Aby otworzyć to okno dialogowe należy:
W SIMATIC Manager: File > Open > Project > Open HW Config > Station > Open Online i kliknąć dwukrotnie moduł 1 S1.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 63
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10.1
Podstawy komunikacji za pomocą bloków funkcyjnych
Przegląd
Komunikacja pomiędzy CPU, ET 200S 1SI i partnerem komunikacji opiera się na blokach funkcyjnych i protokołach modułu ET 200S 1SI. Więcej informacji o komunikacji z CPU innych
producentów (nie S7) znajduje się w rozdziale Postawy danych odniesienia (Strona 86).
Bloki funkcyjne tworzą interfejs programowy pomiędzy CPU i modułem interfejsy szeregowego
ET 200S 1SI. Muszą być wywołane w programie użytkownika w cyklach.
Ustawianie komunikacji z CPU
Zawsze gdy CPU jest uruchamiany modułowi ET 200S 1SI są przypisywane bieżące parametry przez usługę systemową CPU. Po zestawieniu połączenia pomiędzy CPU i modułem ET 200S
1SI moduł ET 200S 1SI musi być zainicjowany.
Każdy blok funkcyjny posiada swój własny mechanizm uruchamiania. Zanim aktywne żądania mogą być przetwarzane powiązany mechanizm musi być zakończony.
Moduł ET 200S 1SI może generować przerwanie diagnostyczne w CPU. System operacyjny tworzy 2 bajty informacji o przerwaniu dostępnych dla użytkownika. Użytkownik musi zaprogramować przetwarzanie informacji o przerwaniu (OB82). Nie jest dopuszczalne wywołanie bloków funkcyjnych w programie przerwania procesu lub przerwania diagnostycznego. Przerwania nie są deaktywowane w blokach funkcyjnych.
Zamiana protokołu ma miejsce w module ET 200S 1SI. Zgodnie z wybranym protokołem
(3964(R) procedure lub ASCII driver), interfejs modułu ET 200S 1SI jest dostosowany do interfejsu partnera komunikacji.
64
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Bloki funkcyjne modułu ET 200S 1SI
System automatyzacji S7-300 dostarcza wiele bloków funkcyjnych, które inicjują i sterują komunikacją pomiędzy CPU i modułem interfejsu szeregowego ET 200S 1SI w programie użytkownika. Tabela poniżej zawiera listę bloków FB używanych w module ET 200S 1SI.
Tabela 2-13 Bloki funkcyjne modułu ET 200S 1SI
FB
FB 2
FB 3
FB 4
FB 5
FB 6
FB 7
FB 8
Nazwa
S_RCV
S_SEND
S_VSTAT
S_VSET
S_XON
S_RTS
S_V24
Znaczenie
Blok funkcyjny S_RCV umożliwia odbieranie danych od partnera komunikacji i przechowywanie ich w bloku danych.
Blok funkcyjny S_SEND umożliwia wysyłanie całego lub części bloku danych do partnera komunikacji.
Blok funkcyjny S_VSTAT umożliwia odczyt stanów sygnałów interfejsu RS 232C modułu
ET 200S 1SI.
Blok funkcyjny S_VSET umożliwia setowanie/resetowanie wyjść interfejsu RS 232C modułu ET 200S 1SI.
Blok funkcyjny S_XON umożliwia ustawianie dodatkowych parametrów jeżeli moduł został sparametryzowany do sterowania przepływem XON/XOFF.
Blok funkcyjny S_RTS umożliwia ustawianie dodatkowych parametrów jeżeli moduł został sparametryzowany do sterowania przepływem RTS/CTS.
Blok funkcyjny S_V24 umożliwia ustawianie dodatkowych parametrów jeżeli moduł został skonfigurowany do automatycznego sterowania sygnałami V.24.
Uwaga
Te bloki danych lokalnych mogą nie być załadowane do CPU gdy jest aktywny blok komunikacji
SEND/RECEIVE.
Zobacz także
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 65
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10.2
Blok funkcyjny FB 3 S_SEND
FB 3 S_SEND: Wysyłanie danych do partnera komunikacji
Blok FB S_SEND transmituje pole z bloku danych, określone przez parametry DB_NO,
DBB_NO i LEN, do modułu ET 200S 1SI. Do celów transmisji danych blok FB S_SEND jest wywołany statycznie (bez warunków) w cyklu lub alternatywnie w programie sterowanym czasowo.
Transmisja danych jest inicjowana przez narastające zbocze na wejściu REQ. W zależności od ilości danych, dane mogą być przesyłane przez kilka wywołań (cykli programu).
Blok FB S_SEND może być wywoływany cyklicznie przez ustawianie stanu parametru wejściowego R na "1". Anuluje to transmisję do modułu ET 200S 1SI i resetuje blok FB
S_SEND to jego stanu początkowego. Dane, które zostały już odebrane przez moduł ET 200S
1SI są ciągle wysyłane do partnera komunikacji. Jeżeli stan sygnału wejścia R pozostaje stale równy "1" to oznacza to, że wysyłanie zostało deaktywowane.
Adres modułu ET 200S 1SI jest określony w parametrze LADDR.
Wyjście DONE przedstawia "żądanie zakończone bez błędów" ("request completed without errors"). ERROR informuje czy wystąpił błąd. Jeżeli wystąpił błąd odpowiedni numer zdarzenia
jest wyświetlany w STATUS (patrz rozdział zatytułowany Diagnostyka (Strona 100)). Jeżeli błąd
nie wystąpił to STATUS posiada wartość 0. DONE i ERROR/STATUS są także wyjściami dla
RESET bloku S_SEND (patrz diagram czasowy). Wynika binarny jest resetowany jeżeli wystąpił błąd. Jeżeli blok jest zakończony bez błędów to wynik binarny posiada stan "1".
Uruchamianie
Parametr COM_RST bloku FB S_SEND informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
Uwaga
Blok funkcyjny S_SEND nie posiada sprawdzania parametrów. Jeżeli nie jest sparametryzowany prawidłowo to CPU może przełączyć się w tryb STOP.
Mechanizm uruchamiania CPU modułu ET 200S dla bloku FB S_SEND musi zostać zakończony (patrz powyżej) zanim zainicjowane żądanie może być przetwarzane przez moduł
ET 200S 1SI po przejściu CPU z STOP w RUN. Dowolne żądania inicjowane w międzyczasie nie będą utracone. Są transmitowane do modułu ET 200S 1SI natychmiast po zakończeniu uruchamiania.
66
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Wywołanie FB 3:
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Uwaga
Parametry EN i ENO są obecne tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Alokacja w obszarze przechowywania danych
Blok FB S_SEND pracuje razem z blokiem danych lokalnych I_SEND (instance DB). Numer bloku DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1Exx można sprawdzić zmienną SFCERR w
celu uzyskania dodatkowych informacji (patrz rozdział zatytułowany Diagnostyka (Strona 100)).
Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 67
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Parametry FB 3 S_SEND
Poniższa tabela zawiera listę parametrów S_SEND (FB 3).
Tabela 2-14 Parametry bloku FB 3: S_SEND
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi
REQ INPUT BOOL Inicjuje żądanie zboczem narastającym
Anuluje żądania R INPUT BOOL Anuluje żądanie w toku. Wysyłanie jest blokowane.
Adres startowy pobrany ze STEP 7.
LADDR INPUT INT Adres startowy modułu ET 200S
1SI
Numer bloku danych DB_NO
DBB_NO
LEN
INPUT
INPUT
INPUT
INT
INT
INT
Numer bajtu danych
Ilość danych
Numer wysyłanego bloku: charakterystyczny dla CPU, (zero nie jest dozwolone).
0 ≤ DBB_NO ≤ 8190
Dane wysyłane przez słowa danych
1 ≤ LEN ≤ 224, określana jako liczba bajtów
DONE 1
ERROR
STATUS
1
1
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
WORD
Żądanie zakończone bez błędów Parametr STATUS == 16#00
Żądanie zakończone z błędem Informacja o błędzie jest zapisywana do parametru STATUS.
Specyfikacja błędu Jeżeli ERROR == 1 to parametr STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Parametry DONE, ERROR i STATUS są dostępne dla
jednego cyklu CPU po udanym żądaniu wysyłania.
68
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Diagram czasowy dla bloku FB 3 S_SEND
Poniższy rysunek ilustruje zachowanie parametrów DONE i ERROR w zależności od tego jak są podłączone wejścia REQ i R.
Rysunek 2-20 Diagram czasowy dla bloku FB 3 S_SEND
Uwaga
Wejście REQ jest przełączane zboczem. Zbocze narastające na wejściu REQ jest wystarczające. Wynik operacji logicznej nie może być "1" podczas transferu.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 69
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10.3
Blok funkcyjny FB 2 S_RCV
FB S_RCV: Dane odbierane od partnera komunikacji
Blok FB S_RCV transmituje dane z modułu ET 200S 1SI do obszaru danych S7, określonego przez parametry DB_NO, DBB_NO i LEN. Do celów transmisji danych blok funkcyjny FB
S_RCV jest wywoływany cyklicznie lub alternatywnie, statycznie w programie czasowym (bez warunków).
Stan (statyczny) "1" parametru EN_R umożliwia sprawdzenie czy dane mogą być odczytywane z modułu ET 200S 1S. Aktywna transmisja może być anulowana za pomocą stanu "0" parametru EN_R. Anulowane żądanie odbioru zostaje zakończone z komunikatem błędu
(wyjście STATUS). Obieranie jest zablokowane tak długo jak długo stan parametru EN_R jest równy "0". Operacja transmisji danych może być uruchomiona kilkoma wywołaniami (cykle programu) w zależności od ilości odbieranych danych.
Jeżeli blok funkcyjny wykrywa stan "1" parametru R to bieżące żądanie transmisji jest anulowane i blok FB S_RCV jest resetowany do stanu początkowego. Odbieranie jest zablokowane tak długo jak długo stan parametru R wynosi "1". Jeżeli stan sygnału powróci do
"0" to anulowana ramka danych jest odbierana od początku.
Parametr LADDR definiuje adres modułu ET 200S 1SI.
Wyjście NDR sygnalizuje "żądanie zakończone bez błędów/dane aktywowane" ("Request completed without errors/data activated") (wszystkie dane odczytane). Wyjście ERROR sygnalizuje czy wystąpił błąd. W przypadku błędu, na wyjściu STATUS jest wyświetlany numer błędu. Jeżeli bufor odbierania jest zajęty więcej niż w 2/3 swojej pojemności to STATUS zwraca ostrzeżenie po każdym wywołaniu S_RCV. Jeżeli nie wystąpią błędy lub ostrzeżenia to
STATUS posiada wartość "0".
NDR i ERROR/STATUS są również wyjściem gdy blok FB S_RCV jest resetowany (parametr
LEN == 16#00) (patrz diagram czasowy). Jeżeli wystąpił błąd to wynik binarny BR jest resetowany. Jeżeli blok został zakończony bez błędów wynik binarny posiada stan "1".
Uruchamianie
Parametr COM_RST bloku FB S_RCV informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
70
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
Uwaga
Blok funkcyjny S_RCV nie posiada sprawdzania parametrów. Jeżeli nie jest sparametryzowany prawidłowo to CPU może przełączyć się w tryb STOP.
Mechanizm uruchamiania CPU modułu ET 200S dla bloku FB S_RCV musi zostać zakończony zanim zainicjowane żądanie może być odebrane przez moduł ET 200S 1SI po przejściu CPU z
STOP w RUN.
Wywołanie FB 2
Uwaga
Parametry EN i ENO są obecne tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Alokacja w obszarze przechowywania danych
Blok FB S_RCV pracuje razem z blokiem danych lokalnych I_RCV (instance DB). Numer bloku
DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1Exx można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 71
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Parametry FB 2 S_RCV
Tabela poniżej zawiera listę parametrów S_RCV (FB).
Tabela 2-15 Parametry FB 2: S_RCV
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi
EN_R
R
INPUT
INPUT
BOOL
BOOL
Odblokowanie odczytu danych
Anulowanie żądania Anuluje żądanie w toku. Odbieranie jest blokowane.
Adres startowy jest pobierany ze STEP 7.
LADDR INPUT INT Adres startowy modułu ET 200S
1SI
Numer bloku danych DB_NO
DBB_NO
NDR 1
ERROR
LEN 1
STATUS
1
1
INPUT
INPUT
OUTPUT
OUTPUT
OUTPUT
OUTPUT
INT
INT
BOOL
BOOL
INT
WORD
Numer bloku danych odbierania: charakterystyczny dla CPU, zero nie jest dozwolone
Numer bajtu danych 0 ≤ DBB_NO ≤ 8190
Dane odbierane przez słowa danych
Parametr STATUS == 16#00 Żądanie zakończone bez błędów, dane aktywowane
Żądanie zakończone z błędem
Długość odebranej ramki danych 0 ≤ LEN ≤ 4096, określana jako liczba bajtów
Specyfikacja błędu
Informacja o błędzie jest zapisywana do parametru STATUS.
Jeżeli ERROR == 1 to parametr STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Parametry NDR, ERROR, LEN i STATUS są dostępne dla jednego cyklu CPU po udanym żądaniu odbierania.
72
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Diagram czasowy dla bloku FB 2 S_RCV
Poniższy rysunek ilustruje zachowanie parametrów NDR, LEN i ERROR w zależności od tego jak są podłączone wejścia EN_R i R.
(długość)
Rysunek 2-21 Diagram czasowy dla bloku FB 2 S_RCV
Uwaga
Wejście EN_R musi być ustawione na statyczną "1". Parametr EN_R musi mieć podczas całego żądania odbierania podłączony wynik operacji logicznej równy "1".
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 73
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10.4
Funkcje dla konfiguracji opcji sterowaniem przepływem danych
Zasady
Jeżeli używa się modułu interfejsu szeregowego ET 200S 1SI z S7 CPU i konfiguruje moduł za pomocą programu konfiguracyjnego sprzęt STEP 7 to można wybrać jedną z następujących metod sterowania przepływem danych:
● None (Brak)
● XON/XOFF
● RTS/CTS
● Automatic control of V.24 signals (Automatyczne sterowanie sygnałami V.24)
Dla każdej z tych trzech opcji można ustawiać dodatkowe parametry. Parametry te posiadają domyślne wartości, które są typowe i odpowiednie dla większości aplikacji. Można jednak zmienić te parametry poprzez program użytkownika i następujące bloki funkcyjne.
FB 6 S_XON: Ustawianie znaków dla XON/XOFF
Blok funkcyjny S_XON umożliwia ustawianie dodatkowych parametrów (patrz parametry FB 6) jeżeli moduł został sparametryzowany dla sterowania przepływem XON/XOFF.
74
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Alokacja w obszarze przechowywania danych
Blok FB S_XON pracuje razem z blokiem danych lokalnych I_XON (instance DB). Numer bloku
DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1Exx można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
Parametry FB 6
Tabela poniżej zwiera listę parametrów FB 6.
Tabela 2-16 Parametry FB 6: S_XON
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi Domyślne
REQ
R
LADDR
XON
INPUT
INPUT
INPUT
INPUT
BOOL
BOOL
INT
BYTE
Inicjuje żądanie zboczem narastającym
Anuluje żądania
Adres startowy modułu
ET 200S 1SI
Adres startowy pobrany ze STEP 7.
Znak XON
Anuluje żądanie w toku. Wysyłanie jest blokowane.
0 to 7F
H
0 to FF
H
(7 bitów danych)
(8 bitów danych)
11 (DC1)
XOFF INPUT BYTE Znak XOFF 0 to 7F
H
(7 bitów danych)
0 to FF
H
(8 bitów danych)
20 ms do 10 min 55 s 350 ms WAIT_FOR_XON INPUT
DONE 1 OUTPUT
TIME
BOOL
Czas oczekiwania na
XON po XOFF
Żądanie zakończone bez błędów
Parametr STATUS == 16#00
ERROR
STATUS
1
1
COM_RST
OUTPUT
OUTPUT
IN_OUT
BOOL
WORD
BOOL
Żądanie zakończone z błędem
Specyfikacja błędu
Parametr STATUS zawiera informacje o błędzie.
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
Restart bloku FB
1 Parametry DONE, ERROR i STATUS są dostępne dla jednego cyklu CPU po udanym żądaniu.
13 (DC3)
2 s
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 75
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Uruchamianie
Parametr COM_RST bloku FB S_XON informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
FB 7 S_RTS: Ustawianie znaków dla RTS/CTS
Blok funkcyjny S_RTS umożliwia ustawianie dodatkowych parametrów (patrz parametry FB 7) jeżeli moduł został sparametryzowany dla sterowania przepływem RTS/CTS.
Alokacja w obszarze przechowywania danych
Blok FB S_RTS pracuje razem z blokiem danych lokalnych I_RTS (instance DB). Numer bloku
DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1Exx można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
76
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Parametry FB 7
Tabela poniżej zwiera listę parametrów FB 7.
Tabela 2-17 Parametry FB 7: S_RTS
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi Domyślne
REQ
R
LADDR
WAIT_FOR_CTS
DONE 1
ERROR
STATUS
1
1
INPUT
INPUT
INPUT
INPUT
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
INT
TIME
BOOL
BOOL
WORD
Inicjuje żądanie zboczem narastającym
Anuluje żądania
Czas oczekiwania na
CTS = ON
Anuluje żądanie w toku. Wysyłanie jest blokowane.
Adres startowy modułu
ET 200S 1SI
Adres startowy pobrany ze STEP 7.
20 ms do 10 min 55 s 350 ms
Żądanie zakończone bez błędów
Żądanie zakończone z błędem
Parametr STATUS == 16#00
Parametr STATUS zawiera informacje o błędzie.
Specyfikacja błędu Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Parametry DONE, ERROR i STATUS są dostępne dla jednego cyklu CPU po udanym żądaniu.
2 s
Uruchamianie
Parametr COM_RST bloku FB S_RST informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 77
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
FB 8 S_V24: Ustawianie parametrów dla automatycznego sterowania sygnałami towarzyszącymi RS 232C
Blok funkcyjny S_ V24 umożliwia ustawianie dodatkowych parametrów (patrz parametry FB 8) jeżeli moduł został skonfigurowany dla automatycznego sterowania sygnałami towarzyszącymi
RS 232C.
Alokacja w obszarze przechowywania danych
Blok FB S_V24 pracuje razem z blokiem danych lokalnych I_ V24 (instance DB). Numer bloku
DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1Exx można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
78
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Parametry FB 8
Tabela poniżej zwiera listę parametrów FB 8.
Tabela 2-18 Parametry FB 8: S_V24
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi Domyślne
REQ
R
LADDR
TIME_RTS_OFF
DONE 1
INPUT
INPUT
INPUT
INPUT
DATA_WAIT_TIME INPUT
OUTPUT
BOOL
BOOL
INT
TIME
TIME
BOOL
Inicjuje żądanie zboczem narastającym
Anuluje żądania Anuluje żądanie w toku. Wysyłanie jest blokowane.
Adres startowy modułu
ET 200S 1SI
Adres startowy pobrany ze STEP 7.
Czas, który musi upłynąć po transmisji zanim RTS jest zablokowane.
0 ms do 10 min 55 s 350 ms
Czas oczekiwania dopóki partner ustawi
CTS = ON natychmiast
RTS został ustawiony.
0 ms do 10 min 55 s 350 ms
Żądanie zakończone bez błędów
Parametr STATUS == 16#00
ERROR
STATUS
1
1
OUTPUT
OUTPUT
BOOL
WORD
Żądanie zakończone z błędem
Specyfikacja błędu
Parametr STATUS zawiera informacje o błędzie.
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Parametry DONE, ERROR i STATUS są dostępne dla jednego cyklu CPU po udanym żądaniu.
10 ms
10 ms
Uruchamianie
Parametr COM_RST bloku FB S_V24 informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 79
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
2.10.5
Odczytywanie i sterowanie sygnałami dodatkowymi RS 232C
Zasady
Aby ułatwić odczytywanie i sterowanie sygnałami towarzyszącymi RS 232C można użyć bloku
FB 4 S_VSTAT do sprawdzenia stanów interfejsu i bloku FB S_VSET do setowania/resetowania wyjść interfejsu.
FB 4 S_VSTAT: Sprawdzanie stanów interfejsu modułu ET 200S 1SI.
Blok FB S_ VSTAT odczytuje sygnały towarzyszące RS 232C modułu ET 200S 1SI i udostępnia je użytkownikowi w parametrach bloku. Do celów transmisji danych blok funkcyjny FB S_VSTAT jest wywoływany cyklicznie lub alternatywnie wywoływany w programie czasowym.
Sygnały towarzyszące RS 232C są aktualizowane za każdym razem, gdy funkcja jest wywoływana (odpytywanie cykliczne).
Adres modułu ET 200S 1SI jest określony w parametrze LADDR.
Wywołanie FB 4:
80
Uwaga
Parametry EN i ENO są obecne tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Alokacja w obszarze przechowywania danych
Blok FB S_ VSTAT pracuje razem z blokiem danych lokalnych I_ STAT (instance DB). Numer bloku DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Do wykrycia zmiany sygnału jest konieczny minimalny czas impulsu. Decydujące czynniki to czas cyklu CPU, czas aktualizacji na module ET 200S 1SI i czas odpowiedzi partnera komunikacyjnego.
Parametry FB 4 V24_STAT
Tabela poniżej zawiera listę parametrów bloku funkcyjnego S_VSTAT (FB 4).
Tabela 2-19 Parametry FB 4: V24_STAT
Nazwa
REQ
R
Typ
INPUT
INPUT
Typ danych Opis
BOOL
BOOL
Inicjuje żądanie zboczem narastającym
Anuluje żądania
Dopuszczalne wartości, uwagi
LADDR
DONE 1
INPUT
OUTPUT
INT
BOOL
Adres startowy modułu ET 200S 1SI
Wskazuje, że blok FB został zakończony.
Żądanie zakończone z błędem
Anuluje żądanie w toku.
Wysyłanie jest blokowane.
Adres startowy pobrany ze STEP 7.
(wyjście ET 200S 1SI)
ERROR
STATUS
1
1
OUTPUT
OUTPUT
BOOL
WORD Specyfikacja błędu
DTR_OUT
DSR_IN
RTS_OUT
CTS_IN
1
1
1
1
OUTPUT
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
BOOL
BOOL
Data terminal ready;
ET 200S 1SI gotowy do działania.
Data set ready; partner komunikacji gotowy do działania.
Request to send;
ET 200S 1SI gotowy do wysyłania.
Clear to send; partner komunikacji może odbierać dane od modułu
ET 200S 1SI (odpowiedź do RTS = ON w ET 200S 1SI)
DCD_IN 1 OUTPUT
COM_RST IN_OUT
BOOL
BOOL
Data carrier detect; Sygnał nośnej na połączeniu z modemem.
Restart bloku FB
1 Te parametry są dostępne dla jednego cyklu CPU po udanym żądaniu.
Informacje o błędzie jest zapisywana do parametru STATUS.
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
(wyjście ET 200S 1SI)
(wejście ET 200S 1SI)
(wyjście ET 200S 1SI)
(wejście ET 200S 1SI)
(wejście ET 200S 1SI)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 81
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Uruchamianie
Parametr COM_RST bloku FB S_ VSTAT informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
FB 5 S_VSET: Setowanie/resetowanie wyjść modułu interfejsu ET 200S 1SI
Za pomocą odpowiednich wejść bloku S_VSET FB można setować i resetować wyjścia interfejsu. Blok funkcyjny S_VSET jest wywoływany cyklicznie lub alternatywnie, statycznie (bez warunków).
Adres modułu ET 200S 1SI jest określony w parametrze LADDR.
82
Uwaga
Parametry EN i ENO są obecne tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.10
Komunikacja za pomocą bloków funkcyjnych
Alokacja w obszarze przechowywania danych
Blok FB S_ VSET pracuje razem z blokiem danych lokalnych I_ SEND (instance DB). Numer bloku DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Parametry FB 5 S_VSET
Tabela poniżej zawiera listę parametrów bloku funkcyjnego S_VSET (FB 5).
Tabela 2-20 Parametry FB 5: S_VSET
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi
REQ
R
LADDR
RTS
DTR
INPUT
INPUT
INPUT
INPUT
INPUT
BOOL
BOOL
INT
BOOL
BOOL
Inicjuje żądanie zboczem narastającym
Anuluje żądania
Adres startowy modułu ET 200S 1SI
Request to send;
ET 200S 1SI gotowy do wysyłania.
Data terminal ready;
ET 200S 1SI gotowy do działania.
Anuluje żądanie w toku.
Wysyłanie jest blokowane.
Adres startowy pobrany ze STEP 7.
(Sterowanie wyjściem ET 200S 1SI)
(Sterowanie wyjściem ET 200S 1SI)
DONE 1
ERROR
STATUS
1
1
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
WORD
Wskazuje, że blok FB został zakończony.
(wyjście ET 200S 1SI)
Żądanie zakończone z błędem
Specyfikacja błędu
Informacje o błędzie jest zapisywana do parametru STATUS.
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Te parametry są dostępne dla jednego cyklu CPU po udanym żądaniu.
Uruchamianie
Parametr COM_RST bloku FB S_VSET informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S 1SI (liczba bajtów w obszarze I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S 1SI resetuje parametr COM_RST sam.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 83
Moduł interfejsu szeregowego
2.11
Właściwości uruchamiania i tryby pracy
2.11
Właściwości uruchamiania i tryby pracy
Tryby pracy modułu interfejsu szeregowego ET 200S 1SI
Moduł ET 200S 1SI posiada następujące tryby pracy:
● STOP: Gdy moduł ET 200S 1SI jest w trybie STOP, nie jest aktywny sterownik protokołu i wszystkie żądania wysyłania i odbierania z CPU są zwracane z negatywnym potwierdzeniem. Moduł ET 200S 1SI pozostaje w trybie STOP dopóki przyczyna STOP nie zostanie wyeliminowana (np.: przerwany kabe lub błędny parametr).
● Nowa parametryzacja (New parameterization): Podczas przydzielanie nowych parametrów do modułu ET 200S 1SI jest inicjowany sterownik protokołu. Dioda SF LED świeci się podczas nowej parametryzacji.
Operacje wysyłania i odbierania nie są możliwe a ramki danych wysłane i odebrane przechowywane przez moduł ET 200S 1SI są podczas restartowania sterownika tracone.
Komunikacja pomiędzy modułem ET 200S 1SI i CPU jest restartowana (bieżące ramki danych są anulowane).
Natychmiast po zakończeniu nowej parametryzacji moduł ET 200S 1SI jest w trybie RUN i jest gotowy do wysyłania i odbierania.
● RUN: Moduł ET 200S 1SI przetwarza żądania wysyłania CPU. Ramki danych odebrane od partnera komunikacji będę przygotowane do przesłania ich do CPU.
Właściwości uruchamiania modułu ET 200S 1SI
Uruchamianie składa się z dwóch faz:
● Inicjalizacja: Gdy tylko napięcie jest podane do modułu ET 200S 1SI, interfejs szeregowy jest inicjowany i czeka na parametryzację danych z CPU.
● Parametryzacja: Podczas parametryzacji moduł ET 200S 1SI odbiera parametry modułu, które zostały przypisane do bieżącego slotu w STEP 7.
Zachowanie modułu ET 200S 1SI gdy CPU zmienia tryb pracy
Po uruchomieniu modułu ET 200S 1SI są wymieniane przez bloki funkcyjne wszystkie dane pomiędzy CPU a ET 200S 1SI.
● CPU STOP: Gdy CPU jest w trybie STOP komunikacja poprzez PROFIBUS nie jest możliwa. Dowolna aktywna transmisja pomiędzy modułem a CPU, w tym zarówno żądania wysyłania i odbierania, jest anulowane i połączenie jest nawiązywane ponownie.
Jeżeli sterownik ASCII driver jest skonfigurowany bez sterowania przepływem wymiana danych przez interfejs RS 232C modułu ET 200S 1SI trwa. Innymi słowy, bieżące żądanie wysyłania jest ciągle kończone. W sterowniku ASCII driver ramka danych jest odbierana dopóki bufor odbierania nie zostanie wypełniony.
● Uruchamianie CPU (startup): Podczas uruchamiania CPU przesyła parametry do modułu
ET 200S 1SI.
Poprzez ustawienie odpowiednich parametrów można podczas uruchamiania CPU automatycznie wyczyścić bufor odbierania ET 200S 1SI.
● CPU RUN: Gdy CPU jest w trybie RUN operacja wysyłania i odbierania nie są ograniczone. W pierwszych cyklach FB po restarcie CPU moduł ET 200S 1SI i odpowiednie bloki FB są synchronizowane. Nowe bloki FB S_SEND lub S_RCV są wykonywane po zakończeniu tej operacji.
84
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.11
Właściwości uruchamiania i tryby pracy
Kwestie, na które należy zwrócić uwagę podczas wysyłania ramek danych
Ramki danych mogą być wysyłane tylko gdy CPU w trybie RUN.
Jeżeli CPU zmienia tryb na STOP podczas przesyłania danych z CPU do modułu to blok FB
S_SEND zgłasza błąd (05) 02
H
po restarcie. Aby zapobiec takiemu zachowaniu program użytkownika, z uruchamianego bloku OB, może wywołać blok FB S_SEND z wejściem RESET.
Uwaga
Moduł ET 200S 1SI wysyła dane do partnera komunikacji tylko po otrzymaniu wszystkich danych z CPU.
Kwestie, na które należy zwrócić uwagę podczas odbierania ramek danych
Można użyć STEP 7 do parametryzacji "Clear module receive buffer during startup = yes/no"
(Czyszczenie bufora odbierania modułu podczas uruchamiania = tak/no).
● Jeżeli ustawiono parametr "yes" (tak) to bufor odbierania modułu ET 200S 1SI jest automatycznie czyszczony gdy CPU przełącza się z trybu STOP do RUN.
● Jeżeli ustawiono parametr "no" (nie) to liczba ramek danych, która zostanie określona, będzie buforowana w buforze odbioru modułu ET 200S 1SI.
Jeżeli CPU przełącza się do trybu STOP podczas przesyłania danych z CPU do modułu ET
200S 1SI to blok FB zgłasza błąd (05) 02
H
natychmiast po restarcie (warm restart). Aby zapobiec takiemu zachowaniu program użytkownika, z uruchamianego bloku OB, może wywołać blok FB S_SEND z wejściem RESET. Z "Clear module receive buffer during startup = no" moduł przesyła ramki danych do CPU ponownie.
Dynamiczny bufor ramki danych
Można wybrać buforowanie dynamiczne lub pojedynczej ramki. Jeżeli zaznaczono pole wyboru
"activate" to moduł może buforować różne ramki danych o różnej długości. Bufor jest buforem typu pierścień. Najstarsze ramki są nadpisywane po przepełnieniu chyba, że jest aktywowany parametr "Prevent overwriting of buffer". W takim przypadku najstarsze ramki są odrzucane.
Nadpisywanie wyzwala przerwanie diagnostyczne, które informuje o utracie danych.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 85
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.1
Postawy danych odniesienia
Wymiana danych pomiędzy masterem a modułem ET 200S 1SI
Moduł ET 200S 1SI jest skonfigurowany dla transmisji 4, 8 lub 32 bajtów, wejść lub wyjść ze spójnością w całej długości. Moduł ET 200S 1SI używa 4-, 8- lub 32-bajtowej pamięci wejść/wyjść dla transmisji danych do i z CPU poprzez media transmisyjne PROFIBUS DP.
CPU może zapisać dane do wejść i wyjść oraz odczytać je z wejść i wyjść w dowolnym momencie w następujący sposób:
● CPU przesyła żądanie do modułu ET 200S 1SI w pierwszym bajcie pamięci wyjść modułu.
● Moduł ET 200S 1SI akceptuje żądanie poprzez przesłanie kodu żądania do pamięci wejść.
● CPU wymienia dane używając segmentów 3, 7 lub 31 bajtów (tak dużo segmentów jak jest wymaganych, zależnie od rozmiaru I/O), dopóki wszystkie żądane dane są przesłane.
Pierwszy bajt segmentu jest bajtem koordynacji, który synchronizuje transmisję segmentu pomiędzy CPU i modułem ET 200S 1SI (patrz rysunek poniżej). Pozostałe bajty pamięci I/O zawierają żądne dane.
CPU transmituje dane do modułu
ET200SI następująco:
Bajt Zawartość
Bajt koordynacji
Bajt danych 0
Bajt danych 1
Bajt danych n
Moduł ET200SI transmituje dane do CPU następująco:
Bajt Zawartość
Bajt koordynacji
Bajt danych 0
Bajt danych 1
Bajt danych n n = 3, 7 lub 31, zależnie od wybranej w konfiguracji wersji modułu
Rysunek 2-22 Wymiana danych pomiędzy CPU a modułem ET 200S 1SI.
86
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Charakterystyka bajtu koordynacji
Tabela poniżej opisuje zawartość bajtów koordynacji (bajt 0), który synchronizuje transmisję danych pomiędzy CPU i modułem interfejsu szeregowego ET 200S 1SI.
Tabela 2-21 Zawartość bajtu 0 koordynacji dla transmisji danych
Bajt segmentu Opis
Bajt żądania zapisany przez
CPU Rez.
Kod żądania Błąd Numer wykonania
Bit 7
Kod żądania
Numer wykonania
Błąd
Bajt żądania zapisany przez moduł ET 200S
1SI
Bit 7
Kod żądania
Rez.
Kod żądania Błąd Numer wykonania
Zarezerwowany dla specjalnych aplikacji bloku FB S_SEND. Aby analizować bajt koordynacji trzeba ukryć ten bit.
Akceptowany przez moduł ET 200S 1SI aby potwierdzić, że żądanie zostało zaakceptowane.
Numer wykonania
Żądanie wysyłania: Akceptowane przez bajt wejściowy 0 modułu za każdym razem gdy moduł odbiera nowy segment w prawidłowej kolejności od CPU. Wskazuje ostatni prawidłowy numer wykonania gdy bit błędu jest ustawiony.
Żądanie odbierania: Zwiększany o 1 przez moduł gdy moduł wysyła kolejny segment do CPU. (Zakres wartości : 1 do 7).
Błąd
Zarezerwowany dla specjalnych aplikacji bloku FB S_SEND. Aby analizować bajt koordynacji trzeba ukryć ten bit.
Ustawiane przez CPU aby zainicjować żądanie.
Żądanie wysyłania: Zwiększany o 1 przez CPU gdy CPU wysyła kolejny segment do modułu ET 200S 1SI ...lub
Żądanie odbierania: Akceptowane przez bajt wejściowy 0 CPU za każdym razem gdy
CPU odbiera nowy segment w prawidłowej kolejności od modułu interfejsu. Wskazuje ostatni prawidłowy numer wykonania gdy bit błędu jest ustawiony. (Zakres wartości : 1 do 7).
Ustawiony przez CPU aby wskazywać czy segment nie został odebrany w prawidłowej kolejności. Pole numeru wykonania wskazuje ostatni prawidłowy numer wykonania.
Wysyłający monitoruje bit błędu odbierającego dla segmentowej transakcji. Jeżeli bit błędu został ustawiony:
● CPU = wysyłający (żądanie wysyłania): CPU wysyła segmenty ponownie, rozpoczynając od następnego segmentu po numerze zgłoszonym przez odbierającego.
● Module = wysyłający (żądanie odbierania): Moduł 1SI anuluje wcześniejszą transmisję ramki danych Rx do użytkownika i kod błędu 0x0551 jest umieszczany w słowie statusowym (status word). Moduł czeka aż ten kod błędu będzie potwierdzony (wolny). Po zakończeniu aktywnej sekwencji błędu anulowana ramka danych Rx jest zgłaszana do programu użytkownika ponownie lub jest dostępna dla przesyłania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 87
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Definicja kodu żądania
Tabela poniżej zawiera listę żądań na podstawie tego jak bity 4 do 6 są przypisane w bajcie koordynacji 0.
Tabela 2-22 Kody żądań
Bity 6 5 4
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Wartość hex.
0
H
1
H
2
H
3
H
4
H
5
H
6
H
7
H
Definicja
Stan bezczynności
Wysyłać
Odbierać
Odczyt stanu sygnału V.24
Zapis sygnałów V.24
Transfer parametrów: Tym żądaniem można ustawić dodatkowe parametry, które nie są określone w pliku GSD.
Zarezerwowany
Żądanie potwierdzenia końca
Zasady zapisu kodu żądania
Następujące zasady odnoszą się do zapisywania kodów żądań do bajtu koordynacji, tak aby
CPU i moduł ET 200S 1SI mogły zsynchronizować transmisję danych:
● Zanim program użytkownika CPU może zapisać kod żądania do wyjściowego bajtu koordynacji musi wykryć kod bezczynności z wejściowego bajtu koordynacji modułu ET
200S 1SI.
● Następnie, zanim program użytkownika CPU może zapisać pierwszy segment do wyjściowego bajtu 1...n, musi wykryć kod żądania potwierdzenia (tj. kod zaakceptowanego żądania) w wejściowym bajcie koordynacji modułu.
● Jeżeli program użytkownika wykryje dowolny kod żądania potwierdzenia inny niż ten wysłany przez program nie może zapisać do wyjściowego bajtu 0...n dopóki nie wykryje ponownie kodu bezczynności z wejściowego bajtu koordynacji modułu ET 200S 1SI.
Ta sytuacja może powstać, na przykład, jeżeli dwa oddzielne żądania są wykonywane w tym samym cyklu, oba żądania wykryją kod bezczynności i każdy zapisze różny kod żądania do bajtu wyjściowego. Ponieważ cykl CPU i cykl PROFIBUS DP nie są synchroniczne nie ma pewności, które żądanie dotrze do modułu pierwsze. Z tego powodu każde żądanie zanim będzie przetwarzane musi mieć możliwość oczekiwania na koniec innego żądania.
Status odbierania w module 1SI
Moduł 1SI zawsze pokazuje status odbierania gdy jest w stanie bezczynności (bajt żądania potwierdzenia 0 = 00H). Status odbierania jest zapisywany do bajtów 1 i 2.
Status Znaczenie
0000
H
0001
H
0B01
H
Nie dostępne odebrane komunikaty
Odebrane komunikaty/odebrane ramki danych dostępne
Bufor odbierania załadowany więcej niż 2/3 jego pojemności
88
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Definicje słowa statusowego
W przykładzie transmisji danych pokazanym na następnej stronie moduł ET 200S 1SI używa bajtów 1 i 2 dla komunikatu statusu w niektórych odpowiedziach do CPU. Tabela zatytułowana
"Diagnostyczne komunikaty w parametrze STATUS" zawiera listę słów statusowych i ich definicje.
Kolejność bajtów w słowie
W przypadku wszystkich 16-bitowych słów (np. status i długość), bardziej znaczący bajt jest wysyłany pierwszy podczas transmisji danych pomiędzy CPU i modułem ET 200S 1SI.
Status odbierania w module 1SI
Użytkownikowi zawsze jest pokazywany status buforu odbierania modułu 1SI gdy moduł jest w stanie bezczynności (bajt żądania potwierdzenia 0 = 00H). Status jest wtedy przechowywany w bajtach 1 + 2.
Status
0000
H
0001
H
0B01
H
Znaczenie
Nie dostępne odebrane komunikaty
Odebrane komunikaty/odebrane ramki danych dostępne
Bufor odbierania jest pełny powyżej 2/3
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 89
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.2
Przykład wysyłania danych z CPU do modułu
Przykład
Tabela 2-23
Cykl CPU
1.
Poniższa tabela zawiera przykład wysyłania przez CPU komunikatu zawierającego pierwsze 22 znaki alfabetu. Pamięć I/O posiada 8 bajtów. Cykl DP jest w przybliżeniu równy cyklowi CPU, tak więc jest opóźnienie jednego cyklu gdy moduł odpowiada na kolejny numer wykonania.
Przykład wysyłania
CPU zapisuje do ET 200S 1SI CPU odczytuje z ET 200S 1SI
Program użytkownika wykrywa następujący kod bezczynności modułu:
Bajt
2.
Potw. żąd.
Status
CPU zapisuje zadanie wysyłania:
Bajt
Żądanie Nieistotne
Program użytkownika ciągle odczytuje kod bezczynności modułu:
Bajt
Potw. żąd.
Status
CPU powtarza zadanie wysyłania:
Nieistotne
Nieistotne
3.
Żądanie Nieistotne
Program użytkownika odczytuje następującą odpowiedź z modułu:
Nieistotne
4.
Potw. żąd.
Status
CPU wysyła 1-szy segment:
Żądanie Wysyłana dług.
Dane
Program użytkownika odczytuje następującą odpowiedź z modułu:
Nieistotne
CPU powtarza 1-szy segment:
Żądanie Dane
Potw. żąd.
90
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Cykl CPU
5.
6.
7.
8.
9.
n.
—
CPU zapisuje do ET 200S 1SI CPU odczytuje z ET 200S 1SI
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
Nieistotne
CPU wysyła 2-gi segment ponieważ nie został wykryty żaden błąd i wykonanie jest prawidłowe:
Żądanie Dane
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
Nieistotne
CPU wysyła 3-ci segment ponieważ nie został wykryty żaden błąd i wykonanie jest prawidłowe:
Żądanie Dane Nieistotne
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
Nieistotne
CPU wysyła 4-ty segment ponieważ nie został wykryty żaden błąd i wykonanie jest prawidłowe:
Żądanie Dane Nieistotne
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
CPU oczekuje na 4-tym segmencie na potwierdzenie:
Nieistotne
Żądanie Dane
Nieistotne
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
Nieistotne
CPU nie wysyła nic nowego (wyjścia pozostają takie same) i czeka na ostatnie potwierdzenie modułu; informuje ono, że komunikat został wysłany do partnera komunikacji:
Żądanie
Dane Nieistotne
Kilka cykli CPU później program użytkownika otrzymuje następującą odpowiedź od modułu:
Potw. żąd.
Status
CPU zapisuje jako zadanie kod bezczynności i kończy zadanie.
Nieistotne
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 91
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.3
Przykład odbierania danych z modułu w CPU
Przykład
Tabela 2-24
Cykl CPU n
Tabela poniżej zawiera przykład jak CPU odbiera komunikaty z modułu interfejsu szeregowego.
Pamięć I/O posiada 8 bajtów. Cykle DP jest krótszy niż cykl CPU. Oznacza to, że nie ma opóźnienia w module.
Przykład odbierania
CPU zapisuje do ET 200S 1SI CPU odczytuje z ET 200S 1SI
Program użytkownika odczytuje kod bezczynności modułu w kilku cyklach dopóki status wskazuje, że odebrany komunikat jest dostępny:
Bajt
Nieistotne Potw. żąd.
Status:
0000
H
0001
H
0B01
= Nie dostępne odebrane komunikaty.
= Odebrane komunikaty są dostępne.
H
= Bufor odbierania jest pełny powyżej 2/3.
CPU zapisuje zadanie odbierania:
Bajt
Status
Następy cykl
(n + 1)
Żądanie Nieistotne
Program użytkownika odczytuje następującą odpowiedź od modułu (moduł potwierdza odbiór, odpowiada pierwszym segmentem i zwiększa numer wykonania):
Potw. żąd.
Długość
CPU zapisuje zadanie do potwierdzenia pierwszego segmentu:
Następy cykl
(n + 2)
Żądanie Nieistotne
Program użytkownika odczytuje 2-gi segment z modułu:
Potw. żąd.
Dane
CPU zapisuje zadanie do potwierdzenia 2-ego segmentu:
Dane
Nieistotne
Następy cykl
(n + 3)
Żądanie Nieistotne
Moduł powraca do stanu bezczynności po zakończeniu pierwszej operacji odbierania.
Potw. żąd.
StatusUS Nieistotne
— CPU kończy zadanie.
92
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
3.
—
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.4
Przykład odczytywania stanów sygnałów V.24
Przykład
Tabela 2-25
Cykl CPU
1.
2.
Tabela poniżej zawiera przykład jak CPU odczytuje status sygnałów V.24 modułu interfejsu szeregowego. Pamięć I/O posiada 8 bajtów.
Przykład odczytywania stanów sygnałów V.24
CPU zapisuje do ET 200S 1SI CPU odczytuje z ET 200S 1SI
Program użytkownika odczytuje kod bezczynności modułu:
Bajt
Nieistotne Potw. żąd.
CPU zapisuje zadanie dla odczytu stanów sygnałów V.24:
Bajt
Status
Żądanie Nieistotne
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
Sygnały Nieistotne
CPU zapisuje potwierdzenie i akceptuje numer wykonania.
Żądanie Nieistotne
Moduł powraca do stanu bezczynności po zakończeniu pierwszej operacji odbierania.
Potw. żąd.
Status Nieistotne
CPU kończy zadanie.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 93
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.5
Przykład zapisywania sygnałów V.24
Przykład zapisywania sygnałów V.24
Tabela poniżej zawiera przykład jak CPU zapisuje sygnały V.24 do modułu interfejsu szeregowego. Pamięć I/O posiada 8 bajtów.
Tabela 2-26 Przykład zapisywania sygnałów V.24
Cykl CPU
1.
CPU zapisuje do ET 200S 1SI CPU odczytuje z ET 200S 1SI
Program użytkownika odczytuje kod bezczynności modułu:
Bajt
Potw. żąd.
CPU zapisuje zadanie dla zapisywania sygnałów V.24:
Bajt
Status Nieistotne
Żądanie Stany sygnałów Nieistotne
2.
3.
—
Program użytkownika odczytuje następującą odpowiedź z modułu:
Potw. żąd.
CPU zapisuje stan bezczynności do bajtu zadań:
Status Nieistotne
Żądanie Nieistotne
Program użytkownika odczytuje następującą odpowiedź z moduł (moduł powraca do stanu bezczynności na końcu operacji):
Potw. żąd.
Status
CPU zapisuje jako zadanie kod bezczynności i kończy zadanie.
Nieistotne
94
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.6
Parametry dla sterowania przepływem danych
Parametry dla sterowania przepływem danych
Tabela 2-27
Kod zadania dla przesyłania parametrów za pomocą sterownika ASCII umożliwia ustawienie dodatkowych parametrów.
Zależy to od typu sterowania przepływem danych jaki został wybrany w pliku GSD. Trzy typy sterowania przepływem danych są opisane w tabeli poniżej.
Parametry dla sterowani przepływem danych
Ramka parametrów dla sterowania przepływem danych XON/XOFF
Bajt
1
2 i 3
4
1
2 i 3
4 i 5
6 i 7
Opis
Numer bloku parametrów
Długość
Znak XON
Zakres wartości
20
H
0004
H
0 do 127 (7 bitów danych)
0 do 255 (8 bitów danych)
Domyślna wartość
0004
H
11 (DC1)
5 Znak XOFF 0 do 127 (7 bitów danych)
0 do 255 (8 bitów danych)
6 i 7 Czas oczekiwania na XON po XOFF
Ramka parametrów dla sterowania przepływem danych RTS/CTS
13 (DC3)
20 do 655,350 w przyrostach 10 ms 200 (2000 ms)
Bajt
1
Opis
Numer bloku parametrów
Zakres wartości
21
H
Domyślna wartość
2 i 3
4 i 5
Długość
Czas oczekiwania na CTS = ON
0002
H
Ramka parametrów dla automatycznego sterowania sygnałami towarzyszącymi RS 232C
Bajt Opis Zakres wartości
0002
H
20 do 655,350 w przyrostach 10 ms 200 (2000 ms)
Domyślna wartość
Numer bloku parametrów
Długość
Czas oczekiwania na RTS = OFF po transmisji
Czas oczekiwania na CTS = ON po RTS = ON
22
H
0004
H
0004
H
0 do 655,350 w przyrostach 10 ms 1 (10 ms)
0 do 655,350 w przyrostach 10 ms 1 (10 ms)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 95
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Przykład dla XON/XOFF
Tabela poniżej zawiera przykład jak CPU ustawia parametry XON/XOFF. Pamięć I/O posiada
4 bajty.
Tabela 2-28
Cykl CPU
1.
2.
3.
Przykład dla XON/XOFF
CPU zapisuje do ET 200S 1SI
Program użytkownika otrzymuje następujący kod bezczynności modułu: →
CPU odczytuje z ET 200S 1SI
Bajt
Bajt
Potw. żąd.
Status Nieistotne
← Zadanie: Wysłać kod parametru (1 0 1 lub 5
H plus numer wykonania 0
)
Żądanie Nieistotne
Program użytkownika otrzymuje następującą odpowiedź z modułu: →
Potw. żąd.
CPU wysyła 1-szy segment ponieważ zadanie zostało zaakceptowane.
Żądanie
Przepływ danych
Wysyłana długość
Nieistotne
← Zadanie: Kontynuacja parametrów i zwiększenie numeru wykonania
← Przepływ danych: Kod dla parametrów przepływu danych
Program użytkownika otrzymuje następującą odpowiedź z modułu: →
Potw. żąd.
CPU wysyła 2-gi segment ponieważ nie zostały wykryte żadne błędy:
Nieistotne
4.
Żądanie Czas oczekiw.
na XON po
XOFF-MSB
Program użytkownika otrzymuje następującą odpowiedź z modułu: →
Potw. żąd.
CPU wysyła 3-ci segment ponieważ nie zostały wykryte żadne błędy:
Nieistotne
Żądanie Czas oczekiw.
na XON po
XOFF-LSB
Nieistotne
96
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
Cykl CPU
5.
CPU zapisuje do ET 200S 1SI
Program użytkownika otrzymuje następującą odpowiedź z modułu: →
CPU odczytuje z ET 200S 1SI
Potw. żąd.
CPU powtarza 3-ci segment i czeka na potwierdzenie końca zadania.
Nieistotne
6.
Żądanie Czas oczekiw.
na XON po
XOFF-LSB
Nieistotne
Program użytkownika otrzymuje następującą odpowiedź z modułu: →
Potw. żąd.
CPU zapisuje jako zadanie kod bezczynności i kończy zadanie.
Status
Żądanie Nieistotne
Nieistotne
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 97
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
2.12.7
Rozwiązywanie problemów
Warunki błędów
Moduł interfejsu szeregowego generuje błąd w odpowiedzi na następujące warunki:
● Jeżeli żądanie wysyłania jest dłuższe niż 224 bajtów to moduł odpowiada żądaniem potwierdzenia końca a słowo statusowe zawiera kod błędu. CPU zapisuje wtedy kod bezczynności do żądania i kończy żądanie.
● Jeżeli żądanie odbierania zostało wysłane do modułu a odebrany komunikat zawiera błąd to moduł akceptuje kod żądania odbierania z numerem wykonania zero i słowo statusowe zawiera kod błędu. CPU zapisuje wtedy kod bezczynności do żądania i kończy żądanie.
● Jeżeli żądanie odbierania zostało wysłane do modułu i nie jest dostępny odebrany komunikat to moduł akceptuje kod żądania odbierania z numerem wykonania zero i słowo statusowe zawiera wartość 0101
H
. Nie jest to warunek błędu ale zapobiega przed deaktywacją modułu w trybie żądania odbierania i przed oczekiwaniem na odbieranie komunikatów. W rezultacie żądanie wysyłania ciągle może być wykonane. CPU zapisuje kod bezczynności do żądanie i kończy żądanie.
Wyjątki
Jak wcześniej wspomniano, dana operacja (np. żądanie wysyłania) nie może być inicjowana w programie użytkownika dopóki moduł jest w stanie bezczynności. Po tym jak żądanie zostało wysłane operacja musi czekać dopóki moduł nie zaakceptuje kodu żądania przed wykonaniem operacji w zapytaniu. W przypadku operacji z segmentacją podczas uruchamiania mogą wystąpić następujące wyjątki:
Uwaga
W poniższych opisach wysyłania lub operacji parametryzacji wysyłającym jest CPU a odbiorcą jest moduł interfejsu szeregowego. W przypadku operacji odbierania wysyłającym jest moduł interfejsu szeregowego a odbierającym jest CPU.
● Błąd: Wysyłający monitoruje bit błędu obierającego dla transakcji segmentowej.
Następujące akcje są wyzwalane po ustawieniu bitu błędu:
– CPU = wysyłający (żądanie wysyłania): CPU retransmituje segmenty, począwszy od następnego segmentu po numerze zgłaszanym przez odbiornik.
– Module = wysyłający (żądanie odbierania): Moduł 1SI anuluje wcześniejsze transmisje ramki danych Rx do użytkownika i jest raportowany komunikat błędu
0x0551 w słowie statusowym. Moduł czeka na potwierdzenie tego komunikatu błędu.
Po zakończeniu tej bieżącej sekwencji odbierania anulowana ramka danych Rx jest raportowania do użytkownika ponownie lub jest dostępna do przesyłania.
98
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.12
Dane odniesienia dla masterów innych niż S7-PROFIBUS
● Numer wykonania nie w odpowiedniej kolejności: jeżeli, podczas segmentowej operacji odbiornik odbiera segment z numerem wykonania, który nie jest wcześniejszym numerem wykonania + 1, musi zgłosić błąd i odpowiedzieć z ostatnim numerem wykonania.
– CPU = odbiorca (żądania odbierania): Po odebraniu segmentu z ustawionym bitem błędu i jest komunikat 0x0551 w słowie statusowym CPU musi anulować swoje żądanie odbierania lub odrzucić wcześniej aktywowane dane.
● Zmodyfikowany kod żądania:
– Jeżeli odbiornik odbiera segment z kodem żądania który różni się od kodu, z którym operacja segmentowa się rozpoczęła i jeżeli nie jest 000 lub 111 odbiornik ignoruje inne kody i odrzuca powiązane dane.
– Jeżeli odbiornik odbiera segment z kodem żądania stanu bezczynności podczas operacji segmentowej to operacja jest anulowana i stan bezczynności jest przyjmowany bez ustawienia bitu błędu.
– Jeżeli odbiornik odbiera segment z kodem żądania potwierdzenia zakończenia podczas operacji segmentowej to operacja jest anulowana i stan bezczynności jest przyjmowany bez ustawienia bitu błędu.
– Jeżeli podczas operacji segmentowej wysyłający odbierze odpowiedź z innym kodem żądania to komunikat musi być anulowany. Kod bezczynności jest wtedy wysyłany ponownie, moduł musi wprowadzić stan bezczynności i operacja musi być wykonana ponownie.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 99
Moduł interfejsu szeregowego
2.13
Diagnostyka
2.13
Diagnostyka
Wstęp
Funkcje diagnostyczne w module ET 200S 1SI pozwalają szybko zlokalizować błędy nawet podczas działania. Są dostępne następujące opcje diagnostyczne:
● Diagnostyka poprzez diody statusowe LED na przednim panelu modułu ET 200S 1SI.
● Diagnostyka poprzez wyjście STATUS bloków funkcyjnych.
● Diagnostyka poprzez diagnostykę PROFIBUS slave.
Informacje diagnostyczne w wykorzystaniem diod LED
Następujące diody statusowe LED są zlokalizowane na przednim panelu modułu interfejsu
ET 200S 1SI:
● TX (zielona): Świeci gdy moduł wysyła dane poprzez interfejs.
● RX (zielona): Świeci gdy moduł odbiera dane poprzez interfejs.
● SF (czerwona): Wskazuje jeden z następujących możliwych błędów/awarii:
– Awaria sprzętu
– Błąd ustawiania parametrów
– Przerwany lub poluzowany kabel pomiędzy modułem a partnerem komunikacji:
Tylko wykrywany w przypadku połączeń interfejsu RS 422 jeżeli stan początkowy linii odbierania jest ustawiony na R(A) 5 V/R(B) 0 V.
– Błędy komunikacji (parzystość, błędy ramki, przepełnienie bufora)
Struktura komunikatów diagnostycznych bloków funkcyjnych
Każdy blok funkcyjny posiada parametr STATUS dla diagnostyki błędów. Numery komunikatów
STATUS posiadają zawsze takie samo znaczenie niezależnie od tego, który blok funkcyjny jest używany. Rysunek poniżej przedstawia strukturę parametru STATUS.
Nr bitu
Rezerwa Klasa zdarzenia
Rysunek 2-23 Struktura parametru STATUS
Klasa zdarzenia
(numer błędu)
100
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.13
Diagnostyka
Przykład: Rysunek poniżej przedstawia zawartość parametru STATUS dla zdarzenia "Żądanie anulowane z powodu restartu, warm restartu lub resetu" ("Request canceled due to restart, warm restart or reset") (klasa zdarzenia 1E
H
, numer zdarzenia 0D
H
).
Zdarzenie: Żądanie przerwane z powodu restartu lub resetu
Rezerwa Klasa zdarzenia:1E
H
Klasa zdarzenia:0D
H
Rysunek 2-24 Przykład: Parametr STATUS dla zdarzenia klasy 1EH, zdarzenia 0DH
Komunikaty diagnostyczne bloków funkcyjnych
Poniższa tabela zawiera klasy zdarzenia, definicje numerów zdarzeń i rekomendowany sposób naprawy dla każdego warunku błędu.
Tabela 2-29 Komunikaty diagnostyczne w parametrze STATUS
Nr zdarzenia Zdarzenie Sposób naprawy
Klasa zdarzenia 2 (0x02
H
): "Błąd inicjalizacji"
(02) 01
H
Brak (prawidłowej) parametryzacji.
Klasa zdarzenia 5 (05
H
): "Błąd podczas przetwarzania żądania CPU"
(05) 02
H
Żądanie nie dozwolone w tym trybie pracy modułu ET 200S 1SI (np. interfejs urządzenia nie jest sparametryzowany).
Wysyłana ramka danych jest większej długości niż
224 bajtów. Moduł ET 200S 1SI anulował żądanie wysyłania.
Należy wybrać krótszą długość ramki danych.
(05) 0E
H
Nieprawidłowa długość ramki danych.
Przypisać modułowi prawidłowe parametry. Jeżeli zachodzi konieczność sprawdzić, czy system jest prawidłowo zainstalowany.
(05) 50
H
Żądanie aktualizacji parametrów jest nieprawidłowe dla aktualnie wybranej formy sterowania przepływem danych modułu ET 200S 1SI.
Długość wysyłanej ramki danych przekracza 224 bajty. Moduł ET 200S 1SI anulował żądanie wysyłania.
Należy wybrać krótszą długość ramki danych.
Należy albo zmienić parametry bloku funkcyjnego
(FB 6 S_XON, FB 7 S_RTS, FB 8 S_V24) w programie AS lub zmienić formę sterowania przepływem danych dla modułu ET 200S 1SI w konfiguracji sprzętu tak, aby sobie odpowiadały.
(05) 51
H
Błąd wykonania ramki podczas komunikacji pomiędzy modułem ET
200S 1SI a systemem automatyki. Błąd wystąpił w systemie automatyki podczas transmisji odebranej z modułu ET 200S
1SI ramki danych.
Moduł i system automatyki anulują transmisję. Należy powtórzyć żądanie odbierania; moduł ET 200S 1SI wysyła odebraną ramkę ponownie.
Klasa zdarzenia 7 (07
H
): "Błąd wysyłania"
(07) 02
H
Tylko dla 3964(R):
Błąd zestawiania połączenia:
Po wysłaniu STX, został odebrany NAK lub dowolny inny kod (z wyjątkiem DLE lub STX).
Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu (FOXPG), które jest włączone do linii transmisyjnej.
101
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.13
Diagnostyka
Nr zdarzenia
(07) 03
H
(07) 04
H
(07) 05
H
(07) 06
H
(07) 07
H
(07) 08
H
(07) 0B
H
(07) 0C
H
Zdarzenie Sposób naprawy
Tylko dla 3964(R):
Przekroczony czas opóźnienia potwierdzenia:
Po wysłaniu STX partner nie odpowiedział w ciągu czasu opóźnienia potwierdzenia.
Tylko dla 3964(R):
Anulowanie przez partnera:
Podczas wysyłania zostało odebranych od partnera jeden lub więcej znaków.
Tylko dla 3964(R):
Negatywne potwierdzenie podczas wysyłania.
Urządzenie partnera jest zbyt wolne lub nie gotowe do odbierania albo na przykład jest przerwa na linii transmisyjnej. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu (FOXPG), które jest włączone do linii transmisyjnej.
Sprawdzić czy partner także sygnalizuje błędy, prawdopodobnie nie nadeszły wszystkie transmitowane dane (np. przerwa na linii transmisyjnej), wystąpił błąd krytyczny lub urządzenie partnera jest uszkodzony. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu
(FOXPG), które jest włączone do linii transmisyjnej.
Sprawdzić czy partner także sygnalizuje błędy, prawdopodobnie nie nadeszły wszystkie transmitowane dane (np. przerwa na linii transmisyjnej), wystąpił błąd krytyczny lub urządzenie partnera jest uszkodzony. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu
(FOXPG), które jest włączone do linii transmisyjnej.
Tylko dla 3964(R):
Błąd końca połączenia:
● Partner odrzuca ramkę danych na końcu połączenia z NAK lub losowym ciągiem (z wyjątkiem dla DLE), lub
● Znaki potwierdzenia (DLE) odebrane za wcześnie.
Sprawdzić czy partner także sygnalizuje błędy, prawdopodobnie nie nadeszły wszystkie transmitowane dane (np. przerwa na linii transmisyjnej), wystąpił błąd krytyczny lub urządzenie partnera jest uszkodzony. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu
(FOXPG), które jest włączone do linii transmisyjnej.
Tylko dla 3964(R):
Czas opóźnienia potwierdzenia przekroczony na końcu połączenia lub czas monitorowania odpowiedzi przekroczony po wysłaniu ramki danych:
Po zakończeniu połączenia przez DLE
ETX, nie odebrano potwierdzenia od partnera ciągu czasu opóźnienia potwierdzenia.
Tylko dla sterowników ASCII drivers:
Upłynął czas oczekiwania na XON lub
CTS = ON
Tylko dla 3964(R):
Konflikt inicjalizacji nie może być rozwiązany ponieważ obaj partnerzy posiadają wysoki priorytet.
Tylko dla 3964(R):
Konflikt inicjalizacji nie może być rozwiązany ponieważ obaj partnerzy posiadają niski priorytet.
Urządzenie partnera jest zbyt wolne lub uszkodzone.
Jeżeli zachodzi konieczność należy użyć do sprawdzenia urządzenie włączone do linii transmisyjnej.
Partner komunikacji jest uszkodzony, zbyt wolny lub w trybie offline. Sprawdzić partnera komunikacji; może zachodzić konieczność zmiany parametrów.
Należy zamienić ustawienie parametrów.
Należy zamienić ustawienie parametrów.
102
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.13
Diagnostyka
Nr zdarzenia Zdarzenie Sposób naprawy
Klasa zdarzenia 8 (08
H
): "Błąd odbierania"
(08) 02
H
Tylko dla 3964(R):
● Błąd zestawiania połączenia:
● W trybie bezczynności został odebrany jeden lub więcej losowych kodów (innych niż NAK lub STX), lub
● Po odebraniu STX, partner wysyła więcej znaków bez oczekiwania na odpowiedź DLE.
Po włączeniu zasilenia partnera na ON:
● Moduł odbiera niezidentyfikowany znak podczas włączania partnera.
(08) 05
H
Tylko dla 3964(R):
Błąd logiczny podczas odbierania:
Po odebraniu DLE został odebrany kolejny losowy kod (inny niż DLE lub
ETX).
(08) 06
(08) 07
(08) 08
(08) 09
(08) 0A
H
H
H
H
H
Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu (FOXPG), które jest włączone do linii transmisyjnej.
Niedostępny wolny bufor odbierania:
Brak miejsca w buforze odbierania na odbierane dane.
Sprawdzić czy partner zawsze duplikuje DLE w nagłówku ramki danych i ciągu danych lub połączenie jest zwolnione z DLE ETX. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu
(FOXPG), które jest włączone do linii transmisyjnej.
Upłynął czas opóźnienia znaku (ZVZ):
● Dwa kolejne znaki nie zostały odebrane w ciągu czasu opóźnienia znaku, lub
Tylko dla 3964(R):
● W ciągu czasu opóźnienia znaku nie został odebrany 1. znak po wysłaniu
DLE podczas zestawiania połączenia.
Tylko dla 3964(R):
Niedozwolona długość ramki danych:
Została odebrana ramka danych o zerowej długości.
Partner komunikacji jest zbyt wolny lub uszkodzony.
Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu (FOXPG), które jest włączone do linii transmisyjnej.
Odebranie ramki danych o zerowej długości nie stanowi błędu.
Sprawdzić czy partner komunikacji wysyła ramki danych bez danych użytkownika.
Tylko dla 3964(R):
Błąd w znaku kontroli bloku (BCC):
Obliczona wewnętrznie wartość BCC nie pasuje do BCC odebranego przez partnera gdy połączenie zostało zakończone.
Sprawdzić czy połączenie nie jest poważnie zakłócone; w takim przypadku mogą czasem występować kody błędów. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu
(FOXPG), które jest włączone do linii transmisyjnej.
Tylko dla 3964(R):
Liczba powtórzeń musi być ustawiona na taką samą wartość.
W partnerze komunikacji zadeklarować czas oczekiwania bloku identyczny do tego w module.
Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia do sprawdzenia urządzenie testowania interfejsu włączone do linii transmisyjnej.
Blok S_RCV FB musi być wywoływany częściej.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 103
Moduł interfejsu szeregowego
2.13
Diagnostyka
Nr zdarzenia Zdarzenie
Klasa zdarzenia 8 (08
H
): "Błąd odbierania"
(08) 0C
H
Błąd transmisji:
(08) 0D
H
● Wykryty błąd transmisji (błąd parzystości/bitu stopu/przepełnienia).
Tylko dla 3964(R):
● Jeżeli wystąpi to podczas operacji wysyłania lub odbierania to jest uruchamiane powtarzanie.
● Jeżeli w trybie bezczynności jest odebrany uszkodzony znak to jest natychmiast zgłaszany błąd tak aby zakłócenia na linii transmisyjnej zostały wykryte wcześniej.
● Jeżeli świeci dioda SF LED
(czerwona) to jest przerwa w kablu połączeniowym pomiędzy dwoma partnerami komunikacji.
PRZERWA: Przerwa w linii odbierania do partnera.
Sposób naprawy
Zakłócenia na linii transmisyjnej powodują powtarzanie ramki danych co zmniejsza przepustowość danych użytkownika. Zwiększa się ryzyko wystąpienia niewykrywanych błędów. Należy zmienić ustawienia systemowe lub podłączenie kabli.
Sprawdzić kable połączeniowe partnera komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Połączyć ponownie lub włączyć partnera.
(08) 10
(08) 11
(08) 12
(08) 18
(08) 50
H
H
H
H
H
Tylko dla sterowników ASCII drivers:
Błąd parzystości:
● Jeżeli świeci dioda SF LED
(czerwona) to jest przerwa w kablu połączeniowym pomiędzy dwoma partnerami komunikacji.
Tylko dla sterowników ASCII drivers:
Błąd ramki znaku:
● Jeżeli świeci dioda SF LED
(czerwona) to jest przerwa w kablu połączeniowym pomiędzy dwoma partnerami komunikacji.
Sprawdzić kable połączeniowe partnerów komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Należy zmienić ustawienia systemowe lub podłączenie kabli.
Sprawdzić kable połączeniowe partnerów komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Należy zmienić ustawienia systemowe lub podłączenie kabli.
Tylko dla sterowników ASCII drivers:
Po wysłaniu przez moduł XOFF lub stawieniu CTS na OFF zostało odebranych więcej znaków .
Tylko dla sterowników ASCII drivers:
DSR = OFF lub CTS = OFF
Przekonfigurować partnera komunikacji lub szybciej czytać dane modułu.
Partner przełączył sygnały DSR lub CTS na "OFF" przed lub podczas transmisji.
Sprawdzić sterowanie przez partnera sygnałami towarzyszącymi RS 232C.
Długość odebranej ramki danych jest większa niż 224 bajtów lub zdefiniowana długość ramki danych.
Dostosować długość ramki danych partnera.
Klasa zdarzenia 11 (0B
H
): Ostrzeżenie
(0B) 01
H
Bufor odbierania jest w ponad 2/3 pełen
104
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.13
Diagnostyka
Nr zdarzenia Zdarzenie Sposób naprawy
Klasa zdarzenia 30 (1E
H
): "Błąd komunikacji pomiędzy modułem a CPU"
(1E) 0D
H
Żądanie anulowane z powodu zakończenia restartu, warm restartu lub resetu. ("Request canceled due to restart, warm restart or reset")
(1E) 0E
H
(1E) 0F
(1E) 10
(1E) 11
(1E) 20
(1E) 41
H
H
H
H
H
Błąd statyczny podczas wywołania funkcji
SFC DPRD_DAT. Zwrócona wartość
RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji
SFC DPWR_DAT. Zwrócona wartość
RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji
SFC RD_LGADR. Zwrócona wartość
RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji
SFC RDSYSST. Zwrócona wartość
RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Parametr poza zakresem.
Liczba bajtów określona w parametrze
LEN bloku FB nie jest dozwolona.
Załadować zmienną SFCERR z bloku danych lokalnych DB.
Załadować zmienną SFCERR z bloku danych lokalnych DB.
Załadować zmienną SFCERR z bloku danych lokalnych DB.
Załadować zmienną SFCERR z bloku danych lokalnych DB.
Należy zmienić wejście bloku funkcyjnego tak, aby był wewnątrz prawidłowego zakresu.
Zachować zakres wartości od 1 do 224 bajtów.
Wywołanie zmiennej SFCERR
Więcej szczegółowych informacji o błędach (1E) 0E
H
, (1E) 0F
H
, (1E) 10
H
i (1E) 11 należących do klasy zdarzenia 30 można uzyskać za pomocą zmiennej SFCERR.
H
Można załadować zmienną SFCERR z bloku lokalnego DB odpowiedniego bloku funkcyjnego.
Komunikaty błędów zapisywane do zmiennej SFCERR są opisane w rozdziałach o funkcjach systemowych "DPRD_DAR" i SFC15 "DPWR_DAT" w instrukcji System Software for S7-
300/400, System and Standard Functions.
Diagnostyka PROFIBUS
Dane diagnostyki slave są zgodne z EN 50170, tom 2, PROFIBUS. Zależnie od DP master, dane diagnostyczne dla wszystkich DP slaves zgodnych z tym standardem mogą być odczytane w STEP 5 lub STEP 7.
Diagnostyka PROFIBUS slave zawiera diagnostykę modułu, status modułu i diagnostykę charakterystyczną dla kanału. Szczegółowe informacje o diagnostyce DP slave można znaleźć w instrukcji zatytułowanej ET 200S Distributed I/O Device.
Diagnostyka charakterystyczna dla kanału: Diagnostyka charakterystyczna dla kanału dostarcza informacje o błędów kanałów w modułach i uruchamia się po statusie modułu. Tabela poniżej zawiera listę typów błędów charakterystycznych dla kanału.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 105
Moduł interfejsu szeregowego
2.13
Diagnostyka
Tabela 2-30 Typy błędów kanału dla modułu interfejsu szeregowego ET 200S 1SI
Typ błędu
00110: Przerwany kabel
(Wire break)
00111: Przepełnienie
(Overflow)
01000: Niedopełnienie
(Underflow)
01001: Błąd (Error)
10000: Błąd ustawiania parametrów
(Parameter assignment error)
10110: Błąd komunikatu
(Message error)
Znaczenie
Kabel przerwany lub rozłączony.
Bufor przepełniony; przepełnienie długości komunikatu.
Tylko 3964(R) : Wysłany komunikat o długości 0.
Wystąpił błąd wewnętrzny modułu.
Moduł nie jest sparametryzowany.
Błąd ramki, błąd parzystości
Sposób naprawy
Sprawdzić podłączenie zacisków.
Sprawdzić kabel do partnera.
Blok FB S_RCV musi być wywoływany częściej.
Sprawdzić dlaczego partner komunikacji wysyła ramki danych bez danych użytkownika.
Wymienić moduł.
Poprawić parametryzację.
Sprawdzić ustawienia komunikacji.
106
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.14
Dane techniczne
2.14
Dane techniczne
Ogólne dane techniczne
Ogólne dane techniczne określone w rozdziale "Ogólne dane techniczne" ("General technical data") w instrukcji ET 200S Distributed I/O System odnoszą się do modułu interfejsu szeregowego ET 200S 1SI 3964/ASCII. Instrukcja ta jest dostępna pod adresem: http://www.siemens.com/simatic-tech-doku-portal
Dane techniczne dla protokołów i interfejsu
Tabela 2-31 Ogólne dane techniczne modułu ET 200S 1SI
Ogólne dane techniczne
Elementy sygnalizacyjne: ● LED (zielona): TX (wysyłanie)
● LED (zielona): RX (odbieranie)
● LED (czerwona): SF (błąd grupowy)
Dostarczane sterowniki protokołów
Prędkości dla protokołu 3964(R)
Prędkości dla sterowników ASCII drivers
Ramki znaków (10 lub 11 bitów)
3964(R) driver
ASCII driver
110, 300, 600, 1200, 2400, 4800, 9600, 19200,
38400, 57600, 76800, 115200
Liczba bitów na znak: 7 lub 8
Liczba bitów startu/stopu: 1 lub 2
Parzystość: None, even, odd, any
Wymagana pamięć dla standardowych bloków (FB) Wysyłanie i odbieranie: około 4300 bajtów
Dane techniczne interfejsu RS 232C
Interfejs
Sygnały RS 232C
RS 232C, 8 końcówek
TXD, RXD, RTS, CTS, DTR, DSR, DCD, PE
Wszystkie elektrycznie izolowane od wewnętrznego zasilania modułu ET 200S 1SI.
15 m Maksymalny dystans transmisji
Dane techniczne interfejsu 422/485
Interfejs
Sygnały RS 422
Sygnały RS 485
Maksymalny dystans transmisji
● RS 422, 5 końcówek
● RS 485, 3 końcówki
TXD (A)-, RXD (A)-, TXD (B)+, RXD (B)+, PE
R/T (A)-, R/T (B)+, PE
Wszystkie elektrycznie izolowane od wewnętrznego zasilania modułu ET 200S 1SI.
1200 m
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 107
Moduł interfejsu szeregowego
2.14
Dane techniczne
Dane techniczne
Wymiary i ciężar
Wymiary szer. x wys. x dług. (w mm)
Ciężar
Dane charakterystyczne modułu
RS 232C
● Liczba wejść
● Liczba wyjść
RS 422
● Liczba par wejść
● Liczba par wyjść
RS 485
Liczba par I/O
Długość kabla
● Ekranowany (RS 232C)
● Ekranowany (RS 422/485)
Stopień ochrony 1
Napięcia, prądy, potencjały
15 x 81 x 52
Około 50 g
4
3
1
1
1
Maks. 15 m
Maks. 1200 m
IEC 801-5
Znamionowe napięcie zasilania elektroniki (L+)
● Ochrona odwrócenia polaryzacji
Izolacja potencjałów
● Pomiędzy kanałami i szyną magistrali
● Pomiędzy kanałami i zasilaniem elektroniki
● Pomiędzy kanałami
● Pomiędzy kanałami i PROFIBUS DP
Test izolacji
● Kanałów do szyny magistrali i napięcia zasilania
L+
● Napięcia zasilania L+ do szyny magistrali
Źródło prądowe
● Z szyny magistrali
● Z napięcia zasilania L+
Strata mocy modułu
24 V DC
Tak
Tak
Tak
Nie
Tak
500 VDC
500 VAC
Maks. 10 mA
Maks. 120 mA
50 mA, typowo
Typowo 1.2 W
Status, przerwania, diagnostyka
Sygnalizacja statusu ● Zielona LED (TX)
● Zielona LED (RX)
Funkcje diagnostyczne
● Sygnalizacja grupowego błędu
● Informacje diagnostyki mogą być wyświetlane
Czerwona LED (SF)
Możliwe
108
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Moduł interfejsu szeregowego
2.14
Dane techniczne
Wyjścia
Wyjście, zakres RS 232C
● Dla obciążenia pojemnościowego
● Ochrona przeciwprzepięciowa
● Prąd zwarcia
● Napięcie między wyjściami lub wejściami a PE
(uziemienie)
Wyjście, RS 422/485
● Obciążenie rezystancyjne
● Ochrona przeciwprzepięciowa
● Prąd zwarcia
± Maks. 10 V
Maks. 2500 pF
Tak
Około 60 mA
Maks. 25 V
Min. 50 kΩ
Tak
Około 60 mA
1 Zewnętrzny osprzęt ochronny wymagany dla zasilanych przez użytkownika podłączeń przewodów wejściowych:
● Blitzductor adapter standardowej szyny montażowej
● Blitzductor moduł ochrony KT AD-24V
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 109
Moduł interfejsu szeregowego
2.14
Dane techniczne
110
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
3 Modbus/USS
3.1
Przegląd produktu
Numer zamówieniowy
6ES7 138-4DF11-0AB0
Opis produktu
Moduł interfejsu szeregowego ET 200S Modbus/USS jest montowalnym modułem należącym do rodziny produktów ET 200S, który zapewnia dostęp do komunikacji szeregowej na bazie trzech interfejsów sprzętowych (RS 232C, RS 422 i RS 485) i dwóch protokołów programowych:
● Modbus
● USS master
Można użyć modułu interfejsu szeregowego ET 200S Modbus/USS do wymiany danych pomiędzy systemami automatyki lub komputerami za pomocą połączenia punkt-punkt.
Wszystkie komunikacje są oparte na szeregowej transmisji asynchronicznej.
Można wybrać tryb komunikacji podczas parametryzowania modułu w konfiguracji sprzętu
STEP 7 lub w innych aplikacjach konfiguracyjnych. W katalogu sprzętu znajduje się dziewięć wersji modułu:
● Modbus master (4 bajty)
● Modbus master (8 bajtów)
● Modbus master (32 bajtów)
● Modbus slave (4 bajty)
● Modbus slave (8 bajtów)
● Modbus slave (32 bajtów)
● USS master (4 bajty)
● USS master (8 bajtów)
● USS master (32 bajtów)
Transmisja danych 8- lub 32-bajtowa zwiększa wydajność przepustowości, ale potrzebuje więcej przestrzeni I/O na szynie ET 200S. Natomiast 4-bajtowa transmisja danych wymaga mniej przestrzeni I/O na szynie ale oferuje niższą wydajność przepustowości. Wybrany wariant modułu zależy od wymagań aplikacji.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 111
Modbus/USS
3.1 Przegląd produktu
Funkcjonalność modułu interfejsu szeregowego ET 200S Modbus/USS
Moduł interfejsu szeregowego ET 200S Modbus/USS oferuje następujące funkcje:
● Zintegrowany interfejs zgodny z RS 232C, RS 422 lub RS 485
● Prędkość transmisji do 115.2 Kbaud, half duplex
● Integracja następujących protokołów transmisji w firmware modułu:
– sterownik Modbus master driver
– sterownik Modbus slave driver
– sterownik USS master driver
Parametryzacja modułu determinuje funkcjonalność sterowników.
Tabela poniżej zawiera listę funkcji sterowników poszczególnych interfejsów.
Tabela 3-1 Funkcje sterowników modułu interfejsu szeregowego ET 200S Modbus/USS
Funkcja
Modbus driver
Automatyczne sterowanie sygnałami RS 232C
USS master driver
RS 232C
Tak
Tak
Tak
RS 422
Tak
Nie
Nie
RS 485
Tak
Nie
Tak
Uwaga
Moduł ET 200S 1SI nie może pracować, korzystając ze standardowych bloków FB, jako podrzędny z zewnętrznymi procesorami komunikacyjnymi CP 342-5 (Profibus DP) oraz
CP 343-1 (Profinet IO)!
Do pracy modułu jako podrzędny w stosunku do procesorów komunikacyjnych CP 342-5
(Profibus DP) lub CP 343-1 (Profinet IO), są dostępne odpowiednie specjalne bloki funkcyjne na stronach internetowych wsparcia klientów: http://support.automation.siemens.com/WW/view/en/26263724
Diody LED
Następujące diody LED znajdują się na przednim panelu modułu interfejsu:
LED Kolor Opis
SF
TX
RX
Czerwony
Zielony
Zielony
Grupowy błąd
Interfejs wysyła
Interfejs odbiera
112
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.1 Przegląd produktu
Przedni panel
Rysunek poniżej przedstawia oznaczenia na przednim panelu modułu interfejsu szeregowego
ET 200S Modbus/USS.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 113
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
3.2
Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Wprowadzenie
Na podstawie przykładu wysyłania i odbierania danych pomiędzy modułami interfejsu szeregowego instrukcja ta wyjaśnia, jak skonfigurować funkcjonowanie aplikacji, jak działają podstawowe operacje interfejsu szeregowego (sprzęt i oprogramowanie) oraz jak testować sprzęt i oprogramowanie.
W tym przykładzie będą działać dwa moduły interfejsu szeregowego ET 200S 1SI Modbus/USS jako połączenie RS 232C Modbus master <-> Modbus slave.
Wymagania
Muszą być spełnione następujące wymagania:
● Należy uruchamiać stacje ET 200S na stacji S7 z DP master.
● Potrzebne są następujące komponenty:
– Dwa moduły z zaciskami TM-E15S24-01
– Dwa moduły interfejsu szeregowego ET 200S 1SI Modbus/USS
– Niezbędne materiały okablowania
Montaż, okablowanie i montaż
Należy zamontować i okablować dwa moduły z zaciskami TM-E15S24-01 (patrz rysunek poniżej). Należy zamontować oba moduły interfejsu szeregowego ET 200S 1SI Modbus/USS na modułach z zaciskami. (Szczegółowy opis znajduje się w instrukcji zatytułowanej Distributed
I/Os).
114
Moduł interfejsu szeregowego
Połączenia dla komunikacji szeregowej RS 232C
Moduł z zaciskami
Rysunek 3-1 Przykład podłączenia zacisków
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Zastosowana konfiguracja
Tabela poniżej zawiera konfigurację zastosowaną w przykładowym programie.
Tabela 3-2
Parametry
Group diagnostics
Interface
Parametryzacja dla przykładowej aplikacji
Wartość
Deactivate
RS 232C
Initial state of receive line
Mode
Slave address 1
Data flow control (initial state)
Baud rate
Stop bits
Parity
Multiple of the run time
Response time (ms) 2
Time for RTS = off (ms)
Wait time for evaluation of data (ms)
Clear receive buffer during startup
1 Tylko w Modbus slave
2 Tylko w Modbus master
Normal operation
1
None
9600
1
Even
1
2000
Yes
Zastosowane bloki
Tabela poniżej zawiera bloki zastosowane w przykładowym programie.
Moduły Symbol Komentarz
FB 2
FB 3
FB 81
FC 10
FC 21
FC 22
OB 1
OB 100
DB 21
DB 22
DB 40
DB 41
DB 42
DB 43
DB 81
DB 100
CYCLE
RESTART
SEND_IDB_SI_0
Cyklicznie przetwarzany program
Przetwarzane po uruchomieniu
Blok danych lokalnych DB dla S_SEND_SI FB
RECV_IDB_SI_1 Blok danych lokalnych DB dla S_RECV_SI FB
SEND_WORK_DB_SI_0 Blok roboczy DB dla standardowego FB 3
RECV_WORK_DB_SI_1 Blok roboczy DB dla standardowego FB 2
SEND_SRC_DB_SI_0 Blok danych transmitowanych
RECV_DST_DB_SI_0
MODSL_IDB_SI_1
CONVERSION_DB
Blok danych odbieranych
Blok danych lokalnych DB dla S_MODB FB
Blok danych konwersji DB dla S_MODB FB
S_RECV_SI
S_SEND_SI
S_MODB
Inicjacja
SEND_SI_0
RECV_SI_1
Standardowy blok funkcyjny FB odbierania danych
Standardowy blok funkcyjny FB wysyłania danych
Standardowy blok funkcyjny FB dla komunikacji Modbus slave
Inicjalizacja bloków danych
Wysyłanie danych
Odbieranie danych
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 115
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Zakres dostawy i instalacji
Przykładowy program dla modułu ET 200S 1SI Modbus/USS i odpowiednie bloki funkcyjne są dostępne w Internecie pod adresem: http://support.automation.siemens.com/WW/view/en/10805265/133100
Po zainstalowaniu przykładowy program znajduje się w projekcie zXX21_11_1SI_MODBUS.
W STEP 7 SIMATIC manager projekt otwiera się wybierając z menu "File > Open > Sample projects".
Przykładowy program jest dostępny jako skompilowany program i jako plik źródłowy ASCII. Jest również tabela symboli zawierająca symbole używane w przykładzie.
Jeżeli nie jest dostępny drugi moduł ET 200S 1SI Modbus/USS jako partner komunikacji to trzeba skasować drugi wpis ET 200S 1SI Modbus/USS w HW Config wybierając "Edit > Delete".
Dodatkowo, w OB 1 wywołanie FB 81 (Modbus slave FB) musi być zamienione na komentarz.
Ładowanie do CPU
Sprzęt z przykładu jest w pełni skonfigurowany i programator jest podłączony.
Po zresetowaniu pamięci CPU (tryb pracy STOP), należy przesłać cały przykład do pamięci użytkownika. Następnie przełączyć przełącznik trybu pracy z STOP na RUN.
Zachowanie w przypadku błędu
Jeżeli podczas uruchamiania wystąpił błąd to nie będzie wykonywany cyklicznie przetwarzany blok wywołujący komendy i dioda LED błędu zostanie zaświecona.
W przypadku komunikatu błędu jest ustawiany parametr wyjściowy ERROR bloków. Bardziej szczegółowy opis błędu jest przechowywany w parametrze STATUS bloków. Jeżeli parametr
STATUS zawiera komunikat błędu albo 16#1E0E lub 16#1E0F to bardziej szczegółowy opis będzie przechowywany w zmiennej SFCERR w bloku danych lokalnych DB.
Aktywacja, program startowy
Program uruchamiany po starcie jest zlokalizowany w bloku OB 100.
Bity sterujące i liczniki są resetowane podczas procedury uruchamiania.
Program cykliczny
Program cykliczny znajduje się w OB 1.
W przykładzie, o ile dotyczy to Modbus master, bloki funkcyjne FB 2 S_RECV_SI i FB 3
S_SEND_SI współpracują razem z funkcjami FC 21 i FC 22, oraz z blokami danych DB 21 i DB
22 jako blokami danych lokalnych DB, a także z blokami danych DB 42 i DB 43 jako blokami danych wysyłanych i odbieranych.
Gdy dotyczy to Modbus slave, FB 81 S_MODB współpracują razem z DB 81 jako blokiem danych lokalnych DB oraz z DB 100 jako blokiem konwersji DB.
W przykładzie, parametry bloków funkcyjnych są ustawione częściowo jako stałe a częściowo przez adresowane symbolicznie bieżące adresy.
116
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Opis
Podczas transmisji danych ET 200S 1SI Modbus/USS w slocie 2 (Modbus master) "pobiera"
("fetches") dane z ET 200S 1SI Modbus/USS w slocie 3 (Modbus slave). Jeżeli pracuje się z innym partnerem komunikacji funkcja FB 81 (S_MODB) nie jest wywoływana.
Opis funkcji FC 21 (SEND)
Sekcja programu "Generate edge S_SEND_SI_REQ":
S_SEND_SI jest początkowo wykonywany raz gdy S_SEND_SI_REQ=0. S_SEND_SI_REQ jest potem ustawiany na 1. Jeżeli jest wykryta zmiana sygnału z 0 na 1 parametru sterującego
S_SEND_SI_ REQ to uruchamia się żądanie S_SEND_SI.
Jeżeli S_SEND_SI_ DONE=1 lub S_SEND_SI_ERROR=1 to S_SEND_SI_REQ jest resetowany na 0.
Sekcja programu "S_SEND_SI_DONE=1":
Jeżeli transfer zakończy się sukcesem to parametr S_SEND_SI_DONE jest setowany na 1 na wyjściu bloku S_SEND_SI.
Aby rozróżnić kolejne transfery licznik wysyłania (S_SEND_SI_WORK_CNT_OK) jest zawarty w słowie danych 18 roboczego bloku danych DB 40.
Sekcja programu "S_SEND_SI_ERROR=1":
Jeżeli S_SEND_SI jest wykonany z S_SEND_SI_ERROR=1 to licznik błędu
S_SEND_SI_WORK_CNT_ERR jest zwiększany w słowie danych 20. Dodatkowo
S_SEND_SI_WORK_STAT jest kopiowany ponieważ będzie nadpisany przez 0 podczas następnego cyklu, co uniemożliwia to jego odczytanie.
Opis funkcji FC 22 (RECEIVE)
Sekcja programu "Enable receive data":
W celu odbierania danych musie być ustawiony na 1 parametr odblokowania odbierania
S_RECV_SI_EN_R bloku S_RECV_SI.
Sekcja programu "S_RECV_SI_NDR=1":
Jeżeli S_RECV_SI_NDR jest ustawiony to oznacza, że nowe dane zostały odebrane i licznik odbierania S_RECV_SI_WORK_CNT_OK jest zwiększany.
Sekcja programu "S_RECV_SI_ERROR=1":
Jeżeli wystąpi błąd tzn. bit błędu parametru wyjściowego S_RECV_SI jest ustawiony to licznik
S_RECV_SI_WORK_CNT_ERR jest zwiększany. Dodatkowo S_RECV_SI_WORK_STAT jest kopiowany ponieważ będzie nadpisany przez 0 podczas następnego cyklu, co uniemożliwia to jego odczytanie.
Wszystkie odpowiednie wartości mogą być monitorowane w celach testowych w tabeli VAT.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 117
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Opis bloku DB 42
Stosowanie żądania Function Code 1 (odczyt stanu cewek (read coil status)) skonfigurowanego w tym przykładzie powoduje, że Modbus slave o adresie "1" musi odczytać 16 bitów począwszy od adresu "0". Odczytane za pomocą FC 22 (RECV) 16 bitów są przechowywane w bloku danych odebranych DB (DB 43) od adresu o offsecie 0.
Parametry żądania Modbus master (FC 21 (SEND)) są przechowywane w bloku danych wysyłanych (DB 24). Patrz tabela poniżej:
Adres Nazwa Typ Wartość początkowa Komentarz
0.0
+ 0.0
+ 1.0
+ 2.0
+ 4.0
+ 6.0
* 1.0
= 1200.0
slave_address function_code bit_start_addr bit_count a
STRUC
BYTE
BYTE
WORD
INT
ARRAY [1…1194]
BYTE
END_STRUCT
B#16#01
B#16#01
W#16#0000
16
Modbus slave "1" z FC 1
(Odczyt stanu cewek)
Jako Modbus start adres
0
Odczyt 16 bitów (1 word)
Generowanie żądania Modbus master
Generowanie żądania Modbus master odbywa się poprzez ustawienie flagi F 120.7 TRUE w tabeli VAT.
Opis bloku DB 100
Na końcu Modbus slave żądane dane są dostępne poprzez wywołanie FB 81 (S_MODB).
Adresy używane w ramce danych Modbus master są przechowywane w skonfigurowanym bloku danych konwersji DB (DB 100) w obszarze przechowywania danych w SIMATIC następująco:
Adres Nazwa Typ Wartość początkowa Komentarz
0.0
+0.0
+2.0
+4.0
+6.0
+8.0
+10.0
+12.0
+14.0
+16.0
+18.0
+20.0
STRUCT
FC01_MOD_STRT_ADR_1 WORD
FC01_MOD_END_ADR_1
FC01_CNV_TO_FLAG_A
WORD
WORD
FC01_MOD_STRT_ADR_2 WORD
FC01_MOD_END_ADR_2 WORD
FC01_CNV_TO_OUTPUT WORD
FC01_MOD_STRT_ADR_3 WORD
FC01_MOD_END_ADR_3
FC01_CNV_TO_TIMER
WORD
WORD
FC01_MOD_STRT_ADR_4 WORD
FC01_MOD_END_ADR_4 WORD
W#16#0
W#16#0FF
W#16#0
W#16#100
W#16#1FF
W#16#0
W#16#200
W#16#2FF
W#16#0
W#16#300
W#16#3FF
Mapowanie adresów
Modbus 0 do 255 do obszaru flag SIMATIC od 0
118
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.2 Skrócona instrukcja uruchamiania modułu interfejsu szeregowego
Adres Nazwa Typ Wartość początkowa Komentarz
+22.0
+24.0
+26.0
+28.0
+30.0
+32.0
+34.0
+36.0
+38.0
+40.0
+42.0
+44.0
+46.0
FC01_CNV_TO_COUNTER WORD
FC02_MOD_STRT_ADR_5 WORD
FC02_MOD_END_ADR_5 WORD
FC02_CNV_TO_FLAG_B WORD
FC02_MOD_STRT_ADR_6 WORD
FC02_MOD_END_ADR_6 WORD
FC02_CNV_TO_INPUT WORD
FC03_06_16_DB_NO
FC04_DB_NO
DB_MIN
DB_MAX
WORD
WORD
WORD
WORD
FLAG_MIN
FLAG_MAX
WORD
WORD
W#16#0
W#16#0
W#16#0FF
W#16#0
W#16#100
W#16#2FF
W#16#0
W#16#02A
W#16#02A
W#16#02A
W#16#02A
W#16#0
W#16#0FF
Odblokowanie obszaru flag 0 do
255
+48.0
+50.0
=52.0
OUTPUT_MIN
OUTPUT_MAX
WORD
WORD
END_STRUCT
W#16#0
W#16#0FF
W tym specyficznym przykładzie, adresy Modbus od 0 do 255 (żądane za pomocą FC 1) są mapowane do obszaru flag SIMATIC od 0 poprzez adresy 0 do 4 w DB 100.
Po adresach 44 i 46 w bloku DB 100, obszar flag SIMATIC od 0 do 255 jest dostępny dla żądań
Modbus master.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 119
Modbus/USS
3.3 Diagramy połączeń zacisków
3.3
Diagramy połączeń zacisków
3.3.1
Przeznaczenie zacisków
Zasady podłączania
Kable (zaciski 1 do 8) muszą być ekranowane i ekran musi być podłączony na obu końcach.
W tym celu należy użyć ekranowanych styków. Informacje dotyczące tym styków można znaleźć w rozdziale Akcesoria (Accessories) w instrukcji zatytułowanej ET 200S Distributed I/O
System.
Przeznaczenie zacisków dla komunikacji RS 232C
Można użyć systemu podrzędnego (slave) do zestawienia połączenia punkt-punkt. Nie są obsługiwane kanały wsteczne interfejsu RS 232C.
Tabela poniżej przedstawia przeznaczenie zacisków dla modułu interfejsu szeregowego
ET 200S Modbus/USS gdy jest ustawiony protokół komunikacyjny RS 232C.
Tabela 3-3 Przeznaczenie zacisków dla komunikacji RS 232C
Widok Uwagi
Tryb: Full duplex
Zaciski
1 TXD Transmitted data
5 RXD Received data
2 RTS Request to send
6 CTS Clear to send
3 DTR Data terminal ready
7 DSR Data set ready
4 DCD Data carrier detected
8 PE Ground
120
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.3 Diagramy połączeń zacisków
Przeznaczenie zacisków dla komunikacji RS 422
Można użyć systemu podrzędnego (slave) do zestawienia połączenia punkt-punkt.
Tabela poniżej przedstawia przeznaczenie zacisków dla modułu interfejsu szeregowego ET
200S Modbus/USS gdy jest ustawiony protokół komunikacyjny RS 422.
Tabela 3-4
Widok
Przeznaczenie zacisków dla komunikacji RS 422
Przeznaczenie zacisków
Uwaga: W przypadku kabli dłuższych niż 50 m, podłączyć rezystor terminujący około 330Ω dla niezakłóconej wymiany danych
Uwagi
2
6
8
1
5
Tryb: Full duplex
Zaciski
TXD (A)-
RXD (A)-
TXD (B) +
RXD (B) +
PE ground
Przeznaczenie zacisków dla komunikacji RS 485
Można użyć systemu nadrzędnego (master) do zestawienia połączenia multi-endpoint (sieć) zawierającego do 32 slave'ów. Sterownik modułu przełącza 2-przewodową linię odbierania pomiędzy wysyłaniem i odbieraniem.
Tabela poniżej przedstawia przeznaczenie zacisków dla modułu interfejsu szeregowego ET
200S Modbus/USS gdy jest ustawiony protokół komunikacyjny RS 485.
Tabela 3-5
Widok
Przeznaczenie zacisków dla komunikacji RS 485
Przeznaczenie zacisków
Uwaga: W przypadku kabli dłuższych niż 50 m, podłączyć rezystor terminujący około 330Ω dla niezakłóconej wymiany danych
Uwagi
1
2
8
Tryb: Full duplex
Zaciski
R/T (A) -
R/T (B) +
PE ground
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 121
Modbus/USS
3.3 Diagramy połączeń zacisków
Przyporządkowanie końcówek 9-pinowej wtyczki kabla połączeniowego RS 232C
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 232C dla połączenia punkt-punkt pomiędzy modułem a urządzeniem podrzędnym (slave) komunikacji z gniazdem połączeniowym 9-pinowym typu D.
● Na końcu ET 200S, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie urządzenia podrzędnego należy zastosować 9-pinową wtyczkę sub D.
Moduł Master Slave komunikacji z gniazdem 9-pinowym
122
(uziemienie)
Typ kabla
Połączenie ekranu
Rysunek 3-2
Ekran obudowy
(Belden 8104 lub odpowiednik)
Kabel połączeniowy RS 232C dla 9-pinowej wtyczki (1 master, 1 slave system)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.3 Diagramy połączeń zacisków
Przyporządkowanie końcówek 25-pinowej wtyczki kabla połączeniowego RS 232C
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 232C dla połączenia punkt-punkt pomiędzy modułem a urządzeniem podrzędnym (slave) komunikacji z gniazdem połączeniowym 25-pinowym typu D.
● Na końcu ET 200S, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie urządzenia podrzędnego należy zastosować 25-pinową wtyczkę sub D.
Moduł Master
Slave komunikacji z gniazdem 15-pinowym
(uziemienie)
Typ kabla
(Belden 8104 lub odpowiednik)
Ekran obudowy
Połączenie ekranu
Rysunek 3-3 Kabel połączeniowy RS 232C dla 25-pinowej wtyczki (1 master, 1 slave system)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 123
Modbus/USS
3.3 Diagramy połączeń zacisków
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 422
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 422 pomiędzy modułem a urządzeniem podrzędnym (slave) komunikacji z gniazdem połączeniowym 15-pinowym typu
D.
● Na końcu ET 200S, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie urządzenia podrzędnego należy zastosować 15-pinową wtyczkę sub D.
moduł interfejsu szeregowego
Slave komunikacji z gniazdem 15-pinowym
Stacja nadawcza
Stacja odbiorcza
Stacja odbiorcza
Stacja nadawcza
Ekran
Typ kabla
Ekran obudowy
(Belden 8103 lub odpowiednik)
Połączenie ekranu
Rysunek 3-4 skręcone pary
Kabel połączeniowy RS 422 dla 15-pinowej wtyczki (1 master, 1 slave system)
●
●
●
Uwaga
Jeżeli kable przekraczają długość 50 m należy podłączyć rezystor terminujący o wartości około
330 Ω przedstawiony na rysunku powyżej, aby zapewnić niezakłóconą transmisję danych.
Przy prędkości 38 400 baud maksymalna długość dla tego typu kabla wynosi 1 200 m.
Maks. 1200 m przy 19 200 baud
Maks. 500 m przy 38 400 baud
Maks. 250 m przy 76 800 baud
124
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.3 Diagramy połączeń zacisków
Przyporządkowanie końcówek 15-pinowej wtyczki kabla połączeniowego RS 485
Rysunek poniższy przedstawia połączenia kabla połączeniowego RS 485 pomiędzy modułem a urządzeniem podrzędnym (slave) komunikacji z gniazdem połączeniowym 15-pinowym typu D.
● Na końcu ET 200S, przewody sygnałowe są podłączone do odpowiednio ponumerowanych końcówek.
● Po stronie urządzenia podrzędnego należy zastosować 15-pinową wtyczkę sub D.
moduł interfejsu szeregowego
Slave komunikacji z gniazdem 15-pinowym
Stacja nadawcza
Stacja nadawcza
Stacja odbiorcza
Stacja odbiorcza
Ekran
Typ kabla
Ekran obudowy
(Belden 8102 lub odpowiednik)
Połączenie ekranu
Rysunek 3-5 skręcone pary
Kabel połączeniowy RS 485 dla 15-pinowej wtyczki (1 master, 1 slave system)
●
●
●
Uwaga
Jeżeli kable przekraczają długość 50 m należy podłączyć rezystor terminujący o wartości około
330 Ω przedstawiony na rysunku powyżej, aby zapewnić niezakłóconą transmisję danych.
Przy prędkości 38 400 baud maksymalna długość dla tego typu kabla wynosi 1 200 m.
● Maks. 1200 m przy 19 200 baud
Maks. 500 m przy 38 400 baud
Maks. 250 m przy 76 800 baud
Maks. 200 m przy 115 200 baud
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 125
Modbus/USS
3.3 Diagramy połączeń zacisków
3.3.2
Interfejs RS-232C
Właściwości interfejsu RS 232C
Interfejs RS 232C jest interfejsem napięciowym używanym do szeregowej transmisji danych zgodnie ze standardem RS 232C. Tabela zawiera właściwości RS 232C.
Tabela 3-6 Sygnały interfejsu RS 232C
Właściwość Opis
Typ
Gniazdo przednie
Sygnały RS 232C
Interfejs napięciowy
8-pin standardowe gniazdo ET 200S
TXD, RXD, RTS, CTS, DTR, DSR, DCD, GND
Prędkość transmisji
Długość kabla
Do 115.2 Kbaud
Do 15 m, typ kabla LIYCY 7 x 0.14
Odpowiadające standardy: DIN 66020, DIN 66259, EIA RS 232C, CCITT V.24/V.28
Stopień ochrony: IP20
Sygnały RS 232C
Moduł Modbus/USS obsługuje sygnały RS 232C.
Tabela 3-7
Sygnał
TXD
RXD
RTS
CTS
DTR
DSR
DCD
Sygnały interfejsu RS 232C
Opis
Transmitted data
Received data
Request to send
Znaczenie
Linia transmisji jest utrzymywana "1" w stanie spoczynku.
Linia odbioru musi być utrzymywana przez partnera komunikacji logiczną "1".
ON: Moduł gotowy do wysyłania.
OFF: Moduł nie jest w trybie wysyłania.
Clear to send
Data terminal ready
Data set ready
Data carrier detected
Partner komunikacji może odbierać dane od ET 200S.
Interfejs szeregowy modułu oczekuje tego jako odpowiedzi na RTS = ON.
ON: Moduł jest włączony i gotowy do pracy.
OFF: Moduł nie jest włączony i nie jest gotowy do pracy.
ON: Partner komunikacji jest włączony i gotowy do pracy.
OFF:Partner komunikacji nie jest włączony i nie jest gotowy do pracy.
Sygnał nośnej na połączeniu z modemem.
126
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.3 Diagramy połączeń zacisków
Automatyczne sterowanie sygnałami towarzyszącymi
Automatyczne sterowanie sygnałami towarzyszącymi RS 232C jest zaimplementowane w module w następujący sposób:
● Tak długo jak moduł jest skonfigurowany do pracy w trybie z automatycznym sterowaniem sygnałami towarzyszącymi RS 232C ustawia linię RTS na OFF i linię DTR na ON (moduł gotowy do pracy).
Zapobiega to przesyłaniu ramek danych dopóki linia DTR nie jest ustawiona na ON. Dane nie są odbierane przez interfejs RS 232C tak długo jak DTR = OFF. Każde żądanie wysyłania będzie anulowane z odpowiednim komunikatem błędu.
● Gdy żądanie wysyłania jest w kolejce to moduł ustawia RTS=ON i uruchamia odliczanie skonfigurowanego czasu oczekiwania na wyprowadzanie danych (data output wait time).
Po upłynięciu czasu wyprowadzania danych i gdy CTS = ON dane są wysyłane przez interfejs RS 232C.
● Jeżeli linia CTS nie jest ustawiona na ON w ciągu czasu wyprowadzania danych lub jeżeli
CTS zmienia się na OFF podczas wysyłania to moduł anuluje żądanie wysyłania i generuje odpowiedni komunikat błędu.
● Gdy tylko dane zostaną wysłane i skonfigurowany czas kasowania RTS upłynął to linia
RTS jest ustawiona na OFF. ET 200S 1SI nie czeka aż CTS zmieni się na OFF.
● Dane mogą być odbierane poprzez interfejs RS 232C tak długo jaka długo linia DSR=ON.
Jeżeli bufor odbioru w module ET 200S 1SI jest bliski przepełnienia to moduł nie będzie odpowiadał.
● Jeżeli DSR zmienia się z ON na OFF to aktywne żądanie wysyłania lub odbieranie danych będzie anulowane z komunikatem błędu.
Uwaga
Automatyczne sterowanie sygnałami towarzyszącymi RS 232C jest możliwe w trybie halfduplex.
Uwaga
Czas "time to RTS OFF" musi być ustawiony w interfejsie parametryzacji tak aby partner komunikacji mógł odbierać ostatnie znaki ramki danych w całości zanim RTS (a więc zadanie wysyłania) jest anulowany. Czas "data output wait time" musi być ustawiony tak aby partner komunikacji był gotowy do odbierania zanim czas upłynie.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 127
Modbus/USS
3.3 Diagramy połączeń zacisków
Diagram czasowy dla sygnałów towarzyszących
Rysunek poniżej ilustruje chronologiczną sekwencję zadania wysyłania:
Żądanie wysyłania:
Partner:
Upłynął czas oczekiwania na wyjście danych: → Wysyłanie
Wysyłanie zakończone
Upłynął czas kasowania RTS
Partner:
Rysunek 3-6
Czas oczekiwania na wyjście danych Czas kasowania RTS
Diagram czasowy dla automatycznego sterowania sygnałami towarzyszącymi RS 232C
3.3.3
Interfejs RS-422/485
Właściwości interfejsu RS 422/485
Interfejs RS 422/485 jest interfejsem różnicowym, napięciowym używanym do szeregowej transmisji danych zgodnie ze standardem RS 422/485. Tabela zawiera właściwości RS 422/485.
Tabela 3-8 Właściwości interfejsu RS 422/485
Właściwość Opis
Typ
Gniazdo przednie
Sygnały RS 422
Sygnały RS 485
Prędkość transmisji
Różnicowy interfejs napięciowy
8-pin standardowe gniazdo ET 200S
TXD (A)-, RXD (A)-, TXD (B)+, RXD (B)+, GND
R/T (A)-, R/T (B)+, GND
Do 115.2 Kbaud
Długość kabla Do 1,200 m, typ kabla LIYCY 7 x 0.14
Odpowiadające standardy: EIA RS 422/485, CCITT V.11/V.27
Stopień ochrony: IP20
128
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.4 Protokół transmisji Modbus
3.4
Protokół transmisji Modbus
3.4.1
Właściwości i struktura ramki danych
Właściwości
Procedura dla transmisji Modbus jest procedurą o jawnym kodzie, asynchroniczną half-duplex.
Dane są transmitowane bez uzgadniania (handshake).
Moduł inicjuje transmisję (jako master). Po wysłaniu ramki danych zadania moduł oczekuje przez czas monitorowania odpowiedzi na ramkę danych odpowiedzi z urządzenia podrzędnego
(slave).
Struktura komunikatu
Wymiana danych "Master-Slave" i/lub "Slave-Master" rozpoczyna się od adresu urządzenia podrzędnego - Slave Address i jest poprzedzona przez kod funkcji - Function Code. Następnie są przesyłane dane. Wymiana danych "Master-Slave" i/lub "Slave-Master" posiada następujące elementy:
SLAVE ADDRESS
FUNCTION CODE
Adres urządzenia podrzędnego Modbus (Modbus Slave Address)
Kod funkcji Modbus (Modbus function code)
Data Dane ramki danych
(Message frame data: Byte_Count, Coil_Number, Data)
Suma kontrolna ramki (Message Frame Checksum) CRC CHECK
Struktura pola danych zależy od użytego kodu funkcji. Sprawdzenie CRC jest transmitowane na końcu ramki. Tabela zawiera komponenty struktury ramki danych.
Tabela 3-9
Adres
Bajt
Struktura komunikatu
Funkcja
Bajt
Dane (Data) n Bajt
CRC CHECK
2 Bajty
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 129
Modbus/USS
3.4 Protokół transmisji Modbus
Adres urządzenia podrzędnego (slave address) 3.4.2
Opis
Adres urządzenia slave może być ustawiony z zakresu 1 do 247. Adres jest używany do zaadresowania zdefiniowanego urządzenia slave w magistrali.
Ramka danych transmisji
Urządzenie master używa adresu urządzenia slave 0 aby zaadresować wszystkie urządzenia slave w magistrali.
Uwaga
Ramka danych transmisji jest dozwolona tylko w połączeniu z kodami funkcji 05, 06, 15 i/lub 16.
Ramka danych transmisji nie jest poprzedzona ramką odpowiedzi z urządzenia slave.
3.4.3
Kody funkcji urządzeń master i slave
Kody funkcji urządzeń master i slave
Kody funkcji definiują znaczenie i strukturę ramki danych. Tabela poniżej zawiera listę kodów funkcji i ich dostępność dla urządzeń master i slave.
Tabela 3-10
Kod fukcji
(Function code)
06
07
08
11
12
15
16
01
02
03
04
05
Kody funkcji master i slave
Opis
Odczyt stanu cewek
Odczyt stanu wejść
Odczyt rejestrów pamięci
Odczyt rejestrów wejściowych
Forsowanie jednej cewki
Ustawianie jednego rejestru
Odczyt statusu
Test pętli zwrotnej
Pobieranie licznika zdarzeń komunikacji
Pobieranie logu zdarzeń komunikacji
Forsowanie kilku cewek
Ustawianie kilku rejestrów
Master
√
√
√
√
√
√
√
√
√
√
√
√
Slave
√
-
√
-
-
√
√
√
√
√
√
√
130
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.4 Protokół transmisji Modbus
3.4.4
Opis
Pole danych DATA
Pole danych DATA jest używane do przesyłania następujących danych charakterystycznych dla kodów funkcji:
● Liczba bajtów
● Adres początkowy cewek
● Adres początkowy rejestru
● Liczba cewek
● Liczba rejestrów
Koniec ramki i sprawdzenie sumy kontrolnej (CRC Check) 3.4.5
Opis
Koniec ramki danych jest formowany przez 16-bitową sumę kontrolną CRC składającą się z 2 bajtów. Jest obliczana na podstawie następującego wielomianu: x 16 + x 15 + x 2 + 1
Młodszy bajt jest przesyłany pierwszy, następnie starszy bajt.
Wykrywanie końca ramki danych
Jeżeli w ciągu czasu wymaganego do przesłania trzech i pół znaków (3,5 razy czas opóźnienia znaku) nic nie jest przesyłane to moduł Modbus/USS interpretuje to jako koniec ramki danych.
Limit czasu (timeout) końca ramki danych zależy od prędkości transmisji.
Po upłynięciu timeoutu końca ramki danych ramka danych odebrana od urządzenia slave jest oceniana i jest sprawdzany jej format.
Tabela 3-11 Koniec ramki danych
Prędkość
115 200 bps
76 800 bps
57 600 bps
38 400 bps
19 200 bps
9 600 bps
4 800 bps
2 400 bps
1 200 bps
600 bps
300 bps
115 bps
Timeout
1 ms
1 ms
1 ms
1 ms
2 ms
4 ms
8 ms
16 ms
32 ms
65 ms
130 ms
364 ms
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 131
Modbus/USS
3.4 Protokół transmisji Modbus
3.4.6
Wyjątki odpowiedzi
Ramka danych odpowiedzi w przypadku błędu
Jeżeli urządzenie slave wykryje błąd w ramce danych urządzenia master (na przykład błędny adres rejestru) to wykonuje ono następujące operacje:
● Urządzenie slave ustawia bardziej znaczący bit w kodzie funkcji ramki danych odpowiedzi.
● Urządzenie wysyła jedno-bajtowy kod błędu (kod wyjątku) wskazujący przyczynę błędu.
Przykład: Kod wyjątku ramki danych
Kod błędu ramki danych odpowiedzi może posiadać następującą strukturę, na przykład: adres urządzenia slave 5, kod funkcji 5, kod wyjątku 2.
Ramka danych odpowiedzi z urządzenia slave
EXCEPTION_CODE_xx
05H
85H
02H xxH xxH
Adres urządzenia slave
Kod funkcji
Kod wyjątku (1 do 7)
Kod CRC "Low"
Kod CRC "High"
Gdy kod błędu rami danych odpowiedzi jest odbierany ze sterownika to bieżące zadanie jest zakończone z błędem.
Dodatkowo do obszaru SYSTAT jest wpisywany numer błędu odpowiadający odebranemu kodowi błędu (kod wyjątku 1 - 7).
W bloku danych S_RCV nie jest wykonywany żaden wpis.
Tabela kodów błędów
Tabela poniżej zawiera listę kodów błędów, które są wysyłane przez moduł.
Tabela 3-12 Kody błędu
Kody wyjątów
(Exception code)
01
02
Opis Możliwe przyczyny
03
04
Niedozwolona funkcja Odebrano niedozwolony kod funkcji.
Niedozwolony adres danych
Dostęp do obszaru SIMATIC nie jest odblokowany (patrz tabela konwersji danych Modbus)
Niedozwolona wartość danych
Awaria powiązanego urządzenia
Długość większa niż 2 040 bitów lub 127 rejestrów; pole danych nie FF00 lub 0000 dla FC 05; podkod diagnostyczny
<> 0000 dla FC 08.
Inicjalizacja poprzez blok FB komunikacji Modbus nie została jeszcze przeprowadzona lub blok FB zgłasza błąd.
Błąd transmisji danych pomiędzy modułem a CPU
(przykład: Brak DB; przekroczona maksymalna, transmitowalna długość danych (rozmiar bloku CPU <-> moduł).
132
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5
Sterownik Modbus Master
3.5.1
Stosowanie sterownika Modbus Master
Przeznaczenie
Sterownik ET 200S Modbus może być użyty w systemie automatyki S7 i można zestawiać połączenia komunikacji szeregowej do systemów partnerskich.
Sterownik jest używany do ustawiania połączeń komunikacyjnych pomiędzy sterownikiem
ET 200S Modbus master i systemami sterowania obsługującymi protokół Modbus.
Sekwencja transmisji
Protokół Modbus jest używany do transmisji w formacie RTU. Dane są transmitowane wg zasady master-slave.
Master inicjuje transmisję.
Następujące kody funkcji 01, 02, 03, 04, 05, 06, 07, 08, 11, 12, 15 i 16 mogą być użyte przez urządzenie Modbus master.
Dostępne interfejsy i protokoły
W module można używać obu interfejsów RS-232 lub RS-422/485 (X27).
Z tym sterownikiem jest możliwe stosowanie interfejsu RS-422/485 w postaci 2-przewodowej i 4-przewodowej. W pracy 2-przewodowej można podłączyć aż 32 slave'y do jednego mastera w trybie half-duplex. Tworzy to połączenie wielopunktowe (multi-point) (sieć). W pracy 4przewodowej (RS-422) możne być tylko 1 master i 1 slave w trybie half-duplex.
3.5.2
Transmisja danych w ET 200S Modbus master
Wprowadzenie
Dane są przesyłane pomiędzy modułem a CPU za pomocą bloków FB S_SEND i S_RCV.
S_SEND FB jest aktywowany przez narastające zbocze na wejściu REQ gdy dane będą wysyłane. S_RCV FB jest gotowy do odbierania z EN_R=1. Blok S_RCV jest wymagany dla wszystkich odczytujących kodów funkcji.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 133
Modbus/USS
3.5 Sterownik Modbus Master
FB 3 S_SEND: Wysyłanie danych do partnera komunikacji
Bloki FB S_SEND i S_RCV muszą być aktywowane w celu wykonania żądania Modbus master.
Blok FB S_SEND FB jest aktywowany zboczem na wejściu REQ gdy dane będą wysyłane do modułu. Blok FB S_RCV FB jest gotowy do odbierania danych z modułu gdy EN_R=1. S_RCV jest wymagany dla wszystkich odczytujących kodów funkcji. Rysunek poniżej przedstawia ogólne zachowanie parametrów S_SEND i S_RCV gdy jest wykonywane żądanie Modbus.
Dane do slave
Dane ze slave
134
Rysunek 3-7
Udana odpowiedź ze slave
Diagram czasowy dla żądania Modbus
Brak odpowiedzi ze slave
Transmisja danych jest inicjowana przez narastające zbocze na wejściu REQ. W zależności od ilości danych, dane mogą być przesyłane przez kilka wywołań (cykli programu).
Blok FB S_SEND FB może być wywoływany cyklicznie przez ustawienie stanu sygnału parametru wejściowego R na "1". Anuluje to transmisję do modułu i resetuje blok FB S_SEND do jego stanu początkowego. Dane, które zostały już odebrane przez moduł są ciągle dostępne dla partnera komunikacji. Jeżeli stan sygnału pozostaje statyczną "1" na wejściu R to wysyłanie zostanie deaktywowane.
Adres modułu interfejsu szeregowego ET 200S Modbus/USS jest określony przez parametr
LADDR.
Wyjście DONE przedstawia "żądanie zakończone bez błędów" ("request completed without errors"). ERROR informuje czy wystąpił błąd. Jeżeli wystąpił błąd odpowiedni numer zdarzenia jest wyświetlany w STATUS. Jeżeli błąd nie wystąpił to STATUS posiada wartość 0. DONE i
ERROR/STATUS są także wyjściami dla RESET bloku FB S_SEND. Wynika binarny jest resetowany jeżeli wystąpił błąd. Jeżeli blok jest zakończony bez błędów to wynik binarny posiada stan "1".
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
Żądanie odczytu Modbus master
Gdy interfejs pomiędzy programem użytkownika a modułem interfejsu pracuje w trybie halfduplex należy przestrzegać następujących rzeczy:
Po pozytywnym potwierdzeniu żądania odczytu Modbus master należy pobrać odebrane dane z modułu interfejsu przez wywołanie bloku funkcyjnego S_RCV zanim uruchomi się nowe żądanie wysyłania Modbus master.
Uruchomienie
Parametr COM_RST bloku FB S_SEND informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S Modbus/USS (liczba bajtów w obszarze
I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie wcześniej uruchomione (przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S Modbus/USS resetuje parametr COM_RST sam.
Tabela poniżej zawiera reprezentację bloku FB 3 S_SEND w STL i LAD.
Uwaga
Wejście REQ jest przełączane zboczem. Narastające zbocze na wejściu REQ jest wystarczające. Wynik operacji logicznej podczas transferu nie musi być "1".
Uwaga
Wejście EN_R musi być ustawiony statycznie na "1". Parametr EN_R musi mieć podczas całego żądania odbierania podłączony wynik operacji logicznej równy "1".
Uwaga
Blok funkcyjny S_SEND nie posiada sprawdzania parametrów. W wypadku błędnych parametrów CPU przełącza się w tryb STOP.
Mechanizm uruchamiania ET 200S-CPU dla bloku FB S_SEND musi zostać zakończony zanim zainicjowane żądanie może być przetwarzane po przejściu CPU z STOP w RUN. Dowolne żądania inicjowane w międzyczasie nie będą utracone. Są transmitowane do modułu natychmiast po zakończeniu uruchamiania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 135
Modbus/USS
3.5 Sterownik Modbus Master
Wywołanie FB 3
Tabela poniżej zawiera reprezentację bloku FB 3 S_SEND w STL i LAD.
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Przypisanie w obszarze danych
Blok FB S_SEND pracuje razem z blokiem danych lokalnych I_SEND (instance DB). Numer bloku DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1E0F można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
136
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
Parametry FB 3 S_SEND
Tabela zawiera listę parametrów S_SEND (FB 3).
Tabela 3-13 Parametry FB 3: S_SEND
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi
REQ INPUT BOOL Inicjuje żądanie zboczem narastającym
Anuluje żądania R
LADDR
DB_NO
DBB_NO
INPUT
INPUT
INPUT
INPUT
BOOL
INT
INT
INT
Adres startowy interfejsu szeregowego ET 200S
Numer bloku danych
Numer bajtu danych
Anuluje żądanie w toku.
Wysyłanie jest blokowane.
Adres startowy pobrany ze
STEP 7.
Numer wysyłanego bloku: charakterystyczny dla CPU, (zero nie jest dozwolone).
0 ≤ DBB_NO ≤ 8190
Dane wysyłane przez słowa danych
LEN INPUT INT Ilość danych 1 ≤ LEN ≤ 224, określana jako liczba bajtów
Parametr STATUS == 16#00 DONE 1
ERROR
STATUS
1
1
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
WORD
Żądanie zakończone bez błędów
Żądanie zakończone z błędem
Specyfikacja błędu
Informacja o błędzie jest zapisywana do parametru
STATUS.
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Te parametry dostępne dla jednego cyklu CPU po udanym żądaniu wysyłania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 137
Modbus/USS
3.5 Sterownik Modbus Master
Diagram czasowy dla bloku FB 3 S_SEND
Poniższy rysunek ilustruje zachowanie parametrów DONE i ERROR w zależności od tego jak są podłączone wejścia REQ i R.
Rysunek 3-8 Diagram czasowy dla bloku FB3 S_SEND
Uwaga
Wejście REQ jest przełączane zboczem. Zbocze narastające na wejściu REQ jest wystarczające. Wynik operacji logicznej nie może być "1" podczas transferu.
FB 2 S_RCV: Dane odbierane od partnera komunikacji
Blok FB S_RCV transmituje dane z modułu do obszaru danych S7, określonego przez parametry DB_NO, DBB_NO. Do celów transmisji danych blok funkcyjny FB S_RCV jest wywoływany cyklicznie lub alternatywnie, statycznie w programie czasowym (bez warunków).
Stan (statyczny) "1" parametru EN_R umożliwia sprawdzenie czy dane mogą być odczytywane z interfejsu szeregowego. Aktywna transmisja może być anulowana za pomocą stanu "0" parametru EN_R. Anulowane żądanie odbioru jest zakończone z komunikatem błędu (wyjście
STATUS). Obieranie jest zablokowane tak długo jak długo stan sygnału EN_R jest równy "0".
Dane mogą być przesyłane przez kilka wywołań (cykli programu) w zależności od ilości danych.
138
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
Jeżeli blok funkcyjny wykrywa stan "1" parametru R to bieżące żądanie transmisji jest anulowane i blok FB S_RCV jest resetowany do stanu początkowego. Odbieranie jest zablokowane tak długo jak długo stan parametru R wynosi "1". Jeżeli stan sygnału powróci do
"0" to anulowana ramka danych jest ponownie odbierana od początku.
Adres modułu interfejsu szeregowego ET 200S Modbus/USS jest określony przez parametr
LADDR.
Wyjście NDR sygnalizuje "żądanie zakończone bez błędów/dane aktywowane" ("Request completed without errors/data activated") (wszystkie dane odczytane). Wyjście ERROR sygnalizuje czy wystąpił błąd. W przypadku błędu, na wyjściu STATUS jest wyświetlany numer błędu jeżeli bufor odbierania jest zajęty więcej niż w 2/3 swojej pojemności. Jeżeli ERROR nie jest ustawiony to STATUS będzie zawierał ostrzeżenie po każdym wywołaniu S_RCV. Jeżeli nie wystąpią błędy lub ostrzeżenia to STATUS posiada wartość "0".
NDR i ERROR/STATUS są również wyjściem gdy jest resetowany RESET bloku FB S_RCV
(parametr LEN == 16#00). Jeżeli wystąpił błąd to wynik binarny BR jest resetowany. Jeżeli blok został zakończony bez błędów wynik binarny posiada stan "1".
Uruchamianie
Parametr COM_RST bloku FB S_RCV informuje o uruchamianiu.
Należy ustawić parametr COM_RST podczas uruchamiania OB na 1.
Należy wywoływać blok FB cyklicznie bez setowania lub resetowania parametru COM_RST.
Jeżeli parametr COM_RST jest ustawiony:
● Blok FB uzyskuje informacje o module ET 200S Modbus/USS (liczba bajtów w obszarze
I/O, tak lub nie w rozproszonych I/O).
● Blok FB resetuje i kończy dowolne żądanie, które mogło być wcześniej uruchomione
(przed ostatnim przejściem CPU w STOP).
Gdy blok FB uzyskał informacje o module ET 200S Modbus/USS resetuje parametr COM_RST.
Uwaga
Blok funkcyjny S_RCV nie posiada sprawdzania parametrów. W wypadku błędnych parametrów
CPU może przełączyć się w tryb STOP.
Mechanizm uruchamiania ET 200S-CPU dla bloku FB S_RCV musi zostać zakończony zanim żądanie może być odebrane po przejściu CPU z STOP w RUN.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 139
Modbus/USS
3.5 Sterownik Modbus Master
Tabela poniżej zawiera reprezentację bloku FB 2 S_RCV w STL i LAD.
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Przypisanie w obszarze danych
Blok FB S_RCV pracuje razem z blokiem danych lokalnych I_RCV (instance DB). Numer bloku
DB jest wprowadzany podczas wywołania. Dane w bloku danych lokalnych DB nie są dostępne.
Tabela zawiera listę parametrów FB 2 S_RCV.
Uwaga
Wyjątek: Jeżeli wystąpi błąd STATUS == W#16#1E0D można sprawdzić zmienną SFCERR w celu uzyskania dodatkowych informacji. Ta zmienna błędu może być załadowana do bloku DB danych lokalnych tylko za pomocą wywołania symbolicznego.
140
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
Nazwa Typ Typ danych Opis Dopuszczalne wartości, uwagi
EN_R INPUT BOOL Odblokowanie odczytu danych
Anulowanie żądania R
LADDR
DB_NO
DBB_NO
INPUT
INPUT
INPUT
INPUT
BOOL
INT
INT
INT
Adres startowy interfejsu szeregowego ET 200S
Numer bloku danych
Numer bajtu danych
Anuluje żądanie w toku.
Odbieranie jest blokowane.
Adres startowy pobrany ze
STEP 7.
Numer bloku danych odbierania: charakterystyczny dla CPU, zero nie jest dozwolone
0 ≤ DBB_NO ≤ 8190
Dane odbierane przez słowa danych
Parametr STATUS == 16#00 NDR 1
ERROR
LEN 1
STATUS
1
1
OUTPUT
OUTPUT
OUTPUT
OUTPUT
BOOL
BOOL
INT
WORD
Żądanie zakończone bez błędów, dane zaakceptowane
Żądanie zakończone z błędem
Długość odebranej ramki danych
Specyfikacja błędu
Informacja o błędzie jest zapisywana do parametru
STATUS.
1 ≤ LEN ≤ 224, określana jako liczba bajtów
Jeżeli ERROR == 1 to parametr
STATUS będzie zawierał informacje o błędzie.
COM_RST IN_OUT BOOL Restart bloku FB
1 Te parametry dostępne dla jednego cyklu CPU po udanym żądaniu wysyłania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 141
Modbus/USS
3.5 Sterownik Modbus Master
Diagram czasowy dla bloku FB 2 S_RCV
Poniższy rysunek ilustruje zachowanie parametrów NDR, LEN i ERROR w zależności od tego jak są podłączone wejścia EN_R i R.
(długość)
Rysunek 3-9 Diagram czasowy dla bloku FB 2 S_RCV
Uwaga
Wejście EN_R musi być ustawione na statyczną "1". Parametr EN_R musi mieć podczas całego żądania odbierania podłączony wynik operacji logicznej równy "1".
142
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.3
Konfigurowanie i ustawianie parametrów Modbus Master
Konfigurowanie modułu Modbus
Aby skomunikować się z modułem poprzez sieć PROFIBUS używając S7 master trzeba użyć konfiguracji sprzętu STEP 7 do ustawienia modułu w sieci PROFIBUS i ustawienia jego parametrów komunikacji.
Po wybraniu, w katalogu sprzętu, Modbus master i dodaniu go do modułu bazowego ET 200S w konfiguracji sieci, numer zamówieniowy, numer slotu i adresy wejść i wyjść są automatycznie przesłane do tabeli konfiguracji. Można wtedy wywołać okienko dialogowe właściwości Modbus master i ustawić typ komunikacji i inne parametry.
Parametryzacja sterownika master
Tabela poniżej zawiera listę parametrów, które można ustawić dla sterownika Modbus modułu.
Tabela 3-15 Parametry dla sterownika Modbus master
Parametry
Przerwanie diagnostyczne
(Diagnostics interrupt)
Aktywacja wykrywania przerwy na linii
(Activate BREAK detection)
Typ interfejsu
(Type of interface)
Opis
Określa czy moduł powinien generować przerwanie diagnostyczne w wypadku poważnego błędu.
Jeżeli linii jest przerwana lub kabel interfejsu nie jest podłączony to moduł generuje komunikat błędu "Break".
Określa elektryczny interfejs, który będzie używany.
Zakres wartości
● No
● Yes
● No
● Yes
Domyślna wartość
No
No
Stan początkowy linii odbierania halfduplex i full-duplex
(Half-duplex and fullduplex initial state of the receive line.)
Określa stan początkowy linii odbierania w trybach pracy RS 422 i RS 485. Nie używany w trybie pracy RS 232C.
Ustawienie "Inverted signal levels" jest wymagane tylko jeżeli musi być zapewniona kompatybilność gdy część jest wymieniana.
Sterowanie przepływem danych
(Data flow control)
(z parametrami domyślnymi; zmiana domyślnych wartości w programie użytkownika)
Można wysyłać i odbierać dane ze sterowaniem przepływem danych. Transmisja danych jest synchronizowana za pomocą sterowania przepływem danych jeżeli jeden partner komunikacji pracuje szybciej niż inny.
Wybór typu sterowania przepływem danych i ustawianie odpowiednich parametrów
Uwaga: Sterowanie przepływem danych nie jest możliwe w interfejsie RS 485. Sterowanie przepływem danych z "Automatic control of
V24 signals" jest obsługiwane tyko przez interfejs RS 232C.
● RS 232C
● RS 422 (full duplex)
● RS 485 (half duplex)
RS 422:
R(A) 5 V/R(B) 0 V (BREAK)
R(A) 0 V/R(B) 5 V
Inverted signal level
(Odwrócone poziomy sygnału)
RS 232C
RS 422:
R(A) 5 V/R(B) 0 V
(BREAK)
RS 485:
R(A) 0 V/R (B) 5 V RS 485:
None
R(A) 0 V/R (B) 5 V
● None
● Automatic control of V.24 signals
(Automatyczne sterowanie sygnałami V.24)
None
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 143
Modbus/USS
3.5 Sterownik Modbus Master
Parametry
Prędkość transmisji
(Baud rate)
Bity stopu
(Stop bits)
Parzystość
(Parity)
Opis Zakres wartości
Wybór prędkości transmisji danych w bitach na sekundę.
● 110
● 300
● 600
● 1 200
● 2 400
● 4 800
● 9 600
● 19 200
● 38 400
● 57 600
● 76 800
● 115 200
Wybór liczby bitów stopu, które są podczas transmisji dodawane do każdego znaku aby sygnalizować koniec znaku.
Sekwencja bitów danych może być rozszerzona o jeden znak aby zawrzeć bit parzystości. Dodatkowa wartość (0 lub 1) ustawia wartość wszystkich bitów (bity danych i bity parzystości) na zdefiniowany stan.
None: Dane są wysyłane bez bitu parzystości.
Odd: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość nieparzystą ze stanem sygnału "1".
Even: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość parzystą ze stanem sygnału "1".
● 1
● 2
● None
● Odd
● Even
Czas odpowiedzi
(Response time)
Tryb
(Mode)
Mnożnik czasu opóźnienia znaku
(Character delay time multiplier)
Czyszczenie bufora odczytu interfejsu szeregowego podczas uruchamiania
(Clear serial interface reception buffer on startup)
Czas przeznaczony na odpowiedź ze slave.
Normalna praca ("Normal operation")
Tłumienie zakłóceń ("Noise suppression")
Używa mnożnika czasu opóźnienia znaku od 1
– 10 .
50 ms do 655 000 ms
● Normal
● Noise suppression
1 do 10
Określa czy bufor odbierania interfejsu szeregowego powinien być automatycznie czyszczony gdy CPU przechodzi z trybu pracy
STOP do RUN (uruchamianie CPU). W ten sposób można zapewnić, że bufor odbierania interfejsu szeregowego zawiera tylko ramki danych, które zostały odebrane po uruchomieniu CPU.
● No
● Yes
Domyślna wartość
9600
1
Even
2 000 ms
Normal
1
Yes
144
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
● Full-duplex (RS 422) tryb cztero-przewodowy
W tym trybie pracy, dane są wysyłane przez linię transmitowania T(A), T(B) i odbierane przez linię odbierania R(A), R(B). Rozwiązywanie problemów jest przeprowadzane zgodnie z funkcjonalnością ustawioną za pomocą parametru "Driver operating mode"
(praca normalna lub tłumienie zakłóceń).
● Half-duplex (RS 485) tryb dwu-przewodowy
W tym trybie pracy, sterownik przełącza 2-przewodową linię odbierania interfejsu R(A),
R(B) pomiędzy operacją wysyłania i odbierania. Początek odbieranej ramki danych z urządzenia slave jest wykrywane za pomocą prawidłowo odebranego adresu slave.
W komunikacji punkt-punkt, ustawienie R (A) 0 V, R(B) 5 V jest rekomendowane jako stan początkowy dla linii odbierania.
● Stan początkowy linii odbierania
Ten parametr określa stan początkowy linii odbierania dla trybów RS 422 i RS 485. Nie jest używany w przypadku trybu RS 232C.
– R(A) 5 V, R(B) 0 V (BREAK)
Moduł ustawia stan początkowy dla linii dwu-przewodowej R(A), R(B) następująco:
R(A) --> +5 V, R(B) --> 0 V (V
A
– V
B
= +0.3 V).
Oznacza to, że poziom BREAK występuje w module w przypadku przerwanej linii.
– R(A) 0 V, R(B) 5 V (High)
Moduł ustawia stan początkowy dla linii dwu-przewodowej R(A), R(B) następująco:
R(A) --> 0 V, R(B) --> +5 V (V
A
– V
B
= -0.3 V).
Oznacza to, że poziom HIGH występuje w module w przypadku przerwanej linii (lub w stanie bezczynności jeżeli urządzenie slave nie transmituje). Stan linii BREAK nie może być wykryty.
– None (tylko RS 485)
Stan początkowy linii odbierania jest wyłączany dla trybu połączeń wielo-punktowych.
● Prędkość transmisji
Maksymalna prędkość transmisji jest prędkością transmisji danych w bitach na sekundę
(bps). Maksymalna prędkość transmisji modułu wynosi 38 400 bps w trybie half-duplex.
● Bity danych
Liczba bitów danych opisuje jak dużo bitów znaków jest mapowanych do celów transmisji.
Musi być zawsze ustawionych 8 bitów danych. Zawsze musi być używana 11-bitowa ramka znaku. Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Bity stopu
Liczba bitów stopu definiuje najmniejszy możliwy przedział czasu pomiędzy dwoma znakami, które będą transmitowane. Zawsze musi być używana 11-bitowa ramka znaku.
Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Parzystość
Bit parzystości pomaga zapewnić integralność danych. Zależnie od ustawień uzupełnia liczbę bitów danych transmitowanych tworząc liczbę parzystą lub nieparzystą. Jeżeli została ustawiona parzystość "none" żaden bit parzystości nie jest transmitowany.
Zmniejsza to integralność transmisji. Zawsze musi być używana 11-bitowa ramka znaku.
Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Czas odpowiedzi
Czas monitorowania odpowiedzi jest czasem, podczas którego master czeka na ramkę danych odpowiedzi z urządzenia slave zaraz po wysłaniu ramki danych żądania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 145
Modbus/USS
3.5 Sterownik Modbus Master
● Normalna praca
W tym trybie pracy, wszystkie wykryte błędy transmisji lub przerwy BREAK przed i po odebraniu ramki danych z urządzenia slave skutkują odpowiednim komunikatem błędu.
● Tłumienie zakłóceń
Jeżeli na początku ramki danych zostanie wykryty BREAK na linii odbierania lub jeżeli mikroprocesor modułu interfejsu wykryje błędy transmisji to sterownik traktuje odebrany komunikat jako uszkodzony i ignoruje go. Początek odebranej ramki danych z urządzenia slave jest wykrywany za pomocą poprawnie odebranego adresu slave. Błędy transmisji lub
BREAK są również ignorowane gdy wystąpią po końcu odebranej ramki danych (kod
CRC).
● Mnożnik czasu opóźnienia znaku
Jeżeli partner komunikacji nie może spełnić wymagań czasowych specyfikacji Modbus to istnieje możliwość mnożenia czasu opóźnienia znaku t
ZVZ
przez mnożnik f
MUL
. Czas opóźnienia znaku powinien być skorygowany tylko wtedy, gdy partner komunikacji nie może spełnić wymagań czasowych. Wynikowy czas opóźnienia znaku t
ZVZ
jest obliczany następująco: t
ZVZ
= t
ZVZ _ TAB
* f
MUL
; t
ZVZ_TAB
: Wartość z tabeli dla t
ZVZ f
MUL
: Mnożnik
Uwaga
146
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.4
Kody funkcji używane w Modbus Master
Tabela kodów funkcji
Poniższa tabela zawiera listę kodów funkcji obsługiwanych przez sterownik Modbus master.
06
07
08
11
Tabela 3-16
Kod funkcji
01
02
03
04
05
12
15
16
Parametry dla sterownika Modbus master
Opis Funkcja w SIMATIC S7
Odczyt stanu wyjść
Odczyt stanu wejść
Odczyt rejestrów wyjściowych
Odczyt rejestrów wejściowych
Forsowanie jednej cewki
Odczyt bit po bicie
Odczyt bit po bicie
Odczyt bit po bicie
(16-bitowy przedział)
Odczyt bit po bicie
(16-bitowy przedział)
Flagi F
Wyjścia Q
Timery T
Liczniki C
Odczyt bit po bicie
Odczyt bit po bicie
Flagi F
Wejścia I
Odczyt słowo po słowie Blok danych DB
Odczyt słowo po słowie Blok danych DB
Zapis bit po bicie
Zapis bit po bicie
Flagi F
Wyjścia Q
Ustawianie jednego rejestru
Odczyt statusu
Test pętli zwrotnej
Pobieranie licznika zdarzeń komunikacji
Zapis słowo po słowie Blok danych DB
Odczyt bit po bicie 8-bitowy status
-
Odczyt 2 słów
-
Status zdarzeń i licznik
Log zdarzeń
Flagi F
Pobieranie logu zdarzeń komunikacji Odczyt 70 bajtów
Forsowanie kilku cewek Zapis bit po bicie
(1...2 040 bitów)
Zapis bit po bicie
(1...2 040 bitów)
Ustawianie kilku rejestrów Zapis słowo po słowie
(1...127 rejestrów)
Wyjścia Q
Blok danych DB
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 147
Modbus/USS
3.5 Sterownik Modbus Master
3.5.5
Kod funkcji 01 – Odczyt stanu wyjść (Read Output Status)
Cel i struktura
Funkcja
Adres startowy
Liczba bitów
LEN w bajtach
Funkcja ta umożliwia odczyt określonych bitów ze slave.
Parametr adresu startowego bitu nie jest weryfikowany przez sterownik i jest transmitowany bez zmian.
Każda wartość pomiędzy 1 i 1768 może być użyta do zdefiniowania liczby bitów (liczby cewek).
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit start address
Number of bits
Typ
BYTE
BYTE
WORD
INT
Wartość początkowa Komentarz
B#16#5
B#16#1
W#16#0040
16
Adres Slave
Kod funkcji
Adres startowy bitu
Liczba bitów
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
Nazwa data[1]
Typ
WORD
Wartość początkowa Komentarz
W#16#1701 Dane
Sterownik umieszcza ramkę danych odpowiedzi w bloku DB przeznaczenia słowo po słowie.
Pierwszy odebrany bajt jest wprowadzany jako niższy bajt pierwszego słowa "data[1]", trzeci odebrany bajt jako niższy bajt drugiego słowa "data[2]" i tak dalej. Jeżeli odczytano mniej niż
9 bitów lub został odczytany tylko jeden niższy bajt to wartość 00H jest wprowadzana do pozostałego wyższego bajtu ostatniego słowa.
148
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.6
Kod funkcji 02 – Odczyt stanu wejść (Read Input Status)
Cel i struktura
Funkcja
Adres startowy
Liczba bitów
LEN w bajtach
Funkcja ta umożliwia odczyt określonych bitów ze slave.
Parametr adresu startowego bitu nie jest weryfikowany przez sterownik i jest transmitowany bez zmian.
Każda wartość pomiędzy 1 i 1768 może być użyta do zdefiniowania liczby bitów (liczby cewek).
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit start address
Number of bits
Typ
BYTE
BYTE
WORD
INT
Wartość początkowa Komentarz
B#16#5
B#16#2
W#16#0120
24
Adres Slave
Kod funkcji
Adres startowy bitu
Liczba bitów
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+2.0
Nazwa data[1] data[2]
Typ
WORD
WORD
Wartość początkowa Komentarz
W#16#2604
W#16#0048
Dane
Dane
Sterownik umieszcza ramkę danych odpowiedzi w bloku DB przeznaczenia słowo po słowie.
Pierwszy odebrany bajt jest wprowadzany jako niższy bajt pierwszego słowa "data[1]", trzeci odebrany bajt jako niższy bajt drugiego słowa "data[2]" i tak dalej.
Jeżeli odczytano mniej niż 9 bitów lub został odczytany tylko jeden niższy bajt to wartość 00H jest wprowadzana do pozostałego wyższego bajtu ostatniego słowa.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 149
Modbus/USS
3.5 Sterownik Modbus Master
3.5.7
Kod funkcji 03 – Odczyt rejestrów wyjściowych (Read Output Registers)
Cel i struktura
Funkcja
Adres startowy
Liczba bitów
LEN w bajtach
Funkcja ta umożliwia odczyt określonych rejestrów ze slave.
Parametr adresu startowego rejestru nie jest sprawdzany przez sterownik i jest wysyłany niezmieniony.
Może być odczytywanych do 110 rejestrów (1 rejestr = 2 bajty).
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa Typ
Address
Function
Register start address
BYTE
BYTE
WORD
Number of registers INT
Wartość początkowa Komentarz
B#16#5
B#16#3
W#16#0040
2
Adres Slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+2.0
Nazwa data[1] data[2]
Typ
WORD
WORD
Wartość początkowa Komentarz
W#16#2123
W#16#2527
Dane
Dane
150
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.8
Kod funkcji 04 – Odczyt rejestrów wejściowych (Read Input Registers)
Cel i struktura
Funkcja
Adres startowy
Liczba bitów
LEN w bajtach
Funkcja ta umożliwia odczyt określonych rejestrów ze slave.
Parametr adresu startowego rejestru nie jest sprawdzany przez sterownik i jest wysyłany niezmieniony.
Może być odczytywanych do 110 rejestrów (1 rejestr = 2 bajty).
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa Typ
Address
Function
Register start address
BYTE
BYTE
WORD
Number of registers INT
Wartość początkowa Komentarz
B#16#5
B#16#4
W#16#0050
3
Adres Slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+2.0
+4.0
Nazwa data[1] data[2] data[3]
Typ
WORD
WORD
WORD
Wartość początkowa Komentarz
W#16#2123
W#16#2527
W#16#3536
Dane
Dane
Dane
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 151
Modbus/USS
3.5 Sterownik Modbus Master
3.5.9
Kod funkcji 05 – Forsowanie jednej cewki (Force Single Coil)
Cel i struktura
Funkcja
Adres bitu
Stan bitu
LEN w bajtach
Funkcja ta umożliwia setowanie lub kasowanie poszczególnych bitów w urządzeniu slave.
Parametr adresu bitu nie jest sprawdzany przez sterownik i jest wysyłany niezmieniony.
Następujące dwie wartości są prawidłowe jako stan bitu:
FF00H => ustaw bit.
0000H => skasuj bit.
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres Nazwa Typ Wartość początkowa Komentarz
+0.0
+1.0
+2.0
+4.0
Address
Function
Bit Address
Bit Status
BYTE
BYTE
WORD
WORD
B#16#5
B#16#5
W#16#0019
W#16#FF00
Adres Slave
Kod funkcji
Adres bitu
Stan bitu
Urządzenie slave musi zwrócić komunikat żądania do urządzenia master niezmieniony (Echo).
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit Address
Bit Status
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#5
W#16#0019
W#16#FF00
Adres Slave
Kod funkcji
Adres bitu
Stan bitu
152
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.10
Kod funkcji 06 – Ustawianie jednego rejestru (Preset Single Register)
Cel i struktura
Funkcja
Adres rejestru
Wartość rejestru
LEN w bajtach
Komenda ta umożliwia nadpisanie rejestru urządzenia slave nową wartością.
Parametr adresu rejestru nie jest sprawdzany przez sterownik i jest wysyłany niezmieniony.
Każda wartość może być użyta jako wartość rejestru.
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Register address
Register value
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#6
W#16#0180
W#16#3E7F
Adres Slave
Kod funkcji
Adres rejestru
Wartość rejestru
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Register address
Register value
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#6
W#16#0180
W#16#3E7F
Adres Slave
Kod funkcji
Adres rejestru
Wartość rejestru
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 153
Modbus/USS
3.5 Sterownik Modbus Master
3.5.11
Kod funkcji 07 – Odczyt stanu (Read Exception Status)
Cel i struktura
Funkcja
LEN w bajtach
Ten kod funkcji umożliwia odczyt 8 bitów zdarzeń z podłączonego urządzenia slave. Numer startowego bitu zdarzeń zależy od podłączonego urządzenie i dlatego nie jest określany przez program użytkownika SIMATIC.
2
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
Nazwa
Address
Function
Typ
BYTE
BYTE
Wartość początkowa Komentarz
B#16#5
B#16#7
Adres Slave
Kod funkcji
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
Nazwa data[1]
Typ
WORD
Wartość bieżąca
W#16#3Exx
Komentarz
Dane
Sterownik wprowadza poszczególne bity ramki danych odpowiedzi do wyższego bajtu data[1] w DB przeznaczenia. Niższy bajt data[1] pozostaje niezmieniony. Wartość 1 jest wyświetlana jako długość w parametrze LEN. Długość odbierana jest zawsze 1.
154
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.12
Kod funkcji 08 – Test diagnostyczny pętli zwrotnej (Loop Back Diagnostic
Test)
Cel i struktura
Funkcja
Kod diagnostyki
Wartość testowa
LEN w bajtach
Funkcja ta umożliwia sprawdzenie połączenia komunikacji. Tylko kod diagnostyczny (Diagnostic Code) 0000 jest obsługiwany przez ten kod funkcji.
Dla parametru Diagnostic Code wartością dopuszczalną jest tylko 0000.
Każda wartość może być użyta jako wartość testowa (Test Value).
6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Diagnostic Code
Reg Value
Typ
BYTE
BYTE
WORD
WORD
Wartość startowa
B#16#5
B#16#8
B#16#0000
B#16#A5C3
Komentarz
Adres Slave
Kod funkcji
Kod diagnostyki
Wartość testowa
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Diagnostic Code
Test Value
Typ
BYTE
BYTE
WORD
WORD
Wartość aktualna
B#16#5
B#16#8
B#16#0000
B#16#A5C3
Komentarz
Adres Slave
Kod funkcji
Kod diagnostyki
Wartość testowa
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 155
Modbus/USS
3.5 Sterownik Modbus Master
3.5.13
Kod funkcji 11 – Pobieranie licznika zdarzeń komunikacji (Fetch
Communications Event Counter)
Cel i struktura
Funkcja
LEN w bajtach
Ten kod funkcji umożliwia odczyt słowa statusowego
(Status Word) (o długości 2 bajtów) i licznika zdarzeń
(Event Counter) (o długości 2 bajtów) z urządzenia slave.
2
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
Nazwa
Address
Function
Typ
BYTE
BYTE
Wartość startowa Komentarz
B#16#5
B#16#0B
Adres Slave
Kod funkcji
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+2.0
Nazwa
Data[1]
Data[2]
Typ
WORD
WORD
Wartość aktualna
W#16#FEDC
W#16#0108
Komentarz
Status Word
Event Counter
156
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.14
Kod funkcji 12 – Pobieranie logu zdarzeń komunikacji (Fetch
Communications Event Log)
Cel i struktura
Funkcja
LEN w bajtach
Ten kod funkcji umożliwia odczyt z urządzenia slave następujących parametrów:
-- 2 bajty słowa statusowego (Status Word)
-- 2 bajty licznika zdarzeń (Event Counter)
-- 2 bajty licznika komunikatów (Message Counter)
-- 64 bajty zdarzeń (Event Bytes)
2
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
Nazwa
Address
Function
Typ
BYTE
BYTE
Wartość startowa
B#16#5
B#16#0C
Komentarz
Adres Slave
Kod funkcji
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+2.0
+4.0
+6.0
+7.0
:
+68.0
+69.0
Nazwa
Data[1]
Data[2]
Data[3] bytedata[1] bytedata[2]
: bytedata[63] bytedata[64]
Typ
WORD
WORD
WORD
BYTE
BYTE
BYTE
BYTE
Wartość aktualna
W#16#8765
W#16#0108
W#16#0220
B#16#01
B#16#12
B#16#C2
B#16#D3
Komentarz
Status Word
Event Counter
Message Counter
Event Byte 1
Event Byte 2
:
Event Byte 63
Event Byte 64
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 157
Modbus/USS
3.5 Sterownik Modbus Master
3.5.15
Kod funkcji 15 – Forsowanie kilku cewek (Force Multiple Coils)
Cel i struktura
Funkcja
Adres startowy
Liczba bitów
LEN w bajtach
Ten kod funkcji umożliwia modyfikację do 1696 bitów w slave.
Parametr adresu rejestru nie jest weryfikowany przez sterownik i jest transmitowany niezmieniony.
Każda wartość pomiędzy 1 i 1696 może być użyta do zdefiniowania liczby bitów (liczba cewek). Określa liczbę bitów, które będą nadpisane w urządzeniu slave. Parametr "Byte counter" (licznik bajtów) w ramce danych żądania jest generowany przez sterownik na podstawie przesłanego parametru "Number of bits" (liczba bitów).
> 6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
+6.0
Nazwa
Address
Function
Bit start address
Number of bits coil_state[1]
Typ
BYTE
BYTE
WORD
INT
WORD
Wartość początkowa
B#16#5
B#16#0F
W#16#0058
10
W#16#EFCD
Komentarz
Adres Slave
Kod funkcji
Adres startowy bitu
Liczba bitów
Stan cewki
5FH..58H/57H..50H
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres Nazwa Typ Wartość bieżąca Komentarz
+0.0
+1.0
+2.0
+4.0
Adres
Funkcja
Bit address
Number of bits
BYTE
BYTE
WORD
INT
B#16#5
B#16#F
W#16#0058
10
Adres Slave
Kod funkcji
Adres bitu
Liczba bitów
Sterownik wysyła dane ze źródłowego bloku danych DB do przeznaczenia słowo po słowie.
Wyższy bajt (bajt 1) słowa adresu "EF" w DB jest wysyłany pierwszy, następnie niższy bajt (bajt
0) słowa adresu DB "CD". Jeżeli jest wysyłana nieparzysta liczba bitów to ostatni bajt jest wyższym bajtem (bajt 1).
158
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.5 Sterownik Modbus Master
3.5.16
Kod funkcji 16 – Ustawianie kilku rejestrów (Preset Multiple Registers)
Cel i struktura
Funkcja
Adres startowy
Liczba rejestrów
LEN w bajtach
Kod funkcji 16 umożliwia nadpisywanie do 109 rejestrów w urządzeniu slave za pomocą pojedynczej ramki danych żądania.
Parametr adresu rejestru nie jest sprawdzany przez sterownik i jest wysyłany niezmieniony.
Może być odczytywanych do 109 rejestrów (1 rejestr = 2 bajty).
Parametr "Byte counter" (licznik bajtów) w ramce danych żądania jest generowany przez sterownik na podstawie przesłanego parametru
"Number of registers" (liczba rejestrów).
> 6
SEND blok DB źródłowy
Tabela poniżej przedstawia strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
+6.0
+8.0
+10.0
Nazwa Typ
Adres
Funkcja
Register start address
BYTE
BYTE
WORD
Number of registers INT reg_data[1] WORD reg_data[2] reg_data[3]
WORD
WORD
Wartość początkowa
B#16#5
B#16#10
W#16#0060
3
W#16#41A1
W#16#42A2
W#16#43A3
Komentarz
Adres Slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
Dane rejestru
Dane rejestru
Dane rejestru
RCV blok DB przeznaczenia
Tabela poniżej przedstawia zawartość obszaru przeznaczenia RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa Typ
Adres
Funkcja
BYTE
BYTE
Register start address
WORD
Number of registers INT
Wartość bieżąca
B#16#5
B#16#10
W#16#0060
3
Komentarz
Adres Slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 159
Modbus/USS
3.6 Sterownik Modbus Slave
3.6
Sterownik Modbus Slave
3.6.1
Komponenty połączenia master-slave
Wprowadzenie
Sterownik ten, razem z odpowiadającym blokiem funkcyjnym, umożliwia zestawienie połączenia komunikacyjnego pomiędzy systemem sterowania Modbus master i modułem komunikacyjnym
ET 200 Modbus slave w formie systemu zgodnego z protokołem Modbus.
Zasada transmisji danych
Protokół Modbus w formacie RTU jest używany do celów transmisji. Transmisja danych przebiega zgodnie z zasadą master-slave. Urządzenie master jest inicjowane podczas transmisji tak, że moduł S7 CPU pracuje jako slaves. Kody funkcji 01, 02, 03, 04, 05, 06, 08, 15 i 16 może być używany w komunikacji pomiędzy modułem i systemem master. Adres Modbus w ramce danych żądania urządzenia master jest przetwarzany przez sterownik jak S7. Innymi słowy z S7 CPU mogą być odczytane:
● Odczytywanie i zapisywanie flag, wyjść i bloków danych.
● Odczytywanie flag, input, timerów i liczników.
Istniejące połączenie dostarcza protokół Modbus z dostępem do danych w określonym obszarze pamięci SIMATIC S7 CPU.
Struktura danych
Przed konfiguracją projektu struktury danych S7 należy upewnić się, że dane są kompatybilne z programami użytkownika systemu Modbus master.
Połączenie Modbus slave
Połączenie Modbus slave dla modułu składa się z dwóch części:
● Sterownika Modbus slave
● Bloku funkcyjnego komunikacji Modbus dla SIMATIC S7 CPU
Blok FB komunikacji Modbus slave
Dodatkowo, oprócz sterownika Modbus slave, połączenie Modbus slave wymaga specjalnego bloku komunikacyjnego FB w S7 CPU.
Blok komunikacyjny FB Modbus przetwarza wszystkie funkcje wymagane do połączenia.
FB 81 (S_MODB) odbiera protokół Modbus i konwertuje adresy Modbus do obszaru pamięci
SIMATIC.
FB 81 musi być wywoływany cyklicznie w programie użytkownika. Blok komunikacji FB Modbus używa blok danych lokalnych jako obszar roboczy.
160
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.2
Transmisja danych z ET 200S Modbus slave
Sekwencja transmisji
Blok FB S_MODB musi być aktywowany cyklicznie w programie użytkownika aby żądanie
Modbus slave było wykonywane. S_MODB odbiera żądanie w modułu interfejsu szeregowego
ET200S Modbus/USS, wykonuje je i zwraca odpowiedź do modułu. Komunikacja pomiędzy
CPU i modułem jest realizowana przez bloki funkcyjne S_SEND i S_RCV, które są wywoływane przez S_MODB.
Po każdym restarcie CPU (warm restart), program użytkownika musi zainicjować blok komunikacji FB Modbus. Inicjalizacja jest aktywowana narastającym zboczem na wejściu
CP_START. Blok FB zapisuje rozmiary obszarów adresów I, Q, F, T i C z CPU w bloku danych lokalnych bloku FB. Po inicjalizacji zakończonej sukcesem blok FB ustawia wyjście
CP_START_OK.
Błąd inicjalizacji jest określony przez wyjście CP_START_ERROR. W tym przypadku, komunikacja Modbus nie jest możliwa i na wszystkie żądania z Modbus master są przysłane komunikaty z kodem wyjątku.
S_MODB używa tabeli konwersji danych Modbus umieszczonej w bloku danych do powiązania adresów Modbus z obszarami pamięci SIMATIC S7.
Parametr wejściowy OB_MASK może być do tego, aby blok Modbus FB maskował błędy dostępu I/O. W przypadku zapisu do nieistniejących I/O, CPU nie przełącza się w tryb STOP i nie wywołuje bloku OB błędu. Blok FB wykrywa błąd dostępu i funkcja jest przerywana z odpowiedzią o błędzie do Modbus master.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 161
Modbus/USS
3.6 Sterownik Modbus Slave
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
162
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.3
Obszary danych w SIMATIC CPU
22.0
24.0
26.0
28.0
30.0
32.0
34.0
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
20.0
36.0
38.0
40.0
Tabela konwersji danych Modbus
Adresy Modbus w ramkach komunikatów są interpretowane przez FB 81 (S_MODB) w sposób jak S7 i konwertowane do obszarów pamięci SIMATIC. Dostęp do poszczególnych obszarów pamięci SIMATIC mogą być określone przez użytkownika poprzez transmitowanie DB jako wejście dla bloku FB 81 (S_MODB) (patrz tabela poniżej).
Tabela 3-17 Tabela konwersji
Adres
42.0
44.0
46.0
48.0
50.0
Nazwa Typ Wartość początkowa zzzzz kkkkk lllll vvvvv nnnnn rrrrr sssss aaaaa bbbbb uuuuu ccccc ddddd ooooo eeeee fffff ttttt ggggg hhhhh
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD W#16#0
WORD W#16#0
WORD
WORD
WORD
WORD
WORD
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
WORD W#16#0
WORD W#16#0
DB_Number_FC_03_06_16 WORD W#16#0
DB_Number_FC_04 WORD W#16#0
DB_Min WORD W#16#0
DB_Max
F_Min
F_Max
Q_Min
Q_Max
WORD
WORD
WORD
WORD
WORD
W#16#0
W#16#0
W#16#0
W#16#0
W#16#0
Wartość bieżąca
Komentarz Odpowiedni kod funkcji
W#16#0
W#16#7F7
W#16#1F4
W#16#7F8
Początek adresu Modbus 01, 05, 15
Koniec adresu Modbus
Flaga
Początek adresu Modbus 01, 05, 15
W#16#FEF
W#16#15
Koniec adresu Modbus
Wyjścia
W#16#FF0 Początek adresu Modbus 01, 05, 15
W#16#17E7 Koniec adresu Modbus
W#16#28 Timery
W#16#17E8 Początek adresu Modbus 01, 05, 15
W#16#1FDF Koniec adresu Modbus
W#16#28 Liczniki
W#16#1FE0 Początek adresu Modbus 02
W#16#27D7 Koniec adresu Modbus
W#16#320 Flaga
02
02
W#16#27D8 Początek adresu Modbus 02
W#16#2FCF Koniec adresu Modbus
W#16#11 Wejścia
02
02
W#16#6
W#16#2
W#16#1
DB
DB
W#16#6
W#16#1F4
Najmniejszy używany numer DB
Największy używany numer DB
Najmniejsza flaga używana
03, 06, 15
04
Granice
Granice
Granice
W#16#4B0
W#16#0
W#16#64
Największa flaga używana Granice
Najmniejsze wyjście używane
Granice
Największe wyjście używane
Granice
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 163
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.4
Konfigurowanie parametrów dla łącza danych
Parametry konfiguracji sprzętu
Dla sterownika następujące parametry i tryby pracy muszą być ustawione w konfiguracji sprzętu:
● Prędkość transmisji, parzystość
● Adres slave modułu
● Tryb pracy (normalny, tłumienie zakłóceń)
● Mnożnik dla czasu opóźnienia znaku
Parametry w wejściowym bloku DB dla FB 81
Parametry wymienione poniżej muszą być ustawione za pomocą wejściowego bloku DB dla FB
81 (S_MODB).
● Adres obszarów dla kodów funkcji 01, 05, 15
● Adres obszarów dla kodów funkcji 02
● Numer bloku podstawowego DB dla kodów funkcji 03, 06, 16
● Numer bloku podstawowego DB dla kodu funkcji 04
● Ograniczenia dostępu dla zapisu
Parametryzacja sterownika slave
Tabela poniżej zawiera listę parametrów, które mogą być ustawione dla sterownika modułu
Modbus.
Tabela 3-18 Parametry dla sterownika Modbus slave
Parametry
Przerwanie diagnostyczne
(Diagnostics interrupt)
Aktywacja wykrywania przerwy na linii
(Activate BREAK detection)
Typ interfejsu
(Type of interface)
Opis Zakres wartości
Określa czy moduł powinien generować przerwanie diagnostyczne w wypadku poważnego błędu.
Jeżeli linii jest przerwana lub kabel interfejsu nie jest podłączony to moduł generuje komunikat błędu "Break".
Określa elektryczny interfejs, który będzie używany.
● No
● Yes
● No
● Yes
● RS 232C
● RS 422 (full duplex)
● RS 485 (half duplex)
Domyślna wartość
No
No
RS 232C
164
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Parametry
Stan początkowy linii odbierania half-duplex i fullduplex
(Half-duplex and full-duplex initial state of the receive line.)
Sterowanie przepływem danych
(Data flow control)
(z parametrami domyślnymi; zmiana domyślnych wartości w programie użytkownika)
Opis Zakres wartości Domyślna wartość
Określa stan początkowy linii odbierania w trybach pracy RS 422 i RS 485. Nie używany w trybie pracy RS 232C.
Ustawienie "Inverted signal levels" jest wymagane tylko jeżeli musi być zapewniona kompatybilność gdy część jest wymieniana.
RS 422:
R(A) 5 V/R(B) 0 V (BREAK)
R(A) 0 V/R(B) 5 V
Inverted signal level
(Odwrócone poziomy sygnału)
RS 485:
None
R(A) 0 V/R(B) 5 V
RS 422:
R(A) 5 V/R(B) 0 V
(BREAK)
RS 485:
RS 485:
R(A) 0 V/R(B) 5 V
Można wysyłać i odbierać dane ze sterowaniem przepływem danych.
Transmisja danych jest synchronizowana za pomocą sterowania przepływem danych jeżeli jeden partner komunikacji pracuje szybciej niż inny. Wybór typu sterowania przepływem danych i ustawianie odpowiednich parametrów.
Uwaga: Sterowanie przepływem danych nie jest możliwe w interfejsie RS 485.
Sterowanie przepływem danych z
"Automatic control of V24 signals" jest obsługiwane tyko przez interfejs RS
232C.
● None
● Automatic control of V.24 signals
(Automatyczne sterowanie sygnałami
V.24)
None
Prędkość transmisji
(Transmission rate)
Bity stopu
(Stop bits)
Wybór prędkości transmisji danych w bitach na sekundę.
Wybór liczby bitów stopu, które są podczas transmisji dodawane do każdego znaku aby sygnalizować koniec znaku.
● 110
● 300
● 600
● 1 200
● 2 400
● 4 800
● 9 600
● 19 200
● 38 400
● 57 600
● 76 800
● 115 200
● 1
● 2
9600
1
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 165
Modbus/USS
3.6 Sterownik Modbus Slave
Parametry
Parzystość
(Parity)
Opis Zakres wartości
Sekwencja bitów danych może być rozszerzona o jeden znak aby zawrzeć bit parzystości. Dodatkowa wartość (0 lub 1) ustawia wartość wszystkich bitów (bity danych i bity parzystości) na zdefiniowany stan.
None: Dane są wysyłane bez bitu parzystości.
Odd: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość nieparzystą ze stanem sygnału
"1".
Even: Bit parzystości jest ustawiony tak, że łączna liczba wszystkich bitów danych
(zawierająca bit parzystości) zwraca wartość parzystą ze stanem sygnału "1".
● None
● Odd
● Even
Adres slave
(Slave address)
Mode
Adres slave modułu 1-247
● Normalna praca ("Normal operation")
● Tłumienie zakłóceń ("Noise suppression")
● Normal
● Noise suppression
Mnożnik czasu opóźnienia znaku
(Character delay time multiplier)
Używa mnożnika czasu opóźnienia znaku od 1 – 10.
1 do 10
Czyszczenie bufora odczytu interfejsu szeregowego podczas uruchamiania
(Clear serial interface receive buffer on startup)
Określa czy bufor odbierania interfejsu szeregowego powinien być automatycznie czyszczony gdy CPU przechodzi z trybu pracy STOP do RUN (uruchamianie
CPU). W ten sposób można zapewnić, że bufor odbierania interfejsu szeregowego zawiera tylko ramki danych, które zostały odebrane po uruchomieniu CPU.
● No
● Yes
1 Minimalny czas opóźnienia znaku zależy od prędkości transmisji.
Domyślna wartość
Even
222
Normal
1
Yes
Następująca lista zawiera objaśnienia poszczególnych parametrów lub wartości:
● Full-duplex (RS 422) tryb cztero-przewodowy
W tym trybie pracy, dane są wysyłane przez linię transmitowania T(A), T(B) i odbierane przez linię odbierania R(A), R(B). Rozwiązywanie problemów jest przeprowadzane zgodnie z funkcjonalnością ustawioną za pomocą parametru "Driver operating mode"
(praca normalna lub tłumienie zakłóceń).
● Half-duplex (RS 485) tryb dwu-przewodowy
W tym trybie pracy, sterownik przełącza 2-przewodową linię odbierania interfejsu R(A),
R(B) pomiędzy operacją wysyłania i odbierania. Początek odbieranej ramki danych z urządzenia slave jest wykrywane za pomocą prawidłowo odebranego adresu slave.
W komunikacji punkt-punkt, ustawienie R (A) 0 V, R(B) 5 V jest rekomendowane jako stan początkowy dla linii odbierania.
166
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
● Stan początkowy linii odbierania
Ten parametr określa stan początkowy linii odbierania dla trybów RS 422 i RS 485. Nie jest używany w przypadku trybu RS 232C.
– R(A) 5 V, R(B) 0 V (BREAK)
Moduł ustawia stan początkowy dla linii dwu-przewodowej R(A), R(B) następująco:
R(A) --> +5 V, R(B) --> 0 V (V
A
– V
B
= +0.3 V).
Oznacza to, że poziom BREAK występuje w module w przypadku przerwanej linii.
– R(A) 0 V, R(B) 5 V (High)
Moduł ustawia stan początkowy dla linii dwu-przewodowej R(A), R(B) następująco:
R(A) --> 0 V, R(B) --> +5 V (V
A
– V
B
= -0.3 V).
Oznacza to, że poziom HIGH występuje w module w przypadku przerwanej linii (lub w stanie bezczynności jeżeli urządzenie slave nie transmituje). Stan linii BREAK nie może być wykryty.
– None (tylko dla RS 485)
Stan początkowy linii odbierania jest wyłączany dla trybu połączeń wielo-punktowych.
● Prędkość transmisji
Maksymalna prędkość transmisji jest prędkością transmisji danych w bitach na sekundę
(bps). Maksymalna prędkość transmisji modułu wynosi 38 400 bps w trybie half-duplex.
● Bity danych
Liczba bitów danych opisuje jak dużo bitów znaków jest mapowanych do celów transmisji.
Dla tego sterownika musi być zawsze ustawionych 8 bitów danych. Zawsze musi być używana 11-bitowa ramka znaku. Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Bity stopu
Liczba bitów stopu definiuje najmniejszy możliwy przedział czasu pomiędzy dwoma znakami, które będą transmitowane. Zawsze musi być używana 11-bitowa ramka znaku.
Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Parzystość
Bit parzystości pomaga zapewnić integralność danych. Zależnie od ustawień uzupełnia liczbę bitów danych transmitowanych tworząc liczbę parzystą lub nieparzystą. Jeżeli została ustawiona parzystość "none" żaden bit parzystości nie jest transmitowany.
Zmniejsza to integralność transmisji. Zawsze musi być używana 11-bitowa ramka znaku.
Jeżeli parzystość jest ustawiona na "none" trzeba wybrać 2 bity stopu.
● Adres slave
W tym parametrze jest określony odrębny adres Modbus slave, na który moduł powinien odpowiedzieć. Moduł odpowiada tylko na rami danych gdy odebrany adres slave jest identyczny z ustawionym adresem slave. Ramki danych do innych urządzeń slave nie są sprawdzane i nie odbierane odpowiedzi.
● Normalna praca
W tym trybie pracy, wszystkie wykryte błędy transmisji lub przerwy BREAK przed i po odebraniu ramki danych z urządzenia slave skutkują odpowiednim komunikatem błędu.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 167
Modbus/USS
3.6 Sterownik Modbus Slave
● Tłumienie zakłóceń
Jeżeli na początku ramki danych zostanie wykryty BREAK na linii odbierania lub jeżeli mikroprocesor modułu interfejsu wykryje błędy transmisji to sterownik traktuje odebrany komunikat jako uszkodzony i ignoruje go. Początek odebranej ramki danych z urządzenia slave jest wykrywany za pomocą poprawnie odebranego adresu slave. Błędy transmisji lub
BREAK są również ignorowane gdy wystąpią po końcu odebranej ramki danych (kod
CRC).
● Mnożnik czasu opóźnienia znaku
Jeżeli partner komunikacji nie może spełnić wymagań czasowych specyfikacji Modbus to istnieje możliwość mnożenia czasu opóźnienia znaku t może spełnić wymagań czasowych.
ZVZ
przez mnożnik f
MUL
. Czas opóźnienia znaku powinien być skorygowany tylko wtedy, gdy partner komunikacji nie
Wynikowy czas opóźnienia znaku t
ZVZ
jest obliczany następująco: t
ZVZ
= t
ZVZ _ TAB
* f
MUL t
ZVZ_TAB
= Wartość z tabeli dla t
ZVZ f
MUL
= Mnożnik
Uwaga
168
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.5
Kody funkcji urządzenia slave
Kody funkcji sterownika Modbus slave
Sterownik Modbus slave obsługuje kody funkcji zawarte w poniższej tabeli.
Uwaga
Wszystkie adresy Modbus zawarte w tabeli poniżej dotyczą warstwy transmisji ramki danych
(nie warstwy użytkownika w systemie nadrzędnym Modbus master). Oznacza to, że adres
Modbus w ramce danych transmisji rozpoczyna się od 0000 hex.
Tabela 3-19
Kod funkcji
01
02
03
04
05
06
08
15
16
Kody funkcji slave
Opis
Odczyt stanu wyjść
Odczyt stanu wejść
Odczyt rejestrów wyjściowych
Odczyt rejestrów wejściowych
Forsowanie jednej cewki
Ustawianie jednego rejestru
Test pętli zwrotnej
Forsowanie kilku cewek
Ustawianie kilku rejestrów
(pamięci)
Funkcja w SIMATIC S7
Odczyt bit po bicie
Odczyt bit po bicie
Odczyt bit po bicie
(16-bitowy przedział)
Odczyt bit po bicie
(16-bitowy przedział)
Flagi F
Wyjścia Q
Timery T
Liczniki C
Odczyt bit po bicie
Odczyt bit po bicie
Flagi F
Wejścia I
Odczyt słowo po słowie Blok danych DB
Odczyt słowo po słowie Blok danych DB
Zapis bit po bicie
Zapis bit po bicie
Flagi F
Wyjścia Q
-
Zapis słowo po słowie
Zapis bit po bicie
(1...2 040 bitów)
Zapis bit po bicie
(1...2 040 bitów)
Zapis słowo po słowie
(1...127 rejestrów)
-
Blok danych DB
Flagi F
Wyjścia Q
Blok danych DB
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 169
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.6
Kod funkcji 01 – Odczyt stanu cewek (wyjść) (Read Coil (output) Status)
Cel i struktura
Kod funkcji 01 – Odczyt stanu cewek (wyjść) jest charakteryzowany następująco:
Funkcja Funkcja ta umożliwia systemowi nadrzędnemu Modbus master system odczyt poszczególnych bitów z obszarów pamięci
SIMATIC przedstawionych poniżej.
ADDR FUNC start_address bit_number CRC Ramka danych żądania
Ramka danych odpowiedzi ADDR FUNC start_address n bajtów DATA CRC
LEN w bajtach 6
start_address
Sterownik interpretuje adres bitu Modbus "start_address". Przykład: FB 81 (S_MODB) sprawdza czy "start_address" znajduje się w jednym z obszarów określonych w bloku konwersji
DB dla FC 01, 05, 15 (z/do: flag, wyjść, timerów, liczników).
Jeżeli adres bitu Modbus
"start_address" jest w obszarze
Są dostępne następujące obszary pamięci SIMATIC
Od aaaaa do bbbbb
Od ccccc do ddddd
Od eeeee do fffff
Od ggggg do hhhhh
Począwszy od flagi
Począwszy od wyjścia
Począwszy od timera
Począwszy od licznika
F uuuuu.0
Q ooooo.0
T ttttt
C zzzzz
Adres dostępu (konwersja adresu) jest obliczany następująco:
Początek dostępu w SIMATIC Formuła konwersji
Bajt flag
Bajt wyjścia
Timer
Liczniki
= ((start_address - aaaaa) / 8)
= ((start_address - ccccc) / 8)
= ((start_address - eeeee) / 16)
= ((start_address - ggggg) / 16)
+ uuuuu
+ ooooo
+ ttttt
+ zzzzz
Dostęp do flag i wyjść
Podczas dostępu do obszaru flag i wyjść SIMATIC, pozostały bit_number jest obliczany i używany do adresowania odpowiedniego bitu wewnątrz pierwszego/ostatniego bajtu flag lub wyjść.
Dostęp do timerów i liczników
Podczas obliczania adresu, musi być możliwe podzielenie wyniku
● (start_address – eeeee) lub
● (start_address – ggggg) przez 16 bez reszty (tylko dostęp słowo-po-słowie, począwszy od słowa granicznego).
170
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
bit_number
Można użyć dowolnej wartości pomiędzy 1 a 1768 aby zdefiniować bit_number (liczbę cewek).
Ta liczba bitów jest odczytywana.
Podczas uzyskiwania dostępu do obszaru timerów i liczników SIMATIC, "bit_number" musi być dzielony przez 16 (dostęp tylko słowo-po-słowie).
Przykład aplikacji
Tabela 3-20 Przykład konwertowania adresowania Modbus:
Konwertowanie adresowania Modbus dla kodów funkcji FC 01, 05, 15
Adres Modbus w ramce danych transmisji
Od 0 do 2047
Od 2048 do 2559
Od 4096 do 4607
Od 4608 do 5119
Obszar pamięci SIMATIC
Począwszy od bitu pamięci M 1000.0
Począwszy od wyjścia Q 256.0
Począwszy od timera T 100
Począwszy od licznika C 200
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit start address
Number of bits
Typ
BYTE
BYTE
WORD
INT
Wartość początkowa Komentarz
B#16#5
B#16#1
W#16#0040
16
Adres slave
Kod funkcji
Adres startowy bitu
Liczba bitów
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 171
Modbus/USS
3.6 Sterownik Modbus Slave
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres Nazwa Typ Wartość bieżąca Komentarz
+0.0
data[1] WORD W#16#1701 Dane
Sterownik umieszcza ramkę danych odpowiedzi w docelowym bloku DB słowo po słowie.
Pierwszy odebrany bajt jest wprowadzany jako niższy bajt pierwszego słowa "data[1]", trzeci odebrany bajt jako niższy bajt drugiego słowa "data[2]" i tak dalej. Jeżeli odczytano mniej niż
9 bitów lub został odczytany tylko jeden niższy bajt to wartość 00H jest wprowadzana do pozostałego wyższego bajtu ostatniego słowa.
Obliczenia adresu:
Adres Modbus "start_address" 0040 hex (64 dziesiętnie) znajduje się w obszarze flag:
Bajt flagi = ((start_address -
aaaaa)
=((64 - 0)
=1008;
/ 8)
/ 8)
Pozostały bit_number posiada następujący wynik:
Pozostały bit_no.
= ((start_address -
aaaaa)
% 8)
=((64 - 0 )
= 0;
% 8)
+ uuuuu
+ 1000
[Modulo 8]
Flagi F 1008.0 do, i włącznie z F 1011.7 są dostępne.
Liczba bitów:
Liczba bitów Modbus "bit_number" 0020 hex (32 dziesiętnie) oznacza, że 32 bitów = 4 bajty są odczytywane.
Tabela poniżej zawiera listę dalszych przykładów dostępu do danych.
Tabela 3-21 Dalsze przykłady dostępu do danych start_address: hex, dziesiętnie Obliczenia adresu
0000
0021
0400
0606
0840
09E4
1010
10C0
1200
13E0
0
33
1024
1542
2112
2532
4112
4288
4608
5088
Flaga ((0 – 0) / 8) + 1,000
Flaga ((33 – 0) / 8) + 1,000
Flaga ((1024 – 0) / 8) + 1,000
Flaga ((1542 – 0) / 8) + 1,000
Wyjście ((2112 – 2048) / 8) + 256
Wyjście ((2532 – 2048) / 8) + 256
Timery ((4112 – 4096) / 16) + 100
Timery ((4288 – 4096) / 16) + 100
Licznik ((4608 – 4608) / 16) + 200
Licznik ((5088 – 4608) / 16) + 200
Adres
-> F 1000.0
-> F 1004.1
-> F 1128.0
-> F 1192.6
-> Q 264.0
-> Q 316.4
-> T 101
-> T 112
-> C 200
-> C 230
172
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.7
Kod funkcji 02 – Odczyt stanu wejść (Read Input Status)
Cel i struktura
Kod funkcji 02 - Odczyt stanu wejść jest charakteryzowany następująco:
Funkcja Funkcja ta umożliwia systemowi nadrzędnemu Modbus master system odczyt poszczególnych bitów z obszarów pamięci
SIMATIC przedstawionych poniżej.
ADDR FUNC start_address bit_number CRC Ramka danych żądania
Ramka danych odpowiedzi ADDR FUNC Byte_count n n bajtów DATA CRC
LEN w bajtach 6
start_address
Sterownik interpretuje adres bitu Modbus "start_address" następująco:
Sterownik sprawdza czy "start_address" znajduje się w jednym z obszarów określonych w bloku konwersji DB dla FC 02 (z/do: flag, wejść).
Jeżeli adres bitu Modbus "start_address" jest w obszarze
Od kkkkk do lllll
Od nnnnn do rrrrr
Są dostępne następujące obszary pamięci SIMATIC
Począwszy od flagi
Począwszy od wejścia
F vvvvv.0
I sssss.0
Adres dostępu (konwersja adresu) jest obliczany następująco:
Początek dostępu w SIMATIC
Bajt flag
Bajt wejścia
Formuła konwersji
= ((start_address - kkkkk) / 8) + vvvvv
= ((start_address - nnnnn) / 8) + sssss
Dostęp do flag i wejść
Podczas dostępu do obszaru flag i wejść SIMATIC, pozostały bit_number jest obliczany i używany do adresowania odpowiedniego bitu wewnątrz pierwszego/ostatniego bajtu flag lub wejść.
bit_number
Można użyć dowolnej wartości pomiędzy 1 a 1768 aby zdefiniować bit_number (liczbę cewek).
Ta liczba bitów jest odczytywana.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 173
Modbus/USS
3.6 Sterownik Modbus Slave
Przykład aplikacji
Przykład konwertowania adresowania Modbus:
Tabela 3-22 Konwertowanie adresowania Modbus dla kodu funkcji FC 02
Adres Modbus w ramce danych transmisji
Od 0 do 4095
Od 4096 do 5119
Obszar pamięci SIMATIC
Począwszy od flagi
Począwszy od wejścia 0
M 2000.0
I 128.0
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit start address
Number of bits
Typ
BYTE
BYTE
WORD
INT
Wartość początkowa Komentarz
B#16#5
B#16#2
W#16#0120
24
Adres slave
Kod funkcji
Adres startowy bitu
Liczba bitów
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+2.0
Nazwa
Data[1]
Data[2]
Typ
WORD
WORD
Wartość bieżąca
W#16#2604
W#16#0048
Komentarz
Dane
Dane
Sterownik umieszcza ramkę danych odpowiedzi w docelowym bloku DB słowo po słowie.
Pierwszy odebrany bajt jest wprowadzany jako niższy bajt pierwszego słowa "data[1]", trzeci odebrany bajt jako niższy bajt drugiego słowa "data[2]" i tak dalej.
Jeżeli odczytano mniej niż 9 bitów lub został odczytany tylko jeden niższy bajt to wartość 00H jest wprowadzana do pozostałego wyższego bajtu ostatniego słowa.
Obliczenia adresu:
Adres Modbus "start_address" 1030 hex (4144 dziesiętnie) znajduje się w obszarze wejść:
Bajt wejść =((start_address – nnnnn)
=((4144 – 4096)
=134;
/ 8)
/ 8)
+ sssss
+ 128
174
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Pozostały bit_number posiada następujący wynik:
Pozostały bit_no.
=((start_address- aaaaa)
=((4144 – 4096)
= 0;
% 8)
% 8)
[Modulo 8]
Wejścia I 134.0 do, i włącznie z I 136.7 są dostępne.
Liczba bitów:
Liczba bitów Modbus "bit_number" 0018 hex (24 dziesiętnie) oznacza, że 24 bitów = 3 bajty są odczytywane.
Tabela poniżej zawiera listę dalszych przykładów dostępu do danych.
Tabela 3-23 Dalsze przykłady dostępu do danych start_address: hex, dziesiętnie
0000
0071
0800
0D05
1000
10A4
0
113
2048
3333
4096
4260
Obliczenia adresu
Flaga ((0 - 0) / 8) + 2,000
Flaga ((113 - 0) / 8) + 2,000
Flaga ((2048 - 0) / 8) + 2,000
Flaga ((3333 - 0) / 8) + 2,000
Wejście ((4096 - 4096) / 8) + 128
Wejście ((4260 - 4096) / 8) + 128
Adres
-> F 2000.0
-> F 2014.1
-> F 2256.0
-> F 2416.5
-> I 128.0
-> I 148.4
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 175
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.8
Kod funkcji 03 – Odczyt rejestrów wyjściowych (Read Output Registers)
Cel i struktura
Kod funkcji 03 - Odczyt rejestrów wyjściowych jest charakteryzowany następująco:
Funkcja
Ramka danych żądania
Ramka danych odpowiedzi
Funkcja ta umożliwia systemowi nadrzędnemu Modbus master system odczyt słów danych z bloku danych
ADDR FUNC start_address register_number
ADDR FUNC Byte_count n n/2 rejestr DATA
(wysoki, niski)
CRC
CRC
LEN w bajtach 6
start_address
Sterownik interpretuje adres rejestru Modbus "start_register" następująco:
Numer rejestru Modbus
Rysunek 3-10 Interpretacja numeru rejestru Modbus
Do dalszego generowania adresu, blok FB 81 (S_MODB) używa numeru bazowego bloku DB
(od DB xxxxx) określonego w bloku konwersji DB dla FC 03, 06, 16.
Adres dostępu (konwersja adresu) jest obliczany w dwóch krokach:
Dostęp w SIMATIC
Blok danych DB (wynikowy DB)
Słowo danych DBW
Formuła konwersji
= (base DB number xxxxx + start_register offset_DB_no.)
=(start_register word_no. *2)
Formuła obliczeniowa dla start_register
Jeżeli wynikowy blok DB, który będzie odczytywany jest znany, adres Modbus start_register wymagany w systemie nadrzędnym (master system) może być obliczony za pomocą następującej formuły: start_register = ((wynikowy DB – numer bazowego DB) * 512) + (data word_DBW / 2)
Do tego celu mogą być używane tylko parzyste numery słów danych.
register_number
Można użyć dowolnej wartości pomiędzy 1 a 110 aby zdefiniować register_number (liczbę rejestrów). Ta liczba rejestrów jest odczytywana.
176
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Przykład aplikacji
Tabela 3-24 Konwertowanie adresowania Modbus dla kodów funkcji FC 03, 06, 16
Adres Modbus w ramce danych transmisji
0
Obszar pamięci SIMATIC
Począwszy od bloku danych DB 800
(numer bazowego DB)
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa Typ
Address
Function
BYTE
BYTE
Register start address
WORD
Number of registers INT
Wartość początkowa Komentarz
B#16#5
B#16#3
W#16#0040
2
Adres slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+2.0
Nazwa
Data[1]
Data[2]
Typ
WORD
WORD
Wartość bieżąca
W#16#2123
W#16#252
Komentarz
Dane
Dane
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 177
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "start_register" 0050 hex (80 dziesiętnie) jest interpretowany następująco:
Numer rejestru Modbus
Rysunek 3-11 Interpretacja numeru rejestru Modbus 0050 hex
Blok danych DB (wynikowy DB) = (numer bazowego DB xxxxx + start_register - offset_DB_no.)
= (800 + 0)
= 800;
Słowo danych DBW = (start_register word_no.* 2)
= (80 * 2)
= 60 ;
DB 800, słowo danych DBW 160 jest dostępne.
Liczba rejestrów:
Liczba rejestrów Modbus "register_number" 0002 hex (2 dziesiętnie) oznacza, że 2 rejestry = 2 słowa danych są odczytywane.
Tabela poniżej zawiera listę dalszych przykładów dostępu do danych.
Tabela 3-25 Dalsze przykłady dostępu do danych start_register start_register Bazowy
DB_no.
Offset
DB_no.
Numer słowa Wynikowy DB DBW
Hex Dziesiętnie Dziesiętnie Dziesiętnie Hex Dziesiętnie Dziesiętnie Dziesiętnie
0000 0 800 0 000 0 800 0
01F4
0200
02FF
0300
03FF
0400
500
512
767
768
1023
1024
800
800
800
800
800
800
0
1
1
1
1
2
1F4
000
0FF
100
1FF
000
500
0
255
256
511
0
800
801
801
801
801
802
1000
0
510
512
1022
0
178
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.9
Kod funkcji 04 – Odczyt rejestrów wejściowych (Read Input Registers)
Cel i struktura
Kod funkcji 04 - Odczyt rejestrów wejściowych jest charakteryzowany następująco:
Funkcja
Ramka danych żądania
Ramka danych odpowiedzi
Funkcja ta umożliwia systemowi nadrzędnemu Modbus master system odczyt słów danych z bloku danych
ADDR FUNC start_register register_number
ADDR FUNC Byte_count n n/2 register DATA
(wysoki, niski)
CRC
CRC
LEN w bajtach 6
start_address
Sterownik interpretuje adres rejestru Modbus "start_register" następująco:
Numer rejestru Modbus
Rysunek 3-12 Interpretacja numeru rejestru Modbus
Do dalszego generowania adresu, blok FB 81 (S_MODB) używa numeru bazowego bloku DB
(od DB xxxxx) określonego w bloku konwersji DB dla FC 04.
Adres dostępu (konwersja adresu) jest obliczany w dwóch krokach:
Dostęp w SIMATIC
Blok danych DB (wynikowy DB)
Słowo danych DBW
Formuła konwersji
= (base DB number xxxxx + start_register offset_DB_no.)
= (start_register word_no.* 2)
Formuła obliczeniowa dla start_register
Jeżeli wynikowy blok DB, który będzie odczytywany jest znany, adres Modbus start_register wymagany w systemie nadrzędnym (master system) może być obliczony za pomocą następującej formuły: start_register = ((wynikowy DB – numer bazowego DB) * 512) + (data word_DBW / 2)
Do tego celu mogą być używane tylko parzyste numery słów danych.
register_number
Można użyć dowolnej wartości pomiędzy 1 a 110 aby zdefiniować register_number (liczbę rejestrów). Ta liczba rejestrów jest odczytywana.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 179
Modbus/USS
3.6 Sterownik Modbus Slave
Przykład aplikacji
Tabela 3-26 Konwertowanie adresowania Modbus dla kodu funkcji FC 04
Adres Modbus w ramce danych transmisji
0
Obszar pamięci SIMATIC
Począwszy od bloku danych DB 900 (numer bazowego
DB)
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa Typ
Address
Function
BYTE
BYTE
Register start address
WORD
Number of registers INT
Wartość początkowa Komentarz
B#16#5
B#16#4
W#16#0050
3
Adres slave
Kod funkcji
Adres startowy rejestru
Liczba rejestrów
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+2.0
+4.0
Nazwa
Data[1]
Data[2]
Data[3]
Typ
WORD
WORD
WORD
Wartość bieżąca
W#16#2123
W#16#2527
W#16#3536
Komentarz
Dane
Dane
Dane
180
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "start_register" 02C0 hex (704 dziesiętnie) jest interpretowany następująco:
Numer rejestru Modbus
Rysunek 3-13 Interpretacja numeru rejestru Modbus 0270 Hex
Blok danych DB (wynikowy DB) = (numer bazowego DB xxxxx + start_register - offset_DB_no.)
= (900+ 0)
= 901;
Słowo danych DBW = (start_register word_no.* 2)
= (192 * 2)
= 384;
DB 901, słowo danych DBW 384 jest dostępne.
Liczba rejestrów:
Liczba rejestrów Modbus "register_number" 0003 hex (3 dziesiętnie) oznacza, że 3 rejestry =
3 słowa danych są odczytywane.
Tabela poniżej zawiera listę dalszych przykładów dostępu do danych.
Tabela 3-12 Dalsze przykłady dostępu do danych start_register start_register
Hex
Bazowy
DB_no.
Offset
DB_no.
Numer słowa Wynikowy DB DBW
Dziesiętnie Dziesiętnie Dziesiętnie Hex Dziesiętnie Dziesiętnie Dziesiętnie
0000
0064
00C8
0190
0
100
200
400
900
900
900
900
0
0
0
0
000
064
0C8
190
0
100
200
400
900
900
900
900
0
200
400
800
1400
1464
14C8
5120
5220
5320
0
900
900
10
10
10
000
064
0C8
0
100
200
910
910
910
0
200
400
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 181
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.10
Kod funkcji 05 – Forsowanie pojedynczej cewki (Force Single Coil)
Cel i struktura
Kod funkcji 05 – Forsowanie pojedynczej cewki jest charakteryzowane następująco:
Funkcja Funkcja ta umożliwia systemowi nadrzędnemu Modbus master zapis bitu do obszarów pamięci SIMATIC wymienionych poniżej.
Ramka danych żądania ADDR FUNC coil_address DATA on/off CRC
Ramka danych odpowiedzi ADDR FUNC coil_address DATA on/off CRC
LEN w bajtach 6
coil_address
Sterownik interpretuje adres bitu Modbus "coil_address" następująco:
Blok FB 81 (S_MODB) sprawdza czy "coil_address" znajduje się w jednym z obszarów określonych w bloku konwersji DB dla FC 01, 05, 15 ( z/do: flag, wyjść, timerów, liczników).
Jeżeli adres bitu Modbus "start_address" jest w obszarze
Od aaaaa do bbbbb
Od ccccc do ddddd
Są dostępne następujące obszary pamięci SIMATIC
Począwszy od flagi
Począwszy od wyjścia
F uuuu.0
Q oooo.0
Adres dostępu (konwersja adresu) jest obliczany w dwóch krokach:
Początek dostępu w SIMATIC
Bajt flagi
Bajt wyjścia
Formuła konwersji
= ((start_address - cccc) / 8) + ooooo
= ((start_address aaaa) / 8) + uuuuu
Dostęp do flag i wyjść
Podczas dostępu do obszaru flag i wyjść SIMATIC, pozostały bit_number jest obliczany i używany do adresowania odpowiedniego bitu wewnątrz pierwszego/ostatniego bajtu flag lub wyjść.
Dostęp do timerów i liczników
Dostęp do obszarów timerów i liczników SIMATIC nie jest dozwolony z kodem funkcji FC 05 i jest odrzucany przez sterownik, który generuje ramkę komunikatu błędu.
182
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
DATA on/off
Jako DATA on/off są dozwolone następujące dwie wartości:
FF00H = Ustawienie bitu.
0000H = Kasowanie bitu.
Przykład aplikacji
Tabela 3-28 Konwertowanie adresowania Modbus dla kodów funkcji FC 01, 05, 15
Adres Modbus w ramce danych transmisji
Od 0 do 2047
Od 2048 do 2559
Obszar pamięci SIMATIC
Począwszy od flagi F 1000.0
Począwszy od wyjścia Q 256.0
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit address
Bit status
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#5
W#16#0019
W#16#FF00
Adres slave
Kod funkcji
Adres startowy bitu
Status bitu
Urządzenie slave musi zwrócić niezmienioną ramkę danych żądania do urządzenia master
(echo).
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Bit address
Bit status
Typ
BYTE
BYTE
WORD
WORD
Wartość bieżąca
B#16#5
B#16#5
W#16#0019
W#16#FF00
Komentarz
Adres slave
Kod funkcji
Adres startowy bitu
Status bitu
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 183
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "coil_address" 0809 hex (2057 dziesiętnie) znajduje się w obszarze wyjść:
Bajt wyjść = ((coil_address - ccccc) / 8)
= ((2057 - 2048) / 8)
=257
Pozostały bit_number posiada następujący wynik:
+ ooooo
+ 256
Pozostały bit_no.
= ((coil_address - ccccc)) % 8)
=((2057 - 2048) % 8)
= 1 ;
Wyjście Q 257.1 jest dostępne.
Kolejne przykłady
Kolejne przykłady dostępu do flag i wyjść odnoszą się do FC 01.
[Modulo 8]
184
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.11
Kod funkcji 06 – Ustawianie pojedynczego rejestru (Preset Single Register)
Cel i struktura
Kod funkcji 06 – Ustawianie pojedynczego rejestru jest charakteryzowany następująco:
Funkcja
Ramka danych żądania
Funkcja ta umożliwia systemowi nadrzędnemu Modbus master zapis słowa danych do bloku danych w CPU.
ADDR FUNC start_register DATA value CRC
(wysoki, niski)
Ramka danych odpowiedzi ADDR FUNC start_register DATA value CRC
(wysoki, niski)
LEN w bajtach 6
start_register
Sterownik interpretuje adres rejestru Modbus "start_register" następująco:
Numer rejestru Modbus
Rysunek 3-14 Interpretacja numeru rejestru Modbus
Do dalszego generowania adresu, blok FB 81 (S_MODB) używa numeru bazowego bloku DB
(od DB xxxxx) określonego w bloku konwersji DB dla FC 03, 06, 16.
Adres dostępu (konwersja adresu) jest obliczany w dwóch krokach:
Dostęp w SIMATIC Formuła konwersji
Blok danych DB (wynikowy DB) = (numeru bazowego bloku DB xxxxx + start_register - offset_DB_no.)
Słowo danych DBW = (start_register word_no.* 2)
Jeżeli wynikowy blok DB, który będzie odczytywany jest znany, adres Modbus start_register wymagany w systemie nadrzędnym (master system) może być obliczony za pomocą następującej formuły: start_register = ((wynikowy DB – numer bazowego DB) * 512) + (data word_DBW / 2)
Do tego celu mogą być używane tylko parzyste numery słów danych.
DATA value
Dowolna wartość może być użyta jako wartość DATA (wartość rejestru).
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 185
Modbus/USS
3.6 Sterownik Modbus Slave
Przykład aplikacji dla parametryzacji:
Tabela 3-29 Konwertowanie adresowania Modbus dla kodów funkcji FC 03, 06, 16
Adres Modbus w ramce danych transmisji
0
Obszar pamięci SIMATIC
Począwszy od bloku danych (numer bazowego DB)
DB 800
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Register address
Register value
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#6
W#16#0180
W#16#3E7F
Adres slave
Kod funkcji
Adres startowy rejestru
Wartość rejestru
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Register address
Register value
Typ
BYTE
BYTE
WORD
WORD
Wartość bieżąca
B#16#5
B#16#6
W#16#0180
W#16#3E7F
Komentarz
Adres slave
Kod funkcji
Adres startowy rejestru
Wartość rejestru
186
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "start_register" 0180 hex (384 dziesiętnie) jest interpretowany następująco:
Numer rejestru Modbus
Rysunek 3-15 Interpretacja numeru rejestru Modbus 0180 Hex
Blok danych DB (wynikowy
DB)
= (numer bazowego DB xxxxx + start_register offset_DB_no.)
= (800 + 0)
= 800 ;
Słowo danych DBW = (start_register word_no.* 2)
= (384 * 2)
= 768 ;
DB 800, słowo danych DBW 768 jest dostępne.
Kolejne przykłady
Kolejne przykłady dostępu można znaleźć w części dla FC 03.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 187
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.12
Kod funkcji 08 – Test diagnostyczny pętli zwrotnej (Loop Back Diagnostic
Test)
Cel i struktura
Kod funkcji 08 – Test diagnostyczny pętli zwrotnej jest charakteryzowany następująco:
Funkcja Funkcja ta jest używana do sprawdzenia połączenia komunikacyjnego. Nie ma wpływu na S7 CPU, program użytkownika lub dane użytkownika. Odebrana ramka danych jest zwracana niezależnie do systemu nadrzędnego master przez sterownik.
Ramka danych żądania
Ramka danych odpowiedzi ADDR FUNC Kod diagnostyczny
(wysoki, niski)
Kod diagnostyczny
ADDR FUNC Kod diagnostyczny
(wysoki, niski)
Dane testowe CRC
Dane testowe CRC
Tylko kod diagnostyczny 0000 jest obsługiwany.
Dane testowe
LEN w bajtach
Dowolna wartość (16-bitowa).
6
Application example
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Diagnostic code
Register value
Typ
BYTE
BYTE
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#8
B#16#0000
B#16#A5C3
Adres slave
Kod funkcji
Kod diagnostyczny
Dane testowe
Docelowy blok DB RCV
Tabela poniżej przedstawia zawartość docelowego bloku RCV:
Adres
+0.0
+1.0
+2.0
+4.0
Nazwa
Address
Function
Diagnostic code
Test value
Typ
BYTE
BYTE
WORD
WORD
Wartość bieżąca
B#16#5
B#16#8
B#16#0000
B#16#A5C3
Komentarz
Adres slave
Kod funkcji
Kod diagnostyczny
Dane testowe
188
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.13
Kod funkcji 15 – Forsowanie kilku cewek (Force Multiple Coils)
Cel i struktura
Kod funkcji 15 – Forsowanie kilku cewek jest charakteryzowane następująco:
Funkcja Funkcja ta umożliwia systemowi nadrzędnemu Modbus master zapis kliku bitów do obszarów pamięci SIMATIC wymienionych poniżej.
CRC Ramka danych żądania
Ramka
ADDR FUNC start_address Ilość
ADDR FUNC start_address danych odpowiedzi
LEN w bajtach > 6 byte_count N n DATA n bajtów DATA CRC
start_address
Sterownik interpretuje adres bitu Modbus "start_address" następująco:
Blok FB 81 (S_MODB) sprawdza czy "coil_address" znajduje się w jednym z obszarów określonych w bloku konwersji DB dla FC 01, 05, 15 ( z/do: flag, wyjść, timerów, liczników).
Jeżeli adres bitu Modbus "start_address" jest w obszarze
Od aaaaa do bbbbb
Od ccccc do ddddd
Jeżeli adres bitu Modbus "start_address" jest w obszarze
Począwszy od flagi
Począwszy od wyjścia
F uuuu.0
Q ooooo.0
Adres dostępu (konwersja adresu) jest obliczany następująco:
Początek dostępu w SIMATIC
Bajt flagi
Bajt wyjścia
Formuła konwersji
= ((start_address - cccc) / 8) + uuuu
= ((start_address - aaaa) / 8) + oooo
Dostęp do bitów pamięci i wyjść
Podczas dostępu do bitów pamięci i obszaru wyjść SIMATIC, pozostały bit_number jest obliczany i używany do adresowania odpowiedniego bitu wewnątrz bitów pamięci lub bajtu wyjść.
Dostęp do timerów i liczników
Dostęp do obszarów timerów i liczników SIMATIC nie jest dozwolony z kodem funkcji FC 15 i jest odrzucany przez sterownik, który generuje ramkę komunikatu błędu.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 189
Modbus/USS
3.6 Sterownik Modbus Slave
Ilość
Dowolna wartość pomiędzy 1 i 1696 może być użyta do zdefiniowania ilości (liczby bitów).
DATA
Pole DATA zawiera statusy bitów (dowolne wartości).
Przykład aplikacji
Tabela Konwertowanie adresowania Modbus dla kodów funkcji FC 01, 05, 15
Adres Modbus w ramce danych transmisji
Od 0 do 2047
Od 2048 do 2559
Obszar pamięci SIMATIC
Począwszy od flagi F 1000.0
Począwszy od wyjścia Q 256.0
Operacja
System MODBUS master chce zapisać następujące stany bitów do bitów pamięci M 1144.0 ...
M 1144.7 and M 1145.0 ... M 1145.3:
Flaga
F 1144
7
ON
6
ON
5
OFF
4
OFF
3
ON
2
ON
1
OFF
0
ON
Bit
Flaga
F 1145 -
7
-
6
-
5
-
4 3
ON
2
OFF
1
OFF
0
ON
Bit
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Adres
+0.0
+1.0
+2.0
+4.0
+6.0
Nazwa
Address
Function
Bit start address
Number of bits coil_state[1]
Typ
BYTE
BYTE
WORD
INT
WORD
Wartość początkowa Komentarz
B#16#5
B#16#0F
W#16#0058
10
W#16#EFCD
Adres slave
Kod funkcji
Adres startowy bitu
Ilość bitów
Cewka statusu
5FH..58H/57H..50H
190
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "coil_address" 0480 hex (1152 dziesiętnie) znajduje się w obszarze flag:
+ uuuuu
+ 1000
Bajt flag = ((start_address - aaaaa)
=((1152 - 0)
=1144;
Pozostały bit_number posiada następujący wynik:
/ 8)
/ 8)
Pozostały bit_no.
= ((start_address - aaaaa)) % 8)
=((1152 -0)
= 0;
% 8)
Flagi są dostępne począwszy od F 1144.0.
[Modulo 8]
Kolejne przykłady
Kolejne przykłady dostępu do flag i wyjść odnoszą się do FC 01.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 191
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.14
Kod funkcji 16 – Ustawianie kilku rejestrów (Preset Multiple Registers)
Cel i struktura
Kod funkcji 16 – Ustawianie kilku rejestrów jest charakteryzowane następująco:
Funkcja Funkcja ta umożliwia systemowi nadrzędnemu Modbus master zapis kilku słów danych do bloku danych w CPU.
CRC Ramka danych żądania
Ramka
ADDR FUNC start_register
ADDR FUNC start_register danych odpowiedzi
LEN w bajtach > 6
Ilość byte_count N
Ilość n DATA
(wysoki, niski)
CRC
start_register
Sterownik interpretuje adres rejestru Modbus "start_register" następująco:
Numer rejestru Modbus
Ilość
Rysunek 3-16 Interpretacja numeru rejestru Modbus
Do dalszego generowania adresu, blok FB 81 (S_MODB) używa numeru bazowego bloku DB
(od DB xxxxx) określonego w bloku konwersji DB dla FC 03, 06, 16 podczas parametryzacji.
Adres dostępu (konwersja adresu) jest obliczany w dwóch krokach:
Dostęp w SIMATIC Formuła konwersji
Blok danych DB (wynikowy DB) = (numeru bazowego bloku DB xxxxx + start_register - offset_DB_no.)
Słowo danych DBW = (start_register word_no.* 2)
Jeżeli wynikowy blok DB, który będzie odczytywany jest znany, adres Modbus start_register wymagany w systemie nadrzędnym (master system) może być obliczony za pomocą następującej formuły: start_register = ((wynikowy DB – numer bazowego DB) * 512) + (data word_DBW / 2)
Do tego celu mogą być używane tylko parzyste numery słów danych.
Dowolna wartość pomiędzy 1 i 109 może być użyta do zdefiniowania ilości (liczby rejestrów).
192
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
DATA (wysoki, niski)
Dowolna wartość może być użyta jako wartość DATA (wysoki, niski) (wartość rejestru). System nadrzędny Modbus chce zapisać wartości CD09 hex, DE1A hex i EF2B hex do słów danych
DBW 100, DBW 102 i DBW 104 z DB 800.
Przykład aplikacji
Tabela 3-31 Konwertowanie adresowania Modbus dla kodów funkcji FC 03, 06, 16
Adres Modbus w ramce danych transmisji
0
Obszar pamięci SIMATIC
Począwszy od bloku danych
(numer bazowego DB)
DB 800
Adres
+0.0
+1.0
+2.0
+4.0
+6.0
+8.0
+10.0
Źródłowy blok DB SEND
Tabela poniżej zawiera strukturę obszaru źródłowego SEND:
Nazwa Typ
Address
Function
Register start address
BYTE
BYTE
WORD
Number of registers INT reg_data[1] WORD reg_data[2] reg_data[3]
WORD
WORD
Wartość początkowa Komentarz
B#16#5
B#16#10
W#16#0060
3
W#16#41A1
W#16#42A2
W#16#43A3
Adres slave
Kod funkcji
Adres startowy rejestru
Liczba rejstrów
Wartość rejestru
Wartość rejestru
Wartość rejestru
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 193
Modbus/USS
3.6 Sterownik Modbus Slave
Obliczenia adresu:
Adres Modbus "start_register" 0032 hex (50 dziesiętnie) jest interpretowany następująco:
Numer rejestru Modbus
Rysunek 3-17 Interpretacja numeru rejestru Modbus 0032 Hex
Blok danych DB
(wynikowy DB)
= (numer bazowego DB xxxxx + start_register offset_DB_no.)
=(800 + 0)
= 800 ;
Słowo danych DBW = (start_register word_no.* 2)
=(50 * 2)
= 100;
DB 800, słowo danych DBW 100 jest dostępne.
Kolejne przykłady
Kolejne przykłady dostępu można znaleźć w części dla FC 03.
194
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.15
Konwersja kodów funkcji zorientowanych bitowo
Kod funkcji 02
Kod funkcji zorientowany bitowo 02 powala na zabezpieczony przed zapisem dostęp do obszarów flag i wejść SIMATIC.
Blok konwersji DB może być użyty do określenia adresu Modbus od/do których flag i wejść jest dostęp. Jest również możliwa parametryzacja elementu danych w obszarze pamięci SIMATIC, od którego dostęp powinien się rozpoczynać.
Obszary adresów Modbus i obszary pamięci SIMATIC kodu FC 02 mogą być wybierane oddzielnie od tych dla kodów FC 01, 05 i 15.
Tabela 3-32 Obszary adresów
Adres Modbus w ramce danych transmisji
Od kkkkk
Do lllll
Od nnnnn
Do rrrr
Obszar pamięci SIMATIC
Flag Począwszy od
F vvvv.0
Wejść Począwszy od
I sssss.0
3.6.16
Konwersja kodów funkcji zorientowanych rejestrowo
Kody funkcji 03, 06, 16
Kody funkcji zorientowane rejestrowo 03, 06 i 16 powala na dostęp do odczytu i zapisu do obszaru pamięci bloków danych SIMATIC.
Wymagany numer bloku danych jest obliczany w dwóch krokach.
1. Interfejs parametryzacji może być użyty do określenia numeru bazowego DB. Ten bazowy DB będzie pierwszym DB, który będzie dostępny.
2. Adres Modbus start_register (numer rejestru) transmitowany w ramce danych jest interpretowany następująco:
Numer rejestru Modbus
Rysunek 3-18 Interpretacja numeru rejestru Modbus
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 195
Modbus/USS
3.6 Sterownik Modbus Slave
Numer wynikowego DB
Numer wynikowego DB, który jest dostępny jest otrzymywany następująco:
Numer bazowego DB + numer offsetu DB.
Może być używany do dostępu do obszaru bloku danych składającego się z 128 kolejnych bloków danych wewnątrz całego adresowalnego obszaru bloków danych (65535 bloków DB).
Numer słowa w DB
Numer słowa może być używany do adresowania obszaru od DBW 0 do DBW 1022 wewnątrz całego bloku danych.
Blok DB, którego podstawowa struktura jest zorganizowana w bajty, jest interpretowany przez sterownik słowo-po-słowie (word-by-word).
Uwagi dotyczące kodu funkcji 04
Zorientowany rejestrowo kodu funkcji 04 pozwala tylko na dostęp do odczytu do obszaru pamięci bloków danych SIMATIC.
Sposób dostępu jest taki sam jak dla kodów funkcji 03, 06, 16.
Określony numer bazowego DB może być dowolnie parametryzowany dla kodu funkcji 04 w bloku konwersji DB. Umożliwia to wybór drugiego, niezależnego obszaru składającego się ze
128 bloków DB.
Jednak, te bloki DB mogą być tylko odczytywane.
196
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.17
Odblokowanie/zablokowanie dostępu do zapisu
Kody funkcji 05, 06, 15, 16
Dla kodów funkcji zapisu 05, 06, 15 i 16, istnieje możliwość zablokowania lub ograniczenia dostępu do odpowiednich obszarów pamięci SIMATIC.
Można użyć bloku konwersji DB do określenia obszaru, który jest odblokowany do zapisu przez system nadrzędny Modbus master system.
Jeżeli master próbuje uzyskać dostęp do obszarów pamięci SIMATIC, które są poza tym odblokowanym obszarem to dostęp jest zablokowany poprzez ramkę danych błędu (wyjątek).
Tabela przedstawia jak zapis jest odblokowany.
Tabela 3-33
38.0
40.0
42.0
44.0
46.0
48.0
50.0
Odblokowanie dostępu do zapisu
DB_Number
_FC_04
DB_Min
DB_Max
F_Min
F_Max
Q_Min
Q_Max
WORD
WORD
WORD
WORD
WORD
WORD
WORD
W#16#0
W#16#0
W#16#0
W#16#2
W#16#1
W#16#6
DB 04
Najmniejszy użyty numer DB Granice
Największy użyty numer DB
W#16#0 W#16#1F4 Najmniejsza użyta flaga
W#16#0 W#16#4B0 Największa użyta flaga
W#16#0 W#16#0
W#16#0 W#16#64
Najmniejsze użyte wyjście
Największe użyte wyjście
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 197
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.18
Konwertowanie adresów Modbus dla funkcji bitowych
Kody funkcji 01, 05, 15
Kody funkcji zorientowany bitowo 01, 05 i 15 pozwala na dostęp do odczytu i zapisu obszarów pamięci flag, wyjść, timerów i liczników SIMATIC.
Timery i liczniki są zabezpieczone przed zapisem za pomocą FC 01.
Blok konwersji DB może być użyty do określenia adresu Modbus od/do których wyjść, timerów i liczników jest dostęp. Jest również możliwa parametryzacja elementu danych w obszarze pamięci SIMATIC, od którego dostęp powinien się rozpoczynać.
Przegląd 01, 05, 15
Tabela 3-34
Parametr DB
Konwertowanie adresowania Modbus dla kodów funkcji FC 01, 05, 15
Wejście
Obszar flag SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od aaaa
Do bbbb
Od 0 do 65 535 (dziesiętnie)
Znaczenie
Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu flag Obszar pamięci SIMATIC
Flagi
(flagi)
Obszar wyjść SIMATIC
Począwszy od
F uuuuu.0
Adres Modbus w ramce danych transmisji
(numer bitu)
Od cccc
Do dddd
Od 0 do 65 535 (dziesiętnie)
Od 0 do 65 535 (dziesiętnie)
Początek od tego adresu
Modbus
Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu wyjść
Obszar pamięci SIMATIC
Wyjścia
(numer bajtu wyjścia)
Począwszy od
Q ooooo.0
Obszar timerów SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od eeee
Do ffff
Od 0 do 65 535 (dziesiętnie)
Od 0 do 65 535 (dziesiętnie)
Początek od tego adresu
Modbus
Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego timera (=
16-bitowe słowo)
Obszar pamięci timerów SIMATIC
(numer timera)
Począwszy od
Do ttttt
Obszar liczników SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od gggg
Do hhhh
Obszar pamięci liczników SIMATIC
(numer licznika)
Począwszy od
C zzzzz
Od 0 do 65 535 (dziesiętnie)
Od 0 do 65 535 (dziesiętnie)
Początek od tego adresu
Modbus
Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego licznika
(= 16-bitowe słowo)
198
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
"Od/do" adresu Modbus
Adres "Od" może być użyty do parametryzacji początkowego adresu Modbus odpowiedniego obszaru (np.: flag, wyjść, itp.). Innymi słowy jest numerem pierwszego bitu w obszarze.
Adres "Do"może być użyty do parametryzacji końcowego adresu Modbus odpowiedniego obszaru (np.: flag, wyjść, itp.). Innymi słowy jest numerem ostatniego bitu w obszarze.
Adresy "Od"/"Do" odnoszą się do adresów Modbus w ramce danych transmisji (numery bitów od 0) dla kodów funkcji FC 01, 05 i 15.
Poszczególne obszaru "Od/Do" nie mogą się pokrywać.
Przerwy pomiędzy poszczególnymi obszarami "Od/Do" są dopuszczalne.
Obszary pamięci SIMATIC "Począwszy od"
"Począwszy od" mogą być używane do określania początku obszaru SIMATIC do którego są mapowane obszary Modbus "Od/Do" (= pierwszy numer bajtu flagi/bajtu wyjścia/timera/licznika z obszaru SIMATIC).
Przykład dla FC 01, 05, 15
Tabela 3-35
Parametr DB
Konwertowanie adresowania Modbus dla kodów funkcji FC FC 01, 05, 15
Wejście
Obszar flag SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 0
Do 2047
Od 0 do 65 535 (dziesiętnie)
Znaczenie
Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu flag Obszar pamięci SIMATIC
Flagi
(flagi)
Obszar wyjść SIMATIC
Począwszy od
F 1000.0
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 2048
Do 2559
Od 0 do 65 535 (dziesiętnie) Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu wyjść
Obszar pamięci SIMATIC
Wyjścia
(numer bajtu wyjścia)
Obszar timerów SIMATIC
Począwszy od
Q 256.0
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 4096
Do 4255
Obszar pamięci timerów SIMATIC
(numer timera)
Począwszy od
T 100
Od 0 do 65 535 (dziesiętnie) Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego timera (=
16-bitowe słowo)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 199
Modbus/USS
3.6 Sterownik Modbus Slave
Parametr DB
Obszar liczników SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 4256
Do 4415
Obszar pamięci liczników SIMATIC
(numer licznika)
Począwszy od
C 120
Wejście Znaczenie
Od 0 do 65 535 (dziesiętnie) Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego licznika
(= 16-bitowe słowo)
Adresy Modbus od 0 do 2047 udostępniają flagi SIMATIC począwszy od flagi F 1000.0.
Oznacza to że długość obszaru = 2048 bitów = 256 bajtów, co oznacza, że ostatni bit flag =
F 1255.7.
Adresy Modbus od 2048 do 2559 udostępniają wyjścia SIMATIC począwszy od wyjścia
Q 256.0. Oznacza to że długość obszaru = 512 bitów = 64 bajtów, co oznacza, że ostatni bit wyjść = Q 319.7.
Adresy Modbus od 4096 do 4255 udostępniają timery SIMATIC począwszy timera T 100.
Oznacza to że długość obszaru = 160 bitów = 10 słów, co oznacza, że ostatni timer = T 109.
Adresy Modbus od 4256 do 4415 udostępniają liczniki SIMATIC począwszy od licznika C 120.
Oznacza to że długość obszaru = 160 bitów = 10 słów, co oznacza, że ostatni licznik = C 129.
Przegląd FC 02
Tabela 3-36
Parametr DB
Konwertowanie adresowania Modbus dla FC 02
Wejście
Obszar flag SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od
Do
Od 0 do 65 535 (dziesiętnie)
Od 0 do 65 535 (dziesiętnie)
Znaczenie
Początek od tego adresu
Modbus
Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu flag Obszar flag SIMATIC
Obszar wejść SIMATIC
Począwszy od
Adres Modbus w ramce danych transmisji
(numer bitu)
Od
Do
Obszar wejść SIMATIC
(numer bajtu wejścia) I
Począwszy od
Od 0 do 65 535 (dziesiętnie)
Od 0 do 65 535 (dziesiętnie)
Początek od tego adresu
Modbus
Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu wejść
200
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
"Od/do" adresu Modbus
Adres "Od" może być użyty do parametryzacji początkowego adresu Modbus odpowiedniego obszaru (np.: flag, wejść, itp.). Innymi słowy jest numerem pierwszego bitu w obszarze.
Adres "Do"może być użyty do parametryzacji końcowego adresu Modbus odpowiedniego obszaru (np.: flag, wyjść, itp.). Innymi słowy jest numerem ostatniego bitu w obszarze.
Adresy "Od"/"Do" odnoszą się do adresów Modbus w ramce danych transmisji (numery bitów od 0) dla kodu funkcji FC 02.
Poszczególne obszaru "Od/Do" nie mogą się pokrywać.
Przerwy pomiędzy poszczególnymi obszarami "Od/Do" są dopuszczalne.
Obszary pamięci SIMATIC "Począwszy od"
"Począwszy od" mogą być używane do określania początku obszaru SIMATIC do którego są mapowane obszary Modbus "Od/Do" (= pierwszy numer bajtu flagi/bajtu wejścia z obszaru
SIMATIC).
Przykład dla FC 02
Tabela 3-37
Parametr DB
Konwertowanie adresowania Modbus dla kodu funkcji FC 02
Wejście
Obszar flag SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 0
Do 4095
Od 0 do 65 535 (dziesiętnie)
Znaczenie
Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu flag Obszar flag SIMATIC Począwszy od
F 0.0
Obszar wejść SIMATIC
Adres Modbus w ramce danych transmisji
(numer bitu)
Od 4096
Do 5119
Obszar wejść SIMATIC
(numer bajtu wejścia)
Począwszy od
I 128.0
Od 0 do 65 535 (dziesiętnie) Początek od tego adresu
Modbus
Od 0 do 65 535 (dziesiętnie) Włącznie z tym adresem
Modbus
Od 0 do 65 535 (dziesiętnie) Począwszy od tego bajtu wejść
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 201
Modbus/USS
3.6 Sterownik Modbus Slave
Adresy Modbus od 0 do 4095 udostępniają flagi SIMATIC począwszy od flagi F 0.0: oznacza to że długość obszaru = 4096 bitów = 512 bajtów, co oznacza, że ostatni bit flag = F 511.7.
Adresy Modbus od 4096 do 5119 udostępniają wejścia SIMATIC począwszy od wejścia I 128.0: oznacza to że długość obszaru = 1024 bitów = 128 bajtów, co oznacza, że ostatni bit wejść =
I 255.7.
Uwaga
Wartość wprowadzona dla "Począwszy od flagi" jest całkowicie niezależna od wartości ustawionej dla "Począwszy od flagi" dla kodów funkcji 01, 05, 15.
Oznacza to, że z kodem FC 02 jest również możliwe użycie drugiego obszaru flag SIMATIC
(tylko do odczytu), który jest całkowicie niezależny od pierwszego.
202
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.19
Konwertowanie adresów Modbus dla funkcji rejestrów
Przegląd FC 03, 06 i 16
Tabela 3-38
Parametr DB
Konwertowanie adresowania Modbus dla FC 03, 06, 16
Wejście
Obszar bloków danych SIMATIC
Modbus address = 0 w ramce danych transmisji
(numer rejestru) oznacza dostęp do:
Obszar pamięci bloków danych SIMATIC Począwszy od
DB
Od 1 do 65 535 (dziesiętnie)
Znaczenie
Począwszy od tego bloku danych
Począwszy od DBW 0
(= numer bazowego DB)
Począwszy od DB
" Począwszy od DB" może użyte do określenia pierwszego bloku danych obszaru SIMATIC, który będzie dostępny (= numer bazowego DB).
Ten DB jest dostępny gdy numer rejestru w ramce danych Modbus posiada wartość 0, począwszy od słowa danych DBW 0.
Wyższe numery rejestrów Modbus udostępniają słowa danych/bloki danych poprzedzone tym.
Może być zaadresowanych do 127 kontynuowanych DB.
Sterownik interpretuje bity 9 - 15 z numeru rejestru Modbus w celu dostępu do poszczególnych kontynuowanych DB.
Przykład aplikacji
Tabela 3-39
Parametr DB
Konwertowanie adresowania Modbus dla FC 03, 06 i 16
Wejście
Obszar bloków danych SIMATIC
Modbus address = 0 w ramce danych transmisji
(numer rejestru) oznacza dostęp do:
Obszar pamięci bloków danych SIMATIC Począwszy od
DB 800
Od 1 do 65 535 (dziesiętnie)
Znaczenie
Począwszy od tego bloku danych
Począwszy od DBW 0
(od numeru bazowego DB)
Adres rejestru Modbus 0 może być użyty w systemie SIMATIC do dostępu do bloku danych 800 począwszy od DBW 0.
Wyższe adresy rejestrów Modbus (≥ 512, itp.) udostępniają DB poprzedzone tym, jak DB 801 i tak dalej.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 203
Modbus/USS
3.6 Sterownik Modbus Slave
Przegląd FC 04
Tabela 3-40
Parametr DB
Konwertowanie adresowania Modbus dla FC 04
Wejście
Obszar bloków danych SIMATIC
Modbus address = 0 w ramce danych transmisji
(numer rejestru) oznacza dostęp do:
Obszar pamięci bloków danych SIMATIC Począwszy od
DB
Od 1 do 65 535 (dziesiętnie)
Znaczenie
Począwszy od tego bloku danych
Począwszy od DBW 0
(od numeru bazowego DB)
Począwszy od DB
" Począwszy od DB" może użyte do określenia pierwszego bloku danych obszaru SIMATIC, który będzie dostępny (= numer bazowego DB).
Ten DB jest dostępny gdy numer rejestru w ramce danych Modbus posiada wartość 0, począwszy od słowa danych DBW 0.
Wyższe numery rejestrów Modbus udostępniają słowa danych/bloki danych, poprzedzone tym.
Może być zaadresowanych do 127 kontynuowanych DB. Sterownik interpretuje bity 9 - 15 z numeru rejestru Modbus w celu dostępu do poszczególnych kontynuowanych DB.
Uwaga
Wartość wprowadzona dla "Począwszy od DB" jest całkowicie niezależna od wartości ustawionej dla "Począwszy od DB" dla kodów funkcji 03, 06 i 16.
Z FC 04 jest również możliwe użycie drugiego obszaru bloku danych SIMATIC (tylko do odczytu), który jest całkowicie niezależny od pierwszego.
Przykład dla FC 04
Tabela 3-41 Konwertowanie adresowania Modbus dla FC 04
Parametr DB
Obszar bloków danych SIMATIC
Modbus address = 0 w ramce danych transmisji
(numer rejestru) oznacza dostęp do:
Obszar pamięci bloków danych SIMATIC Począwszy od
DB 1200
Wejście Znaczenie
Od 1 do 65 535 (dziesiętnie) Począwszy od tego bloku danych
Począwszy od DBW 0
(od numeru bazowego DB)
Adres rejestru Modbus 0 może być użyty w systemie SIMATIC do dostępu do bloku danych
1200 począwszy od DBW 0.
Wyższe adresy rejestrów Modbus (≥ 512, 1024,itp.) udostępniają DB poprzedzone tym, jak DB
1201, 1202 i tak dalej.
204
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.6 Sterownik Modbus Slave
3.6.20
Ograniczenia dla funkcji zapisu
Przegląd FC 05, 06 i 16
Tabela 3-42 Granice SIMATIC dla dostępu do zapisu (FC 05, 06, 16)
Parametr DB
Bloki danych DB: Numer wynikowego DB
DB MIN
DB MAX
Wejście
Od 1 do 65 535
Od 1 do 65 535
Flagi F
(numer bajtu flag)
Wyjścia Q
(numer bajtu wyjść)
F MIN
F MAX
Q MIN
Q MAX
Od 1 do 65 535
Od 1 do 65 535
Od 1 do 65 535
Od 1 do 65 535
Znaczenie
Pierwszy odblokowany DB
Ostatni odblokowany DB
MAX=0 wszystkie DB zablokowane
Pierwszy odblokowany bajt flag
Ostatni odblokowany bajt flag
MAX=0 wszystkie flagi zablokowane
Pierwszy odblokowany bajt wyjść
Ostatni odblokowany bajt
MAX=0 wszystkie wyjścia zablokowane
MIN/MAX obszaru pamięci SIMATIC
Dla kodów funkcji zapisu istnieje możliwość określenia dolnych i górnych granic dostępu
(MIN/MAX). Dostępu do zapisu jest możliwy tylko wewnątrz tego odblokowanego obszaru.
Jeżeli wartość dla górnej granicy jest 0 to cały obszar jest zablokowany.
Podczas wybierania rozmiaru obszaru w SIMATIC proszę pamiętać, że zależy od CPU.
Jeżeli master próbuje uzyskać dostęp do zapisu do obszaru poza górną/dolną granicą to jest odrzucany przez moduł z ramką danych błędu.
Wartości MIN/MAX dla obszaru bloków danych muszą być określone jako liczby wynikowych
DB.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 205
Modbus/USS
3.6 Sterownik Modbus Slave
Application example for FC 05, 06, 16
Tabela 3-43 Granice SIMATIC dla dostępu do zapisu (FC 05, 06, 16)
Parametr DB
Bloki danych DB: Numer wynikowego DB
MIN 600
MAX 699
Wejście
Od 1 do 65 535
Od 1 do 65 535
Flagi F
(numer bajtu flag)
Wyjścia Q
(numer bajtu wyjść)
MIN 1000
MAX 1127
MIN 256
MAX 319
Od 1 do 65 535
Od 1 do 65 535
Od 1 do 65 535
Od 1 do 65 535
Znaczenie
Pierwszy odblokowany DB
Ostatni odblokowany DB
MAX=0 wszystkie DB zablokowane
Pierwszy odblokowany bajt flag
Ostatni odblokowany bajt flag
MAX=0 wszystkie flagi zablokowane
Pierwszy odblokowany bajt wyjść
Ostatni odblokowany bajt
MAX=0 wszystkie wyjścia zablokowane
Bloki danych SIMATIC DB 600 do DB 699 mogą być dostępne za pomocą kodów funkcji zapisu
(FC 06, 16).
Bajty flag SIMATIC 1000 do 1127 (FC 05, 15) mogą być dostępne za pomocą kodów funkcji zapisu.
Bajty wyjść SIMATIC 256 do 319 (FC 05, 15) mogą być dostępne za pomocą kodów funkcji zapisu.
206
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
3.7
Diagnostyka
3.7.1
Zasada
Opcje diagnostyczne
Funkcje diagnostyczne w module interfejsu szeregowego ET 200S Modbus/USS mogą być użyte do określenia przyczyn dowolnych błędów występujących podczas pracy. Są dostępne następujące opcje diagnostyczne:
● Diagnostyka poprzez diody statusowe LED na przednim panelu modułu interfejsu szeregowego ET 200S Modbus/USS
● Diagnostyka poprzez wyjście STATUS bloków funkcyjnych
● Diagnostyka poprzez diagnostykę PROFIBUS slave
3.7.2
Informacje diagnostyczne w wykorzystaniem diod LED
Funkcje statusowych diod LED
Następujące diody statusowe LED są zlokalizowane na przednim panelu modułu interfejsu szeregowego ET 200S Modbus/USS:
● TX (zielona): Świeci gdy moduł interfejsu szeregowego ET 200S Modbus/USS wysyła dane poprzez interfejs.
● RX (zielona): Świeci gdy moduł interfejsu szeregowego ET 200S Modbus/USS odbiera dane poprzez interfejs.
● SF (czerwona): Dioda grupowego błędu LED wskazuje jeden z następujących możliwych błędów/awarii:
– Awaria sprzętu
– Błąd ustawiania parametrów
– Przerwany lub rozłączony kabel pomiędzy modułem interfejsu szeregowego ET 200S
Modbus/USS a partnerem komunikacji: Tylko wykrywany w diagnostyce slave połączeń interfejsu RS 422 jeżeli stan początkowy linii odbierania jest ustawiony na
R(A) 5 V/R(B) 0 V.
– Błędy komunikacji (parzystość, błędy ramki, przepełnienie bufora)
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 207
Modbus/USS
3.7 Diagnostyka
3.7.3
Komunikaty diagnostyczne bloków funkcyjnych
Struktura komunikatów diagnostycznych bloków funkcyjnych
Każdy blok funkcyjny posiada parametr STATUS dla diagnostyki błędów. Numery komunikatów
STATUS posiadają zawsze takie samo znaczenie niezależnie od tego, który blok funkcyjny jest używany. Rysunek poniżej przedstawia strukturę parametru STATUS.
Nr bitu
Rezerwa Klasa zdarzenia Klasa zdarzenia
(numer błędu)
Rysunek 3-19 Struktura parametru STATUS
Przykład: Rysunek poniżej przedstawia zawartość parametru STATUS dla zdarzenia "Żądanie anulowane z powodu restartu, warm restartu lub resetu" ("Request canceled due to restart, warm restart or reset") (klasa zdarzenia 1E H , numer zdarzenia 0D H ).
Zdarzenie: Żądanie przerwane z powodu restartu lub resetu
Rezerwa Klasa zdarzenia:1E
H
Klasa zdarzenia:0D
H
Rysunek 3-20 Przykład: Parametr STATUS dla zdarzenia klasy 1EH, zdarzenia 0DH
Wywołanie zmiennej SFCERR
Zmienna SFCERR zawiera dodatkowe informacje o błędach 14 (1E 0E
H
) i 15 (1E
0F
H
) należących do klasy zdarzenia 30.
Można załadować zmienną SFCERR z bloku lokalnego DB odpowiedniego bloku funkcyjnego.
Komunikaty błędów zapisywane do zmiennej SFCERR są opisane w rozdziałach o funkcjach systemowych "DPRD_DAR" i SFC15 "DPWR_DAT" w instrukcji System Software for S7-
300/400, System and Standard Functions.
208
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
Znaczenie komunikatów diagnostycznych bloków funkcyjnych
Poniższa tabela zawiera klasy zdarzenia, definicje numerów zdarzeń i rekomendowany sposób naprawy dla każdego warunku błędu.
Tabela 3-44 Klasa zdarzenia 2 (0x02 hex): Błąd wykonywania żądania CPU
Klasa zdarzenia 2 (0x02 hex): Błąd inicjalizacji
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
(02) 01
H
1 Brak (prawidłowej) parametryzacji.
Sposób naprawy
Przypisać modułowi prawidłowe parametry.
Jeżeli zachodzi konieczność sprawdzić, czy system jest prawidłowo zainstalowany.
Tabela 3-45
Klasa zdarzenia 5 (05 hex): Błąd podczas wykonywania żądania CPU
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie Sposób naprawy
(05) 02
H
(05) 0E
H
2
14
Żądanie nie dozwolone w tym trybie pracy modułu interfejsu szeregowego ET
200SModbus/USS(np. interfejs urządzenia nie jest sparametryzowany).
Nieprawidłowa długość ramki danych.
Przeanalizować przerwanie diagnostyczne i naprawić błąd.
Długość wysyłanej ramki danych przekracza
224 bajty. Moduł ET 200S Modbus/USS anulował żądanie wysyłania.
Należy wybrać krótszą długość ramki danych.
(05) 30
H
(05) 51
H
Klasa zdarzenia 5 (05 hex): Błąd wykonywania żądania CPU
48
81
Wysłane żądanie Modbus master zostało odrzucone ponieważ odpowiedź od partnera komunikacji na poprzednio odczytane żądanie wysyłania Modbus master nie zostało jeszcze odebrane.
Po pozytywnym potwierdzeniu odczytania żądania wysyłania Modbus master, należy odczytać z modułu odpowiedź partnera komunikacji zanim uruchomi się nowe żądanie wysyłania Modbus master.
Błąd wykonania ramki podczas komunikacji pomiędzy modułem interfejsu szeregowego ET 200S
Modbus/USS a CPU. Błąd wystąpił w CPU podczas transmisji odebranej z ramki modułu ET 200S SI interfejsu szeregowego.
Moduł i CPU anulują transmisję. Należy powtórzyć żądanie odbierania. Moduł interfejsu szeregowego ET 200S Modbus/USS wysyła odebraną ramkę ponownie.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 209
Modbus/USS
3.7 Diagnostyka
Tabela 3-46 Klasa zdarzenia 8 (08 hex): Błędy odbierania
Klasa zdarzenia 8 (08 hex): Błędy odbierania
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
(08) 06
H
08 0A
H
(08) 0C
(08) 0D
(08) 10
H
H
H
6
10
12
13
16
Upłynął czas opóźnienia znaku.
Dwa kolejne znaki nie zostały odebrane w ciągu czasu opóźnienia znaku.
Sposób naprawy
Partner komunikacji jest zbyt wolny lub uszkodzony. Sprawdzić ewentualne błędne działanie partnera; może zachodzić konieczność użycia urządzenia testowania interfejsu (FOXPG), które jest włączone do linii transmisyjnej.
Sprawdzić ustawienia protokołu urządzenia slave.
Przepełnienie bufora odbierania w urządzeniu master podczas odbierania ramki danych odpowiedzi.
Wykryty błąd transmisji (błąd parzystości/bitu stopu/przepełnienia).
Zakłócenia na linii transmisyjnej powodują powtarzanie ramki danych co zmniejsza przepustowość danych użytkownika. Zwiększa się ryzyko wystąpienia niewykrywanych błędów.
Należy zmienić ustawienia systemowe lub podłączenie kabli. Sprawdzić kable połączeniowe partnera komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Połączyć ponownie lub włączyć partnera.
PRZERWA: Przerwa w linii odbierania do partnera.
Błąd parzystości: Jeżeli świeci dioda SF LED (czerwona) to jest przerwa w kablu połączeniowym pomiędzy dwoma partnerami komunikacji.
Sprawdzić kable połączeniowe partnerów komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Należy zmienić ustawienia systemowe lub podłączenie kabli.
(08) 11
H
(08) 12
H
17
18
Błąd ramki znaku: Jeżeli świeci dioda SF LED (czerwona) to jest przerwa w kablu połączeniowym pomiędzy dwoma partnerami komunikacji.
Sprawdzić kable połączeniowe partnerów komunikacji lub sprawdzić czy oba urządzenia posiadają takie same ustawienia prędkości transmisji, parzystości i liczby bitów stopu.
Należy zmienić ustawienia systemowe lub podłączenie kabli.
Zostało odebranych więcej znaków po ustawieniu przez interfejs szeregowy CTS na
OFF.
Przekonfigurować partnera komunikacji lub szybciej czytać dane z interfejsu szeregowego.
210
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
Klasa zdarzenia 8 (08 hex): Błędy odbierania
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
08 30
H
48
08 31
08 32
08 33
08 34
H
H
H
H
49
50
51
52
Sposób naprawy
Master: Ramka danych żądania została wysłana i upłynął czas monitorowania odpowiedzi bez wykrycia początku ramki danych odpowiedzi.
Slave: Rozgłaszanie
(broadcast) nie jest dozwolone z tym kodem funkcji.
Master: Pierwszy znak w ramce danych odpowiedzi slave jest inny niż adres slave, który został wysłany w ramce danych żądania (dla normalnej pracy).
Odpowiedział inny slave.
Sprawdzić czy linia transmisyjna nie została przerwana (może zachodzić konieczność analizy interfejsu).
Ten kod funkcji nie może być używany dla tego sterownika.
Slave: Odebrany kod funkcji nie jest dozwolony.
Została przekroczona maksymalna liczba bitów lub rejestrów albo liczba bitów nie jest podzielna przez 16 gdy korzysta się z obszarów pamięci timerów lub liczników
SIMATIC.
Należy ograniczyć maksymalną liczbę bitów do
2040 i maksymalną liczbę rejestrów do 127.
Uzyskiwać dostęp do timerów, liczników
SIMATIC tylko w 16-bitowych odstępach.
Liczba bitów lub rejestrów dla kodu funkcji FC 15/16 i element ramki danych byte_count nie pasują.
Niedozwolone kodowanie bitu dla "Set bit/Reset bit".
Sprawdzić czy linia transmisyjna nie została przerwana (może zachodzić konieczność analizy interfejsu).
Sprawdzić czy zostały ustawione na module i partnerze komunikacji takie same wartości następujących parametrów protokołu: prędkość transmisji, liczba bitów danych, parzystość i liczba bitów stopu.
Sprawdzić czy wartość czasu monitorowania odpowiedzi w PtP_PARAM jest wystarczająco duża.
Sprawdzić czy określony adres urządzenia slave istnieje.
System nadrzędny Modbus master system ma możliwość używania funkcji rozgłaszania tylko dla kodów funkcji przeznaczonych do tego celu.
Poprawić liczbę bitów/rejestrów lub byte_count.
Dla FC 05 używać tylko kodowania 0000 hex lub FF00 hex.
08 35
H
53
08 36
H
54
Nieprawidłowy podkod diagnostyczny (nierówny 0000 hex) wykryty dla kodu funkcji
FC 08 "Loop back test".
Wygenerowana wewnętrznie wartość sumy kontrolnej
CRC 16 nie odpowiada odebranej sumie kontrolnej
CRC.
Dla FC 08 używać tylko podkodu (subcode)
0000 hex.
Sprawdzić generowanie sumy kontrolnej CRC w systemie nadrzędnym Modbus master system.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 211
Modbus/USS
3.7 Diagnostyka
Klasa zdarzenia 8 (08 hex): Błędy odbierania
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
08 37
H
55
08 50
H
80
Błąd sekwencji ramki danych:
System nadrzędny Modbus master system wysłał nową ramkę danych żądania zanim sterownik przesłał ostatnią ramkę danych odpowiedzi.
Długość odebranej ramki danych jest większa niż 224 bajtów lub zdefiniowana długość ramki danych.
Sposób naprawy
Zwiększyć timeout dla ramki danych odpowiedzi urządzenia slave dla systemu nadrzędnego
Modbus master system.
Dostosować długość ramki danych partnera.
Tabela 3-47 Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Parametryzacja>
Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Parametryzacja>
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
0E 20
H
32
0E 21
0E 22
0E 23
H
H
H
33
34
35
Liczba bitów danych dla tego połączenia musi być równa 8.
Sterownik nie jest gotowy do pracy.
Parametryzowany mnożnik dla czasu opóźnienia znaku jest spoza zakresu 1 do
10. Sterownik pracuje z domyślnym ustawieniem 1.
Tryb pracy ustawiony dla sterownika jest nieprawidłowy. Musi być określony "Normal operation" lub "Noise suppression operation". Sterownik nie jest gotowy do pracy.
Master: Została ustawiona nieprawidłowa wartość dla czasu monitorowania odpowiedzi: Prawidłowe wartości są pomiędzy 50 i 655 000 ms.
Sterownik nie jest gotowy do pracy.
Slave: Została ustawiona nieprawidłowa wartość dla adresu urządzenia slave. Adres slave równy 0 jest nieprawidłowy.
Sterownik nie jest gotowy do pracy.
Sposób naprawy
Poprawić parametryzację sterownika.
Poprawić parametryzację sterownika.
Poprawić parametryzację sterownika.
Poprawić parametryzację sterownika.
0E 2E
H
46 Wystąpił błąd podczas odczytu pliku parametrów interfejsu.
Sterownik nie jest gotowy do pracy.
Zrestartować urządzenie master
(Mains_ON).
212
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
Tabela 3-48 Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Przetwarzanie żądania S_SEND>
Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Przetwarzanie żądania S_SEND>
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie Sposób naprawy
0E 40
H
64 Wartość określona dla LEN w S_SEND jest zbyt mała.
Minimalna długość to
2 bajty.
0E 41
H
65
0E 42
H
66
Wartość określona dla LEN w S_SEND jest zbyt mała. Wymagana jest większa długość dla transmitowanego kodu funkcji.
Transmitowany kod funkcji jest nieprawidłowy.
Minimalna długość dla tego kodu funkcji to
6 bajtów.
Należy używać tylko dopuszczalnych kodów funkcji.
0E 43
H
67
0E 44
0E 45
0E46
0E 47
0E 48
0E 49
0E 4A
H
H
H
H
H
H
H
68
69
70
71
72
73
74
Adres slave równy 0 (= rozgłaszanie (broadcast)) nie jest dopuszczalny dla tego kodu funkcji.
Transmitowana wartość "number of bits" jest spoza zakresu 1 to 2040.
Wartość "number of bits" musi być z zakresu 1 do
2040.
Transmitowana wartość "number of registers" jest spoza zakresu 1 do 127.
Należy używać tylko adresu slave równego 0 z odpowiednimi kodami funkcji.
Kod funkcji 15 lub 16:
Transmitowane wartości "number of bits"/"number of registers" są spoza zakresu 1 do 2040 lub 1 -
127.
Kod funkcji 15 lub 16:
LEN dla S_SEND nie odpowiada transmitowanej
"number of bits"/"number of registers".
Wartość "number of registers" musi być z zakresu 1 do 127.
Wartości "number of bits"/"number of registers" muszą być z zakresu 1 to
2040 lub 1 do 127.
LEN jest zbyt mała.
Zwiększać LEN dla SEND dopóki wystarczająca ilość danych nie zostanie transmitowana do modułu.
Więcej danych użytkownika musi być wysłana do modułu z powodu "number of bits"/"number of registers".
Dopuszczalne kody to tylko
"set bit" (FF00H), "delete bit" lub 0000H.
Kod funkcji 5
Kod określony w źródłowym bloku DB SEND dla
"set bit" (FF00H) lub "delete bit" (0000H) nie jest prawidłowy.
Kod funkcji 8:
Kod określony w źródłowym bloku DB SEND dla
"diagnostic code" nie jest prawidłowy.
Długość dla tego kodu funkcji jest większa niż maksymalna długość.
Dopuszczalne kody jest tylko "diagnostic code"
0000H.
Maksymalne długości dla każdego kodu funkcji znajduję się w instrukcji.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 213
Modbus/USS
3.7 Diagnostyka
Tabela 3-49 Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Przetwarzanie odbioru>
Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Przetwarzanie odbioru>
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
0E 50
H
80
Sposób naprawy
Urządzenie master odebrało odpowiedź bez wysyłania czegokolwiek.
Urządzenie slave lub inne urządzenie master jest w sieci.
Sprawdzić czy linia transmisyjna nie została przerwana (może zachodzić konieczność analizy interfejsu).
0E 51
H
81
0E 52
0E 53
0E 54
0E 55
0E 56
0E 57
H
H
H
H
H
H
82
83
84
85
86
87
Kod funkcji jest nieprawidłowy:
Kod funkcji odebrany w ramce danych odpowiedzi jest inny niż wysłany kod funkcji.
Niedopełnienie bajtu:
Liczba odebranych znaków jest mniejsza niż wskazywana przez licznik bajtu ramki danych odpowiedzi lub oczekiwana dla tego kodu funkcji.
Przepełnienie bajtu:
Liczba odebranych znaków jest większa niż wskazywana przez licznik bajtu ramki danych odpowiedzi lub oczekiwana dla tego kodu funkcji.
Licznik bajtu nieprawidłowy:
Licznik bajtu odebrany w ramce danych odpowiedzi jest zbyt mały.
Licznik bajtu nieprawidłowy:
Licznik bajtu odebrany w ramce danych odpowiedzi jest zbyt nieprawidłowy.
Nieprawidłowe echo:
Dane ramki danych odpowiedzi powtórzone przez urządzenie slave (liczba bitów, itp.) są inne niż dane wysłane w ramce danych odpowiedzi.
Nieprawidłowa suma CRC:
Wystąpił błąd podczas sprawdzania sumy kontrolnej
CRC 16 ramki danych odpowiedzi z urządzenia slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Sprawdzić urządzenie slave.
Tabela 3-50 Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Odebranie kodu wyjątku>
Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Odebranie kodu wyjątku>
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
0E 61
H
97 Ramka danych odpowiedzi z kodem wyjątku 01:
Nieprawidłowa funkcja
0E 62
H
98 Ramka danych odpowiedzi z kodem wyjątku 02:
Nieprawidłowy adres danych
Sposób naprawy
Sprawdzić w instrukcji urządzenia slave.
Sprawdzić w instrukcji urządzenia slave.
214
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
Klasa zdarzenia 14 (0E hex): Ogólne błędy przetwarzania <Odebranie kodu wyjątku>
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie
0E 63
H
99 Ramka danych odpowiedzi z kodem wyjątku 03:
Nieprawidłowa wartość danych
0E 64
H
100
0E 65
0E 66
H
H
101
102
Ramka danych odpowiedzi z kodem wyjątku 04:
Uszkodzenie w powiązanym urządzeniu
Ramka danych odpowiedzi z kodem wyjątku 05:
Potwierdzenie
Ramka danych odpowiedzi z kodem wyjątku 06:
Zajęty; ramka danych odrzucona
0E 67
H
103 Ramka danych odpowiedzi z kodem wyjątku 07:
Negatywne potwierdzenie
Sposób naprawy
Sprawdzić w instrukcji urządzenia slave.
Sprawdzić w instrukcji urządzenia slave.
Sprawdzić w instrukcji urządzenia slave.
Sprawdzić w instrukcji urządzenia slave.
Sprawdzić w instrukcji urządzenia slave.
Tabela 3-51
Klasa zdarzenia 30 (1E hex): Błąd podczas komunikacji pomiędzy interfejsem szeregowym a CPU
Nr zdarzenia Nr zdarzenia
(dziesiętnie)
Zdarzenie Sposób naprawy
(1E) 0D
H
13 Żądanie anulowane z powodu zakończenia restartu, warm restartu lub resetu. ("Request canceled due to restart, warm restart or reset")
(1E) 0E
H
(1E) 0F
(1E) 10
(1E) 11
(1E) 20
H
H
H
H
Klasa zdarzenia 30 (1E hex): Błąd podczas komunikacji pomiędzy interfejsem szeregowym a CPU
14
15
16
17
32
Błąd statyczny podczas wywołania funkcji SFC
DP_RDDAT. Zwrócona wartość RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji SFC
DP_WRDAT. Zwrócona wartość RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji SFC
RD_LGADR. Zwrócona wartość RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Błąd statyczny podczas wywołania funkcji SFC
RDSYSST. Zwrócona wartość RET_VAL z SFC jest dostępna do analizowania w zmiennej SFCERR w bloku danych lokalnych DB.
Parametr poza zakresem.
Załadować zmienną
SFCERR z bloku danych lokalnych DB.
Załadować zmienną
SFCERR z bloku danych lokalnych DB.
Załadować zmienną
SFCERR z bloku danych lokalnych DB.
Załadować zmienną
SFCERR z bloku danych lokalnych DB.
(1E) 41
H
65 Liczba bajtów określona w parametrze LEN bloku FB nie jest dozwolona.
Należy zmienić parametr tak, aby był wewnątrz dopuszczalnego zakresu.
Należy zachować zakres wartości od 1 do
256 bajtów.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 215
Modbus/USS
3.7 Diagnostyka
Przetwarzanie zmiennej SFCERR
Więcej szczegółowych informacji o błędach (1E) 0E
H
, (1E) 0F
H
, (1E) 10
H
i (1E) 11 należących do klasy zdarzenia 30 można uzyskać za pomocą zmiennej SFCERR.
H
Można załadować zmienną SFCERR z bloku lokalnego DB odpowiedniego bloku funkcyjnego.
Komunikaty błędów zapisywane do zmiennej SFCERR są opisane w rozdziałach o funkcjach systemowych "DPRD_DAR" i SFC15 "DPWR_DAT" i RD_LGADR w instrukcji System Software
for S7-300/400, System and Standard Functions.
3.7.4
Diagnostyka PROFIBUS slave
Wprowadzenie
Dane diagnostyki slave są zgodne z EN 50170, tom 2, PROFIBUS. Zależnie od DP master, dane diagnostyczne dla wszystkich DP slave zgodnych z tym standardem mogą być odczytane w STEP 5 lub STEP 7.
Diagnostyka PROFIBUS slave zawiera diagnostykę modułu, status modułu i diagnostykę charakterystyczną dla kanału. Szczegółowe informacje o diagnostyce DP slave można znaleźć w instrukcji zatytułowanej ET 200S Distributed I/O System, 6ES7 151-1AA10-8AA0.
Diagnostyka charakterystyczna dla kanału
Diagnostyka charakterystyczna dla kanału dostarcza informacje o błędach kanału w module i rozpoczyna się po statusie modułu. Tabela poniżej zawiera listę typów błędów charakterystycznych dla kanału.
Tabela 3-52 Typy błędów charakterystycznych dla kanału dla modułu interfejsu szeregowego ET 200S Modbus/USS
Zdarzenie (typ błędu)
00110: Przerwany kabel
(Wire break)
00111: Przepełnienie
(Overflow)
01000: Niedopełnienie
(Underflow)
01001: Błąd (Error)
10000: Błąd ustawiania parametrów (Parameter assignment error)
10110: Błąd komunikatu
(Message error)
Znaczenie
Kabel przerwany lub rozłączony.
Bufor przepełniony; przepełnienie długości komunikatu.
Wysłany komunikat o długości 0.
Wystąpił błąd wewnętrzny modułu.
Moduł nie jest sparametryzowany.
Błąd ramki, błąd parzystości
Sposób naprawy
Sprawdzić podłączenie zacisków.
Sprawdzić kabel do partnera.
Blok FB S_RCV musi być wywoływany częściej.
Sprawdzić dlaczego partner komunikacji wysyła ramki danych bez danych użytkownika.
Wymienić moduł.
Poprawić parametryzację.
Sprawdzić ustawienia komunikacji.
216
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
3.7.5
Funkcje diagnostyczne Modbus Slave
ERROR_NR i ERROR_INFO
Bloki FB komunikacji Modbus posiadają następujące dwa parametry wyjściowe, które wskazują powstałe błędy:
● Parametr ERROR_NR
● Parametr ERROR_INFO
Błędy są wskazywane na wyjściu ERROR_NR. Dodatkowo szczegóły dotyczące błędu z ERROR_NR są wyświetlane na wyjściu ERROR_INFO.
Kasowanie błędów
Błędy są kasowane za pomocą narastającego zbocza START. Jeżeli zachodzi konieczność błędy mogą być kasowane przez użytkownika w dowolnym momencie.
Kody błędów bloków FB
Kody błędów 1 do 99 posiadają następujące znaczenia:
● ERROR_No 1 do 9
Błędy podczas inicjalizacji FB i CP
Numery błędów 1...9 wskazują inicjalizację zakończoną z błędem. Parametr
START_ERROR jest równy 1.
Komunikacja Modbus z systemem master nie jest możliwa.
● ERROR_No 10 do 19
Błędy podczas przetwarzania kodów funkcji
Numery błędów 10...19 wskazują błąd podczas przetwarzania kodów funkcji. Moduł transmituje nieprawidłowe zadanie przetwarzanie do bloków komunikacji FB.
Błąd jest również zgłaszany do sterownika.
Będzie kontynuowane kolejne zadania przetwarzania.
● ERROR_No 90 do 99
Inne błędy
Wystąpił błąd przetwarzania.
Błąd nie jest zgłaszany do sterownika.
Będzie kontynuowane kolejne zadania przetwarzania.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 217
Modbus/USS
3.7 Diagnostyka
3.7.6
Błędy
Lista numerów błędów
Tabela 3-53
0
1
Numer błędu
(dziesiętnie)
2
Błędy inicjalizacji
ERROR_INFO
0
Zdarzenie
Brak błędu
Sposób naprawy
SFC 51->RET_VAL Błąd odczytywania listy statusu systemu za pomocą SFC 51.
Należy przeanalizować RET_VAL w
ERROR_INFO; wyeliminować przyczynę.
S_SEND->STATUS,
S_RCV->STATUS
Timeout lub błąd podczas inicjalizacji modułu (błąd w żądaniu S_SEND).
Sprawdzić czy "Modbus slave" został ustawiony jako protokół dla tego interfejsu.
Sprawdzić czy "ID" określona w bloku komunikacji FB jest prawidłowe.
Przeanalizować ERROR_INFO.
Tabela 3-54
Numer błędu
(dziesiętnie)
11
Błąd przetwarzania kodu funkcji
ERROR_INFO Zdarzenie
12
13
14
15
Sposób naprawy
Start address Nieprawidłowy adres początkowy przesyłany do bloku komunikacyjnego FB przez sterownik.
Sprawdzić adres Modbus w systemie nadrzędnym Modbus master system.
Number of registers Nieprawidłowy liczba rejestrów przesyłana do bloku komunikacyjnego FB przez sterownik.
Liczba rejestrów = 0.
Sprawdzić liczbę rejestrów Modbus w systemie nadrzędnym Modbus master system.
Jeżeli zachodzi konieczność zrestartować moduł
(Mains_ON).
Number of registers Nieprawidłowy liczba rejestrów przesyłana do bloku komunikacyjnego FB przez sterownik.
Liczba rejestrów > 128.
Sprawdzić liczbę rejestrów Modbus w systemie nadrzędnym Modbus master system.
Jeżeli zachodzi konieczność zrestartować moduł
(Mains_ON).
Bit memory M –
End address
Outputs Q –
End address
Inputs I –
End address
Próba dostępu do obszaru pamięci flag SIMATIC poza końcem obszaru.
Uwaga:
Długość obszaru w SIMATIC
CPU zależy od typu CPU.
Próba dostępu do obszaru pamięci wyjść SIMATIC poza końcem obszaru.
Uwaga:
Długość obszaru w SIMATIC
CPU zależy od typu CPU.
Zmniejszyć długość adresu początkowego the
Modbus lub długość dostępu w systemie
Modbus master system.
Zmniejszyć długość adresu początkowego the
Modbus lub długość dostępu w systemie
Modbus master system.
218
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.7 Diagnostyka
Numer błędu
(dziesiętnie)
16
17
18
24
25
26
22
23
27
19
20
21
ERROR_INFO
Timers T –
End address
Counters C –
End address
0
DB#
DB#
DB#
DB#
Flag address
Flag address
Output address
Output address
Zdarzenie Sposób naprawy
Próba dostępu do obszaru pamięci timerów SIMATIC poza końcem obszaru.
Uwaga:
Długość obszaru w SIMATIC
CPU zależy od typu CPU.
Próba dostępu do obszaru pamięci liczników SIMATIC poza końcem obszaru.
Uwaga:
Długość obszaru w SIMATIC
CPU zależy od typu CPU.
Zmniejszyć długość adresu początkowego the
Modbus lub długość dostępu w systemie
Modbus master system.
Zmniejszyć długość adresu początkowego the
Modbus lub długość dostępu w systemie
Modbus master system.
Nieprawidłowy obszar pamięci
SIMATIC przesyłana do bloku komunikacyjnego FB przez sterownik.
Błąd dostępu do I/O
SIMATIC.
Jeżeli zachodzi konieczność zrestartować moduł
(Mains_ON).
Sprawdzić czy wymagane I/O istnieje i czy jest wolne od błędów.
Dodać blok DB do swojego projektu.
Zwiększyć długość bloku DB.
Blok DB nie istnieje.
Nieprawidłowa długość bloku
DB
Blok DB# jest poniżej minimalnej wartości DB.
Blok DB# jest powyżej minimalnej wartości DB.
Flaga jest poniżej dolnej granicy.
Flaga jest powyżej górnej granicy.
Zmienić wartość minimalną DB.
Zmienić wartość maksymalną DB.
Zmienić dolną granicę flag w bloku DB konwersji.
Wyjście jest poniżej dolnej granicy.
Wyjście jest powyżej górnej granicy.
Zmienić górną granicę flag w bloku DB konwersji.
Zmienić dolną granicę wyjść w bloku DB konwersji.
Zmienić górną granicę wyjść w bloku DB konwersji.
Tabela 3-55
Numer błędu
(dziesiętnie)
90
Pozostałe usterki/błędy
ERROR_INFO Zdarzenie
94
Sposób naprawy
S_SEND-> STATUS Błąd podczas transmisji potwierdzenia ramki danych do sterownika za pomocą
S_SEND.
Przeanalizować informację STATUS.
S_RCV->STATUS Błąd odczytywania SYSTAT za pomocą S_RCV (STATUS).
Przeanalizować informację STATUS.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 219
Modbus/USS
3.8 USS Master
3.8
USS Master
3.8.1
Co to jest USS master?
Wprowadzenie
Protokół USS umożliwia użytkownikowi ustawienie komunikacji magistrali szeregowej pomiędzy modułem ET 200S Modbus/USS (który działa jako master) i różnymi systemami slave. Napędy
Siemens mogą pracować jako urządzenia slave na magistrali USS.
Charakterystyki protokołu USS
Protokół USS posiada następujące kluczowe cechy:
● Obsługuje połączenia wielopunktowe RS 485
● Metoda dostępu master-slave
● System z urządzeniem master
● Maksymalnie 32 węzły (maks. 31 urządzeń slave)
● Praca ze zmienną lub stałą długością ramek danych
● Nieskomplikowane, niezawodne ramki danych
● Praca magistrali jest identyczna z PROFIBUS (DIN 19245 Część 1)
● Interfejs danych do podstawowej przetwornicy częstotliwości oparte na podstawach napędów PROFIL z różnymi prędkościami. Innymi słowy, gdy jest używany protokół USS informacje informacje są transmitowane do napędu w taki sam sposób jak za pomocą
PROFIBUS DP.
● Może być stosowany do uruchamiania, obsługi i automatyzacji
220
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
3.8.2
Protokół USS
Wprowadzenie
Protokół USS jest nieskomplikowanym protokołem szeregowej transmisji danych zaprojektowany aby spełniać wymagania technologii napędów.
Protokół USS definiuje metodę dostępu, opartą o zasadę master-slave, dla komunikacji przez magistralę szeregową. Do magistrali może być podłączony jeden master i do 31 urządzeń slave. Poszczególne urządzenia slave są wybierane przez master za pomocą znaku adresu w ramce danych. Slave nie może wysłać niczego bez pierwszego zainicjowania przez mastera.
Dlatego bezpośrednia transmisja danych pomiędzy poszczególnymi urządzeniami slave nie jest możliwa. Komunikacja działa w trybie half-duplex. Funkcja master nie może być transferowana.
System USS posiada tylko jednego mastera.
Struktura ramki danych
Każda ramka danych rozpoczyna się znakiem początku (STX), następnie specyfikacją długości
(LGE) i bajtem adresu (ADR). Pole danych jest po nich. Ramka danych kończy się znakiem kontroli bloku (BCC).
STX LGE ADR 1 2 ...
N BCC
Dla pojedynczego słowa danych (16-bit) w sieciowym bloku danych wyższy bajt jest wysyłany pierwszy, następnie niższy bajt. Odpowiednio, w podwójnym słowie wyższe słowo jest wysyłane pierwsze a następnie niższe słowo.
Protokół nie rozpoznaje żadnych zadań w polach danych.
Szyfrowanie danych
Dane są szyfrowane następująco:
● STX: 1 bajt, początek tekstu, 02H
● LGE: 1 bajt, zawiera długość ramki danych jako liczbę binarną
● ADR: 1 bajt, zawiera adres slave i typ ramki danych w kodzie binarnym
● Pola danych: Każde po jednym bajcie, zawartość zależy od zadań
● BCC: 1 bajt, znak kontroli bloku
Procedura transmisji danych
Master zapewnia cykliczną transmisję danych w ramkach danych. Master adresuje wszystkie węzły slave jeden po drugim za pomocą ramki danych zadań. Węzły zaadresowane odpowiadają ramką danych odpowiedzi. Zgodnie z procedurą master-slave, slave musi wysłać ramkę danych odpowiedzi do mastera po odebraniu ramki danych zadania. Tylko wtedy master może zaadresować następnego slave.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 221
Modbus/USS
3.8 USS Master
Ogólna struktura sieciowego bloku danych
Sieciowy blok danych jest podzielony na dwa obszary: obszar parametrów (PKW) i obszar danych procesowych (PZD).
STX LGE ADR Parametr (PKW) Dana procesowa (PZD) BCC
● Obszar parametrów (PKW)
Obszar PKW obsługuje transmisję parametrów pomiędzy dwoma partnerami komunikacji
(np.: sterownik i napęd). Obejmuje to, na przykład, odczytywanie i zapisywanie wartości parametrów oraz odczytywanie opisów parametrów i powiązanego tekstu. Interfejs PKW zwykle zawiera zadania działania i wyświetlania, obsługi i diagnostyki.
● Obszar danych procesowych (PZD)
Obszar PZD zawiera sygnały, które są wymagane w automatyzacji:
– Słowa sterujące (Control words) i nastawy z mastera do slave
– Słowa statusowe (Status words) i bieżące wartości ze slave do mastera
Zawartości obszaru parametrów i obszaru danych procesowych są zdefiniowane przez napędy slave. Dodatkowe informacje na ten temat zawarte są w dokumentacji napędu.
222
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
3.8.3
Konfiguracja i parametryzacja
Konfiguracja i parametryzacja
Tabela 3-56 Parametry dla USS master
Parametry Opis
Przerwanie diagnostyczne
(Diagnostics interrupt)
Aktywacja wykrywania przerwy na linii
(Activate BREAK detection)
Typ interfejsu
(Type of interface)
Określa czy moduł powinien generować przerwanie diagnostyczne w wypadku poważnego błędu.
Jeżeli linii jest przerwana lub kabel interfejsu nie jest podłączony to moduł generuje komunikat błędu "Break".
Określa elektryczny interfejs, który będzie używany.
Zakres wartości
● No
● Yes
● No
● Yes
Stan początkowy linii odbierania halfduplex
(Half-duplex initial state of the receive line.)
Określa stan początkowy linii odbierania w trybie pracy RS 485. Nie używany w trybie pracy RS 232C.
Ustawienie "Inverted signal levels" jest wymagane tylko jeżeli musi być zapewniona kompatybilność gdy część jest wymieniana.
Prędkość transmisji
(Baud rate)
● RS 232
● RS 485 (half duplex)
R(A) 5 V/R(B) 0 V
R(A) 0 V/R(B) 5 V
Inverted signal level
(Odwrócone poziomy sygnału)
None
Wybór prędkości transmisji danych w bitach na sekundę.
● 110
● 300
● 600
● 1200
● 2400
● 4800
● 9600
● 19200
● 38400
● 57600
● 76800
● 115200
Domyślna wartość
No
No
RS 485 (half duplex)
R(A) 0 V/R(B) 5 V
9600
Uwaga
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 223
Modbus/USS
3.8 USS Master
3.8.4
Przegląd funkcji
Sekwencja sieciowej transmisji danych
Bloki obsługują sieciową transmisję danych cyklicznie z do 31 napędami slave, zgodnie z sekwencją określoną na liście odpytywania (parametryzacja DB). Dla każdego slave tylko jedno zadanie jest aktywne w jednym czasie. Użytkownik przechowuje sieciowe dane dla każdego slave w bloku danych (sieciowy blok danych) i wywołuje je stamtąd. Jak określono w definicji programu w liście odpytywania, dane są transmitowane do i wywoływane z procesora komunikacyjnego poprzez inny obszar przechowywania (blok DB procesora komunikacyjnego).
Dla tej procedury są wymagane dwa wywołania funkcji (jeden blok wysyłania i jeden odbierania). Kolejna funkcja obsługuje generowanie i wstępne ustawianie bloków danych wymaganych dla komunikacji.
Cechy wydajności:
● Tworzenie obszarów przechowywania danych dla komunikacji, w zależności od konfiguracji magistrali
● Wstępne ustawianie listy odpytywania
● Struktura ramki danych zgodnie ze specyfikacją USS
● Sieciowa wymiana danych może być parametryzowana zgodnie z wymaganą sieciową strukturą danych
● Wykonanie i monitoring zadań PKW
● Obsługa raportów zmiany parametrów
● Monitoring całego systemu i eliminacja błędów
Do wysyłania danych sieciowych mogą być używane różne struktury danych sieciowych.
Zależnie od wybranej struktury, dane sieciowe posiadają obszar PZD dla danych procesowych i obszar PKW dla przetwarzania parametrów.
W obszarze PKW master może czytać i zapisywać wartości parametrów, a slave może wyświetlać zmiany parametrów za pomocą raportów zmiany parametrów.
Obszar PZD zawiera sygnały wymagane do sterowania procesem, takie jak słowa sterujące
(control words) i nastawy z mastera do slave, oraz słowa statusowe (status words) i wartości bieżące ze slave do master.
Prawidłowa kolejność wywoływania funkcji to: S_USST, S_SEND, S_RCV, S_USSR. Jest to ważne ponieważ wyjścia funkcji S_SEND i S_RCV są tylko prawidłowe w bieżącym cyklu systemu automatyki.
Rysunek poniżej przedstawia wymianę danych pomiędzy programem użytkownika i USS slave.
224
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Dane do slave
Program użytkownika (OB1 itp.)
Dane ze slave
Blok DB danych sieciowych
Blok DB zestawu parametrów
Blok DB procesora komunikacyjnego
Moduł
ET200S 1 SI
Modbus/USS
Rysunek 3-21 Wymiana danych pomiędzy programem użytkownika i USS slave
Modbus/USS
3.8 USS Master
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 225
Modbus/USS
3.8 USS Master
Funkcja FC 17 S_USST: Wysyłanie danych do slave 3.8.5
Opis
Funkcja FC S_USST obsługuje transmisję danych sieciowych (PZD i dowolne dane PKW) do urządzeń slave, zgodnie z użytą strukturą danych sieciowych.
Funkcja FC pobiera dane parametryzacji bieżącego slave z listy odpytywania (DB parametryzacji) i wysyła dane z bloku danych sieciowych DB. Przetwarza słowo sterujące komunikacji bieżącego slave (przełącza żądanie/potwierdzenie PKW raportu zmiany parametrów), kompletuje transmitowane dane USS i transmituje je do bufora wysyłania procesora komunikacyjnego DB. Na koniec, przełącza transmisję danych sieciowych do slave używając bloku S_SEND FB.
Jeżeli funkcja wykrywa błąd parametryzacji w bloku DB parametryzacji to sygnał błędu jest przechowywany w 2 bajcie błędu parametryzacji bloku DB danych sieciowych.
FC 17 jest wywoływana raz na cykl systemu automatyzacji.
226
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Struktura programu S_USST
Poniższy diagram przedstawia strukturę programu S_USST.
DB procesora komunikacji
Przydzielanie parametrów i status
Obsługa bloków
Bufor wysyłania
Bufor odbierania
DB danych sieciowych
Sterowanie komunikacją slave 1
Wysyłanie slave 1
Odbieranie slave 1
Modbus/USS
3.8 USS Master
Rysunek 3-22 Funkcje diagnostyczne Modbus-slave
DB przypisania parametrów
Parametry systemu
Przypisanie parametrów komunikacji
Slave 1 do n
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 227
Modbus/USS
3.8 USS Master
Tabela 3-57 Reprezentacja STL i LAD
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Parametry funkcji FC 17 S_USST
Tabela 3-58
Nazwa Typ
DBPA
Lista parametrów funkcji FC S_USST.
INPUT
Typ danych
INT
Opis
Numer bloku parametryzacji DB
SYPA
SLPA
INPUT
INPUT
INT
INT
Komentarz
Charakterystyczne dla
CPU
(zero nie dozwolone)
0 <= SYPA <= 8174 Adres początkowy parametrów systemowych w bloku parametryzacji DB
Adres początkowy parametrów salve w bloku parametryzacji DB
0 <= SLPA <= 8184
228
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
3.8.6
Opis
Funkcja FC 18 S_USSR: Odbieranie danych ze slave
Funkcja FC S_USSR obsługuje odbiór danych sieciowych (PZD i dowolne dane PKW) ze urządzeń slave, zgodnie z użytą strukturą danych sieciowych.
Funkcja FC pobiera dane parametryzacji bieżącego slave z listy odpytywania (DB parametryzacji) i przetwarza słowo statusowe bloku TRANSMIT.
Jeżeli bieżące żądanie zostało zakończone bez błędów (bit 9 = 0 w słowie statusowym bloku
DB danych sieciowych), to przychodzące dane z bufora odbierania bloku DB komunikacji są transmitowane do bloku DB danych sieciowych i przetwarzane. Słowo statusowe komunikacji jest potem aktualizowane w bloku DB danych sieciowych.
Jeżeli bieżące żądanie zostało zakończone z błędem (bit 9 = 1 w słowie statusowym bloku DB danych sieciowych), to dane bieżącego slave z bufora odbierania bloku DB procesora komunikacji nie są akceptowane. Funkcja FC 18 wskazuje to w słowie statusowym komunikacji bloku DB danych sieciowych i wpisuje przyczynę błędu w słowo błędu komunikacji.
Jeżeli funkcja wykrywa błąd parametryzacji w bloku DB parametryzacji to sygnał błędu jest przechowywany w 1 bajcie błędu parametryzacji bloku DB danych sieciowych.
FC 18 jest wywoływana raz na cykl systemu automatyzacji.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 229
Modbus/USS
3.8 USS Master
Struktura programu S_USSR
Poniższy diagram przedstawia strukturę programu S_USSR.
DB procesora komunikacji
Przydzielanie parametrów i status
Obsługa bloków
Bufor wysyłania
Bufor odbierania
DB danych sieciowych
Sterowanie komunikacją slave 1
Wysyłanie slave 1
Odbieranie slave 1
Rysunek 3-23 Struktura programu S_USSR
DB przypisania parametrów
Parametry systemu
Przypisanie parametrów komunikacji
Slave 1 do n
230
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
Tabela 3-59 Reprezentacja STL i LAD
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Parametry funkcji FC 18 S_USSR
Tabela zawiera listę parametrów funkcji FC S_USSR.
Tabela 3-60
Nazwa Typ
DBPA
Parametry funkcji FC S_USSR
INPUT
Typ danych
INT
Opis
Numer bloku parametryzacji DB
SYPA
SLPA
INPUT
INPUT
INT
INT
Nazwa
Charakterystyczne dla
CPU
(zero nie dozwolone)
0 <= SYPA <= 8174 Adres początkowy parametrów systemowych w bloku parametryzacji DB
Adres początkowy parametrów salve w bloku parametryzacji DB
0 <= SLPA <= 8184
Parametry funkcji FC U_USST odpowiadają parametrów funkcji FC S_USSR. Dwie funkcje mają taką samą parametryzację (parametry systemu i slave) w bloku DB parametryzacji i musi być dlatego identycznie parametryzowany.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 231
Modbus/USS
3.8 USS Master
Funkcja FC 19 S_USSI: Inicjalizacja 3.8.7
Opis
Funkcja FC S_USSI jest funkcją opcjonalną.
Jeżeli ta funkcja FC jest wywołana podczas uruchamiania systemu S7 to są generowane bloki
DB procesora komunikacyjnego, DB danych sieciowych i DB parametryzacji, wszystkie, które są wymagane od komunikacji. Także blok DBPA jest wstępnie ustawiany. Funkcja S_USSI może być użyta do generowania i ustawiania określonych obszarów danych tylko gdy wszystkie urządzenia slave posiadają taką samą strukturę danych sieciowych.
Po wywołaniu, funkcja najpierw sprawdza możliwość parametryzacji urządzeń slave, struktury danych sieciowych, numeru początkowego węzła i powtórzeń PKW. Jeżeli blok wykryje błędy podczas tego sprawdzenia to bloki danych nie są generowane lub wstępnie ustawiane. CPU przechodzi w tryb STOP i użytkownik odbiera komunikat błędu poprzez bajt błędu funkcji FC
S_USSI. Zaraz po wyeliminowaniu błędu parametryzacji wszystkie bloki danych, które zostały już wygenerowane muszą zostać skasowane przed restartem.
Po sprawdzeniu możliwości blok sprawdza czy bloki przeznaczone do wygenerowania już istnieją:
● Jeżeli bloki danych przeznaczone do wygenerowania jeszcze nie istnieją to są generowane i jest ustawiany wstępnie DBPA.
● Jeżeli bloki danych przeznaczone do wygenerowania już istnieją to jest sprawdzana długość każdego bloku jest sprawdzana. Jeżeli DB jest wystarczająco długi to przeprowadzana jest ponownie parametryzacja DB a zawartość bloku DB danych sieciowych i bloku DB procesora komunikacyjnego są kasowane. Jeżeli DB jest zbyt krótki to CPU przechodzi w tryb STOP. Użytkownik może zidentyfikować błędny DB za pomocą bajtu stanu kodu funkcji FC S_USSI. Dla wyeliminowania błędu trzy bloki danych muszą być całkowicie skasowane. Bloki danych są wtedy generowane ponownie podczas następnego restartu i blok DB parametryzacji jest wstępnie ustawiany.
S_USSI musi być wywołany raz podczas uruchamiania systemu (OB 100).
232
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Tabela 3-61 Reprezentacja STL i LAD
Modbus/USS
3.8 USS Master
Uwaga
Parametry EN i ENO istnieje tylko w graficznej reprezentacji (LAD lub FBD). Kompilator używa wyniku binarnego aby przetwarzać te parametry.
Wynik binarny jest ustawiany na stan "1" jeżeli blok został zakończony bez błędów. Jeżeli wystąpił błąd to wynik binarny jest ustawiany na "0".
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 233
Modbus/USS
3.8 USS Master
Parametry funkcji FC 19 S_USSI
Tabela zawiera listę parametrów funkcji FC S_USST.
Tabela 3-62
Nazwa Typ
SANZ
Parametry funkcji FC S_USSI
INPUT
Typ danych
INT
Opis
TNU1
PKW
PZD
DBND
DBPA
DBCP
WDH
ANZ
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
INPUT
OUTPUT
INT
INT
INT
INT
INT
INT
INT
BYTE
Nazwa
Liczba urządzeń slave z taką samą strukturą danych sieciowych
(parametry systemu DBPA)
Numer początkowy węzła (numer stacji)
PKW, liczba
PZD, liczba
1 <= SANZ <= 31
0 <= TNU1 <= 31
Liczba słów interfejsu PKW
0, 3 or 4
Liczba słów interfejsu PZD
0 <= PZD <= 16
Numer bloku DB danych sieciowych Charakterystyczne dla CPU
(zero nie dozwolone)
Numer bloku DB parametryzacji Charakterystyczne dla CPU
(zero nie dozwolone)
Numer bloku DB procesora komunikacji
Charakterystyczne dla CPU
(zero nie dozwolone)
0 <= WDH <= 32,767 Liczba dopuszczalnych powtórzeń żądań PKW
Bajt błędu 0: Brak błędu
1: Zbyt duża liczba slave
2: Nieodpuszczalne wpisy w strukturze danych sieciowych
3: Blok DB parametryzacji zbyt krótki
4: Blok DB danych sieciowych zbyt krótki
5: Błąd numeru stacji
6: Blok DB procesora komunikacyjnego zbyt krótki
7: Wolny
8: Licznik powtórzeń:
Nieprawidłowa wartość
234
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
3.8.8
Opis
Blok DB danych sieciowych
Te bloki danych mogą być albo generowane i ustawiane za pomocą funkcji FC S_USSI podczas uruchamiania CPU (tylko DBPA) lub wprowadzane ręcznie.
Blok DB danych sieciowych formuje interfejs pomiędzy komunikacją i programami sterującymi.
Użytkownik musi tworzyć ten blok dostępny jako "pusty" i musi być odpowiednio długi. Tylko dane transmitowane do slave są wprowadzane do bufora wysyłania bloku DB danych sieciowych który jest przypisany przez program sterujący. Dane odpowiedzi ze slave są akceptowane z odpowiednim buforem odbioru (po przetworzeniu bitu 9 w słowie sterującym komunikacji). Słowa statusowe mogą być użyte to dokładnego monitorowania komunikacji, gdy słowo sterujące umożliwia dokładne sterowanie początkiem żądania ustawiania parametrów.
Interfejs komunikacji dla każdego slave zawiera następujące dane:
● Dane komunikacji związane ze slave (sterowanie komunikacją, monitorowanie, 6 słów danych)
● Bufor dla bieżącego zadania PKW (tylko gdy obszar PKW istnieje)
● Bufor wysyłania dla danych sieciowych (maksymalnie 20 słów danych)
● Bufor odbierania dla danych sieciowych (maksymalnie 20 słów danych)
Długości buforów wysyłania i odbierania zależą od wybranej struktury danych sieciowych. Jeżeli interfejs PKW nie istnieje to bufor dla bieżącego zadania PKW nie jest używany.
Wymagana, całkowita długość bloku DB danych sieciowych zależy od liczby urządzeń slave i używanej struktury danych sieciowych.
Liczba słów danych na slave = 2 x (PKW + PZD) + PKW + 6 gdzie PKW = 0, 3 lub 4 i 0 <= PZD <= 16
Przykład: Napęd z obszarem PKW o 3 słowach i obszarem PZD o 2 słowach wymaga 19 słów danych w bloku DB danych sieciowych.
Z 31 urządzeniami slave i maksymalną długością danych sieciowych blok DB danych sieciowych posiada 1 550 słów danych. DBW0 jest zarezerwowane.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 235
Modbus/USS
3.8 USS Master
Przypisanie danych urządzenia slave w bloku DB danych sieciowych z 4 słowami w obszarze PKW i od 0 do 16 słowami w obszarze PZD.
Sterowanie komunikacją DBWn
DBWn+2
DBWn+4
Słowo sterujące komunikacji (KSTW)
Wewnętrzne
Słowo statusowe komunikacji
DBWn+6
DBWn+8
Słowo błędu komunikacji
Wewnętrzne
DBWn+10 1 bajt błędu parametryzacji,
2 bajt błędu parametryzacji
DBWn+12 ID parametru
DBWn+14 Indeks
DBWn+16 Wartość 1 parametru
DBWn+18 Wartość 2 parametru
DBWn+20 ID parametru
DBWn+22 Indeks
DBWn+24 Wartość 1 parametru
DBWn+26 Wartość 2 parametru
DBWn+28 Słowo sterujące (STW)
DBWn+30 Główna wartość zadana (HSW)
DBWn+32 Wartość zadana/Dodatkowe słowo sterujące PZD3
DBWn+34 Wartość zadana/Dodatkowe słowo sterujące PZD4
...
...
PKE
IND
PWE1
PWE2
PKE
IND
PWE1
PWE2
PZD1
PZD2
DBWn+58 Wartość zadana/Dodatkowe słowo sterujące PZD16
DBWn+60 ID parametru PKE
DBWn+62 Indeks
DBWn+64 Wartość 1 parametru
IND
PWE1
DBWn+66 Wartość 2 parametru
DBWn+68 Słowo statusowe (ZSW)
DBWn+70 Główna wartość bieżąca (HIW)
PWE2
PZD1
PZD2
DBWn+72 Wartość bieżąca/Dodatkowe słowo statusowe PZD3
DBWn+74 Wartość bieżąca/Dodatkowe słowo statusowe PZD4
...
...
DBWn+98 Wartość bieżąca/Dodatkowe słowo statusowe PZD16
(n = 2, 4 ,
6...)
•
•
Monitorowanie komunikacji
Status błędu
Licznik prób PKW
Błąd parametru
Bufor dla bieżącego zadania
PKW
Obszar PKW
Obszar PZD
(maks. 16 słów PZD)
Obszar PKW
Obszar PZD
(maks. 16 słów PZD)
Bufor wysyłania
Bufor odbierania
Uwaga
Jeżeli nie ma obszaru PKW nie istnieje ani bufor dla bieżących zadań PKW, ani obszar PKW w buforze wysyłania.
236
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
Słowo sterujące komunikacji KSTW (DBWn)
Bity w słowie sterującym komunikacji koordynuje program użytkownika i funkcja FC S_USST.
● Bit 0: Wywołanie zadania PKW
Bit 0 jest ustawiony przez użytkownika jeżeli nowe zadanie PKW jest w buforze wysyłania i jest przeznaczone do przetwarzania. Bit jest resetowany przez funkcję FC gdy zadanie
PKW zostało zaakceptowane.
● Bit 1: Akceptacja raportu zmiany parametrów
Bit 1 jest ustawiony przez użytkownika jeżeli został zaakceptowany raport zamiany parametrów. Bit jest resetowany przez FC aby potwierdzić akceptację. W następstwie tego potwierdzenia urządzenie slave kontynuuje przetwarzanie bieżącego zadania lub transmisji następnego raportu zmiany parametru.
Słowo statusowe komunikacji (DBWn+4)
Bity w słowie statusowym komunikacji są ustawiane przez funkcje S_USST i S_USSR.
● Bit 0: Zadanie PKW w trakcie
Bit 0 jest ustawiany przez funkcję FC S_USST jeżeli zadanie PKW zostało zaakceptowane i parametr ID (PKE) zawiera prawidłowe ID zadania. Bit jest resetowany przez funkcję FC
S_USSR gdy zadanie PKW zostało wykonane (z lub bez błędów), lub jeżeli są problemy z interfejsem PKW.
● Bit 1: Zadanie PKW zakończone bez błędów
Bit 1 jest ustawiany przez funkcję FC S_USSR FC jeżeli zadanie PKW zostało wykonane bez błędów. Odpowiedź powinna być pobrana z bufora odbierania. Bit jest resetowany przez funkcję FC S_USST jeżeli nowe zadanie PKW zostało wywołane.
Uwaga
Zdania PKW dla urządzeń slave są przetwarzane w kolejności określonej w liście odpytywania
(DBPA). Tylko jedno zadanie dla każdego slave jest aktywne w jednym czasie. Jeżeli więcej niż jeden slave jest wprowadzony do listy odpytywania to dane odpowiedzi dla nowego zadania
PKW są tylko dostępne po narastającym zboczu bitu 1 (lub bitu 2).
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 237
Modbus/USS
3.8 USS Master
● Bit 2: Zadanie PKW zakończone z błędami
Bit 2 jest ustawiany przez funkcję FC S_USSR dla ID odpowiedzi w PKE. Numer błędu jest w PWE odpowiedzi slave. Bit jest resetowany przez funkcję FC S_USST jeżeli nowe zadanie PKW zostało wywołane.
Uwaga
Ostanie zadanie PKW transmitowane przez użytkownika jest, po przetworzeniu, przechowywane w interfejsie wysyłania. Transmisja do slave jest powtarzana dopóki nie zostanie wprowadzone nowe zadanie. Może to wymagać dodatkowych odpowiedzi w programie użytkownika w przypadku zakończenia zadania statusowego PKW z błędem (bit 2) i błąd interfejsu PKW (bit 4).
● Bit 3: ID zadania PKW nieprawidłowe.
Bit 3 jest ustawiony przez funkcję FC S_USST jeżeli ID 15 zadania jest ustawione w PKE, lub jeżeli indeks 255 jest wprowadzony do ID 4 zadania. Bit jest resetowany przez funkcję
FC S_USST jeżeli następne zadanie PKW jest uruchomione z prawidłowym ID zadania w PKE.
● Bit 4: Interfejs PKW z błędem (przepełnienie licznika).
Bit 4 jest ustawiony przez funkcję FC S_USSR jeżeli slave nie odpowiada na zadanie PKW w ciągu skonfigurowanej liczby powtórzeń zadań (parametr WDH w bloku DB parametryzacji) lub w przypadku ID odpowiedzi 8 w PKE. Bit jest resetowany przez funkcję
FC S_USSR jeżeli nowe zadanie PKW zostało wywołane i prawidłowo wykonane.
● Bit 5: Dane odpowiedzi zawierają raport zmiany parametrów.
Bit 5 jest ustawiany przez funkcję FC S_USSR jeżeli jest obecny raport zmiany parametrów z slave (ID odpowiedzi od 9 do 12 i przełączalny bit 11 odwrócony). Bit jest resetowany przez funkcję FC S_USST jeżeli użytkownik potwierdza raport zmiany parametrów (słowo sterujące komunikacji, bit 1).
● Bit 6: Bieżący błąd w slave.
Bit 6 jest ustawiany i resetowany przez funkcję FC S_USSR. Funkcja FC przetwarza słowo statusowe urządzenia slave (bit 3).
● Bit 7: Jest ostrzeżenie ze slave.
Bit 7 jest ustawiany i resetowany przez funkcję FCS_USSR. Funkcja FC przetwarza słowo statusowe urządzenia slave (bit 7).
● Bit 8: Żądane sterowanie systemu automatyzacji.
Bit 8 jest ustawiany i resetowany przez funkcję FC S_USSR. Funkcja FC przetwarza słowo statusowe urządzenia slave (bit 9) i słowo sterujące (bit 10).
Bit 9: Grupowy błąd komunikacji.
Bit 9 jest ustawiany i resetowany przez funkcję FC S_USSR. Funkcja FC przetwarza komunikaty zwrotne z standardowych bloków S_SEND i S_RCV oraz sprawdza odebraną ramkę danych w stosunku do ADR, STX, BCC i LGE. Także tutaj funkcja FC zgłasza, że czas monitorowania ramki danych został przekroczony.
Uwaga
Odebrane dane z bloku DB danych sieciowych są ważne tylko gdy bit 9 = 0.
238
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
Struktura słowa błędu komunikacji (DBWn+6)
● Bit 0: Błąd adresowania (ADR)
● Bit 3: Nie wykryto początku ramki danych (brak STX jako pierwszego znaku)
● Bit 4: Nieprawidłowy znak kontroli bloku (BCC)
● Bit 6: Nieprawidłowa długość ramki danych (LGE)
Bity 0, 3, 4 i 6 są ustawiane przez funkcję FC S_USSR jeżeli został wykryty błąd podczas sprawdzania odebranej ramki danych (ADR, STX, BCC, LGE).
● Bit 7: Upłynął czas monitorowania ramki danych
Bit 7 jest ustawiany przez funkcję FC S_USSR jeżeli czas pomiędzy wysyłaniem ramki danych z mastera do slave i przyjściem odpowiedzi ze slave do przekroczył dopuszczalny czas obliczony przez program (czas monitorowania ramki danych).
Pozostałe bity nie są używane.
Bajt 1 błędu parametryzacji
Komunikat błędu z funkcji FC S_USSR; błąd parametryzacji w bloku DB parametryzacji
● Value 0: Brak błędu
● Value 1: Nieprawidłowe dane dla PKW/PZD
Bajt 2 błędu parametryzacji
Komunikat błędu z funkcji FC S_USST; błąd parametryzacji w bloku DB parametryzacji
● Value 0: Brak błędu
● Value 1: Nieprawidłowe dane dla PKW/PZD
Parametr ID PKE w buforze wysyłania
Użytkownik musi przypisać numer parametru (bity 0 do 10) i ID zadania (bity 12 do 15).
Przełączalny bit dla raportu zmiany parametru (bit 11) jest maskowany przez funkcje S_USSR i S_USST.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 239
Modbus/USS
3.8 USS Master
Blok DB zestawów parametrów 3.8.9
Opis
DBW 0
DBW 2
DBW 4
DBW 6
DBW 8
DBW 10
DBW 12
DBW 14
DBW 16
DBW 18
DBW 20
DBW 22
DBW 24
Blok DB parametryzacji zawiera parametry programu wymagane do sterowania komunikacją.
Użytkownik musi wygenerować ten blok i odpowiednio ustawić konfigurację systemu komunikacji (S_USSI lub ręcznie). Urządzenia slave na magistrali są przetwarzane w kolejności, w jakiej zostały wprowadzone w DBPA (lista odpytywania).
Slave może również być wprowadzony więcej niż raz w bloku DB parametryzacji, efektywnie zwiększając jego priorytet.
Długość bloku DB parametryzacji zależy od liczby (n) urządzeń slave, które będą zaadresowane w cyklu magistrali.
Liczba słów danych bloku DB parametryzacji DB = (n x 4) + 5.
Są wymagane 4 słowa danych dla każdej instancji komunikacji slave i 4 słowa danych są raz przydzielone dla parametrów systemowych. DBW0 jest zarezerwowane.
Wolne
DBCP
SANZ
SLAV
WDH
Liczba PKW, liczba PZD
TUN
DBND
KSTW
Liczba PKW, liczba PZD
TUN
DBND
KSTW
Parametry systemowe
Parametr komunikacji dla slave 1
Parametr komunikacji dla slave 2
Liczba PKW, liczba PZD
TUN
DBND
DBW (n x 8 + 8) KSTW
Parametr komunikacji dla slave n
240
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
Parametry systemowe
DBCP
SANZ
SLAV
WDH
Numer bloku DB procesora komunikacji
Parametr całkowitej liczby slave ustawiony w bloku DB parametryzacji. Jeżeli jakieś poszczególne urządzenia slave są zaadresowane częściej niż inne w cyklu magistrali to ich parametry slave muszą być wprowadzone więcej niż raz w bloku DB parametryzacji.
Parametr systemowy SANZ musi być ustawiony prawidłowo.
Liczba bieżącego slave (następny). Wymagane przez funkcję FC S_USST i S_USSR do obliczenia bieżącego zestawu parametrów. To słowo danych musi ustawione na 1. Jest to realizowane przez funkcję FC S_USSI, jeżeli będzie używane.
Liczba dopuszczalnych powtórzeń zadań PKW (zakres wartości: 0 do 32767). Jeżeli bieżące zadanie PKW nie zostanie zakończone do ustawionej liczby to są zgłaszane problemy z interfejsem PKW.
Parametryzacja komunikacji slave
Liczba PKW, liczba PZD
TUN
DBND
KSTW
Definicja struktury danych sieciowych
Lewy bajt: Liczba słów dla obszaru PKW (0, 3, 4)
Prawy bajt: Liczba słów dla obszaru PZD (0 to 16)
Każde odchylenia od tego są wykrywane jako błędy parametryzacji (przez funkcje
S_USST i S_USSR) i wprowadzane w bajt 1 błędu parametryzacji, bajt 2 błędu parametryzacji bloku DB danych sieciowych.
Numer węzła odpowiadający adresowi magistrali ustawionym na napędzie (0 do 31).
Numer bloku DB danych sieciowych.
Adres słowa sterującego komunikacji KSTW dla slave w bloku DB danych sieciowych.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 241
Modbus/USS
3.8 USS Master
3.8.10
Blok DB procesora komunikacyjnego
Struktura bloku DB procesora komunikacyjnego
Wymiana danych pomiędzy CPU i modułem interfejsu szeregowego ET 200S Serial Interface
Modbus/USS jest obsługiwana przez ten blok danych. Użytkownik musi podać blok o odpowiedniej długości. Blok DB procesora komunikacyjnego musi mieć przynajmniej 50 słów
(DBW 0 do 98).
DBW 0
DBW 2
TRANSMITOWANIE i ODBIERANIE
FC17
DBW 4
DBW 6
DBW 8
DBB10
:
:
DBB 11
DBB 54
:
:
DBB 55
DBB 98
Status komunikacji
Maksymalna liczba cykli oczekiwania na odbieranie
Licznik cykli dla obliczania czasu timeout podczas oczekiwania na odbieranie
Zmierzona przerwa początkowa
Czas ostatniego cyklu
(OB1_MIN_CYCLE)
Długość wysyłanego telegramu (LEN)
Nie używane
Bufor transmitowania
Bufor odbierania
FC17
FC17, OB1
TRANSMITOWANIE
Transmitowana ramka do modułu
(długość zależy od struktury danych sieciowych bieżącego slave)
Odbierana ramka z modułu (długość zależy od struktury danych sieciowych bieżącego slave)
242
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.8 USS Master
Status komunikacji DBW0
DBW0 zawiera następujące bity:
● Bit 0: Wejście REQ do S_SEND.
Ten bit jest resetowany gdy bit 8 jest ustawiony.
● Bit 1: Wejście R do S_SEND.
Ten bit jest resetowany cyklicznie przez S_USST.
● Bit 2: Wyjście DONE z S_SEND.
● Bit 3: Wyjście ERROR z S_SEND.
● Bit 4: Wejście EN_R do S_RCV.
Ten bit jest ustawiany cyklicznie przez S_USSR.
● Bit 5: Wejście R do S_RCV.
Ten bit jest resetowany cyklicznie przez S_USSR.
● Bit 6: Wyjście NDR z S_RCV.
● Bit 7: Wyjście ERROR z S_RCV.
● Bit 8: Żądanie jest przetwarzanie (przechowywany bit DONE z S_SEND).
Ten bit jest ustawiany i resetowany przez S_USST.
Czas ostatniego cyklu DBW6
Ten parametr jest używany przez S_USST do mierzenia czasu odpowiedzi urządzenia slave.
Program użytkownika powinien kopiować czas skanu cyklu PLC (OB1_MIN_CYCLE) do tego parametru przed każdym wywołaniem S_USST.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 243
Modbus/USS
3.9 Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
3.9
Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
3.9.1
Ładowanie konfiguracji i ustawionych danych parametrów
Przechowywanie danych
Gdy konfiguracja sprzętu zostanie zamknięta dane są automatycznie przechowywane w projekcie STEP 7.
Ładowanie konfiguracji i parametrów
Można załadować konfigurację i dane parametryzacji online z programatora do CPU. Należy wybrać "Target system > Load" aby przesłać dane do CPU.
Gdy CPU się uruchamia i zawsze gdy przełącza się pomiędzy trybem STOP i RUN parametry modułu są automatycznie przesyłane do modułu gdy tylko jest on dostępny poprzez magistralę
S7-300.
Interfejs parametryzacji w pamięci nieulotnej modułu zapisuje kod sterownika. Oznacza to, że nie jest możliwa zamiana modułu bez programatora.
Dodatkowe informacje
Instrukcja obsługi STEP 7 dostarcza szczegółowych opisów jak:
● Zapisać konfigurację i parametry
● Załadować konfigurację i parametry do CPU
● Odczytać, zmodyfikować, skopiować i wydrukować konfigurację i parametry.
244
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.9 Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
3.9.2
Tryby pracy modułu interfejsu szeregowego ET 200S Modbus/USS
Trybu pracy
Moduł interfejsu szeregowego ET 200S Modbus/USS oferuje następujące tryby pracy:
● STOP:
Gdy moduł jest w trybie STOP nie jest aktywny sterownik protokołu i wszystkie zadania wysyłania i odbierania z CPU dają negatywne potwierdzenia. Moduł pozostaje w trybie
STOP dopóki przyczyna STOP nie zostanie wyeliminowana (na przykład przerwany kabel lub niewłaściwy parametr).
● Resetowanie parametrów:
Podczas resetowania parametrów modułu sterownik protokołu jest inicjowany. Dioda LED grupowego błędu pozostaje zaświecona podczas procesu resetu.
Operacje wysyłania i odbierania nie są możliwe, a ramki danych wysyłania i odbierania przechowywane w module są tracone podczas restartu sterownika. Komunikacja pomiędzy modułem a CPU jest restartowana (aktywne ramki danych są anulowane).
Zaraz po zakończeniu resetowania parametrów moduł jest w trybie RUN i jest gotowy do wysyłania i odbierania.
● RUN:
Moduł przetwarza zadania wysyłania CPU. Ramki danych odbierane od partnera komunikacji są udostępniane do odczytywania przez CPU.
3.9.3
Charakterystyki uruchamiania interfejsu szeregowego ET 200S Modbus/USS
Fazy uruchamiania
Uruchamianie składa się z dwóch faz:
● Inicjalizacja: Gdy tylko napięcie jest podane do modułu, interfejs szeregowy jest inicjowany i czeka na parametryzację danych z CPU.
● Parametryzacja: Podczas parametryzacji moduł interfejsu szeregowego ET 200S
Modbus/USS odbiera parametry modułu, które zostały przypisane do bieżącego slotu w STEP 7.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 245
Modbus/USS
3.9 Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
3.9.4
Zachowanie modułu interfejsu szeregowego ET 200S Modbus/USS gdy CPU zmienia tryb pracy
Zachowanie poprzedzające uruchomienie
Po uruchomieniu modułu interfejsu szeregowego ET 200S Modbus/USS są wymieniane przez bloki funkcyjne wszystkie dane pomiędzy CPU a modułem.
● CPU STOP:
Gdy CPU jest w trybie STOP komunikacja poprzez PROFIBUS nie jest możliwa. Dowolna aktywna transmisja pomiędzy modułem interfejsu szeregowego ET 200S Modbus/USS a
CPU, w tym zarówno wysyłanie i odbieranie ramek danych, jest anulowana i połączenie jest nawiązywane ponownie.
● Uruchamianie CPU (startup):
Podczas uruchamiania CPU przesyła parametry do modułu.
Poprzez ustawienie odpowiednich parametrów można podczas uruchamiania CPU automatycznie wyczyścić bufor odbierania modułu.
● CPU RUN:
Gdy CPU jest w trybie RUN operacja wysyłania i odbierania nie są ograniczone.
W pierwszych cyklach FB po restarcie CPU, moduł i odpowiednie bloki FB są synchronizowane. Dopóki ten proces nie zostanie zakończony nie mogą być wykonywane nowe bloki FB S_SEND lub S_RCV.
Kwestie, na które należy zwrócić uwagę podczas wysyłania ramek danych
Ramki danych mogą być wysyłane tylko gdy CPU w trybie RUN.
Jeżeli CPU zmienia tryb na STOP podczas przesyłania danych z CPU do modułu to blok FB
S_SEND zgłasza błąd (05) 02
H
następnie po restarcie. Aby zapobiec takiemu zachowaniu program użytkownika może, z uruchamianego bloku OB, wywołać blok FB S_SEND z wejściem
RESET.
Uwaga
Moduł interfejsu szeregowego ET 200S Modbus/USS wysyła dane do partnera komunikacji gdy tylko odbierze wszystkie dane z modułu.
246
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Modbus/USS
3.9 Charakterystyki uruchamiania i tryby pracy interfejsu szeregowego ET 200S Modbus/USS
Kwestie, na które należy zwrócić uwagę podczas odbierania ramek danych
Można użyć STEP 7 do parametryzacji "Clear module receive buffer during startup = yes/no"
(Czyszczenie bufora odbierania modułu podczas uruchamiania = tak/no).
● Jeżeli ustawiono parametr "yes" (tak) to bufor odbierania modułu interfejsu szeregowego
ET 200S Modbus/USS będzie automatycznie czyszczony gdy CPU przełącza się z trybu
STOP do RUN.
● Jeżeli ustawiono parametr "no" (nie) to ramka danych będzie buforowana w buforze odbierania modułu interfejsu szeregowego ET 200S Modbus/USS.
Jeżeli CPU przełącza się do trybu STOP podczas przesyłania danych z CPU do modułu modułu interfejsu szeregowego ET 200S Modbus/USS to blok S_RCV zgłasza błąd (05) 02 H natychmiast po restarcie (warm restart). Aby zapobiec takiemu zachowaniu program użytkownika, z uruchamianego bloku OB, może wywołać blok FB S_SEND FB z wejściem
RESET. Z "Clear receive buffer of ET 200S Modbus/USS serial interface module during startup
= no" moduł interfejsu szeregowego ET 200S Modbus/USS przesyła ramki danych do CPU ponownie.
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 247
Modbus/USS
3.10
Dane techniczne
3.10
Dane techniczne
Ogólne dane techniczne
Ogólne dane techniczne określone w rozdziale "Ogólne dane techniczne" ("General technical data") w instrukcji ET 200S Distributed I/O System odnoszą się do modułu interfejsu szeregowego ET 200S 1SI Modbus/USS. Instrukcja ta jest dostępna pod adresem: http://www.siemens.com/simatic-tech-doku-portal
Dane techniczne protokołów i interfejsu
Tabela 3-63 Dane techniczne dla protokołów i interfejsu modułu ET 200S Modbus/USS
Ogólne dane techniczne
Elementy sygnalizacyjne:
Dostarczane sterowniki protokołów
Prędkości dla protokołu Modbus
Prędkości dla sterownika USS
Ramka znaków(11 bitów)
LED zielona: TX (wysyłanie)
LED zielona: RX (odbieranie)
LED czerwona, SF (błąd systemowy)
Modbus driver
USS driver
110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400,
57600, 76800, 115200
Liczba bitów na znak: 8
Liczba bitów start/stop: 1 lub 2
Parzystość: None, even, odd, any
Wysyłanie i odbieranie: około 4300 bajtów Wymagana pamięć dla standardowych bloków (FB)
Dane techniczne interfejsu RS 232C
Interfejs
Sygnały RS 232C
RS 232C, 8 końcówek
TXD, RXD, RTS, CTS, DTR, DSR, DCD, PE
Wszystkie elektrycznie izolowane od wewnętrznego zasilania modułu ET 200S Modbus/USS.
15 m Maksymalny dystans transmisji
Dane techniczne interfejsu 422/485
Interfejs
Sygnały RS 422
Sygnały RS 485
Maksymalny dystans transmisji
RS 422, 5 końcówek
RS 485, 3 końcówki
TXD (A)-, RXD (A)-, TXD (B)+, RXD (B)+, PE
R/T (A), R/T (B), PE
Wszystkie elektrycznie izolowane od wewnętrznego zasilania modułu ET 200S Modbus/USS.
1,200 m
248
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Dane techniczne Modbus/USS
Tabela 3-64
Ogólne dane techniczne
Wymiary i ciężar
Wymiary szer. x wys. x dług. (w mm)
Ciężar
Ogólne dane techniczne modułu ET 200S Modbus/USS
Dane charakterystyczne modułu
15 × 81 × 52
Około 50 g
RS 232C
● Liczba wejść
● Liczba wyjść
RS 422
● Liczba par wejść
● Liczba par wyjść
RS 485
● Liczba par I/O
4
3
1
1
1
Długość kabla
● Ekranowany (RS 232C)
● Ekranowany (RS 422/485)
Stopień ochrony 1
Maks. 15 m
Maks. 1200 m
IEC 801-5
Napięcia, prądy, potencjały
Znamionowe napięcie zasilania elektroniki (L+) 24 V DC
● Ochrona odwrócenia polaryzacji Tak
Izolacja potencjałów
● Pomiędzy kanałami i szyną magistrali Tak
● Pomiędzy kanałami i zasilaniem elektroniki Tak
● Pomiędzy kanałami
● Pomiędzy kanałami i PROFIBUS DP
Test izolacji
● Kanałów do szyny magistrali i napięcia zasilania L+
● Napięcia zasilania L+ do szyny magistrali
Źródło prądowe
● Z szyny magistrali
● Z napięcia zasilania L+
Strata mocy modułu
Status, przerwania, diagnostyka
Sygnalizacja statusu
Nie
Tak
500 VDC
500 VAC
Maks. 10 mA
Maks. 80 mA; typ. 20 mA
Typowo 1.2 W
Zielona LED (TX)
Zielona LED (RX)
Modbus/USS
3.10
Dane techniczne
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05 249
Modbus/USS
3.10
Dane techniczne
Ogólne dane techniczne
Funkcje diagnostyczne
● Sygnalizacja grupowego błędu
● Informacje diagnostyki mogą być wyświetlane
Wyjścia
Wyjście, zakres RS 232C
Czerwona LED (SF)
Możliwe
± Maks. 10 V
● Dla obciążenia pojemnościowego
● Ochrona przeciwprzepięciowa
● Prąd zwarcia
● Napięcie między wyjściami lub wejściami a PE
(uziemienie)
Maks. 2500 pF
Tak
Około 60 mA
Maks. 25 V
Wyjście, RS 422/485
Obciążenie rezystancyjne
● Ochrona przeciwprzepięciowa
● Prąd zwarcia
Min. 50 kΩ
Tak
Około 60 mA
1 Zewnętrzny osprzęt ochronny wymagany dla zasilanych przez użytkownika podłączeń przewodów wejściowych:
● Blitzductor adapter standardowej szyny montażowej
● Blitzductor moduł ochrony KT AD-24V
Czasy przetwarzania
Czas wymagany do całkowitego przetwarzania master-slave (zawiera czas aktualizacji danych) może być obliczony następująco:
● Całkowity czas przetwarzania (t
8
) = czas przetwarzania żądania mastera (t
1
) + czas wysyłania żądania mastera (t
2
) + czas przetwarzania żądania slave (t
3
) + 1 cykl CPU
(czas dla przetwarzania kodu funkcji) (t czas wysyłania odpowiedzi slave (t
6
4
) + czas przetwarzania odpowiedzi slave (t
) + czas przetwarzania odpowiedzi mastera (t
5
) +
7
)
Czas przetwarzania żądania/odpowiedzi
Formuła dla obliczania czasów wysyłania i odbierania jest taka sama dla mastera i slave. Czasy wysyłania i odbierania dla 8-bajtowej transmisji danych można obliczyć następująco:
● Jeżeli cykl CPU >> (cykl I/O + 10 ms), przetwarzanie = 1 cykl CPU na 7 bajtów; w każdym innym przypadku czas przetwarzania = (2 cykle CPU + 3 cykle I/O + 10 ms) na
7 bajtów
Czas wysyłania/odbierania dla żądania/odpowiedzi
Ilość czasu wymaganego do wysyłania/odbierania żądania/odpowiedzi jest obliczana następująco:
● Czas wysyłania/odbierania = 10 ms + prędkość transmisji mnożona przez liczbę znaków w ramce
Tabela 3-65
Odczyt
10 słów
Przykład czasu całkowitego przetwarzania:
Prędkość
9,600 bps
Cykl I/O
2 ms t
1
40 ms t
2
12 ms t
3
40 ms t
4
40 ms t
5 t
6
160 ms 29 ms t
7 t
8
160 ms 483 ms
250
Moduły interfejsu szeregowego
Instrukcja obsługi, 03/2009, A5E00124881-05
Indeks
Index
3
A
ASCII sterownik
RS 232C sygnały towarzyszące, 49
D
Dane techniczne
Moduł interfejsu szeregowego, 107
DB przeznaczenia RCV
DB źródłowy SEND
Wywołanie zmiennej SFCERR, 208
Informacje diagnostyczne na diodach
Klasa zdarzenia 14 (0E hex): Ładowalne sterowniki – Ogólne błędy przetwarzania
Klasa zdarzenia 14 (0E hex): Ładowalne sterowniki – Ogólne błędy przetwarzania
<Przetwarzanie żądania S_SEND>, 213
Klasa zdarzenia 30 (1EH): Błąd podczas
komunikacji pomiędzy SI i CPU, 215
Komunikaty diagnostyczne bloków funkcyjnych,
Diagnostyka PROFIBUS slave, 216
Struktura komunikatów diagnostycznych bloków
Typy błędów charakterystycznych dla kanału dla
modułu interfejsu szeregowego ET 200S, 216
Diagnostyka komunikacji bloków FB
Diagnostyka poprzez parametry ERROR_NR,
Diagnostyka poprzez parametry ERROR_NR,
ERROR_INFO:ERROR_No 1...9, 217
Diagnostyka poprzez parametry ERROR_NR,
ERROR_INFO:ERROR_No 10..0.19, 217
Diagnostyka poprzez parametry ERROR_NR,
ERROR_INFO:ERROR_No 90..0.99, 217
Diagramy połączeń z przeznaczeniem zacisków,
Dostępne interfejsy i protokoły, 133
F
Przypisanie w obszarze danych, 140
Przypisanie w obszarze danych, 136
H
I
Interfejsy
K
Komunikacja diagnostyka FB
Konfigurowanie modułu Modbus, 143, 167
M
Master – kod funkcji 01 – Odczyt statusu, 154
Master – kod funkcji 01 – Odczyt stanu wyjść,
CP 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03 251
Indeks
Master – kod funkcji 01 – Odczyt stanu wyjść: DB
Master – kod funkcji 01 – Odczyt stanu wyjść: DB
Master – kod funkcji 02 – Odczyt stanu wejść,
Master – kod funkcji 02 – Odczyt stanu wejść: DB
Master – kod funkcji 02 – Odczyt stanu wejść: DB
Master – kod funkcji 03 – Odczyt rejestrów
Master – kod funkcji 03 – Odczyt rejestrów
wyjściowych: DB przeznaczenia RCV, 150
Master – kod funkcji 04 – Odczyt rejestrów
Master – kod funkcji 04 – Odczyt rejestrów
wejściowych: DB przeznaczenia RCV, 151
Master – kod funkcji 06 – Ustawianie kilku
Master – kod funkcji 06 – Ustawianie jednego
Master – kod funkcji 06 – Ustawianie jednego
rejestru: DB przeznaczenia RCV, 153
Master – kod funkcji 06 – Ustawianie jednego
rejestru: DB źródłowy SEND, 153
Master – kod funkcji 07 – Odczyt statusu: DB
Master – kod funkcji 07 – Odczyt statusu: DB
Master – kod funkcji 15 – Forsowanie kilku
Master – kod funkcji 15 – Forsowanie kilku
Master – kody funkcji 03 – Odczyt rejestrów
wyjściowych: DB źródłowy SEND, 150
Master – kody funkcji 04 – Odczyt rejestrów
wejściowych: DB źródłowy SEND, 151
Master – kody funkcji 16 – Ustawianie kilku
rejestrów: DB źródłowy SEND, 159
Master – kody funkcji
Master – kod funkcji 05 – Forsowanie jednej
Master – kod funkcji 05 – Forsowanie jednej
cewki: DB przeznaczenia RCV, 152
Master – kod funkcji 05 – Forsowanie jednej
Master – kod funkcji 08 – Test pętli zwrotnej, 155
Master – kod funkcji 08 – Test pętli zwrotnej: DB
Master – kod funkcji 08 – Test pętli zwrotnej: DB
Master – kod funkcji 11 – Pobieranie licznika
Master – kod funkcji 11 – Pobieranie licznika
zdarzeń komunikacji: DB przeznaczenia RCV, 156
Master – kod funkcji 11 – Pobieranie licznika
zdarzeń komunikacji: DB źródłowy SEND, 156
Master – kod funkcji 12 – Pobieranie logu
Master – kod funkcji 12 – Pobieranie logu zdarzeń komunikacji: DB przeznaczenia RCV,
Master – kod funkcji 12 – Pobieranie logu
zdarzeń komunikacji: DB źródłowy SEND, 157
Moduł interfejsu szeregowego
Dane techniczne, 107, 108, 249
P
Parametryzacja sterownika master, 143
Mnożnik czasu opóźnienia znaku, 146
Half-duplex (RS 485) praca dwu-przewodowa,
Stan początkowy linii odbierania, 145, 167
Przegląd produktu
Przeznaczenie zacisków RS 232C kabel
połączeniowy dla 25- pinowego wtyku kabla, 123
Przeznaczenie zacisków RS 232C kabel
połączeniowy dla 9- pinowego wtyku kabla, 122
Przeznaczenie zacisków RS 422 kabel
połączeniowy dla 15- pinowego wtyku kabla, 124
Przeznaczenie zacisków RS 485 kabel
połączeniowy dla 15-pinowego wtyku kabla, 125
Przykład uruchamiania
R
RCV DB przeznaczenia
252
P 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03
Indeks
RCV DB przeznaczenia
RS 232C komunikacja
RS 232C sygnały towarzyszące, 49
RS 422 komunikacja
RS 485 komunikacja
S
SEND DB źródłowy
SEND DB źródłowy
Skrócona instrukcja uruchamiania
Slave
Slave przykład aplikacji
Kod funkcji 06 – Ustawianie jednego rejestru, 186
Slave przykład aplikacji
Kod funkcji 15: Konwersja przypisania adresu
Slave sterownik
Komponenty: Struktura danych, 160
Komponenty: Modbus slave bloki FB
Komponenty: Modbus slave połączenie, 160
Parametry: Mnożnik czasu opóźnienia znaku,
Parametry: Konfigurowanie, 164
Parametry: Tłumienie zakłóceń, 168
Parametry: Praca normalna, 167
Parametry: Parametryzacja sterownika slave,
Parametry: Prędkość transmisji, 167
Kod funkcji 01 – Odczyt stanu cewki (wyjścia),
Kod funkcji 01 – Odczyt stanu cewki (wyjścia):
Kod funkcji 01 – Odczyt stanu cewki (wyjścia):
Kod funkcji 01 – Odczyt stanu cewki (wyjścia):
Dostęp do timerów i liczników, 170
Kod funkcji 01 – Odczyt stanu cewki (wyjścia):
Kod funkcji 01 – Odczyt stanu cewki
Kod funkcji 02 – Odczyt stanu wejścia, 173
Kod funkcji 02 – Odczyt stanu wejścia: Przykład
Kod funkcji 02 – Odczyt stanu
Kod funkcji 02 – Odczyt stanu wejścia:
Kod funkcji 03 – Odczyt rejestrów wyjściowych,
Kod funkcji 03 – Odczyt rejestrów
wyjściowych:Przykład aplikacji, 177
Kod funkcji 03 – Odczyt rejestrów wyjściowych:
Obliczanie formuły dla start_register, 176
Kod funkcji 03 – Odczyt rejestrów
wyjściowych:register_number, 176
Kod funkcji 03 – Odczyt rejestrów wyjściowych:
Kod funkcji 04 – Odczyt rejestrów wejściowych,
Kod funkcji 04 – Odczyt rejestrów
wejściowych:Przykład aplikacji, 180
Kod funkcji 04 – Odczyt rejestrów
wejściowych:register_number, 179
Kod funkcji 04 – Odczyt rejestrów wejściowych:
Kod funkcji 05 – Forsowanie jednej cewki, 182
Kod funkcji 05 – Forsowanie jednej cewki: DATA
Kod funkcji 05 – Forsowanie jednej cewki:
Kod funkcji 05 – Forsowanie jednej cewki:
Dostęp do timerów i liczników, 182
Kod funkcji 05 – Forsowanie jednej
CP 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03 253
Indeks
Kod funkcji 05 – Forsowanie jednej cewki:
Kod funkcji 06 – Ustawianie jednego rejestru, 185
Kod funkcji 06 – Ustawianie jednego rejestru:
Kod funkcji 06 – Ustawianie jednego rejestru:
Kod funkcji 06 – Ustawianie jednego
Kod funkcji 08 – Test pętli zwrotnej, 188
Kod funkcji 08 – Test pętli zwrotnej: Przykład
Kod funkcji 15 – Forsowanie kilku cewek, 189
Kod funkcji 15 – Forsowanie kilku cewek:
Przykład aplikacji dla konwersji przypisania
Kod funkcji 15 – Forsowanie kilku cewek: Dostęp
Kod funkcji 15 – Forsowanie kilku cewek: Dostęp
Kod funkcji 15 – Forsowanie kilku cewek: DATA,
Kod funkcji 15 – Forsowanie kilku cewek: Ilość,
Kod funkcji 15 – Forsowanie kilku cewek:
Kod funkcji 16 – Forsowanie kilku cewek: Ilość,
Kod funkcji 16 – Ustawianie kilku rejestrów, 192
Kod funkcji 16 – Ustawianie kilku
rejestrów:Przykład aplikacji, 193
Kod funkcji 16 – Ustawianie kilku rejestrów:DATA
Kod funkcji 16 – Ustawianie kilku
Sprawdzenie sumy kontrolnej, 131
Sygnały
Automatyczne sterowanie sygnałami
Diagram czasowy dla sygnałów towarzyszących,
T
Transmisja – ramka danych, 130
Transmisja danych z ET 200S Modbus master, 133
Tryb połączenia dla sterownika slave
Konwertowanie adresów Modbus dla funkcji
bitowych: od/do adresu Modbus, 201
Konwertowanie adresów Modbus dla funkcji bitowych: obszar pamięci SIMATIC "Począwszy
Tryb pracy połączenia dla sterownika slave
Dostęp z kodami funkcji zorientowanymi bitowo,
Dostęp z kodami funkcji zorientowanymi bitowo:
Dostęp z kodami funkcji zorientowanymi
Dostęp z kodami funkcji zorientowanymi
rejestrowo: Kod funkcji 04, 196
Dostęp z kodami funkcji zorientowanymi
rejestrowo: Numer wynikowego DB, 196
Dostęp z kodami funkcji zorientowanymi
rejestrowo: Liczba słów w DB, 196
Konwertowanie adresów Modbus dla funkcji
Konwertowanie adresów Modbus dla funkcji
bitowych: Przykład dla FC 01, 05, 15, 199
Konwertowanie adresów Modbus dla funkcji
bitowych: Przykład dla FC 02, 201
Konwertowanie adresów Modbus dla funkcji
bitowych: Od/do adresu Modbus, 199
Konwertowanie adresów Modbus dla funkcji
bitowych: Przegląd FC 01, 05, 15, 198
Konwertowanie adresów Modbus dla funkcji
Konwertowanie adresów Modbus dla funkcji
Konwertowanie adresów Modbus dla funkcji
Konwertowanie adresów Modbus dla funkcji
rejestrowych: Przykład dla FC 04, 204
Konwertowanie adresów Modbus dla funkcji
rejestrowych: Przegląd FC 03, 06, 16, 203
Konwertowanie adresów Modbus dla funkcji
rejestrowych: Przegląd FC 04, 204
Obszar danych w the SIMATIC CPU:
Odblokowanie/Zablokowanie dostępu do zapisu,
Odblokowanie/Zablokowanie dostępu do zapisu:
Kody funkcji 05, 06, 15, 16, 197
Ograniczenia dla dostępu do zapisu, 205
Ograniczenia dla dostępu do zapisu: Przykład dla
Ograniczenia dla dostępu do zapisu: Przegląd
Ograniczenia dla zapisu funkcji: Obszary pamięci
254
P 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03
Indeks
U
Uruchamianie – właściwości, 245
Uruchamianie – właściwości i tryby pracy
Ładowanie danych parametryzacji, 244
Uruchamianie – właściwości i tryby pracy
Zachowanie modułu interfejsu szeregowego the
ET 200S Modbus/USS podczas zmiany trybu
FC 17 S_USST: Wysyłanie danych do slave, 226
FC 17 S_USST: Wysyłanie danych do slave:
FC 18 S_USSR: Odbieranie danych z slave, 229
FC 18 S_USSR: Odbieranie danych z slave:
FC 19 S_USSI: Inicjalizacja, 232
FC 19 S_USSI: Inicjalizacja: Parametry, 234
DB danych sieciowych: Parametr ID PKE w
DB danych sieciowych: Bajt 1 błędu
DB danych sieciowych: Bajt 2 błędu
DB danych sieciowych: przypisanie danych
DB danych sieciowych: Struktura słowa błędu
DB danych sieciowych: Słowo sterujące
Network DB: Słowo sterujące komunikacji KSTW
DB parametryzacji: parametryzacja komunikacji
DB parametryzacji: parametry systemowe, 241
Kolejność wywołań funkcji, 224
USS protokół: Blok danych sieciowych, 222
USS protokół: Szyfrowanie danych, 221
USS protokół: Procedura transmisji danych, 221
USS protokół: Struktura ramki danych, 221
USS Master
DB procesora komunikacji: status komunikacji
Czas ostatniego cyklu DBW6: Czas ostatniego
USS – protokół
Ogólna struktura bloku danych sieciowych:
Ogólna struktura bloku danych sieciowych:
Z
CP 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03 255
Indeks
256
P 341 Punkt-Punkt Komunikacja, instalacja i ustawianie parametrów
Instrukcja, 04/2011, A5E02191071-03
Advertisement
Key features
- Komunikacja szeregowa
- RS 232C, RS 422, RS 485
- Protokół 3964(R)
- Sterownik ASCII
- Modbus/USS