Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
ich habe ein Problem beim speichern von Daten, die aus dem Internet ausgelesen werden. Seit ich versucht habe, die Daten zu speichern, werden die Daten nicht mal mehr aus dem Internet abgerufen. Kann mir wer helfen und sagen warum?
Vielen Dank!
Habe das VI Spacewaether speichern und die Sub VIs angehängt.
ich habe ein Problem beim speichern von Daten, die aus dem Internet ausgelesen werden. Seit ich versucht habe, die Daten zu speichern, werden die Daten nicht mal mehr aus dem Internet abgerufen. Kann mir wer helfen und sagen warum?
Vielen Dank!
Habe das VI Spacewaether speichern und die Sub VIs angehängt.
Koennte es denn sein, dass deine 1. Bedingung immer False ist und somit das gethtml gar net mehr abgearbeitet wird? wo bleibt er denn haengen?
Das zweite koennte noch an deiner TCP Connection liegen -> du oeffnest bei jeder ITeration das Port 80 -> schließt es aber nie mehr, d.h. nach dem 2. Durchlauf der Schleife Und/Oder wiederholten ausfuehren des VIs ist das Port geoeffnet und liefert einen Fehler.
Oeffne das Port vor der While Schleife und SCHLIESSE es NACH der While Schleife...
' schrieb:Koennte es denn sein, dass deine 1. Bedingung immer False ist und somit das gethtml gar net mehr abgearbeitet wird? wo bleibt er denn haengen?
Das zweite koennte noch an deiner TCP Connection liegen -> du oeffnest bei jeder ITeration das Port 80 -> schließt es aber nie mehr, d.h. nach dem 2. Durchlauf der Schleife Und/Oder wiederholten ausfuehren des VIs ist das Port geoeffnet und liefert einen Fehler.
Oeffne das Port vor der While Schleife und SCHLIESSE es NACH der While Schleife...
Danke für die Antwort!
Also zu 1. Die Bedingung ist nicht immer false. Allerdings muss bei gethtml der Schalter für Proxy auf false gesetzt werden. Am Ende soll das Programm mit einem Proxy arbeiten, benutzt man es ohne, muss er halt ausgeschaltet werden. Ist das geschehen, ist die 1. Bedingung zu jeder vollen Minute true.
Ich habe das Gefühl, dass mein Programm in der Schleife, die ich fürs speichern angelegt habe festhängt und das Programm gar nicht mehr von vorne begiunnt. In der Version in der es die 2 While Schleifen, die ich zum Speichern angelegt habe, noch nicht gibt, funktiuoniert das Programm und ruft dauerhaft Daten aus dem Internet ab. Muss ich eventuell eine andere Schleifenart wählen?
ich habe mir mal die VIs angesehen; htmlget tut seine Arbeit, wenn die Änderungen, die freedive vorgeschlagen hat, eingebaut sind (Error 56 kommt nicht mehr).
Was ich am Hauptprogramm nicht verstehe ist die Struktur der Schleifen direkt nach dem gethtml. Wenn ich mir das so ansehe, hast Du zwei geschachtelte While-Schleifen, die innere mit einer Zykluszeit von 30s, die äußere mit 3min. Beide terminieren aber so wie ich das sehe nur dann, wenn der jeweilige Boolean auf true geht, was aber meiner Meinung nach nur durch einen Benutzereingriff auf dem Front-Panel funktioniert => Dauerläufer.
Was soll eigentlich mit den Daten, die abgefragt werden dann innerhalb der while-Schleife geschehen? (so wird ein immer größeres Array draus mit immer identischen Daten)
Wenn Du die Daten periodisch ins Array schreiben willst, solltest Du die beiden inneren while-Schleifen entfernen und statt dessen die Arrays über shift Register zurück koppeln.
Kannst Du vielleicht zum Verständis auch die alte Version hochladen?
lynx
06.01.2007, 13:20 (Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2007 13:21 von Julia.)
Also, eigentlich sollen die Daten alle 30 Sekunden in einem Array gespeichert werden. (Es müsste eigentlich jede Minute neue Werte geben) Alle 30 Minuten sollen sie dann in eine Datei gespeichert werden. Also in eine fortlaufende Datei, also immer hinten angehängt.
Das alte VI hänge ich mal an. Das funktioniert auf jeden Fall. Ich bekomme bloß die Änderungen zum Speichern nicht hin.
vorneweg: Ich habe mir Dein Programm angesehen und so abgeändert, dass es so funktionieren sollte, wie Du es dir vorgestellt hast. (Die Pfade sind Controls wegen der Übersichtlichkeit)
Das Problem bei dem neuen Programm war in der Tat, dass die While-Schleifen Dauerläufer waren.
Die Daten kannst Du alle 30min am besten so auf die Festplatte schreiben, indem Du die Daten in ein Array schreibst (jede Minute einen Wert hinten dran hängen) und in der while-Schleife selbst nur noch abfragst, ob seit dem letzten Speichern bereits wieder 30min. vergangen sind.
Das Speichern der Daten kann weiterhin mit Write to Spreadsheet File.vi erledigt werden, ich persönlich schreibe mir in solchen Fällen lieber eine neue Funktion, die das schnell und dediziert erledigt.
Das Format zum Ablegen der Files steht in der Regel auf Float mit 3 (!) Nachkommastellen, ist mir beim Durchsehen dann auch passiert, dass ich nur Nullen in den Ausgabefiles bekam
Synchronisierung auf 60s: Kann man so lösen, ich persönlich bevorzuge aber das Metronohm, das dann auf 60s Taktzeit eingestellt wird. Funktioniert genauso.
Kann es sein, dass Dein VI immer im Run Continuous Modus läuft?
Sollte man vermeiden und statt dessen eine While-Schleife nehmen, die mit einem Stop-Button terminiert wird; es wird dadurch einfacher, Arrays und Zähler am Anfang des Programms zu initialisieren.
Ich habe mal alles, was ich oben beschrieben habe, in das VI eingebaut, vielleicht hilft es Dir bei deinem Problem weiter.
gruß
Lynx
07.01.2007, 12:42 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2007 13:31 von Julia.)
vielen Dank für die Mühe, die DU Dir gemacht hast. Leider kann ich Deine Programme nicht öffnen, weil ich nur Version 7.0 habe, sie aber in Version 7.1 sind.
Kann man das irgendwie so ändern, dass auch ich es öffnen kann? Oder kannst Du Screenshots einstellen, lynx? Das wäre total nett!
Was den Run Continius Modus angeht hast Du recht, das Programm soll eigentlich immer dauerhaft laufen. Habe mir noch nie Gedanken darüber gemacht, dass sowas mit einer Schleife besser zu lösen sein könnte...
mein Fehler, habe gar nicht mehr auf die Versionen geschaut. VIs aus LabVIEW 7.1 kann man nach 7.0 exportieren, im Anhang die (jetzt hoffentlich in der richtigen Version) Vis.
Verändert habe ich space_weather_speichern.vi, neu hinzugekommen ist write_array_to_filie.vi
Zur Sicherheit hier noch ein Screenshot des Hauptprogramms, wo ich die Änderungen hineingepfuscht habe