• No results found

Dokumentation av datorprogrammet Parning

N/A
N/A
Protected

Academic year: 2021

Share "Dokumentation av datorprogrammet Parning"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

V Zfnotat

Nummer: T 09 Datum: 1987-02-12

Titel: Dokumentation av datorprogrammet Parning

Författare: Praktikarbete av Erik Ejvegård

Avdelning: T

Projektnummer: _71002-0

Projektnamn: Trafiksimulering, modellutveckling och tillämpningar

Uppdragsgivare: VTI )

Distribution: fri / nyförvärv / begränsad /

Statens väg- och trafikinstitut

w Veag-och Trafik-

Pa: 58101 Linköping. Tel. 013-1152 00. Telex 50125 VTISGI S

(2)

- --o W N * -N P lwa U ' I -P b J N r -s INNEHÅLLSFÖRTECKNING Sid ANVÄNDARHANDLEDNING 1 Inledning 1

Körning

,

l

Körexempei 3 KONSTRUKTIONSBESKRIVNING . V 4

Översiktlig funktionsbeskrivning

4

Allmän beskrivning 4 Erogrambeskrivning 5 Översiktlig procedurbeskrivning 11 Beskrivning av huvudprogrammet 13 BILAGA Programkod

(3)

l. ANVÄNDARHANDLEDNING

1.1 Inledning

Programmet Parning(PP) är ett automatiskt fordonsparningsprogram för flerpunktsmätningar. PP kan ta hand om upp till fem mätstationer. PP arbetar med en riktning åt gången, varvid två körningar behövs för utvär-dering av båda riktningarna. Det PP gör är att para ihop samma fordon från de olika Fordonsfilerna och skriva ut dessa på en fil. PP ligger iett directory på Viktor och startas upp på sedvanligt sätt.

1.2 Körning

När du kör PP så vill programmet ha en del indata i början.

Ange riktning (1/2):

Det första du skall ange är vilken riktning du vill behandla. Det gör du genom att ge siffra för riktning.

Ge värde för acceleration:

Här skall du geett heltal som motsvarar vad ett fordon kan tänkas accel-erera, du anger en övre gräns. På en väg utan förändringar ligger det värdet vid 10. Vägförhållandena kan påverka detta värde med någon

enhet.

Ge värde för retardation:

(4)

Ge värde för spridningen av hastigheten:

Detta värde anger hur mycket punkthastigheten som mest kan förändras och bör vara ungefär det dubbla av ovanstående d v 3 runt 20.

Ange promilletal för avvikelse av axelavstånd:

P g a osäkerheten i mätningarna skall ett värde för hur stora felmätning-arna kan vara anges. Hur stora felen är varierar från mätning till mätning, men ligger troligtvis mellan 20 och 30 0/00.

Ge antal mätstationer (>=2, <=5):

Hur många mätstationer man vill ha ihopparade på sträckan anges med en siffra mellan två och fem.

Ge namn på första filen:

Här skall man ange vad fordonsfilen över första mätstationen heter. Med första menas den mätstation som fordonen passerar först beroende på riktning.

Ge namn på andra filen:

Här skall man ange vad fordonsfilen Över nästföljande station heter.

Ge sträcklängden:

Sträcklängden mellan de båda ovanstående stationerna skall anges 1 meter.

Om det rör sig om fler än två mätstationer kommer även dessa att frågas efter med respektive sträcklängder.

Ge namn på utfilen:

(5)

' 1.3 Körningsexempel

I 0

i..

\\ , . . . Å'ÄZÅWTT A21 0f .. ' . - \ .w .i'lnnädinuI

' O: ' \ \ 1- Hag \ ' u \ Anton-l (in: a

V \v Nüd ,MH- WP '\ y. Skudaqardun mv'ngmmç, y" ) 'Enn'

Äui'iiVWiu'H! 51I1Ul"q.| .O - i \ V '^ ' 1 2 T . . .x ' OHbCfgd rupmquci 61/ 4' - .v . a I I

