Keller Acculevel topic
- Sensor Datasheet
- Sensor Constructor
- Example Code
- Reference
- Detailed Descriptions
Classes for the Keller Acculevel.
These are for Keller Series 30, Class 5, Group 20 sensors using Modbus communication, that are software version 5.20-12.28 and later (i.e. made after the 2012 in the 28th week).
Only tested on the Acculevel.
Sensor Datasheet
Sensor Constructor
Construct a new Keller Acculevel. The pin on the mcu controlling power to the Acculevel. Use -1 if it is continuously powered.
KellerAcculevel::
Parameters
modbusAddress
The modbus address of the Acculevel.
stream
An Arduino data stream for modbus communication. See notes for more information on what streams can be used.
powerPin
powerPin2
The pin on the mcu controlling power to the RS485 adapter, if it is different from that used to power the sensor. Use -1 or omit if not applicable.
enablePin
The pin on the mcu controlling the direction enable on the RS485 adapter, if necessary; use -1 or omit if not applicable.
measurementsToAverage
The number of measurements to take and average before giving a "final" result from the sensor; optional with a default value of 1.
Example Code
The Keller Acculevel is used in the menu a la carte example.
Classes
- class KellerAcculevel
- The Sensor sub-class for the Keller Acculevel sensor.
- class KellerAcculevel_Pressure
- The Variable sub-class used for the gauge pressure (vented and barometric pressure corrected) output from a Keller Acculevel.
- class KellerAcculevel_Temp
- The Variable sub-class used for the temperature output from a Keller Acculevel.
- class KellerAcculevel_Height
- The Variable sub-class used for the gauge height (water level with regard to an arbitrary gage datum) output from a Keller Acculevel.
Sensor Timing
The sensor timing for a Keller Acculevel
- #define ACCULEVEL_WARM_UP_TIME_MS = 500
- Sensor::
_warmUpTime_ms; the Acculevel takes about 500 ms to respond. - #define ACCULEVEL_STABILIZATION_TIME_MS = 5000
- Sensor::
_stabilizationTime_ms; the Acculevel is stable after about 5s (5000ms). - #define ACCULEVEL_MEASUREMENT_TIME_MS = 1500
- Sensor::
_measurementTime_ms; the Acculevel takes 1500ms to complete a measurement.
Pressure
The pressure variable from a Keller Acculevel
- Range is 0 to 11 bar
- Accuracy is Standard ±0.1% FS, Optional ±0.05% FS
Construct a new KellerAcculevel_
KellerAcculevel_
Parameters
parentSense
The parent KellerAcculevel providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "kellerAccuPress".
- #define ACCULEVEL_PRESSURE_RESOLUTION = 5
- Decimals places in string representation; pressure should have 5 - resolution is 0.002%.
- #define ACCULEVEL_PRESSURE_DEFAULT_CODE = "kellerAccuPress"
- Default variable short code; "kellerAccuPress".
Temperature
The temperature variable from a Keller Acculevel
- Range is -10°C to 60°C
- Accuracy is not specified in the sensor datasheet
Construct a new KellerAcculevel_
KellerAcculevel_
Parameters
parentSense
The parent KellerAcculevel providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "kellerAccuTemp".
- #define ACCULEVEL_TEMP_RESOLUTION = 2
- Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
- #define ACCULEVEL_TEMP_DEFAULT_CODE = "kellerAccuTemp"
- Default variable short code; "kellerAccuTemp".
Height
The height variable from a Keller Acculevel
- Range is 0 to 900 feet
- Accuracy is Standard ±0.1% FS, Optional ±0.05% FS
Construct a new KellerAcculevel_
KellerAcculevel_
Parameters
parentSense
The parent KellerAcculevel providing the result values.
uuid
A universally unique identifier (UUID or GUID) for the variable; optional with the default value of an empty string.
varCode
A short code to help identify the variable in files; optional with a default value of "kellerAccuHeight".
- #define ACCULEVEL_HEIGHT_RESOLUTION = 4
- Decimals places in string representation; height should have 4 - resolution is 0.002%.
- #define ACCULEVEL_HEIGHT_DEFAULT_CODE = "kellerAccuHeight"
- Default variable short code; "kellerAccuHeight".
Define documentation
#define ACCULEVEL_WARM_UP_TIME_MS = 500
#include <src/sensors/KellerAcculevel.h>
Sensor::
#define ACCULEVEL_STABILIZATION_TIME_MS = 5000
#include <src/sensors/KellerAcculevel.h>
Sensor::
#define ACCULEVEL_MEASUREMENT_TIME_MS = 1500
#include <src/sensors/KellerAcculevel.h>
Sensor::
#define ACCULEVEL_PRESSURE_RESOLUTION = 5
#include <src/sensors/KellerAcculevel.h>
Decimals places in string representation; pressure should have 5 - resolution is 0.002%.
#define ACCULEVEL_PRESSURE_DEFAULT_CODE = "kellerAccuPress"
#include <src/sensors/KellerAcculevel.h>
Default variable short code; "kellerAccuPress".
#define ACCULEVEL_TEMP_RESOLUTION = 2
#include <src/sensors/KellerAcculevel.h>
Decimals places in string representation; temperature should have 2 - resolution is 0.01°C.
#define ACCULEVEL_TEMP_DEFAULT_CODE = "kellerAccuTemp"
#include <src/sensors/KellerAcculevel.h>
Default variable short code; "kellerAccuTemp".
#define ACCULEVEL_HEIGHT_RESOLUTION = 4
#include <src/sensors/KellerAcculevel.h>
Decimals places in string representation; height should have 4 - resolution is 0.002%.
#define ACCULEVEL_HEIGHT_DEFAULT_CODE = "kellerAccuHeight"
#include <src/sensors/KellerAcculevel.h>
Default variable short code; "kellerAccuHeight".