%
% Dies ist das TrainControl V2.0 - Handbuch als LaTeX-Quelltext
%
% Die aufgerufenen Bilder sind in der Demo-Version nicht enthalten. Die 
% Vollversion von TrainControl enthält ein gedrucktes Handbuch, das nicht
% einzeln erworben werden kann. Dieser Text kann mit jedem Textanzeigepro-
% gramm angeschaut und/oder einen Texteditor ausgedruckt werden.
%
%   Ihr Andreas Pilz
%

\special{landscape}  % dreht Ausgabe um 90°; muß mit dvidvi vor dem Ausdruck
							% umformatiert werden !

\font\slbf=cmbxsl10	% Sonderschriften für Computer Modern
\font\sfbf=cmssbx10

%\documentstyle[german,DINA5,TCHeading,iff,epsf,TCtimes]{book} %in der Endversion: TCtimes
\documentstyle[german,DINA5,TCHeading,iff,epsf]{book} %zum Testen

\unitlength1.0cm
\frenchspacing
\sloppy
\title{{\sl TrainControl}
        \\{\sf Das ultimative Steuerungssystem
        für die digital gesteuerte Modellbahn}}
\author{geschrieben von\\Andreas Pilz}
\date{Gerolsbach, den \today}

\makeindex
\hyphenation{Train-Con-trol GBEdit PEdit Schwam-merl-Soft Sin-ne Kon-takt-te Bei-spiel Fahrt-richtung Sig-nal-horn}
\newcommand{\tc}{{\slbf TrainControl\/} }
\newcommand{\key}[1]{\fbox{\rule{0ex}{1.5ex}\small\sf #1}}	%	Darstellen von Tasten im Text
\newcommand{\menu}[1]{{\sl [}{\tt #1}{\sl ]}}	%	Ein Menü soll aufgerufen werden
\newcommand{\systeme}[3]{{\bf M:}~{#1}, {\bf T:}~{#2}, {\bf F:}~{#3}}
\pagestyle{headings}


\begin{document}

%\maketitle


%===============================================================================
\chapter*{}
\begin{center}
\newpage
\vspace*{\fill}
``Amiga~500'', ``Amiga~1000'', ``Amiga~2000'', ``Amiga~2500'', ``Amiga~3000'',
``AmigaDOS'', ``Amiga~Workbench'' und ``Amiga~Kickstart''\\
sind eingetragene Warenzeichen der\\
{\bf Commodore-Amiga, Inc.};

``68000'', ``68020'', ``68030''\\
sind eingetragene Warenzeichen der\\
{\bf Motorola,~Inc.};

Darüberhinaus werden die Bestellangaben aus den Lieferkatalogen
der Firmen\\
{\bf Gebr.~Märklin~\&~Cie.~GmbH},\\{\bf~Trix Mangold GmbH} und\\{\bf Gebr. Fleischmann}\\
verwendet --- sie sind im Text durch Klammerzeichen
gekennzeichnet.
\end{center}


%===============================================================================
\chapter*{Vorwort}
\markright{Vorwort}

Das Ziel eines jeden Modellbahners ist es, den Betrieb der Wirklichkeit
möglichst exakt auf seine Modellbahn zu übertragen.  Das Ziel eines jeden
Computer-Freaks ist es, seinen Computer möglichst universell einzusetzen ---
und das möglichst perfekt.  Was liegt also näher, als eine Verbindung der beiden
``Fachgebiete'' zu ermöglichen.

Diese Idee, die schon der ersten Version von \tc zugrundelag, bildet auch die
Grundlage für die Weiter- und Neuentwicklung der nun vorliegenden zweiten
Version.  Diese zweite Version weist die gleichen Merkmale wie ihre Vorgängerin
auf, ist aber --- wie schon das äußere Erscheinungsbild vermuten läßt --- um
wesentliche Funktionen erweitert und verbessert worden.

Die für den Modellbahner wohl interessanteste Funktion ist die Möglichkeit, auf
einfache Weise Gleisbilder zu erstellen, sie zu bedienen und die gewünschten
Funktionen ausführen zu lassen.  Für den Computer-Freak ist ein ``ARexx''-Port
hinzugekommen; dieser stellt die gesamte Stärke der ARexx-Skriptsprache mit
Variablen, mit bedingten Schleifen und vielem mehr für \tc zur Verfügung.

Aber nun erst einmal genug der Vorrede; \ldots lassen Sie sich beim Lesen des
Handbuchs durch das, was neu ist oder --- wenn Sie zu denen gehören, die \tc
bisher noch nicht kennen --- durch die Funktionsvielfalt, die \tc Modellbahnern
und Computer-Freaks bietet, überraschen.

Einen Moment noch \ldots Fast hätte ich die obligatorischen Danksagungen für das
Vorwort vergessen.  Ich danke allen Kunden, die mich durch interessante
Anregungen und Lösungsvorschläge unterstützt haben, aber besonders Herrn Schorpp
für seine äußerst wertvolle Mitarbeit.  Ebenfalls möchte ich mich bei den
jeweiligen Herstellerfirmen der Modellbahnen bedanken, die mich immer mit
neuesten Informationen auf dem Laufenden gehalten haben, und auch bei allen
anderen, die zum Entstehen von \tc in der Version~2.0 beigetragen haben.

Ihr

Andreas Pilz



%===============================================================================
\chapter*{Lizenzvereinbarung} \markright{Lizenzvereinbarung}

\begin{enumerate}

\item {\bf Lizenz:} Alle Produkte von Schwammerl-Soft unterliegen dem
Urheberrecht und sind im Sinne des Urheberrechts geschützt.  Mit dem Kauf eines
Produktes von Schwammerl-Soft wird dem Käufer ein einfaches Recht zur Benutzung
des urheberrechtlich geschützten Produktes eingeräumt; die Software bleibt
Eigentum von Schwammerl-Soft.  Dieses Recht der Nutzung bezieht sich
ausschließlich darauf, daß dieses Produkt auf nur einem Computer verwendet bzw.
installiert wird.  Dem Käufer ist es erlaubt, zu Sicherungszwecken eine ({\bf
1}) Kopie zu erstellen oder das Programm auf Festplatte zu installieren, wie es
in der folgenden Anleitung erklärt wird.  Im Falle einer Kopie auf Diskette oder
auf ein anderes bewegliches Medium muß der Copyright-Vermerk fest auf der
Diskette angebracht sein, und es muß erkenntlich sein, daß es sich um eine
Sicherungskopie handelt.  Es ist nicht gestattet, die Software, das Handbuch
oder anderes Begleitmaterial in irgend einer Weise zu vervielfältigen oder zu
verbreiten, sofern es in diesem Vertrag nicht ausdrücklich gestattet ist.  Dem
Lizenzvertrag wird durch öffnen des Umschlags, in welchem sich die
Programmdiskette befindet und/oder durch das Zurücksenden der
Registrierungskarte an Schwammerl-Soft zugestimmt.

\item {\bf Gewährleistung:} Schwammerl-Soft übernimmt die Gewährleistung für das
Original-Produkt unter der Voraussetzung, daß die Registrierungskarte umgehend
nach dem Kauf an Schwammerl-Soft zurückgeschickt wird.  Schwammerl-Soft
gewährleistet, daß das Produkt unseren Spezifikationen und Angaben entspricht
und daß das Erzeugnis keine Mängel in Material und/oder Herstellung aufweist.
Mangelhafte Produkte, die innerhalb von 30~Tagen nach der Lieferung/Kauf auf
Kosten des Kunden an Schwammerl-Soft eingeschickt werden, wird Schwammerl-Soft
unter Ausschluß des Rechtes auf Minderung oder Wandlung anstandslos ersetzen.
Es wird keine Garantie für das fehlerfreie Funktionieren der Software oder für
die Genauigkeit der Daten übernommen.  Ebenso wird keine Gewährleistung
übernommen, daß das Produkt den Anforderungen des Käufers entspricht.  Eine
Garantie seitens Schwammerl-Soft entfällt, wenn das gelieferte Originalerzeugnis
beschädigt ist oder auf einem defekten, falsch installiertem oder einen durch
Computer-Viren beeinflußten Computer benutzt worden ist.  Ebenso wird eine
Haftung für Schäden an Hard- und Software ausgeschlossen, die durch die
unsachgemäße Benutzung unseres Produktes hervorgerufen werden.

\item {\bf Beendigung:} Das Vertragsverhältnis zwischen Schwammerl-Soft und dem
Käufer erlischt, wenn das Programm an einen Dritten übergeben wird, und
Schwammerl-Soft davon in Kenntnis gesetzt worden ist.  Das Rechtsverhältnis ist
ebenfalls beendet, wenn das Produkt vollständig (d.h.  mit allen angefertigten
Kopien und daß alle angefertigten Kopien gelöscht werden müssen) an
Schwammerl-Soft zurückgesandt wird.

\end{enumerate}

\markright{Inhaltsverzeichnis}
\tableofcontents


%===============================================================================
\chapter{Einführung}

Ein gutes Handbuch für ein Computer-Programm oder eine sonstige technische
Einrichtung zu schreiben, ist nicht einfach.  Entweder man hat das zu
beschreibende selbst entwickelt, ist mit der Materie bis ins letzte vertraut und
versteht zunächst einfach nicht, warum ein bestimmter Sachverhalt für einen
Laien bzw.  einen Nicht-Vertrauten nicht einsichtig ist.  Oder aber man hat von
der ganzen Sache keine oder nur wenig Ahnung, wird vielleicht nur kurz angelernt
und soll dann ein allgemein verständliches Handbuch schreiben.

Ich selbst gehöre zur ersteren Gruppe, da sowohl das Programm als auch das Ihnen
vorliegende Handbuch von mir geschrieben wurden.  Ich möchte deshalb den
geneigten Leser --- ob Modellbahner oder Computer-Mensch --- schon jetzt um
Nachsicht und gleichzeitig um kreative Kritik zur Verbesserung der Programme zu
\tc und zum Handbuch bitten.

In diesem Kapitel erfahren Sie die Grundlagen, die für einen reibungslosen
Betrieb mit \tc notwendig sind.  Es werden vereinfachte Schreibweisen ebenso
erläutert, wie die benötigte minimale bzw.  optimale Ausstattung für Computer
und Modellbahnanlage beschrieben wird.


%-------------------------------------------------------------------------------
\section{\label{ReadMe}Erläuterungen zum Lesen des Handbuchs}

Ehe Sie weiterlesen noch einige Hinweise zu den verwendeten Abkürzungen und
``Sinnbildern'':

\key{RETURN} bedeutet, daß Sie die Return-Taste d.h.  die Taste
\key{$\hookleftarrow$} drücken sollen; \key{CTRL}~+~\key{A} bedeutet, daß {\em
gleichzeitig} die `Control'-Taste und die Taste `A' drücken sollen.

Sollen Sie mit der Maus einen Menüpunkt auswählen, so steht dies in eckigen
Klammern (\menu{,}); \menu{TC/Anlage speichern} bedeutet also, daß Sie mit der
Maus im ganz links liegenden Menüpunkt ``TC'' den Punkt ``Anlage Speichern''
auswählen sollen.  Die sog.  Shortcuts für die Menüs stehen jeweils hinter den
einzelnen Menüpunkten und werden mit \key{RAMIGA} (rechte Amiga-Taste) und der
jeweils angezeigten Taste aufgerufen.

Da \tc für drei völlig unterschiedliche Digital-Systeme erhältlich ist, es aber
der Einfachheit halber nur ein Handbuch dazu gibt, wird fast alles auch dreimal
erklärt.  Nein, nicht wie Sie denken.  Aber durch die bauartbedingten
Unterschiede der Digitalsysteme ist es manchmal notwendig, auch in der Bedienung
Unterscheidungen zu machen.  Im Text werden diese Unterschiede wie folgt
beschrieben:  \systeme{14}{32}{16}.  Dies bedeutet z.B.  im Bezug auf die im
jeweiligen System vorhandenen Geschwindigkeitsstufen, daß {\bf Märklin} 14, {\bf
Trix} 32 und {\bf Fleischmann} 16 Fahrstufen hat.  Welches Programm Sie haben,
ersehen Sie auf der Rückseite der \tc-Originaldiskette.

Ergänzungen des Handbuchs, die vor der Drucklegung nicht mehr Eingang in das
Hanbuch finden konnten, finden Sie ggf.  in der Datei ``{\tt ReadMe}'' oder
``{\tt Bitte lesen!}'' auf der \tc-Diskette.  Ein Doppelklick auf das Piktogramm
genügt, um den Inhalt am Bildschirm anzeigen zu lassen.


%-------------------------------------------------------------------------------
\section{Notwendige Ausstattung}

Für jedes der auf dem Markt zur Zeit erhältlichen Digital-Systeme ist eine
gewisse Mindestausstattung erforderlich, um sowohl die Verbindung zwischen
Computer und Modellbahn herzustellen als auch einen optimalen Betrieb zu
gewährleisten.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Benötigte Computer-Hardware}

Um mit \tc arbeiten zu können, benötigen Sie einen Commodore AMIGA mit
mindestens 1~MByte Speicher und mit Kickstart~1.3 bzw.  OS~2.0, einen
Farbmonitor und ein entsprechendes Verbindungskabel zwischen Computer und dem
jeweiligen Digital-System.  Es ist zu beachten, daß \tc eine PAL-Auflösung des
Bildschirms voraussetzt.  Sie müssen also evtl.  den entsprechenden ``Screen
Mode'' auswählen.

\tc läßt sich ohne weiteres auf einer Festplatte installieren.  Dazu müssen Sie
lediglich das ``HD-Install'' Piktogramm auf der \tc-Diskette anklicken und den
Dialog-Anweisungen folgen.  \tc läuft problemlos auf AMIGA-Rechnern, die mit
68020 bzw.  68030 Prozessoren ausgestattet sind.

Sollten Sie beabsichtigen, ihre Programme für die automatische Steuerung
auszudrucken, unterstützt der Programm-Editor von \tc den unter ``Preferences''
eingestellten Drucker.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Ausstattung für das Märklin digital System}

Als Minimalausstattung benötigen Sie:

\begin{itemize}
\item Eine Zentraleinheit CentralUnit 6020 oder CentralUnit= 6027 oder
CentralControl aus einer Startpackung,

\item mindestens einen Transformator, weitere je nach Größe der Anlage,

\item das Interface 6050,

\item die gewünschte Anzahl von Magnetartikel-Decodern wie z.B.  k83 und k84 und

\item mindestens eine Lokomotive, die mit einem entsprechenden Decoder
ausgestattet ist.

\end{itemize}

Um die Fähigkeiten der automatischen Steuerung voll auszunutzen, empfiehlt es
sich, die folgenden Bauteile anzuschaffen bzw.  einzusetzen:

\begin{itemize}
\item Mindestens ein Rückmeldemodul s88, weitere je nach Anlagengröße und

\item diverse Rückmeldekontakte wie z.B. Schalt- und Kontaktgleise oder
Reed-Kontakte.

\end{itemize}

Als Verbindung zwischen Rechner und Interface ist ein spezielles Kabel
notwendig, das auf der einen Seite eine 25-polige Sub-S-Buchse und auf der
anderen den beim Interface mitgelieferten DIN-Stecker (siehe Bild
\ref{VerbindungM}) hat.  Die DIP-Schalter auf der Rückseite des Interfaces
müssen wie in Abb.~\ref{Maerklin-DIP-Schalter} dargestellt eingestellt werden.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{Maerklin-DIP-Schalter.eps}}
\end{center}
\caption[DIP-Schalter am Märklin-Interface]{\label{Maerklin-DIP-Schalter} Einstellung der 
DIP-Schalter am Märklin-Interface}
\end{figure}


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Ausstattung für das Trix SELECtrix System}

Als Minimalausstattung benötigen Sie:

\begin{itemize}
\item Eine Zentraleinheit I oder II,

\item das Computer Interface,

\item die gewünschte Anzahl von Funktions-Decodern für Magnetartikel und

\item mindestens eine Lokomotive, die mit einem entsprechenden
Fahr\-zeug-De\-co\-der ausgestattet ist.

\end{itemize}

Um die Fähigkeiten der automatischen Steuerung voll auszunutzen, empfiehlt es
sich, zusätzlich die folgenden Bauteile anzuschaffen bzw.  einzusetzen:

\begin{itemize}
\item mindestens einen Besetztmelder oder mehrere, je nach Anlagengröße, sowie

\item diverse Rückmeldekontakte wie z.B. Schalt- und Kontaktgleise oder
Reed-Kontakte.

\end{itemize}

Als Verbindungskabel kommt ein Standard RS-232-C-Kabel zum Einsatz.  Das
Interface muß mit den DIP-Brücken auf eine Übertragungsrate 9.600~Baud
(=~9.600~Bit/s) eingestellt sein.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Ausstattung für das Fleischmann FMZ System}

Als Minimalausstattung benötigen Sie:

\begin{itemize}
\item Die Zentraleinheit,

\item mehrere FMZ-Empfängerbausteine für Magnetartikel und

\item mindestens eine Lokomotive, die mit einem entsprechenden
Fahr\-zeug-De\-co\-der ausgestattet ist.

\end{itemize}

Mit dem FMZ-System ist es nicht möglich, Rückmeldungen über den seriellen Bus zu
erhalten.  Die Rückmeldung in \tc funktioniert deshalb nicht wie bei den anderen
Systemen!  Als Verbindungskabel kommt ein RS-232-C-Kabel zum Einsatz; dieses muß
über eine Treiberstufe verfügen, da am Port der Zentraleinheit nur TTL-Pegel
(0/+5~V) anliegen.  Der AMIGA benötigt aber die standardmäßigen $\pm$~12~Volt.
Das Kabel erhalten Sie bei Fleischmann bzw.  Ihrem Fachhändler unter der
Artikelnummer 6882.  Die Zentraleinheit muß auf lokbezogenen Fahrbetrieb
gestellt sein, das heißt, daß der Schalter an der Rückseite der Zentraleinheit
auf dem Loksymbol stehen muß (Abb.~\ref{FMZ-Schalter}).

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{FMZ-Schalter.eps}}
\end{center}
\caption[FMZ Fahrbetriebsschalter]{\label{FMZ-Schalter} Einstellung des 
Schalters an der Rückseite der FMZ-Zentrale für lokbezogenen Fahrbetrieb}
\end{figure}


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Ausstattung für das Elektor EDiTS System}

