ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS
-
Upload
jaroslaw-chmielewski -
Category
Documents
-
view
33 -
download
0
Transcript of ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 1/9
Prace Naukowe Instytutu Maszyn, Napędów i Pomiarów Elektrycznych
Nr 63 Politechniki Wrocławskiej Nr 63
Studia i Materiały Nr 29 2009
słowa kluczowe: MODBUS, LabVIEW
Krzysztof PODLEJSKI*, Przemysław MROZEK
*
ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM
W STANDARDZIE MODBUS
W artykule opisano podstawowe zasady wykorzystania środowiska LabVIEW do realizacji
transmisji danych w standardzie MODBUS. Środowisko LabVIEW dostarcza odpowiednich bibliotek
i funkcji dla standardu MODBUS, umoliwia pomiary wielu wielkości fizycznych i ich analizę
a tak e ułatwia projektowanie i programowanie systemów kontrolno-pomiarowych poprzez rozbu-
dowane formy graficzne. Wszystkie funkcje realizowane w standardzie MODBUS są dostępne
w LabVIEW, jednak część z nich wymaga rozbudowania, co pokazano na przykładzie sterowania
światłami regulują cymi ruch drogowy na przejściu dla pieszych. Opracowany program umoliwia ob-
serwację działania standardu MODBUS, ocenę poprawności transmisji danych w układzie MASTER
– SLAVE, wykrywanie i analizowanie błędów a tak e ocenę efektywności działania projektowanego
układu, szczególnie z uwzględnieniem kryterium bezpieczeństwa sterowanego procesu.
1. WSTĘP
Aplikacje napisane w LabVIEW mogą pracować pod kontrolą systemu MS
Windows XP, Vista ( tak e systemów Unix, Linux, Mac OS itp.). Środowisko umo-
liwia tworzenie aplikacji działają cych w systemie czasu rzeczywistego na kompute-
rach PXI. Posiada mechanizmy pracy sieciowej DataSocket i RemotePanel realizują ce
wymianę danych pomiędzy aplikacjami pracują cymi na rónych komputerach i mo-
liwość zdalnego sterowania pracą rozproszonego systemu. W efekcie moliwa jest
budowa systemu, w którym diagnozowanie poszczególnych urzą dzeń odbywa się w
sposób niezaleny, poprzez dedykowane do tego celu urzą dzenia a jednocześnie mo-
liwe jest sterowanie danym procesem oraz wymiana informacji pomiędzy poszczegól-
nymi elementami [1,2,3,4]. W standardzie MODBUS funkcje (rozkazy wysyłane
__________
* Politechnika Wrocławska, Instytut Maszyn, Napędów i Pomiarów Elektrycznych, 50-370 Wrocław,
ul. Smoluchowskiego 19, [email protected]
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 2/9
przez jednostk ę nadrzędną oraz interpretowane i wykonywane przez jednostki pod-
rzędne) są oddzielnym blokiem kodu, który moe być wielokrotnie wykonywanyw danym programie. W MODBUS dzielą się one na funkcje publiczne (standardowe)
i funkcje definiowane przez uytkownika. Na rys.1. został przedstawiony schemat
blokowy polecenia czytaj rejestry wejściowe (ang. Read Holding Register), dostępny
w LabVIEW. Funkcja czytaj rejestry wyjściowe słuy do odczytywania zawartości
(od 1 to 125) rejestrów urzą dzenia podrzędnego. Rejestry tworzą spójny blok w prze-
strzeni adresowej urzą dzenia. Ramka polecenia zawiera adres pierwszego rejestru w
bloku i liczbę rejestrów do odczytania. Kod tej funkcji w trybie RTU jest równy 0000
0100.
Rys. 1. Schemat blokowy polecenia czytaj rejestry wejściowe
Fig. 1. Schematic diagram of control statement read input registers
LabVIEW dostarcza kompletu narzędzi do realizacji transmisji danych w standar-dzie MODBUS [6,7] ale częśc z nich wymaga rozbudowania przy opracowywaniu
rónych aplikacji.
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 3/9
2. APLIKACJA W LabVIEW Z PROTOKOŁEM MODBUS
Załoono, e przykładowa aplikacja ma umoliwić poznanie protokołu MODBUS,
w szczególności funkcji realizują cych proces komunikacji między urzą dzeniami,
obrazować efekty zmian wybranych parametrów, sygnalizować występują ce błędy,
ilustrować sytuacje niebezpieczne i stany awaryjne, umoliwić optymalizowanie dzia-
łania procesu według przyjętych kryteriów. Analiza wybranych zastosowań standardu
Modus i doświadczenie własne, skłoniła autorów do modelowania działania sygnali-
zacji świetlnej przy przejściu dla pieszych, wyposaonej w moliwość ą dania światła
zielonego przez pieszych.
Rys. 2. Schemat blokowy sygnalizacji
Fig. 2. Schematic diagram of the signalling
Podstawowy schemat modelu przedstawia Rys.2, na którym cztery urzą dzenia ty-
pu Slave obrazują sygnalizację świetlną dla pieszych i pojazdów samochodowych.
Urzą dzenie Master nadzoruje proces sterowania sygnalizacją . Ten prosty schemat,
uzupełniony o moliwość ą dania przez pieszych światła zielonego rozwija się
w skomplikowany algorytm, budowany według kryterium zachowania bezpieczeństwa
na przejściu. Podstawą algorytmu są zdefiniowane odcinki czasu:
dt1 – czas mierzony od momentu wciśnięcia przycisku skojarzonego ze światłami
dla pieszych do chwili gdy zostanie włą czone światło zielone. W tym czasie zawiera
się interwał dla światła pomarańczowego (dtOrange).
dt2 – czas mierzony od momentu włą czenia światła zielonego dla pieszych do
momentu włą czenia się światła czerwonego, jest to czas jaki potrzebuje pieszy, aby
przejść przez jezdnię. W tym czasie zawiera się interwał migotania tego światła (dt-
Blink).dt3 – czas włą czenia światła czerwonego na przejściu dla pieszych..
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 4/9
dtOrange – czas włą czenia światła pomarańczowego dla aut; czas ten nie ma
wpływu na pomiar czasu dt1 i dt3dtBlink – czas migotania światła zielonego dla pieszych
dtBlinkFreq – częstotliwość migotania
W celu poprawnego funkcjonowania modelu powysze czasy muszą spełniać na-
stępują ce warunki:
- dt1 > 2 * dtOrange
- dt2 > 2 * dtBlink
- dtBlink > 2 * dtBlinkFreq
Dodatkowo mona regulować prędkość pojazdów.
Do realizacji urzą dzenia Master w LabVIEW zostały uyte pętle Case i Stacked
sequence oraz pętle for dla urzą dzenia Slave.
Rys. 3. Panel czołowy (animacja)
Fig. 3. The front panel (animation)
Najpierw następuje otwarcie sesji VISA oraz inicjalizacja portów COM (adres, re-
jestry wejściowe). Master odpytuje urzą dzenie Slave o wybrane dane. Pierwsza se-kwencja przygotowuje dane do formatu ramki w protokole MODBUS. Ramka ta jest
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 5/9
zapisywana do portu za pomocą VISA Write VI. Następnie urzą dzenie Master ocze-
kuje na odpowiedź z urzą dzenia Slave. Odebrane dane muszą zostać sformatowanetak, aby mona je było przechowywać i odczytywać w LabVIEW. Urzą dzenie Slave
cią gle monitoruje porty, oczekują c polecenia od Master, w tym celu wykorzystano
pętlę czasową . Biblioteka NI MODBUS została zmodyfikowana tak, by moliwe było
jednoczesne uruchomienie kilku urzą dzeń Slave. Do zobrazowania pracy świateł na
przejściu dla pieszych został utworzony model animacyjny obrazują cy przejście
uliczne (rys.3).
Program Master mierzy czasy stanów świateł i na ich podstawie kontroluje pracę
czterech programów Slave. Master wykorzystuje 4 porty szeregowe do komunikowa-
nia się z kadym urzą dzeniem Slave (komunikacja peer-to-peer). Kady z programów
Slave wykorzystuje jeden port. Porty mogą być fizyczne, ale dla testów zostały utwo-
rzone porty wirtualne [8] . Interfejs uytkownika dla programu Master składa się z
3 zakładek: Status, Settings i About. Po uruchomieniu wszystkich urzą dzeń Slave przy
starcie, program Master przechodzi do zakładki Status. W lewej górnej części ekranu
zostały umieszczone zielone diody informują ce o poprawności uruchomienia aplikacji
Slave, poprawności otwarcia portu szeregowego po stronie Master (Visa)
i poprawności komunikacji pomiędzy Master a Slave (MODBUS). Wystą pienie błędu
powoduje przejście w stan awaryjny i umoliwia jego lokalizację. Program Master
składa się z siedmiu głównych sekwencji. Pierwsza to odczytania wartości dt1, dt2,
dt3, dtOrange, dtBlink oraz dtBlinkFreq (wprowadzonych przez uytkownika), zaini-
cjowanie zmiennych globalnych i lokalnych oraz ustawienie na panelu frontowym
aut, pieszego oraz zakładek głównych.
W sekwencji drugiej następuje uruchomienie urzą dzeń Slave (świateł) po wybra-
niu przycisku RUN na panelu frontowym. W sekwencji trzeciej następuje zainicjowa-
nie komunikacji między urzą dzeniami Master i Slave. W tej sekwencji odbywa się
równie sprawdzenie czy odpowiednie porty zostały otwarte (czy jest moliwa komu-nikacja Master – Slave). Master komunikuje się z urzą dzeniami Slave za pomocą standardu VISA. Na Rys.4 została przedstawiona sekwencja czwarta – jest to schemat
działania kilku pętli równoległych realizują cych program obsługują cy zdarzenia naci-
śnięcia przycisku STOP (SLAVE korzysta z algorytmu sterowania światłami, wpisuje
stany wszystkich świateł i zatrzymuje ruch uliczny ). Ostatnie sekwencje realizują zatrzymanie i zamykanie aplikacji oraz zapisanie wprowadzonych ustawień. Aplikacja
Slave składa się z trzech sekwencji struktury Case.
W pierwszej sekwencji następuje ustawienie parametrów Slave (adres, wartości re-
jestrów)oraz otwarcie portów. W drugiej sekwencji występują dwie pętle równoległe
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 6/9
Rys. 4. Diagram działania programu MASTER
Fig. 4. Experimental identification tests running scheme MASTER
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 7/9
(przykładowy diagram na Rys.5). Pierwsza od góry pętla obsługuje komunikację
(Slave Car czyta z rejestrów a Slave People, ustawia cyfrowe wejście oraz czyta zrejestrów MODBUS). Dolna pętla ustawia stan świateł na podstawie wartości reje-
strów. W trzeciej sekwencji jest realizowane zamykanie portów dla urzą dzeń Slave.
Rys. 5. Diagram działania programu SLAVE PEOPLE
Fig. 5. Experimental identification tests running scheme SLAVE PEOPLE
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 8/9
Wszystkie zdarzenia zwią zane z procedurami sterowania światłami i występują -
cymi błędami są zapisywane w odpowiednim pliku.
3. PODSUMOWANIE
Celem zrealizowanych zadań było przedstawienie właściwości protokołu
MODBUS, jego budowy i działania oraz utworzenie aplikacji opartej na tym protoko-
le w środowisku LabVIEW. Jako model wybrano proces sterowania sygnalizacją świetlną na przejściu dla pieszych z moliwością ą dania światła zielonego. Jako kry-
terium poprawności działania modelu przyjęto bezpieczeństwo pieszych. Na tej pod-
stawie napisano algorytm zawierają cy zdefiniowane odcinki czasu regulują ce zmianę
świateł. Program wyposaono w funkcje sygnalizowania i definiowania błędów cha-
rakterystycznych dla standardu Modbus. Forma graficzna jest animacją i obrazujeruch pieszych i pojazdów. Takie rozwią zanie „panelu czołowego” umoliwia wizuali-
zację skutków poprawnego i nieprawidłowego dobrania wartości zdefiniowanych
odcinków czasowych. Intencją autorów było tak e zwrócenie uwagi na moliwe kon-
sekwencje stosowania układów zautomatyzowanych nie sygnalizują cych błędów.
W projekcie wykorzystano program Virtual Serial Port Driver dla utworzenia wirtual-
nych portów, niezbędnych do komunikacji między urzą dzeniami Slave oraz Master.
Do realizacji modelu wykorzystano biblioteki środowiska LabVIEW dla protokołu
Modbus , zostały one jednak zmodyfikowane w celu umoliwienia komunikacji urzą -dzenia Master z wieloma urzą dzeniami Slave. Artykuł zawiera podstawowe informa-
cje dotyczą ce symulowania zjawisk występują cych w ruchu drogowym. Pokazuje
moliwości środowiska LabVIEW w wykorzystaniu do tego celu standardu Modbus.
Opracowany program działa na zasadzie definiowania odpowiednich odcinków cza-
sów i nie jest sprzeczny z wymaganiami dotyczą cymi ruchu drogowego, zawartymi wodpowiednich normach i zaleceniach.
LITERATURA
[1] BATKO S., Sieci komputerowe. Topologia sieci, HEXA, Warszawa 2007,
[2] DERE Ń A. , Zastosowanie sieci przemysłowych, Turck, Warszawa 2003,
[3] NORMAN P., Systemy komunikacji w technice automatyzacji, Centralny Ośrodek Szkole-
nia i Wydawnictw Stowarzyszenia Elektryków Polskich, Warszawa 2003.
[4] MIELCZAREK W., Interfejsy cyfrowe, Helion, Warszawa 2004.
[5] SHELDON T., Wielka encyklopedia sieci komputerowych, Robomatic, Wrocław 2003,
[6] www. Modbus.pl
[7] www. LabVIEW.pl[8] www.eltima.pl
5/13/2018 ZAGADNIENIE STEROWANIA RUCHEM ULICZNYM W STANDARDZIE MODBUS - slidepdf.com
http://slidepdf.com/reader/full/zagadnienie-sterowania-ruchem-ulicznym-w-standardzie-modbus 9/9
THE PROBLEMS OF TRAFFIC LIGHTS CONTROL IN MODBUS STANDARD
The major goal of this essay is to present Modbus’s structure, work and create model which is based
on Modbus in the LabVIEW environment. The new model has to show communication between
Master and Slave tool. User is able to define time parameter and stimulate process of changing traf-
fic lights and it’s dynamics based on new model. The program Virtual Serial Port Driver is used in
this essay. This program enable to create virtual port which is necessary in communication between
Master and Slave and modify library for Modbus in LabVIEW. The purpose of this essay is to under-
line inefficient daily use of traffic lights. Defects in traffic light configuration causes difficulties in
every day routine, and create traffic jam. User can use new model to set up different times of chang-
ing traffic lights and change cars’ speed. Results of this experiment can improve traffic and assist in
correct set up of traffic lights.