Steven Mallery, who just happens to be a prototype dispatcher for Norfolk Southern working the same geographical area that he models, runs his mid 1960's era PRR Buffalo Line from South Williamsport, PA to Buffalo, NY as a point to point layout with three staging yards representing Enola, PA, Buffalo, NY, and Erie, PA. The principal classification yard at Renovo is supplemented by four small local yards. Half of the 230 feet of HO scale single track mainline with passing sidings is on two levels allowing plenty of space on the other single level half for a major layout feature, the heavy helper grade necessitating helper assistance both up and down hill. A card style waybill system dictates car movements and thereby randomizes train lengths, with the resulting train sizes ranging from 25 to 55 cars. The Dispatcher communicates with the yard via telephone, but he uses radio to contact the road crews operating their trains with NCE DCC. The main purpose and goal of this CTC controlled rail system with 12 fully functional interlockings is: Prototypical Operations, including everything from operating rules, signal rules, car movements, train scheduling and blocking. Making this happen consumes a staff of 7 to 9 road crews, two yard crews, one Yard Master and a Dispatcher. The objective is to be as realistic as possible, and use of the CTC system contributes to that realism.
Operating sessions started in 2002. From his CTC panel, the Dispatcher (who else but Steven himself) controls all mainline switches. Steven built the layout with full electrical track circuit detection between and at all interlockings. He put resisters on the wheels at both end of every single car on the layout, so his system can tell immediately whether interlockings and mainline tracks are occupied or clear. Not only can he tell where trains are, but also his safety circuits won't let the switches move while an interlocking is occupied. After starting to install some Chubb SMINI boards in late 2003, Steven held his first session using some signaling in February 2004 with three adjacent interlockings fully signaled. The effect on the background noise level just from reduced radio chatter because these signals eliminated need for as many dispatcher contacts was so noticeable that the room seemed almost too quiet to his regular crew.
A total of 15 SMINI boards are installed to handle the 170 inputs and 380 outputs needed to control the complete railroad. One of his regular operators, Ray Fisher, wrote the control program in QB4.5 using structured code. The program accepts the track condition indications and CTC lever settings as input. To protect the structured code, he incorporated the unstructured Chubb provided interface shells customized for this layout, by encapsulating them within sub modules. To supplement the detection-triggered protection, he included software interlock protection for switches when signals clear not-yet-occupied routes across those switches. Now, not only are switch movements locked when a car actually occupies an interlocking, they are also locked when a signal gives permission to occupy that interlocking. The program also allows Steven to set the signal for the Renovo yard lead in fleet mode so that he doesn't have to micro-manage that track while the Yard Master needs headroom for some classification moves. Full software traffic locking in both directions is also in place!
The signal aspects displayed are Clear, Approach, Stop, and Restricting, an adequate subset of the full PRR signal aspect set. When Steven selects a route and requests a clearance from his CTC panel, the program evaluates the route, currently active traffic locks, and the settings on all other signals. It then selects which signals and aspects to display if it can safely honor the request. As trains pass signals, the program makes their aspect revert to Stop. As trains vacate locked tracks, the program releases appropriate traffic locks for trains in the opposing direction.
One essential feature for programs interfacing with SMINI boards is to have an aggressive error handling capability. Because of random fluctuations, sometimes attempts to read SMINI inputs fail, and the Chubb interface shell logic identifies such situations by setting an error indicator. If this warning is ignored, the returned values, that are set to zero when the warning is set, may cause serious problems, as when they could be confused, for example, as an indication that an occupied track has been vacated, when in fact the train is still there, or when they seem to say that a switch is in motion. Steven's program repeatedly saves the value of the last good read from each SMINI board. Then when a random read error occurs, it reuses that saved value, thus preventing occasional fluctuations from causing unexpected results.
Steven Mallery has a website at http://pamodelrailroads.com/sm