IO Commander

The Model Railroad control system for DC and DCC layouts with Internet Support

WARNING
Development of IO Commander are currently stopped. IO Commander development was started in 1995 as a DOS application writen in assembly to make it posible to control a conventional model railroad at a time when DCC equipment was expensive and decoders was imposible/expensive to install in small n-scale engines. The latest versions supports hybrid DCC and analog layouts - but I still only use it in DC mode on my n-scale layout. (Software limitations is 8 blocks and 16 switches). My HO layout are now using TMW for testing and ROCO/Lenz DCC in production)

Development are now beeing focused on Rail Control System


Updated December 2002

Links

Info

Microchip Web Site

Sw Tools

MPASM

DIY Projects

DCC model Railroad interface
My DCC Model Railroad interface

Links

PIC Links

fpedersn@online.no

Whats New :

June 2001

Updated info on index.html

January 2001

Updated versions of RCS interface with Servlet

December 2000

Updated versions of RCS interface
New Web Server
DCC news

November

Updated versions of RCS interface

August 2000

IOCommander final beta 5.0.8 with install script
unzip into directory "\ioinst"
run ioinst
configure system
cd \mr\io\sw\io050008\bin
run ioload

July 2000

A development version of Internet Server
ioexec and iosvr version 5.0.8 Final Beta

June 2000

Version 5.0.2 of Internett Server - IO Java Server 5.0.2

May 2000

Complete Beta Version 5.0.6 of ioexec,iosvrc1 and required BAT files

April 2000

Version 5.0.6 of iosvrc1.com - Development Version for ioexec 5

February 2000

More Java Support

IOJSTst.class - This is a test client that connects to ioexec via a serial port. Client is written entirely in Java making it possibly to run it on multiple OS. It has been tested and seems to run OK !

IOJS0500.class - This is a multiuser communication Server that talks to ioexec via a serial port, and listens to incomming calls from clients via TCP/IP Ports. The current version still has some bugs that will be solved in the next release. This version should be replaced with RCSvr

IOJC0500.class - This is a test Client that opens a connection to IOJS0500.class making IO Commander a true multiuser distributed Internet based control system

January 2000

A prototype Java Client
This is my first example programs written in Java that can communicate with IOEXEC.COM via an RS-232 Serial Port"

November 1999

Running IO Commander with Windows95 and Windows98

October 1999

This month work has been concentrated on a new 32 bit DLL - and Java Native Interface (JNI)

A new development version of IO Windows Throttle - This is preconfigured for running a DB loco class 80
Download IO Windows Throttle version 5.0.0 Development

Version 5.0.5 of ioexec.com - with fixes on Volt to poke value table

september 1999

A new development version of IO Windows Throttle - This is preconfigured for running a DB loco class 80
Download IO Windows Throttle version 5.0.0 Development

August 1999

A working version of 5.0 is finally available Development status and userguide for 5.0.4
IoDCC has been updated with progress and test program

July 1999

Last month work has also been concentrated on a new version of ioexec Several limitations in version 1 has been found - That compbined with the frustrating different version numbers has resultet in ioexec version 5.0.3 (Instead of 1.6.3) The new development version has a updated subsystem for defining the track and block layout Development status and userguide for 5.0.3

June 1999

Last month work has also been concentrated on ioexec version 1.6, but no new version to download this month. But I have built a new switch driver (version 4) that supports Switch hardware type 1 .. 3 IOSwitch I have also made a small program that reads assembly source files and outputs html - reference dokumentation. The first one is:
Buffer 0 - Reference information
IoDCC has been updated with more links

May 1999

Last month work has also been concentrated on ioexec version 1.6 The new development version has a new subsystem for defining the track and block layout

April 1999

