Installatie en setup RS-485
12.11.4 Adresveld
Het adresveld van een berichtenframe bevat 8 bits. Geldige
adressen voor volgerapparaten liggen in het bereik van
0-247 decimaal. De individuele volgerapparaten krijgen
adressen toegewezen in het bereik 1-247. (0 is
gereserveerd voor de broadcastmodus en wordt door alle
volgers herkend.) Een master adresseert een volger door
het volgeradres in het adresveld van het bericht te
plaatsen. Wanneer de volger zijn antwoord zendt, plaatst
hij het eigen adres in dit adresveld om de master te laten
weten welke volger reageert.
12.11.5 Functieveld
Het functieveld van een berichtenframe bevat 8 bits.
Geldige codes liggen in het bereik van 1-FF. Functievelden
worden gebruikt om berichten te verzenden tussen master
en volger. Wanneer een bericht van een master naar een
volgerapparaat wordt verzonden, vertelt het functieco-
develd de volger wat voor actie hij moet uitvoeren.
Wanneer de volger antwoordt aan de master, gebruikt hij
het functiecodeveld om een normaal (foutvrij) antwoord te
geven dan wel aan te geven dat er een fout is opgetreden
(uitzonderingsantwoord genoemd). Voor een normaal
antwoord zendt de volger simpelweg de originele
functiecode terug. Voor een uitzonderingsantwoord zendt
de volger een code terug die overeenkomt met de
originele functiecode, maar waarbij de meest significante
bit op logische 1 is gezet. Bovendien plaatst de volger een
unieke code in het dataveld van het antwoordbericht. Dit
vertelt de master wat voor type fout is opgetreden of de
reden voor de uitzondering. Zie ook
12
12
hoofdstuk 12.11.10 Door Modbus RTU ondersteunde
functiecodes en hoofdstuk 12.11.11 Uitzonderingscodes
Modbus.
12.11.6 Dataveld
Het dataveld wordt opgebouwd met behulp van 2 hexade-
cimale getallen, in het bereik van 00 tot FF hex. Deze
bestaan uit één RTU-teken. Het dataveld van berichten die
van een master naar een volgerapparaat worden
gezonden, bevat aanvullende informatie die de volger
moet gebruiken om de in de functiecode gedefinieerde
actie uit te voeren. Dit kan bijvoorbeeld een spoel- of
registeradres zijn, het aantal items dat moet worden
afgehandeld of het aantal actuele databytes in het veld.
188
Design Guide
Danfoss A/S © Rev. 2014-04-04 Alle rechten voorbehouden.
12.11.7 CRC-controleveld
Berichten bevatten onder meer een controleveld dat werkt
op basis van de Cyclical Redundancy Check (CRC)-
methode. Het CRC-veld controleert de inhoud van het
volledige bericht. Deze controle wordt ook toegepast als
voor afzonderlijke tekens van het bericht al een pariteits-
controlemethode wordt uitgevoerd. De CRC-waarde wordt
berekend door het zendende apparaat, dat de CRC achter
het laatste veld in het bericht plakt. Het ontvangende
apparaat berekent opnieuw een CRC tijdens de ontvangst
van het bericht en vergelijkt de berekende waarde met de
actuele waarde die werd ontvangen in het CRC-veld. Als
de 2 waarden niet gelijk zijn, volgt een bustime-out. Het
controleveld bevat een 16-bits binaire waarde die wordt
geïmplementeerd als twee 8-bits bytes. Wanneer dit wordt
gedaan, wordt eerst de lage byte van het veld aangeplakt,
gevolgd door de hoge byte. De hoge byte van de CRC is
de laatste byte die in het bericht wordt verzonden.
12.11.8 Adressering spoelregister
In Modbus zijn alle gegevens georganiseerd in spoelen en
registers. Een spoel kan één bit bevatten, terwijl een
register een woord van 2 bytes (d.w.z. 16 bits) kan
bevatten. Alle data-adressen in Modbus-berichten worden
berekend vanaf nul. De eerste keer dat een data-item
voorkomt, wordt hieraan nummer nul toegewezen.
Bijvoorbeeld: de spoel die bekend is als 'spoel 1' in een
programmeerbare regelaar, wordt in het adresveld van een
Modbus-bericht geadresseerd als spoel 0000.
Spoel 127 decimaal wordt geadresseerd als spoel 007E hex
(126 decimaal).
Register 40001 wordt geadresseerd als register 0000 in het
data-adresveld van het bericht. Het functiecodeveld
definieert al een registeractie. Daarom is de '4XXXX'-
referentie impliciet. Register 40108 wordt geadresseerd als
register 006B hex (107 decimaal).
MG33BF10