Understanding Expressnet and Writing Our Own Control Software

 

 

I Finally decided, in August 2024, that I would never acheive my aims on the model railway if I depended on Hornby's Railmaster software

The Railmaster software does not have anything wrong with it but I just could not "bend" it in any way to suit myself - also I could not send any info or instructions into Railmaster from my own software

So - I set upon rewriting the software in VB.Net so that I would have the facility to modify everything to suit requirements

 

XPressnet was a challenge but, in a couple of months, I had full control of Points, Trains and Functions within the software I had already written - It is specifically tailored to my layout but could become more open ended in the future

Here follows some of the VB.Net panels that support this software extension

 

The Initial Initialisation

 

The Point Control Panel

Locomotive Selection Panel

 

Individual Locomotive Control

There can be many of these panels visible at the same time

 

A Database control panel - All the data is held in a Microsoft Access Database

 

A Script Construction panel for automation purposes (I invented my own script system which includes logic using IF statements, GOTOs etc...)

 

 

 

 

Xpressnet Documentation

 

Xpressnet is the format used for instructing the Hornby Elite

 

Assorted PDF links...

 

xpressnet 2003

Lenz_XpressNet_Docu_2012_German

Lenz_XpressNet_Docu_2012_English

Lenz_XpressNet_Doku_2022_German

Lenz_XpressNet_Doku_2022_English

roconet-v1.6.1_German

roconet-v1.6.1_English

 

Xpressnet Control Data

header The header is the first byte of the actual data transfer. Based on
the XpressNet protocol version 3.0 from Lenz. This is the start of
the data stream that is transmitted on the bus.

The data following the header corresponds to the schema of
the XpressNet protocol version 3.0 by Lenz.

XOR The XOR byte is the last byte of the transmission and is
calculated as the XOR of the header byte (Used as a parity check)