Als Minimalausstattung benötigen Sie:

\begin{itemize}
\item Die Zentraleinheit mit der Interfaceschaltung,

\item mehrere Funktions-Decoder für Magnetartikel und

\item mindestens eine Lokomotive, die mit einem entsprechenden
Fahr\-zeug-De\-co\-der ausgestattet ist.

\end{itemize}

Um die Fähigkeiten der automatischen Steuerung voll auszunutzen, empfiehlt es
sich, zusätzlich die folgenden Bauteile anzuschaffen bzw.  einzusetzen:

\begin{itemize}
\item Mindestens ein Rückmeldemodul, weitere je nach der Größe der Anlage, sowie

\item diverse Rückmeldekontakte wie z.B. Schalt- und Kontaktgleise oder
Reed-Kontakte.

\end{itemize}

Als Verbindungskabel kommt ein Standard RS-232-C-Kabel zum Einsatz.  Das
Interface muß auf eine Übertragungsrate von 2.400~Baud (=~2.400~Bit/s)
eingestellt sein.  Für EDiTS existiert zur Zeit noch keine eigene
Programmversion.  Da es weitestgehend zu Märklin kompatibel ist, gilt das für
Märklin Ausgeführte.


%===============================================================================
\chapter{\label{Vorbereitung}Vorbereitung}

Da jede Modellbahnanlage unterschiedlich ist, ist es notwendig, gewisse
Vorbereitungen zu treffen, damit \tc überhaupt mit dem Digital-System
kommunizieren kann.  \tc müssen die Adressen der Magnetartikel ebenso bekannt
sein wie die der einzelnen Lokomotiven oder anderen Einrichtungen wie
Drehscheiben oder Kräne.

Bitte bauen Sie Computer und Digital-System so auf, wie es in den jeweiligen
Bedienungsanleitungen beschrieben ist.  Verbinden Sie die serielle Schnittstelle
des Rechners mit dem Computeranschluß des Digital-Systems.  {\bf Dabei ist zu
beachten, daß Computer und Digital-System dabei abgeschaltet sind; es könnten
sonst Schäden auftreten!} Es ist sinnvoll, wenn Sie sich einen Gleisplan Ihrer
Modellbahnanlage zur Hand nehmen, in den Sie alle Magnetartikel eintragen.  Dies
erleichtert enorm die Programmierung und die evtl.  spätere Fehlersuche.

{\bf Führen Sie die im folgenden beschriebenen Schritte grundsätzlich mit einer
Kopie der Originaldiskette durch und heben Sie die Originaldiskette nach dem
Kopieren an einem sicheren Ort auf.  Das Kopieren einer Diskette ist im
Computerhandbuch beschrieben.}

Dem Programmpaket liegen drei farbige Aufkleber bei, die Sie bitte auf die
Vorderseite der unteren drei Cursortasten (dies sind die vier Tasten zwischen
Haupttastatur und Zahlenblock) kleben.  Auf die Taste mit dem Pfeil nach links
kommt der rote, auf die mit dem Pfeil nach unten der grüne und auf die mit dem
Pfeil nach rechts der gelbe Aufkleber.  Mit diesen Tasten werden die
Magnetartikel geschaltet.


%-------------------------------------------------------------------------------
\section{Eingabe der Magnetartikel}

Neben Weichen und Signalen verwendet \tc noch den Begriff ``Magnete''. Unter
diesem Begriff ist alles zusammengefaßt, was vom Computer aus gesteuert werden
kann. Das sind z.B. Entkupplungsgleise, Lichter, die Türen eines Lokschuppens
usw. Die Bezeichnung ``Magnetartikel'' faßt Weichen, Signale und Magnete
zusammen.

