# WinCC flexible & Probleme mit Archivierung



## matzek (9 September 2008)

Ich programmiere in WinCC flexible 2005 advanced ein Projekt wo ich u.a. 80 Variablen aus einen DB archivieren möchte (in einem Variablenarchiv). Die Einstellung ist auf Archivierung auf Änderung eingestellt. Wenn ich das Projekt mit den Runtimes starte klappt das für erste auch, es wird erfolgreich archiviert. Aus mir nicht nachvollziehbaren Gründen wird das Archiv mit $RT_OFF$ beendet obwohl die Runtimes nicht geschlossen sind ?!? :sm9:
Ob ich das Archiv in eine ACCESS-Datenbank oder eine Excel-Datei speichere ist egal, es kommt das gleiche heraus ($RT_OFF$).

Wer kann mir bitte helfen ?


----------



## Manfred Stangl (9 September 2008)

schon mal die suchfunktion hier benützt?

Wievliele Einträge verkraftet dein Archiv?
Umlaufarchiv?
Folgearchiv?

zeig mal Einstellungen


----------



## matzek (9 September 2008)

schon mal die suchfunktion hier benützt? Ja, habe aber soweit wie ich das verstanden habe nicht das richtige gefunden.

Wievliele Einträge verkraftet dein Archiv? 100, laut Siemens
Ich habe nur Umlaufarchive

zeig mal Einstellungen


----------



## matzek (9 September 2008)

was ich vergessen hatte, ich habe 4 Archive wovon das grösste 80 Variablen hat.


----------



## Manfred Stangl (9 September 2008)

such mal nach beiträgen von earny, da hat volker was geschrienben!

ich glaub zyklisch fortlaufend

guck mal.


----------



## matzek (9 September 2008)

Danke Manfred Stangl , habe wohl den Beitrag gefunden, da heisst es das nur das archviert wird was im aktiven Bild steht. Bei den meisten anderen Anwendungen würde das ausreichen.
Gibt es eine Möglichkeit diese 80 Variablen (aufgrund einer Aktion der SPS) zu archivieren ?
Zyklisch fortlaufend einzustellen ist bei meiner Anwendung nicht zielführend, es ist eine Dosieranlage wo ich nach erfolgter Dosierung die aktuellen 80 Variablen archivieren möchte.

Gruss matzek


----------



## Larry Laffer (9 September 2008)

... soweit ich das beurteilen kann (ich bin aber nicht der Flex-Mann) hast du keine andere Möglichkeit als "zyklisch fortlaufend". Wenn sich deine Variablen aber nur von Dosierung zu Dosierung ändern und den jeweiligen Endstand repräsentieren dann könnte es helfen, wenn du mit der Aktulisierungsrate stark runter gehst (also vielleicht nicht im Sekundentakt aktualisieren sondern vielleicht alle 5 Sek. ...)

Gruß
LL


----------



## matzek (9 September 2008)

bei 80 Datensätzen alle 5 sek kommt ziemlich viel zusammen...


----------



## Larry Laffer (9 September 2008)

... es bleiben dir nicht so viele Optionen ...

Vielleicht ein anderer Vorschlag (das habe ich an anderer Stelle so realisiert) :
Du packst in der Steuerung deine 80 Datensätze alle in einem DB hintereinander im gleichen Datenformat (z.B. REAL). Im WinCCFlex deklarierst du diesen Datenbereich als Profilkurve, die du über ein Triggerbit, was aus der SPS kommt einliest. Nun könntest du diese Daten, die von der regulären Bearbeitung der Visu unabhängig eingelesen werden per Script in eine eigene Liste abspeichern.
Falls das für dich ein Weg sein könnte, dann kann ich dazu mit weiteren Info's gerne konkreter werden ...

Gruß
LL


----------



## matzek (9 September 2008)

