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

Seite 24 von 27 ErsteErste ... 142223242526 ... LetzteLetzte
Ergebnis 231 bis 240 von 262

Thema: Wireshark Plugin für S7-Protokoll

  1. #231
    Registriert seit
    04.11.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe das S7Comm-Plus Plugin mal ausprobiert (CPU S7-1500 <-> HMI TP700, Symbolischer Zugriff auf Variablen im DB und kein optimierter Datenbaustein, TIAv12 SP1).
    Kann man mit Hilfe der Item reference number feststellen wie der Variablenname im Projekt heißt?

  2. #232
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Zitat Zitat von Kall Beitrag anzeigen
    Ich habe das S7Comm-Plus Plugin mal ausprobiert (CPU S7-1500 <-> HMI TP700, Symbolischer Zugriff auf Variablen im DB und kein optimierter Datenbaustein, TIAv12 SP1).
    Kann man mit Hilfe der Item reference number feststellen wie der Variablenname im Projekt heißt?
    Theoretisch ja, praktisch so naja
    Die Nummern und die zugehörigen Symbole sind in der TIA-Projektdatei wie auch in der SPS gespeichert. Nur gibt es im TIA-Portal keine (offizielle) Möglichkeit an diese IDs heranzukommen. Ich weiß nicht in wie weit Jochen Kühners Programm die TIA-Projektdatei einlesen kann, um an diese Informationen heranzukommen.

    Nur über Wireshark funktioniert das nicht. Aber es gibt eine Möglichkeit die Symbolik der SPS zu browsen (z.B. mit WinCC V7.3), dort bekommt man dann den kompletten Symbolhaushalt mit IDs auch in Wireshark zu Gesicht.

  3. #233
    Registriert seit
    04.11.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Theoretisch ja, praktisch so naja
    Die Nummern und die zugehörigen Symbole sind in der TIA-Projektdatei wie auch in der SPS gespeichert. Nur gibt es im TIA-Portal keine (offizielle) Möglichkeit an diese IDs heranzukommen. Ich weiß nicht in wie weit Jochen Kühners Programm die TIA-Projektdatei einlesen kann, um an diese Informationen heranzukommen.

    Nur über Wireshark funktioniert das nicht. Aber es gibt eine Möglichkeit die Symbolik der SPS zu browsen (z.B. mit WinCC V7.3), dort bekommt man dann den kompletten Symbolhaushalt mit IDs auch in Wireshark zu Gesicht.
    Vielen Dank für die schnelle Antwort.
    Ich habe in der Zwischenzeit mal versucht mit einem Hexeditor (Ultraedit) die Item reference number im Projektfile (.pfl) zu finden. Es gibt sie dort mehrmals aber leider ist dort weit und breit der Variablenname nicht in Sicht. Der Asciiname der Variable ist auch mehrmals im File vorhanden. Da ich auf Grund der angezeigten Variablenwerte in Wireshark weiß um welchen es sich handelt ist die Zuordnung klar.
    Wenn ich die Adressierungsart von symbloisch auf absolut stellen würde, würde man dann die DB Number usw. im Telegramm sehen?
    Mir ist aufgefallen dass Stringvariablen als USINT-Arrays übertragen werden und dann vorne 2 Felder mehr besitzen.
    Die erste Ziffer gibt die Feldlänge an und die 2. Ziffer die Anzahl der belegten Felder. Sehe ich das richtig?

  4. #234
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Zitat Zitat von Kall Beitrag anzeigen
    Wenn ich die Adressierungsart von symbloisch auf absolut stellen würde, würde man dann die DB Number usw. im Telegramm sehen?
    Das hängt davon ab wie der Partner auf die Daten in der SPS zugreift. Den Zugriff über LID/CRC beherrscht momentan ja nur Siemens. D.h. bei allen Nicht-Siemens-Kommunikationspartnern musst auf Absolutadressierung bzw. "nicht-optimierten Zugriff" in Siemens-Sprech wechseln. Dann wird das übliche s7comm (ohne plus) Protokoll verwendet.

    Ich vermute aber mal, dass auch auf "nicht-optimierte" Bereiche über LID/CRC zugegriffen werden kann. Und dass Siemens-HMIs zum Beispiel wenn integriert immer darüber auf die SPS-Daten zugreifen werden. Ich habe das aber noch nicht getestet, kannst du ja mal machen. Was hast du denn für ein Kommunikationspartner / HMI-Software?

    Zitat Zitat von Kall Beitrag anzeigen
    Mir ist aufgefallen dass Stringvariablen als USINT-Arrays übertragen werden und dann vorne 2 Felder mehr besitzen.
    Die erste Ziffer gibt die Feldlänge an und die 2. Ziffer die Anzahl der belegten Felder. Sehe ich das richtig?
    Beim Variablentyp String ist das so, ja. Der Aufbau ist identisch mit den Strings aus der S7-300/400er Welt.

    Mit der V13 ist der Datentyp WString hinzugekommen. Hab mir das zwar noch nicht live auf dem Draht ansehen können, aber es gibt jetzt schon einen entsprechenden Datentyp bei dem diese Strings dann UTF8-codiert übertragen werden.

  5. #235
    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 Kall Beitrag anzeigen
    Vielen Dank für die schnelle Antwort.
    Ich habe in der Zwischenzeit mal versucht mit einem Hexeditor (Ultraedit) die Item reference number im Projektfile (.pfl) zu finden. Es gibt sie dort mehrmals aber leider ist dort weit und breit der Variablenname nicht in Sicht. Der Asciiname der Variable ist auch mehrmals im File vorhanden. Da ich auf Grund der angezeigten Variablenwerte in Wireshark weiß um welchen es sich handelt ist die Zuordnung klar.
    Wenn ich die Adressierungsart von symbloisch auf absolut stellen würde, würde man dann die DB Number usw. im Telegramm sehen?
    Mir ist aufgefallen dass Stringvariablen als USINT-Arrays übertragen werden und dann vorne 2 Felder mehr besitzen.
    Die erste Ziffer gibt die Feldlänge an und die 2. Ziffer die Anzahl der belegten Felder. Sehe ich das richtig?
    Falls du dich weiter mit dem TIA File format beschäftigen willst: in dem Thread siehst du was Ich schon weiss: HEX Editor mit Gramatik (zur Fileanalyse) + TIA-File Format Grammar File
    ---------------------------------------------
    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. #236
    Registriert seit
    04.11.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Das hängt davon ab wie der Partner auf die Daten in der SPS zugreift. Den Zugriff über LID/CRC beherrscht momentan ja nur Siemens. D.h. bei allen Nicht-Siemens-Kommunikationspartnern musst auf Absolutadressierung bzw. "nicht-optimierten Zugriff" in Siemens-Sprech wechseln. Dann wird das übliche s7comm (ohne plus) Protokoll verwendet.

    Ich vermute aber mal, dass auch auf "nicht-optimierte" Bereiche über LID/CRC zugegriffen werden kann. Und dass Siemens-HMIs zum Beispiel wenn integriert immer darüber auf die SPS-Daten zugreifen werden. Ich habe das aber noch nicht getestet, kannst du ja mal machen. Was hast du denn für ein Kommunikationspartner / HMI-Software?
    Die S7-1513-1 kommuniziert mit der HMI TP700 Comfort. Das HMI-Projekt wurde WinCC Advanced V12 SP1 erstellt.
    Ich kann das gerade nicht testen werd's die Tage mal versuchen.

    Bei der Kommunikation zwischen einer HMI und einer LOGO 0BA7 sieht man schön wie die HMI ein Telegramm zur Logo schickt und dort Variablen lesen will. Die Logo antwortet dann der HMI und schickt ihr die Variablenwerte.

    Bei der S7Comm-Plus Kommunikation kann ich das so mit meiner Aufzeichung nicht feststellen.
    Für mich sieht es so aus als ob die CPU in gewissen Abständen der HMI ein Notifikation Telegramm mit Variablenwerten schickt ohne dass die HMI das angefordert hat.
    Es kommt vor dass die HMI ein Request -Funktion - Set Variable - Telegramm verschickt auf das die CPU mit einem Responce - Funktion - Set Variabe - Telegramm antwortet das wars dann schon. Hat sich da was geändert?


    Ich schicke mit den S7-Kommunikationsbausteinen BSEND / BREV Daten zwischen der S7-1513-1 und der S7-1516-3 hin und her.
    Wenn die S7-1513-1 mit BSend sendet erscheint das Telegramm ROSCTR:[Userdata] Function:[Request] ->:[Unknown function: 0x06]
    Warum steht bei Function Request ? Die andere CPU hat das senden nicht angefordert.
    S7COMM 87 ROSCTR:[Userdata] Function:[Response] ->:[Unknown function: 0x06]

  7. #237
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Zitat Zitat von Kall Beitrag anzeigen
    Bei der S7Comm-Plus Kommunikation kann ich das so mit meiner Aufzeichung nicht feststellen.
    Für mich sieht es so aus als ob die CPU in gewissen Abständen der HMI ein Notifikation Telegramm mit Variablenwerten schickt ohne dass die HMI das angefordert hat.
    Es kommt vor dass die HMI ein Request -Funktion - Set Variable - Telegramm verschickt auf das die CPU mit einem Responce - Funktion - Set Variabe - Telegramm antwortet das wars dann schon. Hat sich da was geändert?
    Das sind zyklische Variablendienste, welche es auch schon bei der S7-300/400 gab. Es gibt dabei ein Telegramm bei dem der Client bei der SPS Variablen für die zyklische Aktualisierung anmeldet. Die SPS bestätigt dieses, und schickt dann von sich aus z.B. im angeforderten Aktualisierungsintervall den Datensatz mit den Variablenwerten. Um die Zugehörigkeit festzustellen gibt es in jedem Telegramm eine Referenznummer. Um zu wissen welche Variablen in diesem Telegramm sind, muss das Telegramm gefunden werden bei dem die zyklischen Dienste für diese Referenznummer initialisiert werden.

    Zitat Zitat von Kall Beitrag anzeigen
    Ich schicke mit den S7-Kommunikationsbausteinen BSEND / BREV Daten zwischen der S7-1513-1 und der S7-1516-3 hin und her.
    Wenn die S7-1513-1 mit BSend sendet erscheint das Telegramm ROSCTR:[Userdata] Function:[Request] ->:[Unknown function: 0x06]
    Warum steht bei Function Request ? Die andere CPU hat das senden nicht angefordert.
    S7COMM 87 ROSCTR:[Userdata] Function:[Response] ->:[Unknown function: 0x06]
    BSEND/BRECV ist das alte s7comm Protokoll. Die Erkennung der BSEND/BRECV-Telegramme habe ich erst vor 2 Wochen eingebaut. Ist z.Zt. nur im SVN-Repository vorhanden und noch nicht in der kompilierten dll (evtl. schon im nightly build vom offiziellen Wireshark vorhanden). Ich habe das bisher nie benötigt, darum habe ich das nicht eingebaut. Außerdem habe ich auch nicht für alle Exoten die passende Hardware zum Testen da.

  8. #238
    Registriert seit
    04.11.2014
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen

    BSEND/BRECV ist das alte s7comm Protokoll. Die Erkennung der BSEND/BRECV-Telegramme habe ich erst vor 2 Wochen eingebaut. Ist z.Zt. nur im SVN-Repository vorhanden und noch nicht in der kompilierten dll (evtl. schon im nightly build vom offiziellen Wireshark vorhanden). Ich habe das bisher nie benötigt, darum habe ich das nicht eingebaut. Außerdem habe ich auch nicht für alle Exoten die passende Hardware zum Testen da.
    Ich habe gerade mal die neuste nightly ausprobiert und dort funktioniert es. Parameter: (Request) ->(PBC BSEND/BRECV) ! Super!

  9. #239
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.086
    Danke
    128
    Erhielt 1.481 Danke für 1.090 Beiträge

    Standard

    Ich bin gerade dabei die Bausteinmeldungen zu ergänzen. Nur fehlt mit zur Zeit mangels Hardware die Möglichkeit die symbolbezogenen Meldungen (SCAN) zu testen. Hat jemand evtl. ein Wireshark Log in dem diese Meldungen auftauchen?

    Sonst gibt es ja so weit ich weiß nur die Varianten AlarmS (S7-300) und Alarm8 (S7-400).

  10. #240
    Registriert seit
    15.03.2013
    Beiträge
    33
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe gerade die aktuelle Version vom s7comm-plus plugin (s7comm-plus-0-0-2) ausprobiert. Sieht soweit gut aus.

    Ich habe aber noch zwei Punkte, die ich beim 72er-Protokoll nicht verstehe:
    1. Die SYM-CRC-Berechnung der symbolischen Adressen bei einer 1500er:
      Die in Jochens DotNetSiemensPLCToolBoxLibrary verwendetet Funktion zum Berechnen der CRC funktioniert nur bei 1200er Symbolen. Bei 1500er Symbolen wird eine andere Checksumme gebildet.
      Im WireShark-Mitschnitt S7-1500-HMI_DB10_Sym.zip wird die symbolische Adresse "Variable" aus dem DB10 gelesen. Mit der ToolBox-CRC-Funktion ergibt sich der Wert "0xf7355bd6" und WireShark zeigt "0xd577798b" an.
      Hat einer von euch eine Idee, wie die CRC bei einer 1500 berechnet wird?
    2. In vielen 72er-Paketen ist ein Integrity part-Paket vorhanden.
      Hier gibt es eine ID, die scheinbar immer hochgezählt wird und eine 32 Byte langes Paket ("Packet Digest")
      Was ist dies genau für ein Packet? Kann man das irgendwie berechnen?

Ä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
  •