Abgeschickt von Andre Ruff am 30 Mai, 2003 um 08:11:50
Antwort auf: Re: Rückmeldungen abfragen mit Interface von Robert Sturzenegger am 29 Mai, 2003 um 15:08:08:
Hallo Robert,
: Bei dem steht nicht, ob es das Selectrix Interface verwendet. Es geht hier nicht um einen
Ja, macht es.
Hast Du Dir hier auf der Seite mal die Internals
angeschaut oder den Artikel "Warum SelecTrix"
Einer der entscheidenden Unterschiede zwischen SelecTrix und anderen Systemen ist der verwendetet Bus.
Der SX Bus ist ein syncroner Industrie-Bus. Innerhalb eines SX Bus Strang werden lediglich 128 byte behandelt. Diese 128 byte representieren den gesamten Inhalt aller Adressen und damit den Zustand aller am Bus beteiligten Systeme.
Jede SelecTrix Zentrale wiederholt diese 128 byte
Information mit einem Takt von 80 ms auf dem Bus. Das heisst, jedes beteiligte Gerät (Decoder, Interface) hat alle 80 ms den aktuellen Zustand des gesamten Bus-Systems zur Verfügung. 13 mal die Sekunde kann jedes angeschlossene Gerät seinen Zustand wechseln.
Du fragst über dein Interface nicht die Zentrale nach eine Information ab sondern das Interface selbst da es in einem Buffer genau diese 128 byte Information bereithält. Hier mag es Unterschiede in den einzelnen Interfacetypen geben denn je nach Intelligenz des Interface braucht das Interface länger Dir die erwartete Information aus dem 128 byte Buffer auszulesen.
Wenn Du die oben beschriebenen Werte mal durchrechnest wird Dir auffallen das das MTTM Interface in der Lage ist Dir die gesamte Information des Bus in annähernd der gleichen Zeit zu liefern wie der Bus selbst.
Die Problematik liegt aber auch hier in der asyncronität des seriellen Interface.
Ideal wäre eine Abfrage des gesamten Bus im entsprechenden Takt.
Oder eben event gesteuert wie bei MÜT. Allerdings wird es auch hier eine Differenz zwischen dem Auftreten des event und dem Senden über seriell geben. Denn auch hier muss das Interface ja erst mal umsetzen usw.
Allerdings kann ich bei MÜT keine Differenz zwischen Descriptor und Information erkennen.
Deine 10 ms wird also möglicherweise die Zeit sein die dein Interface benötigt Dir die Information auszulesen.
Spannend wird das ja erst wenn Du mehrere Informationen hintereinander abfragst. Erst dann benötigst Du die Menge (baud). Sollte es also nur zu 10 ms Verzögerung zwischen Anfrage und Antwort liegen unabhängig der Menge der angefragten Information?
Ideal wäre also wenn Dir das Interface einfach immer wieder die 128 byte rübersenden würde.
Diese 128 byte packst Du dann in ein array (3D wenn Du mehrere Busse hast)und machst lediglich eine Abfrage auf dein array.
Du wirst allerdings bemerken wie schwierig es einem PC System fällt diese einfache Aufgabe zu erledigen (auch der PC ist durch und durch asyncron)
Wie hast Du diese Zeitdifferenz gemessen?
Kann es am verwendeten Messverfahren liegen?
Gruß
Andre
: Hallo Andre
: Danke für die Antwort!
: : schau doch mal auf diese Seite unter Produkte MTTM :-)
: Ich habe dort schon nachgeschaut. Ws ich dort finde, ist ein angeblich superschnelles Interface, wobei ausser der Baudrate (die tatsächlich sehr schnell ist) keine Spezifikation zu finden ist. Nur nützt mir eine schnelle Baudrate nichts, wenn das Interface mit einer grossen Verzögerung antwortet. Ich bräuchte eine Angabe über die Zeit, die verstreicht, bis das Interface auf einen Rückmeldebefehl antwortet.
: : Wobei ich das Verhalten deines Interface so nicht bestätigen kann. Ich verwende das alte SellecTrix Interface zwar nur als zusätzliches Interface auf einem SX1 Bus um damit eine PC Vernetzung über den SelecTrix Bus zu ralsieren aber das geschilderte Phänomen tritt so nicht auf.
: Wie schnell antwortet denn dein Interface auf eine Anfrage?
: : Versuche es doch mal mit einem seriellen Monitor
: wie z.B. http://www.hhdsoftware.com/sermon.html
: Dieser Monitor kann auch nichts daran ändern, wenn das Interface träge ist.
: : oder mit einem der SelecTrix Bus Monitore wie www.deserno-bahn.de
: DeRail arbeitet nicht mit dem Selectrix-Interface, sondern mit der Müt Zentrale, welche ein anderes Rückmelde-Konzept hat (keine Abfrage, sondern selbst-initiierte Rückmeldung der Veränderungen). Dies könnte für mich eine Alternative sein (nicht DeRail, sondern die Müt Zentrale).
: : oder www.uwe-magnus.de unter Software. Vieleicht hilft Dir das ja dabei den Fehler zu lokalisieren.
: Bei dem steht nicht, ob es das Selectrix Interface verwendet. Es geht hier nicht um einen Fehler. Mein Interface arbeitet korrekt, nur einfach nicht so schnell wie erwartet. Es geht auch nicht um den Selectrix Bus, sondern darum wie prompt eine bestimmte Information, die ich vom Selectrix-Bus abgeholt hätte, an meinen Computer gesendet wird. Eigentlich würde mir eine Bausrate von 9600 Baus schon reichen, aber eben die Zeit bis das Interface eine Antwort nach einer Anfrage schickt, müsste kürzer sein.
: Guss
: Robert Sturzenegger