Communicatie met RS232/485

Deze documentatie vormt een handige inleiding tot Loxone domotica.

INSTELLINGEN

In het eigenschappenvenster van de RS232/RS485 Extension kunt u de instellingen van de RS232/RS485-verbinding definiëren:

 

BaudrateSnelheid van de gegevensoverdracht in bits per seconde (maximale baudrate: 120.000 bits per seconde)
Aantal gegevensbits5 – 8
Aantal stopbits1 – 2
PariteitGeen, even, oneven, altijd 0, altijd 1
Einde-indicatorHet gebruik van een einde-indicator is optioneel.
De einde-indicator moet in hexadecimale vorm (bijv. 0x0A) worden opgegeven.
Als de opgegeven einde-indicator wordt ontvangen, weet de RS232/RS485 Extension dat een frame volledig is ontvangen en stuurt het frame naar de Miniserver.
Als geen einde-indicator wordt aangegeven, wordt een time-out met een duur van 32 bitperiodes gebruikt. Dit betekent dat, wanneer gedurende 32 bitperiodes niets wordt ontvangen, de RS232/RS485 Extension weet dat een frame volledig ontvangen is en het frame naar de Miniserver wordt gestuurd.
Checksum-procedureHet gebruik van de checksum-procedure is optioneel.
De volgende checksums kunnen worden gebruikt. XOR-byte, som-byte, CRC-byte, Modbus CRC, Fronius checksum
Bij verzending via een RS232/RS485-actuator wordt de overeenkomstige checksum berekend en in de te verzenden gegevensstroom geplaatst.
Bij ontvangst via een RS232/RS485-sensor functioneert de commandoherkenning alleen wanneer de overeenkomstige checksum correct werd ontvangen. De checksum-bytes mogen niet worden gebruikt voor de commandoherkenning. *

* Als de checksum-procedure CRC byte op het einde wordt gebruikt. U kunt de correcte checksum berekenen met deze tool (crc-order 8, polynom 85).

De volledige communicatie van de RS232 Extension en van de RS485 Extension loopt via de Loxone-bus naar de Miniserver. Het regelmatig opvragen van gegevens (meerdere keren per seconde) kan tot overbelasting van de Loxone-bus leiden, waardoor commando’s soms vertraagd worden afgewerkt. Controleer bij sensorgegevens altijd of gegevens effectief met een hoge frequentie moeten worden opgevraagd en of opvragen meerdere keren per seconde zinvol is.

MONITOR

De RS232/RS485-monitor wordt in het tabblad Miniserver geactiveerd door een vinkje te plaatsen bij “RS232/485-monitor”.
In de monitor wordt elke byte die van de RS232/RS485 Extension wordt ontvangen, standaard weergegeven in ASCII-formaat. Door het vinkje te plaatsen bij “Hex”, wordt de hexadecimale waarde van elke ontvangen byte getoond.

SENSOR

Bij de RS232- of RS485-sensor kan in het eigenschappenvenster worden gedefinieerd of de sensor als digitale dan wel als analoge ingang wordt gebruikt door het vinkje bij “Als digitale ingang gebruiken” al dan niet in te stellen.
In het eigenschappenvenster kan bij “Commandoherkenning” een tekenreeks worden ingevoerd. De digitale ingang geeft een puls op de uitgang wanneer in de ontvangen gegevens de in de commandoherkenning ingevoerde tekenreeks vervat zit. Met de analoge ingang kunnen willekeurige waarden uit de ontvangen gegevensstroom worden overgenomen.
De ingevoerde tekens worden als ASCII-tekens geïnterpreteerd.
Een sensor kan maximaal 512 tekens ontvangen.
Als een checksum-procedure wordt gebruikt, werkt de commandoherkenning alleen wanneer de overeenkomstige checksum correct werd ontvangen. De checksum-bytes mogen niet worden gebruikt voor de commandoherkenning.

SPECIALE TEKENS VOOR DE COMMANDOHERKENNING BIJ DIGITALE EN ANALOGE INGANG

\xHexadecimaal bijv. \x09 voor 0x09 of \x01\x02\x03\x04 voor 0x01020304
\\\
\.Willekeurig teken
\wWillekeurig woord
\#Willekeurig getal
\tTabulatie (0x09)
\bTabulatie (0x09) of spatie (0x20)
\rCarriage return (0x0D)
\nLine feed (0x0A)
\dWillekeurig cijfer (0-9)
\aWillekeurige letter (A-Z,a-z)
\mWillekeurige letter (A-Z,a-z) of willekeurig cijfer (0-9)

SPECIALE TEKENS VOOR DE COMMANDOHERKENNING BIJ DIGITALE EN ANALOGE INGANG

