Protokoły komunikacyjne w sieciach przemysłowych, Programowanie PLC, Book PL

[ Pobierz całość w formacie PDF ]
STEROWNIKI PROGRAMOWALNE PLC
Komunikacja sieciowa sterowników PLC
1. Protokoły komunikacyjne w sieciach przemysłowych
Protokoły komunikacyjne to zbiór ścisłych reguł i kroków postępowania, które są
automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania
łączności i wymiany danych. Dzięki temu, że połączenia z użyciem protokołów
odbywają się całkowicie automatycznie, typowy użytkownik zwykle nie zdaje sobie
sprawy z ich istnienia i nie musi o nich nic wiedzieć.
Najczęściej spotykane sieci przemysłowe to:
Û
sieć Modbus,
Û
sieć Profibus,
Û
sieć Devicenet,
Û
sieć Ethernet,
Û
sieć CanOpen
1.1. Sieć Modbus
Wprowadzenie
Sieć Modbus opracowano w firmie Modicon w latach siedemdziesiątych. Mimo
upływu dość znacznego czasu od chwili jej wprowadzenia jest ona nadal szeroko
stosowana. Użyty w niej protokół, o takiej samej jak sieć nazwie, jest obecnie
typowym protokołem znakowym wykorzystywanym dla organizacji komunikacji
urządzeń pomiarowo-kontrolnych z komputerem nadrzędnym.
Prostota tego protokołu pozwala na łatwą implementację w dowolnym
urządzeniu posiadającym mikrokontroler. W procedury komunikacyjne realizujące
protokół Modbus są wyposażone niemal wszystkie dostępne na rynku pakiety
SCADA.
Rys.1. Sieć Modbus
Zadanie 21/2
1
STEROWNIKI PROGRAMOWALNE PLC
Komunikacja sieciowa sterowników PLC
Sieć Modbus swą popularność zawdzięcza prostocie zastosowanych w niej
rozwiązań technicznych oraz jawności specyfikacji protokołu. Posiada ona topologię
magistrali i umożliwia połączenie wielu urządzeń pomiarowo-kontrolnych (rys. 1) z
komputerem.
Modbus jest siecią typu Master/Slave, wydzielona stacja Master posługując się
listą wymian cyklicznych i wyzwalanych odpytuje kolejno poszczególnych abonentów
sieci. Do przesyłania informacji przez magistralę sieci Modbus wykorzystywana jest
asynchroniczna transmisja znakowa określona w standardzie (RS-232, RS-485) z
niewielkimi szybkościami transmisji na ograniczonym dystansie. Sieć ta znalazła
szerokie zastosowanie w aplikacjach przemysłowych o niskich wymaganiach
dotyczących szybkości i częstości przesyłu danych.
1.1.1. Tryby komunikacji w protokole Modbus
Polecenia są przesyłane ze stacji Master do stacji Slave w formie ramki o
określonym początku i końcu. Pozwala to urządzeniu odbierającemu na odrzucenie
ramek niekompletnych i co za tym idzie możliwość sygnalizacji błędów.
W interfejsie Modbus jest możliwe przesyłanie danych w dwu trybach (
ASCII
i
RTU
). W zależności od typu urządzenia mamy do czynienie z ramką ASCII lub RTU.
Û
ASCII - każdy bajt informacji przesyłany jest w postaci dwóch znaków ASCII,
dopuszczalne znaki ASCII (0-9, A-F), odstęp pomiędzy poszczególnymi znakami
w ramce nie może przekroczyć 1s, w ramce jest stały znak początku i końca,
zabezpieczenie LRC
Format ramki ASCII
Znacznik
Kontrola
Znacznik
Adres
Funkcja
Dane
początku
LRC
końca
Długość
Nx2
1-znak
2 - znaki
2 - znaki
2 - znaki
2 - znaki
[znak]
znaków
WartoŚci
":"
( 1 - 247)
( 1 -255)
(0-9, A-F)
(CR LF)
Û
RTU - każdy bajt informacji przesyłany jest w postaci 1 znaku, dopuszczalne
znaki Hex 0-9, A-F, odstęp pomiędzy znakami w ramce nie może przekraczać
1,5 znaku, znak początku i końca transmisji musi wynosić minimum 3,5 czasu
trwania przesyłu jednego znaku, kod zabezpieczenia ramki CRC
Zadanie 21/2
2
STEROWNIKI PROGRAMOWALNE PLC
Komunikacja sieciowa sterowników PLC
Format ramki RTU
Znacznik
początku
Kontrola
CRC
Znacznik
końca
Adres
Funkcja
Dane
Długość
[bit]
Nx 8
bitów
3,5 x znak
8 - bitów
8 - bitów
16 bitów
3,5 x znaku
T1-T2-T3-
T4
T1-T2-T3-
T4
WartoŚci
( 1 - 247)
( 1 -255)
(0-9, A-F)
1.1.2. Funkcje interfejsu Modbus w sterownikach GE Fanuc
Do transmisji danych pomiędzy poszczególnymi jednostkami w sieci Modbus
RTU wykorzystywane są standardowe komendy zestawione w tabeli poniżej.
Tabela 1. Komendy RTU Modbus dla modułu komunikacyjnego
Komendy RTU Modbus
Wartość
Opis
1
Odczyt stanu wyjść dyskretnych
2
Odczyt stanu wejść dyskretnych
3
Odczyt rejestrów
4
Odczyt wejść analogowych
5
Ustawienie ON/OFF wybranego wyjścia dwustanowego
6
Zapis do rejestru
7
Odczyt statusu
15
Ustawienie ON/OFF grupy wyjść dwustanowych
16
Ustawienie wartości w grupie rejestrów
Do właściwej organizacji transmisji danych przyjęte zostały wartości do
adresowania pobieranych typów obszarów pamięci PLC zestawione w tabeli 2.
Zadanie 21/2
3
STEROWNIKI PROGRAMOWALNE PLC
Komunikacja sieciowa sterowników PLC
Tabela 2. Pobierane typy obszarów pamięci w sterowniku PLC
Pobierane typy obszarów pamięci PLC
Wartość
Opis
70
%I - obszar wejść dyskretnych
72
%Q - obszar wyjść dyskretnych
74
%T - obszar zmiennych tymczasowych
76
%M - obszar zmiennych z pamięcią
8
%R - obszar zmiennych rejestrowych
10
%AI - obszar wejść analogowych
12
%AQ - obszar wyjść analogowych
Przesyłane dane są organizowane w bloki danych kontrolnych dla urządzeń Slave
(SCB) i urządzeń Master (MCB).
Organizacja danych w Master Control Block (MCB)
Blok danych dla urządzenia MASTER jest grupą 6 słów bitowych
konfigurowany dla każdej komendy RTU. Wszystkie bloki MCB są przechowywane w
obszarze pamięci sterownika programowalnego. Blok MCB zawiera dane
dotyczące numeru identyfikacyjnego urządzenia SLAVE, do którego zostanie
wysłana komenda, rodzaj komendy wysłanej do urządzenia, rodzaj pamięci
urządzenia SLAVE, obszar tej pamięci oraz rodzaj i obszar pamięci służącej do
przechowywania danych odbieranych lub przesyłanych z urządzenia SLAVE.
Tabela 3. Organizacja danych w Master Control Block (MCB)
Adres
Opis
adres
ID numer identyfikacyjny stacji Slave
adres +1
Komenda RTU
adres +2
Adres pierwszego bitu obszaru pamięci w urządzeniu Slave
adres +3
Długość obszaru pamięci urządzenia Slave
adres +4
Typ pamięci do lub z którego są przesyłane lub odbierane dane
adres +5
Adres pierwszego bitu obszaru pamięci w sterowniku Master
Przesyłanie bloków danych między urządzeniami jest realizowane za pomocą
specjalnej funkcji COMMREQ.
Zadanie 21/2
4
 STEROWNIKI PROGRAMOWALNE PLC
Komunikacja sieciowa sterowników PLC
Funkcja COMMREQ dla ciągłych transakcji wymiany jest wywoływana tylko
raz, zaś dla transakcji wyzwalanych jest wywoływana w określonych momentach.
Aby zainicjalizować pracę sieci należy napisać program dla sterownika
MASTER zapewniający wykonanie poniższych czynności, czyli:
Û
inicjalizacja Slave Control Błock,
Û
inicjalizacja Master Control Błock,
Û
inicjalizacja bloku danych dla funkcji COMMREQ
Û
wykonanie funkcji COMMREQ,
Û
monitoring i obsługa błędów.
Dla przykładu poniżej zostanie zaprezentowany fragment programu dla sterownika
Master realizujący wymuszenie grupy 8 wejść dwustanowych z urządzenia Slave i
zapisanie ich na wyjściu sterownika Master.
Rys. 2. Fragment programu dla sterownika Master realizujący przesłanie bloku
danych z urządzenia Slave o numerze ID=111
Zadanie 21/2
5
[ Pobierz całość w formacie PDF ]