Step 7 DB in SCL als Non-Retain deklarieren/erstellen

Karabullo

Level-2
Beiträge
47
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

würde gerne den DB zu einer Ablaufsteuerung die ich in SCL geschrieben habe direkt aus der SCL-Quelle als Non-Retain deklarieren.
Der DB wird auch in der Quelle beim Übersetzen erzeugt

DATA_BLOCK DBI_Ablaufsteuerung FB_Ablaufsteuerung
// Baustein-Kommentar ...
BEGIN
END_DATA_BLOCK


Zur Zeit muss ich den jedes mal nach dem Übersetzen der Quelle in den Eigenschaften das "Non-Retain" neu einstellen.

Gibts dafür nen Befehl (wie z.B. Know_How_Protect) oder gibt es sowas nicht?

Danke
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da wo du z.B. Know How Protect schreiben würdest, noch NON_RETAIN mit einfügen.
Code:
DATA_BLOCK DB 2
TITLE =
VERSION : 0.1
NON_RETAIN


  STRUCT     
   DB_VAR : INT ;    //vorläufige Platzhaltervariable
  END_STRUCT ;    
BEGIN
   DB_VAR := 0; 
END_DATA_BLOCK

Allgemein, werden die Schlüsselworte auch irgendwo dokumentiert sein, das einfachste ist aber,
einen DB auf normalen Weg erstelenn, mit den gewünschten Eigenschaften, und daraus dann eine Quelle erzeugen.



Mfg
Manuel
 
OK, verstehe ich leider nicht ganz.

Ich baue den Instanz-DB direkt in der SCL-Quelle des FBs ganz am Ende (siehe Beispiel, erst wird der FB gebaut, am Ende der Instanz-DB erstellt)
Dort funktioniert das NON_RETAIN nicht, auch nicht wenn ich es oben hinter das KNOW_HOW_PROTECT setze.

FUNCTION_BLOCK MC_Beispiel

TITLE = 'MC_Beispiel'
KNOW_HOW_PROTECT


VAR_INPUT
//Eingangsvariablen
END_VAR

VAR_OUTPUT
//Ausgangsvariablen
END_VAR

Beispielprogrammteil als Ablaufsteuerung

END_FUNCTION_BLOCK



DATA_BLOCK DBI_Beispiel MC_Beispiel
NON_RETAIN
// Baustein-Kommentar ...
BEGIN
END_DATA_BLOCK
 
Wieso willst du einen Instanz DB selber bauen? Der wird ja beim Aufruf generiert und so aufgebaut wie die Schnittstelle des aufzurufenden FBs es vorgibt. Also wird Retain und Non_retain in dessen Schnittstelle deklariert und nicht im IDB.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wo du den IDB erstellst ist mir persönlich egal, nur wenn es darum geht Schlüsselwörter herauszufinden, erstellst du klassisch einen normalen DB, und erzeugst aus diesem dann eine Quelle.
Dann schaust du, was Step7 so alles in die Quelle geschrieben hat.
 
Zurück
Oben