|
Beschreibung Die CPUs mit integrierter PROFINET-Schnittstelle und die WinAC RTX unterstützen die offene IE-Kommunikation.
Unter der Beitrags-ID 18909487 finden Sie eine Übersicht der Kommunikationsdienste, die von den CPUs mit integrierter PROFINET-Schnittstelle und von der WinAC RTX unterstützt werden. In dieser Übersicht finden Sie Informationen darüber welche Protokolle der offenen IE-Kommunikation von den CPUs mit integrierter PROFINET-Schnittstelle und von der WinAC RTX unterstützt werden.
Für die offene Kommunikation über Industrial Ethernet mittels TCP-Protokoll stehen folgende Kommunikationsbausteine zur Verfügung:
- FB65 "TCON" zum Verbindungsaufbau
- FB66 "TDISCON" zum Verbindungsabbau
- FB63 "TSEND" zum Senden von Daten
- FB64 "TRCV" zum Empfangen von Daten
Diese Kommunikationsbausteine finden Sie in der Standard Library -> Communication Blocks.
Kopieren Sie die aktuelle Version der o. g. Funktionsbausteine aus der Standard Library in Ihr Anwenderprogramm und rufen Sie diese in Ihrem Anwenderprogramm auf.
Die Verbindungsparameter zum Aufbau der TCP-Verbindung sind in einer Datenstruktur gespeichert.
In diesem Beispiel wird die Datenstruktur UDT65 "TCON_PAR" verwendet, die vom Anwender selbst parametriert wird. Die TCP-Verbindung wird nicht in NetPro konfiguriert.
Beschreibung des Programmbeispiels Das S7-Programm beinhaltet den Aufruf des FB65 "TCON" und die Datenstruktur UDT65 "TCON_PAR" mit den Verbindungsparametern zum Aufbau der TCP-Verbindung. Des Weiteren beinhaltet das S7-Programm den Aufruf der Kommunikationsbausteine FB63 "TSEND" und FB64 "TRCV" aus der Standard Library -> Communication Blocks. Der FB63 "TSEND" dient zum Senden von Daten an eine S7-Station oder S5-Station, an eine PC-Station oder an ein Fremdsystem. Der FB64 "TRCV" dient zum Empfang der Daten einer S7-Station bzw. S5-Station, einer PC-Station oder eines Fremdsystems.
Erstellen Sie zunächst die Hardware-Konfiguration ihrer S7-300 Station. Konfigurieren Sie das Merkerbyte 10 als Taktmerker. Über diesen Taktmerker wird der Sendeauftrag angestoßen. Speichern und übersetzen Sie die Hardware-Konfiguration Ihrer S7-300 Station und laden Sie diese in die CPU.
Das STEP 7-Programm besteht aus den Bausteinen OB100, OB1, FB300, DB300, FC97, UDT65 und FB63, FB64, FB65 und FB66.
OB100 Der OB100 ist ein Anlauf-OB und wird beim Neustart (Warmstart) der CPU durchlaufen. In diesem OB wird mit Merker M0.3 die Freigabe für den ersten Kommunikationsanstoß erteilt.
OB1 Der OB1 wird zyklisch aufgerufen. Im OB1 wird der FB300 mit dem Instanz-Datenbaustein DB300 und mit Merker M0.3 als Parameter INIT_COM aufgerufen. Der Merker M0.3 wird im OB1 nach dem Aufruf des FB300 wieder zurückgesetzt.

Bild 01
FB300 Der FB300 wird zyklisch im OB1 aufgerufen.
Im FB300 werden die Funktion FC97 "SET_TCP_ENDPOINTx" sowie die Funktionsbausteine FB65 "TCON", FB63 "TSEND", FB64 "TRCV" und FB66 "TDISCON" aufgerufen.

Bild 02
An den Eingangsparametern der Funktion FC97 "SET_TCP_ENDPOINTx" definieren Sie die lokalen und remoten Parameter der TCP-Verbindung.
| Eingangsparameter |
Datentyp |
Beschreibung |
| ID |
Word |
Verbindungsnummer |
| DEV_ID |
Byte |
"local_device_id" der Schnittstelle, über die die TCP-Verbindung mit dem FB65 "TCON" aufgebaut wird
Unter der Beitrags-ID 51339682 finden Sie Informationen darüber welche "local_device_id" Sie am Eingangsparameter DEV_ID parametrieren, um mit dem FB65 "TCON" eine TCP-Verbindung für die offene Kommunikation über Industrial Ethernet aufzubauen. |
| ACTIV |
Bool |
0 = passiver Verbindungsaufbau
1 = aktiver Verbindungsaufbau |
| LOC_PORT |
DInt |
lokaler Port in der CPU
Im Handbuch "System- und Standardfunktionen für S7-300/400 Band 1 und Band 2", Kapitel 24.2, finden Sie Informationen zu den Port-Nummern, die bei TCP und UDP zulässig sind. Das Handbuch steht Ihnen unter Beitrags-ID44240604 als Download zur Verfügung . |
| REM_PORT |
DInt |
remote Port des Kommunikationspartners
Im Handbuch "System- und Standardfunktionen für S7-300/400 Band 1 und Band 2", Kapitel 24.2, finden Sie Informationen zu den Port-Nummern, die bei TCP und UDP zulässig sind. Das Handbuch steht Ihnen unter Beitrags-ID 44240604 als Download zur Verfügung.
Hinweis Wenn die CPU passiv am Verbindungsaufbau beteiligt ist, d.h. ACTIV=0, dann muss der remote Port des Kommunikationspartners nicht angegeben werden, d.h. Sie definieren REM_PORT=0. |
| IP_ADDR1 |
Int |
IP-Adresse des Kommunikationspartners
Hinweis Wenn die CPU passiv am Verbindungsaufbau beteiligt ist, d.h. ACTIV=0, dann muss die IP-Adresse des Kommunikationspartners nicht angegeben werden, d.h. Sie definieren IP_ADDR1=0, IP_ADDR2=0, IP_ADDR3=0 und IP_ADDR4=0. |
| IP_ADDR2 |
Int |
| IP_ADDR3 |
Int |
| IP_ADDR4 |
Int |
Hinweis Die Verbindungsnummer tragen Sie im Netzwerk 2 des FB300. Diese wird in einer statischen Variable und somit im Instanz-DB DB300 gespeichert.

