Komunikace s RS232 a RS485

Naučte se s Loxone ovládat RS232 a RS485 zařízení.

 

Informace potřebné pro integraci vašeho RS232 nebo RS485 zařízení vám musí dodat výrobce tohoto zařízení. 

Nastavení

Následující nastavení pro RS232 a RS485 Extensiony může být změněno v okně Vlastnosti

Baud rate Rychlost přenosu dat v bitech za sekundu
Data bits 8
Stop bits 1-2
Parity None, Even, Odd, Always 0, Always 1
End-of-frame symbol Použitím End-of-frame symbolů je volitelné. Symbol musí být zapsán v hexadecimálním formátu (např. 0x0A). Jakmile RS232/RS485 Extension detekuje End-of-frame symbol, pozná, že přijmul frame a pošle ho dále do Miniserveru. Pokud není End-of-frame zadán, pak časový limit 32 bitové periody slouží k signalizaci End-of-frame. To znamená, že když nebylo nic přijato pro periodu 32 bitů, pak RS232/RS485 Extension převezme přijatý ukončený frame a pošle ho do Miniserveru.
Checksum Použití checksum je volitelná. Následující checksum může být použita: XOR byte, byte-sum, CRC byte, Modbus CRC Checksum Fronius. Když se přenáší přes RS232/RS485 relé, pak je vhodná checksum vypočítaná a vložena do data streamu. Když  se přijímá přes RS232/RS485 senzor, příkaz rozpoznávání nastane pouze tehdy, pokud odpovídající checksum byla správně přijata. Checksum nelze použít pro příkaz rozpoznávání.

Veškerá komunikace RS232 Extesnion a RS485 Extension se přenáší přes Loxone sběrnici do Miniserveru. Někdy to může být jeden příkaz dat, ale někdy se vysílá mnoho příkazů během jedné vteřiny. To může vézt k přetížení sběrnice a může dojít ke zpoždění. Ujistěte se prosím, zda dotazy na snímače nejsou ve vysoké frekvenci nebo zda stačí nastavit několik dotazů za sekundu.

Monitor

RS232/RS485 Monitor může být aktivován zatržením „RS232/485 Monitor“ v záložce „Miniserver“.

Pro RS232/RS485 Extension je každý přijatý „byte“ zobrazen s výchozím nastavením v ASCII formátu. Zaškrtnutím „Hex“ hexadecimální hodnoty, se hodnota objeví u každého přijatého „bytu“.

Senzor

Ať RS232 nebo RS485 snímač má digitální nebo analogový vstup, může být definován v okně Vlastnosti pro daný senzor zaškrtnutím „Použít jako digitální vstup“, nebo může zůstat nezaškrtnutý podle potřeby.

V okně Vlastnosti pod „příkaz rozpoznávání“, může být zadán řetězec znaků. Digitální vstup umístí puls na výstupu, pokud přijatá data obsahují příkaz rozpoznávání řetězce. Pro analogový vstup může být každá hodnota převzata z přijatých dat.

Řetězec je interpretován jako ASCII znaky.

Senzor může obdržet až 512 (od verze 6.4 – dříve 265) znaků.

Pokud se používá checksum, příkaz rozpoznávání funguje pouze v případě, pokud odpovídající checksum byla správně přijata. Checksum nelze použít pro příkaz rozpoznávání. Speciální znaky pro příkaz rozpoznávání při použití digitálního a analogového vstupu.

Speciální znaky pro digitální a analogový vstup

\x Hexadecimal např., \x09 pro 0x09 nebo \x01\x02\x03\x04 pro 0x01020304
\\ \
\. Přeskočit jakýkoliv znak
\w Přeskočit jakékoliv slovo
\# Přeskočit jakékoliv číslo
\t Tabulátor (0x09)
\b Tabulátor (0x09) nebo mezera (0x20)
\r Návrat na začátek řádku (0x0D)
\n Řádek (0x0A)
\d Přeskočit jakoukoliv číslici (0-9)
\a Přeskočit jakékoliv písmeno (A-Z, a-z)
\m Přeskočit jakékoliv písmeno (A-Z, a-z) nebo jakoukoliv číslici (0-9)
\s12 Přeskočí daný počet znaků (12 lze nahradit za libovolné číslo)

