Check out the newest Quaker Valley JMRI CTC panel at http://www.quaker-valley.com/CTC/QV_CTCnew.html
The Quaker Valley Railroad has been developing a CTC Panel using the Panel feature in Decoder Pro since 2003. In the summer of 2006, I attended the NMRA Philadelphia Convention and sat in on all of the JMRI clinics. I met some of the key people behind the development and learned a lot, especially about the then newest features of Panel Pro in version 1.7.5. I also gave a clinic describing how I was using JMRI Panel Pro with my NCE system to develop a virtual CTC panel. This interactive panel file allows you to see the completed CTC panel editor and layout editor and how the turnouts, sensors, routes, Logix and Simple Signal Logic (SSL) are all included in one place.
My Quaker Valley web site includes the Panel Pro xml file that includes all of the turnouts, sensors, routes, logix and simple signal logic shown above. You can download the demo xml panel pro file here. If you set a preference for NCE hardware or NCE simulation, you will be able to load the panel in JMRI versions 2.11.x (or newer) and see how the panels work together. The Layout Editor is shown to the left and the Panel Editor is shown on the right. All interaction is via the CTC panel on the right. The toggle switches shown above and below the track diagram on the CTC panel simulate the hardware block detectors. Throwing one of these on instantly lights a block on the track diagram and the correspondiong block on the layout panel.
Turning it off results in a 5 second delay before the block shows unoccupied. This prevents flickering block detection from showing at the panel and confusing the logic as well. When the panel is first loaded, the state of the turnouts and most sensors is unknown. Touch the red reset button in the upper right corner and it sets a route to reset all turnouts and sensors. Notice the code send and receive files are played if you have audio.
I always wanted to develop a CTC panel to use the turnout and signal levers and code buttons just like the real ones. I thought it would require scripting. After I saw the then new features of Panel Pro in 2005, I realized I could see the light at the end of the tunnel. In 2007, I had already created a CTC panel for my small demo layout that had four fully functioning CTC levers. One trick I used with the 1.7.5 version of JMRI was to create two "ghost" buttons beside the signal lever and actually display the 3 positions of the signal lever as a 3 position signal. Later versions of JMRI include multi position sensors that make this much easier to implement. Touch left and right of the turnout and signal levers to move them.
The code button at the bottom of each position is momentary and controls both the turnout and signals. You can flip the levers back and forth without setting or changing anything. Only when the code button is pressed does the turnout and signal follow. And because of the way the JMRI routes function can work, they will only follow if the interlocking is unoccupied.
Sweet! No more throwing turnouts under moving trains.
So how does this all work in Panel Pro? I have updated this part of this web page to reflect the latest panel features as it easier now (2011) than it was in 2007. No scripting is required.
Each position has three inputs from the Dispatcher. These are the turnout lever, the signal lever and the code button. There are four block detector inputs from the railroad. On the clinic layout, I used NCE BD20s which detect current in each block. These are connected to a NCE Auxiliary Input Unit (AIU) which is on the NCE cab bus and makes the block occupancy info available to the command station and thus to Panel Pro.
There are two routes for the turnout. One sets it Normal (or Closed) and one sets it Reverse (or Thrown) to follow the turnout lever. Panel Pro allows multiple sensors in the Logix, so I have made sure the block is unoccupied and no signal is set before these changes are made. I simply show the turnout position as driven by Panel Pro in the two lights above the turnout lever. I don't have and don't see the need for feedback from the turnout on the railroad. The first lever in the demo panel above (lever 4) shows a turnout to be set in the Reverse position.
Back in 2007, the signal lever used to require five routes. I now use a Logix for each signal and there are 4 conditionals. The left and right green lights display the signal setting, eastbound or westbound. The center red indicates all signals are set to held. This over rides the SSL calculation in the field and shows a red or stop signal. The fourth conditional allows the dispatcher to reset a set route. I use an overlay icon on the center red which blinks for 15 seconds and then shows red.
So the Laurel Run example shown requires input from 4 block detectors, has one real turnout to throw and has 4 signal heads to set for the railroad. There are the 3 Dispatcher inputs, two internal turnouts for the signal direction and 4 internal signals to display the signal lever and center signal light. On the demo panel I use Logix to create a sensor for the interlocking dependent on adjacent block detectors and turnout position. I use this on my railroad to eliminate the need for about 20 block detectors. My friend Ken McCorry uses an infrared detector at the points in each interlocking to hold this block occupied when a car is over it. In this way, he initially found no need to place resistor wheel sets on any freight cars. I have been experimenting with detection of my caboose fleet and will likely only detect the caboose fleet and not all cars. So I developed virtual detectors at the interlockings as shown on the demo panel above. Using Logix, these go active when the adjacent blocks are occupied ansd the turnout is in the right position.
With the demo layout successfully behind me, I reworked my
CTC panel to work more like the demo and the real ones I remember from
the 1970s. In 2006, I created the new background image, adding
and code buttons for the existing turnouts and added TOL indicators
block detectors were installed. I later added the signal levers
and code buttons. I also added a JMRI clock. It is now a
married to the NCE command station. Early in 2011, I
added the last of the mainline block detection and the balance of the
signal logic. I even have one real working PRR style position
light signal installed on
the Conrail main line at Laurel Run.
This background was developed using MS Paint. I started with the dual background panel provided in the resource folder of Panel Pro. This now includes a better shade of green and the button punch outs as on the real US&S panels. I again stacked two separate CTC panels one over the other as I need more than the 15 positions available on a single panel. I reused the track artwork in the black areas from my older panel. I even kept the Quaker logo in place. I added a USS&S plate, starting with a scan of a real plate from a photo. I cleaned up the lettering and then added it to my panel.
The upper section of the panel represents the modeled portion of my Quaker Valley line which runs north and south between Buffalo NY, through Costello and ending in Lynnsburg, a town in the hills of Western Pennsylvania between Altoona and Johnstown. The lower panel section shows Conrail's secondary track between these two towns. I have abbreviated the staging yard tracks on either side of the modeled lines. In reality, the yards at McKeesport and Altoona are two ends of the Westbound staging yard. Johnstown and Harrisburg are the Eastbound staging yard.
Sweet! And Decoder Pro is still freeware. Thank you Bob Jacobsen, Dick Bronson and the JMRI crew!
Learn more about the JMRI project, Decoder Pro and Panel Pro at http://jmri.sourceforge.net/
Updated December 10, 2011
Quaker Valley Software
Return to Quaker