TIA MAC Adresse finden mit S7-1500

Slectom-Mops

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin!

Ich habe eine CPU und mehrere ProfiNET Teilnehmer in einem Netzwerk hängen und möchte nun IM Anwenderprogramm (geschrieben mit TIA V15.1) herausfinden, welche MAC Adresse ein bestimmter Teilnehmer hat, von dem ich nur die IP-Adresse kenne. Normal von PC zu PC macht man das über eine ARP Anfrage aber ich habe bisher keinerlei Möglichkeit gefunden, eine solche Anfrage für SPS zu programmieren. Geht das überhaupt? Und wenn ja wie? :confused:
Ich brauche halt die korrekte MAC Adresse in dem Programm, ohne sie vorher händisch einzutragen.

Vielen Dank!

Slectom-Mops

Leider ist mir da ein kleiner Fehler unterlaufen... Das Gerät, von dem ich die MAC-Adresse will ist natürlich NICHT mit ProfiNET angeschlossen - das wäre zu einfach gewesen. :icon_rolleyes:
Es handelt sich um eine normale Ethernetverbindung, weswegen der schöne Bibliotheksbaustein leider nicht funktioniert, da es keine Hardware-ID gibt. :sw18:

Hat dazu zufällig auch noch jemand ne schlaue Idee?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,
schau dir mal den Baustein GetStationInfo an. Der müsste im Modus 2 die MAC eines Profinet-IO-Device ausspucken. (zu finden unter erweiterte Anweisungen)
 
Wenn man in dem Subnetz ein Basic oder Comfort HMI-Panel hat, dann kann man damit in "Service and Commissioning" nach S7-1200 und S7-1500 PLC scannen. Das listet von den gefundenen PLC die MAC-Adressen auf.

Das könnte man händisch machen und dann die MAC in der WinCC Runtime in HMI-Variablen zur PLC eintippen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die Rückmeldungen.

Ich suche nach einer automatisierten Lösung, dass alle Netzwerkteilnehmer mit MAC aufgelistet werden.
Den Ansatz mit dem Panel hatte ich auch, aber etwas anders. Ich werde vermutlich prüfen, ob das Panel diese Auflistung über ein Skript machen kann und die gescannten Ergebnisse dann in einen DB einträgt.
 
Kann man mit LSNMP eine Managed Switch die Liste von MAC Adressen abfragen ?

Nur eine Idée. Ich habe Null Erfahrung mit diesen Bibliotek.
 
Können Comfort Panels im CMD den Befehl 'arp'? Erzeugt ein Ping auf die IP-Adresse einer S7-1500 einen ARP-Eintrag? Dann könnte man per Skript die MAC bei bekannter IP-Adresse erhalten. Allerdings nicht den Typ des Gerätes.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Können Comfort Panels im CMD den Befehl 'arp'?
VBS in die Comfort Panele ist sehr begrenzt.
Man kann ein BATCH Datei erstellen und diese per StarteProgramm aufrufen.
Aber wie bekommt man das ARP-Ergebniss von CMD-Fenster zurück ins das HMI Programm, geschweige denn in die PLC ?
 
Ich kann zur Lösung leider nichts beitragen, sorry, aber schildere doch einmal genauer was Du tatsächlich machen möchtest. Vielleicht gibt es für Dein(e) Problem/Aufgabe ja eine andere Lösung.
 
wie bekommt man das ARP-Ergebniss von CMD-Fenster zurück ins das HMI Programm, geschweige denn in die PLC ?
Hier ein Beispielskript für WinCE VBS "GetHostname", was per StartProgram eine Batchdatei startet und die Ausgabe von "ipconfig" in einer Textdatei auffängt:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann zur Lösung leider nichts beitragen, sorry, aber schildere doch einmal genauer was Du tatsächlich machen möchtest. Vielleicht gibt es für Dein(e) Problem/Aufgabe ja eine andere Lösung.
Mein Ziel ist es, dass ich einen Austausch von Netzwerkkomponenten erkennen kann. Aus diesem Grund möchte ich eine Liste von allen erreichbaren Netzwerkteilnehmern mit der zugehörigen MAC ablegen.


Hier ein Beispielskript für WinCE VBS "GetHostname", was per StartProgram eine Batchdatei startet und die Ausgabe von "ipconfig" in einer Textdatei auffängt:
Ich habe ein MTP700 Comfort Unified, kein WinCC, deshalb geht diese Lösung in dieser Form bei mir nicht. Da muss man vermutlich einiges anpassen.

Ein weiterer Ansatz wäre ggf. über CLI die ARP-Tabelle aus unserem Router auszulesen. Das muss ich mir aber genauer anschauen, ob das möglich ist.
 
Ich habe ein MTP700 Comfort Unified, kein WinCC, deshalb geht diese Lösung in dieser Form bei mir nicht. Da muss man vermutlich einiges anpassen.
Comfort Unified hat Linux und Javascript.
Da gibt es vielmehr Möglichkeiten als mit VB Skript, aber dann muss man Javascript kennen.
Ich habe keine Kentniss zu Javascript.

Ein weiterer Ansatz wäre ggf. über CLI die ARP-Tabelle aus unserem Router auszulesen
Ist diese Router SNMP enabled ?
Wenn ja, hast du dies überlegt ?:
Kann man mit LSNMP eine Managed Switch die Liste von MAC Adressen abfragen ?
 
Comfort Unified hat Linux und Javascript.
Da gibt es vielmehr Möglichkeiten als mit VB Skript, aber dann muss man Javascript kennen.
Ich habe keine Kentniss zu Javascript.
Die Möglichkeiten von Javascript in Unified sind seitens Siemens stark beschnitten.
Ein Netzwerk-Scan ist aus der normalen Scriptumgebung nicht möglich.
Evtl. ließe sich was im Rahmen einer Edge-App machen, was aber eine zusätzliche Subscription-Lizenz erfordert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ein Netzwerk-Scan ist aus der normalen Scriptumgebung nicht möglich.
Ich denke nicht dass das WinCC Unified Panel selber ein Netzwerk-Scan machen soll, sondern 'nur' eine Tabelle in ein Router abfragen soll.

(Da ich keine Erfahrung mit WinCC Unified habe und von SNMP nur gehört habe, werde ich mich nach diesem Einwurf in die Diskussion zurückziehen .... ;) )
 
Ich denke, ich werde die ARP-Tabelle dann eher über ein externes System vom Router über eine ssh-Verbindung und CLI abholen, das funktioniert ganz gut. Man muss nur alle Teilnehmer pingen, damit diese auch in der Tabelle enthalten sind.
 
Zurück
Oben