DotNetSiemensPLCToolBoxLibrary (LibNoDave) Zugriff auf Dual-Port RAM / FB15

Zuviel Werbung?
-> Hier kostenlos registrieren
In den Code von libnodave würde ich das definitiv niemals einbinden, das ist als Basis nicht mehr zeitgemäß. Ich habe einen ganz rudimentären Treiber für die ganz alte Version der 1200er, dort wird keine Authentifizierung benötigt, damit kann ich den Variablenhaushalt browsen und dann Werte lesen. Im Wireshark Plugin für das neue Protkoll wird weitestgehend alles angezeigt was dort abläuft, um einen Treiber zu schreiben kann man das aber nur als Anhaltspunkt nehmen.
Das Problem ist m.M.n. eher ein rechtliches als ein technisches, weil dort einige kryptografische Funktionen verwendet werden, von denen du a) wissen musst wie sie funktionieren und b) du ein paar Schlüssel dazu besitzen musst. a) ist seit kurzem von anderer Stelle öffentlich dokumentiert worden, da könnte man sich darauf berufen. Zu b) also Closed-Source Produkte welche das Protokoll unterstützen geben sich Mühe das gut in ihrem Code zu verstecken.
 
@thomas_v2.1 gabs hier nicht mal ein link zu einer gruppe die nen java tia treiber entwickeln wollten, und auch ein bisschen übers protokoll geschrieben hatten. (den treiber dann aber aufgrund der gleichen gründe die du genannt hast erst mal auf eis gelegt haben?)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@thomas_v2.1 gabs hier nicht mal ein link zu einer gruppe die nen java tia treiber entwickeln wollten, und auch ein bisschen übers protokoll geschrieben hatten. (den treiber dann aber aufgrund der gleichen gründe die du genannt hast erst mal auf eis gelegt haben?)

Ja ich stand mit denen mal in Kontakt, und habe da auch meine Bedenken angemeldet. Vielleicht ist es auch gar nicht (mehr) so kritisch zu sehen, Siemens vertreibt mit dem IoT-Gerät ja mittlerweile selber etwas, das mit Node-Red ohne den Nicht-Siemens S7-Treiber im Automatisierungsumfeld annähernd nutzlos ist.
 
In den Code von libnodave würde ich das definitiv niemals einbinden, das ist als Basis nicht mehr zeitgemäß. Ich habe einen ganz rudimentären Treiber für die ganz alte Version der 1200er, dort wird keine Authentifizierung benötigt, damit kann ich den Variablenhaushalt browsen und dann Werte lesen. Im Wireshark Plugin für das neue Protkoll wird weitestgehend alles angezeigt was dort abläuft, um einen Treiber zu schreiben kann man das aber nur als Anhaltspunkt nehmen.
Das Problem ist m.M.n. eher ein rechtliches als ein technisches, weil dort einige kryptografische Funktionen verwendet werden, von denen du a) wissen musst wie sie funktionieren und b) du ein paar Schlüssel dazu besitzen musst. a) ist seit kurzem von anderer Stelle öffentlich dokumentiert worden, da könnte man sich darauf berufen. Zu b) also Closed-Source Produkte welche das Protokoll unterstützen geben sich Mühe das gut in ihrem Code zu verstecken.
Hallo Thomas,
nach dem du selbst deine eigenen Bedenken ausgeräumt hast, jetzt mal zur Sache.
Auf was würdest du aufsetzen?
Wenn ich das richtig gegoogelt habe, hat Siemens S7CommPlus mehr oder weniger über das bestehende S7Comm drüber gestülpt. Somit macht ein kompletter neu Anfang ja keinen Sinn.

Nach dem Microsoft immer mehr gefallen an Linux hat und damit C# zukünftig (Kauf von Xamarin +Mono) und Umsetzung von DotNet Standard und auch der Chef von Red Hat gefallen an DotNet gefunden hat, darf man C# nicht mehr vernachlässigen.

Ich weiß, dass du ein Freund von C bist, jedoch hast du geschrieben dass du die Zukunft nicht in libnodave siehst. Auf welche Lib würdest du aufsetzen? Snap7? Zukunftsgewand C#, was Leistungmäßig nicht zwangsläufig langsamer ist, jedoch deutlich besser beim Programmieren und der Fehlersuche ist?
 
