PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Koppler mit falscher phys. Adresse , Telegramme



Lothar
08.07.08, 11:16
Hallo Forum-Nutzer

Ich habe folgende Frage:

Ich habe eine Hauptlinie (1.0) mit einem Teilnehmer (TLN 1.0.1) und einem Linienkoppler (LK 1.3.0) Der LK gehört aber eigentlich zu der Linie 1.1, der LK hat also eine falsche physikalische Adresse. in der Linie 1.1 ist ein TLN 1.1.1 und eine Schnittstelle zur Programmierung RS232 (1.1.255). Das ist ein Beispiel aus den KNX Unterlagen "Koppler", zu dem Beispiel steht geschrieben, dass es nicht möglich ist den TLN 1.0.1 von der Schnittstelle 1.1.255 über den Koppler 1.3.0 zu programmieren, dort steht aber nicht warum.

Aber ich würde gerne wissen warum.

Meiner Meinung nach müsste das klappen, weil die Schnittstelle die Telegramme an den Koppler schickt, der sieht das 1.0.1 über ihm liegt und schickt weiter, und sendet ein ACK an die Schnittstelle, somit ist die Schnittstelle zufriede und sendet nicht erneut. Der Teilnehmer 1.0.1 bekommt die Telegramme von dem Koppler und sendet ebenfalls ein ACK, somit ist auch der Koppler zufrieden und sendet nicht nochmal.

Würd mich über eine schnelle Antwort freuen, weil ich morgen eine Klausur zu dem Fach hab, und gerne wüsste, wie das mit den Telegrammen abläuft, welche werden quittiert und welche nicht, und warum.

Noch folgender Hinweis, die LTN und LK sind alle auf Standart Parametereinstellungen.

Im Anhang ist das oben beschriebene Problem grafisch dargestellt.

Ich bedanke mich schon mal im vorraus.
Danke, Lothar.

S. De Bruyne
08.07.08, 11:41
The telegrams will indeed go correctly from the interface 1.1.255 via the Coupler 1.3.0 to the device 1.0.1.
However, if the device has to answer something back to ETS, for instance contents of its memory, or its mask version, ... then it will send telegrams with destination address 1.1.255. The Coupler 1.3.0 will receive these telegrams from 1.0.1. However, as 1.1.255 is normally not on its secondary side (only 1.3.1 to 1.3.255 are normally there), the Coupler 1.3.0 will not pass the message.
So, ETS, connected to 1.1.255, can send messages to 1.0.1, but the answers from 1.0.1 will not arrive at 1.1.255 cause 1.3.0 will not pass them.

Dieter Koch
08.07.08, 12:01
The telegrams will indeed go correctly from the interface 1.1.255 via the Coupler 1.3.0 to the device 1.0.1.
However, if the device has to answer something back to ETS, for instance contents of its memory, or its mask version, ... then it will send telegrams with destination address 1.1.255. The Coupler 1.3.0 will receive these telegrams from 1.0.1. However, as 1.1.255 is normally not on its secondary side (only 1.3.1 to 1.3.255 are normally there), the Coupler 1.3.0 will not pass the message.
So, ETS, connected to 1.1.255, can send messages to 1.0.1, but the answers from 1.0.1 will not arrive at 1.1.255 cause 1.3.0 will not pass them.

Sehr gut erklärt:respekt:

Gruß
Dieter

Lothar
08.07.08, 13:33
@S. De Bruyne
Danke für die schnelle Antwort.

Allerdings habe ich dazu noch eine Frage.

Also die RS232 schickt das Telegramm, das geht durch den Koppler, der TLN 1.0.1 empfängt das, und sendet sein ACK, das ACK wird aber nicht durchgelassen und die RS232 wiederholt die Telegramme 3mal, dadruch kommt es beim Koppler zum Pufferüberlauf und der sendet ein BUSY an die RS232.
Ist das richtig so?