Bild 03
Der Verbindungsaufbau wird durch eine positive Flanke am Eingangsparameter "REQ" des FB65 "TCON" gestartet. Die Datenstruktur UDT65 "TCON_PAR" mit der Verbindungsparametrierung ist im Instanz-Datenbaustein des FB300 eingebunden.
Am Eingangsparameter "CONNECT" des FB65 "TCON" wird der Speicherbereich angegeben, der die Verbindungsparametrierung enthält.
Die Verbindung wird beim Systemstart aufgebaut und bleibt solange bestehen bis diese zum Beispiel gezielt mit dem FB66 "TDISCON" abgebaut wird, die CPU in STOP geht oder die Stromversorgung ausgeschaltet wird.

Bild 04
Der Sendeauftrag wird über eine positive Flanke am Eingangsparameter "REQ" des FB63 "TSEND" angestoßen. Der Anstoß des Sendeauftrags wird mit dem Taktmerker M10.6 und der Variable "C1.SEND_BUSY" gesteuert. Wenn der Sendeauftrag läuft ist "C1.SEND_BUSY" gesetzt. Somit ist kein Anstoß eines neuen Sendeauftrags möglich.
Am Eingangsparameter "DATA" geben Sie den Speicherbereich an, der die zu sendenden Daten enthält.
Am Eingangsparameter "LEN" geben Sie die Anzahl der zu sendenden Bytes an.
Die Ausgangsparameter "DONE", "ERROR" und "STATUS" werden für die Auftragsauswertung benötigt.

Bild 05
Wenn der Sendauftrag erfolgreich abgeschlossen ist, dann wird die Variable "C1.SEND_BUSY" zurückgesetzt. Somit kann ein neuer Sendeauftrag angestoßen werden.
Wenn der Sendeauftrag mit Fehler abgeschlossen ist, dann wird die Variable "C1.SEND_BUSY" ebenfalls zurückgesetzt und der Wert des Ausgangsparameters "STATUS" des FB63 wird für eine Fehleranalyse gesichert.

Bild 06

Bild 07
Sobald die TCP-Verbindung aufgebaut ist können die Daten empfangen werden.
Am Eingangsparameter "DATA" geben Sie die Adresse und Länge des Datenbereiches an, in dem die empfangenen Daten gespeichert werden.

Bild 08
Der Ausgangsparameter "NDR" dient als Anzeige dafür, dass neue Daten empfangen wurden. Der Ausgangsparameter "LEN" gibt die Länge der empfangenen Daten an.
Wenn die Daten nicht erfolgreich empfangen werden, dann wird der Wert des Ausgangsparameters "STATUS" gesichert und ausgewertet.

Bild 09
Mit dem FB66 "TDISCON" ist es möglich die TCP-Verbindung gezielt abzubauen. Der Auftrag zum Abbau der TCP-Verbindung wird durch eine positive Flanke am Eingangsparameter "REQ" des FB66 "TDISCON" gestartet.

Bild 10
Hinweis In diesem Programmbeispiel wird das TCP-Protokoll für die Datenübertragung verwendet. d.h. in der Parametrierung UDT65 ist der Parameter "connection_type" mit dem Wert "B#16#11" definiert.
Die S7-300 CPUs V2.3 unterstützen den TCP (Kompatibilitätsmode). Wenn Sie das Programmbeispiel auf einer S7-300 CPU V2.3 betreiben möchten, dann ändern Sie in der Parametrierung UDT65 den Parameter "connection_type" auf den Wert "B#16#01".
Das STEP 7 Projekt als Download Das STEP 7-Projekt enthält ein Programmbeispiel für den Aufruf des FB300 sowie die Funktion FC97 "SET_TCP_ENDPOINTx", die Bausteine FB65 "TCON", FB66 "TDISCON", FB63 "TSEND" und FB64 "TRECV" mit Statusauswertung. Es wurde mit STEP 7 V5.5 erstellt.
Sample_open_TCP.zip ( 46 KB )
Weitere TCP Verbindungen konfigurieren Zur Konfiguration weiterer TCP-Verbindungen kopieren Sie den FB300, so dass Sie einen weiteren Funktionsbaustein (z. B. FB301) erhalten. Ändern Sie die Parameter und generieren Sie einen neuen Instanz-Datenbaustein.
Weitere Informationen
- Ausführliche Informationen zur offenen Kommunikation über Industrial Ethernet finden Sie im Handbuch "System- und Standardfunktionen für S7-300/400 Band 1 und Band 2" unter der Beitrags-ID: 44240604.
- Eine Anleitung zur Projektierung einer TCP-Verbindung für die Kommunikation über S7-300 und S7-400 Industrial Ethernet CPs finden Sie unter der Beitrags-ID: 22385024.
|