Ich möchte Ihnen die Eingabe der Magnetartikel nun an einer einfachen
``Zum~Beispiel''-Anlage erläutern (siehe Abb.~\ref{BspAnl1}).  Das macht das
Ganze etwas weniger theoretisch und erhöht die Übersichtlichkeit.  Sie nehmen am
besten den Gleisplan Ihrer Anlage zur Hand und vollziehen die folgenden
Schritte --- während Sie das Handbuch weiterlesen --- gleich für Ihre Anlage
nach.  Am Ende dieses Abschnitts werden Sie eine Art ``Telefonbuch'' erstellt
haben, das für \tc eine eindeutige Zuordnung der Magnetartikel zu ihrem ``Namen''
darstellt.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{BspAnl1.eps}}
\end{center}
\caption[Beispielanlage]{\label{BspAnl1} Gleisbild der ``Zum~Beispiel''-Anlage}
\end{figure}

Tragen Sie bitte die Nummern der Anschlüsse, d.h.  die fortlaufenden Adressen
ein, an die die jeweiligen Magnetartikel, d.h.  auch alle Beleuchtungen, usw.
angeschlossen sind.  So befinden sich am Decoder~1 die Adressen 1 bis 4, am
Decoder~2 die Adressen 5 bis 8, usw.  Diese Arbeit haben Sie wahrscheinlich
schon erledigt, als Sie ihre Modellbahn geplant bzw.  aufgebaut haben.  Der
Gleisplan sollte nun so ähnlich wie in Abb.~\ref{BspAnl2} aussehen.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{BspAnl2.eps}}
\end{center}
\caption[Beispielanlage mit Decodern]{\label{BspAnl2} Gleisbild der ``Zum~Beispiel''-Anlage
mit eingetragenen Magnetrtikelnummern}
\end{figure}

Im nächsten Schritt werden den jeweiligen Gruppen von Magnetartikeln eigene
Nummern zugeordnet, anhand derer die Geräte dann von \tc aus angesprochen 
und gesteuert werden können.  Die drei Gruppen von Magnetartikeln, die \tc
kennt, sind Signale~({\tt S}), Weichen~({\tt W}) und eben Magnete~({\tt M}).
Demzufolge werden die Signale von {\tt S001} ab, die Weichen von {\tt W001} ab
und die Magnete ab {\tt M001} fortlaufend durchnummeriert.  Die maximal
möglichen Magnetartikelnummern sind bis zu den Werten {\tt S255}, {\tt W255} und
{\tt M255} erlaubt.  Dies ist allerdings mehr als jedes im Moment erhältliche
Digital-System verkraften kann; so werden Sie wohl nicht an die Grenzen des
Machbaren stoßen.  Bei der Vergabe der Magnetartikelnummern ist es sinnvoll,
sich an ein bestimmtes Zählverfahren zu halten, da es später dann leichter ist,
einen Magnetartikel wiederzufinden, wenn sich der Gleisplan einmal in Wohlgefallen
aufgelöst haben sollte.

Für Magnetartikel, die statt zwei drei Zustände darstellen können, wie z.B.
HP2-Signale oder Dreiwegweichen, muß noch eine zusätzliche Decoderbuchse
angegeben werden, die den dritten Schaltzustand darstellt.  Am Ende sollte Ihr
Gleisplan so ähnlich aussehen, wie in Abb.~\ref{BspAnl3} dargestellt, und Sie
können nun beginnen, das eigentliche ``Telefonbuch'' einzugeben.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{BspAnl3.eps}}
\end{center}
\caption[Beispielanlage mit Magnetartikelnummern]{\label{BspAnl3} Gleisbild der ``Zum~Beispiel''-Anlage
mit eingetragenen Nummern der Anschlüsse und Magnetartikelnummern}
\end{figure}

Die Datei ``{\tt Magnetartikel}'' im Verzeichnis ``{\tt Startup}'' stellt dieses
Telefonbuch dar.  Sie ist eine reine Textdatei (ASCII) und beschreibt in jeder
Zeile einen Magnetartikel bzw.  die Anzahl der angeschlossenen
Rückmeldeeinheiten.  Deshalb können Sie zur Eingabe jeden beliebigen Texteditor
(z.B.  MEmacs, Ed oder Notepad) oder Ihre bevorzugte Textverarbeitung (z.B.
Documentum oder Beckertext~II) verwenden.  Bitte lesen Sie in der jeweiligen
Beschreibung nach, wie das Programm bedient wird, mit dem Sie die Datei ``{\tt
Startup/Magnetartikel}'' bearbeiten.  Wenn sie mit einer Textverarbeitung die
Datei bearbeiten, ist es wichtig, daß die Datei wieder als ASCII-Datei bzw.
reine Textdatei gespeichert wird.

Der allgemeine Aufbau einer Zeile ist:

