Anzahl der möglichen Verbindungen
Die Anzahl der möglichen TCP- bzw. UDP-Verbindungen entnehmen Sie den Technischen Daten Ihrer CPU.
Verwendung bei TCP und ISO on TCP
Beide Kommunikationspartner rufen die Anweisung "TCON" zum Einrichten und Aufbauen der Kommunikationsverbindung auf. In der Parametrierung hinterlegen Sie, welcher der aktive und welcher der passive Kommunikationssendepunkt ist.
Nach dem Einrichten und Aufbauen der Verbindung wird diese automatisch von der CPU gehalten und überwacht.
Bei Verbindungsabbruch durch z. B. Leitungsunterbrechung oder durch den remoten Kommunikationspartner versucht der aktive Partner die eingerichtete Verbindung wieder aufzubauen. Sie müssen "TCON" nicht erneut aufrufen.
Mit dem Aufruf der Anweisung "TDISCON" oder im Betriebszustand STOP der CPU wird eine bestehende Verbindung abgebrochen und die eingerichtete Verbindung entfernt. Zum erneuten Einrichten und Aufbauen der Verbindung müssen Sie "TCON" nochmals aufrufen.
Verwendung bei UDP
Beide Kommunikationspartner rufen die Anweisung "TCON" auf, um ihren lokalen Kommunikationszugangspunkt (lokalen Port) einzurichten. Dabei wird eine Verbindung zwischen Anwenderprogramm und der Kommunikationsschicht des Betriebssystems eingerichtet. Es erfolgt kein Verbindungsaufbau zum remoten Partner.
Der lokale Zugangspunkt wird zum Senden und Empfangen von UDP-Telegrammen verwendet.
Bei der Parametrierung des lokalen Zugangspunktes (UDT65) bzw der Parametrierung des remoten Partners (UDT 66) müssen folgende Parameter gleich sein.
-
bei UDP: Referenz auf die Verbindung und lokale Port-Nr.
Arbeitsweise
Die Anweisung "TCON" arbeitet asynchron, d. h. die Auftragsbearbeitung erstreckt sich über mehrere Aufrufe. Sie starten den Auftrag zum Einrichten und Aufbauen der Verbindung, indem Sie "TCON" mit REQ = 1 aufrufen.
Über den Ausgangsparameter BUSY und den Ausgangsparameter STATUS wird der Zustand des Auftrags angezeigt. Dabei entspricht STATUS dem Ausgangsparameter RET_VAL der asynchron arbeitenden Anweisungen.
Siehe auch: Unterschied zwischen synchron und asynchron arbeitenden Anweisungen.
In der folgenden Tabelle ist der Zusammenhang zwischen BUSY, DONE und ERROR angegeben. Mit ihrer Hilfe können Sie feststellen, in welchem Zustand sich "TCON" aktuell befindet bzw. wann die Verbindung eingerichtet bzw. aufgebaut (bei TCP und ISO on TCP) ist.
|
BUSY |
DONE |
ERROR |
Beschreibung |
|---|---|---|---|
|
TRUE |
irrelevant |
irrelevant |
Der Auftrag ist in Bearbeitung. |
|
FALSE |
TRUE |
FALSE |
Der Auftrag wurde erfolgreich abgeschlossen. |
|
FALSE |
FALSE |
TRUE |
Der Auftrag wurde mit einem Fehler beendet. Die Fehlerursache können Sie dem Parameter STATUS entnehmen. |
|
FALSE |
FALSE |
FALSE |
Dem Anweisung wurde kein (neuer) Auftrag erteilt. |
Parameter
Die folgende Tabelle zeigt die Parameter der Anweisung "TCON":
|
Parameter |
Deklaration |
Datentyp |
Speicherbereich |
Beschreibung |
|---|---|---|---|---|
|
REQ |
Input |
BOOL |
E, A, M, D, L, T, Z |
Steuerparameter REQUEST, startet den Auftrag zum Aufbau der durch ID gegebenen Verbindung. Der Auftragsstart erfolgt bei steigender Flanke. |
|
ID |
Input |
WORD |
M, D oder Konstante |
Referenz auf die aufzubauende Verbindung zum remoten Partner bzw. zwischen Anwenderprogramm und Kommunikationsschicht des Betriebssystems. ID muss identisch sein mit dem zugehörigen Parameter id in der lokalen Verbindungsbeschreibung. |
|
DONE |
Output |
BOOL |
E, A, M, D, L |
Zustandsparameter DONE:
|
|
BUSY |
Output |
BOOL |
E, A, M, D, L |
|
|
ERROR |
Output |
BOOL |
E, A, M, D, L |
Zustandsparameter ERROR:
|
|
STATUS |
Output |
WORD |
M, D |
Zustandsparameter STATUS: Fehlerinformation |
|
CONNECT |
InOut |
ANY |
D |
Zeiger auf die zugehörige Verbindungsbeschreibung (UDT 65) Siehe auch:
Hinweis: Den Parameter CONNECT können Sie auf die folgenden beiden Arten angeben:
|
Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".
Parameter ERROR und STATUS
|
ERROR |
STATUS |
Erläuterung |
|---|---|---|
|
0 |
0000 |
Verbindung konnte aufgebaut werden |
|
0 |
7000 |
keine Auftragsbearbeitung aktiv |
|
0 |
7001 |
Start der Auftragsbearbeitung, Verbindung wird aufgebaut |
|
0 |
7002 |
Zwischenaufruf (REQ irrelevant ), Verbindung wird aufgebaut |
|
1 |
8086 |
Der Parameter ID liegt außerhalb des zulässigen Wertebereichs. |
|
1 |
8087 |
Maximale Anzahl der Verbindungen ist erreicht, keine weitere Verbindung möglich. |
|
1 |
8089 |
Der Parameter CONNECT zeigt nicht auf einen Datenbaustein. |
|
1 |
809A |
Der Parameter CONNECT zeigt auf ein Feld, das nicht die Länge der Verbindungsbeschreibung (UDT65) hat. |
|
1 |
809B |
Die in der Verbindungsbeschreibung angegebene local_device_id passt nicht zur CPU. |
|
1 |
80A0 |
Sammelfehler für die Fehlercodes W#16#80A1 und W#16#80A2 |
|
1 |
80A1 |
|
|
1 |
80A2 |
Lokaler oder remoter Port ist vom System belegt |
|
1 |
80A3 |
Es wird versucht, eine bestehende Verbindung erneut aufzubauen. |
|
1 |
80A4 |
IP-Adresse des remoten Verbindungsendpunkts ist ungültig, evtl. stimmt sie mit der eigenen IP-Adresse überein |
|
1 |
80A7 |
Kommunikationsfehler: Sie haben nach einem nicht abgeschlossenen "TCON" einen "TDISCON" aufgerufen. Der Verbindungsaufbau wurde durch Aufruf eines "TDISCON" vorzeitig abgebrochen. |
|
1 |
80B2 |
Der Parameter CONNECT zeigt auf einen Datenbaustein, der mit dem Schlüsselwort UNLINKED erzeugt wurde. |
|
1 |
80B3 |
Inkonsistente Parametrierung: Sammelfehler für die Fehlercodes W#16#80A0 bis W#16#80A2, W#16#80A4, W#16#80B4 bis W#16#80B9 |
|
1 |
80B4 |
Sie haben bei der Protokollvariante ISO on TCP (connection_type = B#16#12) beim passiven Verbindungsaufbau (active_est = FALSE) eine oder mehrere der folgenden Bedingungen verletzt:
|
|
1 |
80B5 |
Fehler beim Parameter active_est (UDT 65) bei der Protokollvariante UDP |
|
1 |
80B6 |
Parametrierfehler bzgl. des Parameters connection_type (UDT 65) |
|
1 |
80B7 |
Fehler in einer der folgenden Parameter des UDT 65: block_length, local_tsap_id_len, rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len, next_staddr_len |
|
1 |
80B8 |
Parameter in der lokalen Verbindungsbeschreibung (UDT 65) und Parameter ID sind unterschiedlich |
|
1 |
80C3 |
Alle Verbindungsressourcen sind belegt. |
|
1 |
80C4 |
Temporärer Kommunikationsfehler:
|
|
1 |
8xyy |
allgemeine Fehlerinformation Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL |