Codesys Analogwerte auswerten

flying_richy

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi ich bin neu hier und habe gleich mal ein Problem:/

Ich habe aus einer Analogkarte Daten eingelesen in reale Werte umgewandelt und in eine Datenstruktur geschrieben.
Jetzt möchte ich diese Daten auswerten speziell Min. und Maxwerte erkennen und in eine Datei speichern.
Wie mache ich so etwas am besten ?
Ich hoffe jemand kann mir dabei weiterhelfen?

Grüße
 
Du könntest Wert für Wert aus Deinem Array mit einer Variable vergleichen, den jeweils höheren Wert übernimmst Du als Wert der Variable - schon hast Du nach x Durchläufen Dein Maximum.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Möchtest du von den Werten die du bekommst den höchsten ermitteln oder den Wert der gerade ansteht (Ist-Wert) mit einem von dir festgelegtem Min-/Maxwert vergleichen und bei Grenzüberschreitung eine Aktion auslösen ?
Zunächst stellt sich die Frage wie weit du deinen Analogwert schon skaliert hast oder das gar nicht benötigst.
Aber möchtest du bspw 0Bar=Minwert und 1Bar=Maxwert musst du deine werte sicher skalieren.
Deine Karte liefert dir ja einen Wert irgendwo zwischen 0 und 32767.
Der ja je nach Sensor/Messbereich und und und immer was anderes bedeutet.
Evtl verrätst du mal was du da so hast und genau vorhast.
 
Danke für die schnellen Antworten also es handelt sich um eine Leistungsmessklemme und die Werte habe ich bereits skaliert.
Ich möchte jetzt jeden Wert überprüfen und diesen wenn er höher ist als die davor speichern.
Dieser Wert soll allerdings nach einer festgelegten Zeit wieder gelöscht werden können und nur falls dieser Wert eine Obergrenze überschreitet soll
eine Aktion ausgelöst werden.
 
naja min /max analyse etc. is der pille palle teil deines Vorhabens

Du willst daten in eine Datei schreiben!? und evtl. auch wieder werte in der Datei löschen!?
Was stellst du dir da vor? XML.. oder Datenbank!?
Das ganze File I/O management ist ehr der aufwendigere Part...

Du könntest einen Ringpuffer verwenden.. und nach entsprechender Änderung die Daten davon Komplett in die Datei schreiben (davor leeren)
 
Zurück
Oben