Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 6 von 27 ErsteErste ... 4567816 ... LetzteLetzte
Ergebnis 51 bis 60 von 262

Thema: Wireshark Plugin für S7-Protokoll

  1. #51
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wärs denn keine Idee das ganze an Wireshark zu senden, so das es in die offiziellen Releases mit aufgenommen wird?

    (Sonst muss Ich mir jetzt doch noch ne Build Umgebung aufbauen, würd das Plugin nämlich gerne in meinem MacBook nutzen )
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  2. #52
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Wärs denn keine Idee das ganze an Wireshark zu senden, so das es in die offiziellen Releases mit aufgenommen wird?
    Meiner Meinung nach sollten im offiziellen Wireshark nur 100%ig vollständig und richtige Protokolle enthalten sein. Davon ist das hier ja noch sehr weit entfernt, und der Stand wird ohne Protokollbeschreibung auch wohl nie erreicht werden.

    Ich bin momentan dabei viele Dinge aufgrund von neuen Erkenntnissen umzubenennen. Die PDU-Type nennt sich unter anderem jetzt ROSCTR (Remote Operating Service Control), denn auf der Siemens Seite lassen sich Informationen über das Sinec AP Protokoll finden, und Teile davon sind wohl in das S7 Protokoll eingeflossen. Darum übernehme ich jetzt die Bezeichnungen die dort verwendet werden.
    Ein paar Bezeichnungen lässt Siemens auch in Dokumentationen für die Sinumerik Steuerungen fallen. Wenn man mal ein paar offizielle Bezeichnungen gefunden hat, stößt man mit der google Suche nach diesen auch auf weitere Dokumente aus denen sich was raussaugen lässt.

  3. #53
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard

    Kann ich dir denn noch mit was weiterhelfen? Hab ja z.B. die Anfrage für Baustein Diagnosedaten beim mir in der Bibliothek drin. Willst du in die Richtung auch was einbauen?
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  4. #54
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Ich würde am liebsten erstmal den Parameter-Teil vollständig haben.

    Was haben z.B. die ersten 3 Bytes bei Userdata-Telegrammen zu bedeuten? Bzw. ist "Userdata" als Name für diese Telegramme überhaupt richtig, denn in diesen Telegrammen steckt alles andere außer den Variablendiensten. Die anderen Kennungen lauten in Siemens original-Sprech z.B. "Auftrag mit Quittung", was ich einfach mal "Job" übersetzt habe. Die Antworten heißen dann im original "Quittung ohne Zusatzfeld" und "Quittung mit Zusatzfeld", bei mir "Ack" und "Ack_Data" genannt.

    Wenn man das Schema wie bei den Variablendiensten annimmt, wäre das erste Byte im Parameter der Funktionscode. Der ist dabei aber immer Null.
    Das zweite Byte ist immer 1. Vielleicht gibt dieses die Anzahl der Parameter-Datensätze an. Ich habe aber immer nur einen Satz gesehen.
    Das dritte Byte ist immer 0x12, vielleicht gibt das an wie der Parameter-Satz aufgebaut ist? Irgendeine Bedeutung muss das aber haben, denn es ergibt ja keinen Sinn 3 Bytes für hier überflüssige Konstanten einzusetzen.

    Bei den Bytes 4, 5 und 6 scheint das was ich mir da überlegt habe von der Funktion her zwar zu passen, aber so einen verrückten Aufbau traue ich nichtmal Siemens zu. Da muss irgendeine andere Logik hinterstecken.
    Dann gibt es noch ein Byte vor dem Byte welches kennzeichnet dass dieses die letzte Dateneinheit zu einem Datensatz ist. Dort steht immer ein Wert ungleich Null wenn dieses nicht der letzte Datensatz ist, aber die Werte darin sind immer unterschiedlich. Ich habe schon 2, 5 und 7 gesehen. Keine Ahnung was das soll.
    Technisch sinnvoll wäre eigentlich dem Partner die Anzahl der noch folgenden Pakete mitzuteilen wenn fragmentiert wird, aber das scheint es nicht zu sein.

    Ich habe meinen aktuellen Arbeitsstand mal angehängt, kannst dir das ja mal ansehen (hab' die 32 und 64 Bit reingepackt). Ich habe im Laufe der Zeit noch ein paar andere Dinge geändert.
    Angehängte Dateien Angehängte Dateien

  5. #55
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard

    Wenn die immer gleich sind, kann ich dir leider auch nicht mehr dazu sagen. Ich hab leider auch keine internen Infos, sondern nur das was Ich durch probieren rausgefunden habe.
    Also falls du bei den Telegrammen zum Up/Download weitere Infos über den Baustein, oder bei den Bausteindiagnosetelegrammen weitere Details einbauen willst, dazu hab Ich halt noch Infos...
    Wenn Ich aber was rausfinde, gibt's natürlich hier weitere Infos... Ich mach mich mal wieder an die Bausteinprüfsumme
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  6. #56
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Ich habe mir gerade nochmal ein paar Aufzeichnungen angesehen. So wie es aussieht ist diese Nummer doch nicht konstant, sondern eine weitere Referenz-Nummer auf die man sich beziehen kann/muss wenn ein Telegramm aufgrund der Größe fragmentiert wird. In einigen Aufzeichnungen wird diese Nummer von der SPS bei jedem neuen fragmentierten Telegramm erhöht. Eine Abfrage dieser Nummer ist nur notwendig wenn man mehrere Telegramme gleichzeitig auf die Reise schickt. Darum funktioniert das auch in libnodave ohne die Abfrage der Nummer, da dort immer nur eine einzige Anfrage zur Zeit läuft.

  7. #57
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Hast du zu den Diagnosetelegrammen irgendwas dokumentiert, oder steht das meiste bei dir im Quellcode drin?

  8. #58
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.645
    Danke
    208
    Erhielt 409 Danke für 328 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich habe mir gerade nochmal ein paar Aufzeichnungen angesehen. So wie es aussieht ist diese Nummer doch nicht konstant, sondern eine weitere Referenz-Nummer auf die man sich beziehen kann/muss wenn ein Telegramm aufgrund der Größe fragmentiert wird. In einigen Aufzeichnungen wird diese Nummer von der SPS bei jedem neuen fragmentierten Telegramm erhöht. Eine Abfrage dieser Nummer ist nur notwendig wenn man mehrere Telegramme gleichzeitig auf die Reise schickt. Darum funktioniert das auch in libnodave ohne die Abfrage der Nummer, da dort immer nur eine einzige Anfrage zur Zeit läuft.
    Welche Software gibt es denn die mehrere Telegramme losschickt? Bringt das überhaupt was? D.h. Ich kann noch ein Telegramm absenden bevor die S7 auf das vorherige geantwortet hat?

    Zitat Zitat von Thomas_v2.1
    Hast du zu den Diagnosetelegrammen irgendwas dokumentiert, oder steht das meisten bei dir im Quellcode drin?
    Im Quellcode. Die PLCConnection.cs Funktion: PLCStartRequestDiagnosticData.

    Zum aufbau von den S7 Blöcken ist noch was in der MC7Converter.cs Funktion GetAWLBlock, das bringt aber ja nur was bei der ersten anfrage, wenn der block gesplittet wird bringts ja nichts mehr...
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

  9. #59
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Welche Software gibt es denn die mehrere Telegramme losschickt? Bringt das überhaupt was? D.h. Ich kann noch ein Telegramm absenden bevor die S7 auf das vorherige geantwortet hat?
    Beim Simatic.Net OPC Server kann man das beispielsweise einstellen. Die Anzahl wird wie die PDU Größe beim Verbindungsaufbau ausgehandelt.
    In der letzten Version "Max amq calling/called" genannt, so heißt es auch in den Siemens Dokumentationen. Wie bei der PDU Größe ist das vom Anfrager ein Vorschlag, und die SPS verringert diesen ggf. auf ihre maximale Anzahl.
    "Called" ist die Anzahl des Partners, und "Calling" die eigene. Die Anzahl gilt für Aufträge mit Quittung.

    Ob das was bringt? Keine Ahnung. Auf einer langsamen Datenleitung wie MPI wohl eher als auf einer schnellen wie Ethernet im LAN, da nicht so viel Zeit mit Warten verbracht werden muss.

  10. #60
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.080
    Danke
    128
    Erhielt 1.479 Danke für 1.089 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Man sollte ja nicht mit was neuem anfangen wenn das alte noch nicht fertig ist, aber ich war grad neugierig

    Ich habe in das Plugin auf die Schnelle eine Weiche eingebaut damit die symbolischen Adressangaben der 1200 zumindest grundsätzlich aufgeschlüsselt werden.
    Der Telegrammaufbau bei der Kommunikation der 1200 mit dem integrierten TIA HMI ist grundsätzlich identisch einer 300/400er Steuerung (Kopf-, Parameter- und Datenteil). Nur die Variablenspezifikation ist eben anders.
    Die magische Zahl die dem SPS-Symbol zugeordnet scheint auf jeden Fall 12 Byte lang zu sein.

    Hat sich das schonmal jemand näher angesehen ob man aus der Zahl an sich noch weitere Informationen extrahieren kann? Und gibt es schon einen Mitschnitt der Kommunikation mit der neuen 1500er?

    wireshark-1200-sym.jpg

Ähnliche Themen

  1. Wireshark Auszüge von Onlinebeobachtungen
    Von Jochen Kühner im Forum Simatic
    Antworten: 40
    Letzter Beitrag: 25.01.2011, 15:44
  2. Wireshark 1.2.0 ohne AMS.ADS?
    Von Neals im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 08.07.2009, 21:29
  3. Wireshark als Sender
    Von Tapio Bearking im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 08.07.2008, 11:47
  4. AK- Protokoll
    Von borromeus im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 27.02.2007, 17:30
  5. S7-Protokoll 2
    Von Zapot im Forum Feldbusse
    Antworten: 1
    Letzter Beitrag: 21.08.2006, 09:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •