WinCC Flex Probleme mit <Archiviere Protokolldatei>

Paul

Level-2
Beiträge
929
Reaktionspunkte
239
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen

Ich habe die Aufgabe mit WinCCflex Archive auf ein Netzlaufwerk abzulegen.

Meine Vorgehensweise ist folgende:

Auf der HMI (Panel-PC) läuft ein Umlaufarchiv.

Bei diesem Archiv sage ich unter "Ereignisse" - - > Überlauf
1- Schließe Alle Archive
2 - Archiviere Protokolldatei
3 - Öffne Alle Archive
Diese Vorgehensweise steht auch so in der Hilfe.

Wenn dieses Ereignis nun angetriggert wird passiert folgendes:
Ich bekomme die Systemmeldung <Alle Archive wurden erfolgreich geschlossen>
Dann kommt die Systemmeldung <Das Archiv xyz ,welches exportiert werden sollte, ist nicht geschlossen>
Auf dem Netzlaufwerk wird die Protokolldatei auch nicht angelegt.
Das Ganze funktioniert auch nicht wenn ich es, statt mit Überlauf, über eine Schaltfläche antriggere.

Wenn ich die 3 Schritte (Schließe - Archiviere - Öffne) auf 3 Schaltflächen verteile und diese nacheinander drücke funzt das einwandfrei.
Mir kommt das vor als wenn zwischen "schließen" und "archivieren" eine kleine Wartezeit nötig wäre.

Hatte jemand schon mal ein ähnliches Problem, oder kennt vielleicht sogar jemand eine Lösung?

Vielen Dank schon mal im Voraus.
 
Hallo Paul,

aus eigener Erfahrung:
Zwischen die einzelnen Schritte zur Archiv-Behandlung füge ich immer eine Pause von mindestens 2 Sekunden ein, da Siemens leider vergessen hat, eine Synchronisation mittels Statuswertrückgabe (wie z.B. bei Rezepturaktionen) zu ermöglichen.
Ggf. muss die besagte Pause bei Zugriffen auf Speicherkarten/Netzlaufwerken etc. sogar noch vergrößert werden.


Gruß, Fred
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Fred

Ich habe jetzt mal zwischen die Schritte <Schließen> und <Archivieren> sozusagen eine Bremse eingebaut indem ich
ein (internes) DummyBool zwei mal setze und wieder rücksetze.
Damit scheint es augenscheinlich zu gehen, aber zum Testen hantiere ich nur mit einem Archiv und später werden es ca. 10 - 15.
Keine Ahnung wie sich das dann verhält und außerdem sieht das schon sehr sch... aus, wenn da mal ein Anderer reinschaut

Wie erzeugst Du denn die 2 Sekunden Zeit?
Über eine Interne Variable?
Bzw. wie bringst Du die Zeit als "Weiterschaltbedingung" da rein?
 
deine archivierung in ein script packen.

eine wartezeit über ein script

Code:
'script in wincc flexible'
'name: warte'
'zeit ist ein übergebener parameter'

Dim t1,t2

t1=Timer
Do
    t2=Timer
    If t2<t1 Then 
        zeit = t1-86400+zeit
        t1=0        
    End If
    SmartTags("wetter.wartezeit")=(t2-t1-zeit)*-1
    If t2-t1 > zeit Then Exit Do
Loop
 
Hallo Paul,

volker hat eigentlich schon alles gesagt, hier nur noch mal der gesamte Ablauf in Steno:

1. StoppeArchivierung (StopLogging) -> Beachte die Einzahl, dieser Befehl muss später für alle Archive einzeln ausgeführt werden!
2. Pause
3. SchließeAlleArchive (CloseAllLogs) -> Beachte die Mehrzahl, dieser Befehl gilt für alle projektierten Archive!
4. Pause
5. ArchiviereArchiv (ArchiveLogFile) -> Beachte die Einzahl, dieser Befehl muss später für alle Archive einzeln ausgeführt werden!
6. Pause
7. ÖffneAlleArchiv (OpenAllLogs) -> Beachte die Mehrzahl, dieser Befehl gilt für alle projektierten Archive!

Ggf. noch notwendig (Hängt von der Projektierung der Archive ab):
8. Pause
9. StarteArchivierung (StartLogging) -> Beachte die Einzahl, dieser Befehl muss später für alle Archive einzeln ausgeführt werden!

Das Ganze in ein Script -> fertig.


Gruß, Fred
 
Zurück
Oben