Speciální znaky pro rozpoznávání příkazu, když je použit analogový vstup

\v Hodnota je přijímána jako ASCII řetězec. Desetinná místa musí být odděleny čárkou nebo tečkou.
\1 Číselná hodnota přijatých bajtů je umístěna v nejméně významném bajtu (LSB) na výstupu (bity 0-7).
\2 Číselná hodnota přijatého bajtu je umístěna v bitech 8-15 na výstupu.
\3 Číselná hodnota získaného bajtu je umístěna v bitech 16-23 na výstupu.
\4 Číselná hodnota přijatého bajtu je umístěna v nejvýznamnější bajtu (MSB) na výstupu (bity 24 až 31).

Příklady s digitálním vstupem

Přijatý datový tok Příkaz rozpoznávání Digitální výstup
Toto je test Toto je test Puls
Toto je test Toto je test 0
CMD01 OK\n\r CMD\d\d OK\n\r Puls

Příklady s analogovými vstupy

Přijatý datový tok Příkaz rozpoznávání Analogový výstup
1254 \v 1250
1.254 \v 1.254
1,254 \v 1,254
pm 18.5 20 19.25 pm \v 18.5
pm 18.5 20 19.25 pm \# \v 20
pm 18.5 20 19.25 pm \# \# \v 19.25
CMD01 \ Xa5 CMD01 \ 1 0xA5
CMD02 \x01\x02\x03\x04 CMD02 \1\2\3\4 0x04030201
CMD02 \x01\x02\x03\x04 CMD02 \4\3\2\1 0x01020304

Aktor

RS232 nebo RS485 aktor lze nastavit v okně Vlastnosti. Pokud se aktor používá jako digitální nebo analogový výstup je možno nastavit zatržením. V okně Vlastnosti v části „Příkaz zapnuto“ nebo „příkaz vypnuto“ může být vložen řetězec znaků. Při aktivaci / deaktivaci digitálního výstupu odešle odpovídající řetězec na rozhraní RS232. Pro analogový výstup může být hodnota na vstupu relé předána (pro všechny vstupní variace) a umístěna na RS232 výstup. Řetězec znaků je zobrazen jako ASCII znaky. Jestliže je použita checksum, vhodná checksum je vypočtena a vložena do datového toku k odeslání.

Speciální znaky pro digitální nebo analogový výstup

\x Hexadecimal jako např.: \ x09 pro 0x09 nebo \ x01 \ x02 \ x03 \ x04 pro 0x01020304
\\ \
\t Tabulátor (0x09)
\r Návrat na začátek řádku (0x0D)
\n Řádek  (0x0A)

Speciální znaky pro analogový výstup

<v> Zjištěná hodnota na vstupu relé je odeslána z rozhraní RS232 (bez desetinné čárky).
<v.1> Zjištěná hodnota na vstupu relé je odeslána z rozhraní RS232 pomocí desetinné čárky.
<v.2> Zjištěná hodnota na vstupu relé je odeslána z rozhraní RS232 pomocí dvou desetinných míst.
<v.3> Zjištěná hodnota na vstupu relé je odeslána z rozhraní RS232 pomocí tří desetinných míst.
<v.t> Zjištěná hodnota na relé vstupu (čas ve vteřinách), je formátován a poslán z rozhraní RS232.

Příklady digitálních výstupů

Vstup Příkaz když Zapnuto Příkaz když Vypnuto Přenášený datový tok
Rising edge CMD ON\n\r CMD OFF\n\r CMD ON\n\r
Falling edge CMD On\n\r CMD OFF\n\r CMD OFF\n\r

Příklady analogových výstupů

Vstup Příkaz když Zapnuto Přenášený datový tok
36 CMD03 <v> CMD03 36
36.1 CMD03 <v.1> CMD03 36.1
36.123 CMD03 <v.3> CMD03 36.123
59 Time: <v.t> Time: 0:00:59
100 Time: <v.t> Time: 0:01:40
3600 Time: <v.t> Time: 1:00:00
36000 Time: <v.t> Time: 10:00:00
86400 Time: <v.t> Time: 1 day, 00:00:00
400000 Time: <v.t> Time: 4 days, 15:06:40