CABTX ModemÜbertragung:

CABTX dient zur Datenübertragung von L.O.S. Aufträgen an ein Deckenfertigungszentrum über serielle, AT-Hayes kompatible, Modems.


Allgemeines:

CABTX ist ein CAB Programm und benötigt das Windows 16-Bit oder 32-Bit API, läuft also ab Windows 2.11 bis Windows /XP und Wine unterstützenden Linux- Systemen. Es basiert auf den seriellen Standardschnittstellen COM1: bis COM3 (bei manchen /XP Distributionen müssen diese nachinstalliert werden). Netzwerk und Barcodeleser werden unterstützt.

Dieses Softwareprogramm dient ausschließlich zur Übertragung von LTK und CAB Datensätzen, die mit den entsprechenden Programmen erstellt worden sind, an ein legimiertes Deckenfertigungszentrum. Dieses Softwareprogramm darf auf keinen Fall für einen anderen Zweck als dem oben Beschriebenen eingesetzt werden.

Der Update erfolgt durch Kopieren oder Bearbeiten der Dateien im Programmordner, eine weitere Installation ist nicht notwendig. Bei allen Veränderungen oder Updates ist unbedingt zuvor eine Sicherheitskopie des Programmordners anzulegen!


CAB-Installation:

Alle CAB-Programme werden üblicherweise im gleichen Verzeichnis (z.B. C:\PRG\CAB) installiert und teilen sich alle Konfigurations- und Einstelldaten. Die zentrale Konfigurationsdatei heißt CAB.INI und ist wie folgt aufgebaut:

[StartUp]
DataPath=Y:\LOSDATA
; zeigt auf die im LOS System üblichen Font- (*.BFB), Einband- (*.BSF) und Farbdateien (*.BST)
; hinzu kommen die CAB Dateien (*.BSM, *.BSC)

CoverMaterials=einband.bsf
; zeigt auf die Datei mit den Einbanddaten des zu verwendenden Decken-Produktionszentrums

TextColors=textfarb.bst
; zeigt auf die Datei mit den Prägefarben des zu verwendenden Decken-Produktionszentrums

FontExtension=*.bfb         ; muß immer diesen Wert haben
DiskPath=a:\los             ; muß immer diesen Wert haben

StandardConfiguration=standard
; zeigt auf die Datei mit der zu verwendenden Configuration

WorkDir=C:\TMP\CAB
; zeigt auf ein temporäres Verzeichnis, zur freien Verfügung von CAB Programmen
; dieses Verzeichnis muß existieren, bzw. notfalls per hand erstellt werden

BtrieveDir=U:\BTRIEVE
; zeigt auf das Verzeichnis, in dem die BTRIEVE Datenbanken des LOS Systemes
; liegen

Ist diese Datei CAB.INI nicht vorhanden, kopieren Sie sich den obigen Abschnitt und passen die Werte auf Ihr System an.

Bei manchen Windowsinstallationen kann es sein, daß beim Aufruf eines CAB-Programmes das Fehlen eines der folgenden DLLs moniert wird, diese können hier heruntergeladen werden und müssen dann, aber nur dann!, ins Windows-System-Verzeichnis kopiert werden.


CABTX-Installation:

Das ausführbare Programm CABTX.EXE ist in das CAB-Verzeichnis (z.B. C:\PRG\CAB) zu kopieren. Die oben genannte CAB-Installation ist ggf. vorher auszuführen, Programmeinstellung werden in der Konfigurationsdatei CABTX.INI durchgeführt.

War noch kein CABTX Programm installiert (keine CABTX.INI Datei im Zielverzeichnis vorhanden), kopieren Sie sich den folgenden Abschnitt und passen die Werte auf Ihr System an.

Erkennt das Programm beim ersten Programmstart noch nicht überprüfte Einstellungen, fragt es nach, ob es selbst die Installation vervollständigen soll. Antworten Sie hier mit "Ja" bzw. "Ok", erkennbare Fehler werden danach angezeigt, bzw. die Installation abgeschlossen.

[CABTX]
DateiExtension=LTK        ; muß so eingestellt bleiben
AuftragsPfad=S:\AUFTRAG
; Der Auftragspfad ist auf den gleichen Pfad einzustellen, auf den das
; LITTEL oder CAB Programm zugreift

