Kurvenwerte in Datei schreiben

ssound1de

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

ich muss Soll/Istwerte (128 Byte-Block) von der S7 in eine Datei protokollieren.
S7 -> WinCCFlex PC-RT (2007) -> Datei auf HDD.

Ich habe die Daten in eine bitgetriggerte Kurve gepackt und möchte die empfangenen Daten jetzt in eine Datei schreiben.
S7-Prog und VB-Script ist kein Problem.

Nur was für einen Auslöser verwende ich zum Script-Aufruf?
Woher weiß ich in WCCF, wann neue Daten angekommen sind?
Und verwende ich besser Kurventyp 'Puffer' oder 'Echtzeit'?

Vielen Dank für Eure Hilfe.

Gruß
 
Zuletzt bearbeitet:
Hi,

also wie das über Skripte am besten zu lösen ist, kann ich dir auch nicht sagen.
Kannst du nicht die Archivierungsfunktion von WCCf benutzen? Das funktioniert bei mir einwandfrei. Die Nachteile sind nur, dass das was kostet (Extra-Lizenz) und eventuell kann beim Archivierungsintervall Probleme geben.
Ich hab bei meinen Projekten meist normal die Variablen archiviert, aber da ist der kleinste Zyklus meine ich nur 100ms...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

also wie das über Skripte am besten zu lösen ist, kann ich dir auch nicht sagen.
Kannst du nicht die Archivierungsfunktion von WCCf benutzen? Das funktioniert bei mir einwandfrei. Die Nachteile sind nur, dass das was kostet (Extra-Lizenz) und eventuell kann beim Archivierungsintervall Probleme geben.
Ich hab bei meinen Projekten meist normal die Variablen archiviert, aber da ist der kleinste Zyklus meine ich nur 100ms...

Ich will ja keine Kurve anzeigen oder speichern, sondern die Werte in eine Datei schreiben, um sie dann in einem anderen speziellen Programm zu verarbeiten.
Ich dachte mir das so ...
1. Ich schreibe in der S7 die Werte in den Kurvenpuffer (128 Byte)
2. Ich setzte das Transfer- und Sammelbit für Kurvenübertragung
(der Kurvenpuffer wird dann von WCCF aus der S7 gelesen)

Jetzt sind also die Daten in WCCF in dem Kurvenarray.
Jetzt müsste ich ein Script aufrufen, dass die Daten umformatiert und in eine Datei schreibt (z.B. eine excel datei).

Das Script ist wie gesagt kein Problem, nur brauche ich für die Scriptausführung einen Auslöser, der mir sagt: Neue Daten sind da -> führe jetzt Script xyz aus.
Was nehme ich also als Auslöser?

Es gab schon div. Threads über dieses Thema, nur steht da auch nix von einem Auslöser für den Scriptaufruf.
 
Hallo,
das Abspeichern der Kurvendaten ist doch kein Problem, da du deine Profilkurve innerhalb des Scriptes ja als Array adressieren und ansprechen kannst. Als Trigger würde ich den Bit-Trigger der Kurve nehmen. Leg doch auf den dafür von dir benutzen Speicherbereich einfach eine 2. (eigene) Flex-Variable drauf, die du ständig aktualisierst und die du dann auf Wertänderung für deinen Script-Aufruf abfragst. Die Ausführungs des Scriptes würde ich aber an die Wert-Änderung -> 0 (im Script als IF-Bedingung) hängen, da du nur so wirklich sicher stellen kannst, das wirklich alles schon aktualisiert ist ...

Gruß
LL
 
Als Trigger würde ich den Bit-Trigger der Kurve nehmen. Leg doch auf den dafür von dir benutzen Speicherbereich einfach eine 2. (eigene) Flex-Variable drauf, die du ständig aktualisierst und die du dann auf Wertänderung für deinen Script-Aufruf abfragst.

Hi LL,
ist denn der Sammeltrigger lang genug da, damit die 2.te Var auch sauber und sicher aktualisiert wird?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... der steht ja auf jeden Fall für die Länge seiner eingestellten Abtastrate an, da ihn sonst die Visu ja nicht mitbekommen würde (für die Kurven-Aktualisierung). Wenn du ihn für deine 2.Variable noch schneller abfragst dann solltest du da kein Problem bekommen.
Ich muß dir allerdings sagen, dass ich bei einer eigenen Anwendung, bei der ich auch so etwas mache, mit einem speziellen zusätzlichen Trigger gearbeitet habe weil ich dem Script-Aufruf nach etwas zusätzliche Luft verschaffen wollte ...

Gruß
LL
 
Zurück
Oben