13
wieder andere können sowohl gelesen als auch geschrieben werden. Jedes Register befindet sich an einem
bestimmten Index in der Tabelle für den Sensor. Oft wird dieser Index als Adresse bezeichnet, die eine andere Adresse
als die Sensoradresse ist, aber leicht mit der Sensoradresse verwechselt werden kann.
Es gibt jedoch zwei verschiedene Indizierungsschemata, die für Modbus-Sensoren verwendet werden, wobei die
Umrechnung zwischen beiden einfach ist. Ein Indizierungsschema wird als einseitige Nummerierung bezeichnet, bei
der das erste Register den Index 1 erhält und somit der Zugriff durch die Anforderung des Zugriffs auf Register 1
erfolgt. Das andere Indizierungsschema wird als Null-basierte Nummerierung bezeichnet, bei der das erste Register
den Index 0 erhält und somit der Zugriff durch die Anforderung des Zugriffs auf das Register 0 erfolgt. Die Apogee-
Sensoren verwenden die Null-basierte Nummerierung. Wenn der Sensor jedoch in einem System verwendet wird, das
eine einseitige Nummerierung verwendet, wie z. B. bei einem CR1000X-Logger, wird durch Hinzufügen von 1 zur
nullseitigen Adresse die einseitige Adresse für das Register erzeugt.
Register Format:
Gemäß der Spezifikation des Modbus-Protokolls sind Holding-Register (die Art von Registern, die Apogee-Sensoren
enthalten) für eine Breite von 16 Bit definiert. Bei wissenschaftlichen Messungen ist es jedoch wünschenswert, einen
genaueren Wert zu erhalten, als es 16 Bits erlauben. Daher verwenden mehrere Modbus-Implementierungen zwei 16-
Bit-Register, die als ein 32-Bit-Register fungieren. Apogee Modbus-Sensoren verwenden diese 32-Bit-
Implementierung, um Messwerte als 32-Bit-IEEE-754-Gleitkommazahlen zu liefern.
Apogee Modbus-Sensoren enthalten auch einen redundanten, doppelten Satz von Registern, die 16-Bit-Ganzzahlen
mit Vorzeichen verwenden, um Werte als dezimal verschobene Zahlen darzustellen. Es wird empfohlen, wenn möglich
die 32-Bit-Werte zu verwenden, da sie genauere Werte enthalten.
Kommunikationsparameter:
Apogee Sensoren kommunizieren mit der Modbus RTU Variante des Modbus Protokolls. Die Standard-
Kommunikationsparameter sind wie folgt:
Slave-Adresse: 1
Baudrate: 19200
Datenbits: 8
Stoppbits: 1
Parität: Gerade
Byte-Reihenfolge: Big-Endian (das höchstwertige Byte wird zuerst gesendet)
Die Baudrate und die Slave-Adresse sind vom Benutzer konfigurierbar. Gültige Slave-Adressen sind 1 bis 247. Da die
Adresse 0 als Broadcast-Adresse reserviert ist, wird durch das Einstellen der Slave-Adresse auf 0 die Slave-Adresse
auf 1 gesetzt. (Dies setzt auch die werkseitig kalibrierten Werte zurück und sollte NICHT vom Benutzer durchgeführt
werden, es sei denn, er erhält andere Anweisungen).