Skip to content

Commit af06583

Browse files
committed
Update
1 parent 9480e55 commit af06583

10 files changed

+139
-253
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.

HEV/PowerSplitHEV_system_model.slx

-4.17 KB
Binary file not shown.

HEV/utils/PowerSplitHEV_plot_result_compact.m

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ function PowerSplitHEV_plot_result_compact( nvpairs )
1313
logsout = nvpairs.Dataset;
1414
parent = nvpairs.PlotParent;
1515

16+
vals = getValuesFromLogsout(logsout.get("Vehicle Speed"));
17+
x_end = vals.Time(end);
18+
1619
%% Plot
1720

1821
parent.Position(3:4) = [800 700]; % width height
@@ -21,16 +24,16 @@ function PowerSplitHEV_plot_result_compact( nvpairs )
2124
'TileSpacing','compact', 'Padding','compact' );
2225

2326
ax = nexttile(tl);
24-
vals = logsout.get("Vehicle Speed").Values;
27+
vals = getValuesFromLogsout(logsout.get("Vehicle Speed"));
2528
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
2629
hold on; grid on
27-
xlim([0 vals.Time(end)])
30+
xlim([0 x_end])
2831
xlabel(ax, "Time (s)")
2932
title(ax, "Longitudinal Vehicle Speed (km/hr)")
3033
hold off
3134

3235
ax = nexttile(tl);
33-
vals = logsout.get("MG2 Speed").Values;
36+
vals = getValuesFromLogsout(logsout.get("MG2 Speed"));
3437
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
3538
hold on; grid on
3639
xlim([0 vals.Time(end)])
@@ -39,66 +42,66 @@ function PowerSplitHEV_plot_result_compact( nvpairs )
3942
hold off
4043

4144
ax = nexttile(tl);
42-
vals = logsout.get("MG2 Mechanical Power").Values;
45+
vals = getValuesFromLogsout(logsout.get("MG2 Mechanical Power"));
4346
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
4447
hold on; grid on
45-
xlim([0 vals.Time(end)])
48+
xlim([0 x_end])
4649
xlabel(ax, "Time (s)")
4750
title(ax, "MG2 Mechanical Power (kW)")
4851
hold off
4952

5053

5154
ax = nexttile(tl);
52-
vals = logsout.get("Vehicle G Force").Values;
55+
vals = getValuesFromLogsout(logsout.get("Vehicle G Force"));
5356
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
5457
hold on; grid on
55-
xlim([0 vals.Time(end)])
58+
xlim([0 x_end])
5659
xlabel(ax, "Time (s)")
5760
title(ax, "Longitudinal G Force")
5861
hold off
5962

6063
ax = nexttile(tl);
61-
vals = logsout.get("MG1 Speed").Values;
64+
vals = getValuesFromLogsout(logsout.get("MG1 Speed"));
6265
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
6366
hold on; grid on
64-
xlim([0 vals.Time(end)])
67+
xlim([0 x_end])
6568
xlabel(ax, "Time (s)")
6669
title(ax, "MG1 Speed (rpm)")
6770
hold off
6871

6972
ax = nexttile(tl);
70-
vals = logsout.get("MG1 Mechanical Power").Values;
73+
vals = getValuesFromLogsout(logsout.get("MG1 Mechanical Power"));
7174
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
7275
hold on; grid on
73-
xlim([0 vals.Time(end)])
76+
xlim([0 x_end])
7477
xlabel(ax, "Time (s)")
7578
title(ax, "MG1 Mechanical Power (kW)")
7679
hold off
7780

7881

7982
ax = nexttile(tl);
80-
vals = logsout.get("HV Battery SOC").Values;
83+
vals = getValuesFromLogsout(logsout.get("HV Battery SOC"));
8184
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
8285
hold on; grid on
83-
xlim([0 vals.Time(end)])
86+
xlim([0 x_end])
8487
xlabel(ax, "Time (s)")
8588
title(ax, "HV Battery SOC (%)")
8689
hold off
8790

