S7-200 Modbus cz1.pdf

(1569 KB) Pobierz
AUTOMATYKA PRAKTYCZNA
Biblioteka Modbus Master
dla sterowników SIMATIC
S7–200, część 2
STEP 7–Micro/WIN biblioteka
Modbus RTU Slave zawiera
przygotowane przez firmę
Siemens gotowe podprogramy
oraz programy przerwań,
dzięki którym możliwe jest
zapewnienie komunikacji
z wykorzystaniem protokołu
Modbus. Siemens przygotował
kolejną bibliotekę, która pozwala
poprzez zintegrowane złącze
komunikacyjne sterownika
SIMATIC S7–200 komunikować
się w protokole Modbus RTU
Master z jednym lub wieloma
urządzeniami pracującymi
jako Modbus RTU Slave.
Biblioteki Modbus RTU Master
są dostarczane bezpłatnie
wraz z uaktualnieniem SP5 dla
Step7MicroWin V4.0.
Wymagania odnośnie biblioteki Modbus Master
Protocol
• Protokół Modbus master odwołuje sie do
Portu 0 sterownika S7–200. W przypadku
gdy Port 0 jest wykorzystany do
komunikacji w Modbus master, port ten
nie może być użyty do innych celów
włącznie z obsługą programu narzędziowego
Step7Micro/Win. Funkcja MBUS_CTRL
instruction przyporządkowuje Port 0 do
protokołu Modbus master lub PPI.
• Biblioteka Modbus Master Protocol
odwołuje sie do bajtów systemowych SM
przyporządkowując tryb Free Port do Portu
0 sterownika SIMATIC S7–200.
• Biblioteka Modbus master wykorzystuje 3
podprogramy oraz 1 program przerwania.
• Biblioteka Modbus master zajmuje ok.
1620 bajtów pamięci programu sterownika
SIMATIC S7–200.
• Biblioteka Modbus master zajmuje 284
bajtów pamięci danych V. Istnieje
możliwość wyboru adresu początkowego
dla zmiennych.
• SIMATIC S7–200 CPU musi posiadać
wersję firmware 2.00 lub wyższą w celu
obsługi protokołu Modbus Master (CPU
MLFB 21x–2xx23–0XB0).
• Przerwania, które są wykorzystywane
w bibliotece Modbus master, nie mogą być
wyłączone przez program użytkownika.
Parametr DataPtr jest wskaźni-
kiem do adresu obszaru danych „V”
sterownika SIMATIC S7–200 zwią-
zanego z obsługą zapisu lub odczy-
tu. Dla odczytu DataPtr wskazuje
początek obszaru pamięci w sterow-
niku SIMATIC S7–200, gdzie odczy-
tane z urządzenia slave dane będą
zapisane w pamięci sterownika. Dla
odczytu Data Ptr wskazuje począ-
tek obszaru pamięci w SIMATIC
S7–200, skąd dane będą pobierane
do wysłania do urządzenia slave .
Parametr DataPtr jest wskaźnikiem,
więc przykładowo jeżeli dane do
przesłania do urządzenia slave
umiejscowione od adresu VW200,
wartość wskaźnika należy podać
jako &VB200. Wskaźnik musi być
formatu VB nawet jeśli wskazuje
na daną typu Word .
Rejestry pamięci (adres 4xxxx)
oraz rejestry wejściowe
(adres 3xxxx) są wartościa-
mi typu Word (2 bajty lub
16 bitów). Format zmiennej
word zdefiniowany w ste-
rowniku SIMATIC S7–200
jest taki sam jak rejestrów
Modbus. Na rys. 3 poka-
zano w jaki sposób adresy
sterownika SIMATIC S7–
200 odpowiadają adresom
rejestrów Modbus.
Parametr Done instruk-
cji MBUS_MSG przyjmuje
S7-200 CPU
pamięć adreso-
wanie bajtowe
VB200 12
VB201 34
VB202 56
VB203 78
VB204 9A
VB205 BC
S7-200
CPU pamięć
adresowanie
Word
VW200 12 34
VW202 56 78
VW204 9A BC
Rejestry pamięci
Modbus
40001 12 34
40002 56 78
40003 9A BC
Rys. 3. Adresy w pamięci danych S7–200 oraz
adresy rejestrów Modbus
Elektronika Praktyczna 8/2007
135
886666776.104.png 886666776.115.png 886666776.126.png 886666776.137.png 886666776.001.png 886666776.012.png 886666776.023.png 886666776.034.png 886666776.045.png 886666776.056.png 886666776.060.png 886666776.061.png 886666776.062.png 886666776.063.png 886666776.064.png 886666776.065.png 886666776.066.png 886666776.067.png 886666776.068.png 886666776.069.png 886666776.070.png 886666776.071.png 886666776.072.png 886666776.073.png 886666776.074.png 886666776.075.png 886666776.076.png 886666776.077.png 886666776.078.png 886666776.079.png 886666776.080.png 886666776.081.png 886666776.082.png 886666776.083.png 886666776.084.png 886666776.085.png 886666776.086.png 886666776.087.png 886666776.088.png 886666776.089.png 886666776.090.png 886666776.091.png 886666776.092.png 886666776.093.png 886666776.094.png 886666776.095.png 886666776.096.png 886666776.097.png 886666776.098.png 886666776.099.png 886666776.100.png 886666776.101.png 886666776.102.png 886666776.103.png 886666776.105.png 886666776.106.png 886666776.107.png 886666776.108.png 886666776.109.png 886666776.110.png 886666776.111.png 886666776.112.png 886666776.113.png 886666776.114.png 886666776.116.png 886666776.117.png 886666776.118.png 886666776.119.png 886666776.120.png 886666776.121.png 886666776.122.png 886666776.123.png 886666776.124.png 886666776.125.png 886666776.127.png 886666776.128.png 886666776.129.png 886666776.130.png 886666776.131.png 886666776.132.png
AUTOMATYKA PRAKTYCZNA
Tab. 2. Opisy błędów instrukcji
MBUS_MSG
Kod
błędu
Inicjalizacja I monitorowanie transmisji danych przy
wywołaniu w każdym cyklu instrukcji MBUS_CTRL.
Opis
Ustawienie prędkości 9600 oraz braku kontroli
parzystości. Ustalenie czasu odpowiedzi od slave na
1000 milisekund
(1 sekunda)
0
Brak błędów
Błąd parzystości w zapytaniu. Jest
to możliwe tylko wtedy, gdy został
ustawiony parametr kontroli parzystości
even lub odd. Jest to przeważnie
problem z połączeniami kablowymi lub
zakłóceniami w transmisji danych.
1
2
Nie używane
Kasowanie flag (M2.0 oraz M2.1) w pierwszym cyklu
pracy sterownika dla dwóch instrukcji MBUS_MSG.
Przekroczony czas odpowiedzi Timeout.
Brak odpowiedzi z urządzenia slave.
Możliwe przyczyny wystąpienia błędu
to błędy łączeniowe kabli, różne
nastawione prędkości w masterze oraz
slave, inne nastawy korekcji błędów
parzystości lub niewłaściwy adres
urządzenia slave.
3
Wykrycie zbocza narastającego na wejściu I0.0
I załączenie flagi (M2.0) dla pierwszej instrukcji
MBUS_MSG.
Jeden lub więcej parametrów (slave,
RW, Addr., Mount) jest ustawiony na
niewłaściwą wartość. Należy sprawdzić
w dokumentacji wymagane nastawy dla
parametrów.
Instrukcja MBUS_MSG zostanie przetwarzana po
załączeniu flagi M2.0
4
Instrukcja MBUS_MSG zapisuje (RW=1) 4 rejestry
pamięci do slave 2. Dane do zapisu są brane od
VB100-VB107 (4 słowa) z pamięci danych sterownika
i zapisywane do urządzenia slave pod adresy 40001-
40004.
Master Modbus nie jest załączony do
pracy. Należy uruchomić instrukcje
MBUS_CTRL i przetwarzać ją
w każdym cyklu pracy sterownika.
5
Zajęty kanał komunikacyjny. Tylko
jedna instrukcja MBUS_MSG może być
aktywna w ustalonym czasie.
6
W przypadku gdy instrukcja MBUS_MSG zostanie
zakończona z sukcesem (bit Done zmiana z 0 na
1), kasowana jest flaga M2.0 tym samym blokowane
jest wykonywanie pierwszej instrukcji MBUS_MSG i
jednocześnie ustawiana jest flaga M2.1 załączająca
drugą instrukcję MBUS_MSG. Jeżeli Error (MB1) nie
jest zerem, ustawiane jest wyjście Q0.1 jako komunikat
o błędzie.
Błąd dostępu. Odbiornik nie odpowiada
na zapytania. Możliwe przyczyna to
uszkodzenie urządzenia slave lub
odpowiedź przyszła od niewłaściwego
urządzenia slave.
7
Błąd sumy kontrolnej CRC w zapytaniu.
Nastąpiło zakłócenie transmisji
i odebrano niewłaściwe dane.
Przyczyna mogą być połączenia
kablowe lub zakłócenia elektryczne.
Instrukcja jest aktywna wtedy gdy flaga M2.1 jest
aktywna. Parametr First powinien być aktywny tylko
w pierwszym cyklu pracy po aktywacji instrukcji
MBUS_MSG.
8
Urządzenie slave nie obsługuje
wymaganej funkcji.
101
Instrukcja czyta (RW=0) rejestry pamięci z slave 2.
Dane są odczytywane z adresów 40010-40013 ze
urządzenia slave i zapisywane do pamięci sterownika
S7-200 pod adresy V200-V207 (4 słowa).
Urządzenie slave nie obsługuje
zadeklarowanego adresu danych.
Zdefiniowany zakres adresu Adr. Oraz
liczba danych Mount znajdują się poza
dostępnym zakresem dla urządzenia
slave.
102
W przypadku gdy instrukcja MBUS_MSG została
wykonana poprawnie (bit Done zmiana z 0 na 1),
kasowana jest flaga M2.1 dla drugiej instrukcji
MBUS_MSG.
Jeżeli Error (MB1) nie jest zerem, ustawiane jest
wyjście Q0.2 jako komunikat o błędzie.
Urządzenie slave nie obsługuje tego
typu danych. Typ adresu zdeklarowany
w Adr. Nie jest obsługiwany przez
wybrane urządzenie slave.
103
104
Uszkodzone urządzenie slave.
wartość zero gdy zostało wysła-
ne zapytanie lub oczekiwany jest
odbiór danych z urządzenia slave .
Bit Done jest ustawiany na jeden,
gdy dane zostały poprawnie ode-
brane lub wysłane, gdy instrukcja
MBUS_MSG wygenerowała błędy
komunikacji. Parametr Error jest
ustawiany (przyjmuje wartość „1”),
gdy bit Don jest jedynką. W tab. 2
opisano możliwe do wystąpienia
błędy komunikacji. Numery błędów
od 1 do 8 opisują błędy przez in-
strukcję MBUS_MSG. Błędy te in-
formują o problemie z parametrami
wejściowymi na wejściu instrukcji
MBUS_MSG lub opisują problemy
z odbiorem danych od urządzenia
slave . Błędy parzystości oraz CRC
informuja że nastąpił odbiór da-
nych, jednakże dane nie są ode-
brane właściwie. Przeważnie jest
to problem elektryczny, jak np. złe
połączenie przewodowe. Błędy od
101 są to błędy przychodzące od
urządzenia slave . Oznaczają one, że
urządzenie slave nie obsługuje wy-
maganej funkcji lub że wymagany
Urządzenie slave akceptuje maldunek
ale opóźnione jest odpowiedź.Powoduje
to generację błędu w instrukcji
MBUS_MSG. Program użytkownika
powinien ponownie wysłać zapytanie
w czasie późniejszym.
105
Urządzenie slave jest zajęte i zapytanie
zostało odrzucone. Należy ponowić to
zapytanie w późniejszym czasie.
106
Urządzenie odrzuca zapytanie
z nieznanej przyczyny
107
Błąd parzystości pamięci urządzenia
slave. Wykryto wadę w urządzeniu
slave.
108
136
Elektronika Praktyczna 8/2007
886666776.133.png 886666776.134.png 886666776.135.png 886666776.136.png 886666776.138.png 886666776.139.png 886666776.140.png 886666776.141.png 886666776.142.png 886666776.143.png 886666776.144.png 886666776.145.png 886666776.146.png 886666776.147.png 886666776.002.png 886666776.003.png 886666776.004.png 886666776.005.png 886666776.006.png 886666776.007.png 886666776.008.png 886666776.009.png 886666776.010.png 886666776.011.png 886666776.013.png 886666776.014.png 886666776.015.png 886666776.016.png 886666776.017.png 886666776.018.png 886666776.019.png 886666776.020.png 886666776.021.png 886666776.022.png 886666776.024.png 886666776.025.png 886666776.026.png 886666776.027.png 886666776.028.png 886666776.029.png 886666776.030.png
Nowy zasilacz SITOP modular 20A
AUTOMATYKA PRAKTYCZNA
sitop modular
p
Zasilacze SITOP modular to właściwy wybór.Wszystkie zasilacze z tej serii mogą być
uzupełnione o dodatkowe moduły, takie jak: redundancji zasilania, buforowania,
UPS. Zabezpieczają one przed awarią, minimalizują czas postojów oraz umożliwiają
szybką diagnostykę. Nowością jest 3-fazowy SITOP modular 20A. Jest on o połowę
węższy od poprzednika (70 mm szerokości), posiada ok. 93% sprawności, przy
zasilaniu 400-500 VAC i ma możliwość 1,5 krotnego przeciążenia dla urządzeń
o dużym prądzie rozruchowym.
Siemens Sp. z o.o.
tel. 022 870 91 66
www.siemens.pl/simatic
simatic.pl@siemens.com
szkolenia.pl@siemens.com
Autoryzowani dystrybutorzy:
www.allmar.pl, www.aps.pl, www.elteko.com, www.elmark.olsztyn.pl, www.ewpol.com,
www.ferrox-electric.pl, www.impol-1.pl, www.jupro-tajm.pl, www.karoel.com.pl,
www.kuba.com.pl, www.sitaniec.pl, www.stakol.com.pl, www.sternet.pl
Elektronika Praktyczna 8/2007
137
886666776.031.png 886666776.032.png 886666776.033.png 886666776.035.png
AUTOMATYKA PRAKTYCZNA
Rejestry pamięci
urządzenia slave
adres nie jest osiągalny w urządze-
niu slave .
Pamięć S7200 CPU
Przykładowy program
Program przedstawia jak używać
biblioteki Modbus Master do zapisu
i odczytu 4 rejestrów pamięci z oraz
do urządzenia slave za każdym razem
gdy aktywne będzie wejście I0.0. SI-
MATIC S7–200 zapisuje 4 słowa po-
cząwszy od adresu VW100 do urzą-
dzenia slave . Dane zostaną zapisane
do 4 rejestrów pamięci w urządzeniu
slave począwszy od adresu 40001.
SIMATIC S7–200 odczytuje 4 reje-
stry pamięci z urządzenia slave . Dane
będą odbierane z rejestrów pamięci od
adresu 40010 – 40013 i umieszczane
w pamięci sterownika SIMATIC S7–
200 począwszy od adresu VW200.
Program ustawia wyjście Q0.1 oraz
Q0.2 w przypadku gdy zostaną wykry-
te błędy w instrukcji MBUS_MSG.
Dzięki przejrzystej strukturze bi-
blioteki, wytworzenie komunikacji
w protokole Modbus RTU nie powin-
no nikomu sprawić kłopotu. Ponie-
VW100
40001
VW102
40002
VW104
40003
VW106
40004
….
VW200
40010
VW202
40011
VW204
40012
VW206
40013
Rys. 4. Przykład wymiany danych pomiędzy S7–200 a urządzeniem Modbus
Slave
waż dostępna jest też dla sterownika
SIMATIC S7–200 biblioteka Modbus
Slave, można na bazie tego protokołu
budować struktury sieciowe na ste-
rownikach SIMATIC S7–200. Jednak
celem stworzenia biblioteki Modbus
Master było umożliwienie komunika-
cji z innymi urządzeniami z poza ofer-
ty firmy Siemens. Protokół Modbus
ze względu na swoja prostotę oraz
dostosowanie do warunków przemy-
słowych znalazł szerokie zastosowanie
w przemyśle. Bazując na tanich ste-
rownikach SIMATIC S7–200 można
przykładowo komunikować się w pro-
tokole Modbus RTU z falownikami,
innymi sterownikami, licznikami ener-
gii elektrycznej, przepływomierzami.
Michał Bereza
Siemens
STACJA LUTOWNICZA XYTRONIC LF-1000
regulacja temperatury grota w zakresie 200-450°C
stabilność temperatury ±3°C
cyfrowy odczyt temperatury - wyświetlacze LED
430.00 zł
STACJA LUTOWNICZA CT-932
temperatura 150-420°C
płynna regulacja temperatury
moc 23W
100.00 zł
STACJA LUTOWNICZA RT-24 SE220-1
jedno gniazdo
moc transformatorowa: 60W
zasilanie lutownicy: 24V/50Hz
odczyt temperatury: analogowy
292.80 zł
tel. 022 568 99 50
z oferty www.sklep.avt.pl – lutownice
handlowy@avt.pl
STACJA LUTOWNICZA RTC-24 SEC220A-1
moc transformatorowa 80W
zasilanie lutownicy 24V/50Hz
odczyt temperatury cyfrowy
451.40 zł
LAB-1 UNIWERSALNY ZESTAW WARSZTATOWY
multimetr
zasilacz
stacja lutownicza
451.00 zł
STACJA LUTOWNICZA ZD-937
odczyt temperatury
moc grzewcza lutownicy 48W
temperatura grota 150–450°C
150.00 zł
138
Elektronika Praktyczna 8/2007
886666776.036.png 886666776.037.png 886666776.038.png 886666776.039.png 886666776.040.png 886666776.041.png 886666776.042.png 886666776.043.png 886666776.044.png 886666776.046.png 886666776.047.png 886666776.048.png 886666776.049.png 886666776.050.png 886666776.051.png 886666776.052.png 886666776.053.png 886666776.054.png 886666776.055.png 886666776.057.png 886666776.058.png 886666776.059.png
Zgłoś jeśli naruszono regulamin