Sunda: HHg'HHa! N bum ° . ' . . '16 *ROby H damp "p a A\[\t|H;)HI . I -t?? ' '\ fFu-(jnkshwq / Hagen. Lugmsbwg )_ _ _ l 7 ' l . 0 Kull'Stad-A- / a- \ ' Orlmda \ \ "' «. . . T rttwr'n (nu) \ ' .'4 Motby .- . - 0' . H ,kunm Städ 9 1 . .Normstçorp *i * . H '1 / ". . ' / k!) Prustnnqun. 5 ,' \ - r * Q' ' \ i 1? 'W b M'r \ *a \' Q ' m Knam'rstvn. \ (nu 4 A .. . = - . Gatan ' ' ., é» ° > H ' ^ ' ' . \- VlSRHHf P*

Ange riktning (1/2): 2

Ge värde för acceleration: 10

Ge värde för spridningen av hastigheten: 20 Ange promilletal för avvikelse av axelavstånd: 26 Ge antal mätstationer (> = 2, < = 5): 2

Ge namn på första filen: b.dat Ge namn på andra filen: a.dat Ge sträcklängden: 3251

'Ge namn på utfilen: ut_fil.dat

THE PROGRAM IS NOW RUNNING... RUNNING IS COMPLEATED...

(6)

2. KONSTRUKTIONSBESKRIVNING

2.1

, Översiktlig funktionsbeskrivning

PP är ett hjälpmedel vid utvärdering av restidsmätningar. PP behandlar mellan 2 och 5 stationer med utgångspunkt från första stationen i antingen riktning i eller 2. Det innebär att endast om fordonet blir hopparat fortsätter sökningen i nästa station.

PP parar ihop fordon genom att söka i nästföljande station efter ett fordon som "stämmer in". Första skall det vara samma riktning, fordons-typ och antal axlar. Sedan skall axelavstånd, hastighet och tid falla innanför gränserna. Dessa gränser bestäms genom indata till programmet. När endast ett fordon hittas skrivs det på en fil som lagrar alla parningarna.

2.2 Allmän beskrivning

Parning består \av 29 procedurer, varav två, skriv och rita, är procedurer i

Utskriv.

PP läser in en registrering från första filen och söker sedan i nästa efter samma fordon. Detta går till så att först läggs alla registreringar i andra filen, som ligger inom rimlig tid, i en länkad lista. Därefter söker man igenom listan efter möjliga fordon. Då kollar man att det är rätt riktning, fordonstyp och antal axlar. Vidare krymper man tidsintervallet genom att ta hänsyn till vilken hastighet som hölls. Slutligen kontrolleras att axelavstånden och hastigheterna inte skiljer för mycket. Hur stor skillnad det får vara bestämmer man genom indata. När man hittat en registrering som stämmer fortsätter programmet på samma sätt tills alla filer är genomsökta 'eller programmet inte hittar en. Då när sökandet är över skrivs det hela ut på en fil.

(7)

2.3 Globala dataareor: çonst Type Var Programbeskrivning Blank = Midnatt : Arr = Nodep = Node = Head = Datum: Head Plats: Head 51: 52: 53: 54: 55: Text Text Text Text Text

"(32) /Används för att få mellanrum vid utskrift /

86399999 / 23:59:59z999 i

millise-kunder används som kontrolltal så

att inga blir större än detta /

Packed array (1..50) of char / I denna typ av array lagras en

for-donsregistrering /

Node Record into: arr link: Nodep End

Packed array (1..70) of char /i denna typ av array lagras huvudena av filerna/

Överföringsvariabel

av filhuvud

från

infil till utfil /

Internt filnamn på första filen /

\ andra filen /

tredje filen /

fjärde filen /

(8)

arrl: arr Ny: boolean Uttid: integer i: integer hastighet:integer accezinteger ret.integer hastzinteger msekl :integer rootzinteger station2:nodep