\begin{center}
{\tt X\#\#\# \#\#\# X \#\#\# X}
\end{center}
Diese Zeichenfolge läßt sich wie folgt erläutern:
\begin{itemize}

\item{\tt\bf X\#\#\#} ist die Magnetartikelnummer.  Zulässige Werte sind {\tt
S001}--{\tt S255}, {\tt W001}--{\tt W255}, {\tt M001}--{\tt M255} und
\systeme{{\tt K000}--{\tt K032}}{{\tt K000}--{\tt K111}}{{\tt K000}} für die
Anzahl der verwendeten Rückmeldemodule.

\item{\tt\bf \#\#\#} ist die Nummer des Anschlusses, an den der Magnetartikel
angeschlossen ist.  Zugelassene Werte sind \systeme{\tt 1--255}{\tt 1--111}{\tt
1--119}.

\item{\tt\bf X} ist der Zustand, den der Magnetartikel hat oder haben soll, wenn
\tc gestartet wird, d.h.  der Grundzustand.  Zugelassen sind ``R'', ``G'', und
``M'', für rot, grün und gelb bei Signalen, rund, gerade und mitte bei Weichen
und ``R'' und ``G'' für z.B.  aus und ein bei Magneten.

\item{\tt \#\#\#} ist die Anschlußnummer der Buchse für den dritten Zustand.
Zugelassene Werte sind auch hier \systeme{1--255}{1--111}{1--119}.

\item{\tt X} ist die Buchse, die den dritten Zustand schaltet.  Hier sind ``R''
und ``G'' erlaubt.

\end{itemize}

Die {\bf fett}geschriebenen Parameter {\em müssen} angegeben werden, die anderen
nur, wenn Magnetartikel mit drei Zuständen verwendet werden.  Zwischen den
einzelnen Parametern muß {\em genau ein Leerzeichen} sein und die Zeile muß ganz
links beginnen, d.h.  keine Leerzeichen oder Tabulatoren vor der
Magnetartikelnummer.  Sie sollten die Datei sorgfältig eingeben, da keine
Prüfung auf Korrektheit oder Syntax stattfindet.  Da Sie diese Datei aber in der
Regel nur ein einziges Mal eingeben, ist dies nicht weiter tragisch.  Beachten
Sie bitte auch, daß die Anzahl der Rückmeldeeinheiten (Parameter~{\tt K}) als
einzige Ausnahme keine weiteren Parameter nach sich zieht.

Auf der Beispielanlage ist Signal Nummer sieben ein HP2-Signal mit drei
Zuständen und es ist eine Rückmeldeeinheit angeschlossen.  Die Datei für die
``Zum Beispiel''-Anlage sieht demnach wie folgt aus:

\begin{center}
{\tt \begin{tabular}{llllll}
S001 & 013 & R \\
S002 & 011 & R \\
S003 & 010 & G \\
S004 & 009 & R \\
S005 & 006 & G \\
S006 & 004 & R \\
S007 & 001 & R & 014 & R &{\rm HP2-Signal} \\
W001 & 012 & G \\
W002 & 008 & R \\
W003 & 007 & R \\
W004 & 005 & G \\
W005 & 003 & R \\
W006 & 002 & G \\
K001 &     &   &     &   &{\rm eine Rückmeldeeinheit} \\
\end{tabular}}
\end{center}

Damit ist die Eingabe der Magnetartikel abgeschlossen.  Auf der ``Zum
Beispiel''-Anlage sind Magnete nicht berücksichtigt.  Deren Eingabe ist aber
auch nicht schwerer als bei den anderen Magnetartikeln.  Bei der Eingabe des
Grundzustandes muß lediglich beachtet werden, daß ``R'' den Magnetartikel
ausschaltet und ``G'' den Magentartikel wieder einschaltet.  Einpolige
Magnetartikel wie z.B.  Entkopplungsgleise werden nicht unterstützt.  Man kann
also zwei einpolige Magnetartikel an einen Anschluß für Magnete legen und unter
der jeweiligen Magnetartikelnummer beide gleichzeitig ansprechen.

Sie können \tc nun zum ersten Mal starten.  Dabei sollten, wenn Sie alles
richtig gemacht haben, die Magnetartikel selbstätig durchgeschaltet werden, und
zwar genau so, daß sie im gerade eingegebenen Grundzustand stehen.
Fehlermeldungen, die \tc anzeigt, brauchen Sie im Moment noch nicht beachten.


%-------------------------------------------------------------------------------
\section{\label{Lokdaten}Eingabe der Lokomotiven}

Die Daten der Lokomotiven werden in der Datei ``{\tt Lokomotiven}'' im
Verzeichnis ``{\tt Startup}'' abgelegt.  Dies ist ebenfalls eine ASCII- bzw.
reine Textdatei, die Sie auch mit Ihrem bevorzugten Texteditor bearbeiten
können.  Dies ist in der Regel nicht notwendig, da Sie Lokomotiven auch
jederzeit in \tc selber eingeben können.  Der Dateiaufbau sei hier nur der
Vollständigkeit halber angegeben. Eine Zeile der Datei hat den Aufbau:

\begin{center}
{\tt \#\#\# \#\# \# XX XXXXXXXXXXXXXXXXXXXXXXXXX}
\end{center}
der sich wie folgt erklären läßt:
\begin{itemize}
\item{\tt \#\#\#} ist die Loknummer wie sie am Decoder der Lok eingestellt ist.

\item{\tt \#\#} ist die maximal mögliche Fahrstufe der Lokomotive. Zugelassen
sind hier Werte zwischen 0 und \systeme{14}{31}{15}.

\item{\tt \#} ist die Beschleunigungsstufe der Lok, wie sie in der automatischen
Steuerung verwendet wird.  0 bedeutet das sofortige Hochsetzen der
Geschwindigkeit ohne Verzögerung.  Höhere Werte bis max.  9 ergeben jeweils eine
längere Beschleunigungszeit von einer zur nächsten Fahrstufe.  Zum Beispiel eine
Schnellzugs-E-Lok hätte die Beschleunigungszeit 2 und eine schwere
Güterzugs-Dampf-Lok die Beschleunigungszeit 9.

\item{\tt XX} gibt die Art der Zusatzfunktion(en) an.  Der erste Buchstabe für
die erste Ziusatzfunktion und der zweite --- sofern vorhanden --- für die
zweite.  Die Buchstaben ``L'', ``T'', ``R'', ``H'' und ``K'' stehen für Licht,
Telexkupplung, Raucheinsatz, Horn und keine Zusatzfunktion.

\item Die restlichen 25 Zeichen in der Zeile geben die Baureihe der Lok oder
eine andere Bezeichnung der Lok an, anhand derer Sie die Lok auf der Anlage
wiederfinden können.  Alles, was darüber hinausgeht, wird von \tc nicht
beachtet.

\end{itemize}

Aber, wie bereits gesagt, soll diese Aufstellung nur der Vollständigkeit halber
hier aufgeführt sein.  In der Regel werden Sie die Eingabemöglichkeiten der
Lokdaten im Programm nutzen.


%-------------------------------------------------------------------------------
\section{Das Dateiauswahlfenster}

Immer, wenn \tc eine Entscheidung benötigt, unter welchem Namen und in welchem
Verzeichnis eine Datei gespeichert werden soll, erscheint das in
Abb.~\ref{BS_Dateiauswahl} gezeigte Dateiauswahlfenster.

\begin{figure}[htb]
\begin{center}
\makebox(6.45,6){\ifffile BS_Dateiauswahl.iff(6cm,6cm)}
\end{center}
\caption[Das Dateiauswahlfenster]{\label{BS_Dateiauswahl} Das Dateiauswahlfenster
zur Auswahl des Verzeichnisses und des Namens einer Datei}
\end{figure}

Bei ``Verz.'' kann ein gültiger Verzeichnispfad eingegeben werden.  Die Eingabe
muß mit \key{RETURN} oder \key{ENTER} abgeschlossen werden.  Bei ``Datei'' wird
der Name der Datei genauso angegeben.  Eine Datei kann ausgewählt werden, indem
entweder der Name eingetippt wird oder die Datei im Fenster mit der Maus
angeklickt wird.  Mit ``OK'' wird die Datei übernommen; mit ``Ende'' wird der
Auswahlvorgang abgebrochen.  Mit einem Doppelklick auf den Namen der Datei im
Fenster wird die Datei ausgewählt und übernommen.  Mit dem Rollbalken auf der
rechten Seite des Fensters kann der Inhalt verschoben werden.  Die Dateien
werden alphabetisch sortiert vor den ebenfalls sortierten Verzeichnissen
angezeigt.  Ein Verzeichnis ist an dem Vorsatz ``{\tt (dir)}'' zu erkennen.
Durch einen Klick auf einen Verzeichnisnamen wird dieses Verzeichnis zum
aktuellen Verzeichnis.  Der Eintrag am oberen Ende wird entsprechend geändert
und zeigt den neuen Pfad an.


%===============================================================================
\chapter{\label{Handsteuerung}Die Handsteuerung}

Nun ist es endlich soweit \ldots Sie können \tc starten!  Entweder Sie
``booten'' Ihren Amiga direkt von der Diskette, --- \tc wird dann automatisch
gestartet ---, oder Sie machen einen Doppelklick auf das Programm-Icon.  Nach
kurzer Zeit meldet sich \tc mit dem Intro-Bildschirm und gibt Ihnen
Informationen darüber, was es gerade macht.  Den Intro-Bildschrim sehen Sie in
Abb.~\ref{BS_Intro}.  Sobald \tc sich bereit meldet, können Sie mit dem Schalten
und Walten beginnen.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Intro.iff(7.5cm,6cm)}
\end{center}
\caption[\tc Intro-Bildschirm]{\label{BS_Intro} Der Intro-Bildschirm von \tc}
\end{figure}

Der Bildschirm ist bei \tc immer in drei Bereiche aufgeteilt.  Der obere größte
Bereich ist die eigentliche Anzeigetafel.  Nach dem Start sehen Sie dort das
\tc-Logo und den Copyright-Vermerk.  In diesem Bereich werden z.B.  die Lokdaten
oder die Gleisbilder angezeigt.  Dieser Bereich ist für Sie --- egal ob als
``Lokführer'' oder als ``Fahrdienstleiter'' --- die Haupt-Informationsquelle.
Auch lösen Sie hier die meisten Funktionen aus.

Mit der darunterliegenden schmalen Knopfleiste wählen Sie die gewünschte
Anzeigetafel aus.  Dies ist entweder das Lokpult mit vier Anzeigen für
Lokomotiven (LOK) oder eines von zehn möglichen Gleisbilder (GB1--GB10).  Die
Anzeigetafeln können entweder am Bildschirm durch einen Mausklick oder durch die
\key{ESC}~-Taste für das Lokpult oder mit den Funktionstasten
\key{F~1}~--~\key{F10} für das zugehörige Gleisbild ausgewählt werden.

Der restliche untereste Teil des Bildschirms ist der Informations- und
Magnetartikelbereich zur Zustandsüberwachung.  Neben der Statuszeile, in der \tc
z.B.  während des Startens anzeigt, was gerade vor sich geht, wird hier neben
der aktuellen Rechner-Uhrzeit auch angezeigt, welche Lok auf Handsteuerung, d.h.
mit dem Zahlenblock der Tastatur gesteuert wird und welche Lok mit der
Fernsteuerung, d.h.  mit einem Joystick zur Zeit gesteuert wird.  Daneben
befinden sich die Schalter für die Magnetartikel und der Netz-Schalter der
Anlage.  Mit dem Netzschalter kann die Stromversorgung der Modellbahnanlage
zusammen mit der automatischen Steuerung abgeschaltet werden (außer bei FMZ).
Beim Einschalten wird allerdings nur die Gleisspannung wieder angelegt.  Die
Automatik muß ausSicherheitsgründen separat wieder eingeschaltet werden!  Die
gleiche Funktion erreichen Sie auch mit \key{SPACE} zum Aus- und \key{TAB} zum
Einschalten.

Im Menü \menu{TC} befinden sich drei Einträge.  Mit dem ersten Eintrag
\menu{TC/Anlage speichern} bzw.  mit \key{RAMIGA}~+~\key{S} werden alle
wichtigen Daten, die \tc im Speicher hält, auf Diskette gespeichert.  Dazu
gehören die Stellung aller Magnetartikel, die Lokdaten, die geladenen
Gleisbilder und alle sich im Speicher befindlichen Programme und Fahrstraßen.
Bei einem erneuten Start von \tc werden diese Daten automatisch wieder geladen.
Aber Vorsicht:  Es wird ebenfalls abgespeichert, ob ein Programm zur Zeit des
Speicherns läuft oder nicht \ldots.

Bei Anwahl von \menu{TC/Copyright} wird das \tc-Logo genauso wie beim
Programmstart angezeigt.  Jedoch wird in der Statuszeile neben der genauen
Versionsnummer auch noch die Seriennummer Ihres Programms und das
Entstehungsdatum angezeigt.  Diese Informationen sind wichtig, wenn Sie einmal
Probleme mit \tc haben sollten und die Unterstützung unserer ``Hotline''
benötigen.

Mit \menu{TC/TC verlassen} beenden Sie das Programm.  Davor wird --- soweit dies
vom Digital-System unterstützt wird --- die Gleisspannung abgeschaltet, damit
die Modellbahnanlage nicht plötzlich nur noch von ``Geisterzügen'' befahren
wird.


%-------------------------------------------------------------------------------
\section{Die Loksteuerung}
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Loksteuerung von Hand}

\tc bietet zur Loksteuerung verschiedene Möglichkeiten.  Schaltzentrale hierfür
ist das ``Fahrpult für Lokomotiven'' wie Sie es in Abb.~\ref{BS_Lokfahrpult}
sehen können.  Aufgerufen wird die Loksteuerung entweder über einen Mausklick
auf den Lok-Knopf, \key{ESC} oder durch \menu{Lokomotiven/Loksteuerung}.  Das
``Fahrpult für Lokomotiven'' gliedert sich in vier identische Einzelfahrpulte,
die unabhängig voneinander bedient werden können.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Lokfahrpult.iff(7.5cm,6cm)}
\end{center}
\caption[Das Lokfahrpult]{\label{BS_Lokfahrpult} Das Lokfahrpult mit seinen
vier Einzelfahrpulten zur Loksteuerung}
\end{figure}

Jedes Fahrpult besitzt ganz links eine Anzeige für die Loknummer.  Die Loknummer
ist die Nummer, unter der der eingebaute Decoder angesprochen wird.  Rechts
davon befinden sich die Fahrtrichtungsanzeige mit dem Schieberegler für die
Fahrstufe.  Zeigt der Pfeil nach rechts, fährt die Lokomotive vorwärts, zeigt er
nach links, fährt die Lok rückwärts.  Bei Märklin ist darauf zu achten, daß der
Computer nur den Befehl zum Umschalten der Fahrtrichtung geben kann.  Steht eine
Lok auf einem isolierten Gleisabschnitt, ``hört'' der Decoder unter Umständen
diesen Befehl nicht.  Die Anzeige am Bildschrim ist dann verkehrt.  Dies hat
auch Auswirkung auf die Automatik; aber dazu später mehr.  Der Fahrregler kann
je nach Digital-System in \systeme{14}{32}{16} Stufen verschoben werden.

Rechts wiederum sind die Schalter für die Zusatzfunktionen, wobei nur Selectrix
zwei Zusatzfunktionen bietet.  Die Art der Zusatzfunktion wird ebenfalls
angezeigt.  Daneben befindet sich eine Anzeige für die Baureihe und drei Knöpfe
mit den Aufschriften ``Hand'', ``Fern'' und ``Vor''.

Ist der ``Hand''-Knopf erleuchtet, wird die entsprechende Lok über den
Zahlenblock der Computer-Tastatur gesteuert.  Eine Lok wird zur Hand-Steuerung
ausgewählt, indem mit der Maus entweder der Hand-Knopf oder das Anzeigefeld der
Loknummer angeklickt wird.  Mit den Zifferntasten \key{0}--\key{9} kann dann die
Loknummer eingegeben werden.  Hierzu können {\em nur} die Zifferntasten des
Zahlenblocks verwendet werden; die Zifferntasten der Haupttastatur haben in
diesem Zusammenhang keine Funktion.  Ist die Loknummer seitens des
Digital-Systems nicht zulässig, blinkt diese.  Die Loknummer kann auch geändert
werden, wenn das Lokfahrpult nicht sichtbar ist.  \tc gibt in diesem Fall eine
entsprechende Meldung in der Statuszeile aus.  Mit \key{$+$} und \key{$-$} wird
die Fahrstufe erhöht bzw.  verringert.  \key{Enter} hält eine Lok sofort an.
Mit \key{.} wird die Fahrtrichtung umgeschaltet.  \key{*} und \key{/} schalten
die erste bzw.  die zweite Zusatzfunktion ein und aus.  Die beiden Klammertasten
haben unter \tc keine Funktion.

Mit dem ``Fern''-Knopf wird die Lok dem am zweiten Mausanschluß des Computers
anschließbaren Joystick zugeordnet.  Da das Verbindungskabel zwischen Computer
und Joystick mehrere Meter lang sein kann, eignet sich ein Joystick ideal zur
Fernsteuerung, den man bei größeren Modelbahnanlagen auch bequem herumtragen
kann.  Bewegt man den Joystick vorwärts bzw.  rückwärts, wird die
Geschwindigkeit erhöht bzw.  verringert.  Wird der Joystick nach rechts bzw.
links bewegt, werden die erste bzw.  die zweite Zusatzfunktion der Lokomotive
geschaltet.  Mit dem Druckknopf am Joystick wird die Lok angehalten, wenn die
Fahrstufe größer als Null ist.  Steht die Lok, wird die Fahrtrichtung
umgeschaltet.  Die jeweils aktuelle Hand- bzw.  Fern-Lok wird im
Informationsbereich links unten angezeigt.  Eine Null bedeutet, daß keine Lok
zugewiesen ist.

Die Steuerung mit der Maus erfolgt in Amiga-gewohnter Weise.  Die Fahrtrichtung,
die Fahrstufe und die Funktionen können durch einen Mausklick bzw.  durch
Verschieben des Geschwindigkeitsreglers bei gedrückt gehaltener linker Maustaste
bedient werden.

Über den Vor-Knopf ist es möglich, zwei Lokomotiven in Doppeltraktion zu
steuern.  Dazu muß bei einer der beiden Lokomotiven der Vor-Knopf angeklickt
werden.  \tc fragt dann die Nummer der zweiten Lokomotive ab.  Ist auch die
andere Lok angezeigt, wird auch dort der Vor-Knopf hell und es erscheint rechts
daneben die Nummer der jeweils anderen vorgespannten Lok.  Ab diesem Zeitpunkt
können beide Lokomotiven mit einem der diesen Loks zugeordneten Einzelfahrpulte
gesteuert werden, wie dies gerade beschrieben wurde.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Eingabe der Lokdaten}

\tc bietet zur Eingabe der Lokdaten ebenfalls einen eigenen Bildschirm
(Abb.~\ref{BS_Lokeingabe}).  Dieser bietet eine bedeutend komfortablere Methode,
Lokdaten einzugeben, als mit dem Texteditor wie in Abschnitt~\ref{Lokdaten}
beschrieben ist.  Während eine Lok eingegeben wird, kann die Anlage trotzdem
weitergesteuert werden.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Lokeingabe.iff(7.5cm,6cm)}
\end{center}
\caption[Die Eingabe der Lokdaten]{\label{BS_Lokeingabe} Eingabebildschirm für die
Lokdaten}
\end{figure}

Um die Daten einer Lok einzugeben oder zu ändern, muß zuerst die Lok am Fahrpult
als die aktuelle Hand-Lok ausgewählt werden.  Das bedeutet, daß sowohl der
Hand-Knopf leuchten muß als auch die Loknummer der betreffenden Lok im selben
Fahrpult angezeigt wird.  Danach kann mit \menu{Lokomotiven/Lok eingeben} bzw.
mit \key{RAMIGA}~+~\key{L} der Lokeingabe-Bildschirm aufgerufen werden.

Im oberen Bildschirmteil wird links oben die aktuelle Loknummer angezeigt, die
hier nicht geändert werden kann.  Um die Daten einer neuen Lok einzugeben oder
zu ändern, muß die Loksteuerung aufgerufen werden und die betreffende Lok als
aktuelle Hand-Lok ausgewählt werden.  Daneben ist ein String-Gadget
(Texteingabefeld) in dem die Baureihe (z.B.  120 001-2) oder eine andere maximal
25~Zeichen lange Zeichenkette (z.B.  Dampflokomotive) eingegeben werden kann,
die helfen soll, die Lok auf der Anlage wiederzufinden.  Die Eingabe muß mit
\key{RETURN} oder \key{ENTER} abgeschlossen werden.  Anhand dieser Zeichenkette
erkennt \tc außerdem, daß diese Lok gespeichert werden soll.  Geben Sie die
Zeichenkette nicht an, wird die Lok auch nicht auf Diskette gespeichert und die
Daten gehen dann nach Beendigung des Programms verloren.

Darunter kann mit einem Schieberegler die maximal zulässige Fahrstufe (d.h.  die
loktypische und modellgerechte Höchstgeschwindigkeit) angegeben werden.  Ein
Überschreiten dieser maximalen Fahrstufe wird dann von \tc unterbunden.  Damit
kann die Höchstgeschwindigkeit einer Lok den modellgerechten Gegebenheiten
angepaßt werden.  Desweiteren kann rechts davon eine Beschleunigungs- und
Verzögerungsstufe angegeben werden, was dann bei der automatischen Steuerung der
Lokomotive ein sanftes Anfahren und Abbremsen des Zuges ermöglicht.  Es können
Werte zwischen 0 und 9 eingetragen werden.  Bei der Beschleunigungsstufe 0 wird
die Geschwindigkeit sprunghaft geändert.  Dies ist interessant, wenn die
Lokomotiven mit einem Dekoder ausgerüstet sind, der bereits eine modellgerechte
Anfahr- und Bremsverzögerung eingebaut hat.  Beschleunigungsstufen zwischen 1
und 9 bedeuten eine längere Beschleunigungszeit.  So hat eine moderne E-Lok z.B.
die Beschleunigungszeit 1 oder 2 und eine schwere Güterzugsdampflok die
Beschleunigungszeit 8 oder 9.  Auch hier muß die Eingabe mit \key{RETURN} oder
\key{ENTER} abgeschlossen werden.

Aus den darunterliegenden Piktogrammen können Sie die jeweiligen
Zusatzfunktionen auswählen, die an den Decoder angeschlossen sind.  Möglich sind
Licht, elektromagnetische Kupplung (z.B.  Märklin Telex-Kupplung), Raucheinsatz,
Signalhorn oder mit dem roten Kreuz:  ``keine Zusatzfunktion''.  Das jeweilige
Piktogramm erscheint, wenn es ausgewählt ist, eingeschaltet.  Die Piktogramme
dienen lediglich der Information und haben keinen Einfluß auf die Funktionsweise
der Zusatzfunktion in der Lokomotive.

Sie dürfen nicht vergessen, die Lokdaten entweder mit \menu{Lokomotiven/Loks
speichern} bzw.  \key{RAMIGA}~+~\key{O} oder mit \menu{TC/Anlage speichern} bzw.
\key{RAMIGA}~+~\key{S} auf Diskette oder Festplatte zu sichern, damit sie auch
beim nächsten Programmstart von \tc wieder zur Verfügung stehen.  Im
Dateiauswahlfenster werden automatisch Verzeichnis und Name der Datei angezeigt,
die beim Laden von \tc gelesen wird.  Es ist die Datei ``{\tt Lokomotiven}'' im
``{\tt Startup}''-Verzeichnis von \tc.  Sie können die momentan gespeicherten
Lokdaten aber auch unter einem anderen Namen speichern, wenn Sie z.B.
Lokomotiven mit gleichen Dekodernummern haben oder auf Ihrer Anlage mit
unterschiedlicher Ausrüstung fahren.  Eine solche Datei mit Lokdaten können Sie
jederzeit mit \menu{Lokomotiven/Loks laden} bzw.  \key{RAMIGA}~+~\key{I} wieder
laden.


%-------------------------------------------------------------------------------
\section{Schalten von Magnetartikeln}

Wie bereits am Anfang von Abschnitt~\ref{Handsteuerung} beschrieben, befindet
sich im unteren Bereich des Bildschirms immer der Magnetartikel.  Auf der linken
Seite befinden sich drei Knöpfe mit den Aufschriften ``Weiche'', ``Signal'' und
``Magnet''.  Sie können diese Knöpfe entweder mit der Maus anklicken oder mit
dem entsprechenden Anfangsbuchstaben auf der Tastatur aufrufen.  Danach fragt
\tc nach der Nummer des Magnetartikels, den Sie schalten wollen.  Geben Sie eine
Zahl ein und beenden Sie die Eingabe mit \key{RETURN} oder \key{ENTER}.  Sollte
der Magnetartikel in der Datei ``{\tt Startup/Magnetartikel}'' nicht definiert
sein, blinkt die Anzeige der Magnetartikelnummer.  Dann haben Sie entweder eine
falsche Nummer eingegeben, in der Datei ``{\tt Magnetartikel}'' einen Fehler
oder den Magnetartikel in der Datei noch gar nicht definiert.

Haben Sie einen Magnetartikel ausgewählt, können Sie ihn mit den drei Knöpfen
rechts neben der Magnetartikelnummer schalten.  Auch hier, entweder mit einem
Mausklick oder mit den drei Cursortasten, die ja, wie unter
Abschnitt~\ref{Vorbereitung} vorgeschlagen, die jeweiligen farbigen Aufkleber
tragen.

Mit dem Menüpunkt \menu{Gleis/Alles schalten} werden alle Magnetartikel
durchgeschaltet.  Damit ist es möglich, Computer und Modellbahn wieder in
Einklang zu bringen, z.B.  nach einem Kurzschluß oder nachdem von Komponenten
des Digital-Systems parallel zum Rechner Magnetartikel verstellt wurden.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Die Gleisbildstellpulte}

Auch zum Schalten der Magnetartikel bietet \tc einen noch komfortableren Weg ---
die Gleisbildstellpulte.  \tc stellt zehn Gleisbildstellpulte
(Abb.~\ref{BS_Gleisbildstellpult}) zur Verfügung, die Sie jederzeit mir dem
beiliegenden Editor ``GBEdit'' erstellen und verändern können (siehe
\ref{GBEdit}).  Es existiert ein Baukasten mit ca.  50 Elementen, der in Zukunft
noch erweitert werden wird.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Gleisbildstellpult.iff(7.5cm,6cm)}
\end{center}
\caption[Das Gleisbildstellpult]{\label{BS_Gleisbildstellpult} Eines der zehn
möglichen Gleisbildstellpulte in \tc}
\end{figure}

