METODA TWORZENIA FORMALNEGO ZAPISU ALGORYTMÓW DZIA ANIA URZ DZE SRK

Podobne dokumenty
Zastosowanie języków opisu sprzętu do specyfikacji urządzeń srk

ZASTOSOWANIE GRAFÓW PRZEJ AUTOMATÓW SKO CZONYCH DO OPISU ALGORYTMÓW DZIA ANIA URZ DZE SRK

Planowanie adresacji IP dla przedsibiorstwa.

Gramatyki regularne i automaty skoczone

PROJEKT WYKONAWCZY. TG-7 Stacja GDYNIA GŁÓWNA

Testy zgodnoci w diagnozowaniu systemów alarmowych

Zadania do wykonaj przed przyst!pieniem do pracy:

MODELOWANIE I PROGRAMOWANIE PRACY

Rys1. Schemat blokowy uk adu. Napi cie wyj ciowe czujnika [mv]

Uywanie licencji typu On-Demand. Using an On-Demand License Japanese. Language. Contents

Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management

Diagnostyka układów programowalnych, sterowanie prac windy (rodowisko MAX+plus II 10.1 BASELINE)

INSTRUKCJA OBS UGI. C4000 Entry/Exit. Optoelektroniczna kurtyna bezpiecze$stwa

Kreator automatycznego uaktualniania firmware'u

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

SIEMENS GIGASET REPEATER

s FAQ: NET 08/PL Data: 01/08/2011

Klonowanie MAC adresu oraz TTL

Programowanie Obiektowe

Rys.1 Schemat blokowy uk adu miliwatomierza.

Instrukcja obsługi systemu przywoławczego pomidzy kabin LF a laboratorium analiz chemicznych

Program do konwersji obrazu na cig zero-jedynkowy

VPN Virtual Private Network. Uycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJ CEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2011

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Przyk adowa konfiguracja zwielokrotnianienia po czenia za pomoc Link Aggregation Control Protocol

Konfiguracja sieci HSR (high speed redundancy) na prze cznikach Scalance X200, X300 oraz X400

Instrukcja obsługi programu MechKonstruktor

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Program SMS4 Monitor

Język opisu sprzętu VHDL

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJ CEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2011

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

NanoBoard komunikacja JTAG. Contents

Bazy danych Podstawy teoretyczne

PL DCRK5 DCRK7 DCRK8 DCRK12 Automatyczne regulatory wspó czynnika mocy

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

Program Sprzeda wersja 2011 Korekty rabatowe

Zastosowanie programu Microsoft Excel do analizy wyników nauczania

Instrukcja dla pracowników Uniwersytetu Rzeszowskiego.

s FAQ: NET 09/PL Data: 01/08/2011

PROGRAMOWANIE STEROWNIKA FANUK (A 17)

SYMULACYJNE BADANIA GEOMETRII MAGAZYNU PRZY WYKORZYSTANIU PAKIETU KOMPUTEROWEGO OL09

Altium Designer Viewer. Altium Designer Viewer. Language. Contents

Znaki Zakazu. Zakaz wjazdu motocykli Oznacza zakaz wjazdu na drog wszelkich motocykli (nawet tych z bocznym wózkiem).

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Wprowadzenie do kompilatorów

WIG MAGAZYNOWY SL O UD WIGU KG

ALGORYTMIZACJA PROCESU SPRAWDZANIA GOTOWO CI OPERACYJNEJ PORTU LOTNICZEGO

Studium przypadku Case Study CCNA2-ROUTING

Bezpieczeństwo informacji oparte o kryptografię kwantową

"Do aduj si do wiadczeniem Tieto"

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Przegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.

Sposoby przekazywania parametrów w metodach.

Projektowanie algorytmów rekurencyjnych

Kod CPV WENTYLACJA

Twoja instrukcja użytkownika HP PAVILION DV6-1215SA

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu.

ZPKSoft. Kreator dokumentów. Wstp. Przeznaczenie. Definicje

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Instrukcja obsługi regulatora i wizualizacji pieca pokrocznego na Walcowni Drobnej P46 Strona 1 z 26

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJ CEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2014

WIZUALIZACJA DANYCH ZE STRZELA RAKIETOWYCH Z WYKORZYSTANIEM SYSTEMÓW CAx

Laboratorium elektryczne. Falowniki i przekształtniki - I (E 14)

Instrukcja Obsugi Programu

Wiadomoci ogólne. 1.2 Schemateka Schemateka jest rozdziaem zawierajcym zbiór wszystkich Schematów Zastosowanych Pocze.

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Spis treci. FAQ: /PL Data: 05/06/2013. TIA Portal V12 wymagania systemowe, instalacja, licencje.

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Pytka PicBoard2. Pytka prototypowa wspópracuje z programatorami JuPic, PicLoad, ICD, ICD2. Opis pytki

Instrukcja obsługi programu DIALux 2.6

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

Mozilla Thunderbird PL

SENTE Produkcja. Tworzymy dla Ciebie. Prezentacja programu. planowanie i kontrola procesów wytwórczych. SENTE Systemy Informatyczne Sp. z o.o.

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

Listy i operacje pytania

Tom V - WYCI G ZE SZCZEGÓ OWEJ DOKUMENTACJI

INSTYTUT TECHNIKI Zakad Elektrotechniki i Informatyki mdymek@univ.rzeszow.pl FLASH

Eugeniusz ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, Kraków

AUTOMATYCZNE I ZDALNE STEROWANIE STACJ UZDATNIANIA WODY

KLUCZ PUNKTOWANIA ODPOWIEDZI

ascom Instrukcja Obsługi dla portu USB Easy Access NT Family ascom NT + 2ab + USB

1. Informacje ogólne.

Klub Paragraf 34, Bronisławów dr in. Marek Dwiarek. Centralny Instytut Ochrony Pracy Pastwowy Instytut Badawczy

Sterowanie prac plotera w układach logiki programowalnej

POBÓR MOCY MASZYN I URZDZE ODLEWNICZYCH

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Instrukcja obsługi programu Pilot PS 5rc

Oscyloskopy, analizatory stanów ScopeDAQ: dane techniczne

Projektowanie i analiza zadaniowa interfejsu na przykładzie okna dialogowego.

AltiumLive - Content Store. AltiumLive - Content Store. Language. Contents

UNIFON CYFROWY COMPACT

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

System Connector Opis wdrożenia systemu

Transkrypt:

P R A C E N A U K O W E P O L I T E C H N I K I W A R S Z A W S K I E J z. 100 Transport 2013 Piotr Kawalec, Marcin Rysko Politechnika Warszawska, Wydzia Transportu METODA TWORZENIA FORMALNEGO ZAPISU ALGORYTMÓW DZIAANIA URZDZE SRK Rkopis dostarczono, marzec 2013 Streszczenie: W artykule przedstawiono problemy formalnego zapisu algorytmów dziaania urzdze zabezpieczenia ruchu kolejowego oraz wspomaganej komputerowo specyfikacji tych algorytmów z wykorzystaniem jzyków opisu sprztu. Przegld stosowanych obecnie metod opisu urzdze srk wskazuje, e nie istnieje metoda, która mogaby zapewni jednolit platform opisu wszelkiego rodzaju dyskretnych ukadów sterowania. Wikszo stosowanych metod opisu nie pozwala na wykorzystanie wspomagania komputerowego na etapie specyfikacji i weryfikacji algorytmów dziaania tego typu ukadów. Zostao pokazane, e zastosowanie do tego celu jzyków opisu sprztu tworzy jednolit platform specyfikacji i weryfikacji urzdze srk, pozwalajc dodatkowo na statyczn i dynamiczn weryfikacj poprawnoci opisu z wykorzystaniem wspomagania komputerowego w postaci symulatorów logicznych. Na przykadzie specyfikacji algorytmu dziaania jednoodstpowej blokady liniowej w jzyku VHDL zaprezentowane zostay zarówno moliwoci pakietu Active-HDL, jak i proces wspomaganej komputerowo specyfikacji i weryfikacji projektowanego ukadu. Sowa kluczowe: jzyk VHDL, blokada liniowa, sterowanie ruchem kolejowym 1. WSTP Urzdzenia sterowania ruchem kolejowym spenia musz rygorystyczne warunki w zakresie bezpieczestwa i niezawodnoci dziaania. Kady bd w ich funkcjonowaniu moe potencjalnie prowadzi do zagroenia ycia ludzkiego i wysokich strat materialnych. ródem bdów, oprócz uszkodze sprztowych, moe by niewaciwie wykonana specyfikacja. Dlatego wraz z rosnc niezawodnoci elementów, z których budowane s urzdzenia, zwiksza musi si take pewno metod projektowania. W przypadku urzdze zabezpieczenia ruchu pocigów stosowanych jest wiele metod opisu zalenie od wybranej techniki realizacji. W ostatnich latach najczciej zabudowywane s urzdzenia komputerowe. Obecna tendencja do obejmowania coraz wikszych obszarów sterowaniem z jednej nastawni (tzw. Lokalne Centra Sterowania) powoduje, i znaczco wzrasta ilo funkcji realizowanych przez poszczególne systemy srk.

