Plenz Geschrieben January 12, 2017 at 21:53 Geschrieben January 12, 2017 at 21:53 Ich programmiere den Analog IN 2.0 unter VB. Weil ich mein Projekt längere Zeit laufen lassen möchte, ohne meine aktuelle Hardware zu belegen, habe ich dafür ein altes verstaubtes Notebook mit WinXP wieder ausgegraben. Leider ist es extrem langsam, und beim Auslesen der Spannung erscheint "TimeoutException wurde nicht behandelt". Kann ich das irgendwie mit SetResponseExpected() übergehen? Zitieren
photron Geschrieben January 13, 2017 at 11:09 Geschrieben January 13, 2017 at 11:09 TimeoutException heißt, dass innerhalb des eingestellten Timeouts (standardmäßig 2,5 Sekunden) keine Antwort vom Bricklet angekommen ist. Du kannst den Timeout mit IPConnection.SetTimeout(5000) z.B. auf 5 Sekunden setzen. Alternativ verwendest du einfach die falsche UID für das Bricklet und erhältst deswegen keine Antwort? Zitieren
Plenz Geschrieben January 13, 2017 at 19:51 Autor Geschrieben January 13, 2017 at 19:51 Danke für die Antwort. Nein, die UID war schon korrekt, das Programm lief ja bereits auf einem schnelleren Notebook unter Win10. Was mich wundert: dass dieser Fehler bei dem Befehl getVoltage() auftrat und nicht schon früher, denn vorher wird noch ein IO20 initialisiert. Seltsamerweise funktioniert es jetzt plötzlich auch auf dem langsamen Notebook ohne Änderung der Timeout-Zeit. Allerdings gab es falsche Messungen. Erst nach Verdoppeln einer Wartezeit wurden korrekte Werte gemessen. Zur Erklärung: ich will die Spannungen von Akkus messen, während ich sie entlade, um die Kapazität zu berechnen. Die Pluspole der Akkus werden nacheinander über CD4066 an den Messeingang gelegt, dann wird kurz gewartet (bisher 25 ms, jetzt 50 ms) und dann gemessen. Naja, nur für die Chronik, die Sache funktioniert jedenfalls jetzt. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.