AlternatingEpEnergyGenerator¶
Package: inet.power.generator
simple module AlternatingEpEnergyGenerator
This energy generator model alternates between two modes called generation and sleep mode. In generation mode, it generates a randomly selected constant power for a random time interval. In sleep mode, it doesn’t generate energy for another random time interval.
See also: AlternatingEpEnergyConsumer
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
This is an abstract base module for power-based energy generator models. It defines shared signals and statistics. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“power: {powerGeneration}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
energySinkModule |
string |
“^.energyStorage” |
Module path of the energy sink |
powerGeneration |
double |
The amount of power generated in the generation mode |
|
generationInterval |
double |
The time interval for the generation mode |
|
sleepInterval |
double |
The time interval for the sleep mode |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
AlternatingEpEnergyGenerator |
|
display |
i=block/plug |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
powerGenerationChanged |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
powerGeneration |
Power generation |
powerGenerationChanged |
vector |
W |
sample-hold |
Source code¶
//
// This energy generator model alternates between two modes called generation
// and sleep mode. In generation mode, it generates a randomly selected constant
// power for a random time interval. In sleep mode, it doesn't generate energy
// for another random time interval.
//
// @see ~AlternatingEpEnergyConsumer
//
simple AlternatingEpEnergyGenerator extends EpEnergyGeneratorBase
{
parameters:
string energySinkModule = default("^.energyStorage"); // Module path of the energy sink
volatile double powerGeneration @unit(W); // The amount of power generated in the generation mode
volatile double generationInterval @unit(s); // The time interval for the generation mode
volatile double sleepInterval @unit(s); // The time interval for the sleep mode
@class(AlternatingEpEnergyGenerator);
displayStringTextFormat = default("power: {powerGeneration}");
}
File: src/inet/power/generator/AlternatingEpEnergyGenerator.ned