Last month work has also been concentrated on ioexec version 1.6 Earlier version did set the block direction when block is assigned. The new version sets it when engine enters neighboor block based on current switch (turnout) settings (and also reverifies when switches are thrown. This will make it possible to assign one engine to multiple blocks without all limitations of older versions. However this has required a lot of reprogramming. I expect a long alpha test period on this version before release.

I have also done some more testing of the DCC interface and started PIC programming. Pic programming experience is updated on my PIC pages: Pic Programming

March 1999

Last month work has been concentrated on ioexec.com version 1.6 This version is not ready yet. In adition I have been busy installing my development envirionment on a new PC. This will make it possible to test it on Windows 3.11, Windows95 and Windowns NT 4.0. Only updates on this Web site is a few new links, reorganization and spellchecking.

February 1999

DDE (Dynamic Data Exchange) Server for configuring and running with multiple Windows Throttles.
Updated usersguide for windows

January 1999

IOWT07 version 1.5 ZIP file with Windows Throttle Patch to be installed on top of October release
This version reads a picture file of the currently assigned locomotive from disk. This file must reside in "\io16\win\" and be named as the example files
ioexec version 1.5 ZIP file with bug fix for direction - Patch to be installed on top of October release

News and Change log from 1998
News and Change log from 1997

IO Commander


IO Commander is a subsystem of my Rail Control System (RCS) Rail Control System (RCS) It can be used for DC systems, DCC systems and hybrides. Userinterface is Web, Windows and DOS. In addition handheld devices can be used. I am currently controlling my DC railroad with it (using IOC version 1.5) from a DOS and Windows 3.0 userinterface. Internett connectivity are now available. Next priority is DCC. I am now uppgrading my railroad to ioexec 5.0.8 and replacing Windows interface with the new java Interface

Internet Connectivity are up and running I have decided to temporay stop development of Visual Basic interfaces, because of very good feedback about my new Java Interfaces. The new Java Interface makes it possible to control the system from anywhere on the Internett.


RCS - Rail Control System

Experience with the new java interface are very good. I have looked at other hw based control systems like EasyDCC and Lenz. the RS232 protocol could also be interfaced from my Java programs directly to these systems. I have therefore decided to develop a new general Java system that can be used with multiple systems. Final design has not been decided, but I hope to develop a interface module that makes it possible for anyone with some programming experience to implement new protocol interfaces. More info in comming months
This homepage is intended to help YOU control your Model Railroad from a Personal Computer. My help consists of telling about my experience on my railroad, offering you hardware design plans, and downloadable software. Everything for free. I will try to support you via e-mail if necessary, but I am not able to guarantee a given response time, but I usually check my mail account more than once a week.


IO Commander is designed to make it possible to control a medium to large Model Railway system from a personal Computer, using simple interface hardware. The overall design has been based on the assumption that Hardware are difficult to duplicate and expensive to design and build. Standard PC hardware are a lot easier and less expensive to aquire. An older 8086 or 80286 based computer can replace a lot of custom build hardware for the fraction of time and money. In addition, I am currently integrating DCC support on the system
Graphical Userinterfaces are now beeing added. A software throtle has been implemented in Visual basic running on top of Windows 3.0 3.1 3.11 95 or 98. Running either on the server or remote using RS232 Communication
A Java based Client is also beeing developed. This will be used for dispatchers. Java Client will use Internet for communication.

I do not want to modify all my Engines. Therefore I have decided to use conventional (Analog) control without receivers (in addition to DCC), but keeping everything in the computer or below layout. This has only three drawbacks compared with standard DCC control:

1. This system are not following any official standard, Therefore I have decided to make multiple interfaces at different levels available to hook in software developed by different development projects/individuals.

2. It is necessary to wire the layout with full block control. However everything will be computer controlled minimizing the cost of electric switches and control boards etc.

3. It is not possible to have independent control of more than one engine in each block. However this follows standard practice on full scale railways. In addition, version 1.5 with DCC support will make it possible to have multiple DCC engines or one conventional Engine in each block.


There are several other alternatives to my design, but I have not found any that supports all of my requirements. My most important requirements are :

Support for DC and DCC trains on the same layout - with the same controllers / user interface

This project was started several years ago when DCC and interfaces to computers was very expensive and information was limited. This has changed during the two last years - I currently have two DCC Engines and approx. 30 DC Engines - So I am in a transition face

Support for Scripted train running / Automated scheduling

This was the first part of my project, and It currently runs very well. In the simplest environment, all software are run as a background (TSR) DOS program (ioexec.com). The trains are controlled by a script and a fast clock. This traffic is normally handled by analog engines. Hardware consists of integrated block controller and block detector. The simplest scripts does not even need a detector, but relies only on timing. In addition Switch (turnout) drivers are also supported (currently not DCC support for switches).

Manual running of trains as a Train Engineer

This is finally supported for Analog Engines from version 1.5 (Available now). The new version of the Windows prototype Throttle is also available - and it works. Interface for MB-DCC has been added, but still needs some debugging

Manual Block assignments and Turnout control

A simple Graphical Control panel has been written in Visual Basic. However it still need some development before it will be ready for download. Therefore all block assignments and switching for manually controlled trains must be done from a command interface (DOS or Windows). This is currently the biggest limitation at the moment. And this implies that I normally run my layout with static block assignments for manually controlled trains. Scripted trains however are handled dynamically.

This limitations are beeing removed by version 5 that is currently in testing and available. Version 5 lifts several restrictions in block assignment - that was introdused in version 1.5 to handle reverse loops. Version 5 is available for download as a test version


Design overview

Functionality.

    A total control system requires a lot of hardware and software. To make it easier to design and test, I have divided the system into different independent hardware and software modules:
  1. Fast Clock
  2. Timing - with sample automation
  3. Switching
  4. Block Control - train control and detection
  5. Windows User Interfaces
  6. DCC Integration

Dos Windows 3 and Java Userinterfaces

Java Interfaces with Internett Connectivity





Member of the Geocities Railroad Pages
Generate more traffic!

fpedersn@online.no


This page hosted by get your own Free Home Page
1 1