Beschreibung IP_CONF (S7-300, S7-400) - STEP 7

Open User Communication (S7-300, S7-400)

ft:publication_title
Open User Communication (S7-300, S7-400)
Product
STEP 7
Version
V21
Publication date
11/2025
Language
de-DE
Beschreibung IP_CONF

Beschreibung

Die Anweisung "IP_CONF" dient zur programmgesteuerten Konfiguration der integrierten PROFINET-Schnittstelle der CPU. Die bisher gültigen Konfigurationsdaten werden dabei überschrieben.

Sie können die folgenden Einstellungen der Schnittstellen-Konfiguration vornehmen:

  • IP-Parameter: IP-Adresse, Subnetzmaske, Router-Adresse

  • PROFINET IO-Gerätename (falls die CPU als PROFINET IO Device betrieben wird)

Die Konfigurationsdaten müssen Sie in einem Konfigurations-DB ablegen.

Die programmgesteuerte Einstellung der IP-Konfiguration mit der Anweisung "IP_CONF" können Sie alternativ zur Projektierung mit STEP 7 vornehmen. Sie wird jedoch nur dann wirksam, wenn Sie in der Hardware-Konfiguration explizit vorgegeben haben, dass die Vergabe von IP-Parametern über das Anwenderprogramm erfolgt.

Hinweis

Die Konfigurationsdaten eines Kommunikationsprozessors können alternativ zur Projektierung mit der Anweisung "IP_CONFIG" eingestellt werden (siehe SIMATIC NET CP).

Arbeitsweise

Die Anweisung "IP_CONF" ist eine asynchron arbeitende Anweisung, d. h. die Bearbeitung erstreckt sich über mehrere Aufrufe. Sie starten den Übertragungsvorgang, indem Sie "IP_CONF" mit REQ = 1 aufrufen.

Zu jedem Zeitpunkt kann nur ein Auftrag aktiv sein.

Ü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 die Anweisung aktuell befindet bzw. wann die Übertragung der Konfigurationsdaten beendet 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

Der Anweisung wurde kein (neuer) Auftrag erteilt.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "IP_CONF":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

REQ

Input

BOOL

E, A, M, D, L, T, Z

Steuerparameter REQUEST. Startet die Anweisung bei steigender Flanke.

LADDR

Input

WORD

M, D oder Konstante

Diagnoseadresse der PROFINET-Schnittstelle

CONF_DB

Input

ANY

D

Zeiger auf die Konfigurationsdaten (zulässige Datentypen: BYTE, WORD, BLOCK_DB)

Hinweis: Den Parameter CONF_DB können Sie auf die folgenden beiden Arten angeben:

  • absolut. Bsp.: P#DB13.DBX0.0 Byte 64

  • symbolisch. Bsp.: DB_name.variable

DONE

Output

BOOL

E, A, M, D, L

Zustandsparameter DONE:

  • 0: Auftrag wurde noch nicht gestartet oder wird noch ausgeführt.

  • 1: Auftrag wurde fehlerfrei ausgeführt

BUSY

Output

BOOL

E, A, M, D, L

  • 0: Der Auftrag ist beendet.

  • 1: Der Auftrag ist noch nicht beendet. Es kann kein neuer Auftrag angestoßen werden.

ERROR

Output

BOOL

E, A, M, D, L

Zustandsparameter ERROR:

ERROR=1: Bei der Bearbeitung ist ein Fehler aufgetreten. STATUS liefert detaillierte Auskunft über die Art des Fehlers

STATUS

Output

DWORD

E, A, M, D, L

Fehlerinformation

ERR_LOC

Output

DWORD

E, A, M, D, L

Fehlerquelle (field_id und subfield_type_id des Fehler verursachenden Parameterblocks)

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter ERROR und STATUS

ERROR

STATUS (DW#16#..)

ERR_LOC*

Erläuterung

0

00000000

0

Auftragsbearbeitung ohne Fehler beendet

0

00700000

0

Keine Auftragsbearbeitung aktiv

0

00700100

0

Start der Auftragsbearbeitung

0

00700200

0

Zwischenaufruf (REQ irrelevant )

1

C08xyy00

0

Allgemeine Fehlerinformation

Siehe auch: Fehlerauswertung mit dem Ausgangsparameter RET_VAL

1

C0808000

0

LADDR ist ungültig

1

C0808100

0

LADDR ist der unterstützten PROFINET-Schnittstelle nicht zugewiesen

1

C0808200

0

Fehler im Parameter CONF_DB: Datentyp wird nicht unterstützt.

1

C0808300

0

Fehler im Parameter CONF_DB: Der Pointer zeigt auf einen nicht unterstützten Bereich.

1

C0808400

0

Fehler im Parameter CONF_DB: Falsche Länge des ANY-Pointers

1

C0808700

0

Fehler im Parameter CONF_DB: Inkonsistenz der Längenangabe bei den Konfigurationsdaten

1

C0808800

s, 0

field_type_id hat einen unzulässigen Wert

1

C0808900

s, 0

field_id hat einen unzulässigen Wert

1

C0808A00

s, 0

Falsche Anzahl bei subfield_cnt

1

C0808B00

s, t

subfield_id hat einen unzulässigen Wert

1

C0808C00

s, t

Teilfeld mehrfach benutzt

1

C0808D00

s, t

subfield_len hat einen falschen oder unzulässigen Wert

1

C0808E00

s, t

subfield_mode hat einen unzulässigen Wert

1

C0808F00

s, t

Im Teilfeld besteht ein Konflikt zu einem früheren Teilfeld.

1

C0809000

s, t

Die Parameter des Teilfelds sind schreibgeschützt. Z. B. erfolgte die Parametervorgabe per Projektierung oder der PNIO-Betrieb ist aktiv.

1

C0809400

s, t

Parameterwert im Teilfeld ist nicht definiert oder unzulässig

1

C080C200

0

Die Übertragung kann nicht durchgeführt werden (z. B. weil die Schnittstelle nicht erreichbar ist).

1

C080C300

0

Ungenügende Ressourcen (z. B. mehrfacher Aufruf von "IP_CONF" mit unterschiedlichen Parametern)

1

C080C400

0

Temporärer Kommunikationsfehler

* In der obigen Tabelle ist f die field_id und s die subfield_type_id des Fehler verursachenden Parameterblocks.