Step 7 +AR2 Pointer Message 34:4311

Der Baustein ist ursprünglich in SCL geschrieben und durch den SCL-Compiler in MC7-Code kompiliert worden.
Du kannst ihn zwar in AWL anschauen, aber nicht kompilieren.
Das ist so.
Dumm wenn man keinen Zugriff auf die Quellen hat. Ist halt quasi ein ein Kopierschutz.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie schonmal geschrieben: der Programmcode wurde mit einem Generator erzeugt, der S7-Maschinencode (MC7) erzeugt, der im Siemens-Step7-AWL-Editor so aber nicht zulässig ist. Daher ist es nicht möglich, den als AWL dargestellten Code ohne Änderungen zu übersetzen. Es liegt nicht an irgendwelchen Einstellungen im Step7, sondern am verwendeten Generator. Der AWL-Editor versucht "freundlicherweise", die MC7-Opcodes als AWL-Anweisungen darzustellen, die sind aber syntaktisch nicht korrekt. Da kannst du gar nichts machen, außer den ursprünglichen Quelltext zu verwenden (oder manuell zu einem kompatiblen übersetzbaren AWL-Code zu ändern). Den in der CPU vorhandenen compilierten MC7-Programmcode kannst du nur mit dem ursprünglich verwendeten Generator aus dem ursprünglichen Quelltext erzeugen.

PS: ich glaube nicht, dass das ursprünglich SCL war.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok
ich habe einen angehängten Bildschirm, wenn ich FB öffne, werde ich die STL transformieren
Anhang anzeigen 93348
Tut mir leid, ich verstehe dich nicht.

Im übrigen ist diese Meldung ganz normal, wenn man (ohne Quellprojekt) aus der CPU zurück geladene Bausteine öffnet, weil bei S7-3xx/4xx und wohl auch bei deiner Vipa-CPU die Variablennamen und andere Symbole nicht auf die CPU geladen werden und daher in den zurück geladenen Bausteinen nicht vorhanden sein können.
 
Tut mir leid, ich verstehe dich nicht.

Im übrigen ist diese Meldung ganz normal, wenn man (ohne Quellprojekt) aus der CPU zurück geladene Bausteine öffnet, weil bei S7-3xx/4xx und wohl auch bei deiner Vipa-CPU die Variablennamen und andere Symbole nicht auf die CPU geladen werden und daher in den zurück geladenen Bausteinen nicht vorhanden sein können.
ja, das ist in Ordnung ... Ich verstehe das. aber... der Compiler gibt Fehler aus, die ich in meinem ersten Post abnormal finde

S7umkapx_xe178x8Gqg.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aber... der Compiler gibt Fehler aus, die ich in meinem ersten Post abnormal finde
Weil der Code original nicht in AWL programmiert wurde und der verwendete Compiler einen MC7-Code erzeugt hat, der in AWL-Ansicht unzulässig ist.
Die genaue Erklärung, warum +AR2 P#6772.0 angemeckert wird, siehe Beitrag #16
 
Warum steht bei deinem Bild in #10 bei FB100 .. FB104 "STL" und bei deinem Bild in #27 "SCL" ?
War es nicht so, wenn man einen SCL-Baustein ohne Quellbezug öffnet und diesen dann wieder speichert, er zu einem AWL-Baustein wird?

@kulmx,
Was ist eigentlich das Ziel deiner Übung? Möchtest du das Programm aus der Steuerung "nur" zu Wiederherstellungszwecken sichern, oder möchtest du auch Änderungen vornehmen? Hast du mal versucht, die betreffenden Bausteine auf Datenbank-Ebene mit einem KnowHowSchutz zu versehen, so dass sie vom Compiler gar nicht angerührt werden? Ich weiß nicht, ob es funktioniert, aber vielleicht werden sie dadurch wenigstens zur Programmwiederherstellung tauglich.
 
War es nicht so, wenn man einen SCL-Baustein ohne Quellbezug öffnet und diesen dann wieder speichert, er zu einem AWL-Baustein wird?

@kulmx,
Was ist eigentlich das Ziel deiner Übung? Möchtest du das Programm aus der Steuerung "nur" zu Wiederherstellungszwecken sichern, oder möchtest du auch Änderungen vornehmen? Hast du mal versucht, die betreffenden Bausteine auf Datenbank-Ebene mit einem KnowHowSchutz zu versehen, so dass sie vom Compiler gar nicht angerührt werden? Ich weiß nicht, ob es funktioniert, aber vielleicht werden sie dadurch wenigstens zur Programmwiederherstellung tauglich.
Sicherungskopie mit anschließender Recherche und kleinen Änderungen
 
Zuviel Werbung?
-> Hier kostenlos registrieren
War es nicht so, wenn man einen SCL-Baustein ohne Quellbezug öffnet und diesen dann wieder speichert, er zu einem AWL-Baustein wird?
ja - wenn er sich speichern lässt. Wenn die AWL-Ansicht nicht übersetzt werden kann, dann kann er auch nicht gespeichert werden.

Ich weiß nicht, ob es funktioniert, aber vielleicht werden sie dadurch wenigstens zur Programmwiederherstellung tauglich.
aus der CPU herausgeladene Bausteine ("Backup") können direkt ohne weiteres wieder auf die CPU geladen werden ("Restore") (*). Es sind keinerlei zusätzliche Aktionen nötig. Es ist nicht nötig, dass die Bausteine neu übersetzt werden.

(*) nur Aktualwerte von DB können Probleme machen, weil man nicht die Aktualwerte aus dem Ladespeicher herausladen kann, sondern die Aktualwerte aus dem Arbeitsspeicher erhält
 
War es nicht so, wenn man einen SCL-Baustein ohne Quellbezug öffnet und diesen dann wieder speichert, er zu einem AWL-Baustein wird?

Nein, nicht ganz. Die Bausteine werden zwar im AWL-Editor geöffnet aber es ist eigentlich MC7-Code. Diesen Code kann der AWL-Compiler nicht komplett übersetzen. Ein Thema sind - soweit ich das weiß - Bausteinaufrufe. Da werden Daten nicht über Parameter übergeben sondern über Lokaldaten. Ähnlich wie bei einem Stack.
 
Zurück
Oben