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ällning | Vad den gör |
|---|---|
| Namn | Identifierar enheten i projektet. Ett valfritt anpassat namn ger den ett vänligare alias. |
| Aktiverad | Om 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ärd | Värdnamnet eller IP-adressen som används för att nå enheten på nätverket. |
| Port | TCP-porten för Modbus-enheten. Standard är 502, den vanliga Modbus TCP-porten. |
| Tidsgräns | Hur länge man väntar på ett svar innan begäran betraktas som misslyckad. Standard är 5 sekunder (5000 ms). |
| Enhets-ID | Identifierar 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:
| Funktion | Innehåller | Åtkomst |
|---|---|---|
| Coils | Enskilda på/av-bitar | Läs och skriv |
| Discrete inputs | Enskilda på/av-bitar | Skrivskyddad |
| Holding registers | 16-bitars register | Läs och skriv |
| Input registers | 16-bitars register | Skrivskyddad |
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:
| Datatyp | Register som spänns över |
|---|---|
int16 / uint16 | 1 register |
int32 / uint32 / float | 2 register |
int64 / double | 4 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äge | Effekt | 0x12345678 blir |
|---|---|---|
| Ingen | Bytes som mottagna. | 12 34 56 78 |
| Bytes | Byt de två bytesen inom varje ord. | 34 12 78 56 |
| Ord | Byt ordningen på orden. | 56 78 12 34 |
| Bytes och Words | Byt 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.