Socket-Anweisungen
Verwenden Sie das Sockets-Protokoll für die Ethernet-Kommunikation mit Geräten, die Modbus-TCP und EtherNet/IP nicht unterstützen. Sockets unterstützen Client, Server, TCP (Transmission Control Protocol) und UDP (User Datagram Protocol). Typische Anwendungen umfassen die Kommunikation mit Druckern, Strichcode-Lesegeräten und PCs.
Socket-Anweisungsverhalten im Modus „Änderung im Betriebsmodus“ (RMC):
- Wird ein Löschvorgang bei einer SOCKET_OPEN-, SOCKET_ACCEPT-, SOCKET_READ- oder SOCKET_WRITE-Anweisung im Modus „Änderung im Betriebsmodus“ ausgeführt, wird die Socket-Instanz gelöscht.
- Im Modus „Änderung im Betriebsmodus“ bewirkt das Ändern einer SOCKET_READ-Eingabe, während Sie sich in der Zustand BUSY befinden, einen Fehler, und das empfangene Paket wird verworfen. SOCKET_READ-Eingabeparameter sind: Length, Offset, Data Array Size, Data Array Variable.
- SOCKET_READ ist die einzige SOCKET-Anweisung, die das Hinzufügen und Ändern im Modus „Änderung im Betriebsmodus“ unterstützt.
- Wenn die Ethernet-IP-Einstellungen mithilfe einer Änderung im Betriebsmodus geändert werden, werden alle erstellten Socket-Instanzen gelöscht, ähnlich wie bei SOCKET_DELETEALL.
Anweisungsverarbeitung und Ausgabeaktualisierungen für Socket-Anweisungen:
- Asynchron: Entsprechende Anweisungen, laut denen alle Ausgaben asynchron mit der Benutzerprogrammabtastung aktualisiert werden. Beispiel: Strompfadabtastung. Die asynchrone Ausgabe kann nicht für Flanken-Triggererkennung verwendet werden. Asynchrone Ausgabeparameter sind nicht erzwungen und können nach Abschluss der entsprechenden Socket-Anweisungen aktualisiert werden.
- Synchron: Entsprechende Anweisungen, laut denen alle Ausgaben synchron mit Benutzerprogramm-Scans aktualisiert werden. Synchrone Ausgabeparameter sind erzwungen und können nach Abschluss der entsprechenden Socket-Anweisung nicht mehr geändert werden.
- Kombination: Entsprechende Anweisungen, laut denen einige Ausgaben synchron mit der Benutzerprogrammabtastung aktualisiert werden. Verbleibende Ausgaben werden asynchron mit Benutzerprogramm-Scans aktualisiert.
- Sofortige Ausführungsanweisung: Die Anweisung beendet die gewünschte Funktion vor dem Wechsel zur nächsten Anweisung.
- Nicht sofortige Ausführungsanweisung: Die Anweisung braucht mehr als eine Programmabtastung, um die gewünschte Funktion durchzuführen. Anweisungen fertigen einen Schnappschuss der Eingabeparameter an, wenn sie einen WechselFalse > Trueerkennen.
Anweisung | Beschreibung | TCP-Client | TCP-Server | UDP mit Öffnen | UDP ohne Öffnen | Anweisungsverarbeitung | Anweisungsausgabe-Aktualisierung |
|---|---|---|---|---|---|---|---|
Akzeptiert eine TCP-Verbindungsanforderung von einem Remote-Ziel und gibt eine Socket-Instanz zurück, die zum Senden und Empfangen von Daten in der neu erstellten Verbindung verwendet wird. | NO | Ja | Nein | Nein | Nicht sofort | Kombination | |
Erstellt eine Instanz des Sockets und gibt eine Instanznummer zurück, die nachfolgende Socket-Vorgänge verwendet. | Ja | Ja | Ja | Ja | Sofort | Synchron | |
Löscht eine erstellte Socketinstanz. TCP-Verbindungen werden vor dem Löschen geschlossen. | Ja | Ja | Ja | Ja | Nicht sofort | Synchron | |
Gibt Informationen zum Socket wie z. B. Fehlercodes und Ausführungsstatus zurück. | Ja | Ja | Ja | Ja | Sofort | Synchron | |
TCP-Verbindungen werden mit der angegebenen Zieladresse geöffnet. UDP-Verbindungen ordnen dem angegebenen Socket eine Ziel-IP-Adresse und Port-Nummer zu. | Ja | Nein | Ja | Nein | Nicht sofort | Synchron | |
Liest Daten von einem Socket. Versucht, die angegebene Anzahl der Bytes zu empfangen, und gibt die Anzahl der empfangenen Bytes zurück. | Ja | Ja | Ja | Ja | Nicht sofort | Kombination | |
Sendet Daten an einen Socket. Versucht, die angeforderte Anzahl der Bytes zu senden, und gibt die Anzahl der gesendeten Bytes zurück. | Ja | Ja | Ja | Ja | Nicht sofort | Kombination |
Rückmeldung geben