92 Piotr Kawalec, Marcin Rysko Konieczno wspópracy wielu typów urzdze (systemy zalenociowe, blokady liniowe, systemy przekazywania informacji o pocigu, ukady diagnostyki taboru) w obrbie jednego obszaru sterowania powoduje, e niezbdne staje si opracowanie jednolitej i spójnej platformy projektowej i opisowej dla rónych rodzajów urzdze i systemów sterowania ruchem kolejowym. Artyku przedstawia koncepcj wykorzystania do stworzenia takiej platformy jzyków opisu sprztu wraz z dedykowanymi narzdziami wspomagania komputerowego. Udowodniona zostaa przydatno wykorzystania wspomagania komputerowego do szczegóowej analizy dziaania urzdze przekanikowych [7]. Poruszany jest równie w pracach naukowych temat zastosowania w technice srk ukadów programowalnych, tworzonych przy uyciu jzyków opisu sprztu [6]. Niniejszy artyku opisuje proces budowy algorytmu dziaania dla przykadowego urzdzenia sterowania ruchem kolejowym oraz metody specyfikacji i weryfikacji tego algorytmu z wykorzystaniem wspomagania komputerowego. 2. METODY OPISU URZDZE SRK Pierwotnie urzdzenia sterowania ruchem kolejowym opieray si gównie na zalenociach mechanicznych. W celu pokazania i opisania zasady ich dziaania opracowywane byy szczegóowe opisy sowne, wzbogacane rysunkami poszczególnych elementów i schematami ich wspópracy [10]. Projektowanie takich urzdze byo procesem dugotrwaym i skomplikowanym, gdy aby upewni si, czy urzdzenie zadziaa poprawnie, konieczne byo wybudowanie prototypu i jego przetestowanie. Sam opis stanowi jedynie zapis idei i wytyczne do konstrukcji. W przypadku urzdze elektrycznych czy przekanikowych najpowszechniejsz form opisu s schematy elektryczne [14]. Schemat taki odzwierciedla fizyczne poczenie poszczególnych elementów ukadu, jest wic dogodn form do montau. Jako metoda projektowania opiera si wycznie na dowiadczeniu projektanta. Moliwa jest tylko statyczna analiza ukadu, która jednak w przypadku zoonych ukadów staje si mudna i dugotrwaa, nie dajc wci gwarancji, e urzdzenie w ogóle uda si uruchomi. Graficzne metody opisu, takie jak schematy blokowe algorytmu stosowane s czsto przy projektowaniu urzdze komputerowych, stanowi jednak tylko poredni etap syntezy. Bez narzdzi wspomagania komputerowego nie jest bowiem moliwe automatyczne przeksztacenie tak stworzonego modelu w program gotowy do zaimplementowania w urzdzeniu. Takie narzdzia s ju, co prawda wykorzystywane do pojedynczych rozwiza, jednak ich zastosowanie ograniczone jest do konkretnego urzdzenia, nie mog wic stanowi uniwersalnej platformy projektowej. Opisane metody projektowania to w wikszoci metody heurystyczne, niepozwalajce na jednoznaczne stwierdzenie, e wykonany projekt uwzgldnia wszystkie moliwe zachowania modelowanego ukadu. Widoczny jest brak jednego, zunifikowanego rodowiska, w którym proces projektowania byby pozbawiony wymienionych niedogodnoci. Prowadzone s prace badawcze ukierunkowane na formalne metody specyfikacji urzdze sterowania ruchem kolejowym [3, 5, 8, 9]. Proponowane byy

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 93 specjalne jzyki programowania dedykowane wycznie projektowaniu takich ukadów [2]. Podejcie formalne minimalizuje ryzyko przeoczenia bdu w procesie tworzenia specyfikacji. Naley jednak zwróci uwag na to, aby wybrana metoda bya nieustannie wykorzystywana i rozwijana przez wiele bran automatyki, co zapewnia stay dostp do najnowszych zdobyczy techniki w zakresie sprztowym. Dlatego do stworzenia uniwersalnej platformy formalnego opisu urzdze srk zaproponowane zostay jzyki opisu sprztu. 3. JZYKI OPISU SPRZTU Wykorzystanie jzyków opisu sprztu (HDL Hardware Description Languages) jest dzi popularnym podejciem przy projektowaniu ukadów elektronicznych, szczególnie w zastosowaniach wymagajcych wysokiej niezawodnoci dziaania (lotnictwo, wojsko). Jzyki HDL umoliwiaj tworzenie sformalizowanego modelu dziaania ukadu, bdcego zarówno zapisem projektu, jak i podstaw do implementacji oraz wykonania prototypu. Od typowych jzyków programowania odrónia je to, e efektem prac, zamiast aplikacji uruchamianej w systemie operacyjnym komputera, moe by plik konfiguracyjny dla kompletnego ukadu realizujcego zadane funkcje (na przykad ukadu FPGA). W obecnym stanie rozwoju techniki cyfrowej i przy stale rosncej zoonoci ukadów trudno wyobrazi sobie projektowanie bez narzdzi wspomagania komputerowego. Popularno jzyków opisu sprztu sprawia, e posiadaj one wiele dedykowanych narzdzi CAD (Computer Aided Design). Takie narzdzia nie tylko upraszczaj proces tworzenia kodu, ale take umoliwiaj automatyczn weryfikacj oraz symulacj dziaania opracowanego modelu. Dokonujc wyboru rodowiska projektowania naley kierowa si dostpnoci takich narzdzi CAD, które umoliwiaj prac nad projektem na kadym etapie (specyfikacja, weryfikacja, synteza, implementacja). Te warunki mog zapewni tylko jzyki majce status wiatowego standardu. Takim jzykiem jest VHDL (VHSIC Hardware Decription Language), jzyk, który znalaz zastosowanie w modelowaniu zoonych ukadów cyfrowych w wielu branach automatyki [4, 11]. Zosta stworzony w latach 80-tych na potrzeby Departamentu Obrony USA i jest stale rozwijany, ostatnia wersja zatwierdzona przez IEEE pochodzi z 2008 roku. Jzyk VHDL wraz z dedykowanym pakietem wspomagania komputerowego zosta wykorzystany do opracowania metody specyfikacji, która stanowi zasadniczy cel tej pracy.

