Datenbausteine

Flo

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

wie kann man bei Datenbausteinen die Aktualwerte in die Startwerte schreiben? gibt es da einen SFB?

an die Admin's: wenn ich im Microsoft Internet Explorer unter "Suchen" ein Thema angesehen habe und dann unter "Zurück" wieder auf meine Suchergebnisse springen möchte bekomme ich die Fehlermeldung "Seite nicht vorhanden". An was liegt das?

Danke,
Flo
 
Handarbeit

Hallo,
ob es einen SFB gibt weiß ich nicht, aber du kannst den Online DB kopieren und Offline abspeichern. Danach musst daraus die Quelle generieren. Dort steht im Data Block der aktuelle Messwert!
Ab jetzt ist Handarbeit oder ein Visualbasic Makro gefordert, welcher die Daten aus dem Datablock in die Anfangswerte kopiert.
Schöne Grüße
Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ich möchte das schreiben dieser Werte gerne während des Betriebes machen und mit einer Taste am Bediengerät starten. Sorry, hätt ich wohl noch dazu sagen sollen.

Flo
 
Stand vor dem gleichen Problem.
Habe damals auch nix per SFx gefunden.
Habe mir daraufhin eine DB-Kopie mit den entsprechende Werten
angelegt, und per HMI-Tastendruck und SFC20 den DB überschrieben.

Wer eine bessere Lösung hat, bitte mitteilen !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
DB

aber hier war gefragt wie ich die Aktualwerte in die Startwerte kriege und nicht umgedreht... Ich glaube nicht dass das direkt aus dem S7-Programm zu schaffen ist. Man müsste ein Bit setzen, dieses extern mit einem Tool abfragen und entsprechend reagieren.

MfG
André Räppel
 
FRAGE:
Wie kann - unter Umgehung der PG-Funktionalität - ein Aktualwert eines DB als Initialwert übernommen werden?

ANTWORT:
Im SIMATIC Manager kann mit der Funktion "Zielsystem > RAM nach ROM kopieren" ein Datenbaustein aus dem Arbeitsspeicher in den Ladespeicher geschrieben werden. Damit stehen geänderte Parameter in diesem Datenbaustein - z.B. auch nach Netz-Aus - wieder zur Verfügung. Um Parameter aus einem DB ohne PC/PG mit STEP 7 - z.B. durch OP-Bedienung - in den Ladespeicher zu transferieren, kann bei CPUs mit Micro Memory Card (MMC) die Systemfunktion SFC 84 "WRIT_DBL" verwendet werden. Mit dem folgenden Beispielaufruf werden 10 Bytes aus DB1 (im Arbeitsspeicher) in DB2 (im Ladespeicher) geschrieben
(Der Datenbaustein DB2 muss im Beispiel als "Unlinked" deklariert werden, da er sonst im Arbeitsspeicher steht. Diese Einstellung kann beim Einfügen des Datenbausteins im Feld "Eigenschaft - Datenbaustein" unter dem Register "Allgemein-Teil 2" vorgenommen werden.):

CALL "WRIT_DBL"
REQ := M10.0 // REQ = 1: Schreibanforderung
SRCBLK := P#DB1.DBX 0.0 BYTE 10 // Zeiger auf Quellbereich
RET_VAL MW20 // Fehlercode
BUSY :=M10.1 // BUSY = 1: Schreibvorgang noch nicht beendet
DSTBLK :=P#DB2.DBX 0.0 BYTE 10 // Zeiger auf Zielbereich

Um Anlaufwerte über OP-Bedienung netzausfallsicher bzw. urlöschsicher zu ändern, kann folgende, prinzipielle Vorgehensweise realisiert werden:

Parameter über OP-Bedienung ändern.
Geänderte, für den Anlauf relevante Parameter über OP-Bedienung in einen DB im Ladespeicher schreiben (auch Parameter aus verschiedenen DBs möglich).
Im OB100 Anlaufwerte mit SFC 83 "READ_DBL" aus dem Ladespeicher auslesen und in den ursprünglichen DB zurückschreiben. Durch Setzen eines Flags kann die Bearbeitung des Anwenderprogramms verzögert werden, bis alle Anlaufwerte in die entsprechenden DBs geschrieben wurden.
Wichtig:
Der Quellbereich darf aus Konsistenzgründen während der Bearbeitung der SFC 84 nicht verändert werden. Weiterhin wird die SFC 84 asynchron bearbeitet, d. h. die Bearbeitung kann über mehrere SFC-Aufrufe erfolgen. Aus diesen Gründen sollte die Bearbeitung des Anwenderprogramms während der Ausführung der SFC 84 ausgesetzt werden, um die Datenkonsistenz zu gewährleisten.

Hinweis:
Schreibzugriffe mit SFC 84 sollten immer nur im notwendigen Umfang durchgeführt werden, da der Ladespeicher nicht für häufige Schreibzugriffe vorgesehen ist.

Glaub das war gesucht
 
@Gast

Ja, ich glaub das ist genau die richtige Funktion für meine Anwendung.
Werd das nächste Woche gleich mal ausprobieren.

Danke
 
Zurück
Oben