Step 7 Step 7 5.6 SCL Bausteine werden nur im KOP/FUP/AWL Editor geöffnet.

Dimer

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

ich habe ein STEP 7 Projekt, in dem ein SCL Baustein vorhanden ist, der mir hin und wieder Ärger bereitet (Zeitfunktion, Pausenzeit läuft über). Ich wollte der ganzen Sache auf den Grund gehen, leider wird dieser Baustein immer nur im KOP/FUP/AWL Editor geöffnet, mit dem Vermerk generiert vom SCL Übersetzer. Mit der Übersetzung kann ich leider nichts anfangen. Ich habe bereits probiert den Baustein direkt im S7-SCL Editor zu öffnen, aber auch da wird der KOP/FUP/AWL Editor geöffnet. Gibt es noch andere Möglichkeiten?

Software : Step 7 Professional 2017 SR1 V5.6 SP1
Simatic S7- SCL Professional 2017 SR 1 V5.6 HF1
 
Das Problem wird sein, dass dir entweder die SCL-Quelle fehlt oder falls du die Quelle hast, dass du diese einmal übersetzen musst.
Weist du wo du nach den Bausteinquellen schauen musst ( im Step7 Manager überhalb des Bausteinordner ).
 
ist der bsustein denn so komplex das man ihn in awl nicht versteht?

achtung, nicht jeder vom scl kompiler generierte code ist gültiger awl code. der compiler kann optimierungen machen die nicht in awl darstellbar sind aber gültigen mc7 code darstellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ist der bsustein denn so komplex das man ihn in awl nicht versteht?

achtung, nicht jeder vom scl kompiler generierte code ist gültiger awl code. der compiler kann optimierungen machen die nicht in awl darstellbar sind aber gültigen mc7 code darstellen.

Es handelt sich hierbei um einen Zeitbaustein mit Lauf & Pausenzeiten, die Pausenzeit läuft hin und wieder mal über.

Ich habe nach ein bisschen Sucherei tatsächlich die Quellen finden können und kann nun auf die Suche gehen. Danke für die Rückmeldungen.
 
achtung, nicht jeder vom scl kompiler generierte code ist gültiger awl code. der compiler kann optimierungen machen die nicht in awl darstellbar sind aber gültigen mc7 code darstellen.
Interessiert mich auch.
Was in die S7 Steuerung geladen wird ist ja die generierte AWL code.
Die Code wird nicht direkt von der SCL compiler geladen.
Und wenn man ein offline/online vergleich macht, dann ist es die generierte AWL Baustein der mit die online Baustein vergleicht wird.
So habe ich das zumindest bisher verstanden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Interessiert mich auch.
Was in die S7 Steuerung geladen wird ist ja die generierte AWL code.
Die Code wird nicht direkt von der SCL compiler geladen.
Und wenn man ein offline/online vergleich macht, dann ist es die generierte AWL Baustein der mit die online Baustein vergleicht wird.
So habe ich das zumindest bisher verstanden.

In die S7 wird der MC7 Code geladen. AWL sind die Mnemonics zum MC7 Code.
Es wäre schon denkbar das es MC7 Code gibt, für den sich Siemens kein Mnemonic überlegt hat.

Ein Beispiel würde mich auch interessieren.
 
In die S7 wird der MC7 Code geladen. AWL sind die Mnemonics zum MC7 Code.
Verstehe ich schon.

Es wäre schon denkbar das es MC7 Code gibt, für den sich Siemens kein Mnemonic überlegt hat.
Ja das gibts.

Nichtdestotrotz, ich bin der Meinung dass ein SCL Programm in diese Reihenfolge erstellt und geladen wird:
SCL Editor/SCL Quelle --> SCL Compiler --> AWL Baustein --> Lade Funktion (AWL nach MC7 on-the-fly konvertieren und laden) --> Baustein in S7.

Man kann ja ein von SCL erzeugte AWL Baustein online beobachten. Das macht nur Sinn wenn die AWL Baustein 1-zu-1 die online MC7 Code entspricht.

achtung, nicht jeder vom scl kompiler generierte code ist gültiger awl code. der compiler kann optimierungen machen die nicht in awl darstellbar sind aber gültigen mc7 code darstellen.
Wo wird diese MC7 Code, der nicht als AWL gültig ist, dann abgespeichert, wenn nicht in die AWL Baustein in die Baustein-Ordner ?
 
Werden die Bausteine im Projekt (Datei) nicht als MC7 gespeichert?

Wenn man eine SCL Baustein kompiliert, dann die SCL Quelle löscht, und die erzeugte Baustein in die Baustein Ordner öffnet, dann sieht man die AWL code.
Ob dies Code in Werklichkeit MC7 Code ist, und der Editor laufend die MC7 code interpretiert um es als AWL darzustellen, dass habe ich mir nicht vorgestellt.
Ich war bis jetzt überzeugt dass ein AWL Baustein AWL code enthält, der nur wenig von eine pure Text-Datei unterscheidet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gespeichert wird der MC7 Code. Der AWL Editor interpretiert bestimmte Makros, d.h. Sequenzen aus MC7 Anweisungen dann zurück in eine AWL Anweisung. Einfachstes Beispiel ist ein "L DB1.DBW0", was im Hintergrund aus zwei Anweisungen, nämlich "AUF DB1" und "L DBW0" besteht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Beispiel generiert der SCL Compiler bei FC-Aufrufen mit Parametern den Aufruf ohne die BLD Anweisungen, in die das CALL Makro in AWL normalerweise eingefasst ist, damit der Editor das später wieder in den Aufruf zurückübersetzen kann. Dann sieht man im AWL-Code nur die Parameterübergabe mit UC FCxy und dann P#x.y wo die reinen Zeiger auf die Parameter übergeben werden.. Das ist dann im AWL-Editor nur noch Read-Only. Wenn man in den Übersetzungsoptionen viele Optimierungen einstellt, also kein Debug-Infos erzeugen, kein OK-Flag setzen, dann tritt das auch noch an an deren Stellen auf.
 
Zurück
Oben