94 Piotr Kawalec, Marcin Rysko 4. METODA PROJEKTOWANIA Z WYKORZYSTANIEM WSPOMAGANIA KOMPUTEROWEGO Zagadnienia formalnego zapisu algorytmu oraz korzyci wynikajce z zastosowania wspomagania komputerowego zaprezentowane zostan na przykadowym projekcie algorytmu urzdzenia srk. Poszczególne etapy prac to: stworzenie sownego opisu dziaania ukadu, budowa algorytmu na podstawie ogólnego opisu, formalny zapis algorytmu, budowa grafu stanów automatu skoczonego, specyfikacja w jzyku opisu sprztu. Kolejne rozdziay opisuj etapy specyfikacji i weryfikacji algorytmu dziaania moduu logicznego jednoodstpowej blokady liniowej. 4.1. ZAOENIA WSTPNE I OPIS SOWNY Projektowanie kadego urzdzenia musi by poprzedzone opisem wymaganych funkcji oraz sposobu ich realizacji. Najczciej stosowany jest opis sowny, który moe by uzupeniony o schematyczne rysunki wyjaniajce dziaanie urzdzenia. Blokady liniowe to urzdzenia, które zabezpieczaj ruch pocigów na szlaku, uzaleniajc od siebie dziaania ssiednich posterunków ruchu. Podstawow funkcj tych ukadów jest wic niedopuszczenie do pojawienia si na jednym torze szlakowym pocigów jadcych w przeciwnych kierunkach, oraz zachowanie odpowiedniego odstpu pomidzy pocigami poruszajcymi si w tym samym kierunku. Zgodnie z tradycyjnym podziaem blokady liniowe dziel si na pósamoczynne i samoczynne [1]. Obecnie wdraane rozwizania komputerowe to w zasadzie tylko blokady samoczynne. Ukadowa kontrola niezajtoci szlaku pozwala na automatyczne stwierdzenie przyjazdu pocigu w caoci (nie jest wic konieczna kontrola wzrokowa, jak w przypadku klasycznych blokad pósamoczynnych). Dokona mona jedynie podziau na blokady jednoodstpowe, gdzie cay szlak stanowi jeden odstp, i wieloodstpowe, wykorzystujce samoczynne semafory do podziau szlaku. Opracowany algorytm blokady jednoodstpowej stworzony zosta w oparciu o instrukcj WTB-E10 [15] oraz zasad dziaania podobnych urzdze tego typu, takich jak blokada typu Eac-95 [12]. Przyjto nastpujce zaoenia dotyczce funkcjonalnoci blokady: w stanie zasadniczym brak ustawionego kierunku, wczenie kierunku moliwe tylko przy niezajtoci szlaku, moliwa awaryjna zmiana kierunku, samoczynne zwolnienie kierunku po wjedzie pocigu w przypadku linii jednotorowej, rczne zwolnienie kierunku (rejestrowane) w przypadku linii dwutorowej,

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 95 moliwo zastopowania blokady. Projektowana blokada skada si z dwóch moduów (po jednym na obu przylegych posterunkach ruchu) poczonych lini transmisyjn. Dziaanie urzdzenia opiera si na równolegej realizacji powyszych funkcji przez obydwa moduy. Rys. 1 przedstawia schematyczne rozmieszczenie urzdze blokady, kolorem szarym wyróniono moduy logiczne. Rys. 1. Schemat ogólny urzdze blokady liniowej W stanie zasadniczym blokada nie ma ustawionego kierunku. Jeli dyurny ruchu chce wyprawi pocig, musi uy do tego polecenia wczenia blokady, które powoduje wysanie dania do ssiedniego posterunku (pod warunkiem, e szlak jest wolny). Jeeli natomiast pocig ma zosta wyprawiony w przeciwnym kierunku, odbierany jest sygna z linii transmisyjnej i ukad oczekuje na reakcj dyurnego ruchu. Moe równie zosta wydane polecenie specjalne AZK, inicjujce awaryjn zmian kierunku blokady. Jeli adne z powyszych nie ma miejsca, sprawdzana jest poprawno sygnau odbieranego z linii transmisyjnej. Nieprawidowa warto wektora zmiennych wejciowych powoduje przejcie do stanu bdu. Dyurny ruchu posterunku, który posiada blokad ustawion na wyjazd, moe j zastopowa, uniemoliwiajc podanie sygnau zezwalajcego (na przykad w przypadku zamknicia toru szlakowego). W przypadku blokady zastosowanej na szlaku dwutorowym (gdy kady tor posiada zaoony kierunek zasadniczy) po przejedzie pocigu kierunek powinien pozosta ustawiony. Zwolnienie kierunku na stacji przyjmujcej pocig moe si odby z wykorzystaniem licznikowanego polecenia zwolnienia blokady. Jeeli natomiast ukad ma by wykorzystany na linii jednotorowej, po wykryciu wjazdu pocigu blokada powinna powróci do stanu neutralnego. W tym celu naley uzupeni algorytm o funkcj wykrycia wjazdu pocigu. Jeli przy utwierdzonym przebiegu wjazdowym zajty zostanie pierwszy odcinek kontrolowany, ukad powinien oczekiwa na zajcie drugiego odcinka. Po zajciu drugiego odcinka kontrolowanego, aby doszo do samoczynnego zwolnienia spenione musz zosta nastpujce warunki: zwolnienie pierwszego odcinka kontrolowanego, zwolnienie odcinka szlakowego, wywietlony sygna zabraniajcy na semaforze wjazdowym. Na kadym etapie detekcji wjazdu moliwe jest równie uycie

96 Piotr Kawalec, Marcin Rysko polecenia zwolnienia blokady, gdyby w wyniku usterki urzdze kontroli niezajtoci sekwencja dziaania odcinków kontrolowanych bya bdna. Na podstawie szczegóowego opisu wszystkich zakadanych funkcji blokady stworzony zosta peny algorytm dziaania. Nastpnym etapem prac jest jego formalny zapis. 4.2. FORMALNY ZAPIS ALGORYTMU Pierwszym krokiem jest zadeklarowanie zmiennych wejciowych i wyjciowych. Przyjto, e zmienne wejciowe oznaczane bd jako elementy wektora X, a zmienne wyjciowe jako elementy wektora Y. Skadowe wektora X objanione zostay w tab. 1. Symbol zmiennej x wbl, x owb, x pzk, x zwb, x sto, x ost, x azk X L x its, x it1, x it2 x uwj, x uwy x kcw Zestawienie skadowych wektora zmiennych wejciowych Znaczenie Polecenia: wczenia blokady, odwoania wczenia blokady, pozwolenia, zwolnienia kierunku, zastopowania, odstopowania, awaryjnej zmiany kierunku Sygna z linii transmisyjnej Kontrola zajtoci odcinków torowych Kontrola utwierdzenia przebiegów wjazdowego i wyjazdowego Kontrola sygnau zabraniajcego na semaforze wjazdowym Wartoci 0 - Polecenie nie zostao wydane 1 - Polecenie zostao wydane Tablica 1 000 - Bd / brak poczenia 001 - Stan neutralny 010 - Kierunek ustawiony na wyjazd 011 - Awaryjna zmiana kierunku 100 - Kierunek ustawiony na wjazd 0 - Odcinek jest zajty 1 - Odcinek jest wolny 0 - Przebieg jest utwierdzony 1 - Przebieg nie jest utwierdzony 0 - Sygna zabraniajcy nie jest wywietlony 1 - Sygna zabraniajcy jest wywietlony Dla zmiennych wielobitowych zastosowano uzupeniajcy zapis okrelajcy warto wektora w zapisie heksadecymalnym (np. X L(5) oznacza, e zmienna X L ma warto binarn "101"), co pozwala na uproszczenie zapisu warunków logicznych. Przeksztacenie opisu sownego w algorytm polega na zidentyfikowaniu stanów, zmiennych i zalenoci pomidzy nimi. Nastpnie naley wybra jedn z dwóch metod zapisu algorytmu - schemat graficzny lub logiczny. 4.2.1. Graficzny schemat algorytmu Zapis algorytmu przy pomocy schematu graficznego opiera si na przedstawieniu poszczególnych kroków w postaci klatek. Wyróni mona klatki operacyjne, zawierajce stan wyj, oraz klatki warunkowe, w których warto zawartego równania logicznego decyduje o wyborze kolejnego kroku. Rys. 2. przedstawia algorytm dziaania

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 97 projektowanego moduu blokady zapisany przy uyciu GSA. Rys. 2. Graficzny schemat algorytmu moduu stacyjnego blokady

