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.




LinkBack URL
About LinkBacks




Zitieren
Lesezeichen