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 (RTF file will be used if provided).
|
rhlocal.rtf
|
Text in RTF format |
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(11)
|
5
|
boxin
|
Name of fringe box
|
C(12)
|
5
|
ydallow
|
Entry time allowance (secs)
|
I
|
6
|
loop_dist
|
Distance to passing loop
|
I
|
6
|
speed0
|
Trains from yard line start from zero speed |
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
|
tdno3, ... tdno6
|
Additional train describers
|
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 *
|
locksecs
|
Timed release (secs)
after route cancelled
|
I
|
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 code (identifier)
[1]
|
C(2)
|
1
|
modname
|
Simulation name
[1]
|
C(25)
|
1
|
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 [2]
|
C(2)
|
2
|
cnod_style
|
Display style for Type C nodes [3]
|
N(1)
|
3 *
|
sig_style
|
Style of signal display
[4]
|
C(1)
|
4
|
learning
|
Enable learning of train_timing values
[5]
|
C(1)
|
4
|
link_delay
|
Delay for linked trains
to/from Yard [6]
|
N(2)
|
5 *
|
maxaccel |
Max accel of trains (ml/hr/hr, default 2100) |
I
|
5 *
|
orddecel |
Normal braking rate (ml/hr/hr, default 3927)
|
I
|
5 *
|
trs_size
|
Size of TRS buttons - pixels (default 6)
|
I
|
5 *
|
trs_flash |
TRS buttons to flash [7] |
I
|
5 *
|
nlbl_flash
|
Flash selected entry label when setting a route [7]
|
I
|
5 *
|
demomins |
Demo session length (mins) |
I
|
5 *
|
demostart
|
Demo session start time (mins) |
I
|
5 *
|
autoasp
|
Display aspects for auto signals? (Default=false) |
L
|
5 *
|
This file requires only
one record.
|
[1] model and modname are set up when a new simulation is created and should not be changed after exchanging data with other testers or users.
[2] See
Development Stages
[3] Values: 0 (as for Type X nodes), 1 (no
gaps shown)
[4] Values: Empty (BR MAS style), N (Netherlands
style)
[5] Values: 0 (Off), 1 (On,default). See train_timing.dbf. [6]
Minimum time (minutes) between
entry of train to yard and exit
of the train to which it is linked
in the timetable. Default value 5 minutes.
[7] Values: 0 (Off, default), 1 (On).
|
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 software 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: horizontal axis
|
I
|
|
pwidth
|
Display width
|
I
|
|
pheight
|
Display height
|
I
|
|
forecolor
|
Foreground colour
|
I
|
|
backcolor
|
Background colour
|
I
|
|
bordcolor
|
Border colour
|
I
|
|
bordwidth
|
Border width
|
N(2)
|
|
ppicture
|
Image file name
|
C(36)
|
|
params
|
Parameters
|
C(108)
|
|
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)
|
|
tclass |
(System use only) |
C(1)
|
[5]
|
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]
|
untimed
|
Allow early departure
|
L
|
|
link_delay
|
Delay for linked trains (default zero)
|
N(2)
|
*
|
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
|
C(8)
|
|
allowsecs
|
Additional time allowance
|
I
|
|
plat
|
Scheduled platform
|
C(3)
|
|
More details
...
|
Train routing and timing
Routeplan.dbf
Field
|
Data
|
Format
|
Note
|
wfrom
|
From (Line or Location)
|
C(3)
|
|
wto
|
To (Line or Location)
|
C(3)
|
|
rte_opt
|
Routing option identifier (not currently used)
|
I
|
|
location
|
Location identifier
|
I
|
|
trs_direc
|
Departure direction
(override default)
|
N(2)
|
|
Key expression: wfrom+wto
|
More details
...
|
Train_timing.dbf
Field
|
Data
|
Format
|
Note
|
wfrom
|
From (Line or Location)
|
C(3)
|
|
wto
|
To (Line or Location)
|
C(3)
|
|
maxspeed
|
Maximum speed
|
N(3)
|
|
traintype
|
Train type
|
C(1)
|
|
instop
|
Stops at first timing Location
|
L
|
|
outstop
|
Stops at last timing Location
|
L
|
|
intime
|
Entry time (secs) |
I
|
|
outtime
|
Exit time (secs) |
I
|
|
This file is initially
generated
by the simulation's timetable editor.
More details
...
|
Train_type.dbf
Field
|
Data
|
Format
|
Note
|
scheme
|
Train classification identifier
|
N(2)
|
|
tclass
|
Train class
|
C(1)
|
|
descrip
|
Class description
|
C(24)
|
|
pgr
|
Passenger (use of platforms, etc) |
L
|
|
le
|
Light engine
|
L
|
[1]
|
ecs
|
Empty coaching stock
|
L
|
[1]
|
veh_len
|
No of vehicles equiv to 1 coach length |
N(3,1)
|
|
The software will
include a default version of this file.
[1] Value=true for only one record per scheme.
For each scheme, an additional record is
included with tclass={empty}, and descrip={name/description
of scheme}
|
KEY
Format
|
|
Required
|
C(n)
|
Character (length n)
|
L
|
Logical
|
M
|
Memo
|
N(n,d)
|
Numeric (length n, decimals d)
|
Key fields are shown in bold type.
Fields shown in italics define
display positions of objects - see Network Shape.
* = If not defined a default value will be used.
|
|
1
|
Essential basic data
|
2
|
Additional basic data
|
3
|
To generate static display
|
4
|
To generate dynamic display
|
5
|
Required when simulation run
|
6
|
Reqd only by timetable editor
|
*
|
Optional - default
values used if no value defined.
|
$
|
Automatically generated.
|
|
|
|
|