att lagra fordonsregistreringar från första filen /

Håller reda på om en ny fordons-registrering skall länka till den

länk-ade listan över intervallet i station

2/

Tiden vid station 2 som används vid

kontrollerna att hitta vid station 3 / Håller reda på antal stationer vid

utskrift /

Hastigheten som fordonet höll vid station l /

Indata av värde för accelerationer

som används vid beräkning av

ogran /

Indata som används vid beräkning av

ogran /

Indata att addera och subtrahera till

hastigheter vid kontroll /

Tiden att använda vid bestämning av intervallet för den länkade listan / Pekare som alltid pekar på början av den länkade listan /

Pekare som används för att lägga till poster i listan /

(9)

ogran:integer ograns:integer sträcklängd: integer räknarezinteger utfilztext

ut: packed array (1..14) of char riktning:chan paxel:O..99 stor:rea l oaxehread antal:integer

Värde att addera till tiden för att få

Övre tidsgränsen /

Ogran + tid = övre gränsen /

Indata son används vid beräkning av

ogran och ugran /

Håller reda på ordningstal vid

ut-skrift /

Internt namn på utfilen /

Array att lagra namnen på de olika filerna /

Indata att jämföras med riktningen i

fordonsregistreringen /

Indata som används vid beräkning av axelavståndsavvikelse /

Den längsta sträckan /

Paxel omräknat till kontrolltal för

övre axelavståndsavvikelse /

(10)

Lokala variabler Procedure: Milli Inläsning Fart Tall Dumpa Jamfor x:char tal:integer yzinteger hchar takinteger x:char skrapzreal o:real u:real hjalpmodep lista:arr tidenzinteger slutazboolean lokpekmodep

Tillfällig teckenlagringsvariabel /

Tillfällig tallagringsvariabel /

En räknare till indexnummer: array/ Flyttar över från filen till arrayen /

Används för att kunna dividera /

Hjälppekare för att inte tappa post-er när root flyttar fram /

Att lägga fordonsregistreringen från hjälp i (vid jämförelser) /

Att lägga tiden från lista i /

Kollar så man tagit bort alla som

går /

Används för att skapa nya poster till listan /

(11)

Axel Axelt Utskriv Rita Listning x:char tal:lnteger x:char tal:integer COHSt al :integer a2 a3 all a5 pzreal y:integer z:integer e:integer 12 cl ar:arr hininteger h2 kant:lnteger I tldzinteger

Att lägga ett tecken i /

Att lägga siffran l /

Att lägga ett tecken i /

Att lägga siffran i /

c=':' Att avskilja de olika tidsen-heterna /

b=' ' Att få lite mellanrum /

Att lägga axelavstånd: /

Att lägga medelvärdet av de olika axelavstånden: /

Räknar /

Antal avstånd att räkna medelvärde på /

Positioner i arrayen /

Att lägga fordonsregistrerlngen av bilen att jämföras med: /

Hastigheten av /

Hastigheten av

Räknare som kollar att man bara

hittar ett fcrdon / Jämförelse tid /

(12)

10

axlzinteger Axelavstând från arr /

ax2 Axelavstånd från arrl

statmodep Hjälppekare för att stega fram i

(13)

2.4 Home Frag Ask Milli Inlasning Gran Fart Tall Dumpa Jamfor Axel Axelt Utskriv Skriv ll

Översiktlig procedurbeskrivning

Blankställer skärmen och flyttar markören till hem

Ställer en rad frågor och lagrar undan svaren. Väljer ut den längsta sträckan och konverterar den till millisekunder.

?Konverterar från tecken till siffror

Plockar fram tiden ur en array och räknar om den till

millisekunder

Läser en fordonsregistrering från första filen och lägger den i en array

Räknar ut tidsintervallsgränserna för tidigast och senast an-komst vid nästa station

Plockar fram hastigheten ur en array

Räknar ut värdena att addera till tiden (additionen görs i Gran)

