RS485 Bricklet

Features

  • Unterstützt low-level RS485 sowie Modbus RTU Master/Slave
  • Modbus RTU Implementierung Standardkonform für alle Read/Write Funktionen von Coils und Registern
  • Unterstützt Halb- und Voll-Duplex
  • Konfigurierbare Baudrate, Parität, Stoppbits und Wortlänge
  • Schaltbare 120 Ohm Terminierung

Beschreibung

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:

  • RS485,
  • Modbus RTU Master und
  • Modbus RTU Slave.

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 RS485 Bricklet hat einen 7 Pol Bricklet Stecker und wird mit einem 7p-10p Bricklet Kabel mit einem Brick verbunden.

Technische Spezifikation

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

Ressourcen

Anschlussmöglichkeiten

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.

RS485 Bricklet Verbindungsmöglichkeiten

Duplex und Terminierung

Mit dem DIP-Schalter 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.

RS485 Bricklet DIP-Schalter Einstellungen

Eine Legende mit den unterschiedlichen Konfigurationsmöglichkeiten befindet sich auch auf der Unterseite des Bricklets.

Modbus RTU Funktionen

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.

  1. Der Modbus Master liest 4 Register mit Startadresse 2 vom Modbus Slave mit Adresse 8.
  2. Dazu registriert der Master den modbus_master_read_holding_registers_response Callback, welcher ausgeführt wird, wenn der Slave auf eine Anfrage des Masters antwortet. Das Bricklet welches im Slave-Modus operiert muss sich auf den modbus_slave_read_holding_registers_request registrieren. Dieser wird bei Empfangen einer Anfrage aufgerufen.
  3. Der Master ruf die Funktion modbus_master_read_holding_registers auf. Die Parameter der Funktion bestehen aus einer Slave-Adresse, einer Register Startadresse und der Anzahl der zu lesenden Register. Diese Funktion sendet die Anfrage auf dem Bus.
  4. Auf der Slave-Seite wird der registrierte Callback aufgerufen, die Parameter zeigen, dass der Master 4 Register mit Startadresse 2 lesen möchte.
  5. Der Slave ruft die Funktion modbus_slave_answer_read_holding_registers_request mit den angeforderten Daten auf, diese sendet die Antwort auf dem Bus.
  6. Nach Empfang der Antwort wird beim Master der Callback modbus_master_read_holding_registers_response aufgerufen mit den angeforderten Daten aufgerufen.

Für Details dieser Funktionen siehe programming interface.

Alle Verfügbaren Modbus Funktionen können auch über den Brick Viewer ausprobiert werden:

RS485 Bricklet im Brick Viewer

Erster Test

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 RR und TX Pin mit einem kleinen Kabel, damit das Bricklet seine eigene Ausgabe zurück ließt.

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. 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 auftauchen.

RS485 Bricklet im Brick Viewer

Nun kann ein eigenes Programm geschrieben werden. Der Abschnitt Programmierschnittstelle listet die API des RS485 Bricklet und Beispiele in verschiedenen Programmiersprachen auf.

Gehäuse

Ein laser-geschnittenes Gehäuse für das RS485 Bricklet ist verfügbar.

Gehäuse für RS485 Bricklet

Der Aufbau ist am einfachsten wenn die folgenden Schritte befolgt werden:

  • Schraube Abstandshalter an das Bricklet,
  • schraube Unterteil an untere Abstandshalter,
  • baue Seitenteile auf,
  • stecke zusammengebaute Seitenteile in Unterteil und
  • schraube Oberteil auf obere Abstandshalter.

Im Folgenden befindet sich eine Explosionszeichnung des RS485 Bricklet Gehäuses:

Explosionszeichnung für RS485 Bricklet

Hinweis: Auf beiden Seiten der Platten ist eine Schutzfolie, diese muss vor dem Zusammenbau entfernt werden.

Programmierschnittstelle

Siehe Programmierschnittstelle für eine detaillierte Beschreibung.

Sprache API Beispiele Installation
C/C++ API Beispiele Installation
C# API Beispiele Installation
Delphi/Lazarus API Beispiele Installation
Java API Beispiele Installation
JavaScript API Beispiele Installation
LabVIEW API Beispiele Installation
Mathematica API Beispiele Installation
MATLAB/Octave API Beispiele Installation
Perl API Beispiele Installation
PHP API Beispiele Installation
Python API Beispiele Installation
Ruby API Beispiele Installation
Shell API Beispiele Installation
Visual Basic .NET API Beispiele Installation
TCP/IP API    
Modbus API