PC-Rail
Development

Home Page

Logical Model

Data Definitions

Data Values

Network Shape

Layout Display

Software

Links


John Dennis

john@pcrail.co.uk


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:

Network and signalling

Layout display

General

 

Timetable and trains

Train routing, timing, etc

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.