Varga Attila. Készítette:

Hasonló dokumentumok
30 MB INFORMATIKAI PROJEKTELLENŐR

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Szoftver újrafelhasználás

A dokumentáció felépítése

A szóbeli vizsgafeladatot ha a feladat indokolja a szaktanárok által összeállított mellékletek, segédanyagként felhasználható források egészítik ki.

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

IRC beüzemelése Mach3-hoz IRC Frekvenciaváltó vezérlő áramkör Inverter Remote Controller

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Interfészek. PPT 2007/2008 tavasz.

GVOE 2010

Iman 3.0 szoftverdokumentáció

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Nyilvántartási Rendszer

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

SZERKEZETFÖLDTANI OKTATÓPROGRAM, VETŐMENTI ELMOZDULÁSOK MODELLEZÉSÉRE. Kaczur Sándor Fintor Krisztián

BIZTONSÁG Autósiskola 5440 Kunszentmárton Rákóczi út / Ny.Sz:

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Verifikáció és validáció Általános bevezető

Image Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv

ALBATROS2. Innovatív szabályozástechnikai megoldások több hőtermelős fűtési rendszerekhez. Válaszok az infrastrukturára

Útjelzések, akadályok felismerése valós időben

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Városi tömegközlekedés és utastájékoztatás szoftver támogatása

ALKALMAZÁS KERETRENDSZER

Már megismert fogalmak áttekintése

Programtervezés. Dr. Iványi Péter

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

TELE-OPERATOR UTS v.14 Field IPTV műszer. Adatlap

Irányítástechnikai alapok. Zalotay Péter főiskolai docens KKMF

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

Autonóm járműrendszerek kutatása a zalaegerszegi autonóm tesztpályához kapcsolódóan. Pályázati témák (3) Téma rövid tartalma

A DIPLOMAMUNKA FORMAI KÖVETELMÉNYEI JAVASLAT

Tájékoztató. Használható segédeszköz: számológép, rajzeszközök

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Knorr-Bremse oktatási tematika. Knorr-Bremse Group

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Értékelés a BUS programhoz elkészült termékek magyar változatáról Készítette: Animatus Kft. Jókay Tamás január 07.

Kerékagymotoros Formula Student versenyautó menetdinamikai szimulációja

Irányítástechnika Elıadás. PLC rendszerek konfigurálása

Autonóm jármű forgalomszimulátorba illesztése

Témák 2014/15/1. Dr. Ruszinkó Endre, egyetemi docens

ALBATROS2. Innovatív megoldások alternatív hőtermelős fűtési rendszerekhez. Válaszok az infrastrukturára

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

8.3. AZ ASIC TESZTELÉSE

A 10. sorszámú Automatikai technikus megnevezésű szakképesítés szakmai és vizsgakövetelmény 1. AZ ORSZÁGOS KÉPZÉSI JEGYZÉKBEN SZEREPLŐ ADATOK

Vezetői információs rendszerek

SZERZŐ: Kiss Róbert. Oldal1

Információtartalom vázlata

Wigner Jenő Műszaki, Informatikai Középiskola és Kollégium // OKJ: Elektronikai technikus szakképesítés.

Fizikai mérések Arduino-val

A 146. sorszámú Mechatronikus-karbantartó megnevezésű szakképesítés szakmai és vizsgakövetelménye 1. AZ ORSZÁGOS KÉPZÉSI JEGYZÉKBEN SZEREPLŐ ADATOK

Pneumatikus hajtású jármű hajtásláncának megtervezése és optimalizációja. Készítette: Vidovics Lajos

Optimumkeresés számítógépen

Software project management Áttekintés

Prolan Zrt. fejlesztéseiben. Petri Dániel

Alapismeretek. Tanmenet

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Projekt beszámoló. NEWSIT News basedearlywarning System forintradaytrading: Hír alapú Korai Figyelmeztető Rendszer Napon belüli Kereskedéshez

Foglalkozási napló a 20 /20. tanévre

FANUC Robotics Roboguide

Irányítástechnika Elıadás. PLC-k programozása

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

Tárgyszavak: vevőkapcsolatok; CRM; szoftverértékelés.

ÁRAMKÖRÖK SZIMULÁCIÓJA

Időkönyvelő Projektfeladat specifikáció

INFORMATIKAI ALAPISMERETEK

Az automatizálás a hajtóerőnk

FMC felügyeleti és vezérlőegységek

Napjainkban a korábbiaknál is nagyobb szükségünk van arra, hogy eszközeink rugalmasak legyenek és gyorsan igazodjanak a változó környezethez.