8891
ax = nexttile(tl);
89-
vals = logsout.get("Engine Speed").Values;
92+
vals = getValuesFromLogsout(logsout.get("Engine Speed"));
9093
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
9194
hold on; grid on
92-
xlim([0 vals.Time(end)])
95+
xlim([0 x_end])
9396
xlabel(ax, "Time (s)")
9497
title(ax, "Engine Speed (rpm)")
9598
hold off
9699

97100
ax = nexttile(tl);
98-
vals = logsout.get("Engine Power").Values;
101+
vals = getValuesFromLogsout(logsout.get("Engine Power"));
99102
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
100103
hold on; grid on
101-
xlim([0 vals.Time(end)])
104+
xlim([0 x_end])
102105
xlabel(ax, "Time (s)")
103106
title(ax, "Engine Power (kW)")
104107
hold off

HEV/utils/PowerSplitHEV_plot_result_hvbattery.m

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
1313
logsout = nvpair.Dataset;
1414
parent = nvpair.PlotParent;
1515

16+
vals = getValuesFromLogsout(logsout.get("HV Battery Current"));
17+
x_end = vals.Time(end);
18+
1619
%% Plot
1720

1821
parent.Position(3:4) = [700 500]; % width height
@@ -25,7 +28,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
2528
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
2629
hold on; grid on
2730
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
28-
xlim([0 vals.Time(end)])
31+
xlim([0 x_end])
2932
xlabel(ax, "Time (s)")
3033
title(ax, "HV Battery SOC (%)")
3134
hold off
@@ -37,7 +40,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
3740
vals = getValuesFromLogsout(logsout.get("Battery-Side Current"));
3841
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
3942
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
40-
xlim([0 vals.Time(end)])
43+
xlim([0 x_end])
4144
xlabel(ax, "Time (s)")
4245
title(ax, "HV Battery Currents (A)")
4346
hold off
@@ -47,7 +50,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
4750
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
4851
hold on; grid on
4952
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
50-
xlim([0 vals.Time(end)])
53+
xlim([0 x_end])
5154
xlabel(ax, "Time (s)")
5255
title(ax, "HV Battery Charge (A*hr)")
5356
hold off
@@ -59,7 +62,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
5962
vals = logsout.get("Battery-Side Voltage").Values;
6063
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
6164
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
62-
xlim([0 vals.Time(end)])
65+
xlim([0 x_end])
6366
xlabel(ax, "Time (s)")
6467
title(ax, "HV Battery Voltages (V)")
6568
hold off
@@ -68,7 +71,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
6871
vals = getValuesFromLogsout(logsout.get("HV Battery Charge Level (0/1/2/3)"));
6972
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
7073
hold on; grid on
71-
xlim([0 vals.Time(end)])
74+
xlim([0 x_end])
7275
xlabel(ax, "Time (s)")
7376
title(ax, "HV Battery Charge Level (0/1/2/3)")
7477
hold off
@@ -78,7 +81,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
7881
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
7982
hold on; grid on
8083
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
81-
xlim([0 vals.Time(end)])
84+
xlim([0 x_end])
8285
xlabel(ax, "Time (s)")
8386
title(ax, "DC-DC Load-Side Current (A)")
8487
hold off
@@ -88,7 +91,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
8891
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
8992
hold on; grid on
9093
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
91-
xlim([0 vals.Time(end)])
94+
xlim([0 x_end])
9295
xlabel(ax, "Time (s)")
9396
title(ax, "HV Battery Power (kW)")
9497
hold off
@@ -98,7 +101,7 @@ function PowerSplitHEV_plot_result_hvbattery( nvpair )
98101
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
99102
hold on; grid on
100103
setMinimumYRange(ax, vals.Data, 'dy_threshold',0.02)
101-
xlim([0 vals.Time(end)])
104+
xlim([0 x_end])
102105
xlabel(ax, "Time (s)")
103106
title(ax, "DC-DC Load-Side Voltage (V)")
104107
hold off

