# e!Cockpit SPS IP Adresse in Software auswerten



## knautschkissen (25 Mai 2020)

Hallo, hoffentlich kann mir eine von euch helfen. Wie kann man die IP Adresse der Wago in der Software auslesen? Hintergrund ist, ich habe 2 Steuerungen in einem System. Beide Teilsysteme sind FAST identisch und sollen mit der gleichen Software laufen. Das FAST im vorherigen Satz möchte ich gerne durch die Abfrage der eigenen IP Adresse begleichen. 
z.B. die eine SPS hat auf Port 1 192.168.100.1, die andere 192.168.200.1. 
Ich möchte die kleinen Unterschiede in der Software welche im wesentlichen nur darin bestehen ob eine Funktion aufgerufen wird oder nicht nicht jedes mal umprogrammieren oder 2 x die ganze Software haben. Da sieht am ende doch keiner mehr durch. Die beiden Ethernetports einer SPS haben übrigens unterschiedliche IP Adressen. Port 1 zur Kommunikation mit den restlichen teilen des Teilsystems, Port 2 Kommunikation der beiden Teilsysteme untereinander. Müsste also die Abfrage Portselektiv machen.


----------



## dingo (25 Mai 2020)

Und warum dürfen die beiden PLC nicht innerhalb in e!Cockpit programmiert werden?



So ist doch mit "nur" einem Projekt programmieren einfacher.

In der Netzwerkübersicht können die einzelnen PLC beschriftet werden.


----------



## ClMak (25 Mai 2020)

Hallo knautschkissen,

es gibt eine Bibliothek mit dem Namen WagoAppConfigTool. Damit kann die Konfiguration für jeden Port X1 oder X2 ausgelesen werden.
Der Baustein in der Bibliothek hat den Namen FbGetX1_NetworkAddress.

https://www.wago.com/de/d/15969

Alternativ ist der Lösungsvorschlag von Dingo auch gut anwendbar. Als Ergänzung hierzu vielleicht noch der Tipp, dass die Programmteile, die in beiden Steuerungen gleich sind, im Ordner _"Projektbibliothek"_ abgelegt werden können und nur der für die einzelne Steuerung spezifische Teil unter dem jeweiligen Controller. Vorteil ist, dass die identischen Programmteile nicht doppelt gepflegt werden müssten.

VG
ClMak


----------



## knautschkissen (26 Mai 2020)

Danke für die Antworten.
die Variante mit dem Gesamten Projekt  auf einmal in e cockpit ist auch interessant. bislang habe ich den anderen Teil nur als einfachen "ModbusSlave" drin.. Die beiden Anlagenteile sollen auf die weise jeweils ihren Status austauschen. Dazu kommen je Anlagenteil 14 weitere Modbusteilnehmer die bei beiden gleich sind, je 3 Canbus teilnehmer sowie, 3 Modbus Teilnehmer die mit beiden kommunizieren (wieder über Port X1 und Port X2 mit getrennten IP Adressen). Ist das mit e Cockpit möglich ein so großes Netzwerk in einem einzigen Projekt zu verwalten? Ich hab da ja bedenken mit der Performance die bei e cockpit ja sowiso schon nicht berauschend ist.


----------



## ccore (2 Juni 2020)

Um das ganz IP-Adressen unabhängig zu gestalten, kannst du auch ein Bit setzen wenn es sich um Variante 1 oder Variante 2 handelt. Dann kann die Steuerung auch mit anderen IP-Adressbereichen arbeiten.

Für die Variante von dingo gibt es auch die Möglichkeit mit Pragmas zu arbeiten. 
https://help.codesys.com/webapp/_cds_pragma_conditional;product=codesys;version=3.5.14.0

Gruß


----------