Tar bort poster från listan som ej kan bli aktuella längre fram p g a att tiden är passerad

Lägger till nya poster till listan som kan bli aktuella Plockar fram det första axelavståndet ur en array Plockar fram valfritt axelavstând ur en array Skriver utdatafilen

(14)

12.

Rita . Ligger i utskriv och räknar ut medelvärdet av axelavstânden

samt skriver antal axlar och axelavståndet

(15)

13

2.5 Beskrivning av huvudprogram met

Huvudprogrammet består av fyra delar: initiering, öppningsfiler, genom-gång av filer och stängning av filer.

Initiering:

Räknare som används vid utskrift sätts till noll. Home blankställer sedan skärmen. Frag låter användaren initiera vissa variabler. Home blankställer skärmen och en text om att programmet är i gång skrivs på skärmen. Paxel räknas om till uaxel och oaxel. De olika root pekarna sätts till Nil för att deras listor är tomma. Ny får värdet sant.

Öppning av filer:

Nu öppnas de filerna som användaren namngett i frag och deras huvuden kopieras över på utfilen.

Genomgång av :filer:

Denna del av HP genomgås så länge som första filen inte nått sitt slut.

Slut tilldelas falskt värde.

Nu läser Inlasning in den första fordonsregistreringen. Sedan kontrolleras det. om en dålig registrering eller en i fel riktning lästs in. Om så är fallet så läses nästa registrering in. Detta fortgår tills en korrekt registrering läses in eller om slutet på filen nås. Om det är en bra registrering så får slut ett sant värde och programmet går vidare. Nu anropas några procedurer med data från den senast inlästa registreringen. Milli anropas och tiden läggs i msekl. Fart anropas coh hastigheten läggs i hastighet. Tall och Gran räknar ut tidsintervallet. Jamfor lägger till registreringar som kan bli aktuella och Dumpa tar bort sådana som är inaktuella från listan. Listning söker i listan efter Samma fordon. Slutligen får ny ett sant

värde eftersom listan kanske ska ändras.

Stängning av filer:

(16)

i. i u :r . I! 72 '. CT: .uu-a 13.!..5...1 -' v7 0' 1. .. ", 51! i i .. .. _. v ru!

(17)

.I .. .2 . . ' \ / .4.3 .4,1 i a:in U! U! 00 m m. E27.:11 :i 71 ". 1! :r . r.

:Tj Li: Li 3._ , Pm ! 'M 4 P.. ., 4.! ['.l m m . m 4.3 mr. * 4.3 I: ' .' I ., mg [2 3 ^ .,.. ., -... vr u .V 'N . l -Li .. . .x. .. . r. vu. n-nçf , o' . IW! ;31. 'M H' . H L 1 i' *I ...1 13. r. r_ I m :11 F.. LL .

(18)

n. . .' -4541" l" '" ! . Å *fxrzå' 1:3 5 SV . ., m5 -1 I I' 11 '. '. .. ., '. .. .4 . -" " . k . . H] 25 l r . u. _..-.1

LL! . r . .2

(19)

. i *22 : z 3 -0: : 3: : 5: _ 7. .. . :. w L. : :R u: n._ i = .z .. ?5 . 8 L 0 p 3. .. .. . . I V f ) 'I V 9 (

51 Iaca

(20)

3. . m ä 1.. vi .. .2 ; . ... ha nu Su .2 .. . Mzm ... .2. ..:1. . h a n 3 : nu

C u u. ?i ... i 2 ; .. u. w. 5.

(21)

. . . zh ?. L 2. .. T. .. T. .. m: »nad r. .. r. .« . MM .L v uu

(22)

.1 w. : w .. .I m .. .a . .m .2 * 2 .. --. .. l. må. .. "

5. 5 3. . 5 S. . 33 * x ....w ..., . 1, 1.. E , . .r ti M2 5* m. : _5 nu: »d u :+ 1. i. S _. 4. . _ 5 7 7. .. .-m. : mi .. . ? L . w.. . : . . . 1 %