HEV/utils/PowerSplitHEV_plot_result_powersplit.m

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ function PowerSplitHEV_plot_result_powersplit( nvpair )
1313
logsout = nvpair.Dataset;
1414
parent = nvpair.PlotParent;
1515

16+
vals = getValuesFromLogsout(logsout.get("MG2 Speed"));
17+
x_end = vals.Time(end);
18+
1619
%% Plot
1720

1821
tl = tiledlayout(parent, 4, 3, ...
@@ -21,28 +24,28 @@ function PowerSplitHEV_plot_result_powersplit( nvpair )
2124
parent.Position(3:4) = [800 700]; % width height
2225

2326
ax = nexttile(tl);
24-
vals = logsout.get("MG2 Speed").Values;
27+
vals = getValuesFromLogsout(logsout.get("MG2 Speed"));
2528
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
2629
hold on; grid on
27-
xlim([0 vals.Time(end)])
30+
xlim([0 x_end])
2831
xlabel(ax, "Time (s)")
2932
title(ax, "MG2 Speed (rpm)")
3033
hold off
3134

3235
ax = nexttile(tl);
33-
vals = logsout.get("Engine Speed").Values;
36+
vals = getValuesFromLogsout(logsout.get("Engine Speed"));
3437
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
3538
hold on; grid on
36-
xlim([0 vals.Time(end)])
39+
xlim([0 x_end])
3740
xlabel(ax, "Time (s)")
3841
title(ax, "Engine Speed (rpm)")
3942
hold off
4043

4144
ax = nexttile(tl);
42-
vals = logsout.get("MG1 Speed").Values;
45+
vals = getValuesFromLogsout(logsout.get("MG1 Speed"));
4346
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
4447
hold on; grid on
45-
xlim([0 vals.Time(end)])
48+
xlim([0 x_end])
4649
xlabel(ax, "Time (s)")
4750
title(ax, "MG1 Speed (rpm)")
4851
hold off
@@ -54,7 +57,7 @@ function PowerSplitHEV_plot_result_powersplit( nvpair )
5457
hold on; grid on
5558
vals = logsout.get("MG2 Torque").Values;
5659
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
57-
xlim([0 vals.Time(end)])
60+
xlim([0 x_end])
5861
xlabel(ax, "Time (s)")
5962
title(ax, "MG2 Torques (N*m)")
6063
hold off
@@ -65,7 +68,7 @@ function PowerSplitHEV_plot_result_powersplit( nvpair )
6568
hold on; grid on
6669
vals = logsout.get("Engine Torque").Values;
6770
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
68-
xlim([0 vals.Time(end)])
71+
xlim([0 x_end])
6972
xlabel(ax, "Time (s)")
7073
title(ax, "Engine Torques (N*m)")
7174
hold off
@@ -76,54 +79,54 @@ function PowerSplitHEV_plot_result_powersplit( nvpair )
7679
hold on; grid on
7780
vals = logsout.get("MG1 Torque").Values;
7881
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
79-
xlim([0 vals.Time(end)])
82+
xlim([0 x_end])
8083
xlabel(ax, "Time (s)")
8184
title(ax, "MG1 Torques (N*m)")
8285
hold off
8386

8487

8588
ax = nexttile(tl);
86-
vals = logsout.get("MG2 Current").Values;
89+
vals = getValuesFromLogsout(logsout.get("MG2 Current"));
8790
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
8891
hold on; grid on
89-
xlim([0 vals.Time(end)])
92+
xlim([0 x_end])
9093
xlabel(ax, "Time (s)")
9194
title(ax, "MG2 Current (A)")
9295
hold off
9396

9497
ax = nexttile(tl);
95-
vals = logsout.get("Engine for Driving").Values;
98+
vals = getValuesFromLogsout(logsout.get("Engine for Driving"));
9699
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
97100
hold on; grid on
98-
xlim([0 vals.Time(end)])
101+
xlim([0 x_end])
99102
xlabel(ax, "Time (s)")
100103
title(ax, "Engine for Driving")
101104
hold off
102105

103106
ax = nexttile(tl);
104-
vals = logsout.get("MG1 Current").Values;
107+
vals = getValuesFromLogsout(logsout.get("MG1 Current"));
105108
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
106109
hold on; grid on
107-
xlim([0 vals.Time(end)])
110+
xlim([0 x_end])
108111
xlabel(ax, "Time (s)")
109112
title(ax, "MG1 Current (A)")
110113
hold off
111114

112115

113116
ax = nexttile(tl);
114-
vals = logsout.get("MG2 Regen On Off").Values;
117+
vals = getValuesFromLogsout(logsout.get("MG2 Regen On Off"));
115118
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
116119
hold on; grid on
117-
xlim([0 vals.Time(end)])
120+
xlim([0 x_end])
118121
xlabel(ax, "Time (s)")
119122
title(ax, "MG2 Regen On Off")
120123
hold off
121124

122125
ax = nexttile(tl);
123-
vals = logsout.get("Engine for Generating").Values;
126+
vals = getValuesFromLogsout(logsout.get("Engine for Generating"));
124127
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
125128
hold on; grid on
126-
xlim([0 vals.Time(end)])
129+
xlim([0 x_end])
127130
xlabel(ax, "Time (s)")
128131
title(ax, "Engine for Generating")
129132
hold off

HEV/utils/PowerSplitHEV_plot_result_vehicle.m

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
1313
logsout = nvpair.Dataset;
1414
parent = nvpair.PlotParent;
1515

16+
vals = getValuesFromLogsout(logsout.get("Vehicle Speed"));
17+
x_end = vals.Time(end);
18+
1619
%% Plot
1720

1821
parent.Position(3:4) = [700 500]; % width height
@@ -26,7 +29,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
2629
hold on; grid on
2730
vals = getValuesFromLogsout(logsout.get("Vehicle Speed Reference (km/hr)"));
2831
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
29-
xlim([0 vals.Time(end)])
32+
xlim([0 x_end])
3033
xlabel(ax, "Time (s)")
3134
title(ax, "Vehicle Speed & Reference (km/hr)")
3235
hold off
@@ -37,7 +40,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
3740
hold on; grid on
3841
vals = getValuesFromLogsout(logsout.get("Road Grade"));
3942
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
40-
xlim([0 vals.Time(end)])
43+
xlim([0 x_end])
4144
xlabel(ax, "Time (s)")
4245
title(ax, "Vehicle Incline (deg) & Road Grade (%)")
4346
hold off
@@ -46,7 +49,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
4649
vals = getValuesFromLogsout(logsout.get("Vehicle G Force"));
4750
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
4851
hold on; grid on
49-
xlim([0 vals.Time(end)])
52+
xlim([0 x_end])
5053
xlabel(ax, "Time (s)")
5154
title(ax, "G Force (-)")
5255
hold off
@@ -55,7 +58,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
5558
vals = getValuesFromLogsout(logsout.get("Brake On Off"));
5659
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
5760
hold on; grid on
58-
xlim([0 vals.Time(end)])
61+
xlim([0 x_end])
5962
xlabel(ax, "Time (s)")
6063
title(ax, "Brake On Off")
6164
hold off
@@ -66,7 +69,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
6669
hold on; grid on
6770
vals = logsout.get("Axle Speed Reference").Values;
6871
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
69-
xlim([0 vals.Time(end)])
72+
xlim([0 x_end])
7073
xlabel(ax, "Time (s)")
7174
title(ax, "Axle Speed & Reference (rpm)")
7275
hold off
@@ -75,7 +78,7 @@ function PowerSplitHEV_plot_result_vehicle( nvpair )
7578
vals = getValuesFromLogsout(logsout.get("Brake Force"));
7679
plot(ax, vals.Time, vals.Data, 'LineWidth',2)
7780
hold on; grid on
78-
xlim([0 vals.Time(end)])
81+
xlim([0 x_end])
7982
xlabel(ax, "Time (s)")
8083
title(ax, "Brake Force (N)")
8184
hold off
3 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)