You are on page 1of 9

Nr 63

Prace Naukowe Instytutu Maszyn, Napdw i Pomiarw Elektrycznych Politechniki Wrocawskiej Nr 63


Nr 29 2009

Studia i Materiay

sowa kluczowe: MODBUS, LabVIEW

Krzysztof PODLEJSKI*, Przemysaw 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, umo liwia pomiary wielu wielkoci fizycznych i ich analiz a tak e uatwia projektowanie i programowanie systemw kontrolno-pomiarowych poprzez rozbudowane formy graficzne. Wszystkie funkcje realizowane w standardzie MODBUS s dostpne w LabVIEW, jednak cz z nich wymaga rozbudowania, co pokazano na przykadzie sterowania wiatami regulujcymi ruch drogowy na przejciu dla pieszych. Opracowany program umo liwia obserwacj dziaania standardu MODBUS, ocen poprawnoci transmisji danych w ukadzie MASTER SLAVE, wykrywanie i analizowanie bdw a tak e ocen efektywnoci dziaania projektowanego ukadu, szczeglnie z uwzgldnieniem kryterium bezpieczestwa sterowanego procesu.

1. WSTP Aplikacje napisane w LabVIEW mog pracowa pod kontrol systemu MS Windows XP, Vista ( tak e systemw Unix, Linux, Mac OS itp.). rodowisko umo liwia tworzenie aplikacji dziaajcych w systemie czasu rzeczywistego na komputerach PXI. Posiada mechanizmy pracy sieciowej DataSocket i RemotePanel realizujce wymian danych pomidzy aplikacjami pracujcymi na r nych komputerach i mo liwo zdalnego sterowania prac rozproszonego systemu. W efekcie mo liwa jest budowa systemu, w ktrym diagnozowanie poszczeglnych urzdze odbywa si w sposb niezale ny, poprzez dedykowane do tego celu urzdzenia a jednoczenie mo liwe jest sterowanie danym procesem oraz wymiana informacji pomidzy poszczeglnymi elementami [1,2,3,4]. W standardzie MODBUS funkcje (rozkazy wysyane __________
Politechnika Wrocawska, Instytut Maszyn, Napdw i Pomiarw Elektrycznych, 50-370 Wrocaw, ul. Smoluchowskiego 19, krzysztof.podlejski@pwr.wroc.pl
*

przez jednostk nadrzdn oraz interpretowane i wykonywane przez jednostki podrzdne) s oddzielnym blokiem kodu, ktry mo e by wielokrotnie wykonywany w danym programie. W MODBUS dziel si one na funkcje publiczne (standardowe) i funkcje definiowane przez u ytkownika. Na rys.1. zosta przedstawiony schemat blokowy polecenia czytaj rejestry wejciowe (ang. Read Holding Register), dostpny w LabVIEW. Funkcja czytaj rejestry wyjciowe su y do odczytywania zawartoci (od 1 to 125) rejestrw urzdzenia podrzdnego. Rejestry tworz spjny blok w przestrzeni adresowej urzdzenia. Ramka polecenia zawiera adres pierwszego rejestru w bloku i liczb rejestrw do odczytania. Kod tej funkcji w trybie RTU jest rwny 0000 0100.

Rys. 1. Schemat blokowy polecenia czytaj rejestry wejciowe Fig. 1. Schematic diagram of control statement read input registers

LabVIEW dostarcza kompletu narzdzi do realizacji transmisji danych w standardzie MODBUS [6,7] ale czc z nich wymaga rozbudowania przy opracowywaniu r nych aplikacji.

2. APLIKACJA W LabVIEW Z PROTOKOEM MODBUS Zao ono, e przykadowa aplikacja ma umo liwi poznanie protokou MODBUS, w szczeglnoci funkcji realizujcych proces komunikacji midzy urzdzeniami, obrazowa efekty zmian wybranych parametrw, sygnalizowa wystpujce bdy, ilustrowa sytuacje niebezpieczne i stany awaryjne, umo liwi optymalizowanie dziaania procesu wedug przyjtych kryteriw. Analiza wybranych zastosowa standardu Modus i dowiadczenie wasne, skonia autorw do modelowania dziaania sygnalizacji wietlnej przy przejciu dla pieszych, wyposa onej w mo liwo dania wiata zielonego przez pieszych.

Rys. 2. Schemat blokowy sygnalizacji Fig. 2. Schematic diagram of the signalling

