Es funktioniert auch alles, die Datei hole ich per Ftp mit einer VB- Applikation ab.
Leider ist mir folgendes aufgefallen:
Die Task zur Aufbereitung und Schreiben der Daten hat eine Zykluszeit von ca. 23000 ms!!!
In dem Programmteil sind eine Menge Concats enthalten, kann es sein, daß diese den Controller fast zum Erliegen bringen ?
Ich habe außerdem versucht, die Daten und Separationszeichen direkt ins File zuschreiben, dabei sind aber auch ähnlich hohe Zykluszeiten aufgetreten.
Oder nimmt das Filehandling so viel Zeit in Anspruch ?
Die Task läuft jede 3 Minuten nur einmal.
Gruß, bytebold
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich habe nun herausgefunden, daß die Aufbereitung der Daten ca. 250ms dauert.
Das Schreiben der Daten in die Datei lag bei ca. 30s.
Ich habe folgenden Code für das Schreiben benutzt:
  (*MesswerteinFileschreiben*)  hFile:=SysFileOpen(File_String,'a');  dwWritten:=SysFileWrite(hFile,ADR(szText),LEN(szText));  dwWritten:=SysFileWrite(hFile,ADR(wNewLine),SIZEOF(wNewLine));  SysFileClose(hFile);
Dann habe ich die Timestamps in diesen Teil eingebaut, es ist der Befehl
SysFileClose(hFile);
der die ganze Zeit in Anspruch nimmt.
Der String szText ist ca. 150 Zeichen lang, in die Datei wird jede 3 Minuten reingeschrieben, um 0:00 Uhr wird eine neue Datei angelegt, die täglichen Dateien sind ca. 60kB groß. Jede einzelne Datei wird nach 8 Tagen gelöscht, sodaß immer nur 8 Dateien vorhanden sind.
Hat jemand eine Idee, warum das "File schließen" so lange dauert ?
Gruß, bytebold[/code]"
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das ist nun eine neue Datei, in die ich 8 Zeichen hineinschreibe,
Resultat: dauert ca. 21 s
Ich schreibe mal die gemessenen Zeiten bei, vielleicht habe ich auch was falsch interpretiert.
Die Zeiten sollten ms seit Programmstart sein, bis zeit6 aktualisiert wird, dauert auch ewig lange, könnten genau die 21s sein.
zeit5= 81983081
zeit6= 82007027
Gruß, bytebold[/code]
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
Frage: Wieviele Dateien befinden sich schon auf deinem 750-841er. http://www.magnia.de/content/view/32/30/
Versuche doch mal das Filesystem auf deinem Controller zu Formatieren.
Klappt es dann ?
Im /PLC- Verzeichnis sind ca. 30 Dateien, die wohl hauptsächlich von meinen Versuchen mit der Visualisierung stammen.
Ansonsten habe ich in meinem Verzeichnis nur die acht 60k großen Messwertedateien.
Vor dem formatieren scheue ich mich erstmal, dann ist ja wohl alles weg.
Gruß, bytebold
[/quote]
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich habe einen 750-841 im Einsatz, der Messwerte sammelt. Diese Messwerte werden in eine Csv- Datei geschrieben.
Ich habe mich für die Erzeugung und Aktualisierung an dem Beispiel von folgendem Topic orientiert:
http://forum.3s-software.com/viewtopic.php?t=108&highlight=csv
Es funktioniert auch alles, die Datei hole ich per Ftp mit einer VB- Applikation ab.
Leider ist mir folgendes aufgefallen:
Die Task zur Aufbereitung und Schreiben der Daten hat eine Zykluszeit von ca. 23000 ms!!!
In dem Programmteil sind eine Menge Concats enthalten, kann es sein, daß diese den Controller fast zum Erliegen bringen ?
Ich habe außerdem versucht, die Daten und Separationszeichen direkt ins File zuschreiben, dabei sind aber auch ähnlich hohe Zykluszeiten aufgetreten.
Oder nimmt das Filehandling so viel Zeit in Anspruch ?
Die Task läuft jede 3 Minuten nur einmal.
Gruß, bytebold
Hi
Schreiben dauer normalerweise nur im ms-Bereich.
Hört sich eventuell nach Time-Out an.
Setze dir mal ein paar Time-Stamps, sodass du schauen kannst welche "Aktion" den Zylus verlangsamt
Hallo,
danke für den Tip.
Ich habe nun herausgefunden, daß die Aufbereitung der Daten ca. 250ms dauert.
Das Schreiben der Daten in die Datei lag bei ca. 30s.
Ich habe folgenden Code für das Schreiben benutzt:
Dann habe ich die Timestamps in diesen Teil eingebaut, es ist der Befehl
SysFileClose(hFile);
der die ganze Zeit in Anspruch nimmt.
Der String szText ist ca. 150 Zeichen lang, in die Datei wird jede 3 Minuten reingeschrieben, um 0:00 Uhr wird eine neue Datei angelegt, die täglichen Dateien sind ca. 60kB groß. Jede einzelne Datei wird nach 8 Tagen gelöscht, sodaß immer nur 8 Dateien vorhanden sind.
Hat jemand eine Idee, warum das "File schließen" so lange dauert ?
Gruß, bytebold[/code]"
Hi
Nach SysFileOpen
Welchen Wert hat hFile.
Teste doch mal:
hFile:= SysFileOpen(File_String, 'a');
SysFileClose(hFile);
Wie lange dauert das jetzt.
Hallo,
hfile hat den Wert 1.
...das dauert nur 28ms.
Gruß, bytebold
Hi
Versuch doch mal:
Festen String mit 8 Zeichen zu Schreiben.
Hi
Frage: Wieviele Dateien befinden sich schon auf deinem 750-841er.
http://www.magnia.de/content/view/32/30/
Versuche doch mal das Filesystem auf deinem Controller zu Formatieren.
Klappt es dann ?
So,
nun habe ich folgendes probiert:
Das ist nun eine neue Datei, in die ich 8 Zeichen hineinschreibe,
Resultat: dauert ca. 21 s
Ich schreibe mal die gemessenen Zeiten bei, vielleicht habe ich auch was falsch interpretiert.
Die Zeiten sollten ms seit Programmstart sein, bis zeit6 aktualisiert wird, dauert auch ewig lange, könnten genau die 21s sein.
zeit5= 81983081
zeit6= 82007027
Gruß, bytebold[/code]
Hi
Bei dir scheint das schreiben lange zu dauern.
Frage: Wieviele Dateien befinden sich schon auf deinem 750-841er.
http://www.magnia.de/content/view/32/30/
Versuche doch mal das Filesystem auf deinem Controller zu Formatieren.
Klappt es dann ?
Im /PLC- Verzeichnis sind ca. 30 Dateien, die wohl hauptsächlich von meinen Versuchen mit der Visualisierung stammen.
Ansonsten habe ich in meinem Verzeichnis nur die acht 60k großen Messwertedateien.
Vor dem formatieren scheue ich mich erstmal, dann ist ja wohl alles weg.
Gruß, bytebold
[/quote]
Hi
Ja, dein Projekt hast du doch.
Deine CSV kannst du dir mit dem IE rüberziehen.
O.K.
Probiere doch mal dieses Beispiel. (Datei-Handling)
http://www.magnia.de/component/option,c ... Itemid,29/
Dauert das schreiben hier genausolange ?