PC-Rail Data Definitions
PC-Rail software is an implementation of the Logical Data Model. Visual FoxPro database files are
used and the
following files structures define the minimum set of .DBF files which are
required. In preparing these definitions, the opportunity has been taken to
further simplify the data requirements.
The following data files are required:
Please refer to the Key for an explanation of column
contents, and click on the "More details ..."
links for further information on the required content
of the fields.
The following additional non-data files are required:
|
File name
|
File format
|
Purpose
|
|
rhlocal.txt
|
ASCII text
|
Local information
text
|
|
rtenotes.txt
|
ASCII text
|
Notes for List of Routes
|
| *.bmp
or *.gif
|
Image
|
Startup screen picture
|
Network and signalling
Node.dbf
| Field
|
Data
|
Format
|
Required
|
|
node
|
Node identifier
|
C(4)
|
1
|
|
type
|
Node type
|
C(1)
|
1
|
|
row
|
Position: vertical axis
|
I
|
1
|
|
col
|
Position: horizontal axis
|
I
|
1
|
|
prow
|
Display position: vertical axis
|
I
|
3 *
|
|
pcol
|
Display position: horizontal axis
|
I
|
3 *
|
|
plablrow
|
Display position: label - vertical axis
|
I
|
3 *
|
|
plablcol
|
Display position: label - horizontal
axis
|
I
|
3 *
|
|
subtype
|
Node
subtype (Signal type) |
[S]
|
C(1)
|
1
|
|
subsid
|
Subsidiary aspect
|
[S]
|
C(1)
|
1
|
|
auto
|
Automatic working
|
[S]
|
C(1)
|
1
|
|
rundirec
|
Running direction
|
[S]
|
N(2)
|
1
|
|
prow2
|
Display position (2): vertical axis
|
[S]
|
I
|
3
|
|
pcol2
|
Display position (2): horizontal axis
|
[S]
|
I
|
3
|
|
lever
|
Lever number
|
C(5)
|
3 *
|
|
[S] = applies to signal
Nodes (and a few other minor uses)
|
|
More details
...
|
Track.dbf
| Field
|
Data
|
Format
|
Required
|
|
node
|
Node identifier: from (left)
|
C(4)
|
1
|
|
nodeto
|
Node identifier: to (right)
|
C(1)
|
1
|
|
line
|
Line identifier
|
I
|
5
|
|
maxspeed
|
Maximum permitted speed
|
N(3)
|
5 *
|
|
tc
|
Track circuit identifier
|
I
|
2
|
|
fringe
|
Fringe track indicator
|
C(1)
|
3 *
|
|
scale
|
Scaling factor
|
N(5,2)
|
5 *
|
|
grad
|
Gradient
|
N(4)
|
5 *
|
|
More details
...
|
Location.dbf
| Field
|
Data
|
Format
|
Required
|
|
location
|
Location identifier
|
I
|
2
|
|
d_locname
|
Location name
|
C(25)
|
5
|
|
d_locname2
|
Short location name
|
C(11)
|
5
|
|
trsbuttons
|
Location has TRS buttons
|
L
|
5
|
|
nopasstime
|
Not a timing point for non-stopping trains
|
L
|
5
|
|
d_locncode
|
Abbreviation for location [1]
|
C(1)
|
5
|
|
[1] If not specified,
first character of d_locname is used.
|
Platform.dbf
| Field
|
Data
|
Format
|
Required
|
|
location
|
Location identifier
|
I
|
2
|
|
plat
|
Platform identifier
|
C(3)
|
2
|
|
plat_type
|
Platform type code
|
C(1)
|
2
|
|
node
|
Node identifier (left limit of
platform)
|
C(4)
|
2
|
|
nodeto
|
Node identifier (right limit of
platform)
|
C(4)
|
2
|
|
d_showhi
|
Display position
|
L
|
3
|
|
prow
|
Display position: vertical axis
|
I
|
3 *
|
|
pcol
|
Display position: horizontal axis
|
I
|
3 *
|
|
pheight
|
Display height
|
I
|
3 *
|
|
pwidth
|
Display width
|
I
|
3 *
|
|
nocheck
|
Suppress platform length check
|
L
|
5
|
|
trsbuttons
|
Platform has TRS buttons
|
L
|
3 *
|
|
Can contain data for passenger
station platforms, as well as "virtual
platforms" of 2 kinds: (a) stopping
places with no physical platform and (b)
train timing points on through lines at a
Location.
|
|
Key expression: str(location,2)+plat
|
|
More details
...
|
Describer.dbf
| Field
|
Data
|
Format
|
Required
|
|
tdno
|
Train describer identifier
|
I
|
2
|
|
node
|
Associated node identifier
|
C(3)
|
2
|
|
prow
|
Display position: vertical axis
|
I
|
3 *
|
|
pcol
|
Display position: horizontal axis
|
I
|
3 *
|
|
More details
...
|
Line.dbf
| Field
|
Data
|
Format
|
Required
|
|
line
|
Line identifier
|
I
|
2
|
|
direc
|
Traffic direction
|
N(2)
|
2
|
|
yard
|
Yard line identifier
|
L
|
2
|
|
descrip
|
Name of line
|
C(10)
|
5
|
|
boxin
|
Name of fringe box
|
C(12)
|
5
|
|
ydallow
|
Entry time allowance (secs)
|
I
|
6
|
|
More details
...
|
Route.dbf
| Field
|
Data
|
Format
|
Required
|
|
route
|
Route identifier
|
C(4)
|
5
|
|
node
|
Node identifier - Entry
|
C(4)
|
5
|
|
nodeto
|
Node identifier - Exit
|
C(4)
|
5
|
|
direc
|
Traffic direction
|
N(2)
|
5
|
|
main
|
Main route
|
L
|
5
|
|
subsid
|
Subsidiary route
|
L
|
5
|
|
shunt
|
Shunt route
|
C(1)
|
$
|
|
tdno1
|
Train describer identifier 1
|
I
|
5
|
|
tdno2
|
Train describer identifier 2
|
I
|
5
|
|
control
|
Approach control indicator
|
C(1)
|
5
|
|
oppnode
|
Locked by route set to opposing signal
|
C(4)
|
5
|
|
rnote
|
Route notes
|
C(12)
|
5 *
|
|
More details
...
|
Subroute.dbf
| Field
|
Data
|
Format
|
Required
|
|
route
|
Route identifier
|
C(4)
|
5
|
|
node
|
Node identifier - Entry
|
C(4)
|
5
|
|
nodeto
|
Node identifier - Exit
|
C(4)
|
5
|
|
requires
|
Required 'reverse' position
|
I
|
5
|
|
onrte
|
(Allows for "flank locking"
etc)
|
L
|
5
|
|
More details
...
|
Multiroute.dbf
| Field
|
Data
|
Format
|
Required
|
|
node
|
Node identifier - Entry
|
C(4)
|
5
|
|
nodeto
|
Node identifier - Exit
|
C(4)
|
5
|
|
pref
|
Multiroute identifier
|
C(1)
|
5
|
|
main
|
Main multiroute
|
L
|
5
|
|
subsid
|
Subsidiary multiroute
|
L
|
5
|
|
route
|
Route identifier
|
C(4)
|
5
|
|
Key expression: node+nodeto+pref
|
|
More details
...
|
General
Parameters.dbf
| Field
|
Data
|
Format
|
Required
|
|
model
|
Simulation identifier
|
C(2)
|
1
|
|
modname
|
Simulation name
|
C(25)
|
3
|
|
direct
|
Directory name for simulation files
|
C(20)
|
2 *
|
|
r0
|
Row number for display row 0
|
I
|
3 *
|
|
c0
|
Column number for display column 0
|
I
|
3 *
|
|
lyrows
|
Number of rows to display
|
I
|
3 *
|
|
lycols
|
Number of columns to display
|
I
|
3 *
|
|
imgsizey
|
Number of pixels per row
|
I
|
3 *
|
|
imgsizex
|
Number of pixels per column
|
I
|
3 *
|
|
wlr0
|
Home position of display (vertical)
|
I
|
3 *
|
|
wlc0
|
Home position of display (horizontal)
|
I
|
3 *
|
|
boxname
|
Name of signalbox/control centre
|
C(25)
|
5
|
|
updirec
|
Direction known as "Up" (1
or -1)
|
N(2)
|
5
|
|
terminus
|
Terminus location?
|
L
|
5
|
|
developer
|
Name of simulation developer
|
C(25)
|
2
|
|
dev_stage
|
Stage of development [1]
|
C(1)
|
2
|
|
cnod_style
|
Display style for Type C nodes [2]
|
N(1)
|
4
|
|
sig_style
|
Style of signal display
[3]
|
C(1)
|
4
|
|
learning
|
Enable learning of train_timing values
[4]
|
C(1)
|
4
|
|
cversion
|
Compiled version number
|
C(9)
|
$
|
|
This file requires only
one record.
|
|
[1] See
Development Stages
[2] Values: 0 (as for Type X nodes), 1 (no
gaps shown)
[3] Values: Empty (BR MAS style), N (Netherlands
style)
[4] Values: 0 (Off), 1 (On,default). See train_timing.dbf.
|
|
Display parameters: more details
|
Layout display
These files
provide additional control over the appearance of the
simulation screen display.
Text.dbf
| Field
|
Data
|
Format
|
Note
|
|
text
|
Text to display
|
C(25)
|
|
|
formatcode
|
Formatting code
|
C(1)
|
*
|
|
prow
|
Display position: vertical axis
|
I
|
|
|
pcol
|
Display position: horizontal axis
|
I
|
|
|
More details
...
|
Format.dbf
| Field
|
Data
|
Format
|
Note
|
|
objname
|
Object identifier
|
C(5)
|
|
|
descrip
|
Object description
|
C(25)
|
|
|
forecolor
|
Foreground colour
|
I
|
|
|
backcolor
|
Background colour
|
I
|
|
|
fontname
|
Font name
|
C(20)
|
|
|
fontbold
|
Bold font
|
L
|
|
|
fontitalic
|
Italic font
|
L
|
|
|
fontsize
|
Font size
|
N(2)
|
|
|
The Data Builder will
include a default version of this file,
which can be subsequently edited if required.
More details
...
|
Miscobj.dbf
| Field
|
Data
|
Format
|
Note
|
|
type
|
Object identifier
|
C(1)
|
|
|
prow
|
Display position: vertical axis
|
I
|
|
|
pcol
|
Display position: hirizontal axis
|
I
|
|
|
pheight
|
Display height
|
I
|
|
|
pwidth
|
Display width
|
I
|
|
|
forecolor
|
Foreground colour
|
I
|
|
|
backcolor
|
Background colour
|
I
|
|
|
bordcolor
|
Border colour
|
I
|
|
|
bordwidth
|
Border width
|
N(2)
|
|
|
ppicture
|
Image file name
|
C(36)
|
|
|
More details
...
|
Timetable and trains
|
The following
3 files do not need to be set up before the simulation is run
and are most conveniently produced using the simulation's
timetable editor.
More details
...
|
Wtt_hdr.dbf
| Field
|
Data
|
Format
|
Note
|
|
wtt_no
|
Timetable number
|
C(2)
|
$
|
|
wttcode
|
Unique timetable identifier
|
C(5)
|
|
|
wttname
|
Timetable name
|
C(37)
|
|
|
wttnotes
|
Timetable notes
|
M
|
|
|
prefnum
|
Preferred motive power numbering
|
N(1)
|
[M]
|
|
mpgroups
|
Motive power groups used by timetable
|
C(8)
|
[M]
|
|
mplevel
|
Level of motive power data
|
N(1)
|
[M]
|
|
standard
|
Timetable supplied with simulation
|
L
|
$
|
|
cl_scheme
|
Train classification
scheme
|
N(2)
|
[1]
|
|
wmpalloc
|
Input/display loco
shed allocation for timetable date
|
N(1)
|
[M]
|
|
This file requires only
one record.
[M] Data relates to optional motive power
data files (not yet documented, but see notes).
[1] Relates to scheme field
in train_type.dbf.
|
Wtt_train.dbf
| Field
|
Data
|
Format
|
Note
|
|
train
|
Train number
|
C(4)
|
|
|
trip
|
Trip number
|
N(2)
|
|
|
line
|
Line identifier (from)
|
I
|
|
|
lineout
|
Line identifier (to)
|
I
|
|
|
maxspeed
|
Maximum permitted speed
|
N(3)
|
|
|
exforms
|
Formed from previous terminating
train
|
C(6)
|
|
|
forms
|
Terminating train forms new train
|
C(6)
|
|
|
length
|
Length of train
|
N(2)
|
|
|
words
|
Train details
|
M
|
|
|
muform
|
Multiple unit formation
|
C(4)
|
|
|
pp
|
Push-pull mode indicator
|
C(1)
|
|
|
mp
|
Motive power details
|
C(24)
|
[M]
|
|
More details
...
[M] Data relates
to optional motive power data files (not
yet documented).
|
Wtrn_locn.dbf
| Field
|
Data
|
Format
|
Note
|
|
train
|
Train number
|
C(4)
|
|
|
trip
|
Trip number
|
N(2)
|
|
|
location
|
Location identifier
|
I
|
|
|
event
|
Event code
|
C(1)
|
|
|
time
|
Scheduled time of event
|
| |