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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 36

Thema: Der S7-1200 unter den Rock geschaut

  1. #21
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ansonsten muss noch jede verfügbare Anweisung einmal in allen verschiedenen Varianten aufrufen und den Aufbau dokumentieren
    denkst du es macht Sinn einen SCL-Varianten-Generator dafür zu entwickeln - um wirklich alle Kombinationen abzudecken

    und hast du schon mal das AWL-Zeug der 1500 angeschaut - moeglichweise siehst du da ja noch besser wie diese "IL"-Code aufgebaut ist

  2. #22
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Bei der 1500er habe ich mir das noch überhaupt nicht angeschaut, ganz einfach aus dem Grunde weil ich noch keine zur Analyse auf dem Tisch hatte. Ich habe nur gehört, dass angeblich der reine Code-Blob beim Upload auch ohne Bausteinschutz o.ä. verschlüsselt sein soll. D.h. wenn ein und derselbe Baustein mehrmals hochgeladen wird, soll der Blob komplett unterschiedlich sein. Vielleicht kann man ihn ja im Rohformat aus den TIA-Projektdateien auslesen. Aber das Format ist leider auch noch nicht verstanden, im Gegensatz zu dem was über das Netzwerk wandert.

    Ich vermute aber aufgrund von einigen MC7plus Anweisungen, dass die AWL-Anweisungen der 1500 auf der gleichen Ebene wie die anderen MC7plus-Anweisungen die aus FUP/SCL generiert werden, arbeiten. D.h. AWL ist keine Ebene darunter wie es bei der S7 war.
    Aber vermuten ist nicht wissen. Es könnte ja mal jemand mit Zugriff auf eine 1500 testen, ob dieser Code-Blob wirklich verschlüsselt ist.

  3. #23
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    denkst du es macht Sinn einen SCL-Varianten-Generator dafür zu entwickeln - um wirklich alle Kombinationen abzudecken
    und zu dieser Idee?

    Es könnte ja mal jemand mit Zugriff auf eine 1500 testen, ob dieser Code-Blob wirklich verschlüsselt ist.
    hast du ein Standard-Projekt zum runterladen und zur besseren Vergleichbarkeit, und davon dann ein Wireshark-Log beim Download auf die SPS? und die Projektdatei?

  4. #24
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    hast du ein Standard-Projekt zum runterladen und zur besseren Vergleichbarkeit, und davon dann ein Wireshark-Log beim Download auf die SPS? und die Projektdatei?
    Den Punkt habe ich gerade geklärt indem ich mir einfach den Upload zu Plcsim abgegriffen habe.
    Der Code-Block ist verschlüsselt
    Ich weiß nicht was Siemens dazu verwendet. Von den Bezeichnungen her könnte man auf etwas wie AES oder DES (zumindest symmetrisch) schließen. Auf jeden Fall für den Teil wird kein extra Schlüssel ausgehandelt, oder es wird mit den Parametern die für die Session verwendet werden kombiniert. Wir brauchen mal einen Krypto-Experten...

  5. #25
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Zitat Zitat von LowLevelMahn Beitrag anzeigen
    denkst du es macht Sinn einen SCL-Varianten-Generator dafür zu entwickeln - um wirklich alle Kombinationen abzudecken
    Das wäre nur sinnvoll, wenn man den Übersetzungsvorgang und den Upload auch automatisieren könnte. Und dazu stellt einem das TIA-Portal (noch) nichts zur Verfügung. Und die Daten aus Wireshark müsste man ebenfalls automatisch extrahieren und dann damit kombinieren. Sicher möglich, aber vom Aufwand her das zu automatisieren steht es einer händischen Lösung in nichts nach.

  6. #26
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    TIA Portal Openness: Introduction and Demo Application

    https://support.industry.siemens.com/cs/document/108716692/tia-portal-openness%3A-introduction-and-demo-application?dti=0&lc=en-KW
    https://support.industry.siemens.com...emo_V14_en.pdf

    aus dem PDF

    For the XML import of blocks to a controller an “enable file” is required. This filehas to be copied to the directory of your program.In addition, to the XML import and for the use of imported blocks (open,compile, download,...) you require a “usage file”. Copy this file to the TIA Portalinstallation directory “... > Siemens > Automation > Portal V14 > Public API” orto a sub-directory of this file
    Compiling elementsThe device can be compiled with TIA Portal Openness
    Generating block from sourceWhen a source is selected you can generate a block from the source with “PLC >Source files > Generate blocks from external source”.
    könnte brauchbar sein fuer Source genieren, kompilieren, download, Online-upload, disassemble Vergleiche - vielleicht sogar voll automatisiert
    Geändert von LowLevelMahn (07.02.2017 um 14:06 Uhr)

  7. #27
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Wie ich jetzt herausgefunden habe, wird der Code in der Steuerung nicht als reiner Quelltext abgelegt, sondern das Ergebnis des Übersetzungsvorgangs in Form eines Syntaxbaums im XML-Format. Beim Herunterladen von der Steuerung wird dieser Syntaxbaum wieder in Code übersetzt.

    Um auf mein Beispiel von der ersten Seite zurückzukommen, wird die SCL-Anweisung:
    Code:
    "MW2" := 26214;
    dann als Teil im Syntaxbaum des gesamten Bausteins folgendermaßen abgelegt:
    Code:
    <Statement
        UId="114"
        SI="STAss">
        <Expression
            UId="111"
            SI="ExprPrimD">
            <SymVa
                UId="164"
                SI="VarAbs"
                SyId="7"/>
        </Expression>
        <BL/>
        <OpAs
            UId="69"/>
        <BL/>
        <Expression
            UId="65"
            SI="ExprPrimC">
            <Const
                TE="26214"
                UId="173"
                SI="ConstDInt"
                SyId="15"/>
        </Expression>
        <FiSt/>
    </Statement>
    Kommentare im Quelltext landen dann ebenfalls als Element in diesem Baum.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  8. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    DeltaMikeAir (05.03.2017)

  9. #28
    Registriert seit
    22.11.2007
    Beiträge
    731
    Danke
    6
    Erhielt 89 Danke für 62 Beiträge

    Standard

    und die "richtigen" Namen sind auch gleich drinn
    kannst du auch eins von deinen größeren Beispielen posten?

  10. #29
    Avatar von Thomas_v2.1
    Thomas_v2.1 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Testprogramm:
    Code:
    FUNCTION "TestFC99" : Void
    { S7_Optimized_Access := 'TRUE' }
    VERSION : 0.1
       VAR_INPUT 
          inInt1 : Int;
          inInt2 : Int;
       END_VAR
    
       VAR_OUTPUT 
          outInt1 : Int;
       END_VAR
    
    
    BEGIN
    	// Dieses ist der erste Kommentar in Zeile 1
    	#outInt1 := #inInt1 + #inInt2;
    	// Ein Kommentar nach der Anweisung in Zeile 3
    	(* Dieses ist ein Blockkommentar ab Zeile 4
    	Im Blockkommentar Zeile 5 der Code: #outInt1 := #inInt1 + #inInt2;
    	*)
    END_FUNCTION
    Die Informationen dazu im Anhang. Es gibt noch weitere zugehörige Datensätze mit Debuginformationen. Da tauchen dann auch alte Bekannte wie der SAC wieder auf.

    Um an das Symbol der Symbol-ID aus dem SCL-Codebaum zu kommen, müssen zwei weitere Datensätze durchgegangen werden. Wahrscheinlich ist das darum auch alles so extrem langsam.
    Angehängte Dateien Angehängte Dateien
    Geändert von Thomas_v2.1 (05.03.2017 um 11:38 Uhr)
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  11. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    DeltaMikeAir (05.03.2017)

  12. #30
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.264
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Thomas

    Die Steuerung compiliert den Code dann selbst oder interpretiert die den etwa?? Dann würde das doch Zykluszeittechnisch niemals hinhauen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. TIA Seltsames Verhalten der TON-Timer bei der S7-1200
    Von Thomas_v2.1 im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 13.05.2013, 23:56
  2. Antworten: 10
    Letzter Beitrag: 07.12.2012, 07:22
  3. Antworten: 9
    Letzter Beitrag: 08.10.2012, 11:24
  4. Blick unter den Rock...
    Von Borsti im Forum Simatic
    Antworten: 27
    Letzter Beitrag: 06.02.2008, 10:50
  5. Was ist der Unterschied bei den Adressierungen...
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.09.2005, 17:09

Lesezeichen

Berechtigungen

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