FG Mit diesem Befehl können Daten über die serielle Schnittstelle ausgetauscht werden.
Die gewünschte Schnittstelle und Übertragungsgeschwindigkeit können beim Aufruf dieses Befehls definiert werden, wobei die in der Systemsteuerung vorgegebenen Standardwerte verwendet werden, wenn keine andere Baudrate definiert wird.
Im Eintrag Baudrate können zudem noch optional weitere Angaben zur Übertragungsart angegeben werden, wobei die Einträge mit Komma getrennt werden und einzelne Einträge beliebig weggelassen werden. Die Angaben in diesem Feld können folgendermaßen lauten: <Baudrate>,<Parity>,<Bits>,<Stoppbits>, die übliche Einstellung ist 9600,n,8,1. Die Einträge bedeuten:
<Baudrate> | Bits pro Sekunde |
<Parity> | Parität: n=keine, o=Odd (ungerade), e=Even (gerade), s=Space |
<Bits> | Datenbits pro Zeichen |
<Stoppbits> | Länge des Stoppbits: 1, 1.5 oder 2 |
Wird die Angabe der Schnittstelle weggelassen, wird COM1 verwendet.
Empfang:
Bei Angabe einer Empfangslänge wird diese Anzahl Zeichen eingelesen, andernfalls eine ganze Zeile.
Wird unter Warten auf ein Text eingetragen, wird so lange empfangen, bis der angegebene Text empfangen wurde.
Es kann auch eine Timeout-Zeit in Sekunden angegeben werden, die maximal auf den Empfang der gewünschten Daten gewartet werden soll. Nach Ablauf dieser Zeit wird der Empfang abgebrochen und als Ergebnis ein leerer Text in die Variable gesetzt. Dies kann dann abgefragt werden.
Senden:
Gesendet wird der als Sendetext eingetragene Text. Optional kann durch Aktivieren des Schalters CR/LF anhängen ein Zeilenendezeichen hinter dem Text gesendet (entspricht ^M am Ende). Dies muss beispielsweise bei der Übertragung eines AT-Befehls für Modems am Ende der Kommandozeile eingesetzt werden.
Die Option Erst in Modem-Befehlsmodus schalten! bewirkt das Umschalten während einer Datenübertragung in den Befehlsmodus des Modems (1 Sekunde Pause, "+++", 1 Sekunde Pause). Dies ist etwa notwendig, wenn während der Verbindung per ATH0-Befehl aufgelegt werden soll.
Beim Senden bzw. Warten auf kann das Zeilenende-Steuerzeichen (CR/LF) auch durch die Zeichenkombination ^M, TAB durch ^T oder Escape durch ^E in den Text eingefügt werden.
Weitere Sonderzeichen können mit dem Platzhalter [cX.ASCII(x)] eingesetzt werden.
Kombination:
Es kann auch ein Text gesendet und (unmittelbar danach) empfangen werden. Hierdurch kann eine schnell erfolgende Antwort direkt eingelesen werden.
Port
Normalerweise wird nach jedem Senden/Empfangen der serielle Port wieder geschlossen. Mit den untersten Optionen kann dies verhindert bzw. nach Abschluss mehrerer Operationen bei offenem Port dieser wieder explizit geschlossen werden. Dieses Offenhalten der Ports kann für einige Zielgeräte erforderlich sein.
Bei Abbruch bzw. Beenden des Skripts wird die serielle Schnittstelle automatisch geschlossen.
Ist unter Aufruf bei Empfang eine Marke angegeben, wird dieses Unterprogramm beim Empfang von Daten aufgerufen.
Platzhalter
Über die SeriellIO-Platzhalter kann auch auf die Kommunikation zugegriffen werden.
Beispiel:
*** Modem an COM-Ports suchen Fehler/Debug Fehler ignorieren Schleife Ab ([Port] von 1 bis 4) Status "Suche Modem an COM[Port]:"
*** "Attention" senden und Antwort abwarten Seriell-IO Senden: 'AT'; Empfang in [Daten] (COM[Port]:, Warten auf 'OK', Timeout in 3 Sek., CR/LF anhängen)
Wenn Unwahr: Text leer '[Daten]' Seriell-IO Senden: 'AT+GMM'; Empfang in [Daten] (COM[Port]:, Warten auf 'OK', Timeout in 3 Sek., CR/LF anhängen) Meldung "Modem gefunden an COM[Port]:¶[Daten]" (Titel: 'Info', 'OK') Beende Skript Ende Wenn
Schleife Bis Meldung "Es konnte kein Modem gefunden werden!" (Titel: 'Achtung!', 'OK') Status Fenster entfernen |
Dieses Beispielskript sucht an den COM-Ports nach einem Modem. Während der Suche wird der Benutzer durch eine Statusanzeige informiert. Das Suchergebnis wird durch eine Meldung angezeigt.
cX-Webseite: http://www.clickexe.net