Modbus
Forbind en Modbus TCP-enhed, og læs eller skriv dens registre og spoler som tags.
Modbus læser og skriver registre og spoler i en Modbus TCP-enhed. Du tilføjer enheden med dens netværksforbindelse og opretter derefter et tag for hvert register eller hver spole, du vil indsamle.
Forbind en Modbus-enhed
| Indstilling | Hvad den gør |
|---|---|
| Navn | Identificerer enheden i projektet. Et valgfrit brugerdefineret navn giver den et mere læsevenligt alias. |
| Aktiveret | Om THMI opretter forbindelse til enheden for at modtage data. Slå den fra for at stoppe al kommunikation og indsamling af værdier uden at slette enheden. |
| Vært | Værtsnavnet eller IP-adressen, der bruges til at nå enheden på netværket. |
| Port | Modbus-enhedens TCP-port. Standard er 502, som er standardporten for Modbus TCP. |
| Timeout | Hvor længe der ventes på svar, før anmodningen betragtes som mislykket. Standard er 5 sekunder (5000 ms). |
| Enheds-ID | Identificerer den specifikke enhed i Modbus-netværket. Bruges, når flere enheder sidder bag én gateway. Intervallet er 0–255 (standard 1). |
Læs en værdi: funktionen
Hvert Modbus-tag læser fra et af fire områder, som vælges med funktionen. Den afgør også, om værdien kan skrives tilbage:
| Funktion | Indeholder | Adgang |
|---|---|---|
| Spole | Enkelte til/fra-bit | Læs og skriv |
| Diskrete indgange | Enkelte til/fra-bit | Skrivebeskyttet |
| Holdregistre | 16-bit-registre | Læs og skriv |
| Indgangsregistre | 16-bit-registre | Skrivebeskyttet |
Spoler og diskrete indgange er enkelte bit, så de svarer til
datatypen bool. Hold- og indgangsregistre
er 16 bit, så større tal læses fra flere på hinanden følgende registre:
| Datatype | Antal registre |
|---|---|
int16 / uint16 | 1 register |
int32 / uint32 / float | 2 registre |
int64 / double | 4 registre |
Startadressen er den register- eller spoleadresse, hvor tagget begynder at læse. Array-datatyper læser flere værdier i træk derfra. Angiv antal værdier for at styre hvor mange.
Byte- og ordrækkefølge (swap-tilstand)
Når en værdi strækker sig over mere end ét register, er enheder uenige om,
i hvilken rækkefølge bytes og 16-bit-ord ligger. Swap-tilstand korrigerer
for dette, så tallet genskabes korrekt. Tag 32-bit-værdien 0x12345678, læst
fra to registre:
| Swap-tilstand | Effekt | 0x12345678 bliver |
|---|---|---|
| Ingen | Bytes, som de modtages. | 12 34 56 78 |
| Bytes | Byt om på de to bytes i hvert ord. | 34 12 78 56 |
| Ord | Byt om på ordenes rækkefølge. | 56 78 12 34 |
| Bytes og ord | Byt om på begge. | 78 56 34 12 |
Hvis et tal over flere registre læses som volapyk eller helt forkert, er det næsten altid swap-tilstanden, der skal justeres. Tilpas den til byterækkefølgen i enhedens dokumentation. Swap-tilstand gælder ikke for enkeltbitværdier fra spoler og diskrete indgange.
Se Datatyper for den fulde liste, og hvad hver type betyder.
Polling og skrivning
- Polling-interval: hvor ofte THMI læser værdien, i millisekunder. Standard er 5000 (5 sekunder).
- Skrivbar: lader brugere med tilladelse ændre værdien manuelt (se Værdier og historik). Den er kun tilgængelig for læs-skriv-funktionerne (spoler og holdregistre) og enkeltværdier (ikke arrays). Diskrete indgange og indgangsregistre er altid skrivebeskyttede.