Class to manipulate Meter Model registers. More...
#include <MeterModel.h>
Public Member Functions | |
bool | IsMeterRegisterMap (void) |
bool | GetAcCurrent (double &res) |
bool | GetAcCurrentPhase (double &res, const char &ph= 'A') |
bool | GetAcVoltage (double &res, const char &ph= 'A') |
bool | GetAcVoltagePhaseToPhase (double &res, const std::string &ph_pair) |
bool | GetAcPower (double &res) |
bool | GetAcFrequency (double &res) |
bool | GetAcPowerApparent (double &res) |
bool | GetAcPowerReactive (double &res) |
bool | GetAcPowerFactor (double &res) |
bool | GetAcEnergyExport (double &res) |
bool | GetAcEnergyImport (double &res) |
Public Member Functions inherited from SunSpec | |
SunSpec (void) | |
virtual | ~SunSpec (void) |
std::string | GetErrorMessage (void) const |
bool | ConnectModbusTcp (const std::string &node, const std::string &service="502") |
bool | ConnectModbusRtu (const std::string &device, const int &baud_rate=9600) |
void | SetModbusDebug (const bool &debug) |
bool | SetModbusAddress (const int &slave_id=1) |
bool | GetModbusAddress (int &slave_id) |
bool | SetResponseTimeout (const int &millis=500) |
bool | GetResponseTimeout (int &millis) |
bool | SetByteTimeout (const int &millis=500) |
bool | GetByteTimeout (int &millis) |
bool | SetIndicationTimeout (const int &millis=0) |
bool | GetIndicationTimeout (int &millis) |
bool | SetErrorRecovery (const bool recovery) |
template<> | |
std::string | ConvertRegister (const uint16_t *tab_reg, const uint16_t &size) |
template<> | |
float | ConvertRegister (const uint16_t *tab_reg, const uint16_t &size) |
Private Member Functions | |
bool | ReadEventFlags (uint32_t &flag1, uint32_t &flag2) |
Additional Inherited Members | |
Protected Member Functions inherited from SunSpec | |
template<typename T > | |
bool | GetRegister (T &res, const uint16_t ®_addr, const uint16_t &size) |
bool | SetRegister (const uint16_t &value, const uint16_t ®_addr) |
Protected Attributes inherited from SunSpec | |
std::string | ErrorMessage |
Class to manipulate Meter Model registers.
bool MeterModel::GetAcCurrent | ( | double & | res | ) |
AC total current [A]
bool MeterModel::GetAcCurrentPhase | ( | double & | res, |
const char & | ph = 'A' |
||
) |
AC phase current
param res current [A] param ph phase A, B or C (default A)
bool MeterModel::GetAcEnergyExport | ( | double & | res | ) |
AC energy total exported [kWh]
bool MeterModel::GetAcEnergyImport | ( | double & | res | ) |
AC energy total imported [kWh]
bool MeterModel::GetAcFrequency | ( | double & | res | ) |
AC frequency value [Hz]
bool MeterModel::GetAcPower | ( | double & | res | ) |
AC power value [W]
bool MeterModel::GetAcPowerApparent | ( | double & | res | ) |
Apparent power [VA]
bool MeterModel::GetAcPowerFactor | ( | double & | res | ) |
Power factor [%]
bool MeterModel::GetAcPowerReactive | ( | double & | res | ) |
Reactive power [VAr]
bool MeterModel::GetAcVoltage | ( | double & | res, |
const char & | ph = 'A' |
||
) |
AC voltage phase-to-neutral
param res voltage [V] param ph phase A, B or C (default A)
bool MeterModel::GetAcVoltagePhaseToPhase | ( | double & | res, |
const std::string & | ph_pair | ||
) |
AC phase-to-phase voltage
param res voltage [V] param ph_pair phase AB, BC or CA
bool MeterModel::IsMeterRegisterMap | ( | void | ) |
Checks if device has a SunSpec inverter register map
|
private |
Read meter event flags