48 double chargingPower,
double efficency,
bool chargeInTransit,
double chargeDelay) :
49 MSStoppingPlace(chargingStationID, std::vector<std::string>(), lane, startPos, endPos),
52 myChargeInTransit(chargeInTransit),
54 myChargingVehicle(false),
56 if (chargingPower < 0)
62 if (efficency < 0 || efficency > 1) {
68 if (chargeDelay < 0) {
110 if (chargingPower < 0) {
120 if (efficency < 0 || efficency > 1) {
136 if (chargeDelay < 0) {
168 std::string status =
"";
171 status =
"chargingStopped";
173 status =
"chargingInTransit";
175 status =
"noCharging";
179 status =
"waitingChargeInTransit";
181 status =
"waitingChargeStopped";
183 status =
"noWaitingCharge";
205 std::vector<double>
charge;
206 std::vector<std::pair<SUMOTime, SUMOTime> > vectorBeginEndCharge;
210 vectorBeginEndCharge.push_back(std::pair<SUMOTime, SUMOTime>(firsTimeStep, 0));
214 charge.back() += i->WCharged;
216 vectorBeginEndCharge.back().second = i->timeStep;
218 firsTimeStep += 1000;
220 if (((i + 1) !=
myChargeValues.end()) && (((i + 1)->timeStep) != firsTimeStep)) {
222 firsTimeStep = (i + 1)->timeStep;
224 vectorBeginEndCharge.push_back(std::pair<SUMOTime, SUMOTime>(firsTimeStep, 0));
229 int vehicleCounter = 0;
255 firsTimeStep += 1000;
257 if (((i + 1) !=
myChargeValues.end()) && (((i + 1)->timeStep) != firsTimeStep)) {
259 firsTimeStep = (i + 1)->timeStep;
void addChargeValueForOutput(double WCharged, MSDevice_Battery *battery)
add charge value for output
number of steps that a vehicle is charging
OutputDevice & writeAttr(const SumoXMLAttr attr, const T &val)
writes a named attribute
double getStoppingTreshold() const
Get stopping treshold.
double getBeginLanePosition() const
Returns the begin position of this stop.
double getMaximumBatteryCapacity() const
Get the total vehicle's Battery Capacity in kWh.
double myTotalCharge
total energy charged by this charging station
A lane area vehicles can halt at.
double getChargingStartTime() const
Get charging start time.
~MSChargingStation()
destructor
double getActualBatteryCapacity() const
Get the actual vehicle's Battery Capacity in kWh.
std::string time2string(SUMOTime t)
static MSNet * getInstance()
Returns the pointer to the unique instance of MSNet (singleton).
const std::string & getID() const
Returns the id.
bool isCharging() const
Return true if in the current time step charging station is charging a vehicle.
#define WRITE_WARNING(msg)
void setEfficency(double efficency)
Set efficiency of the charging station.
bool getChargeInTransit() const
Get chargeInTransit.
bool myChargingVehicle
Check if in the current TimeStep chargingStation is charging a vehicle.
void setChargeDelay(double chargeDelay)
Set charge delay of the charging station.
double getEndLanePosition() const
Returns the end position of this stop.
std::string toString(const T &t, std::streamsize accuracy=gPrecision)
timesteps in which charging ends
MSChargingStation(const std::string &chargingStationID, MSLane &lane, double startPos, double endPos, double chargingPower, double efficency, bool chargeInTransit, double chargeDelay)
constructor
void setChargingVehicle(bool value)
enable or disable charging vehicle
double getChargeDelay() const
Get Charge Delay.
bool vehicleIsInside(const double position) const
Check if a vehicle is inside in the Charge Station.
energy provied by charging station at certain timestep
void setChargeInTransit(bool chargeInTransit)
Set charge in transit of the charging station.
void writeChargingStationOutput(OutputDevice &output)
write charging station values
timestep in which charging begins
double myChargeDelay
Charge Delay.
void setChargingPower(double chargingPower)
Set charging station's charging power.
struct to save information for the cahrgingStation output
std::string myID
The name of the object.
trigger: the time of the step
double getEfficency() const
Get efficiency of the charging station.
Battery device for electric vehicles.
bool myChargeInTransit
Allow charge in transit.
double getChargingPower() const
Get charging station's charging power.
const std::string & getID() const
Returns the name of the vehicle type.
total energy charged into a single vehicle
double myEfficiency
Efficiency of the charging station.
std::vector< charge > myChargeValues
vector with the charges of this charging station
Static storage of an output device and its base (abstract) implementation.
Eficiency of the charge in Charging Stations.
bool closeTag()
Closes the most recently opened tag.
Delay in the charge of charging stations.
virtual double getSpeed() const =0
Returns the vehicle's current speed.
Representation of a lane in the micro simulation.
virtual const std::string & getID() const =0
Get the vehicle's ID.
double myChargingPower
Charging station's charging power.
OutputDevice & openTag(const std::string &xmlElement)
Opens an XML tag.
SUMOVehicle & getHolder() const
Returns the vehicle that holds this device.
trigger: a step description
virtual const MSVehicleType & getVehicleType() const =0
Returns the vehicle's type.