HMI Variablen Tracking, besteht die Möglichkeit?

daloeff

Level-1
Beiträge
59
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

hätte da mal eine Idee und wollte fragen was Ihr von dieser haltet und ob es zu realisieren wäre.
Ich will, wenn jemand am Touch Panel einen Wert ändert, seine Benutzerkennung (DINT Nr die in einem DB liegt), den alten Wert und den neuen Wert in eine File schreiben. (Eigentlich ein selbstgebasteltes Audit Trail ;D)

Würde hierzu 2 Variablenarchive anlegen die alle Variablen beinhalten. Die zu "beobachtenden" Variablen würde ich bei Änderung in das erste Archiv schreiben. Zugleich wird bei Wertänderung ein Skript aufgerufen. Also könnte man einfach alle Variablen, die überwacht werden auswählen und die Archivierung und das Skript zuweisen.

Im Skript wird das erste Archiv mit dem zweiten Archiv verglichen und falls ein Unterschied vorliegt, wird dieser Unterschied einer Variabel einmal vom 2ten Archiv zu "alter Wert" und der vom 1ten Archiv zu "neuer Wert" kopiert.

Jetzt wird eine File (z.B.: csv) generiert, in die eine Zeile mit der Benutzerkennung, Zeitstempel, neuem Wert und alten Wert geschrieben wird.

Anschließend wird das 1te Archiv auf das 2te kopiert und überschrieben -> nun ist das 1ste Archiv bereit für die nächste Änderung.

Das größte Problem sehe ich hier beim Vergleich der zwei Archive.

Was meint Ihr dazu, wäre es theoretisch möglich?

Danke im Vorraus!
 
Wenn du sowieso dein Script mit Wertänderung der entsprechenden Variablen aufrufst, dann kann ich doch gleich die Variable dem Script übergeben und ins CSV schreiben.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

hmm, hab ich mir auch schon gedacht aber wie kann ich die Variabel dem Script übergeben, ohne diese direkt an den Eingangsparameter zu verbinden? Denn dann müsste ich doch bei jedem Aufruf Wertänderung der Variabel, diese dann nochmals mit dem Script verknüpfen. Ich wollte aber mehrere Variablen (ca. 150) markieren und allen das Script zuweißen, ohne zusätzlich jede einzelne Variabel dem Script zuzuweißen.
Ich hoffe Ihr ich hab es halbwegs verständlich rübergebracht. Oder gibt es eine Möglichkeit dem Script die Variabel, die das Script bei Wertänderung aufruft automatisch mitzugeben?

Danke!
 
Hier wäre jetzt die Gelegenheit für Dich, uns mitzuteilen, über welches HMI Engineerung System Du sprichst ...

z.B. in WinCC flexible gibt es keine Möglichkeit, die Variable automatisch mitzugeben.
Du müsstest bei jedem Scriptaufruf den Übergabeparameter anpassen. Knapp 'ne halbe Stunde Fleißarbeit.

Harald
 
Hi,
verwende ein WinCC flex. Hab mir schon gedacht, das es nicht möglich ist, die Variabel mit zugeben. Sagen wir mal ich nehme die Fleißarbeit auf mich und gebe die Variabel mit, dann wird doch das script aufgerufen, wenn der wert schon geändert wurde und mir fehlt bei der abarbeitung des scripts der alte Wert oder habe ich was falsch verstanden?

Deshalb habe ich die zuvor etwas komplizierte Methode erwähnt. Damit die einzelne Anbindung und die alten + neuen Werte mit geloggt werden.

Gruß daloeff
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
diese Form der Variablen-Dokumentation setzt voraus, dass man den Vorgänger-Wert der Variablen auch schon irgendwo gespeichert hat.
Im Falle von Flex müßtest du dir hierfür z.B. interne Variablen anlegen, denen der aktuelle Wert der jeweiligen Variablen z.B. beim Start der Visu zugewiesen wird - oder noch besser : du setzt diese internen Variablen auf einen unlogischen Anfangswert. Beim Start der Visu hättest du dann auf jeder zu überwachenden Variablen eine Wertänderung, die das Script triggert. Wenn nun in der Hilfs-Variablen dieser bekannte Anfangswert drinsteht dann speicherst du nicht in der Log-Datei sondern übernimmst nur den aktuellen Wert - ansonsten speicherst du beide Werte und übernimmst auch wieder den aktuellen Wert in die Hilfs-Variable.
Das wäre grundsätzlich mit etwas Fleiss zu machen - ob und in wie weit es die Visu allerdings ggf. überfordert vermag ich im Augenblick nicht einzuschätzen (bei ca. 150 zu loggenden Variablen) ...

Vielleicht eher etwas für ein .Net-Programm, was noch nebenher läuft ...

Gruß
Larry
 
Hi, habs jetzt hinbekommen!

Funktioniert Top, hab es jetzt mal mit 28 verschiedenen Variablen versucht. Diese werden sogar bei Rezepturwechsel, sprich alle Variablen werden zur gleichen Zeit geändert, korrekt mitgeloggt und in eine File geschrieben.

Für die Anzeige am Panel habe ich mir folgendes gedacht:
Ich schreibe mit dem Script eine CSV Datei, die den gleichen Header hat wie ein Meldearchiv und füge hier die Werteänderungen ein -> Ich schließe das Archiv und greife direkt in die CSV Datei ein.
Funktioniert soweit auch aber sobald ich das Archiv öffne bekomme ich die Systemmeldung "Archive corrupt" und das Archiv wird zurückgesetzt.
Gibt es hier eine Art Checksum oder ähnliches?
Hat schon mal jemand ein Archiv außerhalb von WinCC geändert? Oder gibt es eine andere Möglichkeit die Daten einfach am Panel darzustellen (z.B.: MP277)?
Ich weiß über das Beispielprogramm auf der Siemens Seite bescheit, in der erklärt wird, wie man die Daten aus dem Variablenarchiv in Tabellenform darstellt -> Was ich noch im Kopf habe, bremste diese Methode das Panel EXTREM aus.

Danke im Vorraus!
 
Zuletzt bearbeitet:
Zurück
Oben