98 Piotr Kawalec, Marcin Rysko Graficzny schemat algorytmu to metoda chtnie wykorzystywana przy opisie prostych problemów, gównie z uwagi na czyteln posta rysunkow, zrozumia dla kadego. Taki zapis pozwala co prawda do atwo przeprowadzi statyczn analiz dziaania ukadu, jednak jego zapis wraz z wzrostem zoonoci algorytmu staje si uciliwy w tworzeniu i zajmuje duo miejsca. Poniewa do celów weryfikacji wykorzysta mona wspomaganie komputerowe, atwo analizy nie jest ju tak istotnym czynnikiem, waniejsze za staje si wygodne tworzenie i przeksztacanie zapisu. Dlatego zastosowa mona równowany zapis w postaci schematu logicznego. 4.2.2. Logiczny schemat algorytmu Logiczny schemat algorytmu to formalny zapis dziaania, ekwiwalentny do zapisu w postaci GSA, majcy jednak zwart, matematyczn form zamiast graficznej [13]. W tej metodzie algorytm zapisany jest w postaci cigu nastpujcych po sobie symboli. Stany (bdce elementami zbioru Y) warunkuj wartoci zmiennych wyjciowych zgodnie z przyjtym kodowaniem. Zmienne wejciowe (zbiór X) decyduj o kolejnym wykonywanym kroku. Jeli sprawdzany warunek ma warto logiczn '1', wykonywana jest kolejna operacja (po prawej stronie). Jeli natomiast warunek jest równy '0', kolejny krok wskazywany jest przez strzak skierowan w gór o odpowiednim numerze. Takich strzaek moe by w algorytmie wiele. Strzaka skierowana w dó oznacza miejsce, od którego naley kontynuowa realizacj algorytmu. Taka strzaka wystpuje tylko raz dla kadego numeru. Znak oznacza bezwzgldny skok do miejsca wskazanego przez strzak (warunek logiczny zawsze faszywy). Poniej zestawiono uywane symbole: Y k symbol wektora zmiennych wyjciowych, x k symbol zmiennej wejciowej, X k symbol wektora zmiennych wejciowych, X k = (x 1, x 2,..., x n ), i symbol sprawdzenia warunku, jeli poprzedzajce wyraenie jest równe '1' to nastpn wykonywan czynnoci jest kolejny symbol z prawej strony, jeli za warto wyraenia to '0', wykonywany jest skok do miejsca oznaczonego numerem i, i symbol miejsca skoku o numerze i, strzaka o takim numerze wystpuje w algorytmie tylko raz, i symbol bezwzgldnego skoku (warunek zawsze faszywy). Zapis zaprojektowanego algorytmu w postaci LSA przestawiony zosta poniej.

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 99 1 2 4 7 1 9 2 1 3 2 9 Y x x X x X Y x x X X N wbl its L(2) azk L(1) IWY owb tim L(4) L(1) 3 8 7 1 3 9 4 5 1 4 9 Y x x X x x X Y x X X WY sto azk L(1) its uwy L(4) IWJ pzk L(1) L(2) 5 8 6 10 5 9 6 1 Y X x x x X Y X X WJ L(3) zwb it1 uwj L(4) ZWJ L(1) L(2) AZ L(2) 8 3 8 9 7 8 9 10 6 11 10 9 STOP ost ERR azk L(3) D1 zwb it 2 L(2) 11 6 6 11 9 D2 zwb it1 its kcw L(2) 6 9 7 5 7 Y Y x Y x X Y x x X Y x x x x X X Nawet dla do prostego algorytmu zapis w postaci LSA jest prostszy w przeksztacaniu, ni reprezentacja graficzna. W miar wzrostu skomplikowania ukadu rónica ta bdzie coraz bardziej widoczna. Zapis formalny algorytmu przedstawia w sposób jednoznaczny sposób dziaania ukadu, nie istniej jednak narzdzia pozwalajce na wykorzystanie tej formy opisu bezporednio w rodowisku wspomagania komputerowego. Mona natomiast wykorzysta do tego celu zapis w postaci grafu stanów. 4.3. GRAF STANÓW AUTOMATU SKOCZONEGO Systemy sterowania ruchem kolejowym mog by modelowane przy pomocy automatu skoczonego [1]. Automat skoczony opisywany jest uporzdkowan pitk A = <X, Y, Q,, >, gdzie: X - wektor zmiennych wejciowych, Y - wektor zmiennych wyjciowych, Q - stan wewntrzny, - funkcja przej, - funkcja wyj. Metod jednoznacznego opisu automatu skoczonego jest graf stanów. Jest to forma graficzna (podobnie jak graficzny schemat algorytmu), ma jednak t zalet, e moe by atwo wykorzystana w rodowisku wspomagania komputerowego, co zaprezentowane zostanie w dalszej czci pracy. Dla prostych przypadków moliwe jest skonstruowanie grafu bezporednio z opisu sownego. Wraz ze wzrostem zoonoci ukadu konieczne staje si skorzystanie porednio z formalnego zapisu algorytmu, jak zostao to wykonane w przypadku tego projektu. Do przeksztacenia algorytmu w graf stanów wykorzysta mona obie zaprezentowane formy zapisu. Konieczne jest zdefiniowanie zalenoci pomidzy metodami. W przypadku zapisu algorytmu w postaci GSA proces ten polega na oznakowaniu stanów i utworzeniu tranzycji czcych stany zgodnie z warunkami zapisanymi w klatkach warunkowych. Wykonanie grafu na podstawie logicznego schematu algorytmu jest nieco prostsze. Dla kadej strzaki skierowanej w dó (czyli dla kadego wiersza) stworzy naley stan oznaczony tak, jak w LSA. Nastpnie dla kadego warunku sprawdzanego w danym stanie

