Skip to main content

I am pleased to announce that the first level of the Layout Controller I have been working on is almost ready for Beta testing.

Every time I post I get comments regarding that the topic is too advanced so I will keep it at a high level. Prototypes have used a number of plant (right of way) control and signaling systems over the years. My goal is to provide the same systems to model railroads. My company is a new startup, low budget, and could use all the help we can get.

Yes, prototypical layout control is complicated -- traditionally the best that could be done was to approximate the prototypes. I think we can fully implement the prototype systems without requiring a lot of complicated user programming. The program in the Layout Controller handles all the complicated logic. The system must be told how the layout is organized, but the controller already knows the logic. How the system is connected will be done graphically on a screen making the process user-friendly. I will include developing the system setup at no additional charge for folks that need it.

Each Layout Controller contains the logic and hardware to control two Control Points which are essentially turnouts (switches) on the main lines. Therefore one controller can handle a complete siding for example. Specifically, this is twelve 3-aspect signal heads, six block detectors, and two turnouts (switches). Local control of the turnouts (switches) is also included. The system can be expanded just by connecting multiple Layout Controllers together with a 3-conductor wire.

Automatic Block Signaling is the stand-alone, default mode. Centralized Traffic Control (CTC)using a low-cost PC is included for added control over the railroad including remote turnout (switch) control, signal directions, and signal coordination. For the folks that know about this, all features of CTC are included such as intermediate signal tumble down, control point direction "stick", control point time locking, interlocked turnouts, and turnout safety interlocks. The CTC dispatch screen shows real-time block occupancy and turnout positions. Both traditional and modern dispatch screens are included.

I will post more details on my website as time allows. All comments and feedback are welcome.

Original Post

Replies sorted oldest to newest

BillYo414:

The software currently runs on Windows 64 bit. The compiler is Delphi which has support for other platforms including iOS, Android, and Linux. I do not intend to spend time porting to other platforms right away, but will once the Windows version is completed. The system likely can be run on a pi since the new one is pretty powerful. The screen needs at least 1920 x 1080 resolution and the system needs at least one USB port capable of supporting serial communications.

The system is a replacement for JMRI. It may be possible to interface to JMRI and LCC systems, both neither is a priority right now.

No problem, I do want to support other systems, I just have to prioritize my time right now.

Because I chose to do an advanced Layout Controller and an advanced Locomotive Controller at the same time it has been a huge effort. There are six separate pieces of software: Layout Controller, CTC Dispatch, USB2CAN interface device, Locomotive Controller, Cab Control, and Speed Scaler (measures scale speeds very accurately). Altogether, thousands of lines of code and multiple custom printed circuit boards.

I am super excited about what is coming next. I think of model railroad controls as different levels:

Level 1 - Everything is isolated, little or no automation, signals that are not realistic, throttle control is turn a knob and watch it go. This is mostly where controls are now in the industry. Some aspects of Level 2 are available, but only in a limited way.

Level 2 - Layout and Locomotives are still isolated, but signals and CTC is realistic, locomotive response is based on prototype physics such as train mass; rolling, air, and bearing frictions; gradient, engine tractive effort; etc. In-cab control accurately represents prototype controls. This is the level I am on the verge of doing beta testing for.

Level 3 - Layout and Locomotives are connected, one or both can be in automatic mode, prototype is completely and accurately represented. For the locomotive key features are in-cab signaling from the Layout Controllers, and  Positive Train Control (PTC) automatically limiting speeds to safe, predefined values. This level will be started during the beta testing of Level 2. Some of the data values are already included in the Level 2 software and the hardware includes the needed comm links.

gunrunnerjohn:

I have seen that before. There are lots of Delphi programmers and Embarcadero continues to support it. They just released an update to provide support for Windows 11. My opinion is that for Rapid Application Development (RAD) it cannot be beaten. It has plenty of horsepower to develop powerful programs and is much easier to read than C/C++/C#. It's origin traces back to Turbo Pascal which I started using at version 1.0.

I write the embedded software in C though since it is more suited to embedded chips.

Here is the rest of the quote above:

The short answer: no. Although Delphi still has an active user base, not many new Delphi programmers are popping up, which raises the question of eventual extinction. This is not to say Delphi is archaic by any means, and those who have used Delphi in the past will probably continue to use Delphi until the end, simply because it is so resilient and future-proof. Pascal code requires minimal maintenance, and some of the Delphi apps we build 15 years ago are still alive and well, with very few upgrades made from their original from.

So, there is validity to the Delphi is dead frenzy, but it has nothing to do with obsolesce, but rather a shortage of skilled Delphi programmers. If you’re looking for one of those elusive Delphi programmers, you’ve come to the right place.

Consolidated Leo:

I do not have the Advance Approach in the software now. I will add it, but it should require three block look-ahead. The logic (simplified) should be:

Closest Block Occupied (Block 1) - RED

Next Closest Block Occupied (Block 2) - Yellow

Farthest Block Occupied (Block 3) - Flashing Yellow (Advance Approach)

None of the three blocks occupied - Green

One of the questions I still have concerns turnouts (switches). Does the signal system look through a turnout when it is switched? In other words, do the three blocks noted above change when a turnout is in the Reverse position? Input or thoughts on this would be greatly appreciated.

Jonathon: Thanks for the response. I like the idea of adding the Advance Approach to the mix. But I don't think this would apply to all railroads, past or present. So, you might want to make it optional.

As far as your question about the signal indications before a turnout, I know that the Union Pacific uses two heads at these locations. The upper head indicates the state of the Main route while the lower head indicates the state of the Diverging route. As long as the turnout is aligned for the Main (Normal) position, the upper signal is relevant while the lower head is either Red or blank. Then, when the switch is thrown, the upper head shows Red and the lower head shows the ABS indication for the Diverging route.

There are corresponding signal aspects for when the turnout is reversed and the train is headed for the diverging route or siding. Red over Green is Diverging Clear. Red over Yellow is Diverging Approach. Red over Flashing Yellow is Diverging Advance Approach. And Red over Red indicates that the block through the turnout is occupied.

This makes sense to me. But again, not all railroads will do it this way. I have seen pictures of U.P. signals where the lower head consists of just Red and Green aspects. That might be workable for a model railroad where this is quite familiar.

Add Reply

Post
×
×
×
×
Link copied to your clipboard.
×
×