haperiebmann Geschrieben June 23, 2021 at 09:54 Geschrieben June 23, 2021 at 09:54 Hallo, ich habe ein relativ komplexes System am Laufen bestehend aus DCBrick -> Master -> StepperBrick -> SilentStepperBlrick, dazu noch zwei PerformanceDC Bricklet, zwei Load Cell, ein IO16 und zwei RelaisBricklet. Das funktioniert grundsätzlich sehr gut, heute jedoch wirft er mir ständig eine TimeoutException mit ID -1. Immer an unterschiedlichen Systemen, einmal an den Load Cells, dann am Stepper. Was Wofür steht denn die ID -1? VG Michael Zitieren
photron Geschrieben June 23, 2021 at 11:37 Geschrieben June 23, 2021 at 11:37 Ich rate mal und sage du meinst diese Meldung: Exception in thread "main" com.tinkerforge.TimeoutException: Did not receive response in time for function ID -1 Die -1 ist ein falsch dargestelltes Byte und soll 255 sein. Das ist ein Darstellungs-Bug in den Java Bindings. Wird behoben. auf Dauer zeigen wir da vermutlich einfach den Funktionsnamen und nicht die ID an. 255 ist die Funktions ID für die getIdentity Funktion. Die Bindings rufen beim ersten Aufruf den dein Programm macht intern getIdentity auf, um zu prüfen ob der Brick/Bricklet vom Typ her zur Bindings Klasse passt, die du instanziiert hast. Das gibt dir da keine weitere Information, du läufst da einfach in einen Timeout rein, sprich die Kommunikation ist gestört, oder du versuchst Bricks/Brciklets anzusprechen die nicht angeschlossen sind. Taucht der Stapel sauber in Brick Viewer auf? Hast du vielleicht einfach den Stapel nicht ordentlich zusammengesteckt? Ist der Stapel nicht verschraubt und hat einen Stoß bekommen? Zitieren
haperiebmann Geschrieben June 23, 2021 at 17:11 Autor Geschrieben June 23, 2021 at 17:11 Hi, das erscheint plausibel, der Stack ist fest verschraubt und hat keinen stoß bekommen, es taucht auch alles sauber im Viewer auf. Allerdings läuft das Programm auf einem Raspberry und wird mit dem Bootvorgang nach einem Delay gestartet. Vielleicht muss sich da manchmal der USB noch sortieren. Wir haben jetzt allerdings auch festgestellt dass der Stepper Brick ohne Last sehr heiß wird und mittlerweile scheint der defekt zu sein, er gibt zwar an ein Signal zu liefern, der Motor tut allerdings keinen Mucks mehr. Kann es sein dass das mit rein spielt? Die Software ist übrigens in Kotlin mit Java Bindings, die Fehlermeldung ist korrekt :-D Zitieren
photron Geschrieben June 24, 2021 at 11:43 Geschrieben June 24, 2021 at 11:43 Dann bau mal testweise den defekten Stepper Brick aus, um zu sehen ob der das Timeout Problem auslöst. Zitieren
MBOB Geschrieben June 25, 2021 at 10:01 Geschrieben June 25, 2021 at 10:01 Meine Fehlermeldung lautet ähnlich: "Mikro-Schalter Did not receive response in time for function ID 1" Ich arbeite mit VB.NET. Helfen kann ich mir nur mit Strom aus und Strom ein bei den Bricklets. Fehler tritt nicht ständig auf; aber oft! Bricks und Bricklets sind fest verschraubt und hängen auf der Hutschiene! Wo kann ich ansetzen? Zitieren
photron Geschrieben June 25, 2021 at 10:20 Geschrieben June 25, 2021 at 10:20 @MBOBHast du ab und zu Timeouts, oder treten den Timeouts ab einem gewissen Zeitpunkt durchgehend auf und es funktioniert dadurch nichts mehr bis du den Aufbau from Strom trennst? Zitieren
MBOB Geschrieben June 25, 2021 at 10:43 Geschrieben June 25, 2021 at 10:43 Ich habe ab und zu Timeouts! Zitieren
MBOB Geschrieben July 28, 2021 at 09:10 Geschrieben July 28, 2021 at 09:10 Ich habe doch ab einem gewissen Zeitpunkt durchgehend diese Timeoutfehlermeldung und nur mit Strom abschalten und Pause geht es dann wieder für einige Zeit; dann gleiches Problem wieder! Hilfe! Zitieren
MBOB Geschrieben July 29, 2021 at 13:52 Geschrieben July 29, 2021 at 13:52 Fehlermeldung ---------------ANFANG----------- System.IndexOutOfRangeException HResult=0x80131508 Message=Der Index war außerhalb des Arraybereichs. Source=Tinkerforge StackTrace: at Tinkerforge.IPConnection.HandleResponse(Byte[] packet) at Tinkerforge.IPConnection.ReceiveLoop(Int64 localSocketID) at Tinkerforge.IPConnection.<ConnectUnlocked>m__2() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() ____________ENDE_____________________ Zitieren
photron Geschrieben July 29, 2021 at 14:30 Geschrieben July 29, 2021 at 14:30 Der Fehler kommt daher, dass die Bindings eine beschädigte Antwort empfangen haben. Es steht noch auf der TODO Liste diesen Fehler besser zu behandeln. Das ist aber kein Bug in den Bindings, sondern die Antwort wurde vom Brick(let) entweder schon beschädigt losgeschickt, oder ist auf dem Weg beschädigt worden. Wie ist dein Stack angeschlossen? USB, WLAN oder Ethernet? Ist ein RED Brick involviert? Wie sehen die Fehlerzähler im Brick Viewer Health Monitor aus? Im besten Fall sind alle 0, oder ändern sich zumindest nicht. Falls diese durchgängig steigen dann ist deine Bricklet Kommunikation durch die Umgebung gestört. Die Kommunikation kann ein gewisses Level an Störung kompensieren, ab einem bestimmten Level greift das aber nicht mehr und beschädigte Antworten kommen durch. Zitieren
MBOB Geschrieben July 29, 2021 at 17:09 Geschrieben July 29, 2021 at 17:09 Anschluss über PoE Fehler taucht bei diesem CodeBefehl auf: Tinkerforge.BrickletAnalogInV3.SetVoltageCallbackConfiguration(100, False, "x"c, 2500, 3500) Den Brickviewer kenne ich! Wo finde ich den BrickViewer Health Monitor? Zitieren
MBOB Geschrieben July 29, 2021 at 17:22 Geschrieben July 29, 2021 at 17:22 Health Monitor im BrickViewer habe ich gefunden! KEIN Red Brick Zitieren
MBOB Geschrieben July 29, 2021 at 17:39 Geschrieben July 29, 2021 at 17:39 Anbei die Fehler des BrickletAnalogInV3 gut sichtbar Was kann ich tun? mbob_brickv_health_report_2021-07-29_19-33-00.csv Zitieren
photron Geschrieben July 30, 2021 at 08:59 Geschrieben July 30, 2021 at 08:59 Frage ist jetzt was ist am Analog In Bricklet anders als mit den anderen Bricklets. Hast du das abgesetzt vom Stapel an einem langen Bricklet Kabel? Was misst du mit dem Analog In Bricklet? Hast du vielleicht die Schrittmotorkabel parallel zum Analog In Bricklet Kabel verlegt? Die Vermutung ist, dass du dort elektromagnetische Störungen einfängst, die dann die Kommunikation mit dem Bricklet stören. Beobachte mal im Betrieb mit dem Health Monitor die Fehlerzähler. Gibt es bestimmte Situation in denen diese steigen? Zum Beispiel, wenn die Schrittmotoren laufen? 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.