Modbus
Koble til en Modbus TCP-enhet og les eller skriv registre og coils som tagger.
Modbus leser og skriver registre og coils i en Modbus TCP-enhet. Du legger til enheten med nettverkstilkoblingen, og oppretter deretter en tagg for hvert register eller hver coil du vil samle inn.
Koble til en Modbus-enhet
| Innstilling | Hva den gjør |
|---|---|
| Navn | Identifiserer enheten i prosjektet. Et valgfritt egendefinert navn gir den et mer lettlest alias. |
| Aktivert | Om THMI kobler til enheten for å motta data. Slå den av for å stoppe all kommunikasjon og verdiinnsamling uten å slette enheten. |
| Vert | Vertsnavnet eller IP-adressen som brukes for å nå enheten i nettverket. |
| Port | TCP-porten til Modbus-enheten. Standard er 502, standardporten for Modbus TCP. |
| Tidsavbrudd | Hvor lenge det skal ventes på svar før forespørselen regnes som mislykket. Standard er 5 sekunder (5000 ms). |
| Enhets-ID | Identifiserer den aktuelle enheten i Modbus-nettverket. Brukes når flere enheter står bak én gateway. Verdien er 0–255 (standard 1). |
Lese en verdi: funksjonen
Hver Modbus-tagg leser fra ett av fire områder, som velges med funksjonskategorien. Den bestemmer også om verdien kan skrives tilbake:
| Funksjonskategori | Inneholder | Tilgang |
|---|---|---|
| Coil | Enkeltbiter (på/av) | Les og skriv |
| Diskrete innganger | Enkeltbiter (på/av) | Skrivebeskyttet |
| Holdingregistre | 16-bits registre | Les og skriv |
| Inngangsregistre | 16-bits registre | Skrivebeskyttet |
Coils og diskrete innganger er enkeltbiter, så de tilsvarer
datatypen bool. Holdingregistre og
inngangsregistre er på 16 bit, så større tall leses fra flere påfølgende
registre:
| Datatype | Antall registre |
|---|---|
int16 / uint16 | 1 register |
int32 / uint32 / float | 2 registre |
int64 / double | 4 registre |
Startadressen er adressen til registeret eller coilen der taggen begynner å lese. Arraydatatyper leser flere verdier etter hverandre derfra; angi antall verdier for å styre hvor mange.
Byte- og ordrekkefølge (byttemodus)
Når en verdi strekker seg over mer enn ett register, er enheter uenige om i hvilken
rekkefølge bytene og 16-bits ordene ligger. Byttemodus korrigerer for dette,
slik at tallet settes riktig sammen. Ta 32-bits verdien 0x12345678, lest fra
to registre:
| Byttemodus | Virkning | 0x12345678 blir |
|---|---|---|
| Ingen | Bytene slik de mottas. | 12 34 56 78 |
| Byte | Bytter de to bytene i hvert ord. | 34 12 78 56 |
| Ord | Bytter rekkefølgen på ordene. | 56 78 12 34 |
| Byte og ord | Bytter begge. | 78 56 34 12 |
Hvis et tall som går over flere registre, leses som tull eller er helt feil, er det nesten alltid byttemodusen som må justeres. Tilpass den til byterekkefølgen i dokumentasjonen for enheten. Byttemodus gjelder ikke for verdier i coils og diskrete innganger, som er enkeltbiter.
Se Datatyper for hele listen og hva hver datatype betyr.
Polling og skriving
- Pollingintervall: hvor ofte, i millisekunder, THMI leser verdien. Standard er 5000 (5 sekunder).
- Skrivbar: lar brukere med tillatelse endre verdien manuelt (se Verdier og historikk). Innstillingen er bare tilgjengelig for funksjonskategoriene som kan leses og skrives (coils og holdingregistre) og for enkeltverdier (ikke arrayer); diskrete innganger og inngangsregistre er alltid skrivebeskyttet.