100 Piotr Kawalec, Marcin Rysko naley stworzy tranzycj, która prowadzi do stanu zgodnie z numerem strzaki, a jej warunek logiczny tworzy zanegowane równanie ze schematu logicznego. Rysunek 3 przedstawia graf stanów dla opracowanego algorytmu. Rys. 3. Graf stanów W tab. 2 zestawiono dodatkowo porównanie zastosowanych metod zapisu tranzycji. Nastpnym etapem prac jest umieszczenie projektu w rodowisku komputerowym, co pozwoli na wygenerowanie ostatecznej postaci formalnego zapisu algorytmu, czyli kodu jzyka VHDL.

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 101 Metody zapisu tranzycji Tablica 2 GSA LSA Graf stanów 1 1 Y x Y A n B 4.4. SPECYFIKACJA W JZYKU VHDL Do specyfikacji algorytmu w jzyku opisu sprztu wykorzystany zosta pakiet Active- HDL firmy Aldec. Pakiet ten stanowi zintegrowane rodowisko tworzenia w jzykach VHDL oraz Verilog, pozwala pracowa w trzech edytorach. Edytor tekstowy HDE suy do tworzenia bezporednio w jzyku, zapewniajc pomocne narzdzia do automatycznego zarzdzania skadni i kontroli bdów. Dwa pozostae narzdzia to edytory graficzne, które generuj kod jzyka na podstawie wykonanej specyfikacji. S to edytory FSM (w którym specyfikacj stanowi graf stanów) oraz BDE (który pozwala czy fragmenty projektu w schemat blokowy). W praktyce projekt wykonywany jest równolegle we wszystkich edytorach - elementy kombinacyjne w edytorze HDE, elementy sekwencyjne w edytorze FSM, a wszystkie czone s w cao w edytorze BDE. Zasadniczy algorytm dziaania projektowanej blokady wyspecyfikowany zosta w edytorze FSM. Posiadajc graf stanów zaprojektowany w poprzednim rozdziale wystarczy przenie go w rodowisko oprogramowania komputerowego, zapisujc zmienne i warunki logiczne zgodnie z zasadami wykorzystywanego jzyka opisu sprztu. Wykonan specyfikacj projektowanego algorytmu przedstawia rys. 4. Specyfikacja wykonana w edytorze FSM skada si z dwóch czci. Zasadniczy obszar projektu zawiera opis architektury ukadu w postaci grafu stanów. Widoczne s, oprócz stanów i tranzycji, warunki logiczne oraz wartoci zmiennych wyjciowych w kadym ze stanów. Dodatkowo moliwe jest umieszczanie komentarzy objaniajcych elementy grafu. Ponad grafem znajduje si pole opisujce jednostk projektow, na którym widoczne s zadeklarowane zmienne wejciowe i wyjciowe. W przypadku zmiennych wielobitowych okrelona jest te szeroko wektora.

102 Piotr Kawalec, Marcin Rysko Rys. 4. Specyfikacja w edytorze FSM

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 103 Edytor FSM oferuje szereg dodatkowych funkcji pozwalajcych na uproszczenie konstrukcji grafu. Symbolem trójkta oznaczony jest stan resetujcy, wskazujcy stan pocztkowy ukadu. Zostanie on ustawiony niezwocznie po wykryciu wartoci '1' na wejciu reset. Wartoci zmiennych wyjciowych przypisane do stanu pocztkowego obowizuj jako domylne (jeli nie przypisano innych) w pozostaych stanach. Poniewa do stanu ERR istnieje tranzycja z wielu stanów (po niespenieniu adnego z zaoonych warunków), stan ten otrzyma atrybut stanu domylnego (Default State). Stany, z których nie istnieje przejcie do stanu ERR (gdzie niespenienie adnego z warunków powinno spowodowa pozostanie w danym stanie) otrzymay tranzycj z uyciem warunku @else, który oznacza dowoln warto wektora zmiennych wejciowych inn ni istniejce tranzycje wychodzce ze stanu. Na tranzycjach widoczne s numery priorytetu, okrelajce kolejno sprawdzania warunków logicznych zgodnie z zaprojektowanym algorytmem. Odpowiada to kolejnoci klatek warunkowych w GSA lub sprawdzeniu warunku w LSA. Poniewa elementy algorytmu zaznaczone szarymi obszarami maj zastosowanie tylko dla linii jednotorowych, mona umieci je jako jeden element, który mona atwo usun. Taki zoony element (stan hierarchiczny) zawiera w sobie kilka stanów, upraszczajc posta grafu. Jego konstrukcja oraz reprezentacja na zasadniczej czci grafu widoczne s na rys. 5. Rys. 5. Stan hierarchiczny (zawarto i reprezentacja na gównym grafie) Kolejnym elementem pozwalajcym na uproszczenie projektu jest stan opónienia. Powoduje on wstrzymanie wykonywania nastpnej tranzycji przez okrelon liczb impulsów zegara. Zosta on wykorzystany w dodatkowym bloku, który powoduje powrót do stanu neutralnego w przypadku nie odebrania pozwolenia z ssiedniego posterunku przez okrelony czas. Graf stanów tego bloku widoczny jest na rys. 6.

