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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Upload von Block zur S7

  1. #1
    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
    Bin gerade am Upload von Bausteinen auf die S7. dazu ist zwar in libnodave was realisiert, aber Ich denke das in dem Block noch ein CRC Code Oder was ähnliches drinsteckt! Versuche mich gearde am Upload von Datenbausteinen. Es scheint so, das sicher der Code nur ändert, wenn man die Struktur des Datenbausteines ändert, wenn sich die Werte ändern, beliebt der Code gleich.
    Der Code steht im Byte 10 und 9 von hinten in dem "Download Block" Telegramm (wenn man S7Comm von Thomas V2 in Wireshark verwendet!).
    Hat da jemand vielleicht nähere Infos dazu??
    ---------------------------------------------
    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)
    Zitieren Zitieren Upload von Block zur S7  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.073
    Danke
    128
    Erhielt 1.472 Danke für 1.084 Beiträge

    Standard

    Der Teil ist genauso aufgebaut wie eine detaillierte Blockinfo Abfrage (Autor, Familie, Name, Version, was unbekanntes, Prüfsumme). Die genannten Bytes sind die Baustein-Prüfsumme. Den Wert kann man sich auch über den Simatic Manager anzeigen lassen wenn man einen Bausteinvergleich durchführt und die Bausteine unterschiedlich sind. Ist nur die Frage wie und über welche Bytes diese gebildet wird.

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

    Standard

    Also bei einem DB beeinflussen die Anfangswerte die Prüfsumme nicht, die Aktual-Werte und die DB Struktur schon... Genauso haben Autor und Version keinen Einfluss darauf! ich mach mich mal dran herauszufinden wie diese berechnet wird...
    ---------------------------------------------
    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. #4
    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
    Der Teil ist genauso aufgebaut wie eine detaillierte Blockinfo Abfrage (Autor, Familie, Name, Version, was unbekanntes, Prüfsumme). Die genannten Bytes sind die Baustein-Prüfsumme. Den Wert kann man sich auch über den Simatic Manager anzeigen lassen wenn man einen Bausteinvergleich durchführt und die Bausteine unterschiedlich sind. Ist nur die Frage wie und über welche Bytes diese gebildet wird.
    Hast du dich damit eigentlich schon mal beschäftigt und was rausgefunden? Über welche Bytes wird ja noch rauszufinden sein... Aber wie...
    ---------------------------------------------
    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)

  5. #5
    Registriert seit
    29.03.2004
    Beiträge
    5.073
    Danke
    128
    Erhielt 1.472 Danke für 1.084 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Hast du dich damit eigentlich schon mal beschäftigt und was rausgefunden? Über welche Bytes wird ja noch rauszufinden sein... Aber wie...
    Beschäftigt nicht. Aber ich würde erstmal prüfen ob die Prüfsumme die übers Netzwerk übertragen ist die gleiche ist die auch in den dbase Dateien im Feld CHECKSUM eingetragen wird. Wenn diese gleich ist, würde ich als ersten Ansatz davon ausgehen dass die Prüfsumme über den Inhalt einer einzelnen dbase Zelle gebildet wird. Am wahrscheinlichsten wäre wohl MC5CODE.

    Als Prüfsummenverfahren wird wohl irgendein CRC zum Einsatz kommen. Diese unterscheiden sich aber oftmals in den Startwerten. Wenn man immer nur ein einzelnes Byte in dem Code ändert und sich dann wieder die Prüfsumme generieren lässt, wird man bestimmt irgendwie zurückrechnen können. Mit den ganzen XORs aber wohl nicht trivial.

    Am Besten wäre natürlich wenn man dem Step7 Editor ein komplettes Null-Feld zur Prüfsummengenerierung unterjubeln könnte, aber das wird wohl nicht so einfach...

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

    Standard

    Denke das Feld ssbpart wird auf jeden fall auch noch verwendet! da in der dbf zeile in der checksum gebildet wird, bei einem db der mc5 code leer ist. muss mal schauen ob in der spalte die parameter infos stecken...

    Null Feld unterjubeln... Gute Idee, Ich muss mal schauen, ob die checksume bei jedem übertragen neu gebildet wird, oder nur wenn man den bausteineditor benutzt (das wäre schlecht). und ob step 7 beim übertragen aus dem simatic manger einfach die werte aus dem dbf file nutzt... (hoffentlich die checksume aber nicht)...
    Ich schau mal wie ich weiterkomme...
    ---------------------------------------------
    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)

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

    Standard

    Hatte noch einen anderen Fehler, der Upload von Bausteinen funktioniert nun. Die Prüfsumme wird bei den normalen Bausteinen nicht benötigt. Diese wird anscheinen nur bei Safe CPUs und Safe Bausteinen geprüft (diese Info hab Ich von einem anderen Forumsmitglied)
    ---------------------------------------------
    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)

  8. #8
    Registriert seit
    04.07.2015
    Beiträge
    3
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Die Prüfsumme eines Simatic S7 Bausteins wird berechnet:
    Es ist eine CRC16 Prüfsumme mit dem Generator Polynom 0x9003 , Init = 0x0000 , RefIn = False, RefOut = False, XorOut = 0x0000.
    Die Prüfsumme wird aus folgenden Bytes gebildet:
    Byte 5, Bausteinkennung ( 0x0A for DB, 0x0C für FC, .... )
    Byte 34, 35 Länge des Arbeitsspeicher in Bytes ( ohne die 36 Bytes Header Länge ) Länge MC7 Code
    Byte 36 bis Byte ( 36+ Länge des Arbeitsspeicher -1 )
    Habe das Anhand von Memory Card Dateien ( *.wld ) ausgiebig getestet.

  9. Folgender Benutzer sagt Danke zu Georgi für den nützlichen Beitrag:

    Jochen Kühner (17.01.2016)

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

    Standard

    Ich werds 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)

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

    Standard

    Es gibt ja versch. CRC16 implementierungen, hast du auch etwas Code dazu?
    ---------------------------------------------
    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)

Ähnliche Themen

  1. Block DB/FC/FB
    Von mariob im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.10.2010, 12:30
  2. ProTool Projekt Upload
    Von manas im Forum HMI
    Antworten: 3
    Letzter Beitrag: 30.03.2010, 12:01
  3. Upload von OP Progs.
    Von marc core im Forum HMI
    Antworten: 1
    Letzter Beitrag: 28.02.2006, 17:05
  4. phpBB Upload...
    Von Jochen Kühner im Forum Stammtisch
    Antworten: 2
    Letzter Beitrag: 04.11.2004, 11:00
  5. Read-Only: Upload von Bausteinen
    Von volker im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 22.09.2003, 21:38

Lesezeichen

Berechtigungen

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