Verwendung von SFB 104 "IP_CONF"

Marcus

Level-1
Beiträge
16
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

möchte mit Hilfe des SFB 104 die Konfigurationsdaten der integrierten Profinet-Schnittstelle einer CPU verändern. Ich verwende eine ET200S IM151-8, Firmware 3.2, 196 kB.

Die CPU untersützt diese Funktion. Habe den SFB 104 soweit eingebunden, jedoch noch ohne Erfolg die IP geändert.




Hat jemand den SFB 104 schon eingesetzt? Wie muss der Konfigurations-DB aussehen? Denke bei diesem Datenbaustein muss ich den Fehler suchen, die intere S7-Hilfe unterstützt mich leider wenig.



Danke für eure Hilfe.
 
Was für einen RetVal bekommst Du denn?

Hast Du auch das richtige Interface angesprochen? Ich weiss jetzt nicht ob dieses per log. Adresse oder InterfaceID angesprochen wird. Die InterfaceID bei der IM ist jedenfalls 5.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Status bekomme ich 0x00700000 (Keine Auftragsbearbeitung aktiv) zurück, auch wenn ich an REQ eine postive Flanke anlege.

Was meinst du mit das richtige Interface angesprochen? Habe die Diagnoseadresse meiner zu ändernden Schnittstelle angegeben, geht das in die Richtung? Oder wo kann ich die InterfaceID einstellen?
 
Die Diagnoseadresse meiner PROFINET Schnittstelle hatte ich korrekt an LADDR gelegt.

Wie sieht es mit dem
Konfigurations-DB aus? Ist dieser korrekt aufgebaut?
 
Hallo Daniel,

schreibe die IP-Adresse ins DB an die Stellen

ipaddr_0
ipaddr_1
ipaddr_2
ipaddr_3

Im vorliegenden Fall ist die IP-Adresse noch 000.00.000.000. Auch wenn ich die Felder fülle ändert sich nichts an der Funktion.

Gruß Marcus
 
Um das Thema IP-Konfiguration einstellen mit dem SFB 104 "IP_CONFIG"
abzuschließen:

Die IP-Adresse der CPU IM151-8 PN/DP wird über ein HMI-Panel KTP600 Basic geändert.

Folgende Änderungen habe ich zwischenzeitlich noch vorgenommen:
- Diagnoseadresse in ein MW geschrieben statt TEMP
- Änderung am Konfigurations-DB

jetziger Aufbau
  • field_type_id: 0
  • field_id: 0
  • subfield_cnt: 1
  • udt_SUB_IP_SUITE_IPV4
  • id: 30
  • len: 18
  • mode: 1
  • ipaddr_3
  • ipaddr_2
  • ipaddr_1
  • ipaddr_0
  • snmask_3
  • snmask_2
  • snmask_1
  • snmask_0
  • router_3
  • router_2
  • router_1
  • router_0
Ansonsten fällt mir keine weitere Problemlösung ein. Danke für die Tipps!

SFB104 *ACK*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das interessiert jetzt nach einem Jahr bestimmt nicht mehr, aber ich stehe vor derselben Aufgabe.

Der Threadersteller hat meiner Ansicht nach den Pointer falsch gesetzt. In der Hilfe zu dem SFB 104 wird er an den Anfang des Konf-DB gesetzt und nicht erst an das Subfeld.
Ich berichte mal wenn ichs am laufen hab.
 
So, ich war erfolgreich.

Der Threadersteller hat zwei Fehler begangen.

1: Wie ich bereits erwähnte, der Pointer zum CONF_DB muss auf den Header zeigen, nicht aufs Teilfeld.
2: In der Hardwarekonfig muss bei der Ethernet-Schnittstelle der Haken bei "IP-Adresse auf anderem Weg beziehen" gesetzt werden. Erst dann funktioniert die Übernahme der Adresse! Siehe
http://support.automation.siemens.c...objaction=csview&extranet=standard&viewreg=WW

Ich bräuchte noch eine Lösung wie ich bei einer derartigen HW-Konfig dann noch die Steuerung mit STEP7 erreiche :/

Weiterhin brauch ich noch eine Lösung bei der ich nicht die Adresse einerseits Byteweise an die CPU übertragen muss und andererseit String-Variablen verwenden muss, um mit dem KTP600 die Verbindung zur neuen IP der CPU herzustellen.
 
Zurück
Oben