15 #include <dpsim-models/Attribute.h>
16 #include <dpsim-models/Filesystem.h>
17 #include <dpsim-models/PtrFactory.h>
18 #include <dpsim-models/SimNode.h>
19 #include <dpsim-models/Task.h>
20 #include <dpsim/DataLoggerInterface.h>
21 #include <dpsim/Definitions.h>
22 #include <dpsim/Scheduler.h>
29 std::ofstream mLogFile;
35 virtual void logDataLine(Real time, Real data);
36 virtual void logDataLine(Real time,
const Matrix &data);
37 virtual void logDataLine(Real time,
const MatrixComp &data);
40 typedef std::shared_ptr<DataLogger> Ptr;
43 DataLogger(String name, Bool enabled =
true, UInt downsampling = 1);
46 virtual void start()
override;
47 virtual void stop()
override;
49 virtual void setColumnNames(std::vector<String> names);
50 void logPhasorNodeValues(Real time,
const Matrix &data, Int freqNum = 1);
51 void logEMTNodeValues(Real time,
const Matrix &data);
53 virtual void log(Real time, Int timeStepCount)
override;
55 virtual CPS::Task::Ptr getTask()
override;
59 Step(
DataLogger &logger) : Task(logger.mName +
".Write"), mLogger(logger) {
60 for (
auto attr : logger.mAttributes) {
61 mAttributeDependencies.push_back(attr.second);
63 mModifiedAttributes.push_back(Scheduler::external);
66 void execute(Real time, Int timeStepCount);
Tasks to be defined by every component.