1. SZÁMÚ FÜGGELÉK MŰSZAKI LEÍRÁS

GYULAI LÁSZLÓ KIS- ÉS KÖZÉPVÁLLALKOZÁSOK ÜZLETFINANSZÍROZÁSA

Mechatronikai Laboratórium a Debreceni Egyetem Műszaki Karán

Járműinformatika A jármű elektronikus rendszerei

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

Cookie-k használatának irányelve

Útmutató EDC kézivezérlőhöz

1. AZ ORSZÁGOS KÉPZÉSI JEGYZÉKBEN SZEREPLŐ ADATOK 2. EGYÉB ADATOK

Alapismeretek. Tanmenet

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

A Clipper evolúciója

Autóipari beágyazott rendszerek. Kockázatelemzés

Enabling and Capitalising of Urban Technologies

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

Szerepjáték Project Story of my life

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Generátor differenciálvédelmi funkció blokk leírása

ANSYS ACT. Hatékonyság növelés testreszabással. Farkas Dániel econ Engineering Kft. Budapest, 21/04/2016

IT - Alapismeretek. Feladatgyűjtemény

EBS D. 1 függelék " fékdiagram" 3 tengelyes félpótkocsi 4S/2M vagy 2S2M PREV-vel és kétirányú szeleppel

Programozási nyelvek 6. előadás

Haszongépjármű fékrendszerek Alapok Rendszerfelépítés

Szoftver tervezési ismeretek (UML) : Rational Rose, Together ControlCenter, Enterprise Architect, Star UML, Modelmaker, Jumli

Módosult a Csatlakoztatási konstrukció az önkormányzati ASP rendszer országos kiterjesztéséhez című felhívás

Intelligens közlekedési rendszerek hazai bevezetésének várható hatása az úthálózaton a torlódásos időszakok alakulására

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

KUTATÁSI JELENTÉS. Multilaterációs radarrendszer kutatása. Szüllő Ádám

MINDEN A HELYÉN! Minden egy helyen. Szegedi Antal Pásztor Zsolt. itsmf Magyarország 11. Szemináriuma Budapest, október 30.

Átírás:

Egy vasúti járműben használható blokkolásgátló algoritmus és annak futtatását lehetővé tevő szimulátor alkalmazás kifejlesztése, paraméter optimalizálási lehetőséggel Készítette: Varga Attila

1 Bevezetés... 6 2 Feladatspecifikáció... 8 2.1 A dolgozat témája... 8 2.2 A dolgozat célja... 11 2.3 A dokumentum hatóköre... 12 2.4 A rendszer helye és szerepe... 12 2.5 Érdekeltek, felhasználók... 13 2.6 A rendszer humán és technikai környezete... 13 2.7 Elvárások, követelmények... 13 2.8 Megoldandó problémák... 14 2.9 Rendszerjellemzők... 14 2.10 Feltételezések és összefüggések... 15 2.10.1 A fékezési folyamat, csúszás, súrlódási együttható... 15 2.11 Licenszek... 17 2.12 Internet-címek... 18 2.13 A rendszer tulajdonságai... 19 2.14 Korlátozó tényezők... 19 2.14.1 Blokkolásgátló... 19 2.14.2 Szimulációs környezet... 20 2.15 Prioritások... 20 2.16 A rendszer áttekintése... 20 3 Blokkolásgátló vezérlés fejlesztése... 26 3.1 Fejlesztői környezet kiválasztása... 26 3.2 A fejlesztési folyamat elemei... 26 3.3 A fejlesztés lépesei... 27 3.4 Blokkolásgátló fejlesztése... 28 3.5 A blokkolásgátló algoritmus elvi működése... 29 3.6 A blokkolásgátló szoftver felépítése... 32 3.7 Öröklődési hierarchia... 34 3.8 A linkholder technika... 35 3.9 Bemenetek beolvasása... 38 3.10 A referenciasebesség kiszámítása... 39 2