Geladen wird ein Gleisbild durch \menu{Gleis/Gleisbild laden/GBnn} bzw.  mit den
Short-Cuts \key{RAMIGA}~+~\key{nn}.  Für ``{\tt nn}'' stehen die Zahlen 1 bis
10, je nachdem, auf welchen Speicherplatz das Gleisbild geladen werden soll.
\tc erfragt auch hier mit dem Dateiauswahlfenster, welches Gleisbild geladen
werden soll.  Ist der Speicherplatz des Gleisbildes angezeigt, wird auch das
neue Gleisbild angezeigt.

Mit \menu{Gleis/Gleisbild anzeigen/GBnn} bzw.  mit \key{F1}--\key{F10} oder mit
einem Mausklick auf die ``GBnn''-Knöpfe wird eines der zehn Gleisbilder am
Bildschirm angezeigt.  Nun kann durch einfaches Anklicken eines
Funktionselementes im Gleisbild dieser Magnetartikel zum aktuellen, d.h.
schaltbaren Magnetartikel gemacht werden.  Der Magnetartikel wird in den
Magnetartikelbereich eingetragen und kann nun wie oben beschrieben mit der Maus
oder den Cursortasten geschaltet werden.  Das Gleisbild gibt immer den aktuellen
Zustand der Magnetartikel wieder, der im Computer gespeichert ist.  Änderungen,
die z.B.  von der Automatik verursacht werden, werden sofort d.h.  auf
neudeutsch on-line angezeigt.