104 Piotr Kawalec, Marcin Rysko Rys. 6. Stan opónienia Wszystkie zaprezentowane elementy poczone zostay w edytorze BDE, a nastpnie wygenerowany zosta kod jzyka VHDL. Tak przygotowany zapis formalny moe by nastpnie zweryfikowany i przetestowany, co zaprezentowane zostanie w kolejnym rozdziale. 5. WERYFIKACJA I BADANIA SYMULACYJNE Moliwo wykonania symulacji dziaania wyspecyfikowanego ukadu jest zasadnicz zalet zastosowania pakietu wspomagania komputerowego. Wykorzystanie wbudowanego symulatora logicznego polega na przypisaniu wymusze do zmiennych wejciowych (wymuszeniami mog by midzy innymi zegary predefiniowane, sygnay losowe, klawisze Hotkey) i badaniu odpowiedzi ukadu. Prac modelu podczas symulacji obserwowa mona bezporednio na grafach i schematach blokowych (graficznie) oraz na przebiegach symulacji. Pierwsza metoda pozwala weryfikowa poprawno sekwencji zmian stanów. Przebiegi czasowe symulacji umoliwiaj rejestrowanie stanu kadej zmiennej w dowolnie wybranej chwili. W pierwszej kolejnoci naley sprawdzi poprawno specyfikacji algorytmu w jzyku opisu sprztu. Proces ten nazywany jest weryfikacj modelu. Weryfikacja umoliwia sprawdzenie, czy przejcia pomidzy stanami zachodz przy zgodnych z algorytmem wzbudzeniach, oraz czy wartoci zmiennych wyjciowych w kadym ze stanów odpowiadaj wartociom zaoonym przez projektanta. Ten etap projektowania pozwala wyeliminowa bdy przypadkowe zwizane z tworzeniem specyfikacji. Poniewa w miar rozbudowy ukadu weryfikacja wykonywana rcznie byaby coraz trudniejsza, pakiet Active-HDL umoliwia wygenerowanie sekwencji wymusze (tzw. Testbench), która pozwala na automatyzacj procesu. Rys. 7 przedstawia przebiegi symulacji podczas weryfikacji.

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 105 Rys. 7. Zapis automatycznej weryfikacji Pozytywny wynik weryfikacji modelu stanowi punkt wyjcia do przeprowadzenia symulacji dziaania blokady. Badania symulacyjne powinny obejmowa sprawdzenie wszystkich funkcji zakadanych dla urzdzenia. Aby moliwa bya symulacja nie tylko dziaania pojedynczego moduu, ale blokady liniowej jako caoci, wykonany zosta model urzdze na szlaku. Zawiera on dwa moduy stacyjne blokady oraz elementy odzwierciedlajce urzdzenia stacyjne oraz medium transmisyjne. Specyfikacja modelu szlaku w edytorze schematów blokowych przedstawiona jest na rys. 8. Moliwo tworzenia rozbudowanych struktur hierarchicznych jest niewtpliw zalet opisywanej metody, pozwalajc w peni wykorzysta moliwoci wspomagania komputerowego. Rys. 8. Model szlaku w edytorze BDE

106 Piotr Kawalec, Marcin Rysko Program bada symulacyjnych powinien obejmowa wszystkie funkcje, jakie zostay przewidziane dla projektowanego ukadu. Na wykonanym modelu linii zostay wic zasymulowane typowe przejazdy pocigów w obu kierunkach (zawierajce w sobie procesy ustawienia oraz zwolnienia kierunku), oraz procedury obsugi awaryjnej (odwoania próby wczenia kierunku, zwolnienia ustawionego kierunku, awaryjnej zmiany kierunku). Podczas symulacji stany zmiennych wejciowych ustawiane byy zgodnie z rzeczywistym dziaaniem urzdze stacyjnych (odcinki kontrolowane, stany sygnalizatorów wietlnych) za pomoc odpowiednio przypisanych przycisków Hotkey. Efektem symulacji s, podobnie jak w przypadku weryfikacji modelu, przebiegi czasowe. Prac blokady mona równie obserwowa na schematach blokowych i grafach poszczególnych elementów, uzyskujc peny wgld w zachowanie si urzdzenia (rys. 9). Rys. 9. Podgld wartoci zmiennych podczas symulacji Moliwe jest zatem sprawdzenie reakcji blokady na róne kombinacje wymusze (odzwierciedlajce rzeczywiste przypadki) ju na etapie tworzenia projektu. Rysunek 10 przedstawia fragment symulacji obsugi blokady. Okno podgldu przebiegów symulacji umoliwia wybór sygnaów które bd wywietlane, a take ich odpowiednie wyrónienie i opisanie. Widoczne s zmienne odpowiadajce za sygna taktujcy (CLK), sygnay przesyane lini transmisyjn pomidzy posterunkami ruchu (BUS...), oraz zmienne przypisane do polece oraz wyj ukadu.

