Mit dem RS485 Bricklet können Bricks differentielle Daten über RS-485 empfangen und senden.
Es unterstützt Halb- und Voll-Duplex und hat eine konfigurierbare Terminierung.
Das Bricklet hat drei Modi:
Im RS485-Modus können beliebige Daten empfangen und gesendet werden. Die Modbus-Modi sind Modbus-Standardkonform. Im Modbus-RTU-Master-Modus können beliebige Coils/Register von einem Slave gelesen und gesetzt werden. Im Modbus-RTU-Slave-Modus ist möglich Daten für Coils/Register bereitzustellen und über eine Modbus-Master Schreiboperation zu empfangen.
Das Bricklet verfügt über keine galvanische Trennung zum Tinkerforge System. Das heißt es gibt eine direkte elektrische Verbindung zwischen den Anschlussklemmen des Bricklets und dem restlichen System. Sollte dies in der jeweiligen Anwendung zu ungewollten Verbindungen, Masseschleifen oder Kurzschlüssen führen, so ist der Einsatz zusammen mit einem Isolator Bricklet ratsam.
Eigenschaft | Wert |
---|---|
Stromverbrauch | 64mW (12,8mA bei 5V, Idle) |
Baudrate | 100 - 2000000 baud |
Parität | keine / ungerade / gerade |
Stoppbits | 1 / 2 |
Wortlänge | 5 / 6 / 7 / 8 |
Duplex | halb / voll |
Abmessungen (B x T x H) | 40 x 40 x 14mm (1,57 x 1,57 x 0,55") |
Gewicht | 13g |
Im Voll-Duplex Modus müssen TX+, TX-, RX+, RX- und GND verbunden werden.
Im Halb-Duplex Modus sind TX+ / RX+ und TX- / RX- gebrückt, es reicht also entweder TX+ / TX- / GND oder RX+ / RX- / GND zu verbinden. Es ist auch möglich darüber eine Kette von Modbus Geräten zu verbinden.
Mit den DIP-Schaltern auf dem Bricklet können Duplex und Terminierung konfiguriert werden.
Es kann zwischen Voll- und Halb-Duplex gewählt werden und eine 120 Ohm Terminierung kann ein- und aus-geschaltet werden.
Eine Legende mit den unterschiedlichen Konfigurationsmöglichkeiten befindet sich auch auf der Unterseite des Bricklets.
Der gesamte Terminierungswiderstand eines einzelnen Busses muss 120 Ohm betragen. Daher wird im Halb-Duplex Modus mit Terminierung nur DIP-Schalter 1 angeschaltet und DIP-Schalter 4 bliebt aus, da ansonsten führt die TX+/RX+ und TX-/RX- Verbindung dazu das beide 120 Ohm Terminierungswiderstände parallel geschaltet wären und so der gesamte Terminierungswiderstand bei 60 Ohm liegen würde.
Im Modbus-Master/Slave-Modus können Modbus-Nachrichten gesendet und empfangen werden. Zum Beispiel kann ein Modbus-Master eine Anfrage an einen Modbus-Slave senden. Die Modbus-Funktionen basieren auf Callbacks.
Zum besseren Verständnis des generellen Konzepts beschreiben wir hier ein Szenario. In diesem Szenario sind zwei RS485-Bricklets im Bus. Eins ist im Modbus-Master-Modus und das andere ist im Modbus-Slave-Modus. Der Modbus-Master möchte 4 Register beginnend mit dem Register 400002 (also dem zweiten Holding Register) vom Modbus-Slave mit Adresse 8 lesen:
Für Details dieser Funktionen siehe Programmierschnittstelle.
Alle Verfügbaren Modbus-Funktionen können auch über den Brick Viewer ausprobiert werden:
Um ein RS485 Bricklet testen zu können, müssen zuerst Brick Daemon und Brick Viewer installiert werden. Brick Daemon arbeitet als Proxy zwischen der USB Schnittstelle der Bricks und den API Bindings. Brick Viewer kann sich mit Brick Daemon verbinden, gibt Informationen über die angeschlossenen Bricks und Bricklets aus und ermöglicht es diese zu testen.
Als nächstes muss das RS485 Bricklet mittels eines Bricklet Kabels mit einem Brick verbunden werden. Verbinde dann den RX+ mit dem TX+ Pin und den RX- mit dem TX- Pin mit jeweils einem kurzen Kabel, damit das Bricklet seine eigene Ausgabe zurück liest. Konfiguriere die DIP-Schalter auf Voll-Duplex, mit halber Terminierung (1: an, 2: aus, 3: aus, 4: aus). Dies ist eine Abweichung vom normalen Voll-Duplex Modus mit Terminierung, da das Bricklet mit sich selbst kommuniziert für diesen Test. Bei voller Terminierung wäre der gesamte Terminierungswiderstand 60 Ohm statt 120 Ohm, bedingt durch die Parallelschaltung beider verbundener Terminierungswiderstände.
Wenn der Brick per USB an den PC angeschlossen wird sollte einen Moment später im Brick Viewer ein neuer Tab namens "RS485 Bricklet" auftauchen. Wähle diesen Tab aus. Konfiguriere hier den Modus RS485 und die Duplexoption Full-Duplex und drücke den Save Configuration-Button Wenn alles wie erwartet funktioniert, kann jetzt Text in das Eingabefeld getippt und mit Enter abgeschickt werden. Der gleiche Text sollte dann im Textfeld darüber erscheinen.
Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des RS485 Bricklet und Beispiele in verschiedenen Programmiersprachen auf.
Ein laser-geschnittenes Gehäuse für das RS485 Bricklet ist verfügbar.
Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:
Im Folgenden befindet sich eine Explosionszeichnung des RS485 Bricklet Gehäuses:
Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.
Siehe Programmierschnittstelle für eine detaillierte Beschreibung.
Sprache | API | Beispiele | Installation |
---|---|---|---|
C/C++ | API | Beispiele | Installation |
C/C++ für Mikrocontroller | API | Beispiele | Installation |
C# | API | Beispiele | Installation |
Delphi/Lazarus | API | Beispiele | Installation |
Go | API | Beispiele | Installation |
Java | API | Beispiele | Installation |
JavaScript | API | Beispiele | Installation |
LabVIEW | API | Beispiele | Installation |
Mathematica | API | Beispiele | Installation |
MATLAB/Octave | API | Beispiele | Installation |
MQTT | API | Beispiele | Installation |
openHAB | API | Beispiele | Installation |
Perl | API | Beispiele | Installation |
PHP | API | Beispiele | Installation |
Python | API | Beispiele | Installation |
Ruby | API | Beispiele | Installation |
Rust | API | Beispiele | Installation |
Shell | API | Beispiele | Installation |
Visual Basic .NET | API | Beispiele | Installation |
TCP/IP | API | ||
Modbus | API |