-> Hier kostenlos registrieren
Hallo liebes Forum!
Ich habe ein Problem beim Loggen von Maschiendaten über ein Comfortpanel in eine CSV-Datei.
Meine Vorgehensweise:
Fertige Daten (10 Prozesswerte) in einen Struct schreiben.
Flag zum Loggen setzen.
Dieses Flag löst mit Wertänderung im Panel ein Skript aus.
In dem Skript werden die SmartTags abgegriffen und in eine CSV gefüllt.
Das Skript setzt dann das Flag zurück.
Nun kommt es öfter mal vor, dass statt einem neuen Datensatz der vorherige geschrieben wird.
Oder es sind ein paar der 10 Werte neu, die anderen aber noch vom alten Datensatz... Also äußerst blöd.
Ich glaube, dass das Problem durch die asynchrone Abarbeitung des Panels auftritt.
(Also auch wenn ich das Flag nach den Daten setze, kann ich durch die Asynchronität nicht sicher sein, dass der Datensatz im Panel sicher aktualisiert wurde).
Bisher habe ich zur "Umgehung" des Problems eine Verzögerung von 200ms eingebaut, bevor ich das Flag setze.
Also meine Frage:
Gibt es Möglichkeiten um Daten sicher konsistent zu übertragen?
Ich habe seitens Siemens mal gehört, dass das nur mit Rezepten möglich ist, man korregiere mich bitte wenn das falsch ist.
Es wäre kein Problem Rezepte zu verwenden, allerdings finde ich keine Syntax um im Skript einzelne Rezepturwerte abzugreifen?
Oder wie macht Ihr das sonst?
LG, Thomas
Achja:
Siemens TIA V14 SP1 Update1
CPU 1510SP-1 PN
TP1900 Comfort
Ich habe ein Problem beim Loggen von Maschiendaten über ein Comfortpanel in eine CSV-Datei.
Meine Vorgehensweise:
Fertige Daten (10 Prozesswerte) in einen Struct schreiben.
Flag zum Loggen setzen.
Dieses Flag löst mit Wertänderung im Panel ein Skript aus.
In dem Skript werden die SmartTags abgegriffen und in eine CSV gefüllt.
Das Skript setzt dann das Flag zurück.
Nun kommt es öfter mal vor, dass statt einem neuen Datensatz der vorherige geschrieben wird.
Oder es sind ein paar der 10 Werte neu, die anderen aber noch vom alten Datensatz... Also äußerst blöd.
Ich glaube, dass das Problem durch die asynchrone Abarbeitung des Panels auftritt.
(Also auch wenn ich das Flag nach den Daten setze, kann ich durch die Asynchronität nicht sicher sein, dass der Datensatz im Panel sicher aktualisiert wurde).
Bisher habe ich zur "Umgehung" des Problems eine Verzögerung von 200ms eingebaut, bevor ich das Flag setze.
Also meine Frage:
Gibt es Möglichkeiten um Daten sicher konsistent zu übertragen?
Ich habe seitens Siemens mal gehört, dass das nur mit Rezepten möglich ist, man korregiere mich bitte wenn das falsch ist.
Es wäre kein Problem Rezepte zu verwenden, allerdings finde ich keine Syntax um im Skript einzelne Rezepturwerte abzugreifen?
Oder wie macht Ihr das sonst?

LG, Thomas
Achja:
Siemens TIA V14 SP1 Update1
CPU 1510SP-1 PN
TP1900 Comfort