This is the home
page for the Computer Automated Traffic System (CATS), a suite of open
source programs that provide signal logic on a model railroad. To
download the software, scroll down on this page to the Code section.
Click on the software link and read the license. Then scroll to the
bottom of that page for links to the software, collected into zip files.
The impetus for this software was to implement CTC signaling on Pat
Lana's Cedar River and Iowa Central Railway (not affiliated with the
Cedar Rapids and Iowa City Railway in any way). Pat's Crandic is an N
scale model railroad, a bridge route between Kansas City and the
mythical town of Pammelia, Iowa, with connections to Minneapolis/St.
Paul and Chicago. Though the date is August, 1968, the railroad
mangement has invested in a futuristic computer system using CRTs for
dispatching traffic on the railroad. This program is the result of that
investment.
Video of the Cedar River and Iowa Central, its CEO, and crew can be
found at
Dan's video page.
A high speed
Internet connection is needed because some of these are large. They are
viewed through Quicktime, a free plugin from Apple Computer. The
official Cedar River and Iowa Central home page is at
Bob's
page.
What is CATS?
CATS is open source
software, written in Java and built on the work of the JMRI programmers
(JMRI home page).
CATS is a JMRI
application and not part of the JMRI toolset, so JMRI (and a Java
Runtime Environment) are needed to run CATS.
CATS is
a modern
looking, "point and click" dispatcher panel
is a suite
of programs, including a GUI editor for creating the panel
supports
full interlocking of routes
handles
complex interlocking plants through a graphical description
supports
ABS, APB, DTC, and CTC signal disciplines
was
developed by a model railroader interested in operations for model
railroaders, so assists in the paperwork of an operating session
train
labels follow block occupancy reports
drop down
menus for trains, crews, and jobs can be customized
maintains a
crew callboard and records assignments
tracks
crew hours on the job
records
train movements, with timestamps
uses JMRI,
so can work with many different kinds of model railroad control systems
supports
full connectivity (signals, occupancy, turnout feedback) to a layout
works as a
"magnet board" (no connection to the layout)
works with
partial connection to the layout
is written
in Java, so runs on many kinds of computers
supports
user defined aspects for indications based on 2 block/4 speed signaling
The following
screen capture is from the program used to create a dispatcher panel.
The next screen
capture is the Crandic dispatcher panel in operation.
One more screen
capture shows the train lineup pulldown.
Requirements
Swing
(tested
with Java 1.4.2-10, 1.5-9, and 1.6-3)
Works with
JMRI 1.5.6 through 1.7.6. A new version has been created for JMRI 2.x.
Important Note to Current
Users:
CATS is current
with JMRI versions 2.0-2.1. It is not compatible with older versions of
JMRI. Though I have kept a version of CATS that will work with
older releases of JMRI, all future development will be against JMRI 2.x.
It has not been tested with JMRI 2.2.
The highlights of the changes
are:
fixed a nagging bug in CATS where larger train labels were harder to grab
then smaller ones.
added a keyboard shortcut (control+e) to CATS to toggle the train label
between the train symbol and lead engine number.
enhanced designer so that the window does not scroll when adding or deleting
a column or row.
the designer cursor can be moved with the arrow keys.
Code
Latest
versions:
CATS 2.12
designer
2.03
Download the latest
software. You will need to scroll to the bottom of the license to find
the links to the software.
license
and software
Coming Soon
I have some
complimentary programs written, which will be posted here when I get
them polished some more:
Under
development
a
transformation for converting the operating session log into a Comma
Separated Value (CSV) file for import into a spreadsheet or data base
a program
to take the results of the conversion program and generate a string
chart of the operating session.
Contact
are - r
oh - o
dee - d
in - n
ee - e
wye - y
bee - b
el - l
eh - a
see - c
kay - k
two - 2
zero - 0
zero - 0
zero - 0
at - @
wye - y
eh - a
ach - h
oh - o
oh - o
dot - .
see - c
oh - o
em - m
Copying
CATS uses the
artistic license that JMRI was released under
(JMRI
License)
Support
I am sharing these
programs for the enjoyment of the model railroading community. If you
find them useful, then great. However, I know they are not perfect -
there are over 30,000 lines of Java code in each. There are more things
I would like them to do, as well. But, I am the only person supporting
the programs, the documents, and this web site and this is not my day
job. So, I welcome bug reports and enhancement suggestions, but will
get to them when time permits.
Acknowlegements
I have to thank Pat
Lana for being the test bed for this code. His Cedar River and Iowa
Central is large enough and has enough variety to give this a good
workout. I also thank my core beta testers - Patrick Tillery's L&N,
Bruce
Faulkner's CSXT Shenandoah Division, andJohn
Parker's BNSF Fall River Division
, for their
suggestions and patience working through the "features". Bob Jacobson,
Paul Bender, Dick Bronson, and the rest of the JMRI developers merit
special recognition because they provide the glue between the
dispatcher panel and the layout.
The phrase "JMRI"
belongs to the JMRI devlopment organization. "Java" is a registered
trademark of Sun Microsystems.
This page was last
updated July 15, 2008.