Wie finde ich den die IP Adresse meiner S7 1500 raus, wenn ich nur die MAC hab? S7 ist in einer ET200 verbaut und meldet sich auch per Wireshark, jedoch fehlt mir die IP.
2019-11-01 18_55_58-_Ethernet 2.jpg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit TIA hab ich das Gerät und seine IP gefunden.

Hab mir die Demo von AG-Link runter geladen und versuch mich am "AGL5 TIA CommunicationSample C#".
Jedoch bekomme ich keine Verbindung (Fehler Timeout)

AGLINK V4 Konfiguration (Verbindung funktioniert nur jedes zweite mal, und Geräteinfos nur jedes dritte Mal)
Methoden konnte ich mit der GUI gar keine ausführen


Code:
[FONT=Verdana]AGL_OpenDevice( DevNr=0 ) : Kein Fehler
AGL_DialUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_InitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_GetLifeList( DevNr=0, List, boWait=true ) : 1 
AGL_PLCConnect( DevNr=0, PlcNr=1, boWait=true ) : Timeout
AGL_ExitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_HangUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_CloseDevice( DevNr=0 ) : Kein Fehler
[/FONT]

Code:
[FONT=Verdana]AGL_OpenDevice( DevNr=0 ) : Kein Fehler
AGL_DialUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_InitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_GetLifeList( DevNr=0, List, boWait=true ) : 1 
AGL_PLCConnect( DevNr=0, PlcNr=1, boWait=true ) : Die Verbindung wurde geschlossen
AGL_ExitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_HangUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_CloseDevice( DevNr=0 ) : Kein Fehler
[/FONT]

Code:
[FONT=Verdana]AGL_OpenDevice( DevNr=0 ) : Kein Fehler
AGL_DialUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_InitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_GetLifeList( DevNr=0, List, boWait=true ) : 1 
AGL_PLCConnect( DevNr=0, PlcNr=1, boWait=true ) : Kein Fehler
AGL_ReadMLFBNr( ConnNr=0x400, MLFBNr, boWait=true ) : 6ES7 510-1SJ01-0AB0
AGL_PLCDisconnect( ConnNr=0x400, boWait=true ) : Kein Fehler
AGL_ExitAdapter( DevNr=0, boWait=true ) : Kein Fehler
AGL_HangUp( DevNr=0, boWait=true ) : Kein Fehler
AGL_CloseDevice( DevNr=0 ) : Kein Fehler[/FONT][FONT=Verdana]
[/FONT]
 
@Thomas:
Braucht man die Erweiterung oder ist das nun alles im aktuellen Wireshark drin? Läuft das unter s7comm oder
s7comm-plus?

https://sourceforge.net/projects/s7commwireshark/

IMPORTANT
The s7comm protocol is directly integrated into wireshark (also sources), you don't need the plugin anymore, if you use an actual version of Wireshark.

To build s7comm-plus for the S7 1200/1500 plc, use the latest sources from Wireshark. Or if you want to use the plugin dll, use the most recent version of Wireshark you can find.
 
Für s7comm-plus musst du die dll herunterladen und bei deiner Wireshark Installation in das plugins\x.x\epan Verzeichnis legen, dort liegen auch schon andere z.B. für Profinet. Wenn du Wireshark startest dann wird dieses Plugin erkannt und geladen.
Du musst nur die passende Wireshark Version verwenden, aktuell ist die Version 3.0 mit der sollte das Plugin funktionieren.
 
@[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]Rainer Hönle:
Wie ist den die Performance zwischen S7comm und S7comm Plus bei z.B. S7-1500?
Kostet die Verschlüsselung Zeit oder steigt die Zykluszeit der PLC?
[/FONT]
 
@Rainer Hönle:
Wie ist den die Performance zwischen S7comm und S7comm Plus bei z.B. S7-1500?
Kostet die Verschlüsselung Zeit oder steigt die Zykluszeit der PLC?


Da kann ich im Augenblick nur antworten wie Radio Eriwan: das kommt darauf an. Grundsätzlich gilt, dass wenn alles einzelne Symbole sind (also keine Arrays), dann ist das S7comm Plus-Protokoll eher langsamer. Bin im Augenblick dabei, genau diese Frage zu untersuchen und werde die Erkenntnisse dann in einem whitepaper veröffentlichen. Wenn dies soweit ist, werde ich dies hier im Forum sicher kundtun (dauert noch etwas ;-))
 
Zurück
Oben