Global-DB vs. Instanz-DB

b0den

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Wo wird ein Instanz-Db gespeichert? Da er ja einem FB zugeordnet ist vermute ich, dass er zuerst in den Ladespeicher und, wenn der FB ausgeführt wird, in den Arbeitsspeicher geladen wird. Ist das so richtig?

Zu Global-DBs: Sie bleiben eigentlich immer im Ladespeicher und der von einem FB bearbeitete Teil wird in den Arbeitsspeicher geladen, bearbeitet und wieder in den Ladespeicher zurück geschrieben. Stimmt das?

Ich habe jetzt schon einige Manuals durch und konnte diese Fragen noch nicht beantworten. Wäre nett wenn mir jemand die Fragen beantworten könnte. Für weiterführende Infos zu Global- und Instanz-DBs wäre ich auch sehr dankbar! Auch für detaillierte Manuals zum Systemspeicher von S7 300er CPUs wäre ich dankbar.
Vielen Dank schonmal!

Gruß
b0den
 
Der Ladespeicher ist auf den neueren 300-CPUs auf der MMC. Diesen Speicher kannst Du bis auf 8MB erweitern. Arbeiten kann Deine CPU nur mit Daten, die im Arbeitsspeicher stehen. Dieser ist bei 300er CPUs fix. Nach Hochlauf der SPS werden die Daten, bzw. Dein Programm in den Arbeitsspeicher geladen. Bei einem Aufruf von Daten aus einem DB, bzw. Instanz-DB stehen diese Daten dann also bereits im Arbeitsspeicher.
Wenn die SPS ausgeschaltet wird, werden zuvor noch alle remanenten Daten in der MMC gesichert, so dass diese nach neuem Hochlauf wieder zu Verfügung stehen.

Möglich ist es allerdings auch, DBs je nach Bedarf auf Deiner MMC zu speichern, bzw. von der MMC zu laden. Dazu gibt es spezielle Systemfunktionen. Das sollte aber nicht zyklisch geschehen, da die MMC ein Flash-Speicher ist. Schreibvorgänge sind also nicht unendlich oft wiederholbar.

Der Unterschied zwischen Instanz-DB und Global-DB besteht eigentlich nur darin, das ein Instanz-DB einem bestimmten FB zugeordnet ist. Du kannst auf beide direkt aus Deinem Programm heraus zugreifen. Sollte man bei Instanz-DBs aber eigentlich nicht machen, sonst gibts meistens nur schwer zu findende Fehler, insbesondere dann, wenn mehrere Programmierer an einem Projekt arbeiten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sollte man bei Instanz-DBs aber eigentlich nicht machen, sonst gibts meistens nur schwer zu findende Fehler, insbesondere dann, wenn mehrere Programmierer an einem Projekt arbeiten.

Aber nur, wenn indiziert Adressiert wird. Ich wühle viel in Instanz-DB's herum, weil es viele Bausteine gibt, deren Parameter im Instanz-DB schon verfügbar sind. Warum sollte ich weiteren Speicherplatz verschwenden, und diese noch mit anderen Variablen verknüpfen?`
Zum Bleistift bei anhängendem Aufruf eines Treiber-FB für einen Metronix-Regler. Was not tut, ist direkt an den Baustein gelegt, der Rest wird von Schrittkettenbausteinen im Automatikbetrieb, oder der HMI im Handbetrieb direkt beschrieben.
 

Anhänge

  • FC3.pdf
    6,8 KB · Aufrufe: 20
Zurück
Oben