Einführung in die Programmierung des ML70
OpenCom
Typ:
FUNCTION
OpenCom() öffnet eine serielle Schnittstelle zum Ausgeben oder Einlesen von Daten über eine AP72.
Die Schnittstellen 1 und 2 liegen auf der AP72 auf dem Steckplatz AP-A, Die Schnittstellen 3 und 4 lie-
gen auf dem Steckplatz AB-B.
Betriebsarten:
Die Betriebsart wird über die Nummer des COM-Ports eingestellt (siehe unten bei
Eingabeparametern)
1. Blockorientiert:
In dieser Bettriebsart werden Botschaften block- oder zeilenweise gesendet und empfangen. Æ
siehe Beispiele ReadCom, ReadReady(), WriteCom, WriteReady()
Diese Betriebsart ist besonders geeignet, wenn Daten im Frage/Antwortverfahren von externen Ge-
räten geholt und verarbeitet werden.
2. Streamorientiert: (ML70: ab P2.12, ML70B ab P5.12)
In dieser Betriebsart werden die Botschaften über interne Ringpuffer empfangen und gesendet. Bei
Empfang eines Zeichens wird das Zeichen in einen 1 kByte großen Ringpuffer gespeichert. Mit der
Funktion SerGetChar() kann das älteste Zeichen aus dem Ringpuffer gelesen werden. Æ siehe Bei-
spiele SerGetChar, SerPutChar.
Diese Betriebsart ist besonders geeignet, um kontinuierlich laufende Datenströme zu empfangen
und zu verarbeiten.
Hardware-Layer:
Es gibt drei verschiedene Hardware-Layer, die benutzt werden können: RS232, RS422 und RS485. Zur
Steuerung der Sendefunktion gibt es drei verschiedene Arten des Handshakes zur Auswahl:
1. kein Handshake:
Wenn der Sendevorgang auf der Schnittstelle mit der Funktion Writecom() einmal gestartet ist, wird
er unabhängig davon, ob der Empfänger die Zeichen schnell genug verarbeiten kann oder nicht, zu
Ende geführt.
2. Hardware-Handshake mit RTS/CTS (nur bei RS232 möglich):
Das RTS-Signal der Empfängerschnittstelle muß mit dem CTS-Signal des Senders (in diesem Fall
die AP72) verbunden sein. Wenn mit Writecom() ein Sendevorgang gestartet ist, wird nur solange
gesetzt, wie der Empfänger das Senden mit dem RTS-Signal freigibt. Stoppt der Empfänger die Da-
tenübertragung wartet der ML70 mit der Zeichenausgabe bis der Empfänger sie wieder freigibt. Zur
einwandfreien Funktion des Hardware-Hanshakes ist es erforderlich, daß die Funktion WriteReady()
während der Datenübertragung zyklisch aufgerufen wird.
3. Software-Handshake:
Für den Software-Handshake werden für die Funktion Übertragung starten (XON) das ASCII-
Zeichen DC1 (16#11) und für die Funktion Übertragung stoppen (XOFF) das ASCII-Zeichen DC3
(16#13) verwendet.
Wenn eine Datenübertrgung mit WriteCom() gestartet ist, läuft diese solange bis vom Empfänger
das XOFF-Kommando empfangen wird. Die Übertragung wird fortgesetzt, wenn das Kommando
XON empfangen wird.
Seite 41