DP-Adresse und IP-Konfiguration Einstellung der DP-Adresse und der IP- Konfiguration aus Anwenderprogramm
Inhaltsverzeichnis Inhaltsverzeichnis 1 Fragestellung... 3 2 Lösung... 3 2.1 Einstellen der DP-Slave-Adresse durch das Anwenderprogramm... 3 2.2 Einstellen der IP-Konfiguration durch das Anwenderprogramm... 7 Ausgabe 06/2005 2/10
Fragestellung 1 Fragestellung Dieser FAQ gilt in Ergänzung zur Dokumentation. Wie können die DP-Adresse bzw. die IP-Konfiguration aus dem Anwenderprogramm eingestellt werden? 2 Lösung 2.1 Einstellen der DP-Slave-Adresse durch das Anwenderprogramm Mit diesen Funktionen kann die aktuell durch die Projektierung in HW- Konfig vorgegebene DP-Adresse in SIOMTION verändert werden. Dadurch ist es möglich abhängig von äußeren Gegebenheiten, z. B. einem Kodierschalter die DP-Adresse durch die Applikation einzustellen. Systemfunktion zum Setzen der DP-Adresse: _setdpslaveaddress Mit dieser Systemfunktion spezifiziert das Anwenderprogramm die gewünschte DP-Slave-Adress des spezifizierten DP-Adapters. Die Systemfunktion prüft, ob der spezifizierte DP-Adapter laut vorliegender Projektierung auch als DP-Slave konfiguriert ist. Erst nach Auslösen der Systemfunktion _activatedpslaveaddress wird dann die gespeicherte Information wirksam. Die Funktion steht kann nur synchron ausgeführt werden. Die mit der Systemfunktion setdpslaveaddress gesetzte DP-Adresse ist mit dem nächsten Hochlauf des SIMOTION-Gerätes wirksam und bleibt solange erhalten, bis das SIMOTION-Device ausgeschaltet wird. Mit einem Hochlaufen nach Spannung AUS wird wieder die DP-Adresse gültig, die in dem Projekt steht, mit welchem hochgefahren wird. D.h. die so eingestellte DP-Adresse ist nicht persistent und muss in Retain- Variablen gespeichert und bei Hochlauf erneut gesetzt werden, wenn persistent gewünscht. Ausgabe 06/2005 3/10
Function _setdpslaveaddress Rueckgabewert: DINT Beschreibung des Rueckgabewerts: 0x00000000 ok neue DP-Slave-Adresse eingestellt 0xFFFF8090 ungültige Adresse: außerhalb gültigem Wertebereich ungültiger Dp-Segment-Adapter 0xFFFF8091 ungültige DP-Slave-Address 0xFFFF8092 Dp-Adapter ist nicht als Slave projektiert 0xFFFF8093 Dp-Adapter ist nicht passiv projektiert 0xFFFF8094 angeforderte Dp-Slave-Address nicht gespeichert 0xFFFF8095 angeforderte Dp-Slave-Address ist größer als die projektierte HSA 0xFFFF8099 interner Fehler, Funktion beenden Parameter: logicaladdresscommunicationadapter Richtung: Input Parameter Datentyp: DINT Parameterindex: 1 dpslaveaddress Richtung: Input Parameter Datentyp: SINT Parameterindex: 2 Ausgabe 06/2005 4/10
Systemfunktion zum Aktivieren der DP-Adresse: _activatedpslaveaddress Mittels dieser Systemfunktion aktiviert Simotion die eingestellten DP-Slave- Adressen. Intern löst diese Funktion den Neustart von Simotion aus. Die Änderung der DP-Slave-Addresse durch _setdpslaveaddress und _activatedpslaveaddress führt nicht zur Aktualisierung der Routing- Information im SIMOTION-Gerät. Damit ist nach Änderung der DP-Slave- Addresse ein Routing hin / von dieser Schnittstelle nicht möglich. SCOUT / OP's erreichen somit die an den weiteren DP-Masterschnittstellen angekoppelten Geräte nach Änderung der DP-Slave-Adresse nicht mehr. Function _activatedpslaveaddress Rueckgabewert: DINT 0x00000000 ok erfolgreich angestoßen Kernel stellt die Werte ein 0xFFFF8090 ungültige Adresse: außerhalb gültigem Wertebereich ungültiger Dp-Segment-Adapter 0xFFFF8091 ungültige Dp-Slave-Address 0xFFFF8094 activatedpslave ohne vorherigem gültigem _setdpslaveaddress 0xFFFF8099 interner Fehler, Funktion beenden Parameter: logicaladdresscommunicationadapter Richtung: Input Parameter Datentyp: DINT Parameterindex: 1 Logische Adresse des zugehörigen DP-Adapters 0xffffffff aktivieren aller DP-Slave-Addressen 0x0000... maxlogicaladdress aktivieren Dp-Slave-Addresse des spezifizierten DP-Adapters Ausgabe 06/2005 5/10
Systemfunktion zum Lesen der DP-Adresse: _getactivedpslaveaddress Mit dieser Systemfunktion kann im Anwenderprogramm die wirksame DP- Slave-Addresse des spezifizierten DP-Adapters gelesen werden. Die Funktion steht kann nur synchron ausgeführt werden. Function _getactivedpslaveaddress Rueckgabewert: StructRetDpSlaveAddress StructRetDpSlaveAddress FunctionResult DINT Beschreibung des Rueckgabewerts: 0x00000000 ok 0xFFFF8090 ungültige Adresse: außerhalb gültigem Wertebereich ungültiger Dp-Segment-Adapter 0xFFFF8091 ungültige DP-Slave-Address 0xFFFF8092 Dp-Adapter ist nicht als Slave projektiert 0xFFFF8093 Dp-Adapter ist nicht passiv projektiert 0xFFFF8094 angeforderte Dp-Slave-Address nicht gespeichert 0xFFFF8099 interner Fehler, Funktion beenden dpslaveaddress SINT Parameter: logicaladdresscommunicationadapter Richtung: Input Parameter Datentyp: DINT Parameterindex: 1 Ausgabe 06/2005 6/10
2.2 Einstellen der IP-Konfiguration durch das Anwenderprogramm Systemfunktion zum Setzen der IP Konfiguration: _setipconfig Mit dieser Funktion kann die aktuell durch die Projektierung in HW-Konfig vorgegebene IP-Konfiguration in SIOMTION verändert werden. Dadurch ist es möglich abhängig von äußeren Gegebenheiten, z. B. einen Kodierschalter die IP-Adresse durch die Applikation einzustellen. es können alle Ethernetschnittstellen des jeweiligen Runtimessytems eingestellt werden. o C230 1 Ethernetschnittstelle o D4x5 2 Ethernetschnittstelle o P350 1 Ethernetschnittstelle oder mit CP1612 2 Es wird IP-Adresse, Subnet Mask und bei Bedarf Gateway eingestellt. die Änderung der IP-Konfiguration wird sofort wirksam, es wird kein Neustart des SIMOTION-Kernels durchgeführt evtl. Applikationsverbindungen, die über Ethernetschnittstellen laufen, werden nicht neu aufgesetzt, d.h. sie können nach einer Änderung nicht weiter benutzt werden Die so eingestellte IP-Konifguration ist nicht persistent und muss in Retain-Variablen gespeichert und bei Hochlauf erneut gesetzt werden, wenn persistent gewünscht. Eine einzelne ETHERNET-Schnittstelle von SIMOTION P besitzt 2 IP- Adressen, IP-Adresse 1 für Windows und IP-Adresse 2 für SIMOTION. Die Systemfunktion ändert nur die IP-Adresse 2. Weiterhin sind bestimmte Regeln bzgl. der 2 IP-Adressen zu beachten. Siehe dazu Kapitel "Ethernet-Kommunikation" in "SIMOTION P350 Betriebsanleitung". Die Änderung der IP-Konfiguration von PROFINET-Boards wird nicht unterstützt. Ausgabe 06/2005 7/10
Function _setipconfig Rueckgabewert: DINT 16#00000000 Funktion erfolgreich ausgeführt 16#FFFF80C1 keine Ressourcen vorhanden, Funktion beendet 16#FFFF8099 interner Fehler, Funktion beendet 16#FFFF8090 Fehler in Übergabeparameter InterfaceID, ausgewählte Schnittstelle nicht vorhanden 16#FFFF80C3 keine Ethernetschnittstelle vorhanden ethernetinterface Richtung: Input-Parameter Datentyp: EnumInterfaceID Parameterindex: 1 Auswahl des Ethernet-Interfaces ipaddress Richtung: Input-Parameter Parameterindex: 2 subnetmask Richtung: Input-Parameter Parameterindex: 3 gatewayaddress Richtung: Input-Parameter Parameterindex: 4 EnumInterfaceID IE_01 (0) Wähle Ethernet-Schnittstelle 1 aus IE_02 (1) Wähle Ethernet-Schnittstelle 2 aus Ausgabe 06/2005 8/10
Systemfunktion zum Auslesen der IP Konfiguration: _getipconfig Mit der Systemfunktion kann die eingestellte Konfiguration der angesprochenen Ethernetschnittstelle ermittelt werden. es können alle Ethernetschnittstellen des jeweiligen Runtimesytems abgefragt werden. o C230 1 Ethernetschnittstelle o D4x5 2 Ethernetschnittstelle o P350 1 Ethernetschnittstelle oder mit CP1612 2 Es wird IP-Adresse, Subnet Mask und Gateway ermittelt. Function _getipconfig Rueckgabewert: StructRetIPConfig StructRetIPConfig Rueckgabeparameter fuer _getipconfig functionresult Rueckgabewert der Funktion Datentyp: DINT ipaddress subnetmask gatewayaddress Beschreibung des Rueckgabewertes: 16#00000000 Funktion erfolgreich ausgeführt 16#FFFF80C1 keine Ressourcen vorhanden, Funktion beendet 16#FFFF8099 interner Fehler, Funktion beendet 16#FFFF8090 Fehler in Übergabeparameter InterfaceID, ausgewählte Schnittstelle nicht vorhanden 16#FFFF80C3 keine Ethernetschnittstelle vorhanden Parameter: ethernetinterface Richtung: Input-Parameter Datentyp: EnumInterfaceID Parameterindex: 1 Angabe der logischen Diagnoseadresse der Schnittstelle. EnumInterfaceID IE_01 (0) Wähle Ethernet-Schnittstelle 1 aus IE_02 (1) Wähle Ethernet-Schnittstelle 2 aus Ausgabe 06/2005 9/10
Wichtige Hinweise: 1. Der Anwender ist für die Korrektheit der IP-Adresse, der Subnetzmaske und der Routeradresse bei der Funktion _setipconfig verantwortlich. Bei der Funktion wird dies nicht geprüft. Bei fehlerhaften Eingaben kann dies zur Folge haben, das man nach Aufruf der Funktion nicht mehr über Ethernet Online kommt bzw. die Online-Verbindung verliert. 2. Die im laufenden Betrieb geänderten IP-Adressangaben werden beim RAM to ROM nicht gesichert. Zuordnungsregeln zu Ethernetschnittstellen: IE_01: C230-2 X7, D4x5 X120, P350 V2.0 Ethernet (Onboard) IE_02: D4x5 X130, P350 V2.0 CP1612 Ausgabe 06/2005 10/10