(23)

2.' .' r. m.. :iii In .. .? 21 23'. H 31'. .t.. ., . I. .. ] ..2...I :Wi 4..: n. #153! m :2121 a m 4...! .:2;: W! i :. .. .v i!? [IL .. _. .. .J a ,... .4

(24)

:3 H". 18 IT. u 3.. '0. ..' . -u' Hii 4... »

(25)

....a n .4.. av_ :n. . ... ...an a... .Jr-t 10... ... 3 .i a,.. . _ . M g w a i m . 7 3 . .n am . .m in _UH "i 5 _....L 5 ...T u a u E .. .i *

(26)

T; .-c " . 2 H A M . n. i. . .. : : .I J r. 03 1m .. . 2 5 ". K S U ... H

(27)

_-.

.

..

.u

(28)

.u V.. ...3 .1 ,11 .1 ?W i in r. : x-a ., _. 0 . '. 42 a m"nl 1. 0. 4 nu? F... .22 ' m |" '.3 1 I.: I" 1 [I ] |A. ..| aøl vzr a Bi1a0a1 Sid 13 (16)

(29)

u n'. .. .0 .1 1"' "l 'H I ru. .. 2313 ;' r: vl .-' M . a .. .t 5-4 . pm ; :a 31 '. 5". 123? U.. . ;... .4 :Tj L ? .1.... LU

(30)

BHaqa 1

Sid15 (16)

v' -. . ur 12 If .

H W . ug p. . n : i:I: u 90 .... .1 r!:1 "N J I: :I N II .zzjr' m. 43.! .4.4 Cl zum ! ., mg 9.4 ... [I '1 "! :1. ...0 .: :fi I: .. .g l L'TE.. n ur. ... mg U! h a n " [I Iw' l rm -l ' r" ! i. . , u ' I »1 ..-: " " ' ! :1: .4.4 . EI r-ml i!) 4.. .! 'M ' un a ' v. »|. c .. .a L u ,^ 4|4 If .4 I" ,2 . ' I n a ' [II ' m v' Ill 4...! v r u' . I. .. , " :r . v' . LL! rm'! :3:: ... ..| n'-tf t! i LH -L J

*'33 -. 4... <0 .0 ... ..b LC .. .3.15 1-4...! 'r ", 3.... ... .. u' n n . , -[II ra s-0, ?li

(31)

. L .. w.: H. 7. . .L a i .. .2 . .L.w . . . T i m: 7... z.. å ... å.. ha ....... _ _ ».i 4._ I *

(32)

References

Related documents

Personuppgifter som behandlas enligt 11 § får även, i andra fall än som avses i 12 §, behandlas om det är nödvändigt för att … för försäkringsgivning eller någon

Både honan och hanen dr i stånd att stridulera, vilket tir mycket ovanligt bland våra vårtbitare..

VadUrval/MetodSyfteSlutsats AvhandlingAvhandlingen omfattar granskning av rättskällor via rättsligt material samt akt- och intervjumaterial vid socialtjänstens arbete för att

Vidare i ämnets syfte listar sedan Skolverket (2011) nio punkter som ”Undervisningen i ämnet svenska ska ge eleverna förutsättningar att utveckla” (s. Av dessa nio

Anslut inte datorn till samma vägguttag som andra apparater som drar mycket ström, eftersom variationer i spänningen kan skada datorn, dina data eller anslutna enheter..

- Introduktion ger instruktioner till hur filen kan användas och länkar vidare till filens olika delar - Import är den flik som ni använder för att importera information från de

Det mönster som framträder ty d- ligast v ar förekomsten av att man inte anv änder något material eller metod för att följa barns utv eckling och lärande, framförallt inom

Gustave Lorentz har också en trevlig ekologisk serie, Evidence, där det finns en Riesling, en Pinot Gris och en Pinot Noir.. I den här artikeln ska vi fokusera på de lite mer