Podstawowy schemat modelu przedstawia Rys.2, na ktrym cztery urzdzenia typu Slave obrazuj sygnalizacj wietln dla pieszych i pojazdw samochodowych. Urzdzenie Master nadzoruje proces sterowania sygnalizacj. Ten prosty schemat, uzupeniony o mo liwo dania przez pieszych wiata zielonego rozwija si w skomplikowany algorytm, budowany wedug kryterium zachowania bezpieczestwa na przejciu. Podstaw algorytmu s zdefiniowane odcinki czasu: dt1 czas mierzony od momentu wcinicia przycisku skojarzonego ze wiatami dla pieszych do chwili gdy zostanie wczone wiato zielone. W tym czasie zawiera si interwa dla wiata pomaraczowego (dtOrange). dt2 czas mierzony od momentu wczenia wiata zielonego dla pieszych do momentu wczenia si wiata czerwonego, jest to czas jaki potrzebuje pieszy, aby przej przez jezdni. W tym czasie zawiera si interwa migotania tego wiata (dtBlink). dt3 czas wczenia wiata czerwonego na przejciu dla pieszych..

dtOrange czas wczenia wiata pomaraczowego dla aut; czas ten nie ma wpywu na pomiar czasu dt1 i dt3 dtBlink czas migotania wiata zielonego dla pieszych dtBlinkFreq czstotliwo migotania W celu poprawnego funkcjonowania modelu powy sze czasy musz spenia nastpujce warunki: - dt1 > 2 * dtOrange - dt2 > 2 * dtBlink - dtBlink > 2 * dtBlinkFreq Dodatkowo mo na regulowa prdko pojazdw. Do realizacji urzdzenia Master w LabVIEW zostay u yte ptle Case i Stacked sequence oraz ptle for dla urzdzenia Slave.

Rys. 3. Panel czoowy (animacja) Fig. 3. The front panel (animation)

Najpierw nastpuje otwarcie sesji VISA oraz inicjalizacja portw COM (adres, rejestry wejciowe). Master odpytuje urzdzenie Slave o wybrane dane. Pierwsza sekwencja przygotowuje dane do formatu ramki w protokole MODBUS. Ramka ta jest

zapisywana do portu za pomoc VISA Write VI. Nastpnie urzdzenie Master oczekuje na odpowied z urzdzenia Slave. Odebrane dane musz zosta sformatowane tak, aby mo na je byo przechowywa i odczytywa w LabVIEW. Urzdzenie Slave cigle monitoruje porty, oczekujc polecenia od Master, w tym celu wykorzystano ptl czasow. Biblioteka NI MODBUS zostaa zmodyfikowana tak, by mo liwe byo jednoczesne uruchomienie kilku urzdze Slave. Do zobrazowania pracy wiate na przejciu dla pieszych zosta utworzony model animacyjny obrazujcy przejcie uliczne (rys.3). Program Master mierzy czasy stanw wiate i na ich podstawie kontroluje prac czterech programw Slave. Master wykorzystuje 4 porty szeregowe do komunikowania si z ka dym urzdzeniem Slave (komunikacja peer-to-peer). Ka dy z programw Slave wykorzystuje jeden port. Porty mog by fizyczne, ale dla testw zostay utworzone porty wirtualne [8] . Interfejs u ytkownika dla programu Master skada si z 3 zakadek: Status, Settings i About. Po uruchomieniu wszystkich urzdze Slave przy starcie, program Master przechodzi do zakadki Status. W lewej grnej czci ekranu zostay umieszczone zielone diody informujce o poprawnoci uruchomienia aplikacji Slave, poprawnoci otwarcia portu szeregowego po stronie Master (Visa) i poprawnoci komunikacji pomidzy Master a Slave (MODBUS). Wystpienie bdu powoduje przejcie w stan awaryjny i umo liwia jego lokalizacj. Program Master skada si z siedmiu gwnych sekwencji. Pierwsza to odczytania wartoci dt1, dt2, dt3, dtOrange, dtBlink oraz dtBlinkFreq (wprowadzonych przez u ytkownika), zainicjowanie zmiennych globalnych i lokalnych oraz ustawienie na panelu frontowym aut, pieszego oraz zakadek gwnych. W sekwencji drugiej nastpuje uruchomienie urzdze Slave (wiate) po wybraniu przycisku RUN na panelu frontowym. W sekwencji trzeciej nastpuje zainicjowanie komunikacji midzy urzdzeniami Master i Slave. W tej sekwencji odbywa si rwnie sprawdzenie czy odpowiednie porty zostay otwarte (czy jest mo liwa komunikacja Master Slave). Master komunikuje si z urzdzeniami Slave za pomoc standardu VISA. Na Rys.4 zostaa przedstawiona sekwencja czwarta jest to schemat dziaania kilku ptli rwnolegych realizujcych program obsugujcy zdarzenia nacinicia przycisku STOP (SLAVE korzysta z algorytmu sterowania wiatami, wpisuje stany wszystkich wiate i zatrzymuje ruch uliczny ). Ostatnie sekwencje realizuj zatrzymanie i zamykanie aplikacji oraz zapisanie wprowadzonych ustawie. Aplikacja Slave skada si z trzech sekwencji struktury Case. W pierwszej sekwencji nastpuje ustawienie parametrw Slave (adres, wartoci rejestrw)oraz otwarcie portw. W drugiej sekwencji wystpuj dwie ptle rwnolege

