Zitat von Thaddel
Beitrag anzeigen
, insofern nein, aber es waren nie die Logiken, die das Problem machten, die waren nur die "Leidtragenden"
.Als der Text geschrieben wurde, hatten wir vom knx-Stack ganz enge Zeitvorgaben, wie oft der KNX-Bus abgefragt werden musste, damit keine Telegramme verloren gehen (Polling), spätestens alle 7ms, wir hatten uns intern auf <5ms geeinigt. An sich ist das eine lange Zeit und vollkommen unproblematisch. Nun hat weitere Hardware potentiell auch Timing-Ansprüche und braucht für deren Abfrage auch Zeit. Das kann sich in Summe aufschaukeln und zu längeren Zeiten führen, in den dann der KNX-Bus nicht abgefragt wird. Bevor so was passiert, versuchen wir, dass bestimmte nicht zeitkritische Programmteile - dazu zählt die Logik - mal ein paar Zyklen nicht auszuführen, um Zeit zu sparen und so den KNX-Stack im korrekten Zeitfenster abzufragen.
Ich denke es ist offensichtlich, dass es länger dauert, einen Finger-Scan abzufragen als ein einfaches Touch-Signal (und für wen es nicht offensichtlich ist: Es ist so). Also hatte ich damals gemessen, ob "fortlaufende Abfrage" eine Auswirkung hat. Ich habe festgestellt, dass im Betrieb ab und zu (so alle 2-3 Minuten) die Antwortzeit von dem getesteten Logikkanal statt 80ms-200ms dann 300ms-400ms ist. Das ist in vielen Fällen nicht zu merken, es ist sporadisch selten und in Allgemeinen nicht kritisch. Aber es ist - punktuell - deutlich langsamer als der Normalfall und ich habe es deswegen hingeschrieben.
Inzwischen ist die Kommunikation mit dem KNX-Bus komplett neu geschrieben (danke traxanos), wir brauchen kein Polling sondern nutzen Interrupts und DMA, wenn mal eine interne Abfrage etwas länger braucht, gehen keine KNX Telegramme mehr verloren, die Timinganforderungen sind wesentlich entspannter (auch nach 1000ms waren in Tests noch alle Telegramme da). Insofern ist das, was ich damals geschrieben habe, inzwischen veraltet.
Zitat von Thaddel
Beitrag anzeigen
Gruß, Waldemar


Einen Kommentar schreiben: