Class to manipulate Inverter Model registers. More...
#include <InverterModel.h>
Public Member Functions | |
| bool | IsInverterRegisterMap (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 | GetAcEnergyLifetime (double &res) |
| bool | GetStateEvtFlags (StateEvt_t &state_evt) |
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 | ReadState (uint16_t &state) |
| bool | ReadStateVendor (uint16_t &state) |
| bool | ReadEventFlags (uint32_t &flag1, uint32_t &flag2) |
| bool | ReadEventFlagsVendor (uint32_t &flag1, uint32_t &flag2, uint32_t &flag3, uint32_t &flag4) |
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 Member Functions inherited from StateEvents | |
| bool | SetStateEventsStr (StateEvt_t &state_evt) |
Protected Attributes inherited from SunSpec | |
| std::string | ErrorMessage |
Protected Attributes inherited from StateEvents | |
| std::string | ErrorStr |
Class to manipulate Inverter Model registers.
| bool InverterModel::GetAcCurrent | ( | double & | res | ) |
AC total current [A]
| bool InverterModel::GetAcCurrentPhase | ( | double & | res, |
| const char & | ph = 'A' |
||
| ) |
AC phase current
param res current [A] param ph phase A, B or C (default A)
| bool InverterModel::GetAcEnergyLifetime | ( | double & | res | ) |
AC lifetime energy production [Wh]
| bool InverterModel::GetAcFrequency | ( | double & | res | ) |
AC frequency value [Hz]
| bool InverterModel::GetAcPower | ( | double & | res | ) |
AC power value [W]
| bool InverterModel::GetAcPowerApparent | ( | double & | res | ) |
Apparent power [VA]
| bool InverterModel::GetAcPowerFactor | ( | double & | res | ) |
Power factor [%]
| bool InverterModel::GetAcPowerReactive | ( | double & | res | ) |
Reactive power [VAr]
| bool InverterModel::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 InverterModel::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 InverterModel::GetStateEvtFlags | ( | StateEvt_t & | state_evt | ) |
Read all state and event flags
| bool InverterModel::IsInverterRegisterMap | ( | void | ) |
Checks if device has a SunSpec inverter register map
|
private |
Read inverter event flags
|
private |
Read vendor inverter event flags
|
private |
Read inverter operating state
|
private |
Read vendor inverter operating state