3.10.1 A referenciasebesség-számítást megvalósító osztály... 42 3.11 A referenciasebesség kiszámítása üzemmód-váltás esetén... 43 3.12 A referenciasebesség korrigálása... 46 3.13 Szabályzási parancsok meghatározása... 48 3.14 A kimenetek vezérlése... 51 3.15 Továbbfejlesztési lehetőségek... 55 4 Szimulációs környezet fejlesztése... 59 4.1 Fejlesztői környezet kiválasztása... 59 4.2 A szimulációs környezet elvi felépítése... 59 4.3 A fejlesztési folyamat elemei... 61 4.4 A fejlesztés lépései... 62 4.5 Használati esetek... 63 4.6 Felhasználói felület... 64 4.7 A rendszer felépítése... 68 4.8 A szimulátort megvalósító osztályok... 69 4.9 Adatátadás a szimulátor és a vezérelt egységek között... 72 4.9.1 Adatátadási protokoll... 73 4.10 A vezérlési folyamat... 78 4.10.1 Blokkolásgátló indítása... 79 4.10.2 Járműmodell indítása... 80 4.11 Paraméter-optimalizálás... 82 4.11.1 Adatok áramlása az ABS és a szkript modul között... 86 4.11.2 Interfész a szimulátor felé... 88 4.11.3 Szkript forráskód szerkesztő... 91 5 HIL szimuláció... 94 6 Összegzés... 99 6.1 Blokkolásgátló... 99 6.2 Szimulátor... 100 7 Függelék... 102 7.1 A szimulátor-rendszer részletes felépítése... 102 7.2 A járműmodell felépítése... 102 7.3 DLL-ek interface leírása... 104 7.3.1 Blokkolásgátló... 104 3

7.3.2 Jármű... 105 7.4 Compiler Front-end... 105 7.5 Futófelület sérülések ABS nélkül... 114 7.6 A dolgozat virtuális gépen... 116 7.7 Felhasznált komponensek... 116 8 Fogalomszótár... 118 9 Ábrajegyzék... 120 10 Irodalomjegyzék... 123 4

A hasonló esetek megelőzésére 5

1 Bevezetés A blokkolásgátlás, mint funkció évek óta igen ismert - már a nagyközönség előtt is - viszont kevéssé ismert maga a megvalósítás, a megoldandó problémák és az alkalmazott megoldások halmaza. Ezért a dolgozat ennek a problémakörnek egy lehetséges megoldását tűzte ki célul. Részlet egy internetes keresőbe írt "blokkolásgátló" címszó eredményéről: Blokkolásgátló: alkalmazásának célja, hogy fékezéskor megakadályozza a kerekek blokkolását, mivel ha ez bekövetkezik, kormányozhatatlanná válik a jármű, illetve elveszti stabilitását. Ennek az az oka, hogy amikor a kerék nem gördül, akkor megszűnik az oldalvezető erő is. Az elektronikus blokkolásgátló rendszerek a kerekekre szerelt jeladók adatai álapján következtetnek a blokkolásra. Ha ez megtörténik, elektromágneses szelepek csökkentik, illetve korlátozzák az adott kerékhez jutó féknyomást, úgy, hogy végig megmaradjon a gördülés. Vagy: Az ABS fékezéskor megakadályozza az egyes kerekek blokkolását, így optimális fékút érhető el, biztosított az oldalvezetés... A blokkolásgátló a vasúti technikában már a '30-as években megjelent, bár a fejlesztést más indokok tették szükségessé. Az idézett mondatok természetesen teljesen helytállóak, csak éppen nem mondanak semmit egy ilyen egység működési elveiről, belső felépítéséről. Arra a tényre, hogy csökkenteni kell egy jármű fékerejét blokkoló kerekek esetén, valószínűleg mindenki hamar rájön, ennek a mikéntje viszont már egyáltalán nem triviálisan egyszerű (sőt, ahogy mondani szokás, az ördög - itt is - a részletekben rejlik). Mennyivel csökkenteni? Milyen módon? Mennyi a jármű aktuális sebessége? (Bár ez utóbbi kérdés egyszerűen megválaszolhatónak tűnik, de mint látni fogjuk, nem az) Egyáltalán miért kell törődnie egy blokkolásgátlónak a járműsebességgel? Milyen részekből és hogyan épül fel egy olyan program amelyik képes ilyen szabályzásra? Ezeknek a kérdéseknek egyfajta megválaszolására született ez a dolgozat, tudva azt, hogy természetesen többfajta válasz is lehetséges. Egy másik, ok, hogyha valaki meg akarja ismerni a járműiparban felhasznált elektronikus megoldásokat, akkor a blokkolásgátló rendszer az "alap". Azt itt megismert tudásra épülnek az utóbbi évek újabb fejlesztései, mint például az EBS (elektronikus fékrendszer) vagy az ESP (elektronikus stabilizáló program). 6