Metoda tworzenia formalnego zapisu algorytmów dziaania urzdze srk 107 Rys. 10. Stan hierarchiczny Zapis przebiegów pokazuje zachowanie si ukadu w przypadku próby wczenia kierunku przy braku kryterium niezajtoci odcinka szlakowego. Uycie polecienia wbl na stacji A nie powoduje wtedy nadania dania do stacji B, wydane musi zosta polecenie specjalne awaryjnej zmiany kierunku na stacji B (po upewnieniu si, e w istocie szlak jest wolny). Kierunek blokady zostaje wtedy ustawiony, jednak po uyciu polecenia AZK blokad naley odstopowa (polecenie ost). Odstopowanie powoduje pojawienie si zezwolenia na podanie sygnau zezwalajcego na wyjazd ze stacji A (zmienna A_szw). W podobny sposób zasymulowane zostay wszystkie moliwe sytuacje kluczowe z punktu widzenia bezpieczestwa ruchu kolejowego. Poniewa wszystkie opisane etapy specyfikacji oraz symulacji wykonywane s w jednym rodowisku wspomagania komputerowego, w przypadku wykrycia nieprawidowoci moemy niezwocznie poprawi specyfikacj i powtórnie dokona weryfikacji, bez potrzeby zmiany platformy projektowania. Dziki temu moemy mie pewno, e efekt specyfikacji dokadnie odpowiada zamierzeniom projektanta. Do etapu tworzenia prototypu dociera wic model sprawdzony. 6. PODSUMOWANIE Zaproponowana w artykule metoda specyfikacji urzdze srk pozwala w jednoznaczny sposób przej przez proces tworzenia projektu od opisu sownego do kodu jzyka opisu sprztu. Projektowanie odbywa si tu z wykorzystaniem wygodnych edytorów, pozwalajcych w peni wykorzysta moliwoci wspomagania komputerowego. Dziki tak wykonywanej specyfikacji mona zdecydowanie skróci czas opracowywania modelu, powicajc wicej czasu na dopracowanie koncepcji. Zastosowanie symulatorów

108 Piotr Kawalec, Marcin Rysko logicznych pozwala ju na etapie projektu przetestowa dziaanie ukadu w dowolnie wybranych warunkach. Po zbadaniu poprawnoci wykonania specyfikacji moliwa jest dalsza praca nad modelem, prowadzca do powstania prototypu. Wszystkie te etapy mog by przeprowadzone w jednym rodowisku wspomagania komputerowego, co sprawia, e zaproponowana metoda specyfikacji urzdze srk spenia wymagania stawiane poszukiwanej platformie opisowej systemów przeznaczonych dla kolei. Bibliografia 1. Dbrowa-Bajon M.: Podstawy sterowania ruchem kolejowym. OWPW, Warszawa 2007. 2. Fokkink W., Groote J., Hollenberg M., van Vlijmen B.: LARIS 1.0 Language for Railway Interlocking Specifications. CWI, 2000. 3. Hlavatý T., Peuil L., Štpán P.: Case Study: Formal Methods in Development and Testing of Safety Critical Systems: Railway Interlocking System. EUROMICRO 2001. 4. Kalisz J. (red.): Jzyk VHDL w praktyce. WKi, Warszawa 2002. 5. Kanso K., Moller F., Setzer A.: Automated Verification of Signaling Principles in Railway Interlocking Systems. Eighth International Workshop of Automated Verification of Critical Systems, Glasgow 2008. 6. Kawalec P., Koliski D.: Modelowanie interlocking'u z zastosowaniem jzyka opisu sprztu. Logistyka 6/2010, Pozna, 2010, str. 1329 1337. 7. Kawalec P., Koliski D.: Zastosowanie jzyka VHDL do badania zoonych sieci zestykowych. Pomiary Automatyka Kontrola, vol. 54, nr 8 2008, Wydawnictwo PAK, Warszawa, 2008, str. 529 531. 8. Kawalec P., Rysko M.: Komputerowo wspomagana specyfikacja funkcji zalenociowych urzdze srk. Technika Transportu Szynowego, ód, 9/2012, str. 1605 1615. 9. Kawalec P., Rysko M.: Zastosowanie jzyków opisu sprztu do specyfikacji urzdze srk. Logistyka 4/2012, Pozna, str. 351 358. 10. Mikulski M.: Mechaniczne urzdzenia zabezpieczenia ruchu kolejowego. WKi, Warszawa 1983. 11. Pasierbiski J., Zbysiski P.: Ukady programowalne w praktyce. WKi, Warszawa 2002. 12. Piela S.: Samoczynna blokada liniowa typu Eac. 13. Traczyk W.: Ukady cyfrowe. Podstawy teoretyczne i metody syntezy. WNT, Warszawa 1982. 14. Zajczkowski A., Kaliciska K., Olendrzyski W.: Elektryczne urzdzenia zabezpieczenia ruchu kolejowego. Urzdzenia stacyjne. WKi, Warszawa 1976. 15. WTB-E10 Wytyczne techniczne budowy urzdze sterowania ruchem kolejowym w przedsibiorstwie PKP. FORMAL ALGORITHM CONSTRUCTION METHOD FOR RAILWAY TRAFFIC CONTROL DEVICES Summary: The article presents a method of railway traffic control algorithm specification using formal description and computer aided design. The review of currently used description methods of railway traffic control devices and systems indicates that the method which could ensure a uniform platform for description of all kinds of discrete control systems does not exist. Most of currently used description methods do not allow the use of computer support at the stage of specification and verification. It is shown that application of hardware description languages for this purpose comprises a uniform platform for specification and verification of railway traffic control devices, which additionally allows static and dynamic verification of correctness of this description with the use of computer support in the form of logic simulators. On the examplary specification of one-section line block operation algorithm in VHDL, both the possibilities of Active HDL package as well as the process of computer aided specification and verification of the designed system are presented. Keywords: line block, railway traffic control, VHDL