Datenbausteine mit SCL neu initialisieren

Garog

Level-1
Beiträge
197
Reaktionspunkte
32
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte gerne in einem SCL Programm einige Datenbausteine initialisieren, also ihre Anfangswerte laden.
Nur finde ich einen "Befehl" dazu nicht.

Ich kann auch nicht einfach z.b. mit einer for schleife ein Array(etc...) auf 0 setzten und dann in den DB schieben.
Dazu habe ich zu viele DBs mit unterschiedlichen Anfangswerten.

Hoffe euch fällt da etwas gutes ein, der Siemenssupport wusste leider auch nicht weiter :(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau dir mal den SFC21 (Fill) an, vielleicht reicht das aus.

@Ralle
das geht ja gerade nicht, siehe Zitat

Ich kann auch nicht einfach z.b. mit einer for schleife ein Array(etc...) auf 0 setzten und dann in den DB schieben.
Dazu habe ich zu viele DBs mit unterschiedlichen Anfangswerten.

Wieviele DBs sind denn das?
Eine echte Funktion - außerhalb von STEP7 - also z.B. als SFC in der SPS gibt es nicht.

Solange deine Speicherkarte und dein DB-Nummernband groß genug ist.
würde ich ALLE DBs verdopplen und als "UNLINKED" auf die Speicherkarte
legen. UNLINKED heißt, die DBs werden zur Laufzeit nicht in den Arbeitsspeicher kopiert.

Dann kannst du zu einem "sinnvollen" Zeitpunkt mit "WRITE_DBL" dann aber
leider DB für DB einn Daten-Image erstellen.

Falls du die geretteten Werte wird rücklesen willst nimmst die READ_DBL.

Das alles ist zwar keine echtes Setzen auf Anfangswerte - die wären in ARRAYS
sowieso alle Null, aber ich mache das gerne so. Vor allem, wenn ich mit der CPU
nicht in STOP gehen und damit nicht RAM ton ROM machen kann.

Frank
 
Zurück
Oben