Herunterladen Inhalt Inhalt Diese Seite drucken

Das „Alte" (Ascii-Orientierte) Interface (Nur Für Programmierer Unter Den Zimo Anwendern) - ZIMO MX1 Betriebsanleitung

Inhaltsverzeichnis

Werbung

Seite 16
17. Das „alte" (ASCII-orientierte) Interface
Dieses Kapitel: nur für Programmierer unter den ZIMO Anwendern ...
Dieser Abschnitt ist nur für jene Anwender von Bedeutung, welche daran interessiert sind, die Mo-
dellbahn mit Hilfe eines externen Computers zu steuern, jedoch nicht eine fertige Software wie
"STP", „ESTWGJ", „Railroad & Co" verwenden.
Die serielle Schnittstelle des Basisgerätes MX1 erlaubt die Ansteuerung von Zügen und Magnetarti-
keln von einem externen Computer aus sowie die Abfrage der aktuellen Fahr- und Stelldaten aus
dem Computer.
Die Schnittstelle am MX1 ist als 9-polige Sub-D-Buchse ausgeführt; die Verbindung zur einer seriel-
len Schnittstelle des Computers erfolgt mit einem 1:1 durchverbundenen Kabel.
Das im folgenden beschriebene Protokoll ist eine Übernahme aus dem Vorläufer-Produkt des hier
beschriebenen Basisgeräte MX1 "model 2000" und wahrt die Kontinuität für bereits bestehende An-
wendungen. Ein leistungsfähigeres (alternatives) Protokoll (binäre anstelle ASCII Codierung) ist in
Vorbereitung.
Parameter für die Datenübertragung:
9600 bit /s (default) - 8 bit - keine Parität - Anzahl der Stop-Bits 1 oder 2.
(höhere Geschwindigkeiten durch CV # 12 wählbar).
Format der Befehle vom Computer zum MX1:
KENNBUCHSTABE -
INFORMATIONSBYTES
(definiert Art des Befahls)
(Inhalt des Befehls)
Das KENNBYTE ist ein ASCII-Buchstabe (z.B. S, F, K, usw.), welcher die Art des Befehls und damit
die Bedeutung der nachfolgenden Informationsbytes bestimmt.
Bei Kennbyte "S" gibt es nachfolgend nur ein einziges INFORMATIONSBYTE, und zwar in Form ei-
nes weiteren ASCII-Buchstabens (S, A, E).
Ansonsten sind an das Kennbyte eine Reihe von INFORMATIONSBYTEs angeschlossen, die jedoch
nicht direkt binär codiert im Befehl stehen, sondern jeweils als zwei ASCII-Zeichen, die den hexade-
zimalen Wert darstellen (Funktion "HEX$" in BASIC).
Am Ende jedes Befehls muss sich der Code für CARIAGE-RETURN befinden ("CHR$(13)" in Basic).
Bespiel für Öffnung der Schnittstelle und Fahrbefehl in BASIC:
OPEN "COM1:9600,N,8,1,CS,DS,CD" FOR OUTPUT AS #2
PRINT#2, "F"; "N"; HEX$(Fahrzeugadresse); HEX$(Fahrstufe);
HEX$(Datenbyte1); HEX$(Datenbyte1); CHR$(13);
"F" ist der Kennbuchstabe (Kennbyte) für Fahrbefehle; "Fahrzeugadresse" und "Datenbyte" liegen in
dezimaler Form vor (z.B. Fahrzeugadresse=123, das Datenbyte setzt sich zusammen aus Ge-
schwindigkeit und Zusatzfunktionen, siehe unten); CHR$(13) ist das abschließende Carriage-return.
ACHTUNG: Bei Datenwerten <16 muß eine führende "0" vorausgestellt werden !
Alle Informationsbytes (Fahrzeugadresse, Fahrstufe, Datenbytes, usw. in den nachfolgend beschrie-
benen Befehlen) müssen in Form von zwei ASCII-Zeichen zum MX1 geschickt werden. Die "HEX$"-
Funktion liefert jedoch in vielen BASIC-Varianten für Werte, die kleiner als 16 sind, nur ein einziges
- CARRIAGE-RETURN
(immer letztes Byte eines Befehls)
BASISGERÄTE MX1, MX1HS, MX1EC
Zeichen (eben die hexadezimalen Ziffern "0"" bis "F"). Der Anwender muß dafür sorgen, daß in die-
sem Falle eine "0" vorausgestellt wird; entweder - wenn möglich - durch ensprechende Basic-
Kommandos oder durch Definition einer eigenen Funktion, welche dies durchführt.
Hinweis auf die Erstellung der Befehle in anderer als BASIC-Umgebung:
Das Senden des jeweiligen Kennbuchstabens (ASCII) ist kein Problem. Die Codierung der Informati-
onsbytes wird folgendermaßen vorgenommen: beispielsweise entsprecht die Fahrzeugadresse "123"
der Hexadezimalzahl "7B"; gesendet werden daher die beiden ASCII-Zeichen "7" und "B" (Nur Groß-
buchstaben für hexadezimale Ziffern zulässig !). Ebenso geschieht es mit den Datenbytes: bei-
spielsweise ergibt "L-Funktion ein" und Geschwindikeitsstufe 14 im Fahrbefehl die hexadezimalen
Zahlen "1" und "E", die dann als ASCII-Zeichen gesendet werden müssen. ACHTUNG: immer zwei
ASCII-Zeichen pro Informationsbyte (nötigenfalls führende "Null").
Beschreibung der einzelnen Befehlsarten:
HINWEIS: Im Falle einer MX1-Bauart, die mehrere Datenformate (DCC, MOTOROLA) ausgibt, müs-
sen den jeweiligen Fahrzeug- bzw. Magnetartikeladressen ein Datenformat-Prefix vorangestellt wer-
den:
"N" für DCC (also für ZIMO Fahrzeug-Empfänger und NMRA-DCC kompatible Fremdprodukte wie
Lenz, Roco, usw.) / "M" für MOTOROLA (also für Märklin-Decoder),
Sammelstop- und Fahrspannungsbefehle:
Der gesamte Befehl besteht nur aus dem Kennbuchstaben "S" und einem weiteren Buchstaben, wel-
cher den Inhalt darstellt, sowie dem obligaten Carriage-Return:
"SS"; CHR$(13) - Sammelstop-Funktion einschalten (alle Züge anhalten).
"SA"; CHR$(13) - Fahrspannung ausschalten.
"SE"; CHR$(13) - Fahrspannung einschalten und Sammelstop-Funktion aus-
schalten (also wieder auf normalen Betrieb gehen).
Fahrbefehl:
Der Fahrbefehl besteht neben dem Kannbuchstaben "F" aus der anzusprechenden Fahrzeugadresse
und den Datenbytes, welche die Information über Geschwindigkeit, Richtung und Zusatzfunktionen
enthalten.
"F"; Datenformat-Prefix ("N","M") HEX$(Fahrzeugadresse);
HEX$(Fahrstufe); HEX$(Datenbyte 1), HEX$ (Datenbyte 2),
HEX$ (Datenbyte 3), CHR$(13)
Datenformat-Prefix
-nur "N", "Mzulässig, siehe Hinweis vorne.
Fahrzeugadresse -
dezimaler Wert (1 bis 255); bei einstell. Zahl ev. HEX$(0) voranstellen
Fahrstufe -
Fahrstufe im aktuell gültigen Geschwindigkeitsstufen-System
Datenbyte 1 -
Bit 7
MAN-Bit
Bit 6
Bit 5
Fahrtrichtung (0 = vorwärts, 1 = rückwärts)
Bit 4
Stirnlampen ein/aus (= DCC-Funktion 0)
Bit 3/2
DCC - Geschwindigkkeitsstufen-System
(01 = 14 Fahrstufen, 10 = 28 Fahrst., 11 = 127 Fahrst.;
Kennbuchstabe "S"
Kennbuchstabe "F"

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Mx1hsMx1ec

Inhaltsverzeichnis