> ... es bleiben dir nicht so viele Optionen ...  
wohl wahr !
Für mich ist dein Vorschlag ein Weg.
> Du packst in der Steuerung deine 80 Datensätze alle in einem DB           > hintereinander im gleichen Datenformat (z.B. REAL). 
ist zufälligerweise beides so realisiert, alle 80 Variablen sind REAL & in einem DB alle hintereinander.
Im WinCCFlex deklarierst du diesen Datenbereich als Profilkurve, die du über ein Triggerbit, was aus der SPS kommt einliest. Nun könntest du diese Daten, die von der regulären Bearbeitung der Visu unabhängig eingelesen werden per Script in eine eigene Liste abspeichern.
Ein Skript oder eine Profilkurvehabe ich in WinCC flexible noch nicht programmiert.
Bitte um weitere Infos.
Gruss matzek


----------



## Funky (9 September 2008)

Hallo matzek,

es gibt noch die Möglichkeit über die Aktualisierungskennung.
Ich habe dies bei einen Projekt mit ca. 80 Variabeln realisiert.
Diese Variabeln wurden dann in eine SQL-Datenbank geschrieben (ca. aller 3 Sekunden).
Die Übertragung ist in flex etwas umständlich und läuft bei mir in drei Schritten ab.

1. aktuelle Variabeln in SPS bereitstellen und Wert in Variabel "Auftrag_laufendeNr" erhöhen. Diese Variabel wird aller 100ms Zyklisch gelesen. und erhöht interne Variabeln "Aktualisierungskennung 1-15" Bild1

2. aktuallisiere Variabel 1-xx über die Aktualisierungskennung Bild2

3. lese Variabel aus SPS (Bild3)

mfg Harald


----------



## volker (9 September 2008)

der vollständigkeit halber noch eine möglichkeit.
du legst ein  rezept mit den vars an.
über eine steuervar liest du das rezept per script ein.
das rezept liefert dir einen rückgabewert wenn alle vars eingelesen sind.


----------



## Larry Laffer (10 September 2008)

Also ... zu meinem Vorschlag :
bezüglich der Kurven-Geschichte bitte mal hier lesen :
http://www.sps-forum.de/showthread.php?t=13485
http://www.sps-forum.de/showpost.php?p=84485&postcount=56

Bezüglich der Daten-Konzentrierung :
http://www.sps-forum.de/showthread.php?t=21456

Gruß
LL


----------



## matzek (11 September 2008)

Die Siemens-Hotline sagt, das ich die Erfassungsart (der Variable, nicht Archiv) auf "zyklisch fortlaufend" stellen soll, dann wäre mein Problem behoben. Ich probiere es aus und kann ja berichten.

Ich wusste nicht mal das es eine Erfassungsart der Variablen und eine Erfassungsart Archiv getrennt voneinander gibt...


----------



## Larry Laffer (12 September 2008)

Hallo,
dazu meine Meinung :
Es machjt keinen Unterschied, ob du alle Variablen einzeln auf "zyklisch fortlaufend" stellst oder das Archiv - es müßte im Ergebnis das Gleiche bewirken (außer vielleicht, dass die Archiv-Variablen "konsistent" - also zusammenhängend - gelesen werden). Das wäre aber bei einer Kurve oder einem ARRAY genauso der Fall. Ich hatte dich so verstanden, dass du die Kommunikation Visu-SPS weitesgehend entlasten wolltest und entsprechend meinen Vorschlag gemacht ...

Gruß
LL


----------



## matzek (14 Oktober 2008)

Anstatt das ich 80 Variablen in ein Variablenarchiv archiviere, habe ich jetzt 4 Archive mit 20 Variablen. Jetzt tritt mein Fehler nicht mehr auf, das das Archiv mit $RT_OFF$ beendet obwohl die Runtimes nicht geschlossen sind.


----------



## Domi55 (18 März 2009)

Larry Laffer schrieb:


> ...
> 
> Du packst in der Steuerung deine 80 Datensätze alle in einem DB hintereinander im gleichen Datenformat (z.B. REAL). Im WinCCFlex deklarierst du diesen Datenbereich als Profilkurve, die du über ein Triggerbit, was aus der SPS kommt einliest. Nun könntest du diese Daten, die von der regulären Bearbeitung der Visu unabhängig eingelesen werden per Script in eine eigene Liste abspeichern.
> LL



Hallo Larry
Kannst du mir die Variante erklähren? Ist genau das was ich suche!
Hab ja den datenbaustein schon! Jetzt muß ich den nur noch ins Mobile panel bekommen! 

Gruß Domi


----------

