Communication protocol between host and supervisor microprocessor. More...
#include <ABBAurora.h>
Data Structures | |
| struct | FirmwareRelease |
| struct | LastFourAlarms |
| Data structure for last four alarms command. More... | |
| struct | ManufacturingDate |
| struct | State |
| Data structure for ReadState() More... | |
| struct | TimeDate |
| Data structure for time/date reading command. More... | |
| struct | Version |
| Data structure for version reading command. More... | |
Public Member Functions | |
| ABBAurora (void) | |
| Default class constructor. More... | |
| ABBAurora (const unsigned char &addr) | |
| Overloaded class constructor. More... | |
| ~ABBAurora (void) | |
| Default class destructor. More... | |
| void | SetLogLevel (const unsigned char &log_level) |
| Set log level. More... | |
| bool | Setup (const std::string &device, const speed_t baudrate=B19200) |
| Setup serial device communication. More... | |
| void | SetAddress (const unsigned char &addr) |
| Set serial device address. More... | |
| unsigned char | GetAddress (void) const |
| Get serial device address. More... | |
| std::string | GetErrorMessage (void) const |
| Get error message. More... | |
Inverter commands | |
| bool | ReadState (State &state) |
| Read system state. More... | |
| bool | ReadPartNumber (std::string &pn) |
| Read system P/N. More... | |
| bool | ReadVersion (Version &version) |
| Read version. More... | |
| bool | ReadDspValue (float &value, const DspValueEnum &type, const DspGlobalEnum &global=DspGlobalEnum::MODULE_MEASUREMENT) |
| Measure request to the DSP. More... | |
| bool | ReadSerialNumber (std::string &sn) |
| Read serial number. More... | |
| bool | ReadManufacturingDate (ManufacturingDate &date) |
| Read manufacturing date. More... | |
| bool | ReadTimeDate (TimeDate &date) |
| Read inverter date. More... | |
| bool | ReadFirmwareRelease (FirmwareRelease &firmware) |
| Read firmware release. More... | |
| bool | ReadCumulatedEnergy (float &cum_energy, const CumulatedEnergyEnum &period) |
| Read cumulated energy. More... | |
| bool | ReadLastFourAlarms (LastFourAlarms &alarms) |
| Read last four alarms. More... | |
Private Member Functions | |
| bool | Send (SendCommandEnum cmd, uint8_t b2, uint8_t b3, uint8_t b4, uint8_t b5, uint8_t b6, uint8_t b7) |
| Send command. More... | |
| long int | GetGmtOffset (void) |
| Get GMT offset. More... | |
Private Attributes | |
| ABBAuroraSerial * | Serial |
| Serial object which handles the communication with the device. | |
| unsigned char | Address |
| Address of the serial device. | |
| unsigned char | Log |
| Log level. | |
| uint8_t * | ReceiveData |
| Array to hold the answer from the device. | |
| std::string | ErrorMessage |
| String which holds the possible error message. | |
Static Private Attributes | |
| static const int | SendBufferSize = 10 |
| Fixed send buffer size (8 bytes) | |
| static const int | ReceiveBufferSize = 8 |
| Fixed receive buffer size (10 bytes) | |
| static const time_t | InverterEpoch = 946684800 |
| Seconds since midnight of January 1, 2000. | |
Communication protocol between host and supervisor microprocessor.
The communication between host and processor works via a serial interface RS485 or RS232.
Configuration parameters in both cases are:
If the device has a RS485 interface, the default serial bus address is 2.
| ABBAurora::ABBAurora | ( | void | ) |
Default class constructor.
Initialises the class object with the default bus address
| ABBAurora::ABBAurora | ( | const unsigned char & | addr | ) |
Overloaded class constructor.
Initialises the class object with a custom bus address
| addr | RS485 device address, range 2-63 |
| ABBAurora::~ABBAurora | ( | void | ) |
Default class destructor.
Closes the serial port and destroys the class object.
| unsigned char ABBAurora::GetAddress | ( | void | ) | const |
Get serial device address.
| std::string ABBAurora::GetErrorMessage | ( | void | ) | const |
Get error message.
|
private |
Get GMT offset.
Method which returns the current offset to GMT [in seconds]
| bool ABBAurora::ReadCumulatedEnergy | ( | float & | cum_energy, |
| const CumulatedEnergyEnum & | period | ||
| ) |
Read cumulated energy.
Reads the cumumlated energy (Aurora grid-tied inverters only)
| cum_energy | Cumulated energy |
| period | Energy period |
| bool ABBAurora::ReadDspValue | ( | float & | value, |
| const DspValueEnum & | type, | ||
| const DspGlobalEnum & | global = DspGlobalEnum::MODULE_MEASUREMENT |
||
| ) |
Measure request to the DSP.
Sends a request to measure voltage, current, power etc.
| value | DSP value |
| type | The value to read |
| global | Optional scope parameter |
| bool ABBAurora::ReadFirmwareRelease | ( | ABBAurora::FirmwareRelease & | firmware | ) |
Read firmware release.
Reads the firmware release. For Aurora grid-tied inverters you will read always the MCU firmware version (the field var is not interpreted)
| firmware | Firmware release |
| bool ABBAurora::ReadLastFourAlarms | ( | ABBAurora::LastFourAlarms & | alarms | ) |
Read last four alarms.
The command returns the codes of the last four alarms in form of a FIFO queue from the first to the last one. When this command is used the queue is emptied.
| alarms | Last four alarms |
| bool ABBAurora::ReadManufacturingDate | ( | ABBAurora::ManufacturingDate & | date | ) |
Read manufacturing date.
Reads the Manufacturing week and year (Aurora inverters)
| date | Manufacturing date |
| bool ABBAurora::ReadPartNumber | ( | std::string & | pn | ) |
Read system P/N.
Reads the part number (only Aurora inverters). No information on transmission and global state is returned.
| pn | Inverter part number |
| bool ABBAurora::ReadSerialNumber | ( | std::string & | sn | ) |
Read serial number.
Reads the system serial number (Aurora inverters). No information on transmission and global state is returned.
| sn | Serial number |
| bool ABBAurora::ReadState | ( | ABBAurora::State & | state | ) |
| bool ABBAurora::ReadTimeDate | ( | ABBAurora::TimeDate & | date | ) |
Read inverter date.
Reads the time and date from the inverter, with one second accuracy
| date | Inverter date |
| bool ABBAurora::ReadVersion | ( | ABBAurora::Version & | version | ) |
Read version.
Reads the version (Indoor/Outdoor, Europe/America, available only for FW version 1.0.9 and following)
| version | Inverter version |
|
private |
Send command.
Method for sending a command to the device. The communication protocol uses fixed length transmission messages (8 bytes + 2 bytes for checksum). The structure of the answer also has fixed length (6 bytes + 2 bytes for checksum).
| cmd | The command to send |
| b2,b3,b4,b5,b6,b7 | Remaining bytes of the transmission message |
| void ABBAurora::SetAddress | ( | const unsigned char & | addr | ) |
Set serial device address.
Sets a new RS485 serial device address
| addr | RS485 device address, range 2-63 |
| void ABBAurora::SetLogLevel | ( | const unsigned char & | log_level | ) |
| bool ABBAurora::Setup | ( | const std::string & | device, |
| const speed_t | baudrate = B19200 |
||
| ) |
Setup serial device communication.
Opens the host serial device and sets the communication parameters.
Supported baud rates:
| device | Serial device, i.e. /dev/ttyUSB0 |
| baudrate | Optional baud rate |