Changes for page Basic design

Last modified by nfl on 2025/01/30 12:05

From version 10.1
edited by sna
on 2014/08/06 03:46
Change comment: There is no comment for this version
To version 14.1
edited by krat
on 2014/08/11 11:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.sna
1 +XWiki.krat
Content
... ... @@ -34,7 +34,7 @@
34 34  
35 35  == Train controller ==
36 36  
37 -Each train controller is set in a separate region with a referenced state. This state has the following interface
37 +Each train controller is set in a separate region with a referenced state. This state has the following interface:
38 38  
39 39  
40 40  \\\\\\\\
... ... @@ -41,13 +41,13 @@
41 41  
42 42  {{{    input int *_perm;         # All permission variables (Tracks) input bool *_perm # KH permission variables   input int trainNum;    input bool cleanup; input bool debug; output bool *_req[]; # All request variables}}}
43 43  
44 -The train controller is composed of several //Station-2-Station// controllers. These are combined to form a complete schedule. Additionally the cleanup signal has to be watched to abort the schedule and return back to the initial position.
44 +The train controller is composed of several //Station-2-Station// controllers. These are combined to form a complete schedule. Additionally, the cleanup signal has to be watched to abort the schedule and return back to the initial position.
45 45  
46 46  == Station-2-Station controller ==
47 47  
48 -Each station-2-station controller realizes the movement from one of the stations (IC,OC,KH) to a second station. All controllers using IC or OC parts have to respect the traveling directions. For the Kicking Horse Pass two separate controllers, forwards and backwards, are used.
48 +Each Station-2-Station controller realizes the movement from one of the stations (IC,OC,KH) to another station. All controllers using IC or OC parts have to respect the traveling directions. For the Kicking Horse Pass two separate controllers, forwards and backwards, are used.
49 49  
50 -The controllers starting from Kicking Horse Pass Station make an assumption of the direction of the train. These are dependent of the directions of the inner or outer circle, e.g. the KHIC controller starts backwards because this is the only valid direction to travel this path. To drive a train from the Kicking Horse Station (facing forward) to the Inner Circle we have to combine the KHOC and OCIC controllers.
50 +The controllers starting from Kicking Horse Pass Station make an assumption of the direction of the train. These are dependent on the directions of the inner or outer circle, e.g. the KHIC controller starts backwards because this is the only valid direction to travel this path. To drive a train from the Kicking Horse Station (facing forward) to the Inner Circle we have to combine the KHOC and OCIC controllers.
51 51  
52 52  [[image:attach:ICIC.png]]
53 53  
... ... @@ -55,13 +55,8 @@
55 55  Next the train **must** wait for// int railDeparture(int train)// to return 1.
56 56  After the waiting has finished the controller can reach a final state and pass the control back to the train controller.
57 57  
58 -=== Structure ===
58 +=== Structure   ===
59 59  
60 -----
61 -
62 -
63 -
64 -
65 65  |=(((
66 66  {{{input int *_perm;}}}
67 67  
... ... @@ -111,9 +111,9 @@
111 111  
112 112  {{{    state backOff1 {}}}
113 113  
114 -{{{entry / *_ST_4_req[trainNum] = false;}}}
109 +{{{ entry / *_ST_4_req[trainNum] = false;}}}
115 115  
116 -{{{entry / *_LN_0_req[trainNum] = false;}}}
111 +{{{ entry / *_LN_0_req[trainNum] = false;}}}
117 117  
118 118  {{{    }}}}
119 119  
... ... @@ -121,7 +121,7 @@
121 121  
122 122  {{{ }}}
123 123  
124 -{{{final state gotPerm;}}}
119 +{{{ final state gotPerm;}}}
125 125  
126 126  {{{}}}}
127 127  
... ... @@ -129,7 +129,7 @@
129 129  
130 130  {{{ }}}
131 131  
132 -{{{state Dep_IC_ST {}}}
127 +{{{state Dep_*_ST {}}}
133 133  
134 134  {{{    entry / 'railPoint(*,STRAIGHT)';}}}
135 135  
... ... @@ -241,9 +241,9 @@
241 241  
242 242  {{{ }}}
243 243  
244 -{{{  state IC_LN_0_IC_LN_1}}}
239 +{{{  state *_LN_0_*_LN_1}}}
245 245  
246 -{{{  --> IC_LN_1 with 'railContact(IC_LN_1,0)';}}}
241 +{{{  --> *_LN_1 with 'railContact(*_LN_1,0)';}}}
247 247  
248 248  {{{ }}}
249 249  
... ... @@ -353,12 +353,18 @@
353 353  
354 354  {{{      }}}}
355 355  
356 -{{{      --> success with destTrack == 1 & *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}}
351 +\\
357 357  
358 -{{{      --> success with destTrack == 2 & *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}}
353 +{{{      --> success with destTrack == 1 & *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}}
359 359  
360 -{{{      --> success with destTrack == 3 & *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}}
355 +\\
361 361  
357 +{{{      --> success with destTrack == 2 & *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}}
358 +
359 +\\
360 +
361 +{{{      --> success with destTrack == 3 & *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}}
362 +
362 362  {{{      --> success with *_ST_0_perm == trainNum & *_ST_1_perm == trainNum / i_arrOnTrack = 1}}}
363 363  
364 364  {{{      --> success with *_ST_0_perm == trainNum & *_ST_2_perm == trainNum / i_arrOnTrack = 2}}}
... ... @@ -365,8 +365,11 @@
365 365  
366 366  {{{      --> success with *_ST_0_perm == trainNum & *_ST_3_perm == trainNum / i_arrOnTrack = 3}}}
367 367  
368 -{{{      --> resolving with *_ST_0_perm == trainNum | *_ST_3_perm == trainNum | *_ST_2_perm == trainNum | *_ST_1_perm == trainNum;}}}
369 369  
370 +\\
371 +
372 +{{{      --> resolving with *_ST_0_perm == trainNum | *_ST_3_perm == trainNum | *_ST_2_perm == trainNum | *_ST_1_perm == trainNum;}}}
373 +
370 370  {{{ }}}
371 371  
372 372  {{{      state resolving}}}
... ... @@ -427,7 +427,7 @@
427 427  
428 428  {{{    entry / 'railSignal(*_LN_5, FWD, RED)';}}}
429 429  
430 -{{{    entry / 'railTrackOff(*C_LN_5)';}}}
434 +{{{    entry / 'railTrackOff(*_LN_5)';}}}
431 431  
432 432  {{{    entry / 'railTrack(*_ST_0,FWD,trainNum,SLOW)';}}}
433 433  
... ... @@ -497,7 +497,7 @@
497 497  
498 498  {{{  final state reallyDone;}}}
499 499  )))|=(((
500 -~/~/ All permissiions variables
504 +~/~/ All permissions variables
501 501  
502 502  ~/~/ All request variables
503 503  
... ... @@ -507,7 +507,7 @@
507 507  
508 508  ~/~/ Destination track number
509 509  
510 -~/~/ Cleanup flag for selecting the track of destination
514 +~/~/ Cleanup flag for selecting the destination track
511 511  
512 512  ~/~/ Debug flag for additional output
513 513  
... ... @@ -523,7 +523,7 @@
523 523  
524 524  
525 525  
526 -~/~/ State, which set requests for needed tracks
530 +~/~/ State, which sets requests for needed tracks
527 527  
528 528  
529 529  
... ... @@ -531,9 +531,9 @@
531 531  
532 532  
533 533  
534 -~/~/ Transition for received **all** needed permissions
538 +~/~/ Transition is taken, if all permissions are received
535 535  
536 -~/~/ Tranisition for received **some** needed permissions
540 +~/~/ Transition is taken, if some (not all) permissions are received
537 537  
538 538  
539 539  
... ... @@ -551,7 +551,7 @@
551 551  
552 552  
553 553  
554 -~/~/ Transition to trying the requesting again
558 +~/~/ Transition to repeat requesting permissions procedure
555 555  
556 556  
557 557  
... ... @@ -580,7 +580,7 @@
580 580  
581 581  
582 582  
583 -~/~/ Transition to next track segment, if contact is readed
587 +~/~/ Transition to next track segment, if contact is triggered
584 584  
585 585  
586 586  
... ... @@ -676,7 +676,7 @@
676 676  
677 677  ~/~/ Transitional state
678 678  
679 -~/~/ Transition to next track segment, if contact is readed
683 +~/~/ Transition to next track segment, if contact is triggered
680 680  
681 681  
682 682  
... ... @@ -744,8 +744,6 @@
744 744  
745 745  
746 746  
747 -
748 -
749 749  ~/~/ Setting the arrival track (output)
750 750  
751 751  
... ... @@ -792,6 +792,10 @@
792 792  
793 793  
794 794  
797 +
798 +
799 +
800 +
795 795  ~/~/ Transitions for permitted tracks don't match wished tracks
796 796  
797 797  
... ... @@ -802,6 +802,8 @@
802 802  
803 803  
804 804  
811 +
812 +
805 805  ~/~/ State for waiting an additional tick
806 806  
807 807  
... ... @@ -830,7 +830,7 @@
830 830  
831 831  
832 832  
833 -~/~/ State for releasing not used track requests and
841 +~/~/ State for releasing not used track requests
834 834  
835 835  
836 836  
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471639
1 +9471660
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471639/Basic design
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471660/Basic design