PC-Rail Data Values
This page provides further details on the usage of many of the data fields,
and the permitted values.
For a detailed explanation of the data
defining the shape of the network and visual display positions see
Network Shape and
Layout Display.
All data defining direction, as detailed in
the tables below, uses the following conventions:
| Value |
Direction (as the layout is viewed)
|
Notes
|
|
1
|
Left to Right
|
Or (where applicable): Top to Bottom
|
|
-1
|
Right to Left
|
Or (where applicable): Bottom to Top
|
|
0
|
Either
|
Where this value is permitted.
|
Node data
|
Node Types
|
| Type of node |
Value of node.type |
Value of node.node |
No. of tracks |
Notes
|
|
Unique 4-character code.
The following conventions are recommended:
|
|
Buffer stops (lever xyz)
|
B
|
Bxyz
|
1
|
[1]
|
|
Diamond crossing (unswitched)
|
C
|
C999 (or any)
|
4
|
[4]
|
|
Deviation |
D |
999A (or any) |
2 |
[4]
|
|
Fringe
|
F
|
Z### (or any)
|
1
|
[2]
|
|
Points (lever xyz)
|
P
|
xyzA |
3
|
[1][4]
|
|
Platform end
|
Q
|
Q999
|
2
|
|
|
Signal (lever xyz)
|
S
|
Sxyz
|
2
|
[1]
|
|
Track circuit joint
|
T
|
T999 (or any)
|
2
|
[4]
|
|
Crossing (lever xyz)
|
X
|
xyzA |
4
|
[1][4]
|
|
Yard entrance (lever xyz)
|
Y
|
Yxyz |
2
|
[1][2]
|
|
Bridged crossing (no connection)
|
=
|
G999 (or any)
|
2
|
[3]
|
|
Where 9 = numeric
character, A = alphabetic character,
# = any character,
xyz = numeric
characters (typically the same as the lever
number - see below).
|
|
Notes:
[1]
See Lever numbers below.
[2] Fringes and Yards:
more details.
[3] Flyovers:
more details.
[4] Points, Crossovers and diamond crossings:
more details.
|
|
Lever numbers
|
|
Nodes which are used to define routes
(e.g. signals, yard entrances, buffer stops),
or controlled duing signalling operations
(e.g. points) are assigned a Lever number.
This is defined by a value in the node.lever
field. No value is required in this field
for other node types.
Lever numbers consist of 3 alphanumeric
characters (normally numeric values only
are used). Leading zeros should be used
for lever numbers less than 100 (e.g. 001).
In the visual display the lever number is
shown on the relevant node label, with leading
zeros omitted.
In almost all cases, the following default
conventions are sufficient:
|
| Type of node |
Value of node.type |
Node identifier (value of node.node)
|
Default lever number
|
Notes
|
|
Buffer stops |
B
|
Bxyz
|
xyz
|
[1]
|
|
Points
|
P
|
xyzA, xyzB
|
xyz
|
[2]
|
|
Signal
|
S
|
Sxyz
|
xyz
|
|
|
Crossing
|
X
|
xyzC
|
xyz
|
[2]
|
|
Yard entrance
|
Y
|
Yxyz
|
xyz
|
|
|
Where x, y, z = any characters
(normally numeric).
|
|
[1]
Use zero value if no lever number to be
displayed (e.g. "buffer stop"
for facing trap-points). [2] Crossovers: in general, their
nodes should be numbered
in pairs, e.g. 920A and 920B would
define the 2 "ends" of the crossover. Where a crossover
crosses another running line, use additional
suffix letters, e.g. 920C.
|
|
Generally you should leave the node.lever
field empty, so that the Data Builder software
will automatically assign the lever numbers
according to the above scheme. Subsequently
you can edit the data to provide any Non-default
values which you might require.
Note that lever numbers must be unique
- take care in numbering nodes or you could
inadvertently get duplicate lever numbers.
For example, nodes 001A, S001 and B001 would
all be allocated default lever number
001.
|
|
Additional
data fields: Signal nodes (and a few other
minor uses)
|
| Field |
Data |
Value |
Meaning
|
Notes |
|
subtype
|
Node subtype (Signal type)
|
2
|
2-aspect
|
(R/G)
|
|
3
|
3-aspect
|
(R/Y/G)
|
|
4
|
4-aspect
|
(R/Y/YY/G)
|
|
D
|
Shunt signal
|
|
|
L
|
Limit of Shunt
|
|
|
R
|
Points to be initially shown in "Reverse"
position.
|
Applies to Node Type 'P'. [1]
|
|
subsid
|
Subsidiary aspect
|
C |
Signal has subsidiary aspect
|
Applies only to main signals
(subtypes 2/3/4)
|
|
(empty)
|
No subsidiary aspect
|
|
|
auto
|
Automatic working code
|
F
|
Automatic
|
|
|
A, B, C ...
|
Semi-auto
|
Value = suffix of route identifier set
by 'A' button.
|
|
X
|
Automatic
|
On bidrectional lines
|
|
(empty)
|
No auto working
|
|
|
rundirec
|
Running direction to which signal
applies
|
1 or -1
|
|
|
|
prow2
|
Display row (2)
|
For semi-auto signals: position
of ''A' button.
For "platform starter" signals: position
of TRS button. [2]
|
|
pcol2
|
Display column (2)
|
|
Where
# = any character.
[1] The software regards "Normal" as the straight-ahead route at points, and "Reverse" as the
diverging route.
[2] Use value -1 to suppress display.
|
|
The software uses standard
British multiple aspect signalling. There
is some information on this at:
www.railway-technical.com/sig-uktypes.shtml
|
Track data
| Field |
Data |
Value |
Notes |
|
maxspeed
|
Maximum permitted speed
|
Integer >0
|
In m.p.h.
|
|
fringe
|
Fringe track indicator
|
F
|
Track outside controlled area. Not displayed.
More details
|
|
Y
|
Track within Yard. Not displayed.
More details
|
|
H
|
Hide track (other than fringes and yards)
|
|
(empty)
|
Track displayed
|
|
tc
|
Track circuit identifier |
I
|
Data Builder software has a facility to automatically
generate this data as a first approximation.
Track records with the same TC
identifier must be contiguous. |
|
scale
|
Scaling factor
|
Numeric
|
Calculated as length1/length2, where
length1=simulation length of track
[1],
length2=real world length in miles
x 80.
Programs known to work for values between
0.20 and 6.00.
See also note [2] below.
|
|
grad
|
Gradient [3]
|
0
|
(Default) = Level track
|
|
Integer n >0
|
Rising at 1 in n.
|
|
Integer n <0
|
Falling at 1 in n.
|
|
[1] As defined by Node.col values of the
2 Track ends (or Node.row values for vertical track sections). [2] The scale value
of tracks to/from nodes of types "F"
(fringe) and "Y" (yard) should
equate to a length greater than the longest
train to be allowed in the simulation (normally
set to 30 vehicles). [3] Use of this
field not currently implemented in simulation
software.
|
Platform data
| Field |
Data |
Value |
Applies to
|
Visual display of Platform
|
|
plat_type
|
Platform type code
|
(empty)
|
All trains
|
Yes
|
|
F
|
Freight trains [1]
|
No
|
|
P
|
Passenger trains [1]
|
Yes
|
|
S
|
All trains
|
No
|
|
T
|
All trains: timing point only, no stop permitted.
[2]
|
No
|
|
|
|
|
Meaning
|
|
d_showhi
|
Display position
|
true
|
Above track
|
Where applicable. [3]
|
|
false
|
Below track
|
|
nocheck
|
Suppress platform length check
|
true or false
|
Allow over-length trains to use platform?
|
|
The values in the node and nodeto fields
should refer to type 'Q' nodes.
|
|
[1] Also to light locos and ECS trains.
[2] Provide 2 'Q' nodes as for other
'platforms', but distance between them not
significant. [3] Used only by Data
Builder to generate default platform display
positions.
|
Describer.dbf
| Field |
Data |
Value |
Notes
|
|
tdno
|
Train describer identifier
|
Unique integer value >0
|
[1]
|
|
node
|
Node identifier
|
As node.node
|
[2]
|
|
nx99
|
Next Train berth for Line no. 99 [3]
|
|
The Data Builder software has a facility to automatically
generate the Describer records. The data can be subsequently edited as
required. |
|
[1] These values, and
the related values in route.dbf, will
be automatically adjusted by the Data Builder
software, to coincide with record numbers.
[2] Used only by
Data Builder to generate
default position data.
[3] Where 99 = numeric value in range
{01, 99}.
See diagram.
|
Line.dbf
| Field |
Data |
Value |
Meaning
|
|
line
|
Line identifier
|
Unique integer value >0 [1]
|
|
direc
|
Traffic direction
|
1 or -1
|
|
|
0
|
Bidirectional
|
|
ydallow
|
Entry time allowance
|
Time allowance (secs) for trains entering
from a yard line to reach yard exit signal.
|
|
[1] These values, and
the related values in track.dbf, will
be automatically adjusted by the Data Builder
software, to coincide with record numbers.
|
Route.dbf
| Field |
Data |
Value |
Meaning
|
|
route
|
Route identifier
|
Normally in the form nnnA,
where nnn=entry signal number and suffix
identifies route (A,B,C ... etc) |
|
node
|
Node identifier - Entry |
See below.
|
|
nodeto
|
Node identifier - Exit |
|
direc
|
Traffic direction
|
1 or -1
|
|
|
tdno1
|
First train describer
|
Non-zero values refer to tdno field in describer.dbf.
Zero values permitted.
Describer tdno1 is normally placed nearest
the Exit signal.
Describer tdno2 is used when more than one train number
is to be displayed for a route.
See diagram.
|
|
tdno2
|
Second train describer
|
|
control
|
Approach control indicator
|
R
|
From Red [1]
|
|
Q
|
From Red if signal ahead is Red [1]
|
|
Y
|
From Yellow [1]
|
|
X
|
No approach control
on route from Shunt signal.
|
|
Flashing yellow aspects
|
F
|
Signals in rear to show flashing yellow
aspects for this route.
|
|
Restricted aspect
|
A
|
Max aspect for this route is Yellow.
|
|
B
|
Max Yellow
aspect unless signal ahead shows Green.
|
|
C
|
Max Red aspect if signal
ahead shows Red.
|
|
Combined control
|
G
|
= F + Y
|
|
H
|
= F + A
|
|
oppnode
|
Locked by route set to opposing signal
|
Node identifier. Route locked when a
route is set to oppnode.
|
|
rnote
|
Route notes
|
Notes to be displayed in the List
of Routes.
|
|
[1] Approach released
on occupation of berth track circuit.
|
- Routes which will be set by
the simulation user (or are controlled
automatically) run from an Entry node
(type S) to an Exit node (type S, B
or Y). There may be more than one controlled
route between the same two
nodes.
- Fringes also require a route to
and/or from the fringe node (type F),
depending on the direction of traffic.
[*]
- Yards require routes (a) from Y
node to F node, (b) F node to Y node,
(c) Y node to yard exit signal, (d)
yard entrance signal(s) to Y node. [*]
- A route is required
from Buffer stops to the exit signal
for the siding/bay platform (only 1
route allowed). [*]
|
|
At least one route must
be defined for any possible section of Track
which can be occupied by a train. Where
movements may occur in either direction,
at least one route must be defined for each
direction.
Where there is no normal signalled route
which will cover a shunt movement
that may be made, an additional route must
be provided for this purpose.
See diagram.
Note that a Route
cannot contain platforms for more than one
Location.
|
|
A facility
is provided within the Data Builder software
to automatically generate the data for route
types
marked [*] above.
|
Subroute.dbf
| Field |
Data |
Value |
Meaning
|
|
requires
|
Required 'reverse' position
|
N
|
Normal
|
|
R
|
Reverse
|
|
onrte
|
Track forms part of the route to be set
|
True
|
(Default)
|
|
False
|
Additional track to be locked in position
defined by requires when route is
set. Allows for "flank locking"
etc.
|
|
Note: The only records
which need to be created are those where
requires='R' or onrte=false. All other records will be
generated automatically by the Data Builder
software.
|
|
The software regards "Normal"
as the straight-ahead route at points, and
"Reverse" as the diverging route.
|
Multiroute.dbf
| Field |
Data |
Notes
|
|
node
|
Node identifier - Entry
|
Entry node of first route
|
|
nodeto
|
Node identifier - Exit
|
Exit node of last route
|
|
pref
|
Multiroute identifier
|
Values: A, B, C ....
Only relevant where there are
alternative multiple routes between the
same entry and exit.
|
|
route
|
Route identifier
|
|
|
This optional file provides the
facility in the simulation to set more than
one route in a single operation.
The multiple route is defined by node+nodeto+pref.
Each multiple route requires 2 or more records,
listing the component (ordinary) routes.
The most usual application is
where there are "leading shunt" signals in the
(multiple) route.
|
Text.dbf
| Field |
Data |
Value |
|
formatcode
|
Formatting code
|
1, 2, 3, 4 or S. See format.dbf.
|
Format.dbf
| Field |
Data |
Value |
Notes
|
|
objname
|
Object identifier
|
See below
|
|
|
forecolor
|
Foreground colour
|
VFP nColor value
or -1 (= use layout background
colour)
|
The Data Builder has a
function to obtain these values
|
|
backcolor
|
Background colour
|
|
fontname
|
Font name
|
Any Windows font (can
use Symbol for arrows, etc)
|
Applied to text and node
label objects
|
|
fontbold
|
Bold font
|
True of False
|
|
fontitalic
|
Italic font
|
True of False
|
|
fontsize
|
Font size
|
Normally in range 8-24
|
Format.dbf: objname values
| Value |
Object |
|
LAY
|
Main Layout Screen
|
|
TNORM
|
Track, Normal
|
|
TOCC
|
Track, Occupied
|
|
TSET
|
Track, Route Set
|
|
SGLBL
|
Signal Numbers
|
|
YDLBL
|
Yard/Buffer Stops
|
|
PTLBL
|
Point Numbers
|
|
PTMAN
|
Point Numbers (Manual)
|
|
TD
|
Train Describers
|
|
PLAT
|
Platforms
|
|
ABUTN
|
"A"-buttons - Off
|
|
ABUTY
|
"A"-buttons - On
|
|
TXT1
|
Text - normal
|
|
TXT2
|
Text - special 1
|
|
TXT3
|
Text - special 2
|
|
TXT4
|
Text - special 3
|
|
TXTS
|
Text - symbols
|
|
NXT
|
Next Train indicators
|
|
TRSN
|
TRS buttons - Off
|
|
TRSY
|
TRS buttons - On
|
Miscobj.dbf
| Field |
Data |
Value |
Object
|
|
type
|
Object type
|
P
|
Platform section [1]
|
|
I
|
Image
|
|
S
|
Startup screen image
|
|
ppicture
|
Image file name
|
Not required for object
type 'P'. [2]
|
|
This file allows additional
"cosmetic" display elements
to be defined.
[1] Often sections of
platform concourse are shown on the layout
diagram, although they have no operational
significance. For this type of object, values
of all other required fields will be generated
automatically by the Data Builder
software.
[2] Include relative
path and file name.
All graphics file formats handled by MS
Graphics Device Interface+ (GDI+) are supported.
|
Wtt_train.dbf
| Field
|
Data
|
Value
|
Note
|
|
train
|
Train number
|
9A99
|
Uses standard BR/Network
Rail train number format [1]
|
|
trip
|
Trip number
|
0-99
|
[2]
|
|
exforms
|
Formed from previous train
|
9A99#9
|
[3]
|
|
forms
|
Train forms new train
|
9A99#9
|
[4]
|
|
length
|
Length of train
|
N(2)
|
[5]
|
|
muform
|
Multiple unit formation
|
####
|
[6]
|
|
pp
|
Push-pull mode
|
H
|
Push-pull (loco leading).
|
|
P
|
Push-pull (loco at rear).
|
|
(empty)
|
Not push-pull worked.
|
|
Where 9 = numeric, A = alphabetic,
# = numeric or empty.
|
|
[1] Avoid using 'Z' as 2nd
character
[2] Zero if train number is unique
[3] Train + str(trip,2), e.g. "1A01
1", "1A01 2", ..., "1A0111"
[4] Length in coach/loco length
units. Coach = 1 unit, loco = 1 unit. In the simulation software the
length unit is taken as 1/80 mile (22 yards).
The length of wagons is determined by the
inverse of the value of the field veh_len
in the train_type.dbf file. (default
1/3 unit). [5]
e.g. "23 " = 2-car set +
3-car set, "2222" = 4 x 2-car
sets
|
|
Timetable editor automatically
maintains integrity of train+trip numbering.
|
Wtrn_locn.dbf
| Field
|
Data
|
Value
|
Note
|
|
location
|
Location identifier
|
|
Not reqd for events N, X.
|
|
event
|
Event code
|
N
|
Entry to simulation
|
[1]
|
|
O
|
Originate
|
[2]
|
|
A
|
Arrive
|
[3]
|
|
D
|
Depart
|
[3]
|
|
P
|
Pass
|
[2]
|
|
T
|
Terminate
|
[2]
|
|
X
|
Exit from simulation
|
[1]
|
|
time
|
Scheduled time of event
|
hh:mm:ss
|
|
|
allowsecs
|
Additional time allowance (secs)
|
|
For events N, X only.
|
|
plat
|
Scheduled platform
|
(any)
|
Optional. Value displayed in train info
when simulation run. Ignored for events
N, X.
|
|
P
|
Special value for event N: train from
yard line to be propelled out of yard.
|
|
[1] Events N and
X are required for all trains. [2] For
any location, the following single events
may be specified: O or P
or T. [3] Alternatively a
station stop is specified by 2 records for
events A and D
|
|
Timetable editor automatically
maintains integrity of train+trip numbering.
|
|
After
compiling and running the simulation, the
timetable editor can be used to set up the data for
the timetable files. The Data Builder software
has a facility to import the completed timetable
files back to the main set of data files.
The train_timing file is also imported.
|
Routeplan.dbf
| Field |
Data |
Value
|
Note
|
|
wfrom
|
From (Line or Location)
|
A99
|
[1]
|
|
wto
|
To (Line or Location)
|
A99
|
[1]
|
|
rte_opt
|
Routing option identifier |
I
|
For future use
|
|
location
|
Location identifier
|
[2]
|
Intermediate timing
location [3] [4]
|
|
trs_direc
|
Departure direction
|
0 (default) 1, or -1
|
Non-zero value overrides
default operation of TRS indicators on through
platforms. [5]
|
|
Where 9 = numeric, A = alphabetic.
|
|
This file is required
by the simulation's timetable editor, in
order to display the correct list of
locations for a wtt_train
record, according
to its Line and Lineout
values.
A routing is uniquely identified by wfrom+wto
(the routing identifier).
[1] The prefix "A" has one
of 2 values:
- "L" denotes that the
following 2 digits represent
a Line number (the entry or exit line
of the train).
- "S" denotes that the
following 2 digits represent a Location number (at which the
train originates or terminates).
e.g.
L01 = Line1, S02 = Location 2.
[2] Non-zero integer
corresponding to a defined value of Location
in Location data file,
or zero for special case [4].
[3] For each routing, a record is required for each intermediate timing location.
[4] For routings with no intermediate timing
location, provide a single record with
Location=0 {or as required
by [5] below}.
[5] The
simulation software uses a simple algorithm
for determining which TRS indicator to use
on through platforms. This usually works
reliably for relatively simple layouts,
but to give additional control on more complex
layouts, a non-zero value (+1 or -1)
may be entered in the trs_direc field to
specify the departure direction of the train
from a Location.
|
Train_timing.dbf
| Field
|
Data
|
Note
|
|
wfrom
|
From (Line or Location)
|
As for Routeplan file
|
[1]
|
|
wto
|
To (Line or Location)
|
As for Routeplan file
|
[1]
|
|
maxspeed
|
Maximum speed
|
|
[1]
|
|
traintype
|
Train type
|
M
|
Multiple unit
|
[1]
|
|
P
|
Passenger (loco-hauled)
|
|
N
|
Non-passenger
|
|
instop
| |