Mit dem Menüpunkt \menu{Gleis/Gleisbild bearbeiten} wird der Gleisbildeditor
``GBEdit'' aufgerufen.  Ist ein Gleisbild bereits angezeigt, wird es dem Editor
zur Bearbeitung übergeben.  Andernfalls startet der Editor mit einem leeren
Gleisbild.  ``GBEdit'' kann auch über die Workbench aufgerufen werden, da er ein
von \tc unabhängiges Programm darstellt.  Nachdem ein Gleisbild bearbeitet
wurde, muß es wie oben beschrieben wiederum in \tc neu geladen werden.  Die
Änderungen werden nicht automatisch übernommen, damit es nicht zu
unvorhersehbaren Zwischenfällen kommen kann.

Mit der \key{HELP}-Taste können die Nummern der Magnetartikel ein- und wieder
ausgeblendet werden.  Dies ist von Interesse, um evtl.  nach längerer Zeit einen
Gleisausschnitt wiederzufinden, als Hilfe bei der Erstellung von Programmen für
die automatische Steuerung oder bei der doch meist unvermeidlichen Suche nach
eigenen Programmierfehlern.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{\label{GBEdit}Der Gleisbildeditor ``GBEdit''}

Mit dem Gleisbildeditor ``GBEdit'' werden --- wie der Name schon sagt --- die
Gleisbilder für \tc bearbeitet.  Ein Gleisbild wird aus verschiedenen Gleis- und
Funktionelementen aus einem Baukasten zusammengesetzt.  Die Bedienung des
Gleisbildeditors ist so angelegt, daß eine kurze Einarbeitungsphase reicht, um
die eigene Anlage darstellen zu können.  Es stehen ca.  50 solcher Elemente zur
Verfügung, die in 6 Gruppen aufgegliedert sind.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Gleisbildeditor.iff(7.5cm,6cm)}
\end{center}
\caption[Der Gleisbildeditor ``GBEdit'']{\label{BS_Gleisbildeditor} Der
Gleisbildeditor mit seinen Gruppen-Knöpfen und Baukastenelementen}
\end{figure}

Aufgerufen werden die Gruppen entweder durch einen Mausklick auf den
entsprechenden Knopf oder mit den Funktionstasten \key{F1} bis \key{F6}.  Die
Gruppen enthalten im einzelnen die folgenden Bausteine:

\begin{itemize}
\item {\bf Gleise \key{F1}:} In dieser Gruppe sind alle Gleiselemente enthalten,
die keine Funktion haben.  Es existieren gerade, schräge und --- zur Darstellung
von Kurven --- kombinierte Stücke.  Auch Prellböcke sind hierin mit enthalten.

\item {\bf Weichen \key{F2}:} Hier befinden sich Weichen als Funktionselemente
wieder,

\item {\bf Signale \key{F3}:} das gleiche für diverse Arten von Signale und

\item {\bf Magnete \key{F4}:} für Magnete mit ihren jeweiligen Funktionen.

\item {\bf Kontakte \key{F5}:} Unter den Kontakt-Bausteinen finden Sie z.B.
Anzeigen zur ``Gleis besetzt''-Meldung u.ä.

\item {\bf Info \key{F6}:} Die Info-Bausteine dienen u.a.  zur Nummerierung von
Gleisen.

\end{itemize}

Ein Baustein wird ausgewählt, indem Sie ihn mit der Maus anklicken.  Ein
besonderer Baustein ist der ``leere Baustein''; er dient zum Löschen anderer
Bausteine.  Ist der Baustein ausgewählt, kann er durch anklicken der Position,
auf die er gesetzt werden soll ``eingebaut'' werden.  Als Orientierungshilfe
zeigt ``GBEdit'' ein Raster aus weißen Kreuzen an.  Zwischen diese Kreuze kann
ein Baustein gesetzt werden.  Handelt es sich bei dem Baustein um ein
Funktionselement, muß danach noch die Nummer des Elements angegeben werden; also
bei einer Weiche die Weichennummer, bei einer Gleisbesetztanzeige die Nummer des
zugehörigen Kontaktes usw.  ``GBEdit'' zeigt die Nummern der Funktionselemente
immer mit an.

Der Rasterbereich, in das Bausteine gesetzt werden können, ist 16 mal 12
Bausteine groß.  Sollte es passieren, daß das ganze Gleisbild verschoben werden
muß, weil der Rand näher kommt, kann es mit dem Menü \menu{Verschieben} in vier
Richtungen verschoben werden.  Die Punkte im Menü \menu{Projekt} sind
selbsterklärend.  Mit \menu{Projekt/Neu} wird das Gleisbild gelöscht und ein
neues, noch leeres begonnen.

Die beste Methode, den Umgang mit dem Gleisbildeditor zu lernen ist, sich
einfach etwas Zeit zu nehmen und anzufangen, ein Gleisbild zu entwerfen.
Anfänglich ist es vielleicht noch nicht ganz so perfekt, wie Sie es sich
wünschen \ldots aber es ist ja schließlich noch kein Meister vom Himmel
gefallen.


%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\subsection{Die Fahrstraßen}

\tc bietet noch eine weitere Möglichkeit zur Steuerung der Magnetartikel:  die
Fahrstraßen.  ``Fahrstraßen'' haben zwar den gleichen Namen wie beim großen
Vorbild, unterscheiden sich doch aber von den Fahrstraßen, wie sie bei der
großen Bahn bekannt sind; --- die Eisenbahn-Fans unter Ihnen mögen es mir
verzeihen.  Für \tc sind Fahrstraßen kleine Programme ähnlich wie für die
Automatik mit einem eingeschränkten Befehlsumfang.  Durch dieses Konzept ist
es z.B.  möglich, mit nur einer einzigen ``Fahrstraße'' einen ganzen
Schattenbahnhof zu steuern.

Im Abschnitt~\ref{AutoBefehle} werden die Befehle beschrieben, die für
Fahrstraßen verwendet werden können.  Auch die Programmierung der Fahrstraßen
erfolgt mit dem Programmeditor ``PEdit'' (siehe Abschnitt~\ref{Programmeditor}).
Der Unterschied zu einem Programm besteht darin, daß Fahrstraßen sofort
geschaltet werden und nicht von der Automatik abhängen.  Es ist nicht möglich,
Fahrstraßen gegenseitig zu verriegeln, da dann die Fahrstraße eine höhere
Priorität hätte als die Automatik.  Dies würde wiederum den Ablauf der Programme
empfindlich stören.

Die unter \menu{Gleis} zu findenden Menüpunkten \menu{Fahrstraße schalten} bzw.
\key{RAMIGA}~+~\key{F}, \menu{Fahrstraße laden} und \menu{Fahrstraße löschen}
entsprechen den jeweiligen Menüpunkten im Menü \menu{Auto} (siehe
Abschnitt~\ref{VerwendProgramme}).  Auch hier werden die Aktionen auf der Anlage
ggf.  auf den Gleisbildstellpulten angezeigt.


%===============================================================================
\chapter{\label{Automatik}Die automatische Steuerung}

Was Sie bisher über \tc gelernt haben, könnten Sie mit entsprechendem Aufwand an
Digital-Komponenten oder Bauteilen auch konventionell lösen.  Die Rechtfertigung
für den Einsatz des Computers liegt in der Realisierung von automatischen
Betriebsabläufen.  Dabei ist es egal, ob dies der Pendelverker einer Nebenbahn
ist oder die komplexe Steuerung eines mehrgleisigen Schattenbahnhofs.  Wie auch
bei der industriellen Anwendung, soll hier der Computer stupide oder immer
wiederkehrende Abläufe dem Menschen abnehmen.

\tc bietet hier eine ganze Bandbreite von Möglichkeiten.  Sie selbst können
entscheiden, welche Betriebsabläufe vom Computer abgenommen werden.  Grenzen
finden Sie lediglich in der Computer-Hardware und in Ihrer eigen Phantasie, da
die Automatik in \tc nicht nur für das Abarbeiten eines starren Fahrplans
ausgelegt ist, sondern auch eine eigene Programmiersprache zur Steuerung und
Regelung der Modellbahn bietet.  Deshalb spreche ich auch von Programmen und
nicht von Fahrplänen, die Sie in der automatischen Steuerung ablaufen lassen
können.  Es liegt also in Ihren Händen, die Fähigkeiten von \tc voll
auszureizen.


%-------------------------------------------------------------------------------
\section{\label{VerwendProgramme}Die Verwendung von Programmen}

Um ein Programm unter \tc zu verwenden, muß dieses zuerst mit dem Programmeditor
``PEdit'' erstellt werden.  Nähere Erläuterungen dazu finden Sie im Abschnitt
\ref{Programmeditor}.  Im Gegensatz zur Vorgängerversion ist ``PEdit'' nicht
mehr Bestandteil des \tc-Programms, sondern wird als eigenes Programm
mitgeliefert.  Sie starten den Editor entweder aus \tc heraus mit
\menu{Auto/Programm bearbeiten} oder Sie rufen das Programm durch Doppelklick
von der Workbench aus auf.

Haben Sie ein Programm erstellt und auf Diskette gespeichert, können Sie es mit
\menu{Auto/Programm laden} oder mit \key{RAMIGA}~+~\key{P} laden.  Erst damit
steht es \tc zur Abarbeitung mit \menu{Auto/Programm starten} bereit.  Ein
einzelnes Programm läßt sich jederzeit mit \menu{Auto/Programm stoppen}
anhalten, kann jedoch danach nur wieder von ganz vorne gestartet werden.  Mit
\menu{Auto/Programm löschen} wird ein Programm wieder aus dem Speicher des
Rechners aber {\em nicht} von Diskette gelöscht.  Dazu müssen Sie die
entsprechenden Funktionen des Betriebsystems verwenden, wie sie im Handbuch des
Amigas beschrieben sind.

Programme können jederzeit dem Automatikbetrieb hinzugefügt werden bzw.  aus dem
Programmablauf entfernt werden.  Sie sollten dabei aber darauf achten, daß nicht
plötzlich ein Geisterzug auf Ihrer Anlage fährt, dem Sie durch das Löschen eines
einzelnen Programms die Kontrolle entzogen haben!

\begin{figure}[htb]
\begin{center}
\makebox(6.45,6){\ifffile BS_Programmauswahl.iff(6cm,6cm)}
\end{center}
\caption[Das Programmauswahlfenster]{\label{BS_Programmauswahl} Das
Programmauswahlfenster, um Programme zu starten, zu stoppen oder zu löschen}
\end{figure}

