Modbus

Bètaprogramma

Letting: Deze interface bevindt zich momenteel in de bètafase. Dit betekent dat niet alle functies zijn getest of afgewerkt.

  • Op dit moment is alleen de TCP/UDP-bibliotheek beschikbaar
  • De editor toont geen ongeldige configuraties aan
  • Modbus Slave is nog niet beschikbaar

De Modbus-interface kan gegevens tussen apparaten lezen en schrijven. De volgende functiecodes worden ondersteund:

FC Naam Beschrijving
FC1 Read coils Teruglezen van meerdere digitale uitgangen
FC2 Read inputs discrete Lezen van meerdere digitale ingangen
FC3 Read holding registers Lezen van meerdere analoge ingangen (en uitgangen)
FC4 Read input registers Lezen van meerdere analoge ingangen (en uitgangen)
FC5 Write coil Schrijven van een enkele digitale uitgang
FC6 Write single register Schrijven van een enkele analoge uitgang
FC15 Force multiple coils Schrijven van meerdere digitale uitgangen
FC16 Write multiple registers Schrijven van meerdere analoge uitgangen
FC22 Mask write Manipulatie van individuele bits van een register
FC23 Read/write multiple registers Schrijf-leesoperatie op analoge in-/uitgangen

Modbus-Modi

De Modbus-interface werkt als master of slave. Echter niet tegelijkertijd als master en slave. Hiervoor moeten meerdere interfaces worden aangemaakt.

Om een apparaat als slave te configureren, hoeft er niets speciaals in acht genomen te worden. De parameter verzoekcyclus, Sync en Init worden bij de slave genegeerd. De Unit ID wordt echter wel bekeken. Kan bij de master geen Unit ID worden ingesteld, stel deze dan op 0 of eventueel op 255.

Import en export als CSV-bestand

Het is mogelijk om elk apparaat te exporteren en weer te importeren als een CSV-bestand. Het wordt aanbevolen om eerst een export te maken, zodat de structuur van het bestand bekend is. Het is belangrijk dat de volgorde van de kolommen niet wordt gewijzigd. Bovendien moeten geen ongeldige gegevens worden geïmporteerd.

Configuratie

De configuratie van de adressen vindt plaats in de installatie. Hier kunnen meerdere apparaten met hun registers worden aangemaakt. Elk register definieert daarbij een tabel met parameters van een enkele Unit ID.

Tip: Dupliceer de individuele registers na het in bedrijf stellen van het eerste apparaat. Dit versnelt de parameterinstelling.

In de rechterkolom vindt u de Unit ID en de byte- en bitvolgorde, indien deze afwijkt van de gebruikte hardware.

Symbool

Met een klik op het symbool kunnen meerdere registers tegelijkertijd worden gelezen of geschreven. Dit verhoogt de prestaties van de queries enorm. Het is belangrijk om het aantal tegelijkertijd opgevraagde adressen in acht te nemen. Deze zijn per apparaat verschillend.

Adres

De waarde definieert het Modbus-adres. Deze ligt tussen 0 en 65'535 ofwel 0x0000 en 0xFFFF.

De waarde kan worden gedefinieerd als decimale waarde 32'767 of als hex-waarde 0x7FFF.

Lengte

De waarde definieert het aantal registers in woorden of bytes. Een woord correspondeert met twee bytes. De modus kan worden gewijzigd door op de titel Lengte (Woord) te klikken.

Functie

De waarde definieert de functiecode. Deze definieert ook of de waarde beschreven kan worden of niet.

Variabele

Definieert de variabele voor communicatie met de SPS van Antcas. Deze kan individueel worden ingesteld. Moet een waarde van dezelfde variabele worden gelezen en geschreven, dan kan dezelfde variabele met hetzelfde datatype voor meerdere registers worden ingesteld.

Tip: Gebruik een / als scheidingsteken bij veel variabelen om submappen in de installatie te maken. Dit maakt het mogelijk om een betere overzichtelijkheid te verkrijgen.