Annak a ténynek, hogy ez a téma került feldolgozásra, több oka van. Először is több évi, járműipari vállalatoknál szerzett gyakorlat érdeklődővé tett a számítástechnika ezen ága iránt, másrészt (mivel PC-s programok tervezése és fejlesztése is feladatom volt) ez a téma jó lehetőséget nyújt mind beágyazott, mind személyi számítógépen futó kevert programozási nyelvű feladat megoldására és bemutatására. A téma fő jellemzői tehát, hogy a.) szoftvert mutat be; b.) ez a járműiparban felhasználható; és hogy c.) a program ún. valósidejű alkalmazás. Ezért a számítástechnikában jártas, a járműipar iránt érdeklődő, programozók, vagy programozásban jártas szakemberek érdeklődésére tarthat számot és mindazokéra, akiket érdekelnek az ún. beágyazott alkalmazások. A dolgozat első része egy blokkolásgátló programot mutat be. Vagyis egy olyan programot amely megakadályozza egy jármű futóművének blokkolását azáltal, hogy fékezésnél - amennyiben szükséges - csökkenti a fékerőt és levezényli az ebben a szabályzási folyamatban nélkülözhetetlen lépéseket. A második rész bemutatja, hogy hogyan lehet egy az első részben ismertetett algoritmust személyi számítógépen futó alkalmazással tesztelni, vagyis egy olyan járműszimulátor programot, amellyel a blokkolásgátló működése vizsgálható, ellenőrizhető és a helyes működéshez szükséges beállítások elvégezhetőek. Mindezek elméleti alapozása és gyakorlati megvalósítása található a következő fejezetekben. 7

2 Feladatspecifikáció 2.1 A dolgozat témája A dolgozat bemutatja egy speciális blokkolásgátló algoritmus kifejlesztését, amelynek használata vasúti járműben lehetséges és a mely a vasúti a körülmények figyelembevételével készült. Az eljárás végterméke egy olyan modul, amely tartalmazza egy blokkolásgátló minden funkcionális elemét, vagyis egy komplett egység, amely alkalmas egy beágyazott rendszerben történő üzemeltetésre egy nagyobb alrendszeren belül. Közúti és haszongépjárművektől eltérően vasúti üzemben a kerékpárok megcsúszása nem csak vészfékezés vagy jeges útpálya esetén jöhet létre ezért a blokkolásgátlónak alkalmasnak kell lennie a jármű minden üzemmódjában a körülötte levő hardver rendszer felülvizsgálatára és azonnali beavatkozásra. A dolgozat magát a blokkolásgátlást mint funkciót helyezi előtérbe, vagyis ennek az algoritmusnak a bemutatása, kifejlesztésének lépései, működésének leírása és megvalósítása a fő célja. Részletesen tárgyalja a szükséges funkciókat, a felmerülő problémákat, az erre adott megoldásokat és mindeközben szem előtt tartja, hogy a végtermék vasúti járműben kerül alkalmazásra, vagyis mely részek azok, amelyek esetleg egyszerűsíthetők vagy hogy milyen szempontokat kell különlegesen kezelni. Tervezési fázisban a fejlesztés az UML jelölésrendszert alkalmazza az egyes részegységek szabványos leírására és dokumentálására. Mivel beágyazott alkalmazásról [1] lévén szó, ilyen típusú alkalmazás esetén szinte egyeduralkodó a C és a C++ nyelv. Másik megvalósításként szóba jöhet az ADA nyelv, de mivel a programozók körében az előzőek jóval ismertebbek ezért a blokkolásgátló nyelvi megvalósítása is C++ nyelven történik, ráadásul ehhez a nyelvhez könnyebb (szabadszoftver) tervezőeszközt találni. Maga a blokkolásgátló program a tervezési fázis után az osztálydiagramok által generált kód részletes kidolgozásával jön létre. A megoldandó feladatok között 8

