Modbus

Anslut en Modbus TCP-enhet och läs eller skriv dess register och coils som taggar.

Modbus läser och skriver register och coils i en Modbus TCP-enhet. Du lägger till enheten med dess nätverksanslutning och skapar sedan en tagg för varje register eller coil du vill samla in.

Ansluta en Modbus-enhet

InställningVad den gör
NamnIdentifierar enheten i projektet. Ett valfritt anpassat namn ger den ett vänligare alias.
AktiveradOm THMI ansluter till enheten för att ta emot data. Stäng av den för att stoppa all kommunikation och värdeinsamling utan att radera enheten.
VärdVärdnamnet eller IP-adressen som används för att nå enheten på nätverket.
PortTCP-porten för Modbus-enheten. Standard är 502, den vanliga Modbus TCP-porten.
TidsgränsHur länge man väntar på ett svar innan begäran betraktas som misslyckad. Standard är 5 sekunder (5000 ms).
Enhets-IDIdentifierar den specifika enheten inom Modbus-nätverket — används när flera enheter sitter bakom en gateway. Sträcker sig från 0–255 (standard 1).

Läsa ett värde: funktionen

Varje Modbus-tagg läser från ett av fyra områden, valt med funktionen. Detta avgör också om värdet kan skrivas tillbaka:

FunktionInnehållerÅtkomst
CoilsEnskilda på/av-bitarLäs och skriv
Discrete inputsEnskilda på/av-bitarSkrivskyddad
Holding registers16-bitars registerLäs och skriv
Input registers16-bitars registerSkrivskyddad

Coils och discrete inputs är enskilda bitar, så de mappas till en bool-datatyp. Holding- och input-register är 16-bitars, så större tal läses från flera på varandra följande register:

DatatypRegister som spänns över
int16 / uint161 register
int32 / uint32 / float2 register
int64 / double4 register

Startadressen är register- eller coil-adressen där taggen börjar läsa. Array-datatyper läser flera värden i följd därifrån; ange antal värden för att styra hur många.

Byte- och ord-ordning (swap-läge)

När ett värde spänner över mer än ett register är enheter oense om i vilken ordning dessa bytes och 16-bitars ord läggs ut. Swap-läget korrigerar för detta så att talet rekonstrueras korrekt. Ta 32-bitarsvärdet 0x12345678, läst från två register:

Swap-lägeEffekt0x12345678 blir
IngenBytes som mottagna.12 34 56 78
BytesByt de två bytesen inom varje ord.34 12 78 56
OrdByt ordningen på orden.56 78 12 34
Bytes och WordsByt båda.78 56 34 12

Om ett tal över flera register läses som skräp eller är vilt fel är swap-läget nästan alltid det som behöver justeras — matcha det mot byte-ordningen i enhetens dokumentation. Swap-läge gäller inte för enbitars coil- och discrete-input-värden.

Se Datatyper för hela listan och vad var och en betyder.

Hämtning och skrivning

  • Hämtningsintervall — hur ofta, i millisekunder, THMI läser värdet. Standard är 5000 (5 sekunder).
  • Skrivbar — låter användare med behörighet manuellt ändra värdet (se Värden och historik). Den är endast tillgänglig för läs-och-skriv-funktionerna (coils och holding registers) och enskilda (icke-array) värden; discrete inputs och input registers är alltid skrivskyddade.