\xHexadecimaal bijv. \x09 voor 0x09 of \x01\x02\x03\x04 voor 0x01020304
\\\
\.Willekeurig teken
\wWillekeurig woord
\#Willekeurig getal
\tTabulatie (0x09)
\bTabulatie (0x09) of spatie (0x20)
\rCarriage return (0x0D)
\nLine feed (0x0A)
\dWillekeurig cijfer (0-9)
\aWillekeurige letter (A-Z,a-z)
\mWillekeurige letter (A-Z,a-z) of willekeurig cijfer (0-9)

SPECIALE TEKENS VOOR DE COMMANDOHERKENNING BIJ ANALOGE INGANG

\vDe waarde wordt overgenomen uit de ASCII-tekenreeks. De posities achter de komma moeten worden gescheiden door een komma of een punt.
\1De numerieke waarde van de ontvangen byte wordt als minst significante byte (LSB) op de uitgang overgenomen (bits 0-7).
\2De numerieke waarde van de ontvangen byte wordt in bits 8-15 op de uitgang overgenomen.
\3De numerieke waarde van de ontvangen byte wordt in bits 16-23 op de uitgang overgenomen.
\4De numerieke waarde van de ontvangen byte wordt als meest significante byte (MSB) op de uitgang overgenomen (bits 24-31).

VOORBEELDEN DIGITALE INGANG

Ontvangen gegevensstroomCommandoherkenningDigitale uitgang
Dit is een testDit is een testPuls
Dit is een testDit is een test0
CMD01 OK\n\rCMD\d\d OK\n\rPuls

VOORBEELDEN ANALOGE INGANG

Ontvangen gegevensstroomCommandoherkenningAnaloge uitgang
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

ACTUATOR

Bij de RS232- of RS485-actuator kan in het eigenschappenvenster worden gedefinieerd of de actuator als digitale dan wel als analoge uitgang wordt gebruikt door het vinkje bij “Als digitale uitgang gebruiken” al dan niet in te stellen.
In het eigenschappenvenster kan onder “Commando bij AAN” of “Commando bij UIT” een tekenreeks worden ingevoerd. De digitale uitgang geeft deze tekenreeks weer op de RS232-interface wanneer hij geactiveerd of gedeactiveerd wordt. Met de analoge uitgang kan de waarde op de ingang van de actuator worden overgenomen (bij elke wijziging van de ingangswaarde) en op de RS232-interface worden uitgevoerd.
De ingevoerde tekens worden als ASCII-tekens geïnterpreteerd.
Een actuator kan maximaal 256 tekens verzenden.
Als een checksum-procedure wordt gebruikt, wordt de overeenkomstige checksum berekend en in de te verzenden gegevensstroom geplaatst.
Learn about controlling RS-232 and RS-485 devices with Loxone.

SPECIALE TEKENS VOOR DIGITALE EN ANALOGE UITGANG

\xHexadecimaal bijv. \x09 voor 0x09 of \x01\x02\x03\x04 voor 0x01020304
\\\
\tTabulatie (0x09)
\rCarriage return (0x0D)
\nLine feed (0x0A)

SPECIALE TEKENS VOOR DE ANALOGE UITGANG

<v>De waarde op de ingang van de actuator wordt op de RS232-interface (zonder positie na de komma) uitgevoerd.
<v.1>De waarde op de ingang van de actuator wordt op de RS232-interface met een positie na de komma uitgevoerd.
<v.2>De waarde op de ingang van de actuator wordt op de RS232-interface met twee posities na de komma uitgevoerd.
<v.3>De waarde op de ingang van de actuator wordt op de RS232-interface met drie posities na de komma uitgevoerd.
<v.t>De waarde op de ingang van de actuator wordt als secondenwaarde geïnterpreteerd en op de RS232-interface geformatteerd uitgevoerd.

VOORBEELDEN DIGITALE UITGANG

IngangCommando bij AANCommando bij UITVerzonden gegevensstroom
Stijgende flankCMD EIN\n\rCMD AUS\n\rCMD EIN\n\r
Dalende flankCMD EIN\n\rCMD AUS\n\rCMD AUS\n\r

VOORBEELDEN ANALOGE UITGANG

IngangCommando bij AANVerzonden gegevensstroom
36CMD03 <v>CMD03 36
36,1CMD03 <v.1>CMD03 36.1
36,123CMD03 <v.3>CMD03 36.123
59Tijd: <v.t>Tijd: 0:00:59
100Tijd: <v.t>Tijd: 0:01:40
3600Tijd: <v.t>Tijd: 1:00:00
36000Tijd: <v.t>Tijd: 10:00:00
86400Tijd: <v.t>Tijd: 1 dag, 00:00:00
400000Tijd: <v.t>Tijd: 4 dagen, 15:06:40