Wenn einer der Menüpunkte zum Starten, Stoppen oder Löschen eines Programms
aufgerufen wird, bringt \tc das Programmauswahlfenster, wie es in der Abbildung
\ref{BS_Programmauswahl} zu sehen ist, auf den Bildschirm.  In dem Fenster kann
ähnlich wie bei der Dateiauswahl die sichtbare Liste mit dem Schieberegler auf
der rechten Seite verschoben werden.  Ein Programm wird durch einen Doppelklick
auf den Programmnamen aufgerufen.  Die jeweilige Funktion kann abgebrochen
werden, indem ``{\tt --- ABBRUCH ---}'' aus der Programmliste aufgerufen wird.

Neben einzelnen Programmen kann auch die gesamte automatische Steuerung
angehalten werden; dies geschieht mit \menu{Auto/Automatik E/A} bzw.  mit der
Tastenkombination \key{RAMIGA}~+~\key{A}.  Der Haken links neben dem Menüpunkt
ist sichtbar, wenn die automatische Steuerung läuft.  Wird die Automatik wieder
eingeschaltet, fährt sie dort fort, wo sie angehalten wurde.  Die Automatik wird
ebenfalls komplett abgeschaltet, wenn Sie den Nothalt mit \key{SPACE} oder mit
dem Netzschalter unten rechts am Bildschirm auslösen.  Um die Automatik nach
einem Nothalt wieder in Gang zu setzen, muß zuerst mit \key{TAB} --- soweit dies
z.B.  wie bei Märklin und Trix vom Digital-System unterstützt wird --- das
Digital-System und danach mit \key{RAMIGA}~+~\key{A} die Automatik wieder
eingeschaltet werden.


%-------------------------------------------------------------------------------
\section{\label{Programmeditor}Der Programmeditor ``PEdit''}

Der Programmeditor ``PEdit'' ist genauso aufgebaut wie \tc und der
Gleisbildeditor ``GBEdit''.  Auch hier existiert wieder die Dreiteilung des
Bildschirms (Abb.~\ref{BS_Programmeditor}).  Lediglich der unterste Bereich wird
im Programmeditor nur für die Statuszeile verwendet.

\begin{figure}[htb]
\begin{center}
\makebox(7.95,6){\ifffile BS_Programmeditor.iff(7.5cm,6cm)}
\end{center}
\caption[Der \tc Programmeditor ``PEdit'']{\label{BS_Programmeditor} Oberfläche des
\tc-Programmeditors ``PEdit''}
\end{figure}

Im Menü \menu{Projekt} finden sich die vom Gleisbildeditor ``GBEdit'' bereits
bekannten Befehle wieder.  Sie haben auch die gleiche Funktion.  Lediglich der
Punkt \menu{Projekt/Drucken} ist neu.  Wählt man diesen Punkt aus, wird das
augenblicklich angezeigte Programm auf dem im Amiga unter ``Preferences''
eingestellten Drucker ausgegeben.  Damit können Sie Ihre Programmierarbeit auch
dokumentieren und sich damit die oftmals schwierige Fehlersuche erleichtern.

Der rote Balken ist der Cursor.  An dieser Stelle werden Befehle, die Sie
eingeben, eingefügt.  Sie können den Cursor entweder mit dem Schieberegler und
den Pfeil-Knöpfen rechts neben der Programmliste oder mit den folgenden Tasten
bewegen:

Mit \key{HOME} und \key{END} (das ist die Beschriftung auf der Vorderseite der
Tasten des Zahlenblocks; hier \key{7} und \key{1}) bewegen Sie den Cursor an den
Anfang bzw.  ans Ende des Programms.  \key{PGDN} und \key{PGUP} bewegen den
Cursor eine Bildschirmseite nach unten oder oben.  Letztlich können Sie mit den
Cursortasten den Balken zeilenweise nach oben und unten verschieben.  Es ist
aber auch möglich, eine Zeile einfach mit der Maus anzuklicken.  Mit der
\key{DEL}-Taste können Sie den Befehl löschen, der sich an der Cursorposition
befindet.

Um Programmteile zu verschieben oder zu kopieren, befinden sich im zweiten Menü
\menu{Verschieben} die notwendigen Funktionen.  Zuerst muß mit dem Menüpunkt
\menu{Blockanfang} und dem dazugehörigen Punkt \menu{Blockende} ein Block
markiert werden, der dann mit dem Menüpunkt \menu{kopieren} und dem Punkt
\menu{schneiden} zwischengespeichert wird.  \menu{einfügen} fügt den
zwischengespeicherten Block {\em vor} dem Befehl ein, auf welchem der
Cursorbalken steht.  Dies geschieht in vergleichbarer Weise, wie Sie es vom
Texteditor kennen.

Eingaben müssen immer mit \key{RETURN} abgeschlossen werden.  Erkennt ``PEdit''
dabei einen Fehler, können Sie die Eingabezeile nicht verlassen, bzw.  Sie
kehren immer zur gleichen Zeile zurück.  Manchmal ist es jedoch möglich, mit
\key{RETURN} eine leere Eingabe zu machen, z.B.  bei der Eingabe der
Zusatzfunktion der Lok, wenn diese ihren Zustand nicht ändern soll.


%-------------------------------------------------------------------------------
\section{\label{AutoBefehle}Die Befehle der automatischen Steuerung}

Im folgenden bekommen Sie eine Übersicht über alle verfügbaren Befehle, die \tc
beherrscht.  Befehle, die hinter dem Befehlsnamen noch ein ``(F)'' haben, können
auch für Fahrstraßen verwendet werden.  Nach jedem Befehl folgt eine Auflistung
der Parameter, die ``PEdit'' abfragt mit den jeweils zulässigen Eingaben.

\begin{itemize}
\item {\bf Lok} steuert das fahrende Material der Anlage. Dabei wird auch die
Beschleunigungsstufe berücksichtigt, die in den Lokdaten eingetragen ist:
\begin{enumerate}
\item Loknummer: \systeme{{\tt 1}--{\tt 80}}{{\tt 1}--{\tt 109}}{{\tt 1}--{\tt 119}}
\item Fahrtrichtung: {\tt V} oder {\tt R}, vorwärts oder rückwärts
\item Geschwindigkeit: \systeme{{\tt 0}--{\tt 14}}{{\tt 0}--{\tt 31}}{{\tt 0}--{\tt 15}}
\item Funktion 1: {\tt E} oder {\tt A}, ein oder aus, sofern der Zustand der
Lokfunktion sich ändern soll
\item Funktion 2: {\tt E} oder {\tt A}, ein oder aus, sofern der Zustand der
Lokfunktion sich ändern soll
\end{enumerate}

\item {\bf Gleis} (F) dient der Steuerung der Magnetartikel:
\begin{enumerate}
\item Art des Magnetartikels: {\tt S}, {\tt W} oder {\tt M}, für Signal, Weiche
oder Magnet
\item Magnetartikelnummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R}, {\tt G} oder {\tt M}, für rot, grün oder gelb bei
Signalen, rund, gerade oder mitte bei Weichen und aus- und eingeschaltet bei
Magneten
\end{enumerate}

\item {\bf Pause} verzögert die Ausführung des Programms, bis ein bestimmtes
Ereignis eintritt:
\begin{enumerate}
\item Art der Verzögerung: {\tt Z}, {\tt K}, {\tt W}, {\tt S}, {\tt M} oder 
{\tt V}, für

Pause in Sekunden
\begin{enumerate}
\item Zeitspanne in Zehntel einer Sekunde: {\tt 1}--{\tt 255}
\end{enumerate}
Warten auf den Zustand eines Kontakts
\begin{enumerate}
\item Kontaktnummer: {\tt 1}--{\tt 255}, je nach Anzahl angeschlossener
Rückmeldeeinheiten
\item Zustand:  {\tt B}, {\tt F} oder {\tt N}, für belegt, frei oder von Nummer
überfahren.

Die Option von Nummer überfahren ist nur der Vollständigkeit halber für
zukünftige Erweiterungen vorgesehen und hat zur Zeit noch keine Funktion (siehe
auch Abschnitt~\ref{ReadMe})!
\end{enumerate}
Warten auf den Zustand einer Weiche
\begin{enumerate}
\item Weichennummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R}, {\tt G} oder {\tt M}, für rund, gerade oder mitte
\end{enumerate}
Warten auf den Zustand eines Signals
\begin{enumerate}
\item Signalnummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R}, {\tt G} oder {\tt M}, für rot, grün oder gelb
\end{enumerate}
Warten auf den Zustand eines Magnets
\begin{enumerate}
\item Magnetnummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R} oder {\tt G}, für aus oder ein
\end{enumerate}
Warten auf den Zustand einer Variablen
\begin{enumerate}
\item Variablennummer: {\tt 1}--{\tt 26}
\item Kriterium:  {\tt <}, {\tt >}, {\tt =} oder {\tt !}, für kleiner als,
größer als, gleich wie oder ungleich wie
\item Vergleichswert: {\tt 0}--{\tt 255}
\end{enumerate}
\end{enumerate}

\item {\bf Wenn} (F) stellt eine bedingte Abfrage eines Zustandes dar:
\begin{enumerate}
\item Abfrage bezogen auf: {\tt Z}, {\tt K}, {\tt W}, {\tt S}, {\tt M} oder 
{\tt V}, für

Zustand eines Kontakts
\begin{enumerate}
\item Kontaktnummer: {\tt 1}--{\tt 255}, je nach Anzahl angeschlossener
Rückmeldeeinheiten
\item Zustand:  {\tt B}, {\tt F} oder {\tt N}, für belegt, frei oder von Nummer
überfahren.

Die Option von Nummer überfahren ist nur der Vollständigkeit halber für
zukünftige Erweiterungen vorgesehen und hat zur Zeit noch keine Funktion (siehe
auch Abschnitt~\ref{ReadMe})!
\end{enumerate}
Zustand einer Weiche
\begin{enumerate}
\item Weichennummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R}, {\tt G} oder {\tt M}, für rund, gerade oder mitte
\end{enumerate}
Zustand eines Signals
\begin{enumerate}
\item Signalnummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R}, {\tt G} oder {\tt M}, für rot, grün oder gelb
\end{enumerate}
Zustand eines Magnets
\begin{enumerate}
\item Magnetnummer: {\tt 1}--{\tt 255}, je nach der in der Datei
``Magnetartikel'' definierten Anzahl
\item Stellung: {\tt R} oder {\tt G}, für aus oder ein
\end{enumerate}
Zustand einer Variablen
\begin{enumerate}
\item Variablennummer: {\tt 1}--{\tt 26}
\item Kriterium:  {\tt <}, {\tt >}, {\tt =} oder {\tt !}, für kleiner als,
größer als, gleich wie oder ungleich wie
\item Vergleichswert: {\tt 0}--{\tt 255}
\end{enumerate}
\end{enumerate}
Zu jedem ``Wenn'' muß ebenfalls ein ``Ende~--~Wenn'' existieren (siehe unter
``Ende'' weiter unten)!