Noch ne Frage.

Der Koppler bestätigt die Telegramme die er weiterleitet, also bestätigt er auch der RS232 das er die Telegramme weiterleitet, diese Bestätigung ist aber kein ACK also die RS232 wird trotzdem die Telegramme bis zu 3 mal wiederholen?

Und noch ne Frage.

Findet vor dem senden von Telegrammen, ein Verbindungsaufbau statt, wie im Netzwerk ein 3-Way-Hand-Shake, oder werden die Telegramme direkt gesendet?

Ich entschuldige mich für die vielen neuen Fragen, aber bedanke mich schon mal im vorraus.

@Dieter Koch
Danke für den wertvollen Beitrag.


Noch mal danke für die schnelle Antwort.

Lothar

Dieter Koch
08.07.08, 13:43
Ich versuch mich mal
Wir reden hier nur über gerichtete (vom Sender zum Empfänger) Telegramme, wie beim programmieren


@S. De Bruyne
Danke für die schnelle Antwort.

Allerdings habe ich dazu noch eine Frage.

Also die RS232 schickt das Telegramm, das geht durch den Koppler, der TLN 1.0.1 empfängt das, und sendet sein ACK zurück an die ETS , das ACK wird aber nicht durchgelassen und die RS232 wiederholt die Telegramme 3mal, dadruch kommt es beim Koppler zum Pufferüberlauf und der sendet ein BUSY an die RS232. In der Regel werden nur GrpAdr 3x wiederholt und erzeigen ein Busy.
Ist das richtig so? teils teils


Und noch ne Frage.

Findet vor dem senden von Telegrammen, ein Verbindungsaufbau statt, wie im Netzwerk ein 3-Way-Hand-Shake, oder werden die Telegramme direkt gesendet?
Ja. Es wird zuerst abgefragt, ob der Teilnehmer da ist. Wenn er antwortet wird eine Transportverbindung aufgebaut. Danach wird das Applikationsprogramm übertragen. Jetzt wird die Transportverbindung wieder abgebaut und das Endgerät startet neu

Lothar
08.07.08, 14:00
Aaah Okay,

vielen vielen Dank, das macht einiges klarer.

Ja das es sich um Programmiertelegramme handelt, hab ich leider nicht erwähnt, tut mir leid.

Also das es, wie im Beispiel im ersten Beitrag, nicht funktioniert, den Teilnehmer zu laden, liegt daran das keine Verbindung aufgebaut werden kann?

Ich denke die Frage kann ich ja jetzt selbst mit "ja" beantworten.

@Dieter Koch
Wie kommt man an dieses Wissen, die KNX Unterlagen die einem im Kombikurs bzw. im Aufbaukurs (da hab ich nur die Koppler und Flags Unterlagen) ausgeteilt werden, gehen ja leider nicht so detailiert auf die Verbindung ein. Und in dem Buch von Rainer Scherg steht auch nichts darüber.
Können Sie ein Buch empfehlen?

Also noch mal Danke, mir ist auf einen Schlag vieles klar geworden.

MfG Lothar

Dieter Koch
08.07.08, 14:40
Hallo Lothar,

ein Buch direkt empfehlen kann ich nicht.

Das Wissen hat sich im Laufe der letzten 12 Jahre angesammelt. Wir hatten/haben ja auch ähnliche Probleme.

Meinletzter Satz unter jedem Beitrag kommt nicht von ungefähr.


Gruß
Dieter

S. De Bruyne
08.07.08, 15:40
Also die RS232 schickt das Telegramm, das geht durch den Koppler

The Coupler firstly receives the telegram from the RS232 interface 1.1.255. It will on its primary side forward the telegram on the main line, but also send an acknowledge to 1.1.255. So, 1.1.255 receives the Link Layer Acknowledge (ack) from 1.3.0 and not from 1.0.1.
Now, 1.3.0 is responsible for the further communication. 1.0.1 receives the frame and sends an acknowledge. 1.3.0 receives this acknowledge and now knows that it has successfully forwarded the frame. There stops the work of 1.3.0; 1.3.0 does not send any further acknowledge to 1.1.255, or, in other words, a acknowledge is something that only happens between a sender and a receiver in one segment; this receiver may be a Coupler (like 1.3.0), but an acknowledge never passes Couplers or Repeaters.


der TLN 1.0.1 empfängt das, und sendet sein ACK, das ACK wird aber nicht durchgelassen und die RS232 wiederholt die Telegramme 3mal, dadruch kommt es beim Koppler zum Pufferüberlauf und der sendet ein BUSY an die RS232.
Ist das richtig so?

No, see above: the Coupler 1.3.0 has already sent an acknowledge to 1.1.255.
Moreover, BUSY has nothing to do with repetitions. It only means that the device has no means to process a telegram, typically because it is accessing is memory. The Coupler will not send BUSY because of 3 simple repetitions: it is more performant than that...


Der Koppler bestätigt die Telegramme die er weiterleitet, also bestätigt er auch der RS232 das er die Telegramme weiterleitet, diese Bestätigung ist aber kein ACK also die RS232 wird trotzdem die Telegramme bis zu 3 mal wiederholen?
Diese Bestätigung ist schon ein "ACK". Korrekt: eine Data Link Layer Acknowledge oder Layer-2 acknowledge. Davon gibt es 4 Typen: ACK, NACK, BUSY und .... überhaupt nichts.
Moglicherweise sind Sie verwirrt mit Layer-4 (Transport Layer) Bestätigungen. Das sind kleine Telegramme, aber mit volle Quell- und Zieladdresse, die durch die Koppler gehen.


,Findet vor dem senden von Telegrammen, ein Verbindungsaufbau statt, wie im Netzwerk ein 3-Way-Hand-Shake, oder werden die Telegramme direkt gesendet?
Bevor ETS ein Gerät programmiert wird es tatwirklich eine Verbindung aufbauen. Das ist eine Transport Layer Verbindung bei dem jedes Telegram nochmals - neben den Layer-2 acknowledge - eine zusätsliche Transport Layer Bestätigung erhält. Diese Verbindungen haben auch einen Time-out, Sequencing, ...

Lothar
08.07.08, 22:14
Das mit den verschiedenen Layer-Bestätigungen, hab ich gar nicht gewusst, das stand niergendwo in den Unterlagen.

Also noch mal zum wiederholen.

Diese Layer-2 Bestätigungen (Quittung) (ACK, NACK, BUSY, ,)sind Bestätigungen für den normalen Telegramm-Verkehr.
Schickt ein Sensor ein Telegramm an einen Aktor, sendet der Aktor eine Quittung. Ist dazwischen ein Koppler, sendet der Koppler diese Quittung und die Quittung die vom Aktor kommt, nimmt der Koppler an. Aber diese Quittungen werden nicht weitergeleitet.

So und diese Layer-4 Bestätigungen sind im Grunde kleine Telegramme mit Quelladresse und Zieladresse, und kommen beim Verbindungsaufbau zum Einsatz. Und weil die eine Quell- und Zieladresse besitzen können sie auch durch den Koppler gefiltet werden, bzw. weitergeleitet werden. Aber die sind nur beim Verbindungsaufbau notwendig.

Und ein Verbindungsaufbau wird nur zum Programmieren verwendet, bei normalem Telegramm versand ist kein Verbindungsaufbau notwendig.

So ich hoffe ich habs verstanden.

Und noch mal Danke das mir hier alle Fragen beantwortet werden, ich hoffe ich nerv niemanden damit, aber ich beschäftige mich erst seit April damit, und die KNX Unterlagen gehen auf dieses Thema so gut wie gar nicht ein.

Also noch mal vielen Dank an Sie beide.

MfG Lothar