Rys. 4. Diagram dziaania programu MASTER Fig. 4. Experimental identification tests running scheme MASTER

(przykadowy diagram na Rys.5). Pierwsza od gry ptla obsuguje komunikacj (Slave Car czyta z rejestrw a Slave People, ustawia cyfrowe wejcie oraz czyta z rejestrw MODBUS). Dolna ptla ustawia stan wiate na podstawie wartoci rejestrw. W trzeciej sekwencji jest realizowane zamykanie portw dla urzdze Slave.

Rys. 5. Diagram dziaania programu SLAVE PEOPLE Fig. 5. Experimental identification tests running scheme SLAVE PEOPLE

Wszystkie zdarzenia zwizane z procedurami sterowania wiatami i wystpujcymi bdami s zapisywane w odpowiednim pliku.

3. PODSUMOWANIE Celem zrealizowanych zada byo przedstawienie waciwoci protokou MODBUS, jego budowy i dziaania oraz utworzenie aplikacji opartej na tym protokole w rodowisku LabVIEW. Jako model wybrano proces sterowania sygnalizacj wietln na przejciu dla pieszych z mo liwoci dania wiata zielonego. Jako kryterium poprawnoci dziaania modelu przyjto bezpieczestwo pieszych. Na tej podstawie napisano algorytm zawierajcy zdefiniowane odcinki czasu regulujce zmian wiate. Program wyposa ono w funkcje sygnalizowania i definiowania bdw charakterystycznych dla standardu Modbus. Forma graficzna jest animacj i obrazuje ruch pieszych i pojazdw. Takie rozwizanie panelu czoowego umo liwia wizualizacj skutkw poprawnego i nieprawidowego dobrania wartoci zdefiniowanych odcinkw czasowych. Intencj autorw byo tak e zwrcenie uwagi na mo liwe konsekwencje stosowania ukadw zautomatyzowanych nie sygnalizujcych bdw. W projekcie wykorzystano program Virtual Serial Port Driver dla utworzenia wirtualnych portw, niezbdnych do komunikacji midzy urzdzeniami Slave oraz Master. Do realizacji modelu wykorzystano biblioteki rodowiska LabVIEW dla protokou Modbus , zostay one jednak zmodyfikowane w celu umo liwienia komunikacji urzdzenia Master z wieloma urzdzeniami Slave. Artyku zawiera podstawowe informacje dotyczce symulowania zjawisk wystpujcych w ruchu drogowym. Pokazuje mo liwoci rodowiska LabVIEW w wykorzystaniu do tego celu standardu Modbus. Opracowany program dziaa na zasadzie definiowania odpowiednich odcinkw czasw i nie jest sprzeczny z wymaganiami dotyczcymi ruchu drogowego, zawartymi w odpowiednich normach i zaleceniach.
LITERATURA

[1] BATKO S., Sieci komputerowe. Topologia sieci, HEXA, Warszawa 2007, [2] DERE A. , Zastosowanie sieci przemysowych, Turck, Warszawa 2003, [3] NORMAN P., Systemy komunikacji w technice automatyzacji, Centralny Orodek Szkolenia i Wydawnictw Stowarzyszenia Elektrykw Polskich, Warszawa 2003. [4] MIELCZAREK W., Interfejsy cyfrowe, Helion, Warszawa 2004. [5] SHELDON T., Wielka encyklopedia sieci komputerowych, Robomatic, Wrocaw 2003, [6] www. Modbus.pl [7] www. LabVIEW.pl [8] www.eltima.pl

THE PROBLEMS OF TRAFFIC LIGHTS CONTROL IN MODBUS STANDARD


The major goal of this essay is to present Modbuss 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 traffic lights and its 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 underline 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 changing traffic lights and change cars speed. Results of this experiment can improve traffic and assist in correct set up of traffic lights.