\item {\bf Variable} (F) ändert den Inhalt einer der 26 möglichen Variablen in
\tc:
\begin{enumerate}
\item Variablennummer: {\tt 1}--{\tt 26}
\item Art der Änderung:  {\tt S}, {\tt E}, {\tt H} oder {\tt R}, für das Setzen,
Einlesen, Hoch- oder Runterzählen der Variablen.

Die Funktion ``Einlesen'' ist noch nicht integriert und nur der Vollständigkeit
halber aufgeführt (siehe auch Abschnitt~\ref{ReadMe})!

\item Wert:  {\tt 0}--{\tt 255}, auf diesen Wert wird die Variable gesetzt bzw.
um diesen Wert erhöht oder verringert.  Dabei ist zu beachten, daß beim Zählen
nur der Wertebereich von {\tt 0}--{\tt 255} zugelassen ist.  Werden die Grenzen
überschritten, wird der jeweils andere Endwert angenommen.  Das heißt, wenn 0 um
1 verringert wird, hat die Variable den Wert 255, und wenn z.B.  250 um 20
erhöht wird, hat die Variable den Inhalt 14, da 256 wieder der Null entspricht
und 20 minus 6 gleich 14.
\end{enumerate}

\item {\bf Goto} setzt die Programmausführung an einer anderen Stelle des
Programms fort:
\begin{enumerate}
\item Zeilennummer:  Es ist darauf zu achten, daß die angesprochene Zeilennummer
tatsächlich existiert.  Der Sprung auf eine nicht vorhandene Zeilennummer kann
das Programm zum Absturz bringen.  Die Zeilennummern werden beim Editieren des
Programms nicht automatisch angepaßt.
\end{enumerate}

\item {\bf Programm} ruft ein im Speicher befindliches Programm auf:
\begin{enumerate}
\item Art des Aufrufs:  {\tt U} oder {\tt R}, für Aufruf als Unterprogramm oder
als eigenes Programm.  Wird ein Programm als Unterprogramm aufgerufen, wird das
aufrufende Programm solange angehalten, bis das Unterprogramm beendet ist.  Wird
ein Programm ``gerufen'', laufen danach beide Programme gleichzeitig und
unabhängig.  Dies hat die gleiche Funktion wie \menu{Auto/Programm starten} bzw.
\key{RAMIGA}~+~\key{G}.
\end{enumerate}

\item {\bf Text} (F) fügt einen Kommentar in das Programm ein:  Sie können damit
die Übersichtlichkeit und Lesbarkeit Ihrer Programme erhöhen.  Es sind bis zu 70
Zeichen erlaubt (eine Programmzeile).

\item {\bf Ende} beendet ein Programm oder einen Programmabschnitt:
\begin{enumerate}
\item Art des Ende:  {\tt I} oder {\tt P}, für beenden einer bedingten
``Wenn''-Abfrage oder Abbrechen des Programms.  ``Ende~-~Wenn'' wird für die
bedingte Abfrage (siehe oben) benötigt.  ``Ende~-~Programm'' beendet die
Ausführung des laufenden Programms und hat dieselbe Funktion wie
\menu{Auto/Programm stoppen} bzw.  \key{RAMIGA}~+~\key{.}.
\end{enumerate}
\end{itemize}


%-------------------------------------------------------------------------------
\section{\label{ARexx}ARexx-Befehle}

ARexx ist eine Makrosprache für den Amiga, die unter der Bezeichnung ``Rexx''
von M.~F.~Collishaw entwickelt und von W.~S.~Hawes für das Amiga-Betriebssystem
implementiert wurde.  ARexx erlaubt die Kommunikation zwischen Programmen, die
sich gleichzeitig im Arbeitsspeicher des Computers befinden, und die einen sog.
``ARexx-Port'' (d.h.  eine Schnittstelle zu ARexx) aufweisen.  Damit ist es
nicht mehr notwendig --- wie in der PC-Welt --- eine Schnittstelle für jedes
Programm vorzusehen, aus dem oder zu dem man Daten übertragen will.  Immer mehr
Anwendungen unterstütze ARexx, zumal es seit der Version 2.04 des
Amiga-Betriebssystems zum Lieferumfang des Amigas gehört.  ARexx ist nicht
Bestandteil des \tc-Programmpakets!

Mit ARexx ist es also möglich, \tc von außen zu steuern; unabhängig von der
Automatik.  Es ist beispielsweise denkbar, daß Sie sich in einer
Tabellenkalkulation oder einem Texteditor, die ARexx unterstützen, eine Fahrplan
schreiben, der dann von ARexx an \tc übertragen wird.

Zur Zeit bietet die Schnittstelle zu ARexx nur einen sehr kleinen Befehlsumfang,
der aber immer weiter ausgebaut werden soll.  Im folgenden sind die zur Zeit
verfügbaren Befehle aufgeführt.  Sollten sich Änderungen nach Drucklegung des
Handbuchs ergeben, sind diese wie im Abschnitt \ref{ReadMe} beschrieben auf der
Diskette zu finden.  Ein ARexx-Programm kann aus \tc heraus mit der Funktion
\menu{Auto/ARexx-Programm} bzw.  \key{RAMIGA}~+~\key{R} gestartet werden.  \tc
fragt mit dem Dateiauswahlfenster nach der entsprechenden Datei im ``{\tt
Rexx:}''-Verzeichnis.

Der notwendig Port für ARexx heißt ``{\tt TCRexx}''.  Die Groß- und
Kleinschreibung ist zu beachten.  Er kann aus ARexx mit {\tt address TCRexx}
angesprochen werden.  Über {\tt options results} kann die Rückgabe von
Ergebnissen in der Variable {\tt result} angefordert werden.  Die Befehle sind
im einzelnen:

\begin{itemize}
\item {\bf LOK} steuert --- wie sollte es auch anders sein --- eine Lok. Die
Syntax des Befehls ist:

\begin{center}
{\tt LOK nummer geschwindigkeit funktion1 funktion2}
\end{center}

Für {\tt nummer} und {\tt geschwindigkeit} sind die bereits unter Abschnitt
\ref{AutoBefehle} genannten Wertebereiche zulässig.  Ist {\tt nummer} negativ,
wird nur die aktuelle Geschwindigkeit der Lok zurückgemeldet und keine Aktion
vorgenommen.

\item {\bf SIGNAL, WEICHE und MAGNET} schalten die gewünschten Magnetartikel.
Die Syntax ist:

\begin{center}
{\tt SIGNAL nummer stellung}
\end{center}
\begin{center}
{\tt WEICHE nummer stellung}
\end{center}
\begin{center}
{\tt MAGNET nummer stellung}
\end{center}

Auch hier liefert eine negative Nummer die Stellung des entsprechenden
Magnetartikels zurück.  Für Stellung sind {\tt Rot}, {\tt Gruen} und {\tt Mitte}
zulässig.  Es wird jedoch lediglich das erste Zeichen berücksichtigt, d.h.  {\tt
R}, {\tt G} und {\tt M} haben die gleiche Wirkung.

\item {\bf TCVOR} bringt den \tc-Bildschirm nach vorne.
\end{itemize}


%-------------------------------------------------------------------------------
\section{\label{ProgBsp}Programmbeispiel: Schattenbahnhof}

Als Beispiel für ein Programm der automatischen Steuerung von \tc sei hier die
Steuerung eines dreigleisigen Schattenbahnhofs aufgeführt. Das entsprechende
Programm finden Sie auch auf der \tc-Diskette unter dem Namen ``{\tt
AutoSchattenbhf.}''.  Sie können es als Grundlage für eigene Entwicklungen
verwenden und ausbauen.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{BspSchatten.eps}}
\end{center}
\caption[Programmbeispiel Schattenbahnhof]{\label{BspSchatten} Dreigleisiger
Schattenbahnhof mit Einfahrsignal und Kontaktgleisen}
\end{figure}

Ziel des Programms ist es, anhand der Kontaktgleise K1 bis K3 selbständig ein
freies Gleis im Schattenbahnhof zu suchen, die Fahrstraße dorthin zu schalten,
das entsprechende Signal auf ``Halt'' zu stellen und den Zug einfahren zu
lassen.  Danach soll das Einfahrsignal wieder auf Rot gestellt werden.  Die
Aufgabe ist rein gleisbezogen, damit jede Lokomotive in den Schattenbahnhof
einfahren kann.  Es ist deshalb unbedingt notwendig, die Signale im
Schattenbahnhof mit einer Zugbeeinflussung auszustatten.

Das Programm sieht wie folgt aus:

\input AutoSchattenbhf.asc

Die Variable Nummer 1 im Programm werden gesetzt, um anderen ggf.  laufenden
Programmen mitzuteilen, auf welchem Gleis als nächstes ein Zug einfährt. Ist die
Variable 1 gleich Null, ist der Bahnhof besetzt.  Das Programm kann für
Schattenbahnhöfe mit mehr als drei Gleisen ausgebaut werden, indem weitere {\tt
Wenn} -- {\tt Ende-Wenn}-Bedingungen angefügt und die Schaltfunktionen der
Weichen und Signale entsprechend korrigiert werden.


%*******************************************************************************
\begin{appendix}


%===============================================================================
\chapter{Verbindungskabel}


%-------------------------------------------------------------------------------
\section{Märklin}

\begin{figure}[htb]
\begin{center}
\framebox(11,7.5){\epsffile{Maerklin-Kabel.eps}}
\end{center}
\caption[Anschlußschema für Märklin/Arnold-Interface]{\label{Maerklin-Kabel}
Anschlußschema für Märklin/Arnold-Interface}
\end{figure}


%===============================================================================
\chapter{Anschluß~einer Dreiwegweiche}

Um eine Dreiwegweiche zusammen mit \tc schalten zu können, ist eine kleine
Diodenschaltung notwendig, die den Zustand rund/rund eliminiert.  Es werden vier
Dioden benötigt, die ca.  30~Volt --- je nach dem verwendeten Digital-System ---
vertragen.  Den Schaltplan können sie aus der Abb.~\ref{Weichen-Dioden} ersehen.

\begin{figure}[htb]
\begin{center}
\framebox(11.7,6){\epsffile{Weichen-Dioden.eps}}
\end{center}
\caption[Diodenschaltung für Dreiwegweichen]{\label{Weichen-Dioden} Schaltplan zum
Anschluß einer Dreiwegweiche an einen Decoder zusammen mit \tc}
\end{figure}


%===============================================================================
\markright{Abbildungsverzeichnis}
\listoffigures
\addcontentsline{toc}{chapter}{Abbildungsverzeichnis}

%===============================================================================
\newpage\vspace*{\fill}
\markright{Notizen}
\newpage\vspace*{\fill}
\newpage\vspace*{\fill}
\newpage\vspace*{\fill}
\newpage\vspace*{\fill}

\end{appendix}

\end{document}

