(14.03.2011 11:33 )schuch schrieb: Meinst du ein virtuelles Oszilloskop aus der Bibliothek oder ein richtiges Speicheroszilloskop, das ich an die Leitungen klemme?
Ein richtiges Oszilloskop an die Leitungen anschließen ...
Zitat:Bei den Erläuterungen zu RS485 habe ich verschiedene Varianten gefunden, bei denen zwischen RS485, RS485/2 und RS485/4 unterschieden wurde.
Da tippe ich mal auf folgendes: RS485/2 ist eine Zwei-Draht-Verbindung, RS485/4 eine Vier-Draht-Verbindung (und die hieß früher mal RS422). Was hast du den für eine Verbindung? Eine Zwei-Draht oder eine Vier-Draht? Guckst du auch
hier
Zitat:Hochohmig heißt ja bei RS485 nichts weiter als das eine null anliegt.
Nein.
Hochohmig heißt, dass weder eine Null noch eine Eins anliegt. Es liegt also gar keine Spannung an. Man kann auch Tristate sagen.
Wenn der Sender sendet, egal ob eine Null oder eine Eins, liegt immer Spannung zwischen den zwei Drähten an. Ist der Sender mit senden fertig, muss er die Spannung wegnehmen. Würden zwei Sender Spannung auf die Leitungen geben (also senden), würde es zu einem Kurzschluss kommen ...
Aus deinem ersten Eintrag hier schließe ich folgendes:
Der FU macht alles richtig. Solange er nicht sendet, hält er die Zwei-Draht-Leitung von sich aus auf hochohmig. Daher kann der PC senden und der FU empfängt den Frame. Jetzt möchte der FU gerne antworten, tut dies wahrscheinlich auch - nur: der PC hält die Leitung weiterhin unter Spannung, sodass das Datenpaket des FU kaputt geht.
Zitat:Wenn also mein PC nicht sendet, sollte doch der Ausgang automatisch den hochohmigen Wert annehmen
Das würde ein expliziter RS485-Treiber bestimmt auch machen. Von selbst allerdings geht das nicht.
Zitat:Wenn also nach dem gesendeten Frame eine Pause von mehr als 500ms (wurde als timeout-Zeit gewählt) eintritt, müsste der FU auf den Frame antworten.
Ich gehe davon aus, dass der FU möglicherweise bereits nach 10ms auf das Datenpaket vom PC antwortet. Oder anders ausgedrückt: Die Antwort des FU sollte innerhalb dieser 500ms am PC ankommen.
Du solltest folgendes zuerst verifizieren: Hast du eine 2-Draht- oder eine 4-Draht-Verbindung? Je nach dem tritt ein anderer Fehler auf. Den von mir beschriebene Effekt gibt es nur bei RS485 (RS485/2)