szerepel a ki- és bemeneti adatok lekezelése, a jármű sebességének megállapítása, a bemeneti adatok alapján a kimeneti válaszreakciók meghatározása és a feltételezett járműsebesség korrekciója, valós állapothoz igazítása. A blokkolásgátló ciklikus működése és az időszeletek változtathatósága miatt az algoritmus által mért idők nem függhetnek az alkalmazott időszelettől, hanem saját időmérő technikát kell bevezetnie a pontos időzítések biztosítására. Külön megoldandó feladat az egyes részek közötti információcsere biztosítása, amelyre egy ún. "LinkHolder" üzenetközpont technika kerül bevezetésre. A dolgozat kitér a továbbfejleszthetőség, alternatív megoldások lehetőségeire is. Foglalkozik ezentúl a modul pontos beállításának és paraméterezésének illetve olyan módszer bemutatásával amellyel a blokkolásgátló finomhangolása elvégezhető (paraméter-optimalizálás). Egy blokkolásgátlást megvalósító modul - beágyazott alkalmazásról lévén szó - teljesítenie kell a valós-idejű programokkal szemben támasztott követelményeket is, ezért a végső forráskód megfelelő szintű optimalizálására van szükség. A meghatározott válaszidők biztosítása céljából egyes technikák tiltottak ill. nem javasoltak a szakirodalom szerint, ezeket a megoldásokat a tervezésnél és a forráskódban kerülni kell. A dolgozat egy másik hangsúlyos eleme egy jármű-szimulátor alkalmazás tervezése és létrehozása. Mivel a blokkolásgátló funkció beágyazott, vagyis egy célhardver-en futó alkalmazás vagy pedig egy nagyobb járműrendszer része, ennek helyes működését igen nehéz lenne valós körülmények között ellenőrizni, ráadásul amennyiben ez lehetséges, akkor is igen költséges eljárás. Bár egy valódi, alkalmazott rendszer fejlesztése nem mondhat le erről a lépésről, mint végső ellenőrzésről, viszont szükséges a második (és harmadik) szintű ellenőrzés érdekében egy személyi számítógépen futó alkalmazást kifejleszteni, amelyben ellenőrizhető a helyes működésmód. A dolgozat másik fő hangsúlyos része ezért egy ilyen járműszimulátor kifejlesztése. Így lehetőség van a fejlesztési procedúra első lépésének lezárására, vagyis egy szimulációs környezetben történő vizsgálatra, ellenőrzésre és beállításra. 9

Ez a rész egy személyi számítógépen futó szoftvert mutat be és mint ilyen, több, a felhasználó által kezdeményezhető elemet, funkciót tartalmaz. Vagyis a választás egy olyan fejlesztőeszközre kell hogy essen, amellyel könnyen hozható létre egy felhasználóbarát ún. user-interface ugyanakkor erős támogatást biztosít az objektum-orientált közelítésmódhoz. A működés bemutatásához és ellenőrzéséhez célszerű vizualizációs technikaként grafikonokat és táblázatokat alkalmazni, vagyis olyan fejlesztőeszköz szükséges, amely tartalmaz ilyen elemet beépítve vagy található hozzá olyan komponens amely egy ilyen felhasználói felület létrehozását lehetővé teszi. Ezért a választás az Object Pascal nyelvre és a Delphi fejlesztői rendszerre esett (amelynek Personal változata szintén magánhasználatra ingyenes és) mivel bőségesen található hozzá olyan komponens, amely segíti a feladat megvalósítását egyszersmind objektum-orientált. A szimulátor által megvalósítandó funkciók között szerepel a blokkolásgátlóval való kapcsolattartás, a hardver szimulációja, az adatátvitel megvalósítása a szimulált hardver és a blokkolásgátló között, valamint a mérési adatok megjelenítése a felhasználó számára értelmezhető módon. Tekintve hogy a blokkolásgátló funkció programozási nyelve C++, a szimulátor-programé Object Pascal és a paraméter-optimalizálási rész pedig JavaScript nyelven került megvalósításra, ez lehetőséget biztosít kevert nyelvű alkalmazások létrehozásának bemutatására is. Mivel a teljes forráskód megtalálható a dolgozat mellékleteként és elképzelhető, hogy egy továbbfejlesztési eljárás keretén belül a blokkolásgátló funkció átalakul, bővül. Ezért - a továbbfejleszthetőség érdekében - magának a jármű-szimulátornak igen általánosnak kell lennie, hogy ne csak a jelen esetben használt blokkolásgátló, hanem egy esetlegesen - másik programozó vagy fejlesztői csoport által - létrehozott blokkolásgátló is ellenőrizhető legyen vele, ezért a szimulátor és a blokkolásgátló közötti információcserére ún. generikus megoldást kell biztosítania. Ehhez a szimulátor interfész-osztályainak ún. soros-párhuzamos adatátviteli technikát és adatdeszkriptorokat kell használnia, amely technika szintén itt kerül bevezetésre. Ennek a bemutatása is a jármű-szimulátor alkalmazás célja. A fejlesztésnél szempont volt, hogy minden felhasznált alkalmazás - a tervezőeszközöktől kezdve a programkód szerkesztőkön át a fordítóprogramokig - 10