+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Umschaltung Senden / Empfangen bei ModBus

  1. #1
    Avatar von kalledom
    kalledom ist offline Boardinventar Lasteinschalter
    Registriert seit
    11.05.2007
    Ort
    Euskirchen-Großbüllesheim
    Beiträge
    2.659

    Standard Umschaltung Senden / Empfangen bei ModBus

    Hallo,
    als Brandschutzklappen-Steuerung und -Überwachung habe ich Hardware und Software (in Assembler) für einen PIC16F877 entwickelt, die als Slave über eine RS485 2-Draht Schnittstelle an ModBus angebunden wird: Abbildungen hier.

    Auf der unteren Platine ist ein MAX232 für eine RS232 Schnittstelle und ein SN75176 für eine RS485 Schnittstelle mit Jumper zur Auswahl des Rx-Ausgangs.
    Mit dem Programm ModScan läuft die Software über RS232 perfekt. Es kann alles abgefragt und gesteuert werden.

    Über RS485 läuft es nicht so gut, weil mir die Zeitpunkte der Umschaltung zum Senden bzw. Zurückschalten auf Empfang unbekannt sind. Es gehen Bits verloren oder werden verschoben ???

    Nach Empfang des letzten Bytes (CRC) sollen laut ModBus-Protokoll 3,5 Byte Wartezeit vergehen. In anderen Beschreibungen finde ich Werte von maximal 4 ms als TimeOut-Zeit bei 9600 Baud, denen man nicht zu nahe
    kommen sollte, wieder andere schreiben von 10...100ms.
    Zu welchem Zeitpunkt schaltet der Master, in diesem Fall der PC über RS232 mit einem Converter (IC485IP-1) RS232 <--> RS485, mit dem RTS-Signal den Baustein in dem Converter den Sender aus / Empfang ein bzw. wann darf oder muß ich meinen SN75176 auf Senden umschalten ?
    Die gleiche Frage für die umgekehrte Richtung.
    Zum besseren Verständnis im Anhang ein Diagramm dazu.

    Mittlerweile kenne ich sehr viele Bedienungsanleitungen von Geräten, die an den ModBus angeschlossen werden können. :-(
    Niemand beschreibt für das Antworten den Zeitpunkt zum Umschalten von Empfang auf Senden und umgekehrt.
    Viellecht kennt sich in diesem Forum jemand mit ModBus aus.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Umschaltung Senden / Empfangen bei ModBus-modbusdia_1.gif  
    MfG Karl-Heinz
    HobbyElektronik mehr....

  2. #2
    PatBonner ist offline Gesperrt Lasteinschalter
    Registriert seit
    14.02.2006
    Beiträge
    2.400
    Blog-Einträge
    1

    Standard AW: Umschaltung Senden / Empfangen bei ModBus

    Kann es sein dass dir der PC interne FIFO Puffer der RS232 Schnittstelle einen Streich spielt ?

    Bringt es etwas, wenn du den im Gerätemanager deaktivierst ?
    Der FIFO hat enormen Einfluss auf das Timing Verhalten.


    Grüsse
    Paddy
    Geändert von PatBonner (20.09.2007 um 15:03 Uhr)

  3. #3
    Avatar von kalledom
    kalledom ist offline Boardinventar Lasteinschalter
    Registriert seit
    11.05.2007
    Ort
    Euskirchen-Großbüllesheim
    Beiträge
    2.659

    Standard AW: Umschaltung Senden / Empfangen bei ModBus

    Hallo Paddy,
    als RS232, also ohne Converter, funktioniert alles einwandfrei.
    Bei dem RS485-Converter wird über RTS (Request To Send) der Sender geschaltet und über DCE oder DTE (kann am Converter umgeschaltet werden) der Empfänger, da der ja nicht die vom Master gesendeten Daten als Echo empfangen soll.
    Das funktioniert alles, zu erkennen an einem Schnittstellen-Tester mit 9 roten und 9 grünen LEDs.

    Es besteht jedoch folgendes Problem:
    wenn der Master eine Anforderung gesendet hat, muß er seinen Sender abschalten, weil ja der Slave für die Antwort den Sender einschalten muß. Beide zusammen ein wäre schlecht (Kurzschluß).

    Beide auf Empfang ist auch nicht so gut, wenn keine Abschlußwiderstände da sind (habe ich noch keine dran), weil es dann zu einem undefinierten Zustand auf der Datenleitung kommt.
    Also muß ich wissen, wann der Master seinen Sender abschaltet, damit der Slave seine Antwort senden kann.
    Wenn ich dann sehe, daß für kurze Zeit beide auf Empfang sind, muß ich noch mit Widerständen 'hantieren'.

    Aus diesen Grünen denke ich weniger, daß das Fifo Ärger macht, weil das ja nur dafür gedacht ist, empfangene Daten zu retten, wenn sie nicht rechtzeitig abgeholt werden, damit nichts verloren geht. Bei 9.600 Baud habe ich da überhaupt keine Bedenken, bei 100.000 Baud würde ich mir Gedanken machen.
    MfG Karl-Heinz
    HobbyElektronik mehr....

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. umschaltung horizontal/vertikal nicht möglich
    Von jpfuhl2002 im Forum Antennentechnik
    Antworten: 3
    Letzter Beitrag: 30.01.2007, 21:25

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein