Enheter

Vad en enhet är, de inställningar varje enhet delar och hur du väljer ett protokoll.

En enhet är en utrustning i din byggnad som THMI läser data från — en styrenhet, mätare eller sensor. Du lägger till enheten en gång med dess anslutningsuppgifter och skapar sedan enhetstaggar på den för de enskilda värden du vill samla in. Varje enhetstagg motsvarar ett värde (ett register, ett objekt, en nod eller ett topic) på den enheten.

Välja ett protokoll

THMI kommunicerar med enheter via de vanliga bygg- och industriprotokollen. Protokollet avgör både hur du ansluter till enheten och hur du adresserar enskilda värden. Välj det som din utrustning talar:

  • Modbus — register och coils över TCP.
  • BACnet — objekt för byggnadsautomation, med valfria change-of-value-prenumerationer.
  • OPC UA — noder via en OPC UA-server, med anonym autentisering, användarnamn eller certifikat.
  • M-Bus — mätdata över TCP eller seriell anslutning.
  • MQTT — värden som publiceras till topics på en broker.
  • TwinCAT (ADS) — symboler eller direkta adresser i en Beckhoff-PLC.

Varje protokollsida dokumenterar alla enhets- och tagginställningar den erbjuder, och vad var och en gör.

Inställningar varje enhet delar

Oavsett protokoll har en enhet några gemensamma inställningar:

  • Namn — hur enheten identifieras i projektet. Du kan även ge den ett anpassat namn (ett vänligare alias).
  • Aktiverad — om THMI upprättar en anslutning till enheten för att ta emot data. Inaktivera den för att stoppa all kommunikation med enheten (och insamlingen av dess taggars värden) utan att radera dess konfiguration.
  • Host — värdnamnet eller IP-adressen som används för att nå enheten på nätverket.

De flesta protokoll exponerar även en timeout (hur länge man väntar på ett svar) och ett sätt att styra hur ofta värden läses — se varje protokollsida för detaljer.

Enheter och deras taggar

När en enhet väl finns skapar du taggar på den. Enhetstaggar delar de gemensamma tagginställningarna — värden, formatering, gränser, transformation och historik — utöver den protokollspecifika adresseringen som beskrivs på varje protokollsida. Några begrepp, nedan, delas av alla protokoll; protokollsidorna hänvisar tillbaka hit i stället för att upprepa dem.

Datatyper

En enhetstaggs datatyp talar om för THMI hur det råa värdet den läser ska tolkas. Samma uppsättning är tillgänglig över protokollen (vilka typer en viss adress faktiskt stöder beror på protokollet och adressen):

DatatypBetydelseBredd
int16 / int32 / int64Heltal med tecken16 / 32 / 64-bit
uint16 / uint32Heltal utan tecken (icke-negativt)16 / 32-bit
floatFlyttal med enkel precision32-bit
doubleFlyttal med dubbel precision64-bit
boolBoolesk — på/av, sant/falskt1-bit

Varje numerisk och boolesk typ har också en array-form (int array 16, float array, bool array, …) som läser flera på varandra följande värden in i en tagg. För en array-typ styr inställningen antal värden hur många på varandra följande värden som läses.

Datatypen styr också hur ett värde lagras efter transformation: heltal behålls som int64, reella tal som double och booleska värden som bool.

Hur värden läses

De flesta protokoll läser ett värde på ett av två sätt:

  • Polling — THMI läser värdet med ett fast pollningsintervall (i millisekunder; 5000 = var 5:e sekund som standard). Alltid tillgängligt.
  • Prenumeration — enheten skickar uppdateringar endast när värdet ändras, vilket minskar nätverkstrafiken för stabila signaler. Endast vissa protokoll (BACnet change-of-value, TwinCAT, MQTT) stöder det, och enheten måste stödja det också.

Läsa och skriva

En taggs åtkomstläge är antingen skrivskyddat eller läs-och-skriv. En skrivbar tagg låter användare med behörighet skicka tillbaka ett värde till enheten (se Värden). Skrivning är endast möjlig där protokollet och den specifika adressen tillåter det — skrivskyddade adresser (ett Modbus input-register, ett BACnet input-objekt, valfritt M-Bus-värde) kan aldrig skrivas.

Hälsa och bulkimport

En enhet rapporterar en hälsostatus (OK eller fel) så att du med en blick kan se om THMI kommunicerar med den. För att sätta upp många enheter och taggar på en gång kan du importera dem i bulk från en fil i stället för att skapa var och en för hand.