Kommunikation mit RS232/485

Diese Dokumentation ermöglicht Ihnen einen bequemen Einstieg in die Loxone Heimautomatisierung.

 

EINSTELLUNGEN

Im Eigenschaftenfenster der RS232/RS485 Extension können die Einstellungen der RS232/RS485 Verbindung festgelegt werden:

BaudrateGeschwindigkeit der Datenübertragung in Bits pro Sekunde (Maximale Baudrate: 120.000 Bits pro Sekunde)
Anzahl Datenbits5 – 8
Anzahl Stoppbits1 – 2
ParitätKeine, Gerade, Ungerade, Immer 0, Immer 1
EndekennzeichenDie Verwendung des Endekennzeichens ist optional.
Das Endekennzeichen muss in hexadezimaler Form (z.B. 0x0A) angegeben werden.
Wird das angegebene Endekennzeichen empfangen, erkennt die RS232/RS485 Extension, dass ein Frame komplett empfangen worden ist, und sendet den Frame zum Miniserver.
Wird kein Endekennzeichen angegeben, so wird ein Timeout mit einer Dauer von 32 Bitperioden verwendet. D.h. wenn für eine Dauer von 32 Bitperioden nichts empfangen wird, erkennt die RS232/RS485 Extension, dass ein Frame komplett empfangen worden ist, und sendet den Frame zum Miniserver.
PrüfsummenverfahrenDie Verwendung des Prüfsummenverfahrens ist optional.
Es können folgende Prüfsummen verwendet werden: XOR-Byte, Summen-Byte, CRC-Byte, Modbus CRC, Fronius Prüfsumme
Beim Senden über einen RS232/RS485 Aktor wird die entsprechende Prüfsumme berechnet und in den zu sendenden Datenstrom eingefügt.
Beim Empfangen über einen RS232/RS485 Sensor funktioniert die Befehlserkennung nur, wenn die entsprechende Prüfsumme korrekt empfangen worden ist. Die Prüfsummenbytes dürfen nicht für die Befehlserkennung verwendet werden. *

* Wird das Prüfsummenverfahren  CRC Byte am Ende verwendet. Können Sie die korrekte Prüfsumme mit diesem Tool (crc-order 8, poynom 85) errechnen.

Die gesamte Kommunikation der RS232 Extension und der RS485 Extension werden über den Loxone Bus zum Miniserver transportiert. Dabei kann eine häufige Abfrage von Daten (Abfragen mehrmals pro Sekunde) zu einer Überlast des Loxone Bus führen, wodurch Befehle mitunter verzögert abgearbeitet werden. Bitte prüfen Sie bei Sensordaten stets, ob Daten tatsächlich in hoher Frequenz abgefragt werden müssen bzw. ob Abfragen mehrmals pro Sekunden sinnvoll sind.

MONITOR

Der RS232/RS485 Monitor wird im Reiter Miniserver durch Setzen des Häkchens bei „RS232/485 Monitor“ aktiviert.

Im Monitor wird jedes von der RS232/RS485 Extension empfangene Byte standardmäßig im ASCII Format angezeigt. Durch Setzen des Häkchens bei „Hex“ wird der hexadezimale Wert jedes empfangenden Bytes angezeigt.

SENSOR

Beim RS232- bzw. beim RS485 Sensor kann im Eigenschaftenfenster festgelegt werden ob der Sensor als Digitaleingang oder als Analogeingang verwendet wird, indem das Häkchen bei „Als Digitaleingang verwenden“ gesetzt wird oder nicht.

Im Eigenschaftenfenster kann unter „Befehlserkennung“ eine Zeichenfolge eingegeben werden. Der Digitaleingang gibt am Ausgang einen Puls aus, wenn in den empfangenen Daten die in der Befehlserkennung eingegebene Zeichenfolge enthalten ist. Mit dem Analogeingang können beliebige Werte aus den empfangenen Datenstrom übernommen werden.

Die eingegebenen Zeichen werden als ASCII Zeichen interpretiert.

Ein Sensor kann maximal 512 Zeichen empfangen.

Wird ein Prüfsummenverfahren verwendet, so funktioniert die Befehlserkennung nur, wenn die entsprechende Prüfsumme korrekt empfangen worden ist. Die Prüfsummenbytes dürfen nicht für die Befehlserkennung verwendet werden.

 

SONDERZEICHEN FÜR DIE BEFEHLSERKENNUNG BEI DIGITAL- U. ANALOGEINGANG

\xHexadezimal z.B. \x09 für 0x09 oder \x01\x02\x03\x04 für 0x01020304
\\\
\.Irgendein Zeichen
\wIrgendein Wort
\#Irgendeine Zahl
\tTabulator (0x09)
\bTabulator (0x09) oder Leerzeichen (0x20)
\rCarriage Return (0x0D)
\nLine Feed (0x0A)
\dIrgendeine Ziffer (0-9)
\aIrgendein Buchstabe (A-Z,a-z)
\mIrgendein Buchstabe (A-Z,a-z) oder irgendeine Ziffer (0-9)

 