Kennung=BSXX0000
; Mit dieser eingetragenen Kennung werden Sie am Deckenfertigungszentrum angemeldet
; Die Kennung vergibt dieses Zentrum, fragen Sie ggf. dort nach
; Groß/Kleinschreibung ist hier wichtig, normalerweise ist es eine Kombination
; aus 8 Zeichen und Ziffern
; Ohne eine gültige Kennung wird der Verbindungsaufbau verweigert

[Modem]
Schnittstelle=COM2:
; Gibt die PC-Schnittstelle an, an der das Modem hängt. Im Normallfall ist dieses COM2:
; (Der Doppelpunkt hinter der Angabe der Schnittstelle ist wichtig)
; Unter manchen Windowsversionen (98 und /XP) kann COM1: nicht genutzt werden

SchnittstellenParameter=9600,N,8,1
; Die jeweiligen Deckenfertigungszentren fahren feste Werte bei der Datenübertragung (Standardmäßig
; früher 300 Baud, jetzt 9600 Baud, no Parity, 1 Stopbit, 8 Datenbits). In späteren Versionen der
; kann dieses vom Betreiber geändert worden sein.

Initialisierung=ATV1S0=0M1L1
; Das ist der schwierigste Teil der Arbeit. Jedes Modem verhält sich (weil's ja ein "Standard" ist)
; anders. Im Beispiel werden der Verbosemodus auf "kurz" eingestellt, das Modem soll nicht
; selbstständig empfangen, der Lautsprecher wird leise und nicht immer gestellt.

Wählen=ATDT 094362917
; Angabe des Wählcommandos mit Telefonnummern
; T heißt Tonwahl, P die ältere Pulswahl
; wird von einer Telefonanlage aus Vorwahlziffern benötigt, so sind diese hier ebenfalls
; anzugeben, z.B. 0,094362917

TimeOut=40
; kommt nach dieser Anzahl von Sekunden keine Antwort vom Deckenfertigungszentrum
; so wird die Verbindung unterbrochen

WartenNachConnect=6000
; Nach dem Verbindungsaufbau (Connect) wird maximal diese Anzahl von Millisekunden
; gewartet, bis eine positive Aufforderung erfolgt.
; Nach dem eigentlichen Connect versuchen beide Modems das bestmögliche Protokoll herauszufinden.
; Je nach Qualität der Datenleitung und der Modems kann das eine bestimmte Zeit dauern.
; Standardmäßig sind 6000 MilliSekunden, also 6 Sekunden eingestellt, das eigentlich
; ausreichen müßte. Die Zeit zu verringern ist möglich, ist aber abhängig von Ihrer
; persönlichen Risiko-bereitschaft. Bei manchen Modems und schlechten Leitungsqualitäten
; ist es aber auch möglich, daß Zeiten bis zu 15000 MilliSekunden (15 Sekunden)
; benötigt werden.

Die korrekte Angabe der AT-Kommandos hängt von mehreren Faktoren ab, z.B. der verwendeten Telefonanlage, dem Modemtyp, dem Antwortverhalten des Deckenfertigungszentrums. Gängige Werte sind:

- bei häufigen Verbindungsverlust kann S10=50 (=5sec) probiert werden
  das Modem hält dann bei Verlust von CTS noch 5 sec die Leitung (Standwert: 2sec)
- Laden der Defaultwerte eines Modems: &F0
- Speichern der aktuellen Werte als Defaultwerte: &W
- nicht auf Freizeichen warten: M1S7=0&A1X3
- für ISDN Modem ist folgendes ein guter Startwert: V1X3S0=0M2L3S31=8S51=0S7=0&A1
   

Das bei ISDN standardmäßige CAPI 2.0 Protokoll hat immer noch Fehler (Rückmeldung kommt nicht spezifikationsgemäß). Manche ISDN Karten / Modem-Emulationen können als Modem laufen (allerdings mit einem hohem Aufkommen von Verbindungsabbrüchen bei großen Aufträgen), bei anderen geht's nicht.

Nachdem ich schon mehrfach Stunden hierbei verbracht habe, empfehle ich ein Standard AT-Modem (< 50,-- EUR) oder eine Einigung der Anwender auf den von mir vorgeschlagenen alternativen Lösungsweg.

Für die von mir vertriebenen U.S.Robotics Modems steht die Dokumentation hier.


serielle Schnittstelle:

Je nach angeschlossenen Gerät ist diese ein DTU (selbst Master) oder DCU (Slave), der PC ist immer Master. Bei Master/Slave kann ein 1:1 Kabel verwendet werden, bei Master/Master (kommt immer wieder mal vor) muß ein Kreuzkabel (2/3, 4/5, 6/20 bei SubD9 auf SubD25) verwendet werden.

Alle Möglichkeiten hier aufzuzählen, würde den Rahmen sprengen, aber jeder EDV-Mann sollte die Pinbelegung durch Messung herausbekommen können, immer häufiger ist die Schnittstelle auch dokumentiert, PC-Schnittstellenbelegung dürfte klar sein.

Standardeinstellung der seriellen Schnittstelle ist hier 9600,n,8,1. Mit jedem Terminalprogramm kann dann die Schnittstelle getestet werden. Auf das Kommando "AT[CR][LF]" muß das Modem mit "OK[CR][LF]" antworten. (Das Terminalprogramm muß auf die richtige Schnittstelle, Handshakeverfahren, CR/LF Emulation und Baudrate eingestellt werden)


Funktionen:



Folgende Menupunkte stehen zur Verfügung:

Zur Datenübertragung per Modem wählen Sie Auftrag übertragen aus dem Hauptmenu. Es wird ein Auswahlformular für den benötigten Auftrag dargestellt. Wählen Sie nun Ihren Auftrag aus.



Nach dem Doppelklick auf dem Auftrag oder nach einfachen Click und Auswahl von Ok erscheint im linken Fenster zur Kontrolle die Liste der zu übertragenden Dateien. Wählen Sie nun eine beliebige Datei aus und starten Sie die Übertragung durch Auswahl von Ok.



Das Programm gibt Ihnen zwei Möglichkeiten, wie die Daten übertragen werden sollen. Optimiert werden nur Daten übertragen, die ein Deckenfertigungszentrum benötigt. Aus diesen Daten können keine Rückschlüße auf den Auftraggeber gewonnen werden, die für eine Datenbank benötigten Informationen sind nicht enthalten. Mehr Informationen stellt dem Empfänger auch diese Daten zur Verfügung. Mit Starten wird die Übertragung gestartet.



Das Programm erstellt nun anhand Ihres Auftrages eine komprimierte Übertragungsdatei mit dem Namen MODEM.LTX im Auftragsverzeichnis. Während dieses Vorganges wird der Fortschritt der Arbeit entsprechend dargestellt.



Nach der Erstellung der Datenübertragungsdatei wird auf das Modem zugegriffen und die Telefonnummer gewählt. Wenn der Ruf ankommt, verständigen sich die beiden beteiligten Modems über das zu verwendende Datenübertragungsprotokoll. Während alle Tätigkeiten ausgeführt werden, sehen Sie ein Formular, das in knapper Form Auskunft über die aktuelle Tätigkeit gibt.



Wenn alles bis jetzt klar geht, fängt das Programm an, Daten zu übertragen. Während der Übertragung wird die noch verbleibende Übertragungszeit geschätzt und Sie sehen auf dem Bildschirm den Fortgang der Übertragung.



Tritt während der Übertragung ein Fehler auf, so wird Ihnen dieser mitgeteilt. Ist bei der Übertragung alles korrekt gelaufen, so bekommen Sie die Meldung:

Datenübertragung fehlerfrei durchgeführt!
Alle anderen Meldungen, die Sie bekommen, deuten auf einen Übertragungsfehler hin. Erst wenn Sie die obige Erfolgsmeldung sehen, können Sie davon ausgehen, daß Ihre Daten korrekt zum Deckenfertigungszentrum übertragen worden sind. Nehmen Sie sich also die Zeit, den Meldungstext zu lesen.

Es ist durchaus möglich, daß die Übertragung bis zu 100 % läuft und trotzdem ein Übertragungsfehler gemeldet wird. Nach Abschluß aller übertragenen Blöcke, wird als 3. Fehlererkennungstufe eine Kennsumme an das Fernmodem übertragen. Fehler, die bis jetzt noch nicht erkannt worden sind (sogenannte sich selbst eleminierende Doppelfehler) können erst am Abschluß erkannt werden.


Fragen und Antworten:

Das Modem wählt nicht

Nach dem Aufbau der Übertragungsdatei wird das Modem zwar angesprochen, aber man hört weder das Wählgeräusch, noch erscheint eine Anzeige auf dem Modem, daß jetzt gewählt wird. Siehe CABTX/Modem/Wählen.

Modem kann nicht angesprochen werden

Entweder erscheint hier ein blauer Vollbildschirm mit dem Text, daß Ihre Schnittstelle nicht vorhanden oder belegt ist, oder eine ähnliche Fehlermeldung wird vom Programm angezeigt.
Hier ist das Modem entweder nicht angeschlossen, ausgeschaltet oder Ihre Schnittstelle ist falsch angegegeben (CABTX/Modem/Schnittstelle), in Windows umkonfiguriert oder im schlimmsten Fall defekt

Das Fernmodem antwortet mit ungültiger Kennung

Entweder kommt keine Verbindung zustande (d.h. die Meldung Modem is connected kommt nicht) oder die Anzeige Sende Kennung bleibt immer da, bis das Modem sagt, Fehler bei der Datenübertragung.
Hier sind einige Probleme möglich. Sind Sie sicher, daß Sie die Ihre Buchbindekennung richtig eingegeben haben (CABTX/CABTX/Kennung)? Die Leitung zum Fernmodem kann von der Telecom wirklich mal so schlecht sein (wenn Sie zum Beispiel am Telefon einen guten Radioempfang haben), so daß die Modems keine Chancen sehen, Ihre Daten einigermaßen heil zur anderen Station zu bringen. In diesem Fall hilft eingentlich nur 15 Minuten warten und es später nochmal probieren.
Oder vielleicht ist die Zeit, die die Modems brauchen, um sich über das Fehlerkorrekturprotokoll zu einigen, zu lang. Hier können Sie den Parameter CABTX/Modem/WartenNachConnect etwas höher stellen.

Während der Datenübertragung wird ein Fehler gemeldet

Alles läuft normal, aber bei beispielsweise 65% der Übertragung bricht die Datenübertragung mit einer Fehlermeldung ab.
Hier ist wirklich ein nicht mehr korrigierbarer Datenübertragungsfehler aufgetreten. Die Ursache sind meistens schlechte Telefonverbindungen. Ein Telefongespräch wird mit etwa 3000 Hz übertragen. Das reicht völlig, um die Sprache erkennen zu können. Auch noch geringere Werte sind für Sprache noch ausreichend.
Ein gutes Modem überträgt Daten mit einer möglichst angenäherten Sinuswelle, die deutlich weniger Oberwellen hat, als ein Rechtecksignal (und nur das erkennt ein Computer). Im besten Fall (also reiner Sinus, wobei dieses technisch und physikalisch nicht möglich ist) würde bei einer Datenübertragungsrate von 2400 Baud (Bits per Sekunde) also eine Frequenz von 2400 Hz erzeugt. Praktisch liegt diese aber um den Faktor 10 höher, also käme eine Frequenz von 24000 Hz zustande.
Diese Grenzfrequenz wird von der Telecom (und nicht nur von dieser) nicht mehr garantiert. Also müsste man, um auf der sicheren Seite zu sein, eine maximale Übertragungsgeschwindigkeit von 300 Baud wählen. Dieses ist etwa 10mal langsamer als die Standardübertragungsgeschwindigkeit von 2400 Baud. Ein Auftrag, dessen Übertragung normallerweise 2 min dauert, würde dann 20 min dauern.
Durch technische Tricks kann die Geschwindigkeit deutlich erhöht werden. Auch Übertragungsraten von 9600 Baud oder in letzter Zeit noch höher sind damit technisch möglich. Bei normalen Textanwendungen sind dann die auftretenden Fehler nicht so schlimm (ob da nun ein Ä oder ß steht ist egal, man kann aus dem Zusammenhang den Sinn schließen). Ich glaube aber nicht, daß Ihnen es egal ist, daß Sie eine Decke mit 340mm Deckenhöhe bekommen, obwohl Sie nur 240mm bestellt haben. Die Tatsache, daß hierbei nur 1 Bit falsch ist, wird Sie auch nicht trösten.


CABTX ist zu beziehen über ibch und ist sofort lieferbar. Die aktuelle Version 1.1x kostet 200,-- € (EUR) zzgl. gesetzlicher MwSt.