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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Ablauffähiger Code

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    ich bin neu hier in diesem Forum und würde mich mal kurz vorstellen.
    Ich arbeite in der Chemieindustrie im Bereich der Instandhaltung. Zu meinen Haupttätigkeiten gehören neben der Instandhaltung und Optimierung der Anlagen auch der Entwurf neuer Systeme.

    Dabei bin ich auf etwas gestoßen was ich mir nicht erklären kann.
    Im SCL-Editor gibt es unter Einstellungen-->Compiler die Option "Objektcode erstellen". In der Hilfe steht "mit dieser Option legen sie fest ob sie einen ablauffähigen Objektcode erzeugen wollen oder nicht."
    So...wer kann mir erklären wo der Unterschied ist.
    Bislang hatte ich diesen Haken nicht gesetzt. Ein Kollege hatte mein notebook in beschlag und hatte diesen Haken gesetzt ohne das ich es wusste. Als ich an meinem Projekt weiterarbeiten wollte und meine SCL-Quelle noch einmal übersetzt habe ohne etwas zu ändern fiel mir auf das die FB auf einmal etwa doppelt so groß war. Logischerweise war jetzt nach einem bausteinvergleich (online/offline) ein Codeunterschied festzustellen.
    Also...was konkret unterscheidet jetzt die FB's da ich ja den Quellcode im Editor nicht geändert habe? Das Programm läuft im System schon ein Jahr, also scheint dieser Haken nicht notwendig zu sein.
    Zitieren Zitieren Ablauffähiger Code  

  2. #2
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Heißt das wirklich "Objektcode"?
    Leider habe ich kein S7 hier, doch es gibt es eine Einstellung, dass für das Debbugen der Code übersetzt wird.
    Dadurch wird das Programm ca doppelt so groß.
    Das stellt man ein während der Entwicklung, wenn alles läuft ohne diese Option übersetzen und gut ist es.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  3. #3
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von bolle1982 Beitrag anzeigen
    Im SCL-Editor gibt es unter Einstellungen-->Compiler die Option "Objektcode erstellen". In der Hilfe steht "mit dieser Option legen sie fest ob sie einen ablauffähigen Objektcode erzeugen wollen oder nicht."
    So...wer kann mir erklären wo der Unterschied ist.
    Hallo Bolle,

    wenn der Haken "Objektcode erstellen" gesetzt ist, wird mit dem kompilieren (wenn's fehlerfrei war) der Baustein in dem zugehörigen Baustein-Behälter abgelegt, sprich bei den anderen Bausteinen.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  4. #4
    bolle1982 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.05.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @ Bike
    Das heist wirklich Objektcode erstellen, und Paule hat wirklich recht, ist der Haken nicht gesetzt wird erst garkein Baustein erstellt. Das wiederum bedeutet das der Haken schon immer gesetzt war sonst hätte ich die Bausteine garnicht generieren können. Die Debug-Info macht ca 10% aus und war angehakt, sonst geht der Onlinestatus nicht. Ich hab mir das ganze Problem noch mal etwas genauer angeschaut. Also wenn ich meine Projektsicherung dearchiviere und sie mit den Online-Bausteinen auf der SPS vergleiche gibt es keinerlei Unterschiede. Ich kann mir auch im SCL-Editor online den Status ansehen. Wenn ich einen Baustein übersetzte ohne das ich in der Quelle etwas ändere wird der Baustein urplötzlich größer und bei einem Bausteinvergleich sind unterschiede im Code.
    Ich hbe in der Bausteinkonsistenz mal alle Bausteine übersetzt ohne irgendetwas zu ändern. Dann werden alle Bausteine die in SCL geschrieben wurden größer und der Onlinevergleich zeigt in diesen Bausteinen einen unterschiedlichen Code an.
    Hier mal ein kleiner Auszug aus dem Detailvergleich:
    SCL-Unterschiede.jpg
    Das eigentliche SPS-Projekt wächst nach und nach da ich immer einzelne Anlagenteile in betrieb nehme, an den SCL-Quellen ändere ich aber nichts. Die Bausteine die in SCL geschrieben sind werden in Multiinstanzen aufgerufen, von denen ich beliebig viele Stückweise hinzufüge...
    Ich versteh allerdings nicht warum sich dadurch die Bausteingröße und Inhalte ändern...

  5. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.627
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Register "Compiler" (Einstellungen)

    Objektcode erstellen

    · Mit dieser Option legen Sie fest, ob Sie einen ablauffähigen Code erzeugen möchten oder nicht. Der Übersetzungvorgang ohne diese Option dient lediglich einer Syntaxprüfung.
    also an dieser Einstellung sollte es nicht liegen, dass Dein Baustein doppelt so groß wird...

    evtl. sind noch andere Haken anders gesetzt ...

    Oder Du hast seit einem Jahr die Änderungen am Quellcode nie in die SPS geschrieben...
    Jedenfalls hat der Kollege recht, der Haken muss gesetzt sein.


    Gruß.
    Geändert von ducati (10.05.2013 um 09:27 Uhr)

  6. #6
    Registriert seit
    23.10.2009
    Beiträge
    391
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Das sieht so aus, als hättest Du früher das Häkchen bei "Feldgenzen überwachen" nicht gesetzt, aber jetzt schon.
    Gruß
    Erich

  7. #7
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von bolle1982 Beitrag anzeigen
    Wenn ich einen Baustein übersetzte ohne das ich in der Quelle etwas ändere wird der Baustein urplötzlich größer und bei einem Bausteinvergleich sind unterschiede im Code.
    Ich hbe in der Bausteinkonsistenz mal alle Bausteine übersetzt ohne irgendetwas zu ändern. Dann werden alle Bausteine die in SCL geschrieben wurden größer und der Onlinevergleich zeigt in diesen Bausteinen einen unterschiedlichen Code an.
    :
    Wenn dem so ist, dann bist du über Versionsgrenzen von BigS gesprungen.
    Soweit ich mir erinnere ist zwischen 5.2 und 5.3 einiges anders geworden, dadurch wird der MC7 Code größer und du kannst nicht mehr ohne Probleme vergleichen.

    Mit Debbug Informationen werden die Bausteine größer, daher meine Vermutung zuerst.
    Da mussten wir die Bausteine überschreiben, in der Hoffnung, dass es funktioniert.


    bike
    "Any fool can write code that a computer can understand.
    Good programmers write code that humans can understand."
    --Martin Fowler

  8. #8
    bolle1982 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    08.05.2013
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also das Problem entsteht tatsache bei setzten der Feldgrenzenüberwachung... danke Erich

    Hätte ich nicht gedacht das dass gleich die Bausteingröße verdoppelt...Also ich geb mein Notebook vorerst nicht mehr weg...so eine Aufregung wegen einer verstellten Compilereinstellung.
    Danke erstmal an alle Beteiligten...



    Bolle

  9. #9
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    Zitat Zitat von LargoD Beitrag anzeigen
    Das sieht so aus, als hättest Du früher das Häkchen bei "Feldgenzen überwachen" nicht gesetzt, aber jetzt schon.
    Zitat Zitat von bolle1982 Beitrag anzeigen
    Also das Problem entsteht tatsache bei setzten der Feldgrenzenüberwachung... danke Erich
    Hätte ich nicht gedacht das dass gleich die Bausteingröße verdoppelt...Also ich geb mein Notebook vorerst nicht mehr weg...so eine Aufregung wegen einer verstellten Compilereinstellung.
    Daher kommt auch die unsinnige Behauptung SCL wäre gegenüber AWL uneffektiv weil der Code größer ist. (klar, wenn man im AWL zu faul ist die Grenzen manuell zu checken dann ist der Code kürzer )

    Mache mal bitte den Versuch und erstelle einen SCL-Baustein OHNE und eine MIT Feldgrenzenüberwachung.
    Dann Verschiebst du die SCL-Quelle so, das bei Öffnen der SCL-Bausteine keine SCL-Quelle mehr gefunden werden kann.

    Wenn du dir jetzt die bei SCL-nach-AWL-übersetzen Bausteine ansiehst wird du sehen, vor ARRAY-Zugriffen die beteiligten Zeigervariablen auf Sinnfälligkeit (also Feldgrenze) Überwachung sind,
    aber nur der Variante "MIT Feldgrenzenüberwachung". Der eigentlich relevante Code ist in beiden Fällen nahezu gleich. Maximal wurden noch Zwischenmerker eingefügt.

    Frank
    Grüße Frank

  10. #10
    Registriert seit
    23.10.2009
    Beiträge
    391
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von IBFS Beitrag anzeigen
    ...Dann Verschiebst du die SCL-Quelle so, das bei Öffnen der SCL-Bausteine keine SCL-Quelle mehr gefunden werden kann.

    Wenn du dir jetzt die bei SCL-nach-AWL-übersetzen Bausteine ansiehst wird du sehen...
    Den erzeugten AWL-Code kann man auch ohne Umbenennen oder Verschieben der SCL-Quelle sehen.
    Einfach den KOP/FUP/AWL-Editor starten und von dort aus den Baustein öffnen.
    Gruß
    Erich

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

    PN/DP (11.05.2013)

Ähnliche Themen

  1. S5 Code
    Von williwuff im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 30.11.2011, 18:45
  2. C++ Code
    Von rabit im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 03.01.2010, 10:42
  3. SCL code
    Von awl-scl im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 14.01.2008, 17:02
  4. Code erklären
    Von ottopaul im Forum HMI
    Antworten: 1
    Letzter Beitrag: 04.04.2007, 15:28
  5. VB-Code WinCCflex
    Von Praktikus im Forum HMI
    Antworten: 1
    Letzter Beitrag: 24.02.2006, 18:02

Lesezeichen

Berechtigungen

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