Sign in

Model train control system

 Matthew A. Katzer
A system which operates a digitally controlled model railroad transmitting a first command from a first client program to a resident external controlling interface through a first communications transport. A second command is transmitted from a second client program to the resident external...
Inventor: Matthew A. Katzer
Assignee: Matthew A. Katzer
Primary Examiners: William A. Cuchlinski, Jr.
Secondary Examiner: Olga Hernandez
Attorneys: Chernoff, Vilhauer, McClung & Stenzel, LLP

U.S. Classification
105/15; 246167 R; 246/197; 246/62

International Classification
A63H 1900

View patent at USPTO

Citations

Patent NumberTitleIssue date
3944986Vehicle movement control system for railroad terminalsMar 16, 1976
3976272Control system for railroadsAug 24, 1976
4307302Electronic control systemDec 22, 1981
4853883Apparatus and method for use in simulating operation and control of a railway trainAug 1, 1989
5072900System for the control of the progression of several railway trains in a networkDec 17, 1991
5475818Communications controller central processing unit boardDec 12, 1995
5493642Graphically constructed control and scheduling systemFeb 20, 1996
5638522Graphically constructed control and scheduling systemJun 10, 1997
5681015Radio-based electro-pneumatic control communications systemOct 28, 1997
5696689Dispatch and conveyer control system for a production control system of a semiconductor substrate Dec 9, 1997
5787371Apparatus to enable controlling a throttle controlling from a remote hostJul 28, 1998
5828979Automatic train control system and methodOct 27, 1998
5896017Model train locomotive with doppler shifting of sound effectsApr 20, 1999
5940005Method and apparatus for storing and utilizing a unique power down state in a model railroad systemAug 17, 1999
5952797Model vehicle, particularly model railway vehicleSep 14, 1999
6065406Model train control systemMay 23, 2000
6267061Model train control systemJul 31, 2001
6270040Model train control systemAug 7, 2001

Claims

What is claimed is:

1. A method of operating a digitally controlled model railroad comprising the steps of:

(a) transmitting a first command from a first program to an interface;
(b) transmitting a second command from a second program to said interface; and
(c) sending third and fourth commands from said interface representative of said first and second commands, respectively, to a digital command station.

2. The method of claim 1, further comprising the steps of:

(a) providing an acknowledgment to said first program in response to receiving said first command by said interface prior to sending said third command to said digital command station; and
(b) providing an acknowledgment to said second program in response to receiving said second command by said interface prior to sending said fourth command to said digital command station.

3. The method of claim 2, further comprising the steps of:

(a) selectively sending said third command to one of a plurality of digital command stations; and
(b) selectively sending said fourth command to one of said plurality of digital command stations.

4. The method of claim 3, further comprising the step of receiving command station responses representative of the state of said digitally controlled model railroad from said plurality of digital command stations.

5. The method of claim 4, further comprising the step of comparing said command station responses to previous commands sent to at least one of said plurality of digital command stations to determine which of said previous commands it corresponds with.

6. The method of claim 5, further comprising the steps of:

(a) maintaining a sending queue of commands to be transmitted to said plurality of digital command stations; and
(b) retransmitting at least one of said commands in said sending queue periodically until removed from said sending queue as a result of the comparison of said command station responses to previous commands.

7. The method of claim 6, further comprising the step of updating a database of the state of said digitally controlled model railroad based upon said receiving command station responses representative of said state of said digitally controlled model railroad.

8. The method of claim 7, further comprising the step of providing said acknowledgment to said first program in response to receiving said first command by said interface together with state information from said database related to said first command.

9. The method of claim 8 wherein said first command and said third command are the same command, and said second command and said fourth command are the same command.

10. A method of operating a digitally controlled model railroad comprising the steps of:

(a) transmitting a first command from a first program to an interface; and
(b) said interface selectively sending a second command representative of said first command to one of a plurality of digital command stations based upon information contained within at least one of said first and second commands.

11. The method of claim 10, further comprising the steps of:

(a) transmitting a third command from a second program to said interface; and
(b) said interface selectively sending a fourth command representative of said third command to one of said plurality of digital command stations based upon information contained within at least one of said third and fourth commands.

12. The method of claim 10 wherein said first program and said interface are operating on the same computer.

13. The method of claim 11 wherein said first program, said second program, and said interface are all operating on different computers.

14. The method of claim 10, further comprising the step of providing an acknowledgment to said first program in response to receiving said first command by said interface prior to sending said second command to one of said plurality of said digital command stations.

15. The method of claim 10 wherein said interface communicates in an asynchronous manner with said first program while communicating in a synchronous manner with said plurality of digital command stations.

16. A method of operating a digitally controlled model railroad comprising the steps of:

(a) transmitting a first command from a first program to an interface;
(b) transmitting a second command from a second program to said interface; and
(c) said interface sending a third and fourth command representative of said first command and said second command, respectively, to the same digital command station.

17. The method of claim 16 wherein said interface communicates in an asynchronous manner with said first and second programs while communicating in a synchronous manner with said digital command station.

18. The method of claim 16, further comprising the step of providing an acknowledgment to said first program in response to receiving said first command by said interface prior to sending said third command to said digital command station.

19. A method of operating a digitally controlled model railroad comprising the steps of:

(a) transmitting a first command from a first program to a first processor; and
(b) said first processor providing an acknowledgment to said first program indicating that said first command has properly executed prior to execution of commands related to said first command by said digitally controlled model railroad.

20. The method of claim 19, further comprising the step of sending said first command to a second processor which processes said first command into a state suitable for a digital command station.

21. The method of claim 19, further comprising the steps of:

(a) transmitting a second command from a second program to said first processor; and
(b) said first processor selectively providing an acknowledgment to said second program indicating that said second command has properly executed prior to execution of commands related to said second command by said digitally controlled model railroad.

22. The method of claim 21, further comprising the steps of:

(a) sending a third command representative of said first command to one of a plurality of digital command stations based upon information contained within at least one of said first and third commands; and
(b) sending a fourth command representative of said second command to one of said plurality of digital command stations based upon information contained within at least one of said second and fourth commands.

23. A method of operating a digitally controlled model railroad comprising the steps of:

(a) transmitting a first command from a first program to an asynchronous command processor;
(b) said asynchronous command processor providing an acknowledgment to said first program indicating that said first command has properly executed prior to execution of said first command by said digitally controlled model railroad;
(c) sending said first command to a command queue where said asynchronous command processor considers the intended destination device of said first command; and
(d) processing said first command by said synchronous command processor into a suitable format for execution by a digital command station for said digitally controlled model railroad.

24. The method of claim 23 further comprising the steps of:

(a) receiving responses from said digital command station; and
(b) updating a first database of the state of said digitally controlled model railroad based upon said responses from said digital command station.

25. The method of claim 24, further comprising the steps of:

(a) sending a first response to said command queue from said synchronous command processor where said synchronous command processor considers said command queue the intended destination device of said first response; and
(b) processing said first response by said asynchronous command processor into a suitable format for said first program.

26. The method of claim 25, further comprising the step of updating a second database of the state of said digitally controlled model railroad by said asynchronous command processor based upon said first response from said synchronous command processor.

27. The method of claim 26, further comprising the step of querying said second database by said asynchronous command processor providing said acknowledgment to said first program providing the information requested and not sending said first command to said command queue.