SONDERZEICHEN FÜR DIE BEFEHLSERKENNUNG BEIM ANALOGEINGANG

\vAus einer ASCII Zeichenfolge wird der Wert übernommen. Die Kommastellen müssen durch einen Beistrich oder durch einen Punkt getrennt sein.
\1Der Nummerische Wert des empfangenen Bytes wird als niederwertigstes Byte (LSB) am Ausgang übernommen (Bits 0 – 7).
\2Der Nummerische Wert des empfangenen Bytes wird in die Bits 8 – 15 am Ausgang übernommen.
\3Der Nummerische Wert des empfangenen Bytes wird in die Bits 16 – 23 am Ausgang übernommen.
\4Der Nummerische Wert des empfangenen Bytes wird als höchstwertiges Byte (MSB) am Ausgang übernommen (Bits 24 – 31).

 

BEISPIELE DIGITALEINGANG

Empfangener DatenstromBefehlserkennungDigitaler Ausgang
Das ist ein TestDas ist ein TestPuls
Das ist ein TestDas ist ein test0
CMD01 OK\n\rCMD\d\d OK\n\rPuls

BEISPIELE ANALOGEINGANG

Empfangener DatenstromBefehlserkennungAnaloger Ausgang
1254\v1250
1.254\v1,254
1,254\v1,254
pm 18.5 20 19.25pm \v18,5
pm 18.5 20 19.25pm \# \v20
pm 18.5 20 19.25pm \# \# \v19,25
CMD01 \xA5CMD01 \10xA5
CMD02 \x01\x02\x03\x04CMD02 \1\2\3\40x04030201
CMD02 \x01\x02\x03\x04CMD02 \4\3\2\10x01020304

 

AKTOR

Beim RS232- bzw. beim RS485 Aktor kann im Eigenschaftenfenster festgelegt werden ob der Aktor als Digitalausgang oder als Analogausgang verwendet wird, indem das Häkchen bei „Als Digitalausgang verwenden“ gesetzt wird oder nicht.

Im Eigenschaftenfenster kann unter „Befehl bei EIN“ bzw. unter „Befehl bei AUS“ eine Zeichenfolge eingegeben werden. Der Digitalausgang gibt diese Zeichenfolge auf der RS232 Schnittstelle aus, wenn er aktiviert bzw. deaktiviert wird. Mit dem Analogausgang kann der Wert am Eingang des Aktors übernommen werden (bei jeder Änderung des Eingangswertes) und auf der RS232 Schnittstelle ausgegeben werden.

Die eingegebenen Zeichen werden als ASCII Zeichen interpretiert.

Ein Aktor kann maximal 256 Zeichen senden.

Wird ein Prüfsummenverfahren verwendet, so wird die entsprechende Prüfsumme berechnet und in den zu sendenden Datenstrom eingefügt.

SONDERZEICHEN FÜR DIGITAL- UND ANALOGAUSGANG

\xHexadezimal z.B. \x09 für 0x09 oder \x01\x02\x03\x04 für 0x01020304
\\\
\tTabulator (0x09)
\rCarriage Return (0x0D)
\nLine Feed (0x0A)
\x5C\x5CBackslash (0x5C)

 

SONDERZEICHEN FÜR DEN ANALOGAUSGANG

<v>Der Wert am Eingang des Aktors wird auf der RS232 Schnittstelle (ohne Kommastelle) ausgegeben.
<v.1>Der Wert am Eingang des Aktors wird auf der RS232 Schnittstelle mit einer Kommastelle ausgegeben.
<v.2>Der Wert am Eingang des Aktors wird auf der RS232 Schnittstelle mit zwei Kommastellen ausgegeben.
<v.3>Der Wert am Eingang des Aktors wird auf der RS232 Schnittstelle mit drei Kommastellen ausgegeben.
<v.t>Der Wert am Eingang des Aktors wird als Sekunden Angabe interpretiert und auf der RS232 Schnittstelle formatiert ausgegeben.

BEISPIELE DIGITALAUSGANG

EingangBefehl bei EINBefehl bei AUSGesendeter Datenstrom
Steigende FlankeCMD EIN\n\rCMD AUS\n\rCMD EIN\n\r
Fallende FlankeCMD EIN\n\rCMD AUS\n\rCMD AUS\n\r

BEISPIELE ANALOGAUSGANG

EingangBefehl bei EINGesendeter Datenstrom
36CMD03 <v>CMD03 36
36,1CMD03 <v.1>CMD03 36.1
36,123CMD03 <v.3>CMD03 36.123
59Zeit: <v.t>Zeit: 0:00:59
100Zeit: <v.t>Zeit: 0:01:40
3600Zeit: <v.t>Zeit: 1:00:00
36000Zeit: <v.t>Zeit: 10:00:00
86400Zeit: <v.t>Zeit: 1 Tag, 00:00:00
400000Zeit: <v.t>Zeit: 4 Tage, 15:06:40