easy-forum
Deutsch - Software => XSoft-CoDeSys => Thema gestartet von: Robohaase am Juni 26, 2009, 16:52:28 Nachmittag
-
Hallo,
ich habe letztens Versucht mir ein kleines Programm zu schreiben um einige Daten aufzuzeichnen...
Ich Nutze eine Easy Control.
Meine Absicht war, einen oder mehrere Analogsignale in ein Array zuschreiben.
Dabei will ich festlegen in welchem Zeitabstand ich denn Wert speichere...
Die Trendaufzeichnung o.ä. ist zulangsam...
Da ich ca. aller 2 sec einen Wert benötige.
für denkanstöße bin ich sehr dankbar...
auch was das "runterladen" der daten auf den PC betrifft... da ich nicht unbeding meinen Rechner online naben stehen lassen möchte...
gruß Norman
-
Hallo Robohaase,
wieviele Werte sollen es denn ca. sein?
mfg Jan
-
also grob überschlagen dürften es 10 000 Werte/Variable sein.
die Messung müsste etwa 5 stunden laufen und es wären 2-3 Variablen zu überwachen.
Norman
-
Hallo Robohaase,
diese Werte direkt in Arrays zu speichern ist an sich kein Problem,
nur die Größe der von Dir gewollten Arrays ist nicht machbar, geschweige
denn im retain persistent Bereich (spannungsausfallsicher).
Da wirst Du wohl auf externe Speichermedien zurückgreifen müssen.
mfG Jan
-
Guten Morgen Jan,
also komme ich doch um die Speicherkarte nie drum rum... :-[
dachte geht auch anders....
und nen Rechner Online mitlaufen lassen geht doch auch nie oder? denn mit File Open, Write udn File Close dauerts doch zu lange, da daas doch dann wie ne Trendaufzeichnung funktioniert oder???
aber kannste mir trotzdem bei dem Beispiel mit den Werten in den Array weiterhelfen?
wäre sehr nett...
gruß Norman
-
Hallo Norman,
ich hatte hier: http://easy-forum.net/index.php?topic=2828.0 mal ein Beispiel mit einer PC-Software für eine 800er gemacht. Dies sollte aber auch für die EasyControl funktionieren weil es über einen OPC-Server geht.
Mit diesen Programm kannst Du dir eine kleine Visu basteln (Schreiber etc.) und kannst die Werte auch in ein File schreiben (mit Datum/Uhrzeit).
Das mit dem Array schreib ich dir mal heut noch.
mfG Jan
-
Hallo Norman,
hier ein einfacher Code wie man ein array befüllt, am TON-Baustein kannst Du denn Befülltakt ändern.
Die Array-Größe kannst Du auch entsprechend abändern.
VAR
r_Messwert :REAL;
ar_Messwerte : ARRAY [0..100] OF REAL;
ui_Index: UINT;
Takt :TON;
END_VAR
Takt(IN:=NOT Takt.Q , PT:=T#500ms , Q=> , ET=> );
IF ui_Index > 100 AND Takt.Q THEN
ui_Index:=0;
END_IF
IF Takt.Q THEN
ar_Messwerte[ui_index] :=r_Messwert;
ui_Index:= ui_Index + 1;
END_IF
mfG Jan
-
Sieht meinen versuchen schon sehr ähnlich, nur das ich das mit dem index nie hatte, deswegen hat er immer den ersten wert überschrieben...
Danke erstmal, da werd ich mich dann glei wieder ran machen...
Norman
-
guten morgen,
sagt mal wie kann ich denn einen Array mit daten gefüllt am besten in eine Datei schreiben und diese Online (ausschließlich) aufn rechner speichern... also so wie eine Trendaufzeichnung??? geht das auch ohne MMC und OPC???
gruß norman
PS: beispiele wie immer erwünscht...