| Français |
Functionality Features
System Components
System Design Concept
Dispatcher Commands
Other JM Railroad Features
PC Inputs/Outputs
JM Railroad Characteristics
A simple railroad network with three stations (S1, S2 and S3), three traction blocks (B1, B2 and B3) and four track switches (TS1, TS2, TS3 and TS4) will be used as an example. (See Figure 1)
With references to the East and West directions, the following sixteen station-station routes are possible: 1E3E, 1E2W, 1E3W, 1W2W, 1W3W, 2E3E, 2E2W, 2E3W, 2W1W, 2W1E, 2W2E, 3E1E, 3E2E, 3W1W, 3W1E, 3W2E.
Although the above sixteen routes are individually possible, conflict situations prohibit their simultaneous uses:
When the Dispatcher enters a route request, the request will only be executed when all the following conditions are met:
If the above conditions are met, the requested route is being commanded; if not, the request is put on hold until the conditions are met.
When a route request is accepted, the track switches are set and traction power for the required travel direction is applied to the blocks, departing and arrival station tracks.
The commanded route is released when the departing track is cleared by the departing train and when the train has arrived at the destination track; at that moment, traction power at the destination station is switched off to stop the train.
In the table below the program lines in the left column execute the commands in the right column.
| Program | Commands |
|---|---|
| {"2e3e", c2, -1, qpwr2e, -1, | "route", departing station cells, departing station end,-1 |
| {output,ts2,1, | command TS2 to the left position |
| output,ts3,1, | command TS3 to the left position |
| output,b2,1, | set track voltage polarity for correct travel direction |
| output,b3,1, | set track voltage polarity for correct travel direction |
| output,qpwr2e,1, | apply B3 traction power to departing station side |
| output,qpwr3e,1, | apply B2 traction power to destination station side |
| input,c2,1, | verify that departing station is occupied by train |
| input,c2,0, | signal that departing station has been cleared |
| input,c3,1, | signal that train has arrived at destination station end |
| output,qpwr3e,0, | switch power off at destination station end |
| output,qpwr2e,0, | switch power off at departing station end |
| end }, | - |
| 1e3e,1e2w,1e3w,1w3w,2e2w,2e3w,2w1w,2w1e,2w2e,3e1e,3e2e,3w1e,3w2e,-1} | list of conflicting route with 2e3e |
| {c3,-1,-1 } | cell at destination station end |
| }, | - |
Using the F-keys, the dispatcher can control the individual track switches and the travel directions for each block.
A routes.text file such as shown in the following example is first prepared by the Dispatcher. When the train program train.exe is run, the routes.txt file is called by the program and the Dispatcher enters the desired route(s) and/or trip(s) using the keyboard.
| Routes.txt file | Description |
|---|---|
| #Default train routes | - |
| #Some programmed trips | - |
| 1w1e: 1w2w 2e3e 3w1e | type '1w1e' then press "enter": the train starts from 1W, travels through stations 2 and 3, stops at station 1; |
| Shuttle 13: 1e3e w2o 3e1e lo,-1 | type 'Shuttle 13' then press "enter": the train will repetitively shuttle between Station 1 and Station 3 with a 20 seconds stop at station 3; to stop the shuttle, type 'Shuttle 13' then press "enter". |
| 1e2e: 1e3e w10 | type '1e2e' then press "enter"; the train starts from 1e, travels to Station 3 where it stops for 10 seconds, continues on to Station 2 where it stops. |
| 1e1e: 1e3e w5 3w1w | type '1e1e' then press "enter"; the train starts from 1e, travels to Station 3 where it stops for 5 seconds, continues on to Station 1 where it stops. |
| #Some basic routes | - |
| 13: 1w3w | type '13' then press "enter": the train starts from 1w, travels to Station 3 and stops. |
| 23: 2e3e | type '23' then press "enter": the train starts from 2E, travels to Station 3 and stops. |
The Dispatcher can program several train trips and run them simultaneously. It will be observed however that such train trips are not verified to be mutually compatible and that conflicting programmed sequences should therefore be avoided by the Dispatcher.
The computer monitor displays the progression of each train showing the issued commands, states of the station photocells, and other messages.
a) by default, the train program uses the computer date and time data;
b) typing time hh:mm:ss then keying “Enter” will set the clock for the train program without altering the computer date and time data;
c) typing time hh:mm:ss, xx then keying “Enter” will accelerate the train program clock by the factor “xx”; for instance, typing “12” will increment the clock by 12 seconds every 1 second; the train trip time and travelling distance are artificially increased when the fast clock feature is used; the travel times and operating schedules are more realistic.
The chronometer programmed function enables the train operator to measure the train trip time between any two points (say A & B) on the railroad. When the train reaches A, press “Enter”, when the train reaches B, press “Enter”; the computer will display the time elapsed in seconds and hundredths between the two successive “Enter” key operations. This software tool is very useful when creating train schedules as it helps the train dispatcher to determine the train departure times to avoid train conflicts hence train delays.
To create an operating schedule for a particular train, the train dispatcher may proceed as indicated in the following example.
In the routes.txt file, the train dispatcher types in the desired travel scenario, called “train1” for instance,
train1: 0 W5 D 1W7W A W10 D 7E4E 4W5W 5E6W 6E1E 1W7W A W10 D 7E4E 4W5W 5E6W 6E1E A
The “0” at the beginning of the scenario is the duration (0 ms since the duration is still undetermined) of the full scenario When the train program is running, typing train1 will cause the scenario to start ; the train will wait 5 seconds (W5) then departs from Station1; the Departure time (D) from Station 1 is displayed; when train1 arrives at Station 7, the Arrival time (A) is displayed; the station stop duration of 10 seconds (W10) is executed then the Departure time (D) from Station 1 is displayed and so on. At the end of the scenario, train1 has arrived at Station 1 and the Arrival time is displayed. The scenario “train1” is completed and the computer displays the scenario duration in seconds (say 360 seconds), the scheduled scenario duration (0 second) and the train delay (360 seconds late).
The dispatcher changes 0 ms to 360000 ms in the “train1” scenario and runs it again.
train1: 360000 W5 D 1W7W A W10 D 7E4E 4W5W 5E6W 6E1E 1W7W A W10 D 7E4E 4W5W 5E6W 6E1E A
At the end of the scenario, train1 has arrived at Station 1 and the Arrival time is displayed. When the scenario is completed, the computer displays the scenario duration in seconds (say 365 seconds), the scheduled scenario duration (360 seconds) and the train delay (5 seconds late).
If the railroad operations is to start at 13:00:00, the program fast clock could be set at time 12:55:00,12.
The Dispatcher types in “train1” and waits until the clock indicates 13:00:00 to press “Enter”.
Train1 will depart from station 1 at 13:01:00 (= 12*5 seconds or 1 minute); the scenario will be completed at 14:13:00 (=12*365/60 seconds or 73 minutes) with a late scheduled arrival time of 1 minute.
Since the station arrival and departure times are displayed as the train performs the scenario, it is easy to produce a time table for that particular train.
Several trains can be operated simultaneously on their own scheduled scenarios. In order to avoid conflicting situations and resulting scheduled delays, the dispatcher will select the train routes and timings appropriately.
It is possible to start multiple train scenarios simultaneously by typing “train1 train2 train3” then keying “Enter” once.
The software looping feature permits to simplify the formulation of long train routing scenarios. For examples:
a) train1: 0 3E6W 6EX3 X3W : this scenario is run once;
b) train1: 0 3E6W 6EX3 X3W L0,-1 : this scenario will repeat itself indefinitely until the train dispatcher types in “train1” again then actuates the “Enter” key;
c) train1: 0 3E6W 6EX3 X3W L0,3 : this scenario will repeat itself three times for a total of four;
d) train1: 0 3E6W 6EX3 X3W L0,4 3E7E 7W1W 1E6E 6W5E 5W3W: the first part of the scenario will be repeated four times for a total of five then the second part will be executed to terminate the scenario;
e) train1: 0 3E6W 6EX3 X3W L0,2 3E7E 7W1W 1E6E 6W5E 5W3W L0,1 : the first part of the scenario will be repeated two times for a total of three then the second part will be executed and then the full scenario will be repeated once for a total of two.
With reference to the JM railroad layout shown in Figure 2, it can be observed that the trips from Station 6 to Station 3 on one hand and from Station 6 to Station 7 on the other hand share a common portion between Station 6 to the diverging A1B track switch. Without the sectional route release feature, train B on its route to Station 7 and following train A on its route to Station 3 will have to wait at Station 6 until train A arrives at Station 3.
The formulation in the routes.txt file would be:
63: 0 6E3W
67: 0 6E7W
In order to reduce train bunching occurrences (hence to accelerate
traffic), the routes 63 and 67 are divided in two sections:
63: 0 6EX3 X3W
67: 0 6EX7 X7W
This technique, called sectional route release, allows train B to continue its trip to Station 7 as soon as train A clears the A1B trackswitch (the photocell labelled X is used for in the implementation of this software feature).
The photocells labelled YE and YW are used for sectional releases of several other routes. In fact, out of the 38 station to station routes on the JM railroad, 18 routes use the sectional route release feature.
Using Figure 1 as an example, the number of required PC inputs and outputs can simply be calculated as follows:
a) Inputs:
1(minimum) per station platform
TOTAL: 3 INPUTS
b) Outputs:
1 per track switch
Subtotal: 4 outputs
1 per block
Subtotal: 3 outputs
2 per station platform
Subtotal: 6 outputs
TOTAL: 13 OUTPUTS
A parallel port card (such as the PC printer card) will accept 9 inputs and 8 outputs; therefore, the railroad network used as an example will require two parallel port card.
The JM Railroad layout is shown on Figure 2, it includes:
Two parallel port cards have been installed in addition to the existing printer card to provide a total of 24 outputs.