Skip to main content

Beispiel: Net Base Services

Produkt: CODESYS Base Libraries

Dieses Package enthält einige Beispielprojekte der Bibliothek NetBaseService.

Alle Beispiele funktionieren mit oder ohne TLS-Kommunikation. Wenn eine TLS-Verbindung benötigt wird, ist das Add-on CODESYS Security Agent zwingend erforderlich, um Zertifikate zu erstellen. Um den CODESYS Security Agent zu öffnen, klicken Sie unten rechts auf das Security Agent Symbol _cds_icon_cyber_screen_grey.png.

In der Registerkarte Geräte können Sie ein neues Zertifikat für NBSServer und auch für NBSClient erstellen. Wenn NBSServer- oder NBSClient- Informationen nicht verfügbar sind, ist ein vorheriger Download erforderlich.

Beschreibung

Beispiel TCP_Server_TCP_Client

Das Projekt enthält zwei Steuerungen CODESYS Control Win x64 mit jeweils einer Anwendung, um eine Server-Client-Beziehung zu simulieren. Richten Sie für den Client im Programm CLIENT_PRG den gemeinsamen Client-Namen und die entsprechende IP-Adresse ein, ebenso wie für den Server im Programm SERVER_PRG. Wenn keine TLS-Kommunikation erforderlich ist, kann die Variable myTLSContext entfernt werden (SERVER_PRG und CLIENT_PRG). Die Serveranwendung (myServer) sollte zuerst aktiviert werden.

Beispiel DemoClientServerOptionProvider

Das Projekt basiert auf dem Beispiel TCP_Server_TCP_Client. Im Clientprogramm CLIENT_PRG ist eine Instanz des Funktionsbausteins ClientOptions deklariert. Dieser Funktionsbaustein (im POU-Pool) enthält drei Optionen, die beim Öffnen des Sockets gesetzt werden. Im Deklarationsteil von CLIENT_PRG werden die Optionen mit der Methode SetOptionProvider() gesetzt. Im Serverprogramm SERVER_PRG ist keine Option für TCP_Server gesetzt, so dass der Standardwert verwendet wird. Bei Bedarf kann die Option analog zum Client gesetzt werden. Wenn UDP-Kommunikation verwendet wird, dann können die Optionen im UDP-Peer gesetzt werden, ebenfalls mit der gleichen Methode SetOptionProvider().

Beispiel TCP_Reader_TCP_Processor_TCP_Writer_Example

Das Projekt enthält zwei Steuerungen CODESYS Control Win x64 mit jeweils einer Anwendung, um eine Server-Client-Beziehung zu simulieren. Der Server liefert nur die Werte zurück, die vom Client gesendet wurden. Das Programm CLIENT_PRG zeigt ein Beispiel, wie das asynchrone Lesen, Verarbeiten und Schreiben über die Funktionsbausteine NBS.TCP_Reader, NBS.TCP_Processor und NBS.TCP_Writer durchgeführt werden kann. Der Baustein NBS.TCP_Processor wird in diesem Beispiel überschrieben, um die Methode ProcessStream zu implementieren. Auch dieses Beispiel zeigt eine Möglichkeit, über direkte TCP-Client-Methoden Read() und Write() synchron zu lesen, zu manipulieren und zu schreiben, wenn xAsync=FALSE ist.

Beachten Sie, dass für diese Server-Client-Beziehung ein TLS-Kontext verwendet wird, so dass es zwingend erforderlich ist, das Server-Zertifikat in den Client zu importieren und umgekehrt. Für unverschlüsselte Kommunikation kann der Funktionsbaustein NBS.TLSContext gelöscht werden.

Beispiel UDP_Receive_Send_Example

Das Projekt enthält zwei Steuerungen CODESYS Control Win x64 mit jeweils einer Anwendung, um eine synchrone UDP-Producer-UDP-Consumer-Beziehung zu simulieren. Das Producer-Programm PRODUCER_PRG gibt nur die Daten zurück, die zuvor empfangen wurden. Deshalb werden die Schnittstellenmethoden Receive() und Send() des Funktionsbausteins IPeer verwendet. Zu Beginn erstellt der Producer einen String und sendet diesen an den Consumer. Die Consumer-Steuerung enthält ebenfalls einen Peer und hier werden die Daten über einen direkten Methodenaufruf von Peer Receive2() empfangen. Dies ist ähnlich wie Receive(), hat aber einen weiteren Ausgang eTransmission, um zu zeigen, ob der Frame beispielsweise unicast ist. Zwischen dem Empfang und dem Senden wird eine Methode ChangeStringValue aufgerufen, um die Payload der Kommunikation zu ändern. Da es sich um UDP handelt, wird empfohlen, zuerst Consumer und dann Producer zu aktivieren.

Beispiel UDP_Processor_Example

Das Projekt enthält zwei Geräte, zwei CODESYS Control Win x64, mit jeweils einer Anwendung, um eine UDP Producer - UDP Consumer Beziehung zu simulieren. In der Conusmer-Anwendung gibt es einen UDP_Processor, der den NBS.UDP_Processor erweitert, so dass dieser Funktionsbaustein die Schnittstellenmethode ProcessPacket implementiert. In dieser Methode (die von der Schnittstelle aufgerufen wird) werden einige Daten verarbeitet.

Systemvoraussetzungen und Einschränkungen

Programmiersystem

CODESYS Development System Version 3.5.19.0 oder höher

Laufzeitsystem

CODESYS Control Win Version 3.5.19.0

Zusatzkomponenten

-

Hinweis

_example_icon.png DOWNLOAD Projekt