Step 7 Offline Online Unterschied V5.5 SCL

Trafaldar

Level-2
Beiträge
34
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe gerade das Problem das ich mehrere Änderungen an einer alt Anlage mit V5.5 durchführen soll. Daher wollte ich vorab das Programm mal vergleichen, natürlich habe ich nun unterschiedliche Programmstände. Das Problem ist das die 2 FB´s in SCL programmiert sind. Wenn ich diese nun vergleichen will, werden mir 2 AWL Bausteine erzeugt dich sich sehr stark unterscheiden, Sprungmarken heißen komplett unterschiedlich und auch Rechnungen weichen stark von einander ab. Manuel nachziehen ist hier nicht wirklich möglich, da ich dann die SCL Bausteine zu AWL Bausteinen mit gut 150 Zeilen ändern würde (finde ich jetzt nicht so übersichtlich).
Hat jemand eine Idee wie ich die Bausteine wieder aktuell bekomme und SCL beibehalte ?

Gruß.

Ich habe die Frage zuvor in einem anderem Thema gestellt und bereits folgende Antworten erhalten.

Erstes mal solltest du ein eigenes Thema aufmachen denn dein Problem hat mit dem ursprünglich diskutierten nichts zu tun.

Zu deiner Frage:
Den Online SCL Baustein, den du jetzt als AWL Code angezeigt bekommst, kannst du nicht in SCL rückwandeln.

Leider hast du anscheinend keine aktuelle Datensicherung. D.h. du kannst den AWL Code analysieren und herausfinden was geändert wurde und dies dann in deinem nicht aktuellen SCL Code anpassen.
Viel mehr bleibt dir da nicht übrig.


@Trafaldar, hast du oder jemand anders die SCL code kompiliert ?
Es gibt bei SCL einige Compile Einstellungen die abhängig ob sie aktiviert wurde, unterschiedliche AWL erzeugt obwohl dass die SCL code nicht geändert wurde.
'Optimize object code'
'Monitor Array Limits'
'Create Debug Info'
'Set OK Flag'
Es ist nicht unmöglich die AWL Code zu analysieren um zu erkennen ob die Unterschiede durch unterschiedliche Compiler Einstellungen erzeugt wurde. Aber man muss (sehr) gute Kenntnisse zu SCL und AWL haben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider kann ich nicht nachvollziehen was meine Kollegen und Fremdfirmen vorab gemacht haben. Ich bin erst seit Anfang des Monats in dieser Firma.

Anbei ist ein Screenshot eines Programmausschnitts. Vielleicht kann ja jemand erkennen ob es an den Compiler Einstellungen liegt.
 
Nein, ich will die AWL code als Text.

Also, mache ein Upload von den ganzen S7 Station in ein neuen leeren Projekt.
Dann kannst du offline/offline vergleichen ohne online zu sein, und ohne dass man etwas faul macht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leider kann ich nicht nachvollziehen was meine Kollegen und Fremdfirmen vorab gemacht haben. Ich bin erst seit Anfang des Monats in dieser Firma.
Dann frage Deine(n) Kollegen eindringlich, wo bei Euch die aktuelle Projektversion gespeichert oder archiviert ist.
Merke: immer mit der aktuellen Projektversion arbeit und nicht irgendwie aus Onlineabzügen hinbasteln - Projekt rekonstruieren nur wenn es wirklich kein aktuelles Projekt gibt.

Harald
 
Irgendeiner in der Firma muß doch wissen, wie die Projektarchivierung organisiert ist. Oder gibt es da kein Qualitäts- und Projekt/Archivierungs-Management?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das System ist leider nur so gut wie die die es benutzen. Mir wurde versichert das dies das Aktuellste Projekt ist.

Ich habe einen älteren Stand gefunden wo die Problem Bausteine noch übereinstimmen, andere jedoch nicht. Ich werde nun aus beiden wieder eins machen müssen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das kann bei SCL auch mal unbeabsichtig auftreten, je nach Compilereinstellungem im Editor. Und wenn dann auf einem Rechner das Generieren der Referenzdaten nicht angewählt ist, und jemand lässt die Referenzdaten neu erzeugen, dann wird die SCL Quelle neu mit den u.U. anderen Optionen übersetzt und es ergeben sich ggf. Unterschiede (mindestens im Zeitstempel).

Wenn jetzt die Unterschiede eh schon vorhanden sind, könntest du die Quelle nochmal mit anderen Compileroptionen übersetzen, und danach nochmal vergleichen ob zumindest die Länge identisch wird.

Ich gebe darum die Compileroptionen immer in der SCL Quelle mit an.
 
Sind denn da noch Panelprojekte in den Step7 Projekten ( also Protool oder WinCC-Flex )?
Da musst du halt auch aufpassen weil du kannst nicht Offline/Online vergleichen und weist
somit nicht, ob du ein aktuelles Panelprojekt in deinem Step7 Projekt hast.

Somit gilt: Bevor du ein Panelprojekt überträgst, unbedingt eine Sicherung vorher machen.
 
Ich habe die SCL Quelldateien verglichen, diese sind identisch bis auf die Zeitstempel. Mich wundert es aber das die erzeugten FB´s unterschiedlich groß sind und sich auch beim vergleichen unterscheiden.

Ich warte gerade noch auf eine Rückmeldung des Externen Programmierers der diese FB´s erzeugt hat, um heraus zu finden welche Version des Managers er verwendet hat. Mit dieser wollte ich dann erneut die FB´s vergleichen.

WinCC ist in TIA 15.1 über Proxy Projektiert. Ob da alles passt weiß ich jedoch auch noch nicht. Die Oberflächen an sich sehen aber gleich aus.
 
Hier mal ein Ausschnitt, die Sprungmarken heißen unterschiedlich und die Rechnung unterscheidet sich leicht:

Code:
Ausschnitt Code Offline:

U     #x_in_CC_geschrieben
      NOT
      U     L      0.2
      SPBN  A7d3
      L     #i_index_ar_data
      ITD
      L     L#144
      *D
      L     L#2992
      +D
      L     #i_index_ar_data

Gleiche Stelle Online:


U     L      0.2
      SPBN  M004
      L     #i_index_ar_data
      ITD   
      L     L#0
      +D   
      L     L#144
      *D   
      L     L#2992
      +D   
      L     #i_index_ar_data


Gruß.
 
Diese Zeilen sind überflüssig:
Code:
      L     L#0
      +D
Da wird wohl in einer Formel eine Konstante addiert, die in dem Fall 0 ist. Das hat der SCL Compiler vermutlich nicht selbständig eingefügt, sondern das kann durchaus so im SCL Quelltext drinstehen und fällt da nicht auf, wenn eine symbolische Konstante verwendet wird, oder das steht aus anderen Gründen absichtlich so in der Formel. Es könnte auch ein (mehrdimensionales?) Array of Struct sein und der Code berechnet die Adresse der ersten Variable in dem Struct, deren Offset in dem Fall 0 ist.

Harald
 
Zurück
Oben