Beschrijving

De beschrijving commentarieert de variabele.

Berekening

De waarde voor overdracht kan worden berekend met het overeenkomstige trigger. Deze wordt bijvoorbeeld gedefinieerd als volgt:

/64+100

Dit rekent de waarde gedeeld door 64 plus 100 en geeft het resultaat direct terug aan de SPS.

(v%2)/64

Een waarde kan ook worden gedefinieerd met v en tussen haakjes worden geplaatst. Het is belangrijk om ervoor te zorgen dat de haakjes altijd correct worden gesloten. Er kan ook een ander Modbus-adres in het formaat zoals bijvoorbeeld $1000 voor de berekening worden gebruikt. De waarde 1000 correspondeert daarbij met het Modbus-adres 1'000 in de configuratie. De referentie betreft altijd de rawaarde. Dat wil zeggen dat verkettingen niet worden berekend. Bovendien moet het adres in de editor worden gebruikt, zodat de waarde eerst wordt gedecodeerd.

Datatype

Definieert het datatype voor conversie van het Modbus-register en voor communicatie met de SPS. De berekeningen vinden plaats na de conversie. Daarom kan het datatype als real in de Explorer worden aangegeven, in plaats van het gedefinieerde type uint. Hier een voorbeeld van een temperatuur:

Plaats Waarde Datatype
Modbus-register 215 uint
Na conversie (uint) 215 uint
Waarde na berekening 21.5 real
Antcas SPS 21.5 real

Om de temperatuur te verzenden, wordt deze tabel van onder naar boven bekeken.

De datatypes Float en Double worden als Real gedefinieerd en geconfigureerd. Aan de hand van de lengte van het woord wordt vervolgens de query geconfigureerd.

Querytype Lengte (Woord)
Float 16 1
Float 32 2
Double 4
Ongeldig Andere lengtes

Afragecyclus

De afragecyclus wordt gedefinieerd in milliseconden. De waarde kan worden gedefinieerd als een getal of met de SPS-tijdopgave T#1d1h1m10s500ms.

De tijd 0 of geen waarde deactiveert het verzoek of het schrijven van de waarde, totdat deze door de SPS naar de interface wordt gestuurd.

De maximale tijdopgave correspondeert met T#1d. Omdat de modulus anders niet kan worden berekend met het tijdzonesverschil.

Om een query om middernacht uit te voeren, kan de tijdzone overeenkomstig worden ingesteld. De afragecyclus wordt vervolgens ingesteld op T#1d. Andere tijdstippen zoals middag kunnen uurlijks worden gequery en de evaluatie moet dan in de SPS plaatsvinden.

Letting: Tijdzones met tijdsveranderingen kunnen mogelijk leiden tot onbedoelde resultaten bij het berekenen van energiedata.

Sync

Als het selectievakje is geselecteerd, wordt de waarde gesynchroniseerd met de echte tijd. Dit is handig als het apparaat een energie-meter betreft.

Init

Als het selectievakje is geselecteerd, wordt de waarde bij het starten van de interface of bij het verbinden met de slave gelezen of geschreven.

Toetsencombinaties

Combinatie Functie
ENTER Volgende regel
SHIFT+ENTER Vorige regel
CTRL+ENTER Nieuwe regel onder invoegen
CTRL+SHIFT+ENTER Nieuwe regel boven invoegen
CTRL+D Regel dupliceren
CTRL+DEL Regel verwijderen
ALT+[Pijltje omhoog] Regel naar boven verplaatsen
ALT+[Pijltje omlaag] Regel naar beneden verplaatsen

Monitor

De monitor toont alleen alle wijzigingen. Het is mogelijk om een debug-modus in de instellingen te activeren, om alle berichten cyclisch te zien.

Belangrijk: Deze modus voorkomt echter het opslaan van alle waarden op de harde schijf. Daarom moet de modus na